mirror of
https://github.com/harfbuzz/harfbuzz.git
synced 2025-04-17 10:45:43 +00:00
2009-01-29 Behdad Esfahbod <behdad@gnome.org> * pango/opentype/harfbuzz-open.h: * pango/opentype/harfbuzz-gdef.c (Make_ClassRange), (HB_GDEF_Build_ClassDefinition): * pango/opentype/harfbuzz-gpos.c (Load_PosClassRule), (Load_ChainPosClassRule): * pango/opentype/harfbuzz-gsub.c (Load_SubClassRule), (Load_ChainSubClassRule): * pango/opentype/harfbuzz-open.c (Load_ClassDef1), (Load_ClassDef2), (_HB_OPEN_Load_ClassDefinition), (_HB_OPEN_Load_EmptyClassDefinition), (_HB_OPEN_Free_ClassDefinition): Remove ClassDef->Defined field. This is the comment accompanying it: The `Defined' field is not defined in the OpenType specification but apparently needed for processing fonts like trado.ttf: This font refers to a class which contains not a single element. We map such classes to class 0. The comment is correct that trado.ttf (MS Traditional Arabic) uses such classes. However, in my testing I couldn't identify any problems with the font if the special handling is removed. I also processed as many fonts as I could get my hand on and trado.ttf was the only not-totally-broken font hitting the special-case code. DejaVu fonts hit it too, but I'm sure they do not require the special-handling code. Most probably, that code introduces bugs in them. The special-casing was consuming lots of memory. EIGHT MEGABYTES for loading DejaVu Sans! While this could be complete fixed, I decided to remove the special-handling code altogether. I don't think it will make any real difference, and if it does, we'll fix fonts. Such hacks will not be in harfbuzz-ng anyway. Bug originally reported by nsf. |
||
---|---|---|
.. | ||
COPYING | ||
harfbuzz-buffer-private.h | ||
harfbuzz-buffer.c | ||
harfbuzz-buffer.h | ||
harfbuzz-dump-main.c | ||
harfbuzz-dump.c | ||
harfbuzz-dump.h | ||
harfbuzz-gdef-private.h | ||
harfbuzz-gdef.c | ||
harfbuzz-gdef.h | ||
harfbuzz-global.h | ||
harfbuzz-gpos-private.h | ||
harfbuzz-gpos.c | ||
harfbuzz-gpos.h | ||
harfbuzz-gsub-private.h | ||
harfbuzz-gsub.c | ||
harfbuzz-gsub.h | ||
harfbuzz-impl.c | ||
harfbuzz-impl.h | ||
harfbuzz-open-private.h | ||
harfbuzz-open.c | ||
harfbuzz-open.h | ||
harfbuzz-stream-private.h | ||
harfbuzz-stream.c | ||
harfbuzz.c | ||
harfbuzz.h | ||
Makefile.am | ||
makefile.msc | ||
README |
This is HarfBuzz, an OpenType Layout engine. It was derived originally from the OpenType code in FreeType-1.x, ported to FreeType2. (This code has been abandoned for FreeType2, but until something better comes along, should serve our purposes.) In addition to porting to FreeType-2, it has been modified in various other ways. It also includes a partial XML dumper for OpenType Layout tables useful for figuring out what is going on. Please extend to cover additional parts of the tables as you encounter fonts using them. The dumper is written by Owen Taylor. Bug reports on these files should be sent to the HarfBuzz mailing list as listed on http://freedesktop.org/wiki/Software/harfbuzz For license information, see the file COPYING. Behdad Esfahbod April 1st, 2006