diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2009-01-29 09:20:08 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2009-01-29 09:20:08 +0000 |
commit | 451945950e12aff37cba8ad42f1ae63880dc0a1f (patch) | |
tree | 816aaaf61929b922c98d60bca965dcac1598b053 /ChangeLog | |
parent | f1b46bdaac18ec17477b3383a4827e41935396bd (diff) | |
download | pango-451945950e12aff37cba8ad42f1ae63880dc0a1f.tar.gz |
Remove ClassDef->Defined field. This is the comment accompanying it:
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.
svn path=/trunk/; revision=2819
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -1,5 +1,42 @@ 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. + +2009-01-29 Behdad Esfahbod <behdad@gnome.org> + * pango/opentype/harfbuzz-impl.c (_hb_alloc): Use calloc(), instead of malloc()ing and memset()ing. |