summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2013-02-22 23:06:35 +0000
committerKhaled Hosny <khaledhosny@eglug.org>2013-02-22 23:06:35 +0000
commit738a939d793a45d4e61398185d2a9d6d2dda1ac4 (patch)
treef37c9614b1661c6035d345a5a78df9d39e43e816 /Build
parentefe439a05915472e0f602b1912c0779ff95c6758 (diff)
Patch to fix loading font faces from DFONT files
Preliminary patch, issue reported to FreeType developers http://lists.gnu.org/archive/html/freetype-devel/2013-02/msg00035.html git-svn-id: svn://tug.org/texlive/trunk@29205 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-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;