summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2009-01-29 09:20:08 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2009-01-29 09:20:08 +0000
commit451945950e12aff37cba8ad42f1ae63880dc0a1f (patch)
tree816aaaf61929b922c98d60bca965dcac1598b053 /ChangeLog
parentf1b46bdaac18ec17477b3383a4827e41935396bd (diff)
downloadpango-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--ChangeLog37
1 files changed, 37 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 959e67f3..159967b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.