Comment 43 for bug 209145

Revision history for this message
Yuan Chao (yuanchao) wrote :

Let me add some supplements:
* bytecode interpreter (BCI) in FreeType (FT) used to have sw patent issue so disabled by default
* Now the patent is expired so enabled by default since FT 2.4 (http://www.freetype.org/patents.html)
* BCI is used for hinting (grid fitting) to display creep glyphs
* auto-hint/autofit is a walk-around to fine tune on rendering to have similar result to "native" hint (hint w/ BCI)
* Tricky fonts use BCI instructions to place (re-use) radical strokes to save space
  (instead of each time outlining the whole glyph)
* Tricky fonts are unfortunately widely used in official and educational documents for they are shipped w/ windows.
* autohint/autofit can't "invent" the position/scaling info for tricky fonts and results in "broken" glyphs.
   (sorry it's hard to tell if you don't understand chinese characters as all strokes are there, just in wrong position)
* autohint/autofit is exclusive to BCI hinting and must be disabled for tricky fonts.
* libpoppler needs to be compiled against "FT with BCI enabled" to be able to render tricky fonts correctly.
   (it's then a distro issue instead of individual packages)