diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2013-02-22 23:06:35 +0000 |
---|---|---|
committer | Khaled Hosny <khaledhosny@eglug.org> | 2013-02-22 23:06:35 +0000 |
commit | 738a939d793a45d4e61398185d2a9d6d2dda1ac4 (patch) | |
tree | f37c9614b1661c6035d345a5a78df9d39e43e816 /Build/source/libs | |
parent | efe439a05915472e0f602b1912c0779ff95c6758 (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/source/libs')
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; |