summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/libs/freetype2/freetype-2.4.11-PATCHES/ChangeLog5
-rw-r--r--Build/source/libs/freetype2/freetype-2.4.11-PATCHES/patch-02-DFONT_FACE_INDEX18
-rw-r--r--Build/source/libs/freetype2/freetype-2.4.11/src/base/ftrfork.c7
3 files changed, 27 insertions, 3 deletions
diff --git a/Build/source/libs/freetype2/freetype-2.4.11-PATCHES/ChangeLog b/Build/source/libs/freetype2/freetype-2.4.11-PATCHES/ChangeLog
index 39e112d1241..9cb088df3c0 100644
--- a/Build/source/libs/freetype2/freetype-2.4.11-PATCHES/ChangeLog
+++ b/Build/source/libs/freetype2/freetype-2.4.11-PATCHES/ChangeLog
@@ -1,3 +1,8 @@
+2013-02-23 Khaled Hosny <khaledhosny@eglug.org>
+
+ * patch-02-DFONT_FACE_INDEX (new): Fix for loading font faces from DFONT
+ files.
+
2013-01-02 Peter Breitenlohner <peb@mppmu.mpg.de>
* patch-01-CONFIG_SHELL (new): Build fix for ancient systems
diff --git a/Build/source/libs/freetype2/freetype-2.4.11-PATCHES/patch-02-DFONT_FACE_INDEX b/Build/source/libs/freetype2/freetype-2.4.11-PATCHES/patch-02-DFONT_FACE_INDEX
new file mode 100644
index 00000000000..28dfcad7b58
--- /dev/null
+++ b/Build/source/libs/freetype2/freetype-2.4.11-PATCHES/patch-02-DFONT_FACE_INDEX
@@ -0,0 +1,18 @@
+diff --git a/src/base/ftrfork.c b/src/base/ftrfork.c
+index dcefdd2..a617193 100644
+--- a/src/base/ftrfork.c
++++ b/src/base/ftrfork.c
+@@ -210,9 +210,10 @@
+ ref[j].offset = temp & 0xFFFFFFL;
+ }
+
+- ft_qsort( ref, *count, sizeof ( FT_RFork_Ref ),
+- ( int(*)(const void*, const void*) )
+- ft_raccess_sort_ref_by_id );
++ if ( tag != TTAG_sfnt )
++ ft_qsort( ref, *count, sizeof ( FT_RFork_Ref ),
++ ( int(*)(const void*, const void*) )
++ ft_raccess_sort_ref_by_id );
+
+ if ( FT_NEW_ARRAY( offsets_internal, *count ) )
+ goto Exit;
diff --git a/Build/source/libs/freetype2/freetype-2.4.11/src/base/ftrfork.c b/Build/source/libs/freetype2/freetype-2.4.11/src/base/ftrfork.c
index dcefdd28d61..a6171938c1d 100644
--- a/Build/source/libs/freetype2/freetype-2.4.11/src/base/ftrfork.c
+++ b/Build/source/libs/freetype2/freetype-2.4.11/src/base/ftrfork.c
@@ -210,9 +210,10 @@
ref[j].offset = temp & 0xFFFFFFL;
}
- ft_qsort( ref, *count, sizeof ( FT_RFork_Ref ),
- ( int(*)(const void*, const void*) )
- ft_raccess_sort_ref_by_id );
+ if ( tag != TTAG_sfnt )
+ ft_qsort( ref, *count, sizeof ( FT_RFork_Ref ),
+ ( int(*)(const void*, const void*) )
+ ft_raccess_sort_ref_by_id );
if ( FT_NEW_ARRAY( offsets_internal, *count ) )
goto Exit;