1 |
loki_val 09/01/01 12:30:30 |
2 |
|
3 |
Added: freetype-2.3.7-b.g.o-247104.patch |
4 |
freetype-2.3.7-fix-incorrect-scaling.patch |
5 |
freetype-2.3.7-no-segfault-on-load_mac_face.patch |
6 |
freetype-2.3.7-b.g.o-253029.patch |
7 |
Log: |
8 |
Fix bug 247104, segfault in cffparse.c:361, bug 253029, missing letters in certain fonts, thanks to Andreas Turriff for the patch-pointer. Also import patches for alien bugs: http://bugs.debian.org/487101, segfault when building certain fonts and http://savannah.nongnu.org/bugs/index.php?23973 , incorrect scaling of certain fonts. |
9 |
(Portage version: 2.2_rc20/cvs/Linux 2.6.28-rc9 x86_64) |
10 |
|
11 |
Revision Changes Path |
12 |
1.1 media-libs/freetype/files/freetype-2.3.7-b.g.o-247104.patch |
13 |
|
14 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/freetype/files/freetype-2.3.7-b.g.o-247104.patch?rev=1.1&view=markup |
15 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/freetype/files/freetype-2.3.7-b.g.o-247104.patch?rev=1.1&content-type=text/plain |
16 |
|
17 |
Index: freetype-2.3.7-b.g.o-247104.patch |
18 |
=================================================================== |
19 |
--- freetype-2.3.7/src/cff/cffparse.c.old 2008/08/04 15:54:24 1.43 |
20 |
+++ freetype-2.3.7/src/cff/cffparse.c 2008/11/27 21:55:20 1.44 |
21 |
@@ -355,6 +355,12 @@ |
22 |
if ( FT_ABS( integer_length ) > 5 ) |
23 |
goto Exit; |
24 |
|
25 |
+ /* Remove non-significant digits. */ |
26 |
+ if ( integer_length < 0 ) { |
27 |
+ number /= power_tens[-integer_length]; |
28 |
+ fraction_length += integer_length; |
29 |
+ } |
30 |
+ |
31 |
/* Convert into 16.16 format. */ |
32 |
if ( fraction_length > 0 ) |
33 |
{ |
34 |
|
35 |
|
36 |
|
37 |
1.1 media-libs/freetype/files/freetype-2.3.7-fix-incorrect-scaling.patch |
38 |
|
39 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/freetype/files/freetype-2.3.7-fix-incorrect-scaling.patch?rev=1.1&view=markup |
40 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/freetype/files/freetype-2.3.7-fix-incorrect-scaling.patch?rev=1.1&content-type=text/plain |
41 |
|
42 |
Index: freetype-2.3.7-fix-incorrect-scaling.patch |
43 |
=================================================================== |
44 |
2008-08-04 Bram Tassyns <bramt@×××××××.be> |
45 |
|
46 |
* src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which |
47 |
resulted in incorrect scaling. This fixes Savannah bug #23973. |
48 |
|
49 |
--- freetype-2.3.7/src/cff/cffparse.c.old 2008/06/10 05:58:25 1.42 |
50 |
+++ freetype-2.3.7/src/cff/cffparse.c 2008/08/04 15:54:24 1.43 |
51 |
@@ -406,10 +406,9 @@ |
52 |
cff_parse_fixed_scaled( FT_Byte** d, |
53 |
FT_Int scaling ) |
54 |
{ |
55 |
- return **d == |
56 |
- 30 ? cff_parse_real( d[0], d[1], scaling, NULL ) |
57 |
- : (FT_Fixed)FT_MulFix( cff_parse_integer( d[0], d[1] ) << 16, |
58 |
- power_tens[scaling] ); |
59 |
+ return **d == 30 ? cff_parse_real( d[0], d[1], scaling, NULL ) |
60 |
+ : ( cff_parse_integer( d[0], d[1] ) * |
61 |
+ power_tens[scaling] ) << 16; |
62 |
} |
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
1.1 media-libs/freetype/files/freetype-2.3.7-no-segfault-on-load_mac_face.patch |
69 |
|
70 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/freetype/files/freetype-2.3.7-no-segfault-on-load_mac_face.patch?rev=1.1&view=markup |
71 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/freetype/files/freetype-2.3.7-no-segfault-on-load_mac_face.patch?rev=1.1&content-type=text/plain |
72 |
|
73 |
Index: freetype-2.3.7-no-segfault-on-load_mac_face.patch |
74 |
=================================================================== |
75 |
2008-08-19 suzuki toshiya <mpsuzuki@××××××××××××××.jp> |
76 |
|
77 |
* src/base/ftobjs.c (FT_Stream_New): Initialize *astream |
78 |
always, even if passed library or arguments are invalid. |
79 |
This fixes a bug that uninitialized stream is freed when |
80 |
an invalid library handle is passed. Originally proposed |
81 |
by Mike Fabian, 2008/08/18 on freetype-devel. |
82 |
(FT_Open_Face): Ditto (stream). |
83 |
(load_face_in_embedded_rfork): Ditto (stream2). |
84 |
|
85 |
Fixes Debian bug #487101. |
86 |
|
87 |
Index: freetype-2.3.7/src/base/ftobjs.c |
88 |
=================================================================== |
89 |
--- freetype-2.3.7.orig/src/base/ftobjs.c |
90 |
+++ freetype-2.3.7/src/base/ftobjs.c |
91 |
@@ -128,13 +128,14 @@ |
92 |
FT_Stream stream; |
93 |
|
94 |
|
95 |
+ *astream = 0; |
96 |
+ |
97 |
if ( !library ) |
98 |
return FT_Err_Invalid_Library_Handle; |
99 |
|
100 |
if ( !args ) |
101 |
return FT_Err_Invalid_Argument; |
102 |
|
103 |
- *astream = 0; |
104 |
memory = library->memory; |
105 |
|
106 |
if ( FT_NEW( stream ) ) |
107 |
@@ -1600,7 +1601,7 @@ |
108 |
FT_Error errors[FT_RACCESS_N_RULES]; |
109 |
|
110 |
FT_Open_Args args2; |
111 |
- FT_Stream stream2; |
112 |
+ FT_Stream stream2 = 0; |
113 |
|
114 |
|
115 |
FT_Raccess_Guess( library, stream, |
116 |
@@ -1713,7 +1714,7 @@ |
117 |
FT_Error error; |
118 |
FT_Driver driver; |
119 |
FT_Memory memory; |
120 |
- FT_Stream stream; |
121 |
+ FT_Stream stream = 0; |
122 |
FT_Face face = 0; |
123 |
FT_ListNode node = 0; |
124 |
FT_Bool external_stream; |
125 |
|
126 |
|
127 |
|
128 |
|
129 |
1.1 media-libs/freetype/files/freetype-2.3.7-b.g.o-253029.patch |
130 |
|
131 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/freetype/files/freetype-2.3.7-b.g.o-253029.patch?rev=1.1&view=markup |
132 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/freetype/files/freetype-2.3.7-b.g.o-253029.patch?rev=1.1&content-type=text/plain |
133 |
|
134 |
Index: freetype-2.3.7-b.g.o-253029.patch |
135 |
=================================================================== |
136 |
diff -uNr freetype-2.3.7/src/cff/cffgload.c freetype-2.3.7-new/src/cff/cffgload.c |
137 |
--- freetype-2.3.7/src/cff/cffgload.c 2008-05-13 23:31:14.000000000 -0700 |
138 |
+++ freetype-2.3.7-new/src/cff/cffgload.c 2008-12-29 12:35:16.000000000 -0800 |
139 |
@@ -2357,9 +2357,12 @@ |
140 |
if ( cff->top_font.font_dict.cid_registry != 0xFFFFU && |
141 |
cff->charset.cids ) |
142 |
{ |
143 |
- glyph_index = cff_charset_cid_to_gindex( &cff->charset, glyph_index ); |
144 |
- if ( glyph_index == 0 ) |
145 |
- return CFF_Err_Invalid_Argument; |
146 |
+ if ( glyph_index ) |
147 |
+ { |
148 |
+ glyph_index = cff_charset_cid_to_gindex( &cff->charset, glyph_index ); |
149 |
+ if ( glyph_index == 0 ) |
150 |
+ return CFF_Err_Invalid_Argument; |
151 |
+ } |
152 |
} |
153 |
else if ( glyph_index >= cff->num_glyphs ) |
154 |
return CFF_Err_Invalid_Argument; |