1. 22 2月, 2016 9 次提交
  2. 19 2月, 2016 1 次提交
  3. 18 2月, 2016 2 次提交
  4. 16 2月, 2016 2 次提交
    • B
      [USE] Zero mark advances by GDEF early · da41e48f
      Behdad Esfahbod 提交于
      This is what Microsoft's implementation does.  Marks that need advance
      need to add it back using 'dist' or other feature in GPOS.  Update tests to
      match.
      da41e48f
    • B
      [GPOS] Fix interaction of mark attachments and cursive chaining · 86c68c7a
      Behdad Esfahbod 提交于
      Fixes https://github.com/behdad/harfbuzz/issues/211
      
      What happens in that bug is that a mark is attached to base first,
      then a second mark is cursive-chained to the first mark.  This only
      "works" because it's in the Indic shaper where mark advances are
      not zeroed.
      
      Before, we didn't allow cursive to run on marks at all.  Fix that.
      We also where updating mark major offsets at the end of GPOS, such
      that changes in advance of base will not change the mark attachment
      position.  That was superior to the alternative (which is what Uniscribe
      does BTW), but made it hard to apply cursive to the mark after it
      was positioned.  We could track major-direction offset changes and
      apply that to cursive in the post process, but that's a much trickier
      thing to do than the fix here, which is to immediately apply the
      major-direction advance-width offsets...  Ie.:
      
      https://github.com/behdad/harfbuzz/issues/211#issuecomment-183194739
      
      If this breaks any fonts, the font should be fixed to do mark attachment
      after all the advances are set up first (kerning, etc).
      
      Finally, this, still doesn't make us match Uniscribe, for I explained
      in that bug.  Looks like Uniscribe applies minor-direction cursive
      adjustment immediate as well.  We don't, and we like it our way, at
      least for now.  Eg. the sequence in the test case does this:
      
      - The first subscript attaches with mark-to-base, moving in x only,
      - The second subscript attaches with cursive attachment to first subscript
        moving in x only,
      - A final context rule moves the first subscript up by 104 units.
      
      The way we do, the final shift-up, also shifts up the second subscript
      mark because it's cursively-attached.  Uniscribe doesn't.  We get:
      
      [ttaorya=0+1307|casubscriptorya=0@-242,104+-231|casubscriptnarroworya=0@20,104+507]
      
      while Uniscribe gets:
      
      [ttaorya=0+1307|casubscriptorya=0@-242,104+-211|casubscriptnarroworya=0+487]
      
      note the different y-offset of the last glyph.  In our view, after cursive,
      things move together, period.
      86c68c7a
  5. 12 2月, 2016 1 次提交
  6. 11 2月, 2016 9 次提交
  7. 10 2月, 2016 2 次提交
  8. 03 2月, 2016 2 次提交
  9. 02 2月, 2016 1 次提交
  10. 17 1月, 2016 1 次提交
  11. 13 1月, 2016 1 次提交
  12. 12 1月, 2016 2 次提交
    • B
      Minor · d163dc18
      Behdad Esfahbod 提交于
      d163dc18
    • B
      [OT] Get list of lookup subtables once and loop through them · 3e704521
      Behdad Esfahbod 提交于
      This speeds up shaping the Amiri font by over 15%.
      
      This was primarily needed for my work on OpenType GX, since
      we will be collecting only sublookups that are "active" for
      current font instance; but it's a nice boost in general as
      well.
      
      We might, in the future, collect subtables in the lookup_accel.
      That would also allow us to do a per-subtbale set-digest, which
      should speed things up some more, specially for ContextChainFormat3
      lookups...  Amiri, for example, contains one lookup with 53
      subtables!
      3e704521
  13. 11 1月, 2016 2 次提交
  14. 08 1月, 2016 1 次提交
  15. 06 1月, 2016 1 次提交
  16. 05 1月, 2016 2 次提交
    • B
      Increase sanitize edit count from 8 to 32 · 53c47c85
      Behdad Esfahbod 提交于
      See previous commit.
      53c47c85
    • B
      Don't count fixing-up FeatureParams offset as error · da2fcfdc
      Behdad Esfahbod 提交于
      The font Garamond Premier Pro Caption (and possibly many other
      Adobe fonts), have many FeatureParamsSize tables with the old
      wrong offset.  We handle fixing those up, but they were still
      contributing to edit_count, and when I reduced HB_SANITIZE_MAX_EDIT
      from 100 to 8 in 14c2de32, these
      fonts were now getting GPOS dropped and hence kerning disabled.
      
      Fix, by not counting edits made towareds offset fix-up.  I'll
      also increase edit count again, in the next commit.
      da2fcfdc
  17. 02 1月, 2016 1 次提交