Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4349 | Serge | 1 | 2010-02-13 Werner Lemberg |
2 | |||
3 | * Version 2.3.12 released. |
||
4 | ========================== |
||
5 | |||
6 | |||
7 | Tag sources with `VER-2-3-12'. |
||
8 | |||
9 | * docs/CHANGES: Updated. |
||
10 | |||
11 | * docs/VERSION.DLL: Update documentation and bump version number to |
||
12 | 2.3.12. |
||
13 | |||
14 | * README, Jamfile (RefDoc), |
||
15 | builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, |
||
16 | builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, |
||
17 | builds/win32/visualc/freetype.dsp, |
||
18 | builds/win32/visualc/freetype.vcproj, |
||
19 | builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, |
||
20 | builds/win32/visualce/freetype.vcproj, |
||
21 | builds/win32/visualce/index.html, |
||
22 | builds/wince/vc2005-ce/freetype.vcproj, |
||
23 | builds/wince/vc2005-ce/index.html, |
||
24 | builds/wince/vc2008-ce/freetype.vcproj, |
||
25 | builds/wince/vc2008-ce/index.html: s/2.3.11/2.3.12/, s/2311/2312/. |
||
26 | |||
27 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 12. |
||
28 | |||
29 | * builds/unix/configure.raw (version_info): Set to 10:0:4. |
||
30 | |||
31 | 2010-02-12 suzuki toshiya |
||
32 | |||
33 | Improve autotool version checking to work with beta releases. |
||
34 | |||
35 | * autogen.sh (check_tool_version): Improve the extraction of version |
||
36 | number from "tool --version" output. Some beta releases of |
||
37 | autotools have extra strings before version number. |
||
38 | |||
39 | 2010-02-12 suzuki toshiya |
||
40 | |||
41 | Fix overallocating bug in FT_Outline_New_Internal(). |
||
42 | |||
43 | * src/base/ftoutln.c (FT_Outline_New_Internal): The length of |
||
44 | FT_Outline->points[] should be numPoints, not 2 * numPoints. |
||
45 | Found by Paul Messmer, see |
||
46 | http://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html |
||
47 | |||
48 | 2010-02-10 Ken Sharp |
||
49 | |||
50 | Really fix Savannah bug #28678 (part 2). |
||
51 | |||
52 | Since we consider `sbw' for the horizontal direction only, we still have |
||
53 | to synthesize vertical metrics if the user wants to use the vertical |
||
54 | writing direction. |
||
55 | |||
56 | * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c |
||
57 | (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): |
||
58 | Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is |
||
59 | set. |
||
60 | |||
61 | 2010-02-10 Ken Sharp |
||
62 | |||
63 | Really fix Savannah bug #28678 (part 1). |
||
64 | |||
65 | After long discussion, we now consider the character width vector |
||
66 | (wx,wy) returned by the `sbw' Type 1 operator as being part of *one* |
||
67 | direction only. For example, if you are using the horizontal |
||
68 | writing direction, you get the horizontal and vertical components of |
||
69 | the advance width for this direction. Note that OpenType and CFF fonts |
||
70 | don't have such a vertical component; instead, the GPOS table can be |
||
71 | used to generate two-dimensional advance widths (but this isn't |
||
72 | handled by FreeType). |
||
73 | |||
74 | * include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add |
||
75 | `advance_v' field to hold the vertical component of the advance |
||
76 | value. |
||
77 | |||
78 | * src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c |
||
79 | (cff_slot_load), src/type1/t1gload.c |
||
80 | (T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c |
||
81 | (cid_load_glyph): Use it. |
||
82 | |||
83 | 2010-02-08 Werner Lemberg |
||
84 | |||
85 | * devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define. |
||
86 | |||
87 | 2010-02-04 suzuki toshiya |
||
88 | |||
89 | Prevent NULL pointer dereference passed to FT_Module_Requester. |
||
90 | |||
91 | * src/sfnt/sfdriver.c (sfnt_get_interface): Don't use `module'. |
||
92 | * src/psnames/psmodule.c (psnames_get_interface): Ditto. |
||
93 | |||
94 | * src/cff/cffdrivr.c (cff_get_interface): Check NULL `driver'. |
||
95 | * src/truetype/ttdriver.c (tt_get_interface): Ditto. |
||
96 | |||
97 | 2010-01-29 suzuki toshiya |
||
98 | |||
99 | Fix memory leaks in previous patch. |
||
100 | |||
101 | * src/sfnt/sfobjs.c (sfnt_load_face): Don't overwrite the strings |
||
102 | allocated for face->root.family_name and style_name. |
||
103 | |||
104 | 2010-01-29 suzuki toshiya |
||
105 | |||
106 | New parameters for FT_Open_Face() to ignore preferred family names. |
||
107 | |||
108 | Preferred family names should be used for legacy systems that |
||
109 | can hold only a few faces (<= 4) for a family name. Suggested by |
||
110 | Andreas Heinrich. |
||
111 | http://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html |
||
112 | |||
113 | * include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY, |
||
114 | FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define. |
||
115 | |||
116 | * src/sfnt/sfobjs.c (sfnt_load_face): Check the arguments and |
||
117 | ignore preferred family and subfamily names if requested. |
||
118 | |||
119 | 2010-01-27 Ken Sharp |
||
120 | |||
121 | Fix Savannah bug #28678. |
||
122 | |||
123 | * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c |
||
124 | (cid_load_glyph): Handle vertical metrics correctly. |
||
125 | |||
126 | * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle |
||
127 | vertical metrics correctly. |
||
128 | (T1_Load_Glyph): Don't synthesize vertical metrics. |
||
129 | |||
130 | 2010-01-14 Werner Lemberg |
||
131 | |||
132 | Make FT_Set_Transform work if no renderer is available. |
||
133 | |||
134 | * src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation |
||
135 | if no renderer is compiled into the library. |
||
136 | |||
137 | 2010-01-14 Werner Lemberg |
||
138 | |||
139 | Fix compilation warning. |
||
140 | |||
141 | * src/base/ftbase.h: s/LOCAL_DEF/LOCAL/. |
||
142 | * src/base/ftobjc.s: Include ftbase.h conditionally. |
||
143 | |||
144 | 2010-01-11 Kwang Yul Seo |
||
145 | |||
146 | Provide inline assembly code for RVCT compiler. |
||
147 | This is Savannah patch #7059. |
||
148 | |||
149 | * include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER, |
||
150 | FT_MulFix_arm) [__CC_ARM || __ARM_CC]: Define. |
||
151 | |||
152 | 2010-01-08 Ken Sharp |
||
153 | |||
154 | Fix Savannah bug #28521. |
||
155 | |||
156 | Issue #28226 involved a work-around for a font which used the |
||
157 | `setcurrentpoint' operator in an invalid way; this operator is only |
||
158 | supposed to be used with the result of OtherSubrs, and the font used |
||
159 | it directly. The supplied patch removed the block of code which |
||
160 | checked this usage entirely. |
||
161 | |||
162 | This turns out to be a Bad Thing. If `setcurrentpoint' is being |
||
163 | used correctly it should reset the flex flag in the decoder. If we |
||
164 | don't do this then the flag never gets reset and we omit any further |
||
165 | contours from the glyph (at least until we close the path or |
||
166 | similar). |
||
167 | |||
168 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings) |
||
169 |
|
||
170 | |||
171 | 2010-01-05 Werner Lemberg |
||
172 | |||
173 | Apply reports from clang static analyzer. |
||
174 | |||
175 | * src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c |
||
176 | (FT_Stroker_ParseOutline), src/base/ftsynth.c |
||
177 | (FT_GlyphSlot_Embolden): Remove dead code. |
||
178 | |||
179 | * src/base/ftpatent.c (_tt_check_patents_in_table): Initialize |
||
180 | `offset_i' and `length_i'. |
||
181 | |||
182 | 2010-01-05 Ralph Giles |
||
183 | |||
184 | Enable the incremental font interface by default. |
||
185 | |||
186 | Ghostscript requires the incremental font interface for handling |
||
187 | some Postscript documents. It is moving to using FreeType as its |
||
188 | primary renderer; supporting this in the default build makes it |
||
189 | Ghostscript to be linked against the system FreeType when one is |
||
190 | available. |
||
191 | |||
192 | * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL): |
||
193 | Uncomment. |
||
194 | |||
195 | 2010-01-05 Werner Lemberg |
||
196 | |||
197 | Fix Savannah bug #28395. |
||
198 | |||
199 | * src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c |
||
200 | (T1_Loada_Glyph): Don't check `num_glyphs' if incremental interface |
||
201 | is used. |
||
202 | |||
203 | 2010-01-05 Ken Sharp |
||
204 | |||
205 | Make Type 1 `seac' operator work with incremental interface. |
||
206 | This fixes Savannah bug #28480. |
||
207 | |||
208 | * src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names' |
||
209 | if incremental interface is used. |
||
210 | |||
211 | 2010-01-04 Ken Sharp |
||
212 | |||
213 | Make incremental interface work with TrueType fonts. |
||
214 | This fixes Savannah bug #28478. |
||
215 | |||
216 | * src/truetype/ttgload.c (load_truetype_glyph): Don't check |
||
217 | `glyf_offset' if incremental interface is used. |
||
218 | |||
219 | 2009-12-31 Lars Abrahamsson |
||
220 | |||
221 | Make compilation with FT_CONFIG_OPTION_PIC work again. |
||
222 | |||
223 | * src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]: |
||
224 | Declare `library' for FT_BITMAP_GLYPH_CLASS_GET. |
||
225 | |||
226 | * src/base/ftinit.c (ft_destroy_default_module_classes, |
||
227 | ft_create_default_module_classes): Use proper casts (needed for C++ |
||
228 | compilation). |
||
229 | |||
230 | * src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP. |
||
231 | |||
232 | 2009-12-22 Marc Kleine-Budde |
||
233 | |||
234 | Make freetype-config aware of $SYSROOT. |
||
235 | This is Savannah patch #7040. |
||
236 | |||
237 | * builds/unix/freetype-config.in: Decorate with ${SYSROOT} where |
||
238 | appropriate. |
||
239 | |||
240 | 2009-12-20 Werner Lemberg |
||
241 | |||
242 | Fix compiler warning. |
||
243 | Reported by Sean. |
||
244 | |||
245 | * src/base/ftdbgmem.c [!FT_DEBUG_MEMORY]: ANSI C doesn't like empty |
||
246 | source files; however, some compilers warn about an unused variable |
||
247 | declaration. This is now replaced with a typedef. |
||
248 | |||
249 | 2009-12-18 Werner Lemberg |
||
250 | |||
251 | Fix Savannah bug #28320. |
||
252 | |||
253 | There exist corrupt, subsetted fonts (embedded in PDF files) which |
||
254 | contain a private dict that ends with an unterminated floating point |
||
255 | number (no operator following). We now ignore this error (as |
||
256 | acrobat does). |
||
257 | |||
258 | * src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for |
||
259 | unterminated floating point numbers. |
||
260 | |||
261 | 2009-12-16 Werner Lemberg |
||
262 | |||
263 | Really fix compiler warnings. |
||
264 | Reported by Sean. |
||
265 | |||
266 | * src/truetype/ttgxvar.c (GX_PT_POINTS_ARE_WORDS, |
||
267 | GX_PT_POINT_RUN_COUNT_MASK): Convert enum values to macros. |
||
268 | |||
269 | 2009-12-16 suzuki toshiya |
||
270 | |||
271 | Improve configure.raw to copy some options from CFLAGS to LDFLAGS. |
||
272 | The linker of Mac OS X 10.6 is sensitive to the architecture. If |
||
273 | the architectures are specified explicitly for the C compiler, the |
||
274 | linker requires the architecture specifications too. |
||
275 | |||
276 | * builds/unix/configure.raw: Replace `-isysroot' option parser by |
||
277 | more generic argument parser. |
||
278 | |||
279 | 2009-12-15 Werner Lemberg |
||
280 | |||
281 | Fix compiler warnings. |
||
282 | Reported by Sean. |
||
283 | |||
284 | * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data |
||
285 | type. |
||
286 | |||
287 | 2009-12-14 Ken Sharp |
||
288 | |||
289 | Ignore invalid `setcurrentpoint' operations in Type 1 fonts. |
||
290 | This fixes Savannah bug #28226. |
||
291 | |||
292 | At least two wild PostScript files of unknown provenance contain |
||
293 | Type 1 fonts, apparently converted from TrueType fonts in earlier |
||
294 | PDF versions of the files, which use the `setcurrentpoint' operator |
||
295 | inappropriately. |
||
296 | |||
297 | FreeType currently throws an error in this case, but Ghostscript and |
||
298 | Adobe Distiller both accept the fonts and ignore the problem. This |
||
299 | commit #ifdefs out the check so PostScript interpreters using |
||
300 | FreeType can render these files. |
||
301 | |||
302 | The specification says `setcurrentpoint' should only be used to set |
||
303 | the point after a `Subr' call, but these fonts use it to set the |
||
304 | initial point to (0,0). Unnecessarily so, as they correctly use an |
||
305 | `hsbw' operation which implicitly sets the initial point. |
||
306 | |||
307 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings) |
||
308 |
|
||
309 | |||
310 | 2009-12-14 Bram Tassyns |
||
311 | |||
312 | Fix parsing of /CIDFontVersion. |
||
313 | This fixes Savannah bug #28287. |
||
314 | |||
315 | * src/cid/cidtoken.h: `cid_version' in CID_FaceInfoRec (in |
||
316 | t1tables.h) is of type FT_Fixed. |
||
317 | |||
318 | 2009-12-14 Werner Lemberg |
||
319 | |||
320 | Trace glyph index in CID module. |
||
321 | Suggested in Savannah patch #7023. |
||
322 | |||
323 | * src/cid/cidgload.c (cid_load_glyph): Add tracing message. |
||
324 | |||
325 | 2009-12-03 Werner Lemberg |
||
326 | |||
327 | Fix compiler warnings. |
||
328 | |||
329 | * src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the |
||
330 | proper preprocessor conditional. |
||
331 | * src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc. |
||
332 | |||
333 | 2009-11-25 John Tytgat |
||
334 | |||
335 | Better handling of start of `eexec' section. |
||
336 | This fixes Savannah bug #28090. |
||
337 | |||
338 | * src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace |
||
339 | characters before start of `eexec' section. |
||
340 | |||
341 | 2009-11-20 Werner Lemberg |
||
342 | |||
343 | Fix Savannah bug #27742. |
||
344 | |||
345 | * src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by |
||
346 | zero, using a threshold for `theta'. |
||
347 | |||
348 | 2009-11-20 Werner Lemberg |
||
349 | |||
350 | Fix Savannah bug #28036. |
||
351 | |||
352 | * src/type1/t1afm.c (t1_get_index): Fix comparison. |
||
353 | |||
354 | 2009-11-16 Werner Lemberg |
||
355 | |||
356 | Fix compiler warnings. |
||
357 | Reported by Kevin Blenkinsopp |
||
358 | |||
359 | * src/sfnt/ttload.c (check_table_dir): Use proper data type. |
||
360 | |||
361 | 2009-11-15 Werner Lemberg |
||
362 | |||
363 | Really fix FreeDesktop bug #21197. |
||
364 | This also fixes Savannah bug #28021. |
||
365 | |||
366 | * src/autofit/aflatin.c (af_latin_metrics_check_digits), |
||
367 | src/autofit/aflatin2.c (af_latin2_metrics_check_digits): Fix loop. |
||
368 | |||
369 | 2009-11-15 Werner Lemberg |
||
370 | |||
371 | Add tracing messages for advance values. |
||
372 | |||
373 | * src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c |
||
374 | (TT_Get_HMetrics, TT_Get_VMetrics): Do it. |
||
375 | |||
376 | 2009-11-08 Werner Lemberg |
||
377 | |||
378 | Fix compiler warning. |
||
379 | Reported by Jeremy Manson |
||
380 | |||
381 | * src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'. |
||
382 | |||
383 | 2009-11-04 Werner Lemberg |
||
384 | |||
385 | Remove compiler warning. |
||
386 | Reported by Sean McBride |
||
387 | |||
388 | * src/tools/apinames.c (read_header_file) |
||
389 | `int', as specified in the printf(3) man page. |
||
390 | |||
391 | 2009-11-04 Werner Lemberg |
||
392 | |||
393 | Fix Savannah bug #27921. |
||
394 | |||
395 | * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c |
||
396 | (cid_face_init), src/type1/t1afm.c (T1_Read_Metrics), |
||
397 | src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant |
||
398 | values for rounding if the argument can be negative. |
||
399 | |||
400 | 2009-11-03 Bram Tassyns |
||
401 | |||
402 | Add basic support for Type1 charstrings in CFF. |
||
403 | This fixes Savannah bug #27922. |
||
404 | |||
405 | * src/cff/cffgload.c (CFF_Operator, cff_argument_counts): Handle |
||
406 | `seac', `sbw', and `setcurrentpoint' opcodes. |
||
407 | (cff_compute_bias): Add parameter to indicate the charstring type. |
||
408 | Update all callers. |
||
409 | (cff_operator_seac): Add parameter for side bearing. |
||
410 | (cff_decoder_parse_charstrings): Updated for more Type1 support. |
||
411 | |||
412 | 2009-11-03 Werner Lemberg |
||
413 | |||
414 | Return correct `linearHoriAdvance' value for embedded TT bitmaps too. |
||
415 | Reported by Jeremy Manson |
||
416 | |||
417 | src/truetype/ttgload.c (load_truetype_glyph): Add parameter to |
||
418 | quickly load the glyph header only. |
||
419 | Update all callers. |
||
420 | (tt_loader_init): Add parameter to quickly load the `glyf' table |
||
421 | only. |
||
422 | Update all callers. |
||
423 | (TT_Load_Glyph): Compute linear advance values for embedded bitmap |
||
424 | glyphs too. |
||
425 | |||
426 | 2009-11-03 Werner Lemberg |
||
427 | |||
428 | Improve code readability. |
||
429 | |||
430 | * src/ttgload.c (load_truetype_glyph): Move metrics calculation |
||
431 | to... |
||
432 | (tt_get_metrics): This new function. |
||
433 | |||
434 | 2009-10-26 Bram Tassyns |
||
435 | |||
436 | Fix Savannah bug #27811. |
||
437 | |||
438 | * src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix |
||
439 | signed/unsigned mismatch. |
||
440 | |||
441 | 2009-10-19 Ning Dong |
||
442 | |||
443 | Fix handling of `get' and `put' CFF instructions. |
||
444 | |||
445 | * src/cff/cffgload.c (cff_decoder_parse_charstrings) |
||
446 | cff_op_put>: Appendix B of Adobe Technote #5177 limits the number of |
||
447 | elements for the `get' and `put' operators to 32. |
||
448 | * src/cff/cffgload.h (CFF_MAX_TRANS_ELEMENTS): Define. |
||
449 | (CFF_Decoder): Use it for `buildchar' and remove `len_buildchar'. |
||
450 | |||
451 | 2009-10-18 Werner Lemberg |
||
452 | |||
453 | Fix handling of `dup' CFF instruction. |
||
454 | Problem and solution reported by Ning Dong |
||
455 | |||
456 | * src/cff/cffgload.c (cff_decoder_parse_charstrings) |
||
457 | Increase `args' by 2, not 1. |
||
458 | |||
459 | 2009-10-10 Werner Lemberg |
||
460 | |||
461 | * Version 2.3.11 released. |
||
462 | ========================== |
||
463 | |||
464 | |||
465 | Tag sources with `VER-2-3-11'. |
||
466 | |||
467 | * docs/VERSION.DLL: Update documentation and bump version number to |
||
468 | 2.3.11. |
||
469 | |||
470 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
||
471 | builds/win32/visualc/freetype.dsp, |
||
472 | builds/win32/visualc/freetype.vcproj, |
||
473 | builds/win32/visualce/index.html, |
||
474 | builds/win32/visualce/freetype.dsp, |
||
475 | builds/win32/visualce/freetype.vcproj: s/2.3.10/2.3.11/, s/2310/2311/. |
||
476 | |||
477 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 11. |
||
478 | |||
479 | * builds/unix/configure.raw (version_info): Set to 9:22:3. |
||
480 | |||
481 | 2009-10-10 Werner Lemberg |
||
482 | |||
483 | * docs/CHANGES, docs/release: Updated. |
||
484 | |||
485 | 2009-10-10 suzuki toshiya |
||
486 | |||
487 | * src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops |
||
488 | truncation. Reported by Martin von Gagern and Peter Volkov. |
||
489 | https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256 |
||
490 | |||
491 | 2009-10-06 Werner Lemberg |
||
492 | |||
493 | * Version 2.3.10 released. |
||
494 | ========================== |
||
495 | |||
496 | |||
497 | Tag sources with `VER-2-3-10'. |
||
498 | |||
499 | * builds/toplevel.mk (major, minor, patch): Fix regexp to allow more |
||
500 | than a single digit. |
||
501 | (dist): We now use git. |
||
502 | |||
503 | * docs/VERSION.DLL: Update documentation and bump version number to |
||
504 | 2.3.10. |
||
505 | |||
506 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
||
507 | builds/win32/visualc/freetype.dsp, |
||
508 | builds/win32/visualc/freetype.vcproj, |
||
509 | builds/win32/visualce/index.html, |
||
510 | builds/win32/visualce/freetype.dsp, |
||
511 | builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/. |
||
512 | |||
513 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10. |
||
514 | |||
515 | * builds/unix/configure.raw (version_info): Set to 9:21:3. |
||
516 | |||
517 | 2009-10-06 Werner Lemberg |
||
518 | |||
519 | Fix `make multi'. |
||
520 | |||
521 | * src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define. |
||
522 | |||
523 | * src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H. |
||
524 | |||
525 | 2009-09-27 suzuki toshiya |
||
526 | |||
527 | [cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582. |
||
528 | Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed. |
||
529 | Now these functions should be called with FTC_Node or FTC_MruNode |
||
530 | variable, and the caller should cast them to appropriate pointers to |
||
531 | concrete data. These tricky casts can GCC-4.4 optimizer (-O2) |
||
532 | confused and the crashing binaries are generated. |
||
533 | |||
534 | * src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast. |
||
535 | Now the 4th argument `node' of this function should be typed as |
||
536 | FTC_MruNode. |
||
537 | |||
538 | * src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline |
||
539 | implementation, new temporal variable FTC_MruNode `_mrunode' to take |
||
540 | the pointer from FTC_MRULIST_LOOKUP_CMP(). For non-inline |
||
541 | implementation, tricky cast is dropped. |
||
542 | |||
543 | * src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting |
||
544 | to FTC_SizeNode. |
||
545 | (FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode |
||
546 | `mrunode', and FTC_SIZE_NODE() is inserted. |
||
547 | (FTC_FACE_NODE): New macro casting to FTC_FaceNode. |
||
548 | (FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode |
||
549 | `mrunode', and FTC_FACE_NODE() is inserted. |
||
550 | |||
551 | * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of |
||
552 | `node' from FTC_INode to FTC_Node. Extra casting macro FTC_NODE() |
||
553 | is dropped. |
||
554 | (FTC_ImageCache_LookupScaler): Ditto. |
||
555 | (FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to |
||
556 | FTC_Node. Extra casting macro FTC_NODE() is dropped. FTC_SNODE() |
||
557 | is inserted. |
||
558 | (FTC_SBitCache_LookupScaler): Ditto. |
||
559 | |||
560 | * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of |
||
561 | `node' from FTC_CMapNode to FTC_Node. Extra casting macro |
||
562 | FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted. |
||
563 | |||
564 | 2009-09-25 suzuki toshiya |
||
565 | |||
566 | [cache, psaux, type1] Fix for multi build. |
||
567 | In multi build, some cpp functions are left as unresolved symbols. |
||
568 | |||
569 | * src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1(). |
||
570 | |||
571 | * src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for |
||
572 | FIXED_TO_INT(). |
||
573 | * src/type1/t1gload.c: Ditto. |
||
574 | * src/type1/t1objs.c: Ditto. |
||
575 | |||
576 | 2009-09-25 suzuki toshiya |
||
577 | |||
578 | [autofit] Fix for multi build. |
||
579 | |||
580 | * src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use |
||
581 | FT_DECLARE_MODULE() macro in multi build. |
||
582 | |||
583 | * src/autofit/aflatin.c: Include |
||
584 | FT_ADVANCES_H correctly in multi build. |
||
585 | |||
586 | 2009-09-24 suzuki toshiya |
||
587 | |||
588 | [cache] Check the face filled by FTC_Manager_LookupFace(). |
||
589 | |||
590 | * src/cache/ftcbasic.c (ftc_basic_family_get_count): Return |
||
591 | immediately if FTC_Manager_LookupFace() fills face by NULL. Such |
||
592 | case can occur when the code is optimized by GCC-4.2.x. |
||
593 | |||
594 | 2009-09-23 Werner Lemberg |
||
595 | |||
596 | * docs/CHANGES: Updated. |
||
597 | |||
598 | 2009-09-12 Werner Lemberg |
||
599 | |||
600 | [raster] Fix 5-levels grayscale output. |
||
601 | This was broken since version 2.3.0. |
||
602 | |||
603 | * src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which |
||
604 | were then computed dynamically). |
||
605 | (Vertical_Gray_Sweep_Step): Updated. |
||
606 | |||
607 | (ft_black_render): Initialize `worker->gray_lines' (problem found by |
||
608 | valgrind). |
||
609 | |||
610 | (FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just |
||
611 | comment out. |
||
612 | |||
613 | 2009-09-12 suzuki toshiya |
||
614 | |||
615 | Improve configure.raw for cross build. |
||
616 | |||
617 | * builds/unix/configure.raw: Remove temporal files created by the |
||
618 | suffix checking for CC_BUILD. Set XX_ANSIFLAGS and XX_CFLAGS when |
||
619 | cross compiler is GCC. AC_PROG_CC checks whether the cross compiler |
||
620 | is GCC, its result is stored in GCC. |
||
621 | |||
622 | 2009-09-12 suzuki toshiya |
||
623 | |||
624 | [BDF] Modify hash API to take size_t value instead of void *. |
||
625 | |||
626 | The hash API in BDF driver is designed to be generic, it takes |
||
627 | void * typed data. But BDF driver always gives an unsigned long |
||
628 | integer (the index to a property). To reduce non-essential |
||
629 | casts from unsigned long to void* and from void* to unsigned |
||
630 | long, the hash API is changed to take size_t integer. |
||
631 | The issue of incompatible cast between unsigned long and void* |
||
632 | on LLP64 platform is reported by NightStrike from MinGW-Win64 |
||
633 | project. See |
||
634 | http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html |
||
635 | |||
636 | * src/bdf/bdf.h: The type of hashnode->data is changed from |
||
637 | void* to size_t. |
||
638 | |||
639 | * src/bdf/bdflib.c (hash_insert): Get size_t data, instead of |
||
640 | void* data. |
||
641 | (bdf_create_property): Get the name length of new property by |
||
642 | size_t variable, with a cut-off at FT_ULONG_MAX. |
||
643 | (_bdf_set_default_spacing): Get the name length of the face by |
||
644 | size_t variable, with a cut-off at 256. |
||
645 | (bdf_get_property): Get the property id by size_t variable to |
||
646 | reduce the casts between 32-bit prop ID & hashnode->data during |
||
647 | simple copying. |
||
648 | (_bdf_add_property): Ditto. |
||
649 | (_bdf_parse_start): Calculate the index to the property array |
||
650 | by size_t variable. |
||
651 | (bdf_get_font_property): Drop a cast to unsigned long. |
||
652 | |||
653 | 2009-09-10 suzuki toshiya |
||
654 | |||
655 | [Win64] Improve the computation of random seed from stack address. |
||
656 | |||
657 | On LLP64 platform, the conversion from pointer to FT_Fixed need |
||
658 | to drop higher 32-bit. Explict casts are required. Reported by |
||
659 | NightStrike from MinGW-w64 project. See |
||
660 | http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html |
||
661 | |||
662 | * src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly. |
||
663 | |||
664 | * src/psaux/t1decode.c: Ditto. |
||
665 | |||
666 | |||
667 | 2009-09-03 Werner Lemberg |
||
668 | |||
669 | [raster] Improvements for stand-alone mode. |
||
670 | |||
671 | * src/raster/rules.mk: Don't handle ftmisc.h. It is needed for |
||
672 | stand-alone mode only. |
||
673 | |||
674 | * src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func, |
||
675 | FT_Realloc_Func): Copy declarations from ftsystem.h. |
||
676 | |||
677 | 2009-09-02 Bram Tassyns |
||
678 | |||
679 | Improve vertical metrics calculation (Savannah bug #27364). |
||
680 | |||
681 | The calculation of `vertBearingX' is not defined in the OTF font |
||
682 | spec so FreeType does a `best effort' attempt. However, this value |
||
683 | is defined in the PDF and PostScript specs, and that algorithm is |
||
684 | better than the one FreeType currently uses: |
||
685 | |||
686 | FreeType: Use the middle of the bounding box as the X coordinate |
||
687 | of the vertical origin. |
||
688 | |||
689 | Adobe PDF spec: Use the middle of the horizontal advance vector as |
||
690 | the X coordinate of the vertical origin. |
||
691 | |||
692 | FreeType's algorithm goes wrong if you have a really small glyph |
||
693 | (like the full-width, circle-like dot at the end of the sentence, as |
||
694 | used in CJK scripts) with large bearings. With the FreeType |
||
695 | algorithm this dot gets centered on the baseline; with the PDF |
||
696 | algorithm it gets the correct location (in the top right). Note |
||
697 | that this is a serious issue, it's like printing the dot at the end |
||
698 | of a Roman sentence at the center of the textline instead of on the |
||
699 | baseline like it should. So i believe the PDF spec's algorithm |
||
700 | should be used in FreeType as well. |
||
701 | |||
702 | The `vertBearingY' value for such small glyphs is also very strange |
||
703 | if no `vmtx' information is present, since the height of the bbox is |
||
704 | not representable for the height of the glyph visually (the |
||
705 | whitespace up to the baseline is part of the glyph). The fix also |
||
706 | includes some code for a better estimate of `vertBearingY'. |
||
707 | |||
708 | * src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX' |
||
709 | is now calculated as described by the Adobe PDF Spec. Estimate for |
||
710 | `vertBearingY' now works better for small glyphs completely above or |
||
711 | below the baseline into account. |
||
712 | |||
713 | * src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now |
||
714 | calculated as described by the Adobe PDF Spec. Vertical metrics |
||
715 | information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS |
||
716 | was not defined. |
||
717 | |||
718 | * src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is |
||
719 | now calculated as described by the Adobe PDF Spec. |
||
720 | |||
721 | 2009-09-01 John Tytgat |
||
722 | |||
723 | Fix custom cmap for empty Type 1 font (Savannah bug #27294). |
||
724 | |||
725 | * include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update |
||
726 | comment to reflect revised code_last meaning. |
||
727 | * src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c |
||
728 | (T42_Open_Face): Assign max_char as highest character code + 1 and |
||
729 | use this for T1_EncodingRecRec_::code_last. |
||
730 | * src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised |
||
731 | T1_EncodingRecRec_::code_last meaning. |
||
732 | |||
733 | 2009-08-25 Werner Lemberg |
||
734 | |||
735 | Fix rendering of horizontally compressed CFFs. |
||
736 | Bug reported by Ivan Nincic |
||
737 | |||
738 | * src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of |
||
739 | `font_matrix' also. |
||
740 | |||
741 | * docs/CHANGES: Updated. |
||
742 | |||
743 | 2009-08-03 suyu0925@gmail.com |
||
744 | |||
745 | Don't call `ft_fseek' every time when executing `ft_fread'. |
||
746 | |||
747 | * src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c |
||
748 | (ft_ansi_stream_io): Implement it. |
||
749 | |||
750 | 2009-07-31 suzuki toshiya |
||
751 | |||
752 | sfnt: Cast a charcode to 32-bit in cmap format 14 parser. |
||
753 | |||
754 | * src/sfnt/ttcmap.c (tt_cmap14_char_var_index, |
||
755 | tt_cmap14_char_var_isdefault, tt_cmap14_char_variants, |
||
756 | tt_cmap14_variant_chars): Correct mismatches from |
||
757 | FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments |
||
758 | are replaced by FT_UInt32 arguments. |
||
759 | |||
760 | 2009-07-31 suzuki toshiya |
||
761 | |||
762 | sfnt: Cast a charcode to 32-bit in cmap format 12 parser. |
||
763 | |||
764 | * src/sfnt/ttcmap.c (tt_cmap12_char_next): |
||
765 | Insert explicit cast from FT_UFast to FT_UInt32 |
||
766 | for return value. |
||
767 | |||
768 | 2009-07-31 suzuki toshiya |
||
769 | |||
770 | psaux: Fix a few casts to FT_Int32 value. |
||
771 | |||
772 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): |
||
773 | Fix a few casts setting `value' from FT_Long to FT_Int32, |
||
774 | because `value' is typed as FT_Int32 since 2009-06-22. |
||
775 | |||
776 | 2009-07-31 suzuki toshiya |
||
777 | |||
778 | sfnt: Fix a data type mismatching with its source. |
||
779 | |||
780 | * src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the |
||
781 | type of `gindex' from FT_ULong to FT_UInt because |
||
782 | it is set by FT_UInt tt_cmap13_char_map_binary() or |
||
783 | TT_CMap13->cur_gindex. |
||
784 | |||
785 | 2009-07-31 suzuki toshiya |
||
786 | |||
787 | sfnt: Extend a few local variables to load 32-bit values. |
||
788 | |||
789 | * src/sfnt/ttkern.c (tt_face_load_kern): Extend `count' |
||
790 | and `kern' to load 32-bit values. |
||
791 | |||
792 | 2009-07-31 suzuki toshiya |
||
793 | |||
794 | pfr: Extend `num_aux' to take 32-bit value. |
||
795 | |||
796 | * src/pfr/pfrload.c (pfr_phy_font_load): Extend |
||
797 | `num_aux' to load 32-bit value. |
||
798 | |||
799 | 2009-07-31 suzuki toshiya |
||
800 | |||
801 | pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops. |
||
802 | |||
803 | * src/pcf/pcfread.c (pcf_get_properties): Load `nprops' |
||
804 | as FT_ULong value from PCF file, but truncate it as |
||
805 | int to fit PCF_Face->nprops. The number of truncated |
||
806 | properties is shown in the trace message. |
||
807 | |||
808 | 2009-07-31 suzuki toshiya |
||
809 | |||
810 | gxvalid: Extend a few local variables to reduce the casts. |
||
811 | |||
812 | * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate): |
||
813 | Extend `type' and `rest' to take FT_ULong values. |
||
814 | |||
815 | 2009-07-31 suzuki toshiya |
||
816 | |||
817 | gxvalid: Extend `settingTable' to take 32-bit offset. |
||
818 | |||
819 | * src/gxvalid/gxvfeat.c (gxv_feat_name_validate): |
||
820 | Extend `settingTable' to take 32-bit offset. |
||
821 | |||
822 | 2009-07-31 suzuki toshiya |
||
823 | |||
824 | autofit: Cast FT_Long glyph_count to compare with FT_UInt GID. |
||
825 | |||
826 | * src/autofit/afglobal.c (af_face_globals_is_digit, |
||
827 | af_face_globals_compute_script_coverage): Cast FT_Long |
||
828 | globals->glyph_count to FT_ULong, to compare with FT_UInt |
||
829 | gindex. |
||
830 | |||
831 | 2009-07-31 suzuki toshiya |
||
832 | |||
833 | smooth: Exclude 16-bit system in invalid pitch/height check. |
||
834 | |||
835 | * src/smooth/ftsmooth.c (ft_smooth_render_generic): |
||
836 | pitch and height are typed as FT_UInt but checked to fit |
||
837 | 16-bit range, to avoid the overflows. On 16-bit system, |
||
838 | this checking inserts a conditional that never occurs. |
||
839 | |||
840 | 2009-07-03 suzuki toshiya |
||
841 | |||
842 | cff: Type large constants > 0x7FFF as long for 16-bit systems. |
||
843 | |||
844 | * src/cff/cffload.c (cff_charset_load): Type large |
||
845 | constants > 0x7FFF as long, because normal constants |
||
846 | are typed signed integer that is less than 0x8000 on |
||
847 | 16-bit systems. |
||
848 | |||
849 | 2009-07-31 suzuki toshiya |
||
850 | |||
851 | base: Remove an unused variable. |
||
852 | |||
853 | * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an |
||
854 | unused variable `library'. glyph->library is used. |
||
855 | |||
856 | 2009-07-31 suzuki toshiya |
||
857 | |||
858 | cache: Check higher bits in flags for non ILP32 systems. |
||
859 | |||
860 | 4 public functions ought to take FT_ULong flags, but take |
||
861 | FT_UInt flags. To keep binary compatibility, we drop higher |
||
862 | bits on non ILP32 platforms, |
||
863 | ILP64 systems: No drop occurs. |
||
864 | LP64 systems: Higher bits are not used. |
||
865 | 16-bit systems: Drop can occur. |
||
866 | See |
||
867 | http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html |
||
868 | These functions will be refined to take FT_ULong flags in |
||
869 | next bump with incompatible API change. |
||
870 | |||
871 | * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): |
||
872 | Check `flags' in `type', the 2nd argument. |
||
873 | (FTC_SBitCache_Lookup): Ditto. |
||
874 | (FTC_ImageCache_LookupScaler): Check `load_flags', |
||
875 | the 3rd argument. |
||
876 | (FTC_SBitCache_LookupScaler): Ditto. |
||
877 | |||
878 | 2009-07-31 suzuki toshiya |
||
879 | |||
880 | sfnt: Ignore invalid GIDs in glyph name lookup. |
||
881 | |||
882 | * include/freetype/internal/fttrace.h: |
||
883 | New trace module for sfdriver.c is added. |
||
884 | |||
885 | * src/sfnt/sfdriver.c (sfnt_get_name_index): |
||
886 | Restrict glyph name lookup to FT_UInt GID. |
||
887 | Genuine TrueType can hold 16-bit glyphs. |
||
888 | |||
889 | 2009-07-31 suzuki toshiya |
||
890 | |||
891 | pcf: Fix a comparison between FT_Long and FT_ULong. |
||
892 | |||
893 | * src/pcf/pcfread.c (pcf_get_bitmaps): Return an error |
||
894 | if PCF_Face->nemetrics is negative. |
||
895 | |||
896 | 2009-07-31 suzuki toshiya |
||
897 | |||
898 | gxvalid: Guarantee `nFeatureFlags' size up to 32-bit. |
||
899 | |||
900 | * src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate): |
||
901 | Extend the 3rd argument `nFeatureFlags' to FT_ULong. |
||
902 | * src/gxvalid/gxvmort.h: Ditto. |
||
903 | |||
904 | 2009-07-31 suzuki toshiya |
||
905 | |||
906 | sfnt: Insert explicit cast for LP64 system. |
||
907 | |||
908 | * src/sfnt/ttkern.c (tt_face_load_kern): Insert |
||
909 | cast from unsigned long to FT_UInt32. |
||
910 | |||
911 | 2009-07-31 suzuki toshiya |
||
912 | |||
913 | gxvalid: Guarantee `just' table size upto 32-bit. |
||
914 | |||
915 | * src/gxvalid/gxvjust.c (gxv_just_validate): |
||
916 | The type of `offset' is changed from FT_UInt to |
||
917 | FT_Offset, for 16-bit platforms. |
||
918 | |||
919 | 2009-07-31 suzuki toshiya |
||
920 | |||
921 | gxvalid: Guarantee `trak' table size upto 32-bit. |
||
922 | |||
923 | * src/gxvalid/gxvtrak.c (gxv_trak_validate): |
||
924 | The type of `offset' is changed from FT_UInt to |
||
925 | FT_Offset, for 16-bit platforms. |
||
926 | |||
927 | 2009-07-31 suzuki toshiya |
||
928 | |||
929 | type1: Fix a data type mismatching with its source. |
||
930 | |||
931 | * include/freetype/internal/t1types.h: The type of |
||
932 | T1_Face->buildchar is matched with T1_Decorder->top. |
||
933 | |||
934 | 2009-07-31 suzuki toshiya |
||
935 | |||
936 | pfr: Fix a data type mismatching with its source. |
||
937 | |||
938 | * src/pfr/pfrtypes.h: The type of PFR_KernItem->offset |
||
939 | is extended from FT_UInt32 to FT_Offset, because it is |
||
940 | calculated with the pointer difference, in |
||
941 | pfr_extra_item_load_kerning_pairs(). |
||
942 | |||
943 | 2009-07-31 suzuki toshiya |
||
944 | |||
945 | pfr: Fix a data type mismatching with its source. |
||
946 | |||
947 | * src/pfr/pfrtypes.h: The type of PFR_PhysFont->chars_offset |
||
948 | is extended from FT_UInt32 to FT_Offset, because it is |
||
949 | calculated with the pointer difference in pfr_phy_font_load(). |
||
950 | |||
951 | 2009-07-31 suzuki toshiya |
||
952 | |||
953 | pfr: Fix a data type mismatching with its source. |
||
954 | |||
955 | * src/pfr/pfrtypes.h: The type of PFR_PhyFont->bct_offset |
||
956 | is extended from FT_UInt32 to FT_Long, because it is |
||
957 | loaded by FT_STREAM_POS() in pfr_phy_font_load(). |
||
958 | |||
959 | 2009-07-31 suzuki toshiya |
||
960 | |||
961 | smooth: Improve the format in debug message. |
||
962 | |||
963 | * src/smooth/ftgrays.c (gray_dump_cells): Improve the |
||
964 | format specifications to dump variables. |
||
965 | |||
966 | 2009-07-31 suzuki toshiya |
||
967 | |||
968 | sfnt: Fix a data type mismatching with its source. |
||
969 | |||
970 | * src/sfnt/sfobjs.c (sfnt_load_face): The type of |
||
971 | local `flags' is matched with FT_Face->face_flags. |
||
972 | |||
973 | 2009-07-31 suzuki toshiya |
||
974 | |||
975 | psaux: Fix a data type mismatching with its source. |
||
976 | |||
977 | * include/freetype/internal/psaux.h: The type of |
||
978 | T1_DecorderRec.buildchar is matched with |
||
979 | T1_DecorderRec.top. |
||
980 | |||
981 | 2009-07-31 suzuki toshiya |
||
982 | |||
983 | truetype: Extend TrueType GX packed deltas to FT_Offset. |
||
984 | |||
985 | * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): |
||
986 | The type of 2nd argument `delta_cnt' is changed from |
||
987 | FT_Int to FT_Offset, because its source can be cvt |
||
988 | table size calculated from stream position. |
||
989 | |||
990 | 2009-07-31 suzuki toshiya |
||
991 | |||
992 | truetype: Extend mmvar_len to hold size_t values. |
||
993 | |||
994 | * src/truetype/ttgxvar.h: The type of |
||
995 | GX_BlendRec.mmvar_len is changed from FT_Int to |
||
996 | FT_Offset, because TT_Get_MM_Var() calculates it |
||
997 | by sizeof() results. |
||
998 | |||
999 | 2009-07-31 suzuki toshiya |
||
1000 | |||
1001 | truetype: Check invalid function number in IDEF instruction. |
||
1002 | |||
1003 | * src/truetype/ttinterp.c (Ins_IDEF): Check |
||
1004 | if the operand fits to 8-bit opcode limitation. |
||
1005 | |||
1006 | 2009-07-31 suzuki toshiya |
||
1007 | |||
1008 | truetype: Check invalid function number in FDEF instruction. |
||
1009 | |||
1010 | * src/truetype/ttinterp.c (Ins_FDEF): Check |
||
1011 | if the operand fits 16-bit function number. |
||
1012 | |||
1013 | 2009-07-31 suzuki toshiya |
||
1014 | |||
1015 | truetype: Truncate the deltas of composite glyph at 16-bit values. |
||
1016 | |||
1017 | * src/truetype/ttgload.c (load_truetype_glyph): |
||
1018 | Insert cast from FT_Long (deltas[i].{x,y}) to |
||
1019 | FT_Int16 in the summation of deltas[] for composite |
||
1020 | glyphs. Because deltas[i] is typed as FT_Pos, |
||
1021 | its component x, y are typed as FT_Long, but |
||
1022 | their sources are always FT_Int16 when they are |
||
1023 | loaded by ft_var_readpackeddeltas(). However, |
||
1024 | the limitation about the summed deltas is unclear. |
||
1025 | |||
1026 | 2009-07-31 suzuki toshiya |
||
1027 | |||
1028 | truetype: Truncate the instructions upto 16-bit per a glyph. |
||
1029 | |||
1030 | * src/truetype/ttgload.c (TT_Hint_Glyph): Truncate |
||
1031 | the instructions upto 16-bit length per a glyph. |
||
1032 | |||
1033 | 2009-07-31 suzuki toshiya |
||
1034 | |||
1035 | truetype: Cast the numerical operands to 32-bit for LP64 systems. |
||
1036 | |||
1037 | * src/truetype/ttinterp.c (Ins_SPHIX, INS_MIAP, |
||
1038 | Ins_MIRP): Insert cast from long (args[], the |
||
1039 | operands passed to TrueType operator) to FT_Int32 |
||
1040 | (the argument of TT_MulFix14()). |
||
1041 | |||
1042 | 2009-07-31 suzuki toshiya |
||
1043 | |||
1044 | truetype: Cast the project vector to 32-bit for LP64 system. |
||
1045 | |||
1046 | * src/truetype/ttinterp.c (Project, DualProject): |
||
1047 | Insert casts from FT_Pos (the arguments `dx', `dy') |
||
1048 | to FT_UInt32 (the argument to TT_DotFix14()). |
||
1049 | |||
1050 | 2009-07-31 suzuki toshiya |
||
1051 | |||
1052 | truetype: Cast the scaling params to 32-bit for LP64 system. |
||
1053 | |||
1054 | * src/truetype/ttgload.c (TT_Process_Composite_Component): |
||
1055 | Insert casts from long (return value of FT_MulFix()) to |
||
1056 | FT_Int32 (the argument to FT_SqrtFixed()). |
||
1057 | |||
1058 | 2009-07-31 suzuki toshiya |
||
1059 | |||
1060 | sfnt: Cast a character code to FT_UInt32 for LP64 system. |
||
1061 | |||
1062 | * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary, |
||
1063 | tt_cmap14_variants, tt_cmap14_char_variants, |
||
1064 | tt_cmap14_def_char_count, tt_cmap14_get_def_chars, |
||
1065 | tt_cmap14_get_nondef_chars, tt_cmap14_variant_chars) |
||
1066 | Insert casts when FT_UInt32 variable is loaded by |
||
1067 | TT_NEXT_{UINT24|ULONG}. Because most of them are |
||
1068 | compared with FT_UInt32 values in public API, replacing |
||
1069 | FT_UFast is not recommended. |
||
1070 | |||
1071 | 2009-07-31 suzuki toshiya |
||
1072 | |||
1073 | sfnt: Cast a character code to FT_UInt32 for LP64 system. |
||
1074 | |||
1075 | * src/sfnt/ttcmap.c (tt_cmap4_init, tt_cmap4_next): |
||
1076 | Insert the casts from unsigned long constant to |
||
1077 | FT_UInt32. |
||
1078 | |||
1079 | 2009-07-31 suzuki toshiya |
||
1080 | |||
1081 | sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF. |
||
1082 | |||
1083 | * include/freetype/internal/tttypes.h: The type |
||
1084 | of TT_BDF->string_size is extended from FT_UInt32 |
||
1085 | to FT_ULong, because BDF specification does not |
||
1086 | restrict the length of string. |
||
1087 | * src/sfnt/ttbdf.c: The scratch variable `strings' |
||
1088 | to load TT_BDF->string_size is matched with |
||
1089 | TT_BDF->string_size. |
||
1090 | |||
1091 | 2009-07-31 suzuki toshiya |
||
1092 | |||
1093 | psaux: Handle the string length by FT_Offset variables. |
||
1094 | |||
1095 | * src/psaux/afmparse.c (afm_parser_next_key, |
||
1096 | afm_tokenize, afm_parse_track_kern, |
||
1097 | afm_parse_kern_pairs, afm_parse_kern_data, |
||
1098 | afm_parser_skip_section, afm_parser_parse): |
||
1099 | The length of key is handled by FT_Offset, |
||
1100 | instead of FT_UInt. Although the length of |
||
1101 | PostScript strings or name object is 16-bit, |
||
1102 | AFM_STREAM_KEY_LEN() calculates the length |
||
1103 | from the pointer difference. |
||
1104 | |||
1105 | * src/psaux/afmparse.h (afm_parser_next_key): |
||
1106 | Ditto. |
||
1107 | |||
1108 | 2009-07-31 suzuki toshiya |
||
1109 | |||
1110 | pcf: Fix some data types mismatching with their sources. |
||
1111 | |||
1112 | * src/pcf/pcfread.c (pcf_get_bitmaps): The types |
||
1113 | of `nbitmaps', `i', `sizebitmaps' are matched with |
||
1114 | the type of area FT_Bitmap.pitch * FT_Bitmap.rows. |
||
1115 | |||
1116 | 2009-07-31 suzuki toshiya |
||
1117 | |||
1118 | pcf: Handle the string length by size_t variables. |
||
1119 | |||
1120 | * src/pcf/pcfread.c (pcf_interpret_style): The types |
||
1121 | of nn, len, lengths[4] are changed to size_t, because |
||
1122 | they are loaded by (or compared with) ft_strlen(). |
||
1123 | |||
1124 | * src/pcf/pcfutil.c (BitOrderInvert, TwoByteSwap, |
||
1125 | FourByteSwap): The type of the 2nd argument `nbytes' |
||
1126 | is changed to size_t, for similarity with ANSI C |
||
1127 | string functions. |
||
1128 | |||
1129 | * src/pcf/pcfdrivr.c (PCF_Glyph_Load): The type of |
||
1130 | `bytes' is changed to FT_Offset, because it is passed |
||
1131 | to FT_ALLOC(), via ft_glyphslot_alloc_bitmap(). At |
||
1132 | least, using unsigned type is better. |
||
1133 | |||
1134 | 2009-07-31 suzuki toshiya |
||
1135 | |||
1136 | pcf: Fix some data types mismatching with their sources. |
||
1137 | |||
1138 | * src/pcf/pcfread.c (pcf_seek_to_table_type, |
||
1139 | pcf_has_table_type): The type of 3rd argument |
||
1140 | `ntables' is matched with PCF_Toc->count. |
||
1141 | |||
1142 | 2009-07-31 suzuki toshiya |
||
1143 | |||
1144 | otvalid: Truncate the glyph index to 16-bit. |
||
1145 | |||
1146 | * src/otvalid/otvalid.c (otv_validate): Checks |
||
1147 | face->num_glyphs does not exceed 16-bit limit, |
||
1148 | pass FT_UInt num_glyphs to backend functions |
||
1149 | otv_{GPOS|GSUB|GDEF|JSTF|MATH}_validate(). |
||
1150 | |||
1151 | 2009-07-31 suzuki toshiya |
||
1152 | |||
1153 | cache: Insert explict casts for LP64 systems. |
||
1154 | |||
1155 | * src/cache/ftcbasic.c (FTC_ImageCache_Lookup, |
||
1156 | FTC_SBitCache_Lookup): The type of FTC_ImageType->width |
||
1157 | is FT_Int, so the cast to unsigned larger type FT_ULong |
||
1158 | is introduced for the comparisons with 0x10000L for |
||
1159 | LP64 platform. |
||
1160 | |||
1161 | 2009-07-31 suzuki toshiya |
||
1162 | |||
1163 | cache: Fix some data types mismatching with their sources. |
||
1164 | |||
1165 | * src/cache/ftccache.h: The type of return value |
||
1166 | by FTC_Node_WeightFunc function is changed to |
||
1167 | FT_Offset. The type of FTC_CacheClass->cache_size |
||
1168 | is changed to FT_Offset, too. |
||
1169 | |||
1170 | * src/cache/ftccback.h (ft_inode_weight, |
||
1171 | ftc_snode_weight): Ditto. |
||
1172 | |||
1173 | * src/cache/ftccmap.c (ftc_cmap_node_weight): Ditto. |
||
1174 | |||
1175 | * src/cache/ftcimage.c (ftc_inode_weight, |
||
1176 | FTC_INode_Weight): Ditto. |
||
1177 | |||
1178 | * src/cache/ftcsbits.c (ftc_snode_weight, |
||
1179 | FTC_SNode_Weight): Ditto. |
||
1180 | |||
1181 | * src/cache/ftcmru.h: The type of |
||
1182 | FTC_MruListClass->node_size is changed to FT_Offset, |
||
1183 | because it is passed to FT_ALLOC() to specify the |
||
1184 | size of buffer. |
||
1185 | |||
1186 | 2009-07-31 suzuki toshiya |
||
1187 | |||
1188 | XXX_cmap_encoding_char_next() return FT_UInt32 values. |
||
1189 | |||
1190 | * include/freetype/internal/services/svpscmap.h: |
||
1191 | The size of the charcode value returned by |
||
1192 | the function typed PS_Unicodes_CharNextFunc is |
||
1193 | matched with its input charcode value. |
||
1194 | |||
1195 | * src/cff/cffmap.c (cff_cmap_encoding_char_next, |
||
1196 | cff_cmap_unicode_char_next): Ditto. |
||
1197 | |||
1198 | * src/pfr/pfrmap.c (pfr_cmap_encoding_char_next): |
||
1199 | Ditto. |
||
1200 | |||
1201 | * src/psaux/t1cmap.c (t1_cmap_std_char_next, |
||
1202 | t1_cmap_custom_char_next, t1_cmap_unicode_char_next): |
||
1203 | Ditto. |
||
1204 | |||
1205 | * src/psnames/psmodule.c (ps_unicodes_char_next): |
||
1206 | Ditto. |
||
1207 | |||
1208 | * src/winfonts/winfnt.c (fnt_cmap_char_next): |
||
1209 | Ditto. |
||
1210 | |||
1211 | * src/sfnt/ttcmap.c (tt_cmap0_char_next, |
||
1212 | tt_cmap2_char_next, tt_cmap4_char_next, |
||
1213 | tt_cmap6_char_next, tt_cmap10_char_next, |
||
1214 | tt_cmap12_char_next, tt_cmap13_char_next): Ditto. |
||
1215 | (tt_cmap14_char_variants): Handle base unicode |
||
1216 | codepoint by FT_UInt32 variable to avoid overflow |
||
1217 | on 16-bit platforms. |
||
1218 | (tt_cmap14_ensure): The type of `num_results' is |
||
1219 | extend to FT_UInt32, to cover unsigned 32-bit |
||
1220 | `numVarSelectorRecords' in cmap14 table header. |
||
1221 | |||
1222 | 2009-07-31 suzuki toshiya |
||
1223 | |||
1224 | truetype: Extend TT_Face->num_locations for broken TTFs. |
||
1225 | |||
1226 | * include/freetype/internal/tttypes.h: |
||
1227 | TT_Face->num_locations are extended from FT_UInt |
||
1228 | to FT_ULong, to stand with broken huge loca table. |
||
1229 | Some people insists there are broken TTF including |
||
1230 | the glyphs over 16-bit limitation, in PRC market. |
||
1231 | * src/truetype/ttpload.c (tt_face_load_loca): |
||
1232 | Remove unrequired 16-bit truncation for FT_UInt |
||
1233 | TT_Face->num_locations. |
||
1234 | |||
1235 | 2009-07-31 suzuki toshiya |
||
1236 | |||
1237 | smooth: Fix some data types mismatching with their sources. |
||
1238 | |||
1239 | * src/smooth/ftgrays.c: The type of `TCoord' is |
||
1240 | matched to `TPos', because they are mixed in |
||
1241 | gray_set_cell(). The type of TCell->x is extended |
||
1242 | to `TPos', because gray_find_cell() sets it by |
||
1243 | TWorker.ex. The type of TCell->cover is extended |
||
1244 | to `TCoord', because gray_render_scanline() adds |
||
1245 | TCoord value to it. The type of TWork.cover is matched |
||
1246 | with TCell->cover. The types of |
||
1247 | TWork.{max_cells,num_cells} are changed to FT_PtrDist, |
||
1248 | because they are calculated from the memory addresses. |
||
1249 | The type of TWork.ycount is changed to TPos, because |
||
1250 | it is calculated from TPos variables. |
||
1251 | (gray_find_cell): The type of `x' is matched with |
||
1252 | its initial value ras.ex. |
||
1253 | (gray_render_scanline): The types of `mod', `lift' |
||
1254 | and `rem' are changed to TCoord, because their values |
||
1255 | are set with explicit casts to TCoord. When ras.area |
||
1256 | is updated by the differential values including |
||
1257 | `delta', they are explicitly cast to TArea, because |
||
1258 | the type of `delta' is not TArea but TCoord. |
||
1259 | (gray_render_line): The type of `mod' is extended |
||
1260 | from int to TCoord, because (TCoord)dy is added to mod. |
||
1261 | (gray_hline): The argument `acount' is extended to |
||
1262 | TCoord, to match with the parameters in the callers. |
||
1263 | |||
1264 | 2009-07-31 suzuki toshiya |
||
1265 | |||
1266 | cff: Fix some data types mismatching with their sources. |
||
1267 | |||
1268 | * src/cff/cffobjs.c (cff_face_init): The type of |
||
1269 | `scaling' is matched with the scaling parameter |
||
1270 | in FT_Matrix_Multiply_Scaled() and |
||
1271 | FT_Vector_Transform_Scaled(). |
||
1272 | |||
1273 | * src/cff/cffparse.c (cff_parse_real): The type of |
||
1274 | `power_ten', `scaling', `exponent_add', |
||
1275 | `integer_length', `fraction_length', |
||
1276 | `new_fraction_length' and `shift' are matched with |
||
1277 | the type of `exponent' to avoid unexpected truncation. |
||
1278 | (cff_parse_fixed_scaled): The type of `scaling' is |
||
1279 | matched with the `scaling' argument to |
||
1280 | cff_parse_real(). |
||
1281 | (cff_parse_fixed_dynamic): Ditto. |
||
1282 | (cff_parse_font_matrix): The type of `scaling' is |
||
1283 | matched with the `scaling' argument to |
||
1284 | cff_parse_dynamic(). |
||
1285 | |||
1286 | 2009-07-31 suzuki toshiya |
||
1287 | |||
1288 | autofit: Fix some data types mismatching with their sources. |
||
1289 | |||
1290 | * src/autofit/afglobal.c: Correct the type of |
||
1291 | AF_FaceGlobalsRec.glyph_count to match with |
||
1292 | FT_Face->num_glyphs. |
||
1293 | (af_face_globals_compute_script_coverage): |
||
1294 | Insert explicit cast to compare |
||
1295 | FT_Long AF_FaceGlobalsRec.glyph_count versus |
||
1296 | FT_UInt gindex. The type of `nn' is changed |
||
1297 | to scan glyph index upto AF_FaceGlobalsRec.glyph_count. |
||
1298 | (af_face_globals_get_metrics): The type of `script_max' |
||
1299 | is changed to cover size_t value. Insert explicit cast |
||
1300 | to compare FT_Long AF_FaceGlobalsRec.glyph_count versus |
||
1301 | FT_UInt gindex. |
||
1302 | |||
1303 | * src/autofit/afhints.c (af_axis_hints_new_segment): |
||
1304 | Insert explicit cast to calculate `big_max' from |
||
1305 | integer and size_t values. |
||
1306 | (af_axis_hints_new_edge): Ditto. |
||
1307 | |||
1308 | * src/autofit/aflatin.c (af_latin_metrics_init_blues): |
||
1309 | The type of `best_y' is matched to FT_Vector.y. |
||
1310 | (af_latin_compute_stem_width): The type of `delta' is |
||
1311 | matched to `dist' and `org_dist'. |
||
1312 | |||
1313 | 2009-07-31 suzuki toshiya |
||
1314 | |||
1315 | autofit: Count the size of the memory object by ptrdiff_t. |
||
1316 | |||
1317 | * src/autofit/afcjk.c (af_cjk_hint_edges): The |
||
1318 | number of edges `n_edges' should be counted by |
||
1319 | FT_PtrDist variable instead of FT_Int. |
||
1320 | |||
1321 | * src/autofit/aflatin.c (af_latin_hint_edges): |
||
1322 | Ditto. |
||
1323 | |||
1324 | * src/autofit/aftypes.h: In AF_ScriptClassRec, |
||
1325 | the size of metric `script_metrics_size' should |
||
1326 | be counted by FT_Offset variable instead of FT_UInt. |
||
1327 | |||
1328 | * src/autofit/afhints.c |
||
1329 | (af_glyph_hints_align_strong_points): The cursors |
||
1330 | for the edges `min', `max', `mid' in the memory |
||
1331 | buffer should be typed FT_PtrDist. |
||
1332 | |||
1333 | 2009-07-31 suzuki toshiya |
||
1334 | |||
1335 | autofit: Fix for unused variable `first'. |
||
1336 | |||
1337 | * src/autofit/afhints.c (af_glyph_hints_reload): Insert |
||
1338 | FT_UNUSED() to hide the unused variable warning. |
||
1339 | |||
1340 | 2009-07-31 suzuki toshiya |
||
1341 | |||
1342 | Improve bitmap size or pixel variables for 16-bit systems. |
||
1343 | |||
1344 | * include/freetype/config/ftstdlib.h: Introduce |
||
1345 | FT_INT_MIN, to use in signed integer overflow in |
||
1346 | 16-bit and 64-bit platforms. |
||
1347 | |||
1348 | * include/freetype/internal/fttrace.h: Add a tracer |
||
1349 | to ftsynth.c. |
||
1350 | |||
1351 | * src/base/ftbitmap.c (FT_Bitmap_Embolden): Check |
||
1352 | invalid strength causing integer overflow on 16-bit |
||
1353 | platform. |
||
1354 | |||
1355 | * src/base/ftcalc.c (ft_corner_orientation): Change |
||
1356 | the internal calculation from FT_Int to FT_Long, to |
||
1357 | avoid an overflow on 16-bit platforms. The caller of |
||
1358 | this function should use only the sign of result, |
||
1359 | so the cast to FT_Int is acceptable. |
||
1360 | |||
1361 | * src/base/ftsynth.c: Introduce a tracer for synth module. |
||
1362 | (FT_GlyphSlot_Embolden): Check invalid strength causing |
||
1363 | integer overflow on 16-bit platform. |
||
1364 | |||
1365 | * src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index |
||
1366 | in FT2 API is typed as FT_UInt, although BDF driver |
||
1367 | can handle unsigned long glyph index internally. To |
||
1368 | avoid integer overflow on 16-bit platform, too large |
||
1369 | glyph index should be excluded. |
||
1370 | (BDF_Glyph_Load): The glyph pitch in FT2 is typed as |
||
1371 | FT_UInt, although BDF driver can handle unsigned long |
||
1372 | glyph pitch internally. To avoid integer overflow on |
||
1373 | 16-bit platform, too large glyph pitch should not be |
||
1374 | returned. |
||
1375 | |||
1376 | * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph |
||
1377 | pitch in FT2 is typed as FT_UInt, although PFR font |
||
1378 | format can include huge bitmap glyph with 24-bit pitch |
||
1379 | (however, a glyph spends 16.7 pixel, it's not realistic). |
||
1380 | To avoid integer overflow on 16-bit platform, huge |
||
1381 | bitmap glyph should be excluded. |
||
1382 | |||
1383 | * src/smooth/ftgrays.c (gray_hline): As FT_Span.x is |
||
1384 | truncated to fit its type (16-bit short), FT_Span.y |
||
1385 | should be truncated to fit its type (FT_Int). |
||
1386 | |||
1387 | * src/cff/cffdrivr.c (cff_get_ros): CFF specification |
||
1388 | defines the supplement in ROS as a real number. |
||
1389 | Truncate it to fit public FT2 API. |
||
1390 | |||
1391 | * src/cff/cffparse.c (cff_parse_cid_ros): Warn the |
||
1392 | supplement if it is truncated or rounded in cff_get_ros(). |
||
1393 | |||
1394 | * src/cff/cfftypes.h: Change the type of internal variable |
||
1395 | `supplement' from FT_Long to FT_ULong to fit the signedness |
||
1396 | to the type in public API. |
||
1397 | |||
1398 | 2009-07-31 suzuki toshiya |
||
1399 | |||
1400 | psaux: Prevent invalid arguments to afm_parser_read_vals(). |
||
1401 | |||
1402 | * src/psaux/afmparse.c (afm_parser_read_vals): Change |
||
1403 | the type of `n' to prevent negative number how many |
||
1404 | arguments should be parsed. |
||
1405 | |||
1406 | * src/psaux/afmparse.h (afm_parser_read_vals): Ditto. |
||
1407 | |||
1408 | 2009-07-31 suzuki toshiya |
||
1409 | |||
1410 | base: Prevent some overflows on LP64 systems. |
||
1411 | |||
1412 | * src/base/ftadvance.c (FT_Get_Advances): Cast the |
||
1413 | unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32 |
||
1414 | for LP64 platforms. |
||
1415 | |||
1416 | * src/base/ftcalc.c (FT_Sqrt32): All internal variables |
||
1417 | are changed to FT_UInt32 from FT_ULong. |
||
1418 | (FT_MulDiv): Insert casts to FT_Int32 for LP64 platforms. |
||
1419 | This function is designed for 32-bit integer, although |
||
1420 | their arguments and return value are FT_Long. |
||
1421 | |||
1422 | * src/base/ftobjs.c (FT_Get_Char_Index): Check `charcode' |
||
1423 | is within unsigned 32-bit integer for LP64 platforms. |
||
1424 | (FT_Face_GetCharVariantIndex): Check `charcode' and |
||
1425 | `variantSelector' are within 32-bit integer for LP64 |
||
1426 | platforms. |
||
1427 | (FT_Face_GetCharsOfVariant): Check `variantSelector' is |
||
1428 | within unsigned 32-bit integer for LP64 platforms. |
||
1429 | |||
1430 | * src/base/fttrigon.c (ft_trig_downscale): The FT_Fixed |
||
1431 | variable `val' and unsigned long constant FT_TRIG_SCALE |
||
1432 | are cast to FT_UInt32, when calculates FT_UInt32. |
||
1433 | (FT_Vector_Rotate): The long constant 1L is cast to |
||
1434 | FT_Int32 to calculate FT_Int32 `half'. |
||
1435 | |||
1436 | 2009-07-31 suzuki toshiya |
||
1437 | |||
1438 | cff: Cast the long variables to 32-bit for LP64 systems. |
||
1439 | |||
1440 | * src/cff/cffdrivr.c (cff_get_advances): Insert |
||
1441 | explicit cast to modify a 32-bit flag by unsigned |
||
1442 | long constant. |
||
1443 | |||
1444 | * src/cff/cffobjs.c (cff_face_init): Ditto. |
||
1445 | |||
1446 | * src/cff/cffgload.c (cff_decoder_parse_charstrings): |
||
1447 | Replace the casts to FT_Long by the casts to FT_Int32 |
||
1448 | for LP64 platforms. |
||
1449 | |||
1450 | 2009-07-31 suzuki toshiya |
||
1451 | |||
1452 | pcf: Improve PCF_PropertyRec.value names on LP64 platforms. |
||
1453 | |||
1454 | * src/pcf/pcf.h: In PCF_PropertyRec.value, the member |
||
1455 | `integer' is replaced by `l', `cardinal' is replaced |
||
1456 | by `ul', to fix the difference between the name and |
||
1457 | the types on LP64 platforms. |
||
1458 | |||
1459 | * src/pcf/pcfdrivr.c (pcf_get_bdf_property): Reflect |
||
1460 | PCF_PropertyRec.value change, with appropriate casts |
||
1461 | to FT_Int32/FT_UInt32. Their destinations |
||
1462 | BDF_PropertyRec.{integer|cardinal} are public and |
||
1463 | explicitly defined as FT_Int32/FT_UInt32. |
||
1464 | |||
1465 | * src/pcf/pcfread.c (pcf_get_properties, pcf_load_font): |
||
1466 | Reflect PCF_PropertyRec.value change. |
||
1467 | |||
1468 | 2009-07-31 suzuki toshiya |
||
1469 | |||
1470 | pcf: Fix some data types mismatching with their sources. |
||
1471 | |||
1472 | * src/pcf/pcfdrivr.c (pcf_cmap_char_index): The type of |
||
1473 | `code' is matched to PCF_Encoding->enc. |
||
1474 | (pcf_cmap_char_next): The type of `charcode' is matched |
||
1475 | to PCF_Encoding->enc. When *acharcode is set by charcode, |
||
1476 | an overflow is checked and cast to unsigned 32-bit |
||
1477 | integer. |
||
1478 | |||
1479 | 2009-07-31 suzuki toshiya |
||
1480 | |||
1481 | bdf: Improve bdf_property_t.value names for LP64 platforms. |
||
1482 | |||
1483 | * src/bdf/bdf.h: In bdf_property_t.value, the member |
||
1484 | `int32' is replaced by `l', `card32' is replaced by |
||
1485 | `ul', to fix the difference between the name and the |
||
1486 | types on LP64 platforms. |
||
1487 | |||
1488 | * src/bdf/bdfdrivr.c (BDF_Face_Init): Reflect |
||
1489 | bdf_property_t.value change. |
||
1490 | (bdf_get_bdf_property): Reflect bdf_property_t.value |
||
1491 | change, with appropriate casts to FT_Int32/FT_UInt32. |
||
1492 | Their destinations BDF_PropertyRec.{integer|cardinal} |
||
1493 | are public and explicitly defined as FT_Int32/FT_UInt32. |
||
1494 | |||
1495 | * src/bdf/bdflib.c (_bdf_add_property): Reflect |
||
1496 | bdf_property_t.value change. |
||
1497 | |||
1498 | 2009-07-31 suzuki toshiya |
||
1499 | |||
1500 | bdf: Fix some data types mismatching with their sources. |
||
1501 | |||
1502 | * src/bdf/bdrdrivr.c (bdf_cmap_char_index): The type |
||
1503 | of `code' is matched with BDF_encoding_el->enc. |
||
1504 | (bdf_cmap_char_next): The type of `charcode' is |
||
1505 | matched with BDF_encoding_el->enc. When *acharcode |
||
1506 | is set by charcode, an overflow is checked and |
||
1507 | cast to unsigned 32-bit integer. |
||
1508 | |||
1509 | 2009-07-31 suzuki toshiya |
||
1510 | |||
1511 | autofit: Improve Unicode range definitions. |
||
1512 | |||
1513 | * src/autofit/aftypes.h (AF_UNIRANGE_REC): New macro |
||
1514 | to declare a range by two unsigned 32-bit integer, |
||
1515 | to avoid 64-bit range definition on LP64 platforms. |
||
1516 | |||
1517 | * src/autofit/aflatin.c (af_latin_uniranges): Ditto. |
||
1518 | |||
1519 | * src/autofit/aflatin2.c (af_latin2_uniranges): Ditto. |
||
1520 | |||
1521 | * src/autofit/afindic.c (af_indic_uniranges): Ditto. |
||
1522 | |||
1523 | * src/autofit/afcjk.c (af_cjk_uniranges): Declare |
||
1524 | the ranges by AF_UNIRANGE_REC. |
||
1525 | |||
1526 | 2009-07-31 suzuki toshiya |
||
1527 | |||
1528 | smooth: Fix a data type mismatching with its source. |
||
1529 | |||
1530 | * src/smooth/ftgrays.c (gray_sweep): The type of |
||
1531 | `area' is matched with the 3rd argument `area' |
||
1532 | of gray_hline(). |
||
1533 | |||
1534 | 2009-07-31 suzuki toshiya |
||
1535 | |||
1536 | smooth: Fix a data type mismatching with its source. |
||
1537 | |||
1538 | * src/smooth/ftgrays.c (gray_render_line): The type |
||
1539 | of `area' is matched with TWorker.area. |
||
1540 | |||
1541 | 2009-07-31 suzuki toshiya |
||
1542 | |||
1543 | cache: Disable the legacy compatibility if 16-bit system. |
||
1544 | |||
1545 | * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Exclude |
||
1546 | the legacy behaviour from 16-bit platform, because the |
||
1547 | current hack cannot detect the caller uses this function |
||
1548 | via legacy convension. |
||
1549 | (FTC_SBitCache_Lookup): Ditto. |
||
1550 | |||
1551 | 2009-07-31 suzuki toshiya |
||
1552 | |||
1553 | cache: Check 32-bit glyph index on 16-bit systems. |
||
1554 | |||
1555 | * src/cache/ftcbasic.c (ftc_basic_family_get_count): |
||
1556 | Check overflow caused by the face including large |
||
1557 | number of glyphs > 64k. |
||
1558 | |||
1559 | 2009-07-31 suzuki toshiya |
||
1560 | |||
1561 | cache: Fix some data types mismatching with their sources. |
||
1562 | |||
1563 | * src/cache/ftccache.c (ftc_cache_resize): The types of |
||
1564 | `p', `mask', `count' are matched with FTC_Cache->{p,mask}. |
||
1565 | (FTC_Cache_Clear): The type of `old_index' is matched to |
||
1566 | FTC_Cache->{p,mask}. |
||
1567 | |||
1568 | * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): The type |
||
1569 | of `_idx' is matched with FTC_Cache->{p,mask}. |
||
1570 | |||
1571 | 2009-07-31 suzuki toshiya |
||
1572 | |||
1573 | cache: Fix some data types mismatching with their sources. |
||
1574 | |||
1575 | * src/cache/ftcsbits.c (ftc_snode_load): The types |
||
1576 | of `xadvance' and `yadvance' are matched with |
||
1577 | FT_GlyphSlot->advance.{x|y}. |
||
1578 | |||
1579 | 2009-07-31 suzuki toshiya |
||
1580 | |||
1581 | cache: Cast NULL to a required function type explicitly. |
||
1582 | |||
1583 | * src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID): |
||
1584 | Insert explicit cast from NULL to function type. |
||
1585 | |||
1586 | 2009-07-31 suzuki toshiya |
||
1587 | |||
1588 | fttypes.h: Cast FT_MAKE_TAG output to FT_Tag exlicitly. |
||
1589 | |||
1590 | * include/freetype/fttypes.h (FT_MAKE_TAG): |
||
1591 | Cast the result to FT_Tag. |
||
1592 | |||
1593 | 2009-07-31 suzuki toshiya |
||
1594 | |||
1595 | psnames: Handle Unicode codepoints by FT_UInt32 variables. |
||
1596 | |||
1597 | * src/psnames/psmodule.c (BASE_GLYPH): Cast the result |
||
1598 | to unsigned 32-bit integer for LP64 platform. |
||
1599 | (ps_unicode_value): Return the value by unsigned 32-bit |
||
1600 | integer instead of unsigned long. |
||
1601 | |||
1602 | 2009-07-31 suzuki toshiya |
||
1603 | |||
1604 | psaux: Use size_t variable to pass the buffer size. |
||
1605 | |||
1606 | * src/psaux/psaux.h (to_bytes): The type of `max_bytes' |
||
1607 | (the argument to pass the buffer size) is changed to |
||
1608 | size_t, to match with ANSI C string functions. |
||
1609 | |||
1610 | * src/psaux/psconv.h (PS_Conv_StringDecode, |
||
1611 | PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto. |
||
1612 | |||
1613 | * src/psaux/psconv.c (PS_Conv_StringDecode, |
||
1614 | PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto. |
||
1615 | |||
1616 | * src/psaux/psobjs.h (ps_parser_to_bytes): Ditto. |
||
1617 | |||
1618 | * src/psaux/psobjs.c (ps_parser_to_bytes): Ditto. |
||
1619 | |||
1620 | 2009-07-31 suzuki toshiya |
||
1621 | |||
1622 | type1: Use size_t variable to pass the string length. |
||
1623 | |||
1624 | * psaux.h: The type of `len' (the argument to pass |
||
1625 | the buffer size to the function in AFM_ParserRec) |
||
1626 | is changed to size_t, to match with ANSI C string |
||
1627 | functions. |
||
1628 | |||
1629 | * t1afm.c (t1_get_index): Ditto. |
||
1630 | |||
1631 | * test_afm.c (dummy_get_index): Ditto. |
||
1632 | |||
1633 | * afmparse.c (afm_parser_read_vals): To call |
||
1634 | AFM_ParserRec.get_index, the length of token |
||
1635 | `len' is cast to size_t. |
||
1636 | |||
1637 | 2009-07-31 suzuki toshiya |
||
1638 | |||
1639 | cid: Fix some data types mismatching with their sources. |
||
1640 | |||
1641 | * src/cid/cidparse.c (cid_parser_new): The types of |
||
1642 | `read_len' and `stream_len' are matched to |
||
1643 | FT_Stream->size. Unrequired cast is removed. |
||
1644 | |||
1645 | 2009-07-31 suzuki toshiya |
||
1646 | |||
1647 | cff: Fix for unused variable `rest'. |
||
1648 | |||
1649 | * src/cff/cffparse.c (cff_parse_real): Insert |
||
1650 | FT_UNUSED() to hide the unused variable warning. |
||
1651 | |||
1652 | 2009-07-31 suzuki toshiya |
||
1653 | |||
1654 | cff: Fix some data types mismatching with their sources. |
||
1655 | |||
1656 | * src/cff/cffgload.c (cff_slot_load): The types of |
||
1657 | `top_upm' and `sub_upm' are matched with |
||
1658 | CFF_FontRecDict->units_per_em. |
||
1659 | |||
1660 | * src/cff/cffobjs.c (cff_size_select): Ditto. |
||
1661 | (cff_size_request): Ditto. |
||
1662 | |||
1663 | 2009-07-31 suzuki toshiya |
||
1664 | |||
1665 | bdf: Fix some data types mismatching with their sources. |
||
1666 | |||
1667 | * bdflib.c (_bdf_list_ensure): The type of `num_items' |
||
1668 | is matched with _bdf_list_t.used. Also the types of |
||
1669 | `oldsize', `newsize', `bigsize' are matched too. |
||
1670 | (_bdf_readstream): `cursor' is used as an offset to |
||
1671 | the pointer, it should be typed as FT_Offset. Also |
||
1672 | the types of `bytes', `start', `end', `avail' are matched. |
||
1673 | |||
1674 | * bdfdrivr.c: The type of BDF_CMap->num_encodings is |
||
1675 | matched with FT_CMap->clazz->size. |
||
1676 | (bdf_cmap_char_index): The types of `min', `max', `mid' |
||
1677 | are matched with BDF_CMap->num_encodings. The type of |
||
1678 | `result' is matched with encoding->glyph. |
||
1679 | (bdf_cmap_char_next): Ditto, the type of `code' is |
||
1680 | matched with BDF_encoding_el.enc. |
||
1681 | (bdf_interpret_style): The type of `lengths' is changed |
||
1682 | to size_t, to take the value by ft_strlen(). Also the |
||
1683 | types of `len', `nn', `mm' are matched. |
||
1684 | |||
1685 | 2009-07-31 suzuki toshiya |
||
1686 | |||
1687 | sfnt: Count the size of the memory object by ptrdiff_t. |
||
1688 | |||
1689 | * src/sfnt/ttbdf.c (tt_face_find_bdf_prop): The type of |
||
1690 | `peroperty_len' is changed from FT_UInt to FT_Offset, |
||
1691 | to match with size_t, which is appropriate type for the |
||
1692 | object in the memory buffer. |
||
1693 | |||
1694 | 2009-07-31 suzuki toshiya |
||
1695 | |||
1696 | lzw: Count the size of the memory object by ptrdiff_t. |
||
1697 | |||
1698 | * src/lzw/ftzopen.h: The types of FT_LzwState->{buf_total, |
||
1699 | stack_size} are changed from FT_UInt to FT_Offset, to match |
||
1700 | with size_t, which is appropriate type for the object in |
||
1701 | the memory buffer. |
||
1702 | |||
1703 | * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): The types of |
||
1704 | `old_size' and `new_size' are changed from FT_UInt to |
||
1705 | FT_Offset, to match with size_t, which is appropriate type |
||
1706 | for the object in the memory buffer. |
||
1707 | |||
1708 | 2009-07-31 suzuki toshiya |
||
1709 | |||
1710 | otvalid: Count the table size on memory by ptrdiff_t. |
||
1711 | |||
1712 | * src/otvalid/otvgpos.c (otv_ValueRecord_validate): |
||
1713 | Change the type of table size from FT_UInt to |
||
1714 | FT_PtrDist because it is calculated by the memory |
||
1715 | addresses. |
||
1716 | |||
1717 | 2009-07-31 suzuki toshiya |
||
1718 | |||
1719 | otvalid: Prevent an overflow by GPOS/GSUB 32b-bit offset. |
||
1720 | |||
1721 | * src/otvalid/otvgpos.c (otv_ExtensionPos_validate): |
||
1722 | Extend ExtensionOffset from FT_UInt to FT_ULong, to |
||
1723 | cover 32-bit offset on 16-bit platform. |
||
1724 | |||
1725 | * src/otvalid/otvgsub.c (otv_ExtensionSubst_validate): |
||
1726 | Ditto. |
||
1727 | |||
1728 | 2009-07-31 suzuki toshiya |
||
1729 | |||
1730 | ftobjs.c: Prevent an overflow in glyph index handling. |
||
1731 | |||
1732 | * src/base/ftobjs.c (FT_Face_GetCharsOfVariant): |
||
1733 | Improve the cast in comparison to avoid the truncation. |
||
1734 | |||
1735 | 2009-07-31 suzuki toshiya |
||
1736 | |||
1737 | Improve the variable types in raccess_make_file_name(). |
||
1738 | |||
1739 | * src/base/ftrfork.c (raccess_make_file_name): |
||
1740 | Change the type of cursor variable `tmp' to const char*, |
||
1741 | to prevent the unexpected modification of original pathname. |
||
1742 | (raccess_make_file_name): Change the type of new_length |
||
1743 | to size_t. |
||
1744 | |||
1745 | 2009-07-31 suzuki toshiya |
||
1746 | |||
1747 | ftpatent.c: Fix for unused variable `error'. |
||
1748 | |||
1749 | * src/base/ftpatent.c (_tt_check_patents_in_range): |
||
1750 | Fix warning for unused variable `error'. |
||
1751 | |||
1752 | 2009-07-31 suzuki toshiya |
||
1753 | |||
1754 | type1: Check invalid string longer than PostScript limit. |
||
1755 | |||
1756 | * src/type1/t1afm.c (t1_get_index): Check invalid string |
||
1757 | which exceeds the limit of PostScript string/name objects. |
||
1758 | |||
1759 | 2009-07-31 suzuki toshiya |
||
1760 | |||
1761 | gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default. |
||
1762 | |||
1763 | * src/gzip/ftgzip.c (zcalloc, zcfree): Disable all |
||
1764 | zcalloc() & zfree() by zlib in zutil.c, those in |
||
1765 | ftgzip.c by FT2 are enabled by default. To use |
||
1766 | zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC. |
||
1767 | See discussion: |
||
1768 | http://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html |
||
1769 | |||
1770 | 2009-07-31 suzuki toshiya |
||
1771 | |||
1772 | gzip: Distinguish PureC from TurboC on MSDOS. |
||
1773 | |||
1774 | * src/gzip/zutil.c (zcalloc, zcfree): Enable only for |
||
1775 | MSDOS platform. |
||
1776 | |||
1777 | 2009-07-31 suzuki toshiya |
||
1778 | |||
1779 | gxvalid: Insert PureC pragma to allow unevaluated variables. |
||
1780 | |||
1781 | * builds/atari/ATARI.H: Insert PureC pragma not to |
||
1782 | warn against set-but-unevaluated variable in gxvalid |
||
1783 | module. |
||
1784 | |||
1785 | 2009-07-31 suzuki toshiya |
||
1786 | |||
1787 | gxvalid: Pass the union by the pointer instead of the value. |
||
1788 | |||
1789 | * src/gxvalid/gxvcommn.h: |
||
1790 | - Declare new type `GXV_LookupValueCPtr'. |
||
1791 | - Update the type of the 2nd argument to pass GXV_LookupValueDesc |
||
1792 | data to the function prototyped as GXV_Lookup_Value_Validate_Func, |
||
1793 | from GXV_LookupValueDesc to GXV_LookupValueCPtr. |
||
1794 | - Likewise for the function prototyped as |
||
1795 | GXV_Lookup_Fmt4_Transit_Func. |
||
1796 | |||
1797 | - Declare new type `GXV_StateTable_GlyphOffsetCPtr'. |
||
1798 | - Update the type of the 3rd argument to pass |
||
1799 | GXV_StateTable_GlyphOffsetDesc data to the function prototyped |
||
1800 | as GXV_StateTable_Entry_Validate_Func, from |
||
1801 | GXV_StateTable_GlyphOffsetDesc to GXV_StateTable_GlyphOffsetCPtr. |
||
1802 | |||
1803 | - Declare new type `GXV_XStateTable_GlyphOffsetCPtr'. |
||
1804 | - Update the type of the 3rd argument to pass |
||
1805 | GXV_XStateTable_GlyphOffsetDesc data to the function prototyped |
||
1806 | as GXV_XStateTable_Entry_Validate_Func, |
||
1807 | from GXV_XStateTable_GlyphOffsetDesc |
||
1808 | to GXV_XStateTable_GlyphOffsetCPtr. |
||
1809 | |||
1810 | * src/gxvalid/gxvcommn.c (gxv_LookupTable_fmt0_validate, |
||
1811 | gxv_XClassTable_lookupval_validate, |
||
1812 | gxv_XClassTable_lookupfmt4_transit): |
||
1813 | Update from GXV_LookupValueDesc to GXV_LookupValueCPtr. |
||
1814 | |||
1815 | * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate, |
||
1816 | gxv_bsln_LookupFmt4_transit): Ditto. |
||
1817 | |||
1818 | * src/gxvalid/gxvjust.c |
||
1819 | (gxv_just_pcTable_LookupValue_entry_validate, |
||
1820 | gxv_just_classTable_entry_validate, |
||
1821 | gxv_just_wdcTable_LookupValue_validate): Ditto. |
||
1822 | |||
1823 | * src/gxvalid/gxvkern.c |
||
1824 | (gxv_kern_subtable_fmt1_entry_validate): Ditto. |
||
1825 | |||
1826 | * src/gxvalid/gxvlcar.c (gxv_lcar_LookupValue_validate, |
||
1827 | gxv_lcar_LookupFmt4_transit): Ditto. |
||
1828 | |||
1829 | * src/gxvalid/gxvopbd.c (gxv_opbd_LookupValue_validate, |
||
1830 | gxv_opbd_LookupFmt4_transit): Ditto. |
||
1831 | |||
1832 | * src/gxvalid/gxvprop.c (gxv_prop_LookupValue_validate, |
||
1833 | gxv_prop_LookupFmt4_transit): Ditto. |
||
1834 | |||
1835 | * src/gxvalid/gxvmort4.c |
||
1836 | (gxv_mort_subtable_type4_lookupval_validate): Ditto. |
||
1837 | |||
1838 | * src/gxvalid/gxvmort0.c |
||
1839 | (gxv_mort_subtable_type0_entry_validate): Update |
||
1840 | from GXV_StateTable_GlyphOffsetDesc |
||
1841 | to GXV_StateTable_GlyphOffsetCPtr. |
||
1842 | |||
1843 | * src/gxvalid/gxvmort1.c |
||
1844 | (gxv_mort_subtable_type1_entry_validate): Ditto. |
||
1845 | |||
1846 | * src/gxvalid/gxvmort2.c |
||
1847 | (gxv_mort_subtable_type2_entry_validate): Ditto. |
||
1848 | |||
1849 | * src/gxvalid/gxvmort5.c |
||
1850 | (gxv_mort_subtable_type5_entry_validate): Ditto. |
||
1851 | |||
1852 | * src/gxvalid/gxvmorx2.c |
||
1853 | (gxv_morx_subtable_type2_entry_validate): Ditto. |
||
1854 | |||
1855 | * src/gxvalid/gxvmorx5.c |
||
1856 | (gxv_morx_subtable_type5_entry_validate): Ditto. |
||
1857 | |||
1858 | * src/gxvalid/gxvmorx1.c |
||
1859 | (gxv_morx_subtable_type1_entry_validate): Ditto. |
||
1860 | (gxv_morx_subtable_type1_LookupValue_validate, |
||
1861 | gxv_morx_subtable_type1_LookupFmt4_transit): |
||
1862 | Update from GXV_LookupValueDesc to GXV_LookupValueCPtr. |
||
1863 | |||
1864 | * src/gxvalid/gxvmorx0.c |
||
1865 | (gxv_morx_subtable_type0_entry_validate): Update |
||
1866 | from GXV_XStateTable_GlyphOffsetDesc |
||
1867 | to GXV_XStateTable_GlyphOffsetCPtr. |
||
1868 | |||
1869 | 2009-07-29 Fabrice Bellet |
||
1870 | |||
1871 | Fix Redhat bugzilla #513582 and Savannah bug #26849. |
||
1872 | |||
1873 | * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) |
||
1874 | aliasing bug. |
||
1875 | |||
1876 | 2009-07-19 Werner Lemberg |
||
1877 | |||
1878 | Document recent library changes. |
||
1879 | |||
1880 | * docs/CHANGES: Do it. |
||
1881 | |||
1882 | 2009-07-17 Werner Lemberg |
||
1883 | |||
1884 | Fix Savannah bug #23786. |
||
1885 | |||
1886 | * src/truetype/ttobjs.c (tt_size_init_bytecode): Don't reset x_ppem |
||
1887 | and y_ppem. Otherwise the `*_CVT_Stretched' functions in ttinterp.c |
||
1888 | get never called. |
||
1889 | An anonymous guy suggested this change on Savannah, and it seems to |
||
1890 | be the right solution. |
||
1891 | |||
1892 | 2009-07-15 Werner Lemberg |
||
1893 | |||
1894 | * docs/release: Updated. |
||
1895 | |||
1896 | 2009-07-15 Werner Lemberg |
||
1897 | |||
1898 | README.CVS -> README.git |
||
1899 | |||
1900 | * README.CVS: Renamed to... |
||
1901 | * README.git: This. |
||
1902 | Updated. |
||
1903 | |||
1904 | 2009-07-15 suzuki toshiya |
||
1905 | |||
1906 | Borland C++ compiler patch proposed by Mirco Babin. |
||
1907 | http://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html. |
||
1908 | |||
1909 | * builds/exports.mk: Delete unused flags, CCexe_{CFLAGS,LDFLAGS}. |
||
1910 | Fix APINAMES_C and APINAMES_EXE pathnames to reflect the platform |
||
1911 | specific pathname syntax. |
||
1912 | * builds/compiler/bcc.mk: Remove unused flag, CCexe_LDFLAGS. |
||
1913 | Define TE = `-e' separately (bcc32 cannot specify the pathname of |
||
1914 | binary executable by T = `-o'). |
||
1915 | Extend the large page size in linking freetype.lib. |
||
1916 | Add extra CLEAN target to delete bcc specific temporary files. |
||
1917 | * builds/compiler/bcc-dev.mk: Ditto. |
||
1918 | |||
1919 | 2009-07-14 Werner Lemberg |
||
1920 | |||
1921 | Fix Savannah bug #27026. |
||
1922 | |||
1923 | * builds/win32/vc2005/freetype.sln: Use correct version number. |
||
1924 | |||
1925 | 2009-07-12 suzuki toshiya |
||
1926 | |||
1927 | Add a script to check the undefined and unused trace macros. |
||
1928 | |||
1929 | * src/tools/chktrcmp.py: A script to check trace_XXXX macros |
||
1930 | that are used in C source but undefined in fttrace.h, or |
||
1931 | defined in fttrace.h but unused in C sources. See |
||
1932 | http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html. |
||
1933 | * docs/DEBUG: Mention on chktrcmp.py. |
||
1934 | * docs/release: Ditto. |
||
1935 | |||
1936 | 2009-07-09 Werner Lemberg |
||
1937 | |||
1938 | [ftraster] Make it compile again with -D_STANDALONE_. |
||
1939 | |||
1940 | * src/raster/ftraster.c [_STANDALONE_]: Define |
||
1941 | FT_CONFIG_STANDARD_LIBRARY_H. |
||
1942 | Include `string.h'. |
||
1943 | Don't include `rastpic.h'. |
||
1944 | Define FT_DEFINE_RASTER_FUNCS. |
||
1945 | |||
1946 | 2009-07-09 suzuki toshiya |
||
1947 | |||
1948 | smooth: Check glyph size by width/height, instead of pitch/height. |
||
1949 | Suggested by der Mouse |
||
1950 | |||
1951 | * src/smooth/ftsmooth.c (ft_smooth_render_generic): Improve |
||
1952 | the check for too large glyph. Replace the pair of `pitch' and |
||
1953 | `height' by the pair of `width' and `height'. `pitch' cannot |
||
1954 | be greater than `height'. The required is checking the product |
||
1955 | `pitch' * `height' <= FT_ULONG_MAX, but we use cheap checks for |
||
1956 | the realistic case only. |
||
1957 | |||
1958 | 2009-07-09 suzuki toshiya |
||
1959 | |||
1960 | Register 2 missing trace components, t1afm and ttbdf. |
||
1961 | |||
1962 | * include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( t1afm ) |
||
1963 | and FT_TRACE_DEF( ttbdf ). See |
||
1964 | http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html |
||
1965 | |||
1966 | 2009-07-09 suzuki toshiya |
||
1967 | |||
1968 | Register a trace component for ftgloadr.c. |
||
1969 | |||
1970 | * include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( gloader ). |
||
1971 | The macro `trace_gloader' was already used in the initial version |
||
1972 | on 2002-02-24. |
||
1973 | |||
1974 | 2009-07-08 suzuki toshiya |
||
1975 | |||
1976 | Prevent the overflows by a glyph with too many points or contours. |
||
1977 | The bug is reported by Boris Letocha |
||
1978 | http://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html |
||
1979 | http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html |
||
1980 | |||
1981 | * include/freetype/ftimage.h (FT_OUTLINE_CONTOURS_MAX, |
||
1982 | FT_OUTLINE_POINTS_MAX): New macros to declare the maximum |
||
1983 | values of FT_Outline.{n_contours,n_points}. |
||
1984 | * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Check the |
||
1985 | total numbers of points and contours cause no overflows in |
||
1986 | FT_Outline.{n_contours,n_points}. |
||
1987 | |||
1988 | * include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P, |
||
1989 | FT_GLYPHLOADER_CHECK_C): Compare the numbers of points and |
||
1990 | contours as unsigned long number, instead of signed int, to |
||
1991 | prevent the overflows on 16-bit systems. |
||
1992 | |||
1993 | 2009-07-05 Bram Tassyns |
||
1994 | |||
1995 | Improve compatibility to Acroread. |
||
1996 | This fixes Savannah bug #26944. |
||
1997 | |||
1998 | * src/cff/cffload.c (cff_charset_compute_cids): For multiple GID to |
||
1999 | single CID mappings, make the lowest value win. |
||
2000 | |||
2001 | 2009-06-28 suzuki toshiya |
||
2002 | |||
2003 | ftpatent: Fix a bug by wrong usage of service->table_info(). |
||
2004 | http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html |
||
2005 | |||
2006 | * include/freetype/internal/services/svsfnt.h: Extend |
||
2007 | FT_SFNT_TableInfoFunc() to take new argument to obtain the offset |
||
2008 | to the specified table. |
||
2009 | * src/sfnt/sfdriver.c (sfnt_table_info): Extend to return the |
||
2010 | table-offset to the caller function. |
||
2011 | * src/base/ftpatent.c (_tt_check_patents_in_table): Use new |
||
2012 | service->table_info(). |
||
2013 | * src/base/ftobjs.c (FT_Sfnt_Table_Info): Synchronize to new |
||
2014 | service->table_info(). |
||
2015 | |||
2016 | 2009-06-28 Werner Lemberg |
||
2017 | |||
2018 | [psaux, cff] Protect against nested `seac' calls. |
||
2019 | |||
2020 | * include/freetype/internal/psaux.h (T1_Decoder), src/cff/cffgload.h |
||
2021 | (CFF_Decoder): Add `seac' boolean variable. |
||
2022 | |||
2023 | * src/cff/cffgload.c (cff_operator_seac), src/psaux/t1decode.c |
||
2024 | (t1operator_seac): Use it. |
||
2025 | |||
2026 | 2009-06-28 Werner Lemberg |
||
2027 | |||
2028 | Thinko. |
||
2029 | |||
2030 | * src/psaux/t1decode.c (t1operator_seac) |
||
2031 | [FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental |
||
2032 | interface. |
||
2033 | |||
2034 | 2009-06-28 Werner Lemberg |
||
2035 | |||
2036 | * devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define. |
||
2037 | |||
2038 | 2009-06-27 suzuki toshiya |
||
2039 | |||
2040 | Add tools to preprocess the source files for AtariST PureC. |
||
2041 | |||
2042 | * builds/atari/deflinejoiner.awk: New file to filter C source files |
||
2043 | for broken C preprocessor of PureC compiler. |
||
2044 | |||
2045 | * builds/atari/gen-purec-patch.sh: New file to generate a patch set |
||
2046 | for PureC, by using deflinejoiner.awk. |
||
2047 | |||
2048 | 2009-06-27 suzuki toshiya |
||
2049 | |||
2050 | Keep existing modules.cfg in the building tree. |
||
2051 | |||
2052 | * configure: If `configure' is executed outside of the source tree, |
||
2053 | an existing `modules.cfg' file in the build directory should be |
||
2054 | kept, not overwritten by the version in the source tree. |
||
2055 | |||
2056 | 2009-06-27 suzuki toshiya |
||
2057 | |||
2058 | Filter --srcdir= option before invoking builds/unix/configure. |
||
2059 | |||
2060 | * configure: If builds/unix/configure is invoked with --srcdir |
||
2061 | option, the option should take `builds/unix' directory instead of |
||
2062 | the top source directory. Thus the configure script in the top |
||
2063 | directory should modify the --srcdir= option if |
||
2064 | `builds/unix/configure' is invoked. |
||
2065 | |||
2066 | 2009-06-27 suzuki toshiya |
||
2067 | |||
2068 | Improve configure.raw for cross-building on exe-suffixed systems. |
||
2069 | |||
2070 | * builds/unix/configure.raw: Fix a bug in sed script to extract |
||
2071 | native suffix for binary executables, patch by Peter Breitenlohner. |
||
2072 | http://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html |
||
2073 | |||
2074 | 2009-06-26 Werner Lemberg |
||
2075 | |||
2076 | [truetype] Remove TT_SubGlyphRec. |
||
2077 | |||
2078 | * src/truetype/ttobjs.h (TT_SubGlyphRec): Removed, unused. |
||
2079 | |||
2080 | 2009-06-26 Werner Lemberg |
||
2081 | |||
2082 | * */*: For warning messages, replace FT_ERROR with FT_TRACE0. |
||
2083 | |||
2084 | FT_ERROR is now used only if a function produces a non-zero `error' |
||
2085 | value. |
||
2086 | |||
2087 | Formatting, improving and harmonizing debug strings. |
||
2088 | |||
2089 | 2009-06-25 Werner Lemberg |
||
2090 | |||
2091 | Provide version information better. |
||
2092 | |||
2093 | * src/base/ftinit.c (FT_Init_FreeType): Don't set version here |
||
2094 | but... |
||
2095 | * src/base/ftobjs.c (FT_New_Library): Here. |
||
2096 | |||
2097 | 2009-06-22 Werner Lemberg |
||
2098 | |||
2099 | Use 16.16 format while parsing Type 1 charstrings. |
||
2100 | This fixes Savannah bug #26867. |
||
2101 | |||
2102 | Previously, only integers have been used which can lead to serious |
||
2103 | rounding errors. |
||
2104 | |||
2105 | However, fractional values are only used internally; after the |
||
2106 | charstrings (of either Type 1 or 2) have been processed, the |
||
2107 | resulting coordinates get rounded to integers currently -- before |
||
2108 | applying scaling. This should be fixed; at the same time a new load |
||
2109 | flag should be introduced, to be used in combination with |
||
2110 | FT_LOAD_NO_SCALE, which indicates that font units are returned in |
||
2111 | 16.16 format. Similarly, the incremental interface should be |
||
2112 | extended to allow fractional values for metrics. |
||
2113 | |||
2114 | * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift' |
||
2115 | field. |
||
2116 | * include/freetype/internal/pshints.h (T1_Hints_SetStemFunc, |
||
2117 | T1_Hints_SetStem3Func): Use FT_Fixed for coordinates. |
||
2118 | |||
2119 | * src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H. |
||
2120 | (t1_build_add_point): Always convert fixed to integer. |
||
2121 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): |
||
2122 | Use 16.16 format everywhere (except for large integers followed by a |
||
2123 | `div'). |
||
2124 | [CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate |
||
2125 | code uncoditionally. |
||
2126 | Add support for random numbers and update remaining code |
||
2127 | accordingly; this should work now. |
||
2128 | (t1_operator_seac): Updated. |
||
2129 | * src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H. |
||
2130 | (ps_hints_t1stem3, t1_hints_stem): Updated. |
||
2131 | |||
2132 | * src/cid/cidgload.c: Include FT_INTERNAL_CALC_H. |
||
2133 | (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL], |
||
2134 | (cid_face_compute_max_advance, cid_slot_load_glyph): Updated. |
||
2135 | |||
2136 | * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String) |
||
2137 | [FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph): |
||
2138 | Updated. |
||
2139 | * src/type1/t1load.c: Include FT_INTERNAL_CALC_H. |
||
2140 | * src/type1/t1objs.c (T1_Face_Init): Updated. |
||
2141 | |||
2142 | 2009-06-21 Werner Lemberg |
||
2143 | |||
2144 | * src/pshinter/pshrec.c: Use PSH_Err_Ok. |
||
2145 | |||
2146 | 2009-06-21 Werner Lemberg |
||
2147 | |||
2148 | Code beautification. |
||
2149 | |||
2150 | * src/type1/t1load.c (FT_INT_TO_FIXED): Removed. |
||
2151 | Replace everywhere with INT_TO_FIXED. |
||
2152 | (FT_FIXED_TO_INT): Move to ... |
||
2153 | * include/freetype/internal/ftcalc.h (FIXED_TO_INT): Here. |
||
2154 | Update all users. |
||
2155 | |||
2156 | 2009-06-20 Werner Lemberg |
||
2157 | |||
2158 | Remove unused variables. |
||
2159 | |||
2160 | * include/freetype/internal/psaux.h (T1_BuilderRec), |
||
2161 | src/cff/cffgload.h (CFF_Builder): Remove `last'. |
||
2162 | Update all users. |
||
2163 | |||
2164 | 2009-06-20 Werner Lemberg |
||
2165 | |||
2166 | [psaux] Check large integers while parsing charstrings. |
||
2167 | |||
2168 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Large |
||
2169 | integers must be followed by a `div' operator. |
||
2170 | |||
2171 | 2009-06-20 Werner Lemberg |
||
2172 | |||
2173 | [cff] Revert last change. |
||
2174 | |||
2175 | * src/cff/cffgload.c (cff_decoder_parse_charstrings): Do it. |
||
2176 | Next time, don't confuse Type 2 charstring opcodes with TOP DICT |
||
2177 | values... |
||
2178 | |||
2179 | 2009-06-20 Werner Lemberg |
||
2180 | |||
2181 | * src/autofit/aflatin.c (af_latin_metrics_check_digits): Fix |
||
2182 | compiler warning. |
||
2183 | |||
2184 | 2009-06-20 Werner Lemberg |
||
2185 | |||
2186 | * builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6. |
||
2187 | |||
2188 | 2009-06-19 Werner Lemberg |
||
2189 | |||
2190 | [cff] Fix handling of reserved byte 0xFF. |
||
2191 | |||
2192 | * src/cff/cffgload.c (cff_decoder_parse_charstrings): Abort if byte |
||
2193 | 0xFF is encountered. |
||
2194 | |||
2195 | 2009-06-19 Werner Lemberg |
||
2196 | |||
2197 | Improve debug messages for Type1 charstrings. |
||
2198 | |||
2199 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Emit newlines |
||
2200 | after instructions. |
||
2201 | Prettify output. |
||
2202 | |||
2203 | 2009-06-19 Werner Lemberg |
||
2204 | |||
2205 | More ftgray fixes for FT_STATIC_RASTER. |
||
2206 | Problems reported by suyu@cooee.cn. |
||
2207 | |||
2208 | * src/smooth/ftgrays.c (gray_move_to, gray_raster_render): Use |
||
2209 | RAS_VAR. |
||
2210 | |||
2211 | 2009-06-18 Werner Lemberg |
||
2212 | |||
2213 | * docs/CHANGES: Updated. |
||
2214 | |||
2215 | 2009-06-18 Werner Lemberg |
||
2216 | |||
2217 | Fix B/W rasterization of subglyphs with different drop-out modes. |
||
2218 | |||
2219 | Normally, the SCANMODE instruction (if present) to set the drop-out |
||
2220 | mode in a TrueType font is located in the `prep' table only and thus |
||
2221 | valid for all glyphs. However, there are fonts like `pala.ttf' |
||
2222 | which additionally contain this instruction in the hinting code of |
||
2223 | some glyphs (but not all). As a result it can happen that a |
||
2224 | composite glyph needs multiple drop-out modes for its subglyphs |
||
2225 | since the rendering state gets reset for each subglyph. |
||
2226 | |||
2227 | FreeType collects the hinted outlines from all subglyphs, then it |
||
2228 | sends the data to the rasterizer. It also sends the drop-out mode |
||
2229 | -- after hinting has been applied -- and here is the error: It sends |
||
2230 | the drop-out mode of the last subglyph only; drop-out modes of all |
||
2231 | other subglyphs are lost. |
||
2232 | |||
2233 | This patch fixes the problem; it adds a second, alternative |
||
2234 | mechanism to pass the drop-out mode: For each contour, the |
||
2235 | rasterizer now checks the first `tags' array element. If bit 2 is |
||
2236 | set, bits 5-7 contain the contour's drop-out mode, overriding the |
||
2237 | global drop-out mode. |
||
2238 | |||
2239 | * include/freetype/ftimage.h (FT_CURVE_TAG_HAS_SCANMODE): New macro. |
||
2240 | |||
2241 | * src/truetype/ttgload.c (TT_Hint_Glyph): Store drop-out mode in |
||
2242 | `tags[0]'. |
||
2243 | |||
2244 | * src/raster/ftraster.c (Flow_Up, Overshoot_Top, Overshoot_Bottom): |
||
2245 | Use bits 3-5 instead of 0-2. |
||
2246 | (New_Profile): Set the drop-out mode in the profile's `flags' field. |
||
2247 | (Decompose_Curve): Check `tags[0]' and set `dropOutControl' if |
||
2248 | necessary. |
||
2249 | (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, |
||
2250 | Horizontal_Gray_Sweep_Drop, Draw_Sweep): Use the profile's drop-out |
||
2251 | mode. |
||
2252 | |||
2253 | 2009-06-16 Werner Lemberg |
||
2254 | |||
2255 | Improve scan conversion rules 4 and 6. |
||
2256 | |||
2257 | Two new constraints are introduced to better identify a `stub' -- a |
||
2258 | concept which is only vaguely described in the OpenType |
||
2259 | specification. The old code was too rigorous and suppressed more |
||
2260 | pixel than it should. |
||
2261 | |||
2262 | . The intersection of the two profiles with the scanline is less |
||
2263 | than a half pixel. Code related to this was already present in |
||
2264 | the sources but has been commented out. |
||
2265 | |||
2266 | . The endpoint of the original contour forming a profile has a |
||
2267 | distance (`overshoot') less than half a pixel to the scanline. |
||
2268 | |||
2269 | Note that the two additional conditions fix almost all differences |
||
2270 | to the Windows rasterizer, but some problematic cases remain. |
||
2271 | |||
2272 | * src/raster/ftraster.c (Overshoot_Top, Overshoot_Bottom): New |
||
2273 | macros for the `flags' field in the `TProfile' structure. |
||
2274 | (IS_BOTTOM_OVERSHOOT, IS_TOP_OVERSHOOT): New macros. |
||
2275 | (New_Profile, End_Profile): Pass overshoot flag as an argument and |
||
2276 | set it accordingly. |
||
2277 | Update callers. |
||
2278 | (Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement the two new |
||
2279 | constraints. |
||
2280 | |||
2281 | 2009-06-11 Werner Lemberg |
||
2282 | |||
2283 | Increase precision for B/W rasterizer. |
||
2284 | |||
2285 | * src/raster/ftraster.c (Set_High_Precision): Add two more bits to |
||
2286 | the precision. This corrects rendering of some small glyphs, for |
||
2287 | example, glyph `xi' in verdana.ttf at 13 ppem. Testing with ftbench |
||
2288 | on my GNU/Linux box I don't see a performance degradation. |
||
2289 | |||
2290 | 2009-06-08 Michael Zucchi |
||
2291 | |||
2292 | Handle FT_STROKER_LINECAP_BUTT. |
||
2293 | This fixes Savannah bug #26757. |
||
2294 | |||
2295 | * src/base/ftstroke.c (ft_stroker_cap): Implement it. |
||
2296 | |||
2297 | 2009-06-07 Harald Fernengel |
||
2298 | |||
2299 | Fix some potential out-of-memory crashes. |
||
2300 | |||
2301 | * src/base/ftobjs.c (ft_glyphslot_done): Check `slot->internal'. |
||
2302 | * src/base/ftstream.c (FT_Stream_ReleaseFrame): Check `stream'. |
||
2303 | * src/truetype/ttinterp.c (TT_New_Context): Avoid double-free of |
||
2304 | `exec' in case of failure. |
||
2305 | |||
2306 | 2009-06-07 Werner Lemberg |
||
2307 | |||
2308 | Simplify math. |
||
2309 | Suggested by Alexei Podtelezhnikov |
||
2310 | |||
2311 | * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, |
||
2312 | Horizontal_Gray_Sweep_Drop): Do it. |
||
2313 | |||
2314 | 2009-06-04 Werner Lemberg |
||
2315 | |||
2316 | Preparation for fixing scan conversion rules 4 and 6. |
||
2317 | |||
2318 | * src/raster/ftraster.c (TFlow): Replace enumeration with... |
||
2319 | (Flow_Up): This macro. |
||
2320 | (TProfile): Replace `flow' member with `flags' bit field. |
||
2321 | Update all affected code. |
||
2322 | |||
2323 | 2009-05-29 James Cloos |
||
2324 | |||
2325 | Enable autohinting for glyphs rotated by multiples of 90°. |
||
2326 | |||
2327 | * src/base/ftobjs.c (FT_Load_Glyph): Alter check for permitted |
||
2328 | matrices to allow rotations by multiples of 90°, not only unrotated, |
||
2329 | possibly slanted matrices. |
||
2330 | |||
2331 | 2009-05-28 Werner Lemberg |
||
2332 | |||
2333 | Remove compiler warning. |
||
2334 | Reported by Krzysztof Kowalczyk |
||
2335 | |||
2336 | * src/autofit/aflatin2.c (af_latin2_hint_edges): Move declaration of |
||
2337 | `n_edges' into `#if' block. |
||
2338 | |||
2339 | 2009-05-28 Werner Lemberg |
||
2340 | |||
2341 | Make compilation work with FT_CONFIG_OPTION_USE_ZLIB not defined. |
||
2342 | Reported by Krzysztof Kowalczyk |
||
2343 | |||
2344 | * src/pcf/pcfdrivr.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_ZLIB]: |
||
2345 | Make it work. |
||
2346 | Simplify #ifdef logic. |
||
2347 | |||
2348 | 2009-05-22 Werner Lemberg |
||
2349 | |||
2350 | Improve b/w rasterizer. |
||
2351 | Problem reported by Krzysztof Kotlenga |
||
2352 | |||
2353 | * src/raster/raster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, |
||
2354 | Horizontal_Gray_Sweep_Drop): For smart drop-out mode, if |
||
2355 | intersections are equally distant relative to next pixel center, |
||
2356 | select the left pixel, not the right one. |
||
2357 | |||
2358 | 2009-05-19 Werner Lemberg |
||
2359 | |||
2360 | Fix Savannah bug #26600. |
||
2361 | |||
2362 | * src/type42/t42parse.c (t42_load_keyword): Handle |
||
2363 | T1_FIELD_LOCATION_FONT_EXTRA. |
||
2364 | |||
2365 | 2009-04-30 Werner Lemberg |
||
2366 | |||
2367 | Document recent changes to ftview. |
||
2368 | |||
2369 | * docs/CHANGES: Do it. |
||
2370 | |||
2371 | 2009-04-27 Werner Lemberg |
||
2372 | |||
2373 | autohinter: Don't change digit widths if all widths are the same. |
||
2374 | This fixes FreeDesktop bug #21197. |
||
2375 | |||
2376 | * src/autofit/afglobal.c (AF_DIGIT): New macro. |
||
2377 | (af_face_globals_compute_script_coverage): Mark ASCII digits in |
||
2378 | `glyph_scripts' array. |
||
2379 | (af_face_globals_get_metrics): Updated. |
||
2380 | (af_face_globals_is_digit): New function. |
||
2381 | * src/autofit/afglobal.h: Updated. |
||
2382 | (AF_ScriptMetricsRec): Add `digits_have_same_width' flag. |
||
2383 | |||
2384 | * src/autofit/aflatin.c: Include FT_ADVANCES_H. |
||
2385 | (af_latin_metrics_check_digits): New function. |
||
2386 | (af_latin_metrics_init): Use it. |
||
2387 | * src/autofit/aflatin.h: Updated. |
||
2388 | * src/autofit/afcjk.c (af_cjk_metrics_init): Updated. |
||
2389 | |||
2390 | * src/autofit/aflatin2.c: Similar changes as with aflatin.c. |
||
2391 | |||
2392 | * src/autofit/afloader.c (af_loader_load_g): Test digit width. |
||
2393 | |||
2394 | * docs/CHANGES: Document it. |
||
2395 | |||
2396 | 2009-04-26 Werner Lemberg |
||
2397 | |||
2398 | Make ftgrays compile with _STANDALONE_ and FT_STATIC_RASTER again. |
||
2399 | Problems reported by suyu@cooee.cn. |
||
2400 | |||
2401 | * src/smooth/ftgrays.c (FT_DEFINE_OUTLINE_FUNCS, |
||
2402 | FT_DEFINE_RASTER_FUNCS) [_STANDALONE_]: Define. |
||
2403 | [!_STANDALONE_]: Include ftspic.h only here. |
||
2404 | (ras): Define/declare after definition of `TWorker'. |
||
2405 | Use `RAS_VAR_' where necessary. |
||
2406 | |||
2407 | 2009-04-21 Karl Berry |
||
2408 | |||
2409 | Fix AC_CHECK_FT2. |
||
2410 | |||
2411 | * builds/unix/freetype2.m4: Only check PATH for freetype-config if |
||
2412 | we did not already find it from a prefix option. |
||
2413 | |||
2414 | 2009-04-05 Oran Agra |
||
2415 | |||
2416 | Add #error to modules and files that do not support PIC yet. |
||
2417 | |||
2418 | When FT_CONFIG_OPTION_PIC is defined the following files will |
||
2419 | create #error: |
||
2420 | * src/bdf/bdfdrivr.h |
||
2421 | * src/cache/ftcmanag.c |
||
2422 | * src/cid/cidriver.h |
||
2423 | * src/gxvalid/gxvmod.h |
||
2424 | * src/gzip/ftgzip.c |
||
2425 | * src/lzw/ftlzw.c |
||
2426 | * src/otvalid/otvmod.h |
||
2427 | * src/pcf/pcfdrivr.h |
||
2428 | * src/pfr/pfrdrivr.h |
||
2429 | * src/psaux/psauxmod.h |
||
2430 | * src/type1/t1driver.h |
||
2431 | * src/type42/t42drivr.h |
||
2432 | * src/winfonts/winfnt.h |
||
2433 | |||
2434 | 2009-04-05 Oran Agra |
||
2435 | |||
2436 | Position Independent Code (PIC) support in autofit module. |
||
2437 | |||
2438 | * include/freetype/internal/autohint.h add macros to init |
||
2439 | instances of FT_AutoHinter_ServiceRec. |
||
2440 | |||
2441 | * src/autofit/afmodule.h declare autofit_module_class |
||
2442 | using macros from ftmodapi.h, |
||
2443 | when FT_CONFIG_OPTION_PIC is defined create and destroy |
||
2444 | functions will be declared. |
||
2445 | * src/autofit/afmodule.c when FT_CONFIG_OPTION_PIC is defined |
||
2446 | af_autofitter_service and autofit_module_class structs |
||
2447 | will have functions to init or create and destroy them |
||
2448 | instead of being allocated in the global scope. |
||
2449 | And macros will be used from afpic.h in order to access them. |
||
2450 | |||
2451 | * src/autofit/aftypes.h add macros to init and declare |
||
2452 | instances of AF_ScriptClassRec. |
||
2453 | |||
2454 | * src/autofit/afcjk.h declare af_cjk_script_class |
||
2455 | using macros from aftypes.h, |
||
2456 | when FT_CONFIG_OPTION_PIC is defined init function will be declared. |
||
2457 | * src/autofit/afcjk.c when FT_CONFIG_OPTION_PIC is defined |
||
2458 | af_cjk_script_class struct will have function to init it instead of |
||
2459 | being allocated in the global scope. |
||
2460 | |||
2461 | * src/autofit/afdummy.h declare af_dummy_script_class |
||
2462 | using macros from aftypes.h, |
||
2463 | when FT_CONFIG_OPTION_PIC is defined init function will be declared. |
||
2464 | * src/autofit/afdummy.c when FT_CONFIG_OPTION_PIC is defined |
||
2465 | af_dummy_script_class struct will have function to init it instead of |
||
2466 | being allocated in the global scope. |
||
2467 | |||
2468 | * src/autofit/afindic.h declare af_indic_script_class |
||
2469 | using macros from aftypes.h, |
||
2470 | when FT_CONFIG_OPTION_PIC is defined init function will be declared. |
||
2471 | * src/autofit/afindic.c when FT_CONFIG_OPTION_PIC is defined |
||
2472 | af_indic_script_class struct will have function to init it instead of |
||
2473 | being allocated in the global scope. |
||
2474 | |||
2475 | * src/autofit/aflatin.h declare af_latin_script_class |
||
2476 | using macros from aftypes.h, |
||
2477 | when FT_CONFIG_OPTION_PIC is defined init function will be declared. |
||
2478 | * src/autofit/aflatin.c when FT_CONFIG_OPTION_PIC is defined |
||
2479 | af_latin_script_class struct will have function to init it instead of |
||
2480 | being allocated in the global scope. |
||
2481 | Change af_latin_blue_chars to be PIC-compatible by being a two |
||
2482 | dimentional array rather than array of pointers. |
||
2483 | |||
2484 | |||
2485 | * src/autofit/aflatin2.h declare af_latin2_script_class |
||
2486 | using macros from aftypes.h, |
||
2487 | when FT_CONFIG_OPTION_PIC is defined init function will be declared. |
||
2488 | * src/autofit/aflatin2.c when FT_CONFIG_OPTION_PIC is defined |
||
2489 | af_latin2_script_class struct will have function to init it instead of |
||
2490 | being allocated in the global scope. |
||
2491 | Change af_latin2_blue_chars to be PIC-compatible by being a two |
||
2492 | dimentional array rather than array of pointers. |
||
2493 | |||
2494 | * src/autofit/afglobal.c when FT_CONFIG_OPTION_PIC is defined |
||
2495 | af_script_classes array initialization was moved to afpic.c and |
||
2496 | is later refered using macros defeined in afpic.h. |
||
2497 | |||
2498 | New Files: |
||
2499 | * src/autofit/afpic.h declare struct to hold PIC globals for autofit |
||
2500 | module and macros to access them. |
||
2501 | * src/autofit/afpic.c implement functions to allocate, destroy and |
||
2502 | initialize PIC globals for autofit module. |
||
2503 | |||
2504 | * src/autofit/autofit.c add new file to build: afpic.c. |
||
2505 | * src/autofit/jamfile add new files to FT2_MULTI build: afpic.c. |
||
2506 | |||
2507 | 2009-04-05 Oran Agra |
||
2508 | |||
2509 | Position Independent Code (PIC) support in pshinter module. |
||
2510 | |||
2511 | * include/freetype/internal/pshints.h add macros to init |
||
2512 | instances of PSHinter_Interface. |
||
2513 | |||
2514 | * src/pshinter/pshmod.h declare pshinter_module_class |
||
2515 | using macros from ftmodapi.h, |
||
2516 | when FT_CONFIG_OPTION_PIC is defined create and destroy |
||
2517 | functions will be declared. |
||
2518 | * src/pshinter/pshmod.c when FT_CONFIG_OPTION_PIC is defined |
||
2519 | pshinter_interface and pshinter_module_class structs |
||
2520 | will have functions to init or create and destroy them |
||
2521 | instead of being allocated in the global scope. |
||
2522 | And macros will be used from pshpic.h in order to access them. |
||
2523 | |||
2524 | New Files: |
||
2525 | * src/pshinter/pshpic.h declare struct to hold PIC globals for pshinter |
||
2526 | module and macros to access them. |
||
2527 | * src/pshinter/pshpic.c implement functions to allocate, destroy and |
||
2528 | initialize PIC globals for pshinter module. |
||
2529 | |||
2530 | * src/pshinter/pshinter.c add new file to build: pshpic.c. |
||
2531 | * src/pshinter/jamfile add new files to FT2_MULTI build: pshpic.c. |
||
2532 | |||
2533 | 2009-04-05 Oran Agra |
||
2534 | |||
2535 | Position Independent Code (PIC) support in psnames module. |
||
2536 | |||
2537 | * include/freetype/internal/services/svpscmap.h add macros to init |
||
2538 | instances of FT_Service_PsCMapsRec. |
||
2539 | |||
2540 | * src/psnames/psmodule.h declare psnames_module_class |
||
2541 | using macros from ftmodapi.h, |
||
2542 | when FT_CONFIG_OPTION_PIC is defined create and destroy |
||
2543 | functions will be declared. |
||
2544 | * src/psnames/psmodule.c when FT_CONFIG_OPTION_PIC is defined |
||
2545 | pscmaps_interface and pscmaps_services structs |
||
2546 | and psnames_module_class array |
||
2547 | will have functions to init or create and destroy them |
||
2548 | instead of being allocated in the global scope. |
||
2549 | And macros will be used from pspic.h in order to access them. |
||
2550 | |||
2551 | New Files: |
||
2552 | * src/psnames/pspic.h declare struct to hold PIC globals for psnames |
||
2553 | module and macros to access them. |
||
2554 | * src/psnames/pspic.c implement functions to allocate, destroy and |
||
2555 | initialize PIC globals for psnames module. |
||
2556 | |||
2557 | * src/psnames/psnames.c add new file to build: pspic.c. |
||
2558 | * src/psnames/jamfile add new files to FT2_MULTI build: pspic.c. |
||
2559 | |||
2560 | 2009-04-05 Oran Agra |
||
2561 | |||
2562 | Position Independent Code (PIC) support in raster renderer. |
||
2563 | |||
2564 | * src/raster/ftrend1.h declare ft_raster1_renderer_class |
||
2565 | and ft_raster5_renderer_class |
||
2566 | using macros from ftrender.h, |
||
2567 | when FT_CONFIG_OPTION_PIC is defined create and destroy |
||
2568 | functions will be declared. |
||
2569 | * src/smooth/ftrend1.c when FT_CONFIG_OPTION_PIC is defined |
||
2570 | ft_raster1_renderer_class and ft_raster5_renderer_class structs |
||
2571 | will have functions to init or create and destroy them |
||
2572 | instead of being allocated in the global scope. |
||
2573 | Macros will be used from rastpic.h in order to access |
||
2574 | ft_standard_raster from the pic_container (allocated in ftraster.c). |
||
2575 | In ft_raster1_render when PIC is enabled, the last letter of |
||
2576 | module_name is used to verfy the renderer class rather than the |
||
2577 | class pointer. |
||
2578 | |||
2579 | * src/raster/ftraster.c when FT_CONFIG_OPTION_PIC is defined |
||
2580 | ft_standard_raster struct will have function to init it |
||
2581 | instead of being allocated in the global scope. |
||
2582 | |||
2583 | New Files: |
||
2584 | * src/raster/rastpic.h declare struct to hold PIC globals for raster |
||
2585 | renderer and macros to access them. |
||
2586 | * src/raster/rastpic.c implement functions to allocate, destroy and |
||
2587 | initialize PIC globals for raster renderer. |
||
2588 | |||
2589 | * src/raster/raster.c add new file to build: rastpic.c. |
||
2590 | * src/raster/jamfile add new files to FT2_MULTI build: rastpic.c. |
||
2591 | |||
2592 | 2009-04-05 Oran Agra |
||
2593 | |||
2594 | Position Independent Code (PIC) support in smooth renderer. |
||
2595 | |||
2596 | * src/smooth/ftsmooth.h declare ft_smooth_renderer_class, |
||
2597 | ft_smooth_lcd_renderer_class and ft_smooth_lcd_v_renderer_class |
||
2598 | using macros from ftrender.h, |
||
2599 | when FT_CONFIG_OPTION_PIC is defined create and destroy |
||
2600 | functions will be declared. |
||
2601 | * src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined |
||
2602 | the following structs: |
||
2603 | ft_smooth_renderer_class, ft_smooth_lcd_renderer_class |
||
2604 | and ft_smooth_lcd_v_renderer_class |
||
2605 | will have functions to init or create and destroy them |
||
2606 | instead of being allocated in the global scope. |
||
2607 | And macros will be used from ftspic.h in order to access |
||
2608 | ft_grays_raster from the pic_container (allocated in ftgrays.c). |
||
2609 | |||
2610 | * src/smooth/ftgrays.h include FT_CONFIG_CONFIG_H |
||
2611 | * src/smooth/ftgrays.c when FT_CONFIG_OPTION_PIC is NOT defined |
||
2612 | func_interface was moved from gray_convert_glyph_inner function |
||
2613 | to the global scope. |
||
2614 | When FT_CONFIG_OPTION_PIC is defined |
||
2615 | func_interface and ft_grays_raster structs |
||
2616 | will have functions to init them |
||
2617 | instead of being allocated in the global scope. |
||
2618 | And func_interface will be allocated on the stack of |
||
2619 | gray_convert_glyph_inner. |
||
2620 | |||
2621 | New Files: |
||
2622 | * src/smooth/ftspic.h declare struct to hold PIC globals for smooth |
||
2623 | renderer and macros to access them. |
||
2624 | * src/smooth/ftspic.c implement functions to allocate, destroy and |
||
2625 | initialize PIC globals for smooth renderer. |
||
2626 | |||
2627 | * src/smooth/smooth.c add new file to build: ftspic.c. |
||
2628 | * src/smooth/jamfile add new files to FT2_MULTI build: ftspic.c. |
||
2629 | |||
2630 | 2009-04-05 Oran Agra |
||
2631 | |||
2632 | Position Independent Code (PIC) support in cff driver. |
||
2633 | |||
2634 | * include/freetype/internal/services/svcid.h add macros to init |
||
2635 | instances of FT_Service_CIDRec. |
||
2636 | * include/freetype/internal/services/svpsinfo.h add macros to init |
||
2637 | instances of FT_Service_PsInfoRec. |
||
2638 | |||
2639 | * src/cff/cffcmap.h declare cff_cmap_encoding_class_rec |
||
2640 | and cff_cmap_unicode_class_rec using macros from |
||
2641 | ftobjs.h, when FT_CONFIG_OPTION_PIC is defined create and destroy |
||
2642 | functions will be declared. |
||
2643 | * src/cff/cffcmap.c when FT_CONFIG_OPTION_PIC is defined |
||
2644 | the following structs: |
||
2645 | cff_cmap_encoding_class_rec and cff_cmap_unicode_class_rec |
||
2646 | will have functions to init or create and destroy them |
||
2647 | instead of being allocated in the global scope. |
||
2648 | |||
2649 | * src/cff/cffdrivr.h declare cff_driver_class using macros from |
||
2650 | ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy |
||
2651 | functions will be declared. |
||
2652 | * src/cff/cffdrivr.c when FT_CONFIG_OPTION_PIC is defined |
||
2653 | the following structs: |
||
2654 | cff_service_glyph_dict, cff_service_ps_info, cff_service_ps_name |
||
2655 | cff_service_get_cmap_info, cff_service_cid_info, cff_driver_class, |
||
2656 | and cff_services array |
||
2657 | will have functions to init or create and destroy them |
||
2658 | instead of being allocated in the global scope. |
||
2659 | And macros will be used from cffpic.h in order to access them |
||
2660 | from the pic_container. |
||
2661 | Use macros from cffpic.h in order to access the |
||
2662 | structs allocated in cffcmap.c |
||
2663 | |||
2664 | * src/cff/cffobjs.c Use macros from cffpic.h in order to access the |
||
2665 | structs allocated in cffcmap.c |
||
2666 | |||
2667 | * src/cff/parser.c when FT_CONFIG_OPTION_PIC is defined |
||
2668 | implement functions to create and destroy cff_field_handlers array |
||
2669 | instead of being allocated in the global scope. |
||
2670 | And macros will be used from cffpic.h in order to access it |
||
2671 | from the pic_container. |
||
2672 | |||
2673 | New Files: |
||
2674 | * src/cff/cffpic.h declare struct to hold PIC globals for cff |
||
2675 | driver and macros to access them. |
||
2676 | * src/cff/cffpic.c implement functions to allocate, destroy and |
||
2677 | initialize PIC globals for cff driver. |
||
2678 | |||
2679 | * src/cff/cff.c add new file to build: cffpic.c. |
||
2680 | * src/cff/jamfile add new files to FT2_MULTI build: cffpic.c. |
||
2681 | |||
2682 | 2009-04-05 Oran Agra |
||
2683 | |||
2684 | Position Independent Code (PIC) support in sfnt driver. |
||
2685 | |||
2686 | * include/freetype/internal/services/svbdf.h add macros to init |
||
2687 | instances of FT_Service_BDFRec. |
||
2688 | * include/freetype/internal/services/svgldict.h add macros to init |
||
2689 | instances of FT_Service_GlyphDictRec. |
||
2690 | * include/freetype/internal/services/svpostnm.h add macros to init |
||
2691 | instances of FT_Service_PsFontNameRec. |
||
2692 | * include/freetype/internal/services/svsfnt.h add macros to init |
||
2693 | instances of FT_Service_SFNT_TableRec. |
||
2694 | * include/freetype/internal/services/svttcmap.h add macros to init |
||
2695 | instances of FT_Service_TTCMapsRec. |
||
2696 | * include/freetype/internal/sfnt.h add macros to init |
||
2697 | instances of SFNT_Interface. |
||
2698 | |||
2699 | * src/sfnt/sfdriver.h declare sfnt_module_class using macros from |
||
2700 | ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy |
||
2701 | functions will be declared. |
||
2702 | * src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined |
||
2703 | the following structs: |
||
2704 | sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name |
||
2705 | tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface, |
||
2706 | sfnt_module_class, and sfnt_services array |
||
2707 | will have functions to init or create and destroy them |
||
2708 | instead of being allocated in the global scope. |
||
2709 | And macros will be used from sfntpic.h in order to access them |
||
2710 | from the pic_container. |
||
2711 | |||
2712 | * src/sfnt/ttcmap.h add macros to init |
||
2713 | instances of TT_CMap_ClassRec. |
||
2714 | * src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined |
||
2715 | the following structs: |
||
2716 | tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec |
||
2717 | tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec, |
||
2718 | tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array |
||
2719 | will have functions to init or create and destroy them |
||
2720 | instead of being allocated in the global scope. |
||
2721 | And macros will be used from sfntpic.h in order to access them |
||
2722 | from the pic_container. |
||
2723 | The content of tt_cmap_classes is now described in the |
||
2724 | new file 'ttcmapc.h'. |
||
2725 | |||
2726 | New Files: |
||
2727 | * src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt |
||
2728 | driver and macros to access them. |
||
2729 | * src/sfnt/sfntpic.c implement functions to allocate, destroy and |
||
2730 | initialize PIC globals for sfnt driver. |
||
2731 | * src/sfnt/ttcmapc.h describing the content of |
||
2732 | tt_cmap_classes allocated in ttcmap.c |
||
2733 | |||
2734 | * src/sfnt/sfnt.c add new file to build: sfntpic.c. |
||
2735 | * src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c. |
||
2736 | |||
2737 | 2009-04-05 Oran Agra |
||
2738 | |||
2739 | Position Independent Code (PIC) support in truetype driver. |
||
2740 | |||
2741 | * include/freetype/internal/services/svmm.h add macros to init |
||
2742 | instances of FT_Service_MultiMastersRec. |
||
2743 | * include/freetype/internal/services/svttglyf.h add macros to init |
||
2744 | instances of FT_Service_TTGlyfRec. |
||
2745 | |||
2746 | * src/truetype/ttdriver.h declare tt_driver_class using macros from |
||
2747 | ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy |
||
2748 | functions will be declared. |
||
2749 | * src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined |
||
2750 | the following structs: |
||
2751 | tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class |
||
2752 | and tt_services array, |
||
2753 | will have functions to init or create and destroy them |
||
2754 | instead of being allocated in the global scope. |
||
2755 | And macros will be used from ttpic.h in order to access them |
||
2756 | from the pic_container. |
||
2757 | * src/truetype/ttobjs.c change trick_names array to be |
||
2758 | PIC-compatible by being a two dimentional array rather than array |
||
2759 | of pointers. |
||
2760 | |||
2761 | New Files: |
||
2762 | * src/truetype/ttpic.h declare struct to hold PIC globals for truetype |
||
2763 | driver and macros to access them. |
||
2764 | * src/truetype/ttpic.c implement functions to allocate, destroy and |
||
2765 | initialize PIC globals for truetype driver. |
||
2766 | |||
2767 | * src/truetype/truetype.c add new file to build: ttpic.c. |
||
2768 | * src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c. |
||
2769 | |||
2770 | 2009-04-05 Oran Agra |
||
2771 | |||
2772 | Position Independent Code (PIC) support and infrastructure in base. |
||
2773 | |||
2774 | * include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC |
||
2775 | * include/freetype/internal/ftobjs.h Add pic_container member to |
||
2776 | FT_LibraryRec. |
||
2777 | Add macros to declare and init instances of FT_CMap_ClassRec. |
||
2778 | Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs. |
||
2779 | Add macros to declare, allocate and initialize modules |
||
2780 | (FT_Module_Class). |
||
2781 | Add macros to declare, allocate and initialize renderers |
||
2782 | (FT_Renderer_Class). |
||
2783 | Add macro to init instances of FT_Glyph_Class. |
||
2784 | Add macros to declare, allocate and initialize drivers |
||
2785 | (FT_Driver_ClassRec). |
||
2786 | * include/freetype/internal/ftpic.h new file to declare the |
||
2787 | FT_PIC_Container struct and the functions to allocate and detroy it. |
||
2788 | * include/freetype/internal/ftserv.h add macros to allocate and |
||
2789 | destory arrays of FT_ServiceDescRec. |
||
2790 | * include/freetype/internal/internal.h define macro to include |
||
2791 | ftpic.h. |
||
2792 | |||
2793 | New Files: |
||
2794 | * src/base/ftpic.c implement functions to allocate and destory the |
||
2795 | global pic_container. |
||
2796 | * src/base/basepic.h declare struct to hold PIC globals for base and |
||
2797 | macros to access them. |
||
2798 | * src/base/basepic.c implement functions to allocate, destroy and |
||
2799 | initialize PIC globals for base. |
||
2800 | |||
2801 | * src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement |
||
2802 | functions that allocate and destroy ft_default_modules according to |
||
2803 | FT_CONFIG_MODULES_H in the pic_container instead of the global scope |
||
2804 | and use macro from basepic.h to access it. |
||
2805 | * src/base/ftobjs.c add calls to the functions that allocate and |
||
2806 | destroy the global pic_container when the library is created and |
||
2807 | destroyed. |
||
2808 | |||
2809 | * src/base/jamfile add new files to FT2_MULTI build: |
||
2810 | ftpic.c and basepic.c. |
||
2811 | * src/base/ftbase.c add new files to build: |
||
2812 | ftpic.c and basepic.c. |
||
2813 | |||
2814 | * src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined |
||
2815 | ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated |
||
2816 | in the pic_container instead of the global scope and use macros from |
||
2817 | basepic.h to access them. |
||
2818 | * src/base/ftbbox.c allocate bbox_interface stract on the stack |
||
2819 | instead of the global scope when FT_CONFIG_OPTION_PIC is defined. |
||
2820 | * src/base/ftstroke.c access ft_outline_glyph_class allocated in |
||
2821 | ftglyph.c via macros from basepic.h |
||
2822 | |||
2823 | 2009-04-05 Oran Agra |
||
2824 | |||
2825 | Preparing changes in cff parser later needed for PIC version. |
||
2826 | |||
2827 | * src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c, |
||
2828 | src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to |
||
2829 | 'CFF_ParserRec' set by `cff_parser_init'. |
||
2830 | Route library pointer from 'cff_face_init' to 'cff_subfont_load' |
||
2831 | for `cff_parser_init'. |
||
2832 | |||
2833 | * src/cff/cffparse.c (CFF_Field_Handler): Move it to... |
||
2834 | * src/cff/cffparse.h: This file, to be used by other C files. |
||
2835 | |||
2836 | 2009-04-05 Oran Agra |
||
2837 | |||
2838 | Minor change in ftstroke.c. |
||
2839 | |||
2840 | * src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with |
||
2841 | `library' needed for PIC version. |
||
2842 | Update all callers. |
||
2843 | |||
2844 | 2009-04-04 Werner Lemberg |
||
2845 | |||
2846 | ftnames.c -> ftsnames.c |
||
2847 | |||
2848 | * src/base/ftnames.c: Rename to... |
||
2849 | * src/base/ftsnames.c: This. |
||
2850 | * src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated. |
||
2851 | |||
2852 | 2009-04-04 Werner Lemberg |
||
2853 | |||
2854 | Add support for cmap type 13. |
||
2855 | |||
2856 | * devel/ftoption.h, include/freetype/config/ftoption.h |
||
2857 | (TT_CONFIG_CMAP_FORMAT_13): New macro. |
||
2858 | |||
2859 | * src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init, |
||
2860 | tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next, |
||
2861 | tt_cmap13_get_info, tt_cmap13_char_map_def_binary, |
||
2862 | tt_cmap14_class_rec): New functions and structures for cmap 13 |
||
2863 | support. |
||
2864 | (tt_cmap_classes): Register tt_cmap13_class_rec. |
||
2865 | |||
2866 | * docs/CHANGES: Mention cmap 13 support. |
||
2867 | |||
2868 | 2009-04-01 Werner Lemberg |
||
2869 | |||
2870 | Ignore empty contours in CFF glyphs. |
||
2871 | |||
2872 | Problem reported by Albert Astals Cid |
||
2873 | |||
2874 | * src/cff/cffgload.c (cff_builder_close_contour): Synchronize with |
||
2875 | t1_builder_close_contour. |
||
2876 | |||
2877 | 2009-03-21 Werner Lemberg |
||
2878 | |||
2879 | Another redundant header inclusion. |
||
2880 | |||
2881 | * src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041. |
||
2882 | |||
2883 | 2009-03-21 Werner Lemberg |
||
2884 | |||
2885 | Remove redundant header inclusions. |
||
2886 | |||
2887 | This covers many Ghostscript Coverity issues. |
||
2888 | |||
2889 | * src/*: Do it. |
||
2890 | |||
2891 | 2009-03-21 Werner Lemberg |
||
2892 | |||
2893 | Fix Ghostscript Coverity issue #3904. |
||
2894 | |||
2895 | * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against |
||
2896 | invalid values of `runcnt'. |
||
2897 | |||
2898 | 2009-03-20 Werner Lemberg |
||
2899 | |||
2900 | Fix `make multi' run. |
||
2901 | |||
2902 | * src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H. |
||
2903 | |||
2904 | 2009-03-20 Werner Lemberg |
||
2905 | |||
2906 | Fix Savannah bug #25923. |
||
2907 | |||
2908 | * src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo. |
||
2909 | |||
2910 | 2009-03-20 Werner Lemberg |
||
2911 | |||
2912 | Protect against too large glyphs. |
||
2913 | |||
2914 | Problem reported by Tavis Ormandy |
||
2915 | |||
2916 | * src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow |
||
2917 | `pitch' or `height' to be larger than 0xFFFF. |
||
2918 | |||
2919 | 2009-03-20 Werner Lemberg |
||
2920 | Tavis Ormandy |
||
2921 | |||
2922 | Fix validation for various cmap table formats. |
||
2923 | |||
2924 | * src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate, |
||
2925 | tt_cmap12_validate): Check `length' correctly. |
||
2926 | (tt_cmap_14_validate): Check `length' and `numMappings' correctly. |
||
2927 | |||
2928 | 2009-03-20 Werner Lemberg |
||
2929 | |||
2930 | Protect against malformed compressed data. |
||
2931 | |||
2932 | * src/lzw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is |
||
2933 | zero. |
||
2934 | |||
2935 | 2009-03-20 Werner Lemberg |
||
2936 | |||
2937 | Protect against invalid SID values in CFFs. |
||
2938 | |||
2939 | Problem reported by Tavis Ormandy |
||
2940 | |||
2941 | * src/cff/cffload.c (cff_charset_load): Reject SID values larger |
||
2942 | than 64999. |
||
2943 | |||
2944 | 2009-03-19 Vincent Richomme |
||
2945 | |||
2946 | Update WinCE Visual C project files. |
||
2947 | |||
2948 | * builds/wince/vc2005-ce/freetype.vcproj, |
||
2949 | builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension |
||
2950 | files. |
||
2951 | |||
2952 | 2009-03-19 Werner Lemberg |
||
2953 | |||
2954 | Remove unused Win32 code. |
||
2955 | |||
2956 | * builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'. |
||
2957 | Since Win32 is handled separately this is no longer needed. |
||
2958 | |||
2959 | 2009-03-19 Vincent Richomme |
||
2960 | |||
2961 | Make `gzip' module compile on WinCE. |
||
2962 | |||
2963 | * src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H. |
||
2964 | |||
2965 | 2009-03-19 Werner Lemberg |
||
2966 | |||
2967 | Remove unused WinCE code. |
||
2968 | |||
2969 | * builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'. |
||
2970 | Since WinCE is handled separately this is no longer needed. |
||
2971 | |||
2972 | 2009-03-16 Werner Lemberg |
||
2973 | |||
2974 | docmaker: Don't ignore single-line code blocks. |
||
2975 | |||
2976 | * src/tools/docmaker/content.py (DocBlock::_init__): Fix change from |
||
2977 | 2009-01-31. |
||
2978 | |||
2979 | 2009-03-15 Steve Langasek |
||
2980 | |||
2981 | Use __asm__ for declaring assembly instead of asm. |
||
2982 | |||
2983 | * builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of |
||
2984 | asm on arm, fixing a build failure on armel with -pedantic. |
||
2985 | |||
2986 | 2009-03-14 Werner Lemberg |
||
2987 | |||
2988 | Fix valgrind warning. |
||
2989 | |||
2990 | * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read |
||
2991 | past the end of the frame. |
||
2992 | |||
2993 | 2009-03-12 Werner Lemberg |
||
2994 | |||
2995 | * Version 2.3.9 released. |
||
2996 | ========================= |
||
2997 | |||
2998 | |||
2999 | Tag sources with `VER-2-3-9'. |
||
3000 | |||
3001 | 2009-03-12 Werner Lemberg |
||
3002 | |||
3003 | * builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'. |
||
3004 | |||
3005 | 2009-03-12 Werner Lemberg |
||
3006 | |||
3007 | Fix some FreeType Coverity issues as reported for Ghostscript. |
||
3008 | |||
3009 | * src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize |
||
3010 | `args.stream' (#3874, #3875). |
||
3011 | (open_face_PS_from_sfnt_stream): Improve error management (#3786). |
||
3012 | * src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice' |
||
3013 | (#3870). |
||
3014 | * src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead |
||
3015 | code (#3790). |
||
3016 | * src/base/ftrfork.c (raccess_guess_apple_generic): Check error |
||
3017 | value of `FT_Stream_Skip' (#3784). |
||
3018 | |||
3019 | * src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing |
||
3020 | it (#3872) |
||
3021 | |||
3022 | * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing |
||
3023 | it (#3871). |
||
3024 | * src/pcf/pcfread.c (pcf_get_metrics): Handle return value of |
||
3025 | `pcf_get_metric' (#3789, #3782). |
||
3026 | (pcf_get_properties): Use FT_STREAM_SKIP (#3783). |
||
3027 | |||
3028 | * src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of |
||
3029 | `acache' (#3797) |
||
3030 | |||
3031 | * src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff' |
||
3032 | (#3796). |
||
3033 | * src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795). |
||
3034 | * src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794). |
||
3035 | |||
3036 | * src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom' |
||
3037 | (#3793). |
||
3038 | (_bdf_parse_start): Add comment (#3792). |
||
3039 | |||
3040 | * src/raster/ftraster.c (Finalize_Profile_Table): Check |
||
3041 | `ras.fProfile' (#3791). |
||
3042 | |||
3043 | * src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785). |
||
3044 | |||
3045 | * src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore |
||
3046 | seek error (#3781). |
||
3047 | |||
3048 | 2009-03-11 Michael Toftdal |
||
3049 | |||
3050 | Extend CID service functions to handle CID-keyed CFFs as CID fonts. |
||
3051 | |||
3052 | * include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed, |
||
3053 | FT_Get_CID_From_Glyph_Index): New functions. |
||
3054 | |||
3055 | * include/freetype/internal/services/svcid.h |
||
3056 | (FT_CID_GetIsInternallyCIDKeyedFunc, |
||
3057 | FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs. |
||
3058 | (CID Service): Use them. |
||
3059 | |||
3060 | * src/base/ftcid.c: Include FT_CID_H. |
||
3061 | (FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index): |
||
3062 | New functions. |
||
3063 | |||
3064 | * src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index): |
||
3065 | New functions. |
||
3066 | (cff_service_cid_info): Add them. |
||
3067 | * src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids' |
||
3068 | -- it is needed for access as a CID-keyed font. It gets deleted |
||
3069 | later on. |
||
3070 | |||
3071 | * src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index): |
||
3072 | New functions. |
||
3073 | (cid_service_cid_info): Add them. |
||
3074 | |||
3075 | * docs/CHANGES: Updated. |
||
3076 | |||
3077 | 2009-03-11 Bram Tassyns |
||
3078 | |||
3079 | Fix Savannah bug #25597. |
||
3080 | |||
3081 | * src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length |
||
3082 | to become larger than 9. |
||
3083 | |||
3084 | 2009-03-11 Werner Lemberg |
||
3085 | |||
3086 | Fix Savannah bug #25814. |
||
3087 | |||
3088 | * builds/unix/freetype2.in: As suggested in the bug report, move |
||
3089 | @LIBZ@ to `Libs.private'. |
||
3090 | |||
3091 | 2009-03-11 Werner Lemberg |
||
3092 | |||
3093 | Fix Savannah bug #25781. |
||
3094 | We now simply check for a valid `offset', no longer handling `delta |
||
3095 | = 1' specially. |
||
3096 | |||
3097 | * src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for |
||
3098 | last segment. |
||
3099 | (tt_cmap4_set_range, tt_cmap4_char_map_linear, |
||
3100 | tt_cmap4_char_map_binary): Check offset. |
||
3101 | |||
3102 | 2009-03-11 Werner Lemberg |
||
3103 | |||
3104 | * src/base/Jamfile: Fix handling of ftadvanc.c. |
||
3105 | Reported by Oran Agra |
||
3106 | |||
3107 | 2009-03-10 Vincent Richomme |
||
3108 | |||
3109 | Restructure Win32 and Wince compiler support. |
||
3110 | |||
3111 | * src/builds/win32: Remove files for WinCE. |
||
3112 | Move VC 2005 support to a separate directory. |
||
3113 | Add directory for VC 2008 support. |
||
3114 | |||
3115 | * src/builds/wince: New directory hierarchy for WinCE compilers |
||
3116 | (VC 2005 and VC 2008). |
||
3117 | |||
3118 | 2009-03-09 Werner Lemberg |
||
3119 | |||
3120 | More preparations for 2.3.9 release. |
||
3121 | |||
3122 | * docs/CHANGES: Updated. |
||
3123 | |||
3124 | * Jamfile, README: s/2.3.8/2.3.9/, s/238/239/. |
||
3125 | |||
3126 | 2009-03-09 Werner Lemberg |
||
3127 | |||
3128 | * src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c. |
||
3129 | |||
3130 | 2009-03-09 Alexey Kryukov |
||
3131 | |||
3132 | Fix handling of EBDT formats 8 and 9 (part 2). |
||
3133 | |||
3134 | This patch fixes the following problems in ttsbit0.c: |
||
3135 | |||
3136 | . Bitmaps for compound glyphs were never allocated. |
||
3137 | |||
3138 | . `SBitDecoder' refused to load metrics if some other metrics have |
||
3139 | already been loaded. This condition certainly makes no sense for |
||
3140 | recursive calls, so I've just disabled it. Another possibility |
||
3141 | would be resetting `decoder->metrics_loaded' to false before |
||
3142 | loading each composite component. However, we must restore the |
||
3143 | original metrics after finishing the recursion; otherwise we can |
||
3144 | get a misaligned glyph. |
||
3145 | |||
3146 | . `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos', |
||
3147 | causing some glyph components to be shifted too far to the right |
||
3148 | (especially noticeable for small sizes). |
||
3149 | |||
3150 | Note that support for grayscale bitmaps (not necessarily compound) is |
||
3151 | completely broken in ttsbit0.c. |
||
3152 | |||
3153 | * src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics. |
||
3154 | (tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case |
||
3155 | of `h == height'. |
||
3156 | (tt_sbit_decoder_load_compound): Reset metrics after loading |
||
3157 | components. |
||
3158 | Allocate bitmap. |
||
3159 | |||
3160 | 2009-03-09 Werner Lemberg |
||
3161 | |||
3162 | * builds/unix/configure.raw (version_info): Set to 9:20:3. |
||
3163 | |||
3164 | 2009-03-03 David Turner |
||
3165 | |||
3166 | Protect SFNT kerning table parser against malformed tables. |
||
3167 | |||
3168 | This closes Savannah BUG #25750. |
||
3169 | |||
3170 | * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a |
||
3171 | bug where a malformed table would be successfully loaded but later |
||
3172 | crash the engine during parsing. |
||
3173 | |||
3174 | 2009-03-03 David Turner |
||
3175 | |||
3176 | Update documentation and bump version number to 2.3.9. |
||
3177 | |||
3178 | * include/freetype/freetype.h: Bump patch version to 9. |
||
3179 | * docs/CHANGES: Document the ABI break in 2.3.8. |
||
3180 | * docs/VERSION.DLL: Update version numbers table for 2.3.9. |
||
3181 | |||
3182 | 2009-03-03 David Turner |
||
3183 | |||
3184 | Remove ABI-breaking field in public PS_InfoFontRec definition. |
||
3185 | |||
3186 | Instead, we define a new internal PS_FontExtraRec structure to |
||
3187 | hold the additional field, then place it in various internal |
||
3188 | positions of the corresponding FT_Face derived objects. |
||
3189 | |||
3190 | * include/freetype/t1tables.h (PS_FontInfoRec): Remove the |
||
3191 | `fs_type' field from the public structure. |
||
3192 | * include/freetype/internal/psaux.h (T1_FieldLocation): New |
||
3193 | enumeration `T1_FIELD_LOCATION_FONT_EXTRA'. |
||
3194 | * include/freetype/internal/t1types.h (PS_FontExtraRec): New |
||
3195 | structure. |
||
3196 | (T1_FontRec, CID_FaceRec): Add it. |
||
3197 | |||
3198 | * src/cid/cidload.c (cid_load_keyword): Handle |
||
3199 | T1_FIELD_LOCATION_FONT_EXTRA. |
||
3200 | * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c: |
||
3201 | Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'. |
||
3202 | * src/type1/t1load.c (t1_load_keyword): Handle |
||
3203 | T1_FIELD_LOCATION_FONT_EXTRA. |
||
3204 | |||
3205 | * include/freetype/internal/services/svpsinfo.h (PsInfo service): |
||
3206 | Add `PS_GetFontExtraFunc' function typedef. |
||
3207 | |||
3208 | * src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and |
||
3209 | FT_SERVICE_POSTSCRIPT_INFO_H. |
||
3210 | (FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service. |
||
3211 | |||
3212 | * src/cff/cffdrivr.c (cff_service_ps_info): Updated. |
||
3213 | * src/cid/cidriver.c (cid_ps_get_font_extra): New function. |
||
3214 | (cid_service_ps_info): Updated. |
||
3215 | * src/type1/t1driver.c (t1_ps_get_font_extra): New function. |
||
3216 | (t1_service_ps_info): Updated. |
||
3217 | * src/type42/t42drivr.c (t42_ps_get_font_extra): New function. |
||
3218 | (t42_service_ps_info): Updated. |
||
3219 | |||
3220 | 2009-03-02 Alexey Kryukov |
||
3221 | |||
3222 | Fix handling of EBDT formats 8 and 9. |
||
3223 | |||
3224 | The main cycle in `blit_sbit' makes too many iterations: it actually |
||
3225 | needs the count of lines in the source bitmap rather than in the |
||
3226 | target image. |
||
3227 | |||
3228 | * src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]: |
||
3229 | Add parameter `source_height' and use it for main loop. |
||
3230 | (Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated. |
||
3231 | |||
3232 | 2009-02-23 Werner Lemberg |
||
3233 | |||
3234 | Fix Savannah bug #25669. |
||
3235 | |||
3236 | * src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo. |
||
3237 | |||
3238 | * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix |
||
3239 | scaling factor for non-scalable fonts. |
||
3240 | |||
3241 | * src/cff/cffdrivr.c (cff_get_advances): Use correct advance width |
||
3242 | value to prevent incorrect scaling. |
||
3243 | |||
3244 | * docs/CHANGES: Document it. |
||
3245 | |||
3246 | 2009-02-15 Matt Godbolt |
||
3247 | |||
3248 | Fix Savannah bug #25588. |
||
3249 | |||
3250 | * builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for |
||
3251 | `orr' instruction. |
||
3252 | |||
3253 | 2009-02-11 Werner Lemberg |
||
3254 | |||
3255 | * src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'. |
||
3256 | Reported by David Bevan |
||
3257 | |||
3258 | 2009-02-09 Werner Lemberg |
||
3259 | |||
3260 | Fix Savannah bug #25495. |
||
3261 | |||
3262 | * src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before |
||
3263 | setting metrics and bbox values. This ensures that the check for a |
||
3264 | font with neither a `glyf' table nor bitmap strikes can be performed |
||
3265 | early enough to set metrics and bbox values too. |
||
3266 | |||
3267 | 2009-02-04 Werner Lemberg |
||
3268 | |||
3269 | Fix Savannah bug #25480. |
||
3270 | |||
3271 | * builds/unix/freetype-config.in: For --ftversion, don't use $prefix |
||
3272 | but $includedir. |
||
3273 | |||
3274 | 2009-01-31 Werner Lemberg |
||
3275 | |||
3276 | Minor docmaker improvements. |
||
3277 | |||
3278 | * src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty |
||
3279 | code blocks. |
||
3280 | |||
3281 | 2009-01-25 Werner Lemberg |
||
3282 | |||
3283 | Fix SCANCTRL handling in TTFs. |
||
3284 | Problem reported by Alexey Kryukov |
||
3285 | |||
3286 | * src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling. |
||
3287 | |||
3288 | 2009-01-23 Werner Lemberg |
||
3289 | |||
3290 | Move FT_Get_FSType_Flags to a separate file. |
||
3291 | Problem reported by Mickey Gabel |
||
3292 | |||
3293 | * src/base/ftobjs.c (FT_Get_FSType_Flags): Move to... |
||
3294 | * src/base/ftfstype.c: This new file. |
||
3295 | |||
3296 | * modules.cfg (BASE_EXTENSION): Add ftfstype.c. |
||
3297 | |||
3298 | * docs/INSTALL.ANY: Updated. |
||
3299 | |||
3300 | * builds/mac/*.txt, builds/amiga/*makefile*, |
||
3301 | builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*: |
||
3302 | Updated. |
||
3303 | |||
3304 | 2009-01-22 suzuki toshiya |
||
3305 | |||
3306 | * builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error |
||
3307 | messages ending without "\n". |
||
3308 | |||
3309 | 2009-01-22 suzuki toshiya |
||
3310 | |||
3311 | Fix Savannah bug #25347. |
||
3312 | |||
3313 | * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind |
||
3314 | the stream to the original position passed to this function, |
||
3315 | when ft_lookup_PS_in_sfnt_stream() failed. |
||
3316 | (Mac_Read_sfnt_Resource): Rewind the stream to the head of |
||
3317 | sfnt resource body, when open_face_PS_from_sfnt_stream() |
||
3318 | failed. |
||
3319 | |||
3320 | 2009-01-19 Michael Lotz |
||
3321 | |||
3322 | Fix Savannah bug #25355. |
||
3323 | |||
3324 | * include/freetype/config/ftconfig.h (FT_MulFix_i386): Make |
||
3325 | assembler code work with gcc 2.95.3 (as used by the Haiku project). |
||
3326 | Add `cc' register to the clobber list. |
||
3327 | |||
3328 | 2009-01-18 Werner Lemberg |
||
3329 | |||
3330 | Protect FT_Get_Next_Char. |
||
3331 | |||
3332 | * src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to |
||
3333 | change from 2008-07-22. |
||
3334 | |||
3335 | Patch from Ronen Ghoshal |
||
3336 | |||
3337 | 2009-01-18 Werner Lemberg |
||
3338 | |||
3339 | Implement FT_Get_Name_Index for SFNT driver. |
||
3340 | |||
3341 | * src/sfnt/sfdriver.c (sfnt_get_name_index): New function. |
||
3342 | (sfnt_service_glyph_dict): Use it. |
||
3343 | |||
3344 | Problem reported by Truc Truong |
||
3345 | |||
3346 | 2009-01-18 Werner Lemberg |
||
3347 | |||
3348 | * include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix |
||
3349 | documentation. Problem reported by Truc Truong |
||
3350 | |||
3351 | * docs/CHANGES: Updated. |
||
3352 | |||
3353 | 2009-01-14 Werner Lemberg |
||
3354 | |||
3355 | * Version 2.3.8 released. |
||
3356 | ========================= |
||
3357 | |||
3358 | |||
3359 | Tag sources with `VER-2-3-8'. |
||
3360 | |||
3361 | * docs/VERSION.DLL: Update documentation and bump version number to |
||
3362 | 2.3.8. |
||
3363 | |||
3364 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
||
3365 | builds/win32/visualc/freetype.dsp, |
||
3366 | builds/win32/visualc/freetype.vcproj, |
||
3367 | builds/win32/visualce/index.html, |
||
3368 | builds/win32/visualce/freetype.dsp, |
||
3369 | builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/. |
||
3370 | |||
3371 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8. |
||
3372 | |||
3373 | * builds/unix/configure.raw (version_info): Set to 9:19:3. |
||
3374 | |||
3375 | * docs/release: Updated. |
||
3376 | |||
3377 | 2009-01-14 Werner Lemberg |
||
3378 | |||
3379 | * builds/toplevel.mk (dist): Compress better. |
||
3380 | |||
3381 | 2009-01-13 Werner Lemberg |
||
3382 | |||
3383 | * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation |
||
3384 | with C++. |
||
3385 | |||
3386 | 2009-01-13 Werner Lemberg |
||
3387 | |||
3388 | Don't use stdlib.h and friends directly. |
||
3389 | Reported by Mickey Gabel |
||
3390 | |||
3391 | * src/base/ftdbgmem.c: s/ |
||
3392 | |||
3393 | * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h: |
||
3394 | s/ |
||
3395 | |||
3396 | * src/autofit/aftypes.h, src/autofit/afhints.c, |
||
3397 | src/pshinter/pshalgo.c: s/ |
||
3398 | |||
3399 | * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h. |
||
3400 | |||
3401 | 2009-01-12 Werner Lemberg |
||
3402 | |||
3403 | Avoid compiler warnings. |
||
3404 | |||
3405 | * */*: s/do ; while ( 0 )/do { } while ( 0 )/. |
||
3406 | Reported by Sean McBride |
||
3407 | |||
3408 | 2009-01-12 Werner Lemberg |
||
3409 | |||
3410 | Fix stdlib dependencies. |
||
3411 | |||
3412 | Problem reported by Mickey Gabel |
||
3413 | |||
3414 | * include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused. |
||
3415 | |||
3416 | * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c: |
||
3417 | s/memcpy/ft_memcpy/. |
||
3418 | * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/. |
||
3419 | |||
3420 | 2009-01-11 Werner Lemberg |
||
3421 | |||
3422 | * docs/formats.txt: Add link to PCF specification. |
||
3423 | |||
3424 | * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve |
||
3425 | documentation. |
||
3426 | |||
3427 | 2009-01-09 suzuki toshiya |
||
3428 | |||
3429 | * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance, |
||
3430 | FT_Get_Advances): Change the type of load_flags from FT_UInt32 to |
||
3431 | FT_Int32, to match with the flags for FT_Load_Glyph(). |
||
3432 | * src/cff/cffdrivr.c (cff_get_advances): Ditto. |
||
3433 | * src/truetype/ttdriver.c (tt_get_advances): Ditto. |
||
3434 | * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances): |
||
3435 | Ditto. |
||
3436 | * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc): |
||
3437 | Ditto. |
||
3438 | |||
3439 | 2009-01-09 Daniel Zimmermann |
||
3440 | |||
3441 | * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong |
||
3442 | length check. From Savannah patch #6682. |
||
3443 | |||
3444 | 2009-01-09 Werner Lemberg |
||
3445 | |||
3446 | Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2. |
||
3447 | |||
3448 | * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle |
||
3449 | `count_offset' if it is zero (i.e., unused). Otherwise, the first |
||
3450 | element of the structure which holds the data is erroneously |
||
3451 | modified. Problem reported by Chi Nguyen |
||
3452 | |||
3453 | 2009-01-09 suzuki toshiya |
||
3454 | |||
3455 | * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance, |
||
3456 | FT_Get_Advances): Extend the type of load_flags from FT_UInt to |
||
3457 | FT_UInt32, to pass 32-bit flags on 16bit platforms. |
||
3458 | * src/cff/cffdrivr.c (cff_get_advances): Ditto. |
||
3459 | * src/truetype/ttdriver.c (tt_get_advances): Ditto. |
||
3460 | * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances): |
||
3461 | Ditto. |
||
3462 | * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc): |
||
3463 | Ditto. |
||
3464 | |||
3465 | 2009-01-09 suzuki toshiya |
||
3466 | |||
3467 | * src/base/ftobjs.c (FT_Done_Library): Issue an error message when |
||
3468 | FT_Done_Face() cannot free all faces. If the list of the opened |
||
3469 | faces includes broken face which FT_Done_Face() cannot free, |
||
3470 | FT_Done_Library() retries FT_Done_Face() and it can fall into |
||
3471 | an endless loop. See the discussion: |
||
3472 | http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html |
||
3473 | http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html |
||
3474 | |||
3475 | 2009-01-07 Werner Lemberg |
||
3476 | |||
3477 | * docs/CHANGES: Document new key `a' in ftdiff. |
||
3478 | |||
3479 | 2009-01-06 Werner Lemberg |
||
3480 | |||
3481 | * autogen.sh: Don't use GNUisms while calling sed. Problem reported |
||
3482 | by Sean McBride. |
||
3483 | |||
3484 | 2009-01-06 Werner Lemberg |
||
3485 | |||
3486 | * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD |
||
3487 | and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen |
||
3488 |
|
||
3489 | |||
3490 | 2009-01-06 Diego Pettenò |
||
3491 | |||
3492 | * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and |
||
3493 | AC_CANONICAL_TARGET and use $host_os only. A nice explanation for |
||
3494 | this change can be found at |
||
3495 | http://blog.flameeyes.eu/s/canonical-target. |
||
3496 | |||
3497 | From Savannah patch #6712. |
||
3498 | |||
3499 | 2009-01-06 Sean McBride |
||
3500 | |||
3501 | * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static. |
||
3502 | |||
3503 | * src/base/ftmac.c: Remove some #undefs. |
||
3504 | |||
3505 | 2008-12-26 Werner Lemberg |
||
3506 | |||
3507 | Set `face_index' field in FT_Face for all font formats. |
||
3508 | |||
3509 | * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init), |
||
3510 | sfnt/sfobjs.c (sfnt_init_face): Do it. |
||
3511 | |||
3512 | * docs/CHANGES: Document it. |
||
3513 | |||
3514 | 2008-12-22 Steve Grubb |
||
3515 | |||
3516 | * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files. |
||
3517 | Patch from Savannah bug #25151. |
||
3518 | |||
3519 | 2008-12-21 Werner Lemberg |
||
3520 | |||
3521 | * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c, |
||
3522 | src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c: |
||
3523 | s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for |
||
3524 | errors in the bytecode interpreter only. |
||
3525 | |||
3526 | 2008-12-21 Werner Lemberg |
||
3527 | |||
3528 | * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL |
||
3529 | arguments. |
||
3530 | Fix return value for non-PFR fonts. Both problems reported by Chi |
||
3531 | Nguyen |
||
3532 | |||
3533 | 2008-12-21 anonymous |
||
3534 | |||
3535 | FT_USE_MODULE declares things as: |
||
3536 | |||
3537 | extern const FT_Module_Class |
||
3538 | |||
3539 | (or similar for C++). However, the actual types of the variables |
||
3540 | being declared are often different, e.g., FT_Driver_ClassRec or |
||
3541 | FT_Renderer_Class. (Some are, indeed, FT_Module_Class.) |
||
3542 | |||
3543 | This works with most C compilers (since those structs begin with an |
||
3544 | FT_Module_Class struct), but technically it's undefined behavior. |
||
3545 | |||
3546 | To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7 |
||
3547 | paragraph 2: |
||
3548 | |||
3549 | All declarations that refer to the same object or function shall |
||
3550 | have compatible type; otherwise, the behavior is undefined. |
||
3551 | |||
3552 | (And they are not compatible types.) |
||
3553 | |||
3554 | Most C compilers don't reject (or even detect!) code which has this |
||
3555 | issue, but the GCC LTO development branch compiler does. (It |
||
3556 | outputs the types of the objects while generating .o files, along |
||
3557 | with a bunch of other information, then compares them when doing the |
||
3558 | final link-time code generation pass.) |
||
3559 | |||
3560 | Patch from Savannah bug #25133. |
||
3561 | |||
3562 | * src/base/ftinit.c (FT_USE_MODULE): Include variable type. |
||
3563 | |||
3564 | * builds/amiga/include/freetype/config/ftmodule.h, |
||
3565 | include/freetype/config/ftmodule.h, */module.mk: Updated to declare |
||
3566 | pass correct types to FT_USE_MODULE. |
||
3567 | |||
3568 | 2008-12-21 Hongbo Ni |
||
3569 | |||
3570 | * src/autofit/aflatin.c (af_latin_hint_edges), |
||
3571 | src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c |
||
3572 | (af_cjk_hint_edges): Protect against division by zero. This fixes |
||
3573 | Savannah bug #25124. |
||
3574 | |||
3575 | 2008-12-18 Werner Lemberg |
||
3576 | |||
3577 | * docs/CHANGES: Updated. |
||
3578 | |||
3579 | 2008-12-18 Bevan, David |
||
3580 | |||
3581 | Provide API for accessing embedding and subsetting restriction |
||
3582 | information. |
||
3583 | |||
3584 | * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING, |
||
3585 | FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING, |
||
3586 | FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING, |
||
3587 | FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New |
||
3588 | macros. |
||
3589 | (FT_Get_FSType_Flags): New function declaration. |
||
3590 | |||
3591 | * src/base/ftobjs.c (FT_Get_FSType_Flags): New function. |
||
3592 | |||
3593 | * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c |
||
3594 | (t42_keywords): Handle `FSType'. |
||
3595 | |||
3596 | * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field. |
||
3597 | |||
3598 | 2008-12-17 Werner Lemberg |
||
3599 | |||
3600 | * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal |
||
3601 | macros so that copying the source code into an application works |
||
3602 | out of the box. |
||
3603 | |||
3604 | 2008-12-17 Werner Lemberg |
||
3605 | |||
3606 | * include/freetype/ftsynth.h, src/base/ftsynth.c: Move |
||
3607 | FT_GlyphSlot_Own_Bitmap to... |
||
3608 | * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files. |
||
3609 | |||
3610 | * docs/CHANGES: Document it. |
||
3611 | |||
3612 | 2008-12-10 Werner Lemberg |
||
3613 | |||
3614 | Generalize the concept of `tricky' fonts by introducing |
||
3615 | FT_FACE_FLAG_TRICKY to indicate that the font format's hinting |
||
3616 | engine is necessary for correct rendering. |
||
3617 | |||
3618 | At the same time, slightly modify the behaviour of tricky fonts: |
||
3619 | FT_LOAD_NO_HINTING is now ignored. To really force raw loading |
||
3620 | of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and |
||
3621 | FT_LOAD_NO_AUTOHINT must be used. |
||
3622 | |||
3623 | Finally, tricky TrueType fonts always use the bytecode interpreter |
||
3624 | even if the patented code is used. |
||
3625 | |||
3626 | * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY): |
||
3627 | New macros. |
||
3628 | |||
3629 | * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags |
||
3630 | semantics as described above. |
||
3631 | |||
3632 | * src/truetype/ttobjs.c (tt_check_trickyness): New function, using |
||
3633 | code of ... |
||
3634 | (tt_face_init): This function, now simplified and updated to new |
||
3635 | semantics. |
||
3636 | |||
3637 | * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky |
||
3638 | fonts. |
||
3639 | |||
3640 | * docs/CHANGES: Document it. |
||
3641 | |||
3642 | 2008-12-09 Werner Lemberg |
||
3643 | |||
3644 | Really fix Savannah bug #25010: An SFNT font with neither outlines |
||
3645 | nor bitmaps can be considered as containing space `glyphs' only. |
||
3646 | |||
3647 | * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where |
||
3648 | a `glyf' table is missing. |
||
3649 | |||
3650 | * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no |
||
3651 | `glyf' table but a non-zero `loca' entry. |
||
3652 | (tt_loader_init): Handle missing `glyf' table. |
||
3653 | |||
3654 | * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05. |
||
3655 | |||
3656 | * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines |
||
3657 | nor bitmaps is scalable. |
||
3658 | |||
3659 | 2008-12-05 Werner Lemberg |
||
3660 | |||
3661 | * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This |
||
3662 | fixes Savannah bug #21190 which also provides a basic patch. |
||
3663 | |||
3664 | 2008-12-05 Werner Lemberg |
||
3665 | |||
3666 | * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value |
||
3667 | 0x100 instead of 0x10000; the latter value is already occupied by |
||
3668 | FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos. |
||
3669 | |||
3670 | |||
3671 | Handle SFNT with neither outlines nor bitmaps. This fixes Savannah |
||
3672 | bug #25010. |
||
3673 | |||
3674 | * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither |
||
3675 | outlines nor bitmaps. |
||
3676 | |||
3677 | * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there |
||
3678 | is no table with glyphs. |
||
3679 | |||
3680 | |||
3681 | * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging |
||
3682 | message. |
||
3683 | |||
3684 | 2008-12-01 Werner Lemberg |
||
3685 | |||
3686 | GDEF tables need `glyph_count' too for validation. Problem reported |
||
3687 | by Chi Nguyen |
||
3688 | |||
3689 | * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h |
||
3690 | (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass |
||
3691 | `glyph_count'. |
||
3692 | |||
3693 | 2008-11-29 Werner Lemberg |
||
3694 | |||
3695 | * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c, |
||
3696 | src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c, |
||
3697 | src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c, |
||
3698 | src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c, |
||
3699 | src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings |
||
3700 | (Atari PureC). |
||
3701 | |||
3702 | 2008-11-29 James Cloos |
||
3703 | |||
3704 | * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix |
||
3705 | it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values |
||
3706 | in the /BlendDesignMap space). |
||
3707 | |||
3708 | 2008-11-29 James Cloos |
||
3709 | |||
3710 | * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*, |
||
3711 | whereas `design_points' is FT_Long*. Therefore, return blend rather |
||
3712 | than design points. |
||
3713 | |||
3714 | 2008-11-27 Werner Lemberg |
||
3715 | |||
3716 | * src/cff/cffparse.c (cff_parse_real): Handle more than nine |
||
3717 | significant digits correctly. This fixes Savannah bug #24953. |
||
3718 | |||
3719 | 2008-11-25 Daniel Zimmermann |
||
3720 | |||
3721 | * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream |
||
3722 | before the NULL check. From Savannah patch #6681. |
||
3723 | |||
3724 | 2008-11-24 Werner Lemberg |
||
3725 | |||
3726 | Fixes from the gnuwin32 port. |
||
3727 | |||
3728 | * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/. |
||
3729 | |||
3730 | * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H. |
||
3731 | |||
3732 | * src/psaux/psobjs.c (ps_table_add): Check `length'. |
||
3733 | |||
3734 | 2008-11-15 Werner Lemberg |
||
3735 | |||
3736 | * src/truetype/ttinterp.c (tt_default_graphics_state): The default |
||
3737 | value for `scan_type' is zero, as confirmed by Greg Hitchcock from |
||
3738 | Microsoft. Problem reported by Michal Nowakowski |
||
3739 |
|
||
3740 | |||
3741 | 2008-11-12 Tor Andersson |
||
3742 | |||
3743 | * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field. |
||
3744 | This fixes Savannah bug #24819. |
||
3745 | |||
3746 | 2008-11-08 Werner Lemberg |
||
3747 | |||
3748 | * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards |
||
3749 | since OpenType version 1.5 has been released. |
||
3750 | |||
3751 | * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY, |
||
3752 | TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5. |
||
3753 | (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE, |
||
3754 | TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN, |
||
3755 | TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE, |
||
3756 | TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI, |
||
3757 | TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC, |
||
3758 | TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA, |
||
3759 | TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING, |
||
3760 | TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE, |
||
3761 | TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI, |
||
3762 | TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS, |
||
3763 | TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New |
||
3764 | macros for OpenType 1.5. |
||
3765 | |||
3766 | 2008-11-08 Wenlin Institute |
||
3767 | |||
3768 | * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against |
||
3769 | slot->internal == NULL. Reported by Graham Asher. |
||
3770 | |||
3771 | 2008-11-08 Werner Lemberg |
||
3772 | |||
3773 | * src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error |
||
3774 | code so that memory allocation problems can be distinguished from |
||
3775 | missing table entries. Reported by Graham Asher. |
||
3776 | (GET_NAME): New macro. |
||
3777 | (sfnt_load_face): Use it. |
||
3778 | |||
3779 | 2008-11-05 Werner Lemberg |
||
3780 | |||
3781 | * devel/ftoption.h, include/freetype/config/ftoption.h |
||
3782 | [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine |
||
3783 | TT_CONFIG_OPTION_UNPATENTED_HINTING. This fixes the return value of |
||
3784 | `FT_Get_TrueType_Engine_Type' (and makes it work as documented). |
||
3785 | Reported in bug #441638 of bugzilla.novell.com. |
||
3786 | |||
3787 | * docs/CHANGES: Document it. |
||
3788 | |||
3789 | 2008-11-03 Werner Lemberg |
||
3790 | |||
3791 | * src/type1/t1load.c (parse_subrs): Use an endless loop. There are |
||
3792 | fonts (like HELVI.PFB version 003.001, used on OS/2) which define |
||
3793 | some `subrs' elements more than once. Problem reported by Peter |
||
3794 | Weilbacher |
||
3795 | |||
3796 | 2008-10-15 Graham Asher |
||
3797 | |||
3798 | * src/sfnt/ttpost.c (tt_post_default_names): Add `const'. |
||
3799 | |||
3800 | 2008-10-15 David Turner |
||
3801 | |||
3802 | * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for |
||
3803 | meddlesome compilers' warning against `for ( ...; ...; ...) ;'. |
||
3804 | |||
3805 | 2008-10-14 Werner Lemberg |
||
3806 | |||
3807 | * src/cff/cffobjs.c (cff_face_init): Remove compiler warning. |
||
3808 | Suggested by Bram Tassyns in Savannah patch #6651. |
||
3809 | |||
3810 | 2008-10-12 Graham Asher |
||
3811 | |||
3812 | * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of |
||
3813 | `underline_position'. |
||
3814 | |||
3815 | 2008-10-12 Werner Lemberg |
||
3816 | |||
3817 | * docs/CHANGES: Updated. |
||
3818 | |||
3819 | 2008-10-09 suzuki toshiya |
||
3820 | |||
3821 | Fix Savannah bug #24468. |
||
3822 | |||
3823 | According to include/freetype/internal/ftobjs.h, the appropriate |
||
3824 | type to interchange single character codepoint is FT_UInt32. It |
||
3825 | should be distinguished from FT_UInt which can be 16bit integer. |
||
3826 | |||
3827 | * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type |
||
3828 | of the second argument `pcharcode' from FT_UInt* to FT_UInt32*. |
||
3829 | (tt_cmap4_char_map_binary): Ditto. |
||
3830 | (tt_cmap14_get_nondef_chars): Change the type of return value |
||
3831 | from FT_UInt* to FT_UInt32*. |
||
3832 | |||
3833 | 2008-10-08 John Tytgat |
||
3834 | |||
3835 | Fix Savannah bug #24485. |
||
3836 | |||
3837 | * src/type1/t1load.c (parse_charstrings): Assure that we always have |
||
3838 | a .notdef glyph. |
||
3839 | |||
3840 | 2008-10-05 suzuki toshiya |
||
3841 | |||
3842 | * src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build. |
||
3843 | * builds/mac/ftmac.c: Ditto. |
||
3844 | |||
3845 | 2008-10-05 suzuki toshiya |
||
3846 | |||
3847 | * include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions. |
||
3848 | * src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H. |
||
3849 | |||
3850 | 2008-10-05 suzuki toshiya |
||
3851 | |||
3852 | * src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in |
||
3853 | the beginning of sfnt container. |
||
3854 | * src/sfnt/ttload.c (check_table_dir): Return |
||
3855 | `SFNT_Err_Table_Missing' when sfnt table directory structure is |
||
3856 | correct but essential tables for TrueType fonts (`head', `bhed' or |
||
3857 | `SING') are missing. Other errors are returned by |
||
3858 | SFNT_Err_Unknown_File_Format. |
||
3859 | |||
3860 | * src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns |
||
3861 | `FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'. It is |
||
3862 | enabled only when old mac font support is configured. |
||
3863 | |||
3864 | 2008-10-04 suzuki toshiya |
||
3865 | |||
3866 | * include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN, |
||
3867 | TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify |
||
3868 | the repeated calculations of these values in ftobjs.c and ftmac.c. |
||
3869 | * src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags. |
||
3870 | * src/base/ftmac.c: Ditto. |
||
3871 | * builds/mac/ftmac.c: Ditto. |
||
3872 | |||
3873 | 2008-10-04 suzuki toshiya |
||
3874 | |||
3875 | * src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong |
||
3876 | initialization of *is_sfnt_cid. |
||
3877 | |||
3878 | 2008-10-04 Werner Lemberg |
||
3879 | |||
3880 | * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler |
||
3881 | warnings. |
||
3882 | |||
3883 | 2008-10-04 suzuki toshiya |
||
3884 | |||
3885 | * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by... |
||
3886 | (ft_lookup_PS_in_sfnt_stream): This. |
||
3887 | (open_face_PS_from_sfnt_stream): New function. It checks whether |
||
3888 | the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed |
||
3889 | font, then try to open a face for given face_index. |
||
3890 | (Mac_Read_sfnt_Resource): Replace the combination of |
||
3891 | `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by |
||
3892 | `open_face_PS_from_sfnt_stream'. |
||
3893 | * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto. |
||
3894 | * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto. |
||
3895 | * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add |
||
3896 | `open_face_PS_from_sfnt_stream'. |
||
3897 | |||
3898 | 2008-10-03 suzuki toshiya |
||
3899 | |||
3900 | * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to |
||
3901 | FALSE if neither `CID ' nor `TYP1' is found in the sfnt container. |
||
3902 | |||
3903 | 2008-10-03 suzuki toshiya |
||
3904 | |||
3905 | * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or |
||
3906 | MrC compiler of MPW is used. These compilers do not define the |
||
3907 | macro __APPLE__ by themselves. |
||
3908 | * builds/unix/ftconfig.in: Ditto. |
||
3909 | * builds/vms/ftconfig.h: Ditto. |
||
3910 | * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to |
||
3911 | include ftmac.c if FreeType 2 is built by MPW. |
||
3912 | * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to |
||
3913 | enable shared functions for ftmac.c if FreeType 2 is built by MPW. |
||
3914 | |||
3915 | * builds/mac/ftmac.c: Include ftbase.h. |
||
3916 | (memory_stream_close): Removed. |
||
3917 | (new_memory_stream): Ditto. |
||
3918 | (open_face_from_buffer): Removed. Use the implementation in |
||
3919 | ftobjs.c. |
||
3920 | (ft_lookup_PS_in_sfnt): Ditto. |
||
3921 | |||
3922 | * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an |
||
3923 | included part of ftbase.c, to share the functions in ftobjs.c. The |
||
3924 | rule compiling ftmac.c separately is removed and the rule copying |
||
3925 | ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added. |
||
3926 | * builds/mac/FreeType.m68k_cfm.make.txt: Ditto. |
||
3927 | * builds/mac/FreeType.ppc_classic.make.txt: Ditto. |
||
3928 | * builds/mac/FreeType.ppc_carbon.make.txt: Ditto. |
||
3929 | |||
3930 | 2008-10-02 Bram Tassyns |
||
3931 | |||
3932 | * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This |
||
3933 | fixes Savannah bug #24430. |
||
3934 | |||
3935 | 2008-10-02 Werner Lemberg |
||
3936 | |||
3937 | * builds/freetype.mk (BASE_H): Rename to... |
||
3938 | (INTERNAL_H): This. |
||
3939 | (FREETYPE_H): Updated. |
||
3940 | * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H. |
||
3941 | * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h. |
||
3942 | * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h. |
||
3943 | * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h. |
||
3944 | * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h. |
||
3945 | * src/type42/rules.mk (T42_DRV_H): Add t42types.h. |
||
3946 | |||
3947 | 2008-10-02 suzuki toshiya |
||
3948 | |||
3949 | * src/base/ftbase.h: New file to declare the private utility |
||
3950 | functions shared by the sources of base modules. Currently, |
||
3951 | `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to |
||
3952 | share between ftobjs.c and ftmac.c. |
||
3953 | |||
3954 | * src/base/rule.mk: Add ftbase.h. |
||
3955 | |||
3956 | * src/base/ftobjs.c: Include ftbase.h. |
||
3957 | (memory_stream_close): Build on any platform when old MacOS font |
||
3958 | support is enabled. |
||
3959 | (new_memory_stream): Ditto. |
||
3960 | (open_face_from_buffer): Build on any platform when old MacOS font |
||
3961 | support is enabled. The counting of the face in a font file is |
||
3962 | slightly different between Carbon-dependent parser and Carbon-free |
||
3963 | parser. They are merged with the platform-specific conditional. |
||
3964 | (ft_lookup_PS_in_sfnt): Ditto. |
||
3965 | |||
3966 | * src/base/ftmac.c: Include ftbase.h. |
||
3967 | (memory_stream_close): Removed. |
||
3968 | (new_memory_stream): Ditto. |
||
3969 | (open_face_from_buffer): Removed. Use the implementation in |
||
3970 | ftobjs.c. |
||
3971 | (ft_lookup_PS_in_sfnt): Ditto. |
||
3972 | |||
3973 | 2008-10-02 Werner Lemberg |
||
3974 | |||
3975 | * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed |
||
3976 | if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined. |
||
3977 | |||
3978 | 2008-10-01 Werner Lemberg |
||
3979 | |||
3980 | * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c |
||
3981 | (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done), |
||
3982 | src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c |
||
3983 | (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done), |
||
3984 | src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0. |
||
3985 | Reported by Graham Asher. |
||
3986 | |||
3987 | 2008-09-30 suzuki toshiya |
||
3988 | |||
3989 | * src/base/rules.mk: Add conditional source to BASE_SRC, for `make |
||
3990 | multi' on Mac OS X. If the macro $(ftmac_c) is defined, |
||
3991 | $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the |
||
3992 | lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes |
||
3993 | ftmac.c. |
||
3994 | * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c). |
||
3995 | * builds/unix/configure.raw: Add procedure to set up appropriate |
||
3996 | value of $(ftmac_c) with the consideration of the availability of |
||
3997 | Carbon framework. |
||
3998 | |||
3999 | 2008-09-30 suzuki toshiya |
||
4000 | |||
4001 | * src/base/Jamfile: Add target for multi build by jam on Mac OS X. |
||
4002 | * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this |
||
4003 | function for MPW building. It is synchronized the condition to |
||
4004 | include ftmac.c source into ftbase.c. |
||
4005 | |||
4006 | 2008-09-22 Werner Lemberg |
||
4007 | |||
4008 | * src/cff/cffgload.c (CFF_Operator, cff_argument_counts, |
||
4009 | cff_decoder_parse_charstrings): Handle (invalid) |
||
4010 | `callothersubr' and `pop' instructions. |
||
4011 | |||
4012 | 2008-09-22 John Tytgat |
||
4013 | |||
4014 | Fix Savannah bug #24307. |
||
4015 | |||
4016 | * include/freetype/internal/t1types.h (CID_FaceRec), |
||
4017 | src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'. |
||
4018 | |||
4019 | 2008-09-21 Werner Lemberg |
||
4020 | |||
4021 | * src/smooth/ftgrays.c (gray_raster_render): Don't dereference |
||
4022 | `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by |
||
4023 | Stephan T. Lavavej |
||
4024 | |||
4025 | 2008-09-21 suzuki toshiya |
||
4026 | |||
4027 | * src/otvalid/Jamfile: Add missing target `otvmath' for multi build |
||
4028 | by jam. |
||
4029 | * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by |
||
4030 | jam. |
||
4031 | |||
4032 | 2008-09-20 Werner Lemberg |
||
4033 | |||
4034 | * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values |
||
4035 | passed to this function are already `normalized'. Problem reported |
||
4036 | by Stephan T. Lavavej |
||
4037 | |||
4038 | * docs/CHANGES: Document it. |
||
4039 | |||
4040 | 2008-09-20 Werner Lemberg |
||
4041 | |||
4042 | * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H. |
||
4043 | (FT_Outline_Decompose): Decorate with tracing messages. |
||
4044 | |||
4045 | * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with |
||
4046 | FT_DEBUG_LEVEL_TRACE. |
||
4047 | [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and |
||
4048 | stdarg.h. |
||
4049 | |||
4050 | (FT_TRACE) [_STANDALONE_]: Remove. |
||
4051 | (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function. |
||
4052 | (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros. |
||
4053 | (FT_ERROR) [_STANDALONE_]: Updated. |
||
4054 | |||
4055 | (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition. |
||
4056 | Use FT_TRACE7. |
||
4057 | (gray_dump_cells): Make it `static void'. |
||
4058 | (gray_convert_glyph): Use FT_TRACE7. |
||
4059 | |||
4060 | (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in |
||
4061 | ftoutln.c. |
||
4062 | |||
4063 | * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use |
||
4064 | FT_ERROR_BASE. |
||
4065 | |||
4066 | * docs/formats.txt: Updated. |
||
4067 | |||
4068 | 2008-09-19 suzuki toshiya |
||
4069 | |||
4070 | * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped |
||
4071 | CID-keyed font support. |
||
4072 | * builds/mac/ftmac.c: Ditto. |
||
4073 | |||
4074 | 2008-09-19 suzuki toshiya |
||
4075 | |||
4076 | * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in |
||
4077 | sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code. |
||
4078 | `open_face_from_buffer' frees the passed buffer if it cannot open a |
||
4079 | face from the buffer, so the caller must not free it. |
||
4080 | |||
4081 | 2008-09-19 suzuki toshiya |
||
4082 | |||
4083 | * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support |
||
4084 | for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font. |
||
4085 | (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID ' |
||
4086 | table in sfnt table directory. It is used before loading TrueType |
||
4087 | font driver. |
||
4088 | |||
4089 | * docs/CHANGES: Add note about the current status of sfnt-wrapped |
||
4090 | Type1 and sfnt-wrapped CID-keyed font support. |
||
4091 | |||
4092 | 2008-09-18 Werner Lemberg |
||
4093 | |||
4094 | * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for |
||
4095 | orthogonality (ft_free and ft_sfree could belong to different memory |
||
4096 | pools). This fixes Savannah bug #24297. |
||
4097 | |||
4098 | 2008-09-18 suzuki toshiya |
||
4099 | |||
4100 | * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined |
||
4101 | in ttags.h instead of numerical value 0x4F54544FL. |
||
4102 | |||
4103 | 2008-09-16 Werner Lemberg |
||
4104 | |||
4105 | * src/cff/cffgload.h, src/cff/cffgload.c |
||
4106 | (cff_decoder_set_width_only): Eliminate function call. |
||
4107 | |||
4108 | 2008-09-15 George Williams |
||
4109 | |||
4110 | Fix Savannah bug #24179, reported by Bram Tassyns. |
||
4111 | |||
4112 | * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation |
||
4113 | of default values. |
||
4114 | |||
4115 | 2008-09-15 Werner Lemberg |
||
4116 | |||
4117 | * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index' |
||
4118 | and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to |
||
4119 | prevent unconditional definition. This fixes Savannah bug #24241. |
||
4120 | |||
4121 | * src/psnames/pstables.h: Regenerated. |
||
4122 | |||
4123 | 2008-09-13 Werner Lemberg |
||
4124 | |||
4125 | * autogen.sh, builds/unix/configure.raw, |
||
4126 | include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor |
||
4127 | beautifying. |
||
4128 | |||
4129 | * include/freetype/ftadvanc.h, include/freetype/ftgasp.h, |
||
4130 | include/freetype/ftlcdfil.h: Protect against FreeType 1. |
||
4131 | Some other minor fixes. |
||
4132 | |||
4133 | * devel/ftoption.h: Synchronize with |
||
4134 | include/freetype/config/ftoption.h. |
||
4135 | |||
4136 | 2008-09-11 Werner Lemberg |
||
4137 | |||
4138 | * src/base/ftbase.c: Include ftadvanc.c. |
||
4139 | |||
4140 | 2008-09-11 suzuki toshiya |
||
4141 | |||
4142 | * builds/unix/ftconfig.in: Duplicate the cpp computation of |
||
4143 | FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h. |
||
4144 | (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp |
||
4145 | computation is disabled and the statically configured sizes are |
||
4146 | used. This fixes Savannah bug #21250. |
||
4147 | |||
4148 | * builds/unix/configure.raw: Add the checks to compare the cpp |
||
4149 | computation results of the bit length of int and long versus the |
||
4150 | sizes detected by running `configure'. If the results are |
||
4151 | different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the |
||
4152 | results. |
||
4153 | New option --{enable|disable}-biarch-config is added to define or |
||
4154 | undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually. |
||
4155 | |||
4156 | 2008-09-05 suzuki toshiya |
||
4157 | |||
4158 | * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or |
||
4159 | ApplicationService framework is missing. Although this value is not |
||
4160 | used in building of FreeType2, it is written in `freetype2.pc' and |
||
4161 | `freetype-config'. |
||
4162 | |||
4163 | 2008-09-01 david turner |
||
4164 | |||
4165 | * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap |
||
4166 | index to mean `use default cached FT_Face's charmap'. This fixes |
||
4167 | Savannah bug #22625. |
||
4168 | * include/freetype/ftcache.h: Document it. |
||
4169 | |||
4170 | |||
4171 | Make FT_MulFix an inlined function. This is done to speed up |
||
4172 | FreeType a little (on x86 3% when loading+hinting, 10% when |
||
4173 | rendering, ARM savings are more important though). Disable this by |
||
4174 | undefining FT_CONFIG_OPTION_INLINE_MULFIX. |
||
4175 | |||
4176 | Use of assembler code can now be controlled with |
||
4177 | FT_CONFIG_OPTION_NO_ASSEMBLER. |
||
4178 | |||
4179 | * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in |
||
4180 | [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler |
||
4181 | implementation. |
||
4182 | [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler |
||
4183 | implementation taken from `ftcalc.c'. |
||
4184 | [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro |
||
4185 | which is defined to the platform-specific assembler implementation |
||
4186 | of FT_MulFix. |
||
4187 | [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER] |
||
4188 | (FT_MULFIX_INLINED): New macro. |
||
4189 | |||
4190 | * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER, |
||
4191 | FT_CONFIG_OPTION_INLINE_MULFIX): New macros. |
||
4192 | |||
4193 | * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED. |
||
4194 | |||
4195 | * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and |
||
4196 | FT_MULFIX_INLINED. |
||
4197 | |||
4198 | |||
4199 | Add a new header named FT_ADVANCES_H declaring some new APIs to |
||
4200 | extract the advances of one or more glyphs without necessarily |
||
4201 | loading their outlines. Also provide `fast loaders' for the |
||
4202 | TrueType, Type1, and CFF font drivers (more to come later). |
||
4203 | |||
4204 | * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files. |
||
4205 | |||
4206 | * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro. |
||
4207 | * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro. |
||
4208 | |||
4209 | * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc): |
||
4210 | `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed', |
||
4211 | respectively. |
||
4212 | |||
4213 | * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add |
||
4214 | ftadvanc.c. |
||
4215 | |||
4216 | * src/cff/cffdrivr.c (cff_get_advances): New function. |
||
4217 | (cff_driver_class): Register it. |
||
4218 | |||
4219 | * src/cff/cffgload.c (cff_decoder_set_width_only): New function. |
||
4220 | (cff_decoder_parse_charstrings): Handle `width_only'. |
||
4221 | (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY. |
||
4222 | |||
4223 | * src/cff/cffgload.h (cff_decoder): New element `width_only'. |
||
4224 | (cff_decoder_set_width_only): New declaration. |
||
4225 | |||
4226 | * src/truetype/ttdriver.c (tt_get_advances): New function. |
||
4227 | (tt_driver_class): Register it. |
||
4228 | |||
4229 | * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to... |
||
4230 | (TT_Get_HMetrics, TT_Get_VMetrics): This. |
||
4231 | Update callers. |
||
4232 | * src/truetype/ttgload.h: Declare them. |
||
4233 | |||
4234 | * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New |
||
4235 | function. |
||
4236 | * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances. |
||
4237 | |||
4238 | |||
4239 | Add checks for minimum version of the `autotools' stuff. |
||
4240 | |||
4241 | * autogen.sh: Implement it. |
||
4242 | (get_major_version, get_minor_version, get_patch_version, |
||
4243 | compare_to_minimum_version, check_tool_version): New auxiliary |
||
4244 | functions. |
||
4245 | |||
4246 | * README.CVS: Document it. |
||
4247 | |||
4248 | 2008-08-29 suzuki toshiya |
||
4249 | |||
4250 | * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in |
||
4251 | ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ). |
||
4252 | |||
4253 | 2008-08-28 Werner Lemberg |
||
4254 | |||
4255 | * src/type1/t1load.c (parse_encoding): Protect against infinite |
||
4256 | loop. This fixes Savannah bug #24150 (where a patch has been posted |
||
4257 | too). |
||
4258 | |||
4259 | 2008-08-23 Werner Lemberg |
||
4260 | |||
4261 | * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c |
||
4262 | (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug |
||
4263 | #24119. |
||
4264 | |||
4265 | 2008-08-19 suzuki toshiya |
||
4266 | |||
4267 | * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always, |
||
4268 | even if passed library or arguments are invalid. This fixes a bug |
||
4269 | that an uninitialized stream is freed when an invalid library handle |
||
4270 | is passed. Originally proposed by Mike Fabian, 2008/08/18 on |
||
4271 | freetype-devel. |
||
4272 | (FT_Open_Face): Ditto (stream). |
||
4273 | (load_face_in_embedded_rfork): Ditto (stream2). |
||
4274 | |||
4275 | 2008-08-18 suzuki toshiya |
||
4276 | |||
4277 | * src/base/ftmac.c: Add a fallback to guess the availability of the |
||
4278 | `ResourceIndex' type. It is used when built without configure |
||
4279 | (e.g., a build with Jam). |
||
4280 | * builds/mac/ftmac.c: Ditto. |
||
4281 | * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0 |
||
4282 | explicitly, even if `ResourceIndex' is unavailable. |
||
4283 | |||
4284 | 2008-08-18 suzuki toshiya |
||
4285 | |||
4286 | * builds/unix/configure.raw: In checking of Mac OS X features, |
||
4287 | all-in-one header file `Carbon.h' is replaced by the minimum |
||
4288 | header file `CoreServices.h', similar to current src/base/ftmac.c. |
||
4289 | |||
4290 | 2008-08-18 suzuki toshiya |
||
4291 | |||
4292 | * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of |
||
4293 | sub-header when its code_count is 0. Many Japanese Dynalab fonts |
||
4294 | include such an empty sub-header (code_count == 0, first_code == 0 |
||
4295 | delta == 0, but offset != 0) as the second sub-header in SJIS cmap. |
||
4296 | |||
4297 | 2008-08-04 Werner Lemberg |
||
4298 | |||
4299 | * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes |
||
4300 | Savannah bug #23995. |
||
4301 | |||
4302 | * src/cid/cidload.c (parse_expansion_factor): New callback function. |
||
4303 | (cid_field_records): Use it for `ExpansionFactor'. |
||
4304 | * src/cod/cidtoken.h: Handle `ForceBold' keyword. |
||
4305 | Don't handle `ExpansionFactor'. |
||
4306 | |||
4307 | 2008-08-04 Bram Tassyns |
||
4308 | |||
4309 | * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which |
||
4310 | resulted in incorrect scaling. This fixes Savannah bug #23973. |
||
4311 | |||
4312 | 2008-08-04 Werner Lemberg |
||
4313 | |||
4314 | Be more tolerant w.r.t. invalid entries in SFNT table directory. |
||
4315 | |||
4316 | * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and |
||
4317 | adjust table count. |
||
4318 | Add more trace messages. |
||
4319 | (tt_face_load_font_dir): Updated. |
||
4320 | |||
4321 | 2008-07-30 Werner Lemberg |
||
4322 | |||
4323 | * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer |
||
4324 | assume that the first argument on the stack is the bottom-most |
||
4325 | element. Two reasons: |
||
4326 | |||
4327 | o According to people from Adobe it is missing in the Type 2 |
||
4328 | specification that pushing of additional, superfluous arguments |
||
4329 | on the stack is prohibited. |
||
4330 | |||
4331 | o Acroread in general handles fonts differently, namely by popping |
||
4332 | the number of arguments needed for a particular operand (as a PS |
||
4333 | interpreter would do). In case of buggy fonts this causes a |
||
4334 | different interpretation which of the elements on the stack are |
||
4335 | superfluous and which not. |
||
4336 | |||
4337 | Since there are CFF subfonts (embedded in PDFs) which rely on |
||
4338 | Acroread's behaviour, FreeType now does the same. |
||
4339 | |||
4340 | 2008-07-27 Werner Lemberg |
||
4341 | |||
4342 | Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This |
||
4343 | fixes Savannah bug #23940. |
||
4344 | |||
4345 | * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to... |
||
4346 | (EXTRA_GLYPH_LIST_SIZE): This. |
||
4347 | Increase by 2. |
||
4348 | (ft_wgl_extra_unicodes): Rename to... |
||
4349 | (ft_extra_glyph_unicodes): This. |
||
4350 | Add two code values. |
||
4351 | (ft_wgl_extra_glyph_names): Rename to... |
||
4352 | (ft_extra_glyph_names): This. |
||
4353 | Add two glyphs. |
||
4354 | (ft_wgl_extra_glyph_name_offsets): Rename to... |
||
4355 | (ft_extra_glyph_name_offsets): This. |
||
4356 | Add two offsets. |
||
4357 | |||
4358 | (ps_check_wgl_name, ps_check_wgl_unicode): Rename to... |
||
4359 | (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This. |
||
4360 | Updated. |
||
4361 | (ps_unicodes_init): Updated. |
||
4362 | |||
4363 | 2008-07-26 Werner Lemberg |
||
4364 | |||
4365 | * src/cff/cffgload.c (cff_decoder_prepare, |
||
4366 | cff_decoder_parse_charstrings): Improve debug output. |
||
4367 | |||
4368 | 2008-07-22 Martin McBride |
||
4369 | |||
4370 | * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear, |
||
4371 | tt_cmap4_char_map_binary): Handle fonts which treat the last segment |
||
4372 | specially. According to the specification, such fonts would be |
||
4373 | invalid but acroread accepts them. |
||
4374 | |||
4375 | 2008-07-16 Jon Foster |
||
4376 | |||
4377 | * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error. |
||
4378 | |||
4379 | * src/base/ftcalc.c (FT_MulFix): Fix portability issue. |
||
4380 | |||
4381 | * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]: |
||
4382 | Fix compiler warning. |
||
4383 | |||
4384 | 2008-07-16 Werner Lemberg |
||
4385 | |||
4386 | Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly. |
||
4387 | |||
4388 | * src/cff/cffload.c (cff_font_load): Pass `pure_cff'. |
||
4389 | Invert sids table only if `pure_cff' is set. |
||
4390 | * src/cff/cffload.h: Udpated. |
||
4391 | |||
4392 | * src/cff/cffobjs.c (cff_face_init): Updated. |
||
4393 | Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set. |
||
4394 | |||
4395 | * docs/CHANGES: Updated. |
||
4396 | |||
4397 | 2008-07-09 Werner Lemberg |
||
4398 | |||
4399 | * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts |
||
4400 | where num_locations < num_glyphs. Problem reported by Ding Li. |
||
4401 | |||
4402 | 2008-07-05 Werner Lemberg |
||
4403 | |||
4404 | Since FreeType uses `$(value ...)', we now need GNU make 3.80 or |
||
4405 | newer. This fixes Savannah bug #23648. |
||
4406 | |||
4407 | * configure: zsh doesn't like ${1+"$@"}. |
||
4408 | Update needed GNU make version. |
||
4409 | * builds/toplevel.mk: Check for `$(eval ...)'. |
||
4410 | * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document |
||
4411 | it. |
||
4412 | |||
4413 | 2008-07-04 Werner Lemberg |
||
4414 | |||
4415 | * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one |
||
4416 | pixel, only check for dropouts if neither start nor end point lies |
||
4417 | on a pixel center. This fixes Savannah bug #23762. |
||
4418 | |||
4419 | 2008-06-29 Werner Lemberg |
||
4420 | |||
4421 | * Version 2.3.7 released. |
||
4422 | ========================= |
||
4423 | |||
4424 | |||
4425 | Tag sources with `VER-2-3-7'. |
||
4426 | |||
4427 | * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump |
||
4428 | version number to 2.3.7. |
||
4429 | |||
4430 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
||
4431 | builds/win32/visualc/freetype.dsp, |
||
4432 | builds/win32/visualc/freetype.vcproj, |
||
4433 | builds/win32/visualce/index.html, |
||
4434 | builds/win32/visualce/freetype.dsp, |
||
4435 | builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/. |
||
4436 | |||
4437 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7. |
||
4438 | |||
4439 | * builds/unix/configure.raw (version_info): Set to 9:18:3. |
||
4440 | |||
4441 | * docs/release: Updated. |
||
4442 | |||
4443 | 2008-06-28 Werner Lemberg |
||
4444 | |||
4445 | * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to... |
||
4446 | * src/ftcalc.c: Here. This fixes Savannah bug #23729. |
||
4447 | |||
4448 | 2008-06-27 Werner Lemberg |
||
4449 | |||
4450 | * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, |
||
4451 | Horizontal_Gray_Sweep_Drop): Test for intersections which |
||
4452 | degenerate to a single point can be ignored; this has been confirmed |
||
4453 | by Greg Hitchcock from Microsoft. (This was commented out code.) |
||
4454 | |||
4455 | 2008-06-26 Werner Lemberg |
||
4456 | |||
4457 | Improve navigation in API reference. |
||
4458 | |||
4459 | * src/tools/docmaker/tohtml.py (html_header_3): Renamed to... |
||
4460 | (html_header_6): This. |
||
4461 | (html_header_3, html_header_3i, html_header_4, html_header_5, |
||
4462 | html_header_5t): New strings. |
||
4463 | (toc_footer_start, toc_footer_end): New strings. |
||
4464 | (HtmlFormatter::html_header): Updated. |
||
4465 | (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header): |
||
4466 | New strings. |
||
4467 | (HtmlFormatter::index_enter): Use `html_index_header'. |
||
4468 | (HtmlFormatter::index_exit): Print `html_footer'. |
||
4469 | (HtmlFormatter::toc_enter): Use `html_toc_header'. |
||
4470 | (HtmlFormatter::toc_exit): Print proper footer. |
||
4471 | |||
4472 | Convert ~ to non-breakable space. |
||
4473 | |||
4474 | * src/tools/docmaker/tohtml.py (make_html_para): Implement it. |
||
4475 | Update header files accordingly. |
||
4476 | |||
4477 | 2008-06-24 suzuki toshiya |
||
4478 | |||
4479 | * builds/unix/configure.raw: Check type `ResourceIndex' explicitly |
||
4480 | and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5 |
||
4481 | bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without |
||
4482 | ResourceIndex type definition. The macro does not inform the type |
||
4483 | availability. |
||
4484 | * src/base/ftmac.c: More parentheses are inserted to clarify the |
||
4485 | conditionals to disable legacy APIs in `10.5 and later' cases. If |
||
4486 | HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined. |
||
4487 | |||
4488 | 2008-06-24 Werner Lemberg |
||
4489 | |||
4490 | * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering |
||
4491 | mode. |
||
4492 | |||
4493 | * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph, |
||
4494 | Draw_Sweep): No-dropout mode is value 2, not value 0. |
||
4495 | (Draw_Sweep): Really skip dropout handling for no-dropout mode. |
||
4496 | |||
4497 | 2008-06-24 Werner Lemberg |
||
4498 | |||
4499 | * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour |
||
4500 | if it consists of one point only. Based on a patch from Savannah |
||
4501 | bug #23683 (from John Tytgat). |
||
4502 | |||
4503 | 2008-06-22 Werner Lemberg |
||
4504 | |||
4505 | * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff |
||
4506 | with IS_HINTED. |
||
4507 | |||
4508 | * docs/CHANGES: Updated. |
||
4509 | |||
4510 | 2008-06-22 suzuki toshiya |
||
4511 | |||
4512 | * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option |
||
4513 | but LDFLAGS does not, import it to LDFLAGS. The option is used to |
||
4514 | specify non-default SDK on Mac OS X (e.g., universal binary SDK for |
||
4515 | Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137 |
||
4516 | recommends to add the option only to CFLAGS, LDFLAGS should include |
||
4517 | it because libfreetype.la is built with -no-undefined. This fixes a |
||
4518 | bug reported by Ryan Schmidt in MacPorts, |
||
4519 | http://trac.macports.org/ticket/15331. |
||
4520 | |||
4521 | 2008-06-21 Werner Lemberg |
||
4522 | |||
4523 | Enable access to the various dropout rules of the B&W rasterizer. |
||
4524 | Pass dropout rules from the TT bytecode interpreter to the |
||
4525 | rasterizer. |
||
4526 | |||
4527 | * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS, |
||
4528 | FT_OUTLINE_EXCLUDE_STUBS): New flags for FT_Outline. |
||
4529 | |||
4530 | * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, |
||
4531 | Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the |
||
4532 | OpenType specification. |
||
4533 | Fix mode 4 computation. |
||
4534 | (Render_Glyph, Render_Gray_Glyph): Handle new outline flags. |
||
4535 | |||
4536 | * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion |
||
4537 | mode to FT_OUTLINE_XXX flags. |
||
4538 | |||
4539 | * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check. |
||
4540 | |||
4541 | 2008-06-19 Werner Lemberg |
||
4542 | |||
4543 | * src/cff/cffobjs.c (cff_face_init): Compute final |
||
4544 | `dict->units_per_em' value before assigning it to |
||
4545 | `cffface->units_per_EM'. Otherwise, CFFs without subfonts are |
||
4546 | scaled incorrectly if the font matrix is non-standard. This fixes |
||
4547 | Savannah bug #23630. |
||
4548 | |||
4549 | * docs/CHANGES: Updated. |
||
4550 | |||
4551 | 2008-06-19 Werner Lemberg |
||
4552 | |||
4553 | * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix |
||
4554 | from 2008-06-19. |
||
4555 | |||
4556 | 2008-06-18 Werner Lemberg |
||
4557 | |||
4558 | * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21. |
||
4559 | Reported by Peter Weilbacher |
||
4560 | |||
4561 | * docs/CHANGES: Updated. |
||
4562 | |||
4563 | 2008-06-15 George Williams |
||
4564 | |||
4565 | * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set |
||
4566 | `valid->extra2' to 1. This is undocumented in the OpenType 1.5 |
||
4567 | specification. |
||
4568 | |||
4569 | 2008-06-15 Werner Lemberg |
||
4570 | |||
4571 | * src/base/ftcalc.c (FT_MulFix) |
||
4572 | from clobbering. Patch from Savannah bug report #23556. |
||
4573 | |||
4574 | * docs/CHANGES: Document it. |
||
4575 | |||
4576 | 2008-06-10 Werner Lemberg |
||
4577 | |||
4578 | * autogen.sh: Add option `--install' to libtoolize. |
||
4579 | |||
4580 | 2008-06-10 Werner Lemberg |
||
4581 | |||
4582 | * Version 2.3.6 released. |
||
4583 | ========================= |
||
4584 | |||
4585 | |||
4586 | Tag sources with `VER-2-3-6'. |
||
4587 | |||
4588 | * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump |
||
4589 | version number to 2.3.6. |
||
4590 | |||
4591 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
||
4592 | builds/win32/visualc/freetype.dsp, |
||
4593 | builds/win32/visualc/freetype.vcproj, |
||
4594 | builds/win32/visualce/index.html, |
||
4595 | builds/win32/visualce/freetype.dsp, |
||
4596 | builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/. |
||
4597 | |||
4598 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6. |
||
4599 | |||
4600 | * builds/unix/configure.raw (version_info): Set to 9:17:3. |
||
4601 | |||
4602 | |||
4603 | * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x' |
||
4604 | and `scale_y'. |
||
4605 | * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'. |
||
4606 | |||
4607 | |||
4608 | * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H. |
||
4609 | * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H. |
||
4610 | |||
4611 | 2008-06-10 Werner Lemberg |
||
4612 | |||
4613 | * src/base/ftobjs.c (open_face): Check `clazz->init_face' and |
||
4614 | `clazz->done_face'. |
||
4615 | |||
4616 | 2008-06-09 VaDiM |
||
4617 | |||
4618 | Support debugging on WinCE. From Savannah patch #6536; this fixes |
||
4619 | bug #23497. |
||
4620 | |||
4621 | * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro |
||
4622 | as a replacement for OutputDebugStringA (which WinCE doesn't have). |
||
4623 | Update all callers. |
||
4624 | (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have |
||
4625 | environment variables. |
||
4626 | |||
4627 | 2008-06-09 Werner Lemberg |
||
4628 | |||
4629 | * README.CVS: Updated. |
||
4630 | |||
4631 | * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated |
||
4632 | for newer versions of autoconf and friends. |
||
4633 | |||
4634 | 2008-06-08 Werner Lemberg |
||
4635 | |||
4636 | * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and |
||
4637 | `private_len' unsigned. |
||
4638 | |||
4639 | * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read |
||
4640 | it as such. |
||
4641 | (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned. |
||
4642 | |||
4643 | |||
4644 | * src/base/ftstream.c (FT_Stream_Skip): Reject negative values. |
||
4645 | |||
4646 | |||
4647 | * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis' |
||
4648 | for sane value. |
||
4649 | Fix typo. |
||
4650 | |||
4651 | |||
4652 | * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly. |
||
4653 | |||
4654 | |||
4655 | * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check |
||
4656 | `last_point'. |
||
4657 | |||
4658 | |||
4659 | * src/sfnt/ttload.c (tt_face_load_max_profile): Limit |
||
4660 | `maxTwilightPoints'. |
||
4661 | |||
4662 | 2008-06-06 Werner Lemberg |
||
4663 | |||
4664 | * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0' |
||
4665 | correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem. |
||
4666 | |||
4667 | 2008-06-03 Werner Lemberg |
||
4668 | |||
4669 | * include/freetype/ftcache.h (FTC_FaceID): Change type back to |
||
4670 | FT_Pointer. Reported by Ian Britten |
||
4671 | |||
4672 | 2008-06-02 Werner Lemberg |
||
4673 | |||
4674 | Emit header info for defined FreeType objects in reference. |
||
4675 | |||
4676 | * src/tools/docmaker/content.py (re_header_macro): New regexp. |
||
4677 | (ContentProcessor::__init__): Initialize new dictionary `headers'. |
||
4678 | (DocBlock::__init__): Collect macro header definitions. |
||
4679 | |||
4680 | * src/tools/docmaker/tohtml.py (header_location_header, |
||
4681 | header_location_footer): New strings. |
||
4682 | (HtmlFormatter::__init__): Pass `headers' dictionary. |
||
4683 | (HtmlFormatter::print_html_field): Don't emit paragraph tags. |
||
4684 | (HtmlFormatter::print_html_field_list): Emit empty paragraph. |
||
4685 | (HtmlFormatter::block_enter): Emit header info. |
||
4686 | |||
4687 | 2008-06-01 Werner Lemberg |
||
4688 | |||
4689 | * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H, |
||
4690 | FT_INCREMENTAL_H): Added. |
||
4691 | |||
4692 | 2008-05-28 Werner Lemberg |
||
4693 | |||
4694 | * src/tools/docmaker/sources.py (SourceBlock::__init__): While |
||
4695 | looking for markup tags, return immediately as soon a single one is |
||
4696 | found. |
||
4697 | |||
4698 | 2008-05-28 Werner Lemberg |
||
4699 | |||
4700 | * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses |
||
4701 | original, unscaled input values. Confirmed by Greg Hitchcock from |
||
4702 | Microsoft. |
||
4703 | |||
4704 | 2008-05-27 Werner Lemberg |
||
4705 | |||
4706 | * src/tools/docmaker/tohtml.py (block_footer_start, |
||
4707 | block_footer_middle): Beautify output. |
||
4708 | |||
4709 | 2008-05-25 Werner Lemberg |
||
4710 | |||
4711 | * src/raster/ftraster.c (fc_black_render): Return 0 when we are |
||
4712 | trying to render into a zero-width/height bitmap, not an error code. |
||
4713 | |||
4714 | * src/truetype/ttgload.c (load_truetype_glyph): Move initialization |
||
4715 | of the graphics state for subglyphs to... |
||
4716 | (TT_Hint_Glyph): This function. |
||
4717 | Hinting instructions for a composite glyph apparently refer to the |
||
4718 | just hinted subglyphs, not the unhinted, unscaled outline. This |
||
4719 | seems to fix Savannah bugs #20973 and (at least partially) #23310. |
||
4720 | |||
4721 | 2008-05-20 suzuki toshiya |
||
4722 | |||
4723 | * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid |
||
4724 | `aface' is returned by FT_New_Face_From_FOND(). The patch was |
||
4725 | proposed by an anonymous reporter of Savannah bug #23204. |
||
4726 | |||
4727 | 2008-05-18 Werner Lemberg |
||
4728 | |||
4729 | * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after |
||
4730 | correction for pixel boundary. Without this patch, the effect can |
||
4731 | be cumulative under certain circumstances, making glyphs taller and |
||
4732 | taller after each call. This fixes Savannah bug #19976. |
||
4733 | |||
4734 | 2008-05-18 Werner Lemberg |
||
4735 | |||
4736 | * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr. |
||
4737 | This fixes Savannah bug #23280. |
||
4738 | |||
4739 | * docs/CHANGES: Updated. |
||
4740 | |||
4741 | 2008-05-18 David Turner |
||
4742 | |||
4743 | * src/psnames/psmodule.c (ft_wgl_extra_unicodes, |
||
4744 | ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets, |
||
4745 | ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make |
||
4746 | declarations non-global. |
||
4747 | |||
4748 | * src/type1/t1load.c: Add missing comment. |
||
4749 | |||
4750 | 2008-05-17 Sam Hocevar |
||
4751 | |||
4752 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour |
||
4753 | glyphs correctly. Patch from Savannah bug #23277. |
||
4754 | |||
4755 | 2008-05-16 Werner Lemberg |
||
4756 | |||
4757 | * docs/CHANGES: Updated. |
||
4758 | |||
4759 | 2008-05-16 Sergey Tolstov |
||
4760 | |||
4761 | Improve support for WGL4 encoded fonts. |
||
4762 | |||
4763 | * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro. |
||
4764 | (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names, |
||
4765 | ft_wgl_extra_glyph_name_offsets): New arrays. |
||
4766 | (ps_check_wgl_name, ps_check_wgl_unicode): New functions. |
||
4767 | (ps_unicodes_init): Use them to add additional Unicode mappings. |
||
4768 | |||
4769 | 2008-05-15 Werner Lemberg |
||
4770 | |||
4771 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings) |
||
4772 |
|
||
4773 | (cf. the PS reference manual). |
||
4774 | |||
4775 | Reported by Martin McBride. |
||
4776 | |||
4777 | 2008-05-15 Werner Lemberg |
||
4778 | |||
4779 | * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated. |
||
4780 | |||
4781 | 2008-05-15 Werner Lemberg |
||
4782 | |||
4783 | * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array |
||
4784 | which contains a single but empty entry. This is technically |
||
4785 | invalid (since it must end with `return'), but... |
||
4786 | |||
4787 | Reported by Martin McBride. |
||
4788 | |||
4789 | 2008-05-14 Werner Lemberg |
||
4790 | |||
4791 | Finish fix of scaling bug of CID-keyed CFF subfonts. |
||
4792 | |||
4793 | * include/freetype/internal/ftcalc.h, src/base/ftcalc.c |
||
4794 | (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New |
||
4795 | functions. |
||
4796 | |||
4797 | * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to |
||
4798 | provide global hinting data for both the top-font and all subfonts |
||
4799 | (with proper scaling). |
||
4800 | |||
4801 | * src/cff/cffobjs.c (cff_make_private_dict): New function, using |
||
4802 | code from `cff_size_init'. |
||
4803 | (cff_size_init, cff_size_done, cff_size_select, cff_size_request): |
||
4804 | Use CFF_Internal and handle subfonts. |
||
4805 | (cff_face_init): Handle top-dict and subfont matrices correctly; |
||
4806 | apply some heuristic in case of unlikely matrix concatenation |
||
4807 | results. This has been discussed with people from Adobe (thanks |
||
4808 | goes mainly to David Lemon) who confirm that the CFF specs are fuzzy |
||
4809 | and not correct. |
||
4810 | |||
4811 | * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument. |
||
4812 | |||
4813 | * src/cff/cffgload.c (cff_builder_init): Updated. |
||
4814 | (cff_decoder_prepare): Handle hints globals for subfonts. |
||
4815 | Update all callers. |
||
4816 | (cff_slot_load): Handling scaling of subfonts properly. |
||
4817 | |||
4818 | * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function. |
||
4819 | (cff_parse_font_matrix): Use it. |
||
4820 | |||
4821 | * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em' |
||
4822 | FT_ULong. |
||
4823 | |||
4824 | * docs/CHANGES: Document it. |
||
4825 | |||
4826 | 2008-05-13 Werner Lemberg |
||
4827 | |||
4828 | * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init): |
||
4829 | Handle case `face_index < 0'. |
||
4830 | * docs/CHANGES: Document it. |
||
4831 | |||
4832 | 2008-05-04 Werner Lemberg |
||
4833 | |||
4834 | First steps to fix the scaling bug of CID-keyed CFF subfonts, |
||
4835 | reported by Ding Li on 2008/03/28 on freetype-devel. |
||
4836 | |||
4837 | * src/base/cff/cffparse.c (power_tens): New array. |
||
4838 | (cff_parse_real): Rewritten to introduce a fourth parameter which |
||
4839 | returns the `scaling' of the real number so that we have no |
||
4840 | precision loss. This is not used yet. |
||
4841 | Update all callers. |
||
4842 | (cff_parse_fixed_thousand): Replace with... |
||
4843 | (cff_parse_fixed_scaled): This function. Update all callers. |
||
4844 | |||
4845 | 2008-05-03 Werner Lemberg |
||
4846 | |||
4847 | * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without |
||
4848 | transformation since it recursively calls FT_Load_Glyph. This fixes |
||
4849 | Savannah bug #23143. |
||
4850 | |||
4851 | 2008-04-26 Werner Lemberg |
||
4852 | |||
4853 | * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x' |
||
4854 | and `scale_y' as obsolete since they aren't used. |
||
4855 | * src/psaux/psobjs.c (t1_builder_init): Updated. |
||
4856 | |||
4857 | * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as |
||
4858 | obsolete since they aren't used. |
||
4859 | * src/cff/cffgload.c (cff_builder_init): Updated. |
||
4860 | |||
4861 | 2008-04-14 Werner Lemberg |
||
4862 | |||
4863 | * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to |
||
4864 | `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah |
||
4865 | bug #22909. |
||
4866 | |||
4867 | 2008-04-13 Werner Lemberg |
||
4868 | |||
4869 | * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if |
||
4870 | integer part is zero. |
||
4871 | |||
4872 | 2008-04-01 Werner Lemberg |
||
4873 | |||
4874 | Fix compilation with g++ 4.1 (with both `single' and `multi' |
||
4875 | targets). |
||
4876 | |||
4877 | * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block |
||
4878 | which is crossed by a `goto'. |
||
4879 | |||
4880 | * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype. |
||
4881 | |||
4882 | 2008-03-31 Werner Lemberg |
||
4883 | |||
4884 | Fix support for subsetted CID-keyed CFFs. |
||
4885 | |||
4886 | * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED, |
||
4887 | FT_IS_CID_KEYED): New macros. |
||
4888 | |||
4889 | * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the |
||
4890 | maximum CID value in CID-keyed CFFs. |
||
4891 | Handle FT_FACE_FLAG_CID_KEYED flag. |
||
4892 | |||
4893 | * docs/CHANGES: Document it. |
||
4894 | |||
4895 | |||
4896 | Fix CFF font matrix calculation and improve precision. |
||
4897 | |||
4898 | * src/cff/cffparse.c (cff_parse_real): Increase precision if integer |
||
4899 | part is zero. |
||
4900 | (cff_parse_font_matrix): Simplify computation of `units_per_em'; |
||
4901 | this prevents overflow also. |
||
4902 | |||
4903 | |||
4904 | Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts. |
||
4905 | |||
4906 | * src/cid/cidriver.c: Include FT_SERVICE_CID_H. |
||
4907 | (cid_get_ros): New function. |
||
4908 | (cid_service_cid_info): New service structure. |
||
4909 | (cid_services): Register it. |
||
4910 | |||
4911 | 2008-03-23 Werner Lemberg |
||
4912 | |||
4913 | Adjustments for Visual C++ 8.0, as reported by Rainer Deyke. |
||
4914 | |||
4915 | * builds/compiler/visualc.mk (CFLAGS): Remove /W5. |
||
4916 | (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE. |
||
4917 | |||
4918 | 2008-03-21 Laurence Darby |
||
4919 | |||
4920 | * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from |
||
4921 | Savannah bug #22675. |
||
4922 | |||
4923 | 2008-03-13 Derek Clegg |
||
4924 | |||
4925 | * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop. |
||
4926 | Patch from Savannah bug #22541. |
||
4927 | |||
4928 | 2008-03-03 Masatoshi Kimura |
||
4929 | |||
4930 | * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary, |
||
4931 | tt_cmap14_find_variant): Return correct value. |
||
4932 | (tt_cmap14_variant_chars): Fix check for `di'. |
||
4933 | |||
4934 | 2008-02-29 Wermer Lemberg |
||
4935 | |||
4936 | * docs/CHANGES: Updated. |
||
4937 | |||
4938 | 2008-02-29 Wolf |
||
4939 | |||
4940 | Add build support for symbian platform. From Savannah bug #22440. |
||
4941 | |||
4942 | * builds/symbian/*: New files. |
||
4943 | |||
4944 | 2008-02-21 suzuki toshiya |
||
4945 | |||
4946 | * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name |
||
4947 | synthesis. For any face of a specified FOND, always the name for |
||
4948 | the first face was used. Except of a FOND that refers multiple |
||
4949 | Type1 font files, wrong synthesized font names are not used at all, |
||
4950 | so this is an invisible bug. A few limit checks are added too. |
||
4951 | |||
4952 | * builds/mac/ftmac.c: Ditto. |
||
4953 | |||
4954 | 2008-02-21 suzuki toshiya |
||
4955 | |||
4956 | * builds/unix/configure.raw: Split compiler option to link Carbon |
||
4957 | frameworks to one option for CoreServices framework and another |
||
4958 | option for ApplicationServices framework. The split options can be |
||
4959 | managed by GNU libtool to avoid unrequired duplication when FreeType |
||
4960 | is linked with other applications. Suggested by Daniel Macks, |
||
4961 | Savannah bug #22366. |
||
4962 | |||
4963 | 2008-02-18 Victor Stinner |
||
4964 | |||
4965 | * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix |
||
4966 | from Savannah bug #22356. |
||
4967 | |||
4968 | 2008-02-17 Jonathan Blow |
||
4969 | |||
4970 | * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph): |
||
4971 | Check for valid callback pointers. |
||
4972 | |||
4973 | 2008-02-15 suzuki toshiya |
||
4974 | |||
4975 | * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource |
||
4976 | handle by its value instead of ResError(), fix provided by Deron |
||
4977 | Kazmaier. According to the Resource Manager Reference, |
||
4978 | GetResource(), Get1Resource(), GetNamedResource(), |
||
4979 | Get1NamedResource() and RGetResource() set noErr but return NULL |
||
4980 | handle when they can not find the requested resource. These |
||
4981 | functions never return undefined values, so it is sufficient to |
||
4982 | check if the handle is not NULL. |
||
4983 | |||
4984 | * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto. |
||
4985 | |||
4986 | 2008-02-14 suzuki toshiya |
||
4987 | |||
4988 | * src/base/ftbase.c: |
||
4989 | inclusion styles. Now it always includes src/base/ftmac.c; |
||
4990 | builds/mac/ftmac.c is never included in any configuration. |
||
4991 | |||
4992 | * builds/unix/configure.raw: Print warning if configure is executed |
||
4993 | with options to specify Carbon functionalities explicitly. |
||
4994 | |||
4995 | * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not |
||
4996 | included automatically and manual replacement is required. |
||
4997 | |||
4998 | 2008-02-11 Werner Lemberg |
||
4999 | |||
5000 | * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk |
||
5001 | (dos_setup), builds/freetype.mk (clean_project_dos, |
||
5002 | distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan |
||
5003 | Murdoch. |
||
5004 | |||
5005 | 2008-01-18 Sylvain Pasche |
||
5006 | |||
5007 | * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to |
||
5008 | mention intra-pixel algorithm. |
||
5009 | |||
5010 | * include/freetype/freetype.h (FT_Render_Mode): Mention that |
||
5011 | FT_Library_SetLcdFilter can be used to reduce fringes. |
||
5012 | |||
5013 | 2008-01-16 Werner Lemberg |
||
5014 | |||
5015 | * src/raster/ftraster.c (ft_black_render): Check `outline' before |
||
5016 | using it. Reported by Allan Yang. |
||
5017 | |||
5018 | 2008-01-12 Werner Lemberg |
||
5019 | |||
5020 | * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove. |
||
5021 | |||
5022 | 2008-01-12 Allan Yang, Jian Hua - SH |
||
5023 | |||
5024 | * src/raster/ftraster.c (ft_black_init) |
||
5025 | [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation. |
||
5026 | |||
5027 | 2008-01-10 Werner Lemberg |
||
5028 | |||
5029 | * src/truetype/ttgload.c (load_truetype_glyph): Handle the case |
||
5030 | where the number of contours in a simple glyph is zero (and which |
||
5031 | does contain an entry in the `glyf' table). This fixes Savannah bug |
||
5032 | #21990. |
||
5033 | |||
5034 | 2008-01-04 suzuki toshiya |
||
5035 | |||
5036 | Formatting suggested by Sean McBride. |
||
5037 | |||
5038 | * builds/mac/ftmac.c: Formatting (tab expanded). |
||
5039 | * src/autofit/afindic.c: Ditto. |
||
5040 | * src/base/ftcid.c: Ditto. |
||
5041 | * src/base/ftmac.c: Ditto. |
||
5042 | |||
5043 | 2007-12-30 Werner Lemberg |
||
5044 | |||
5045 | * src/smooth/ftgrays.c (gray_raster_render): Check `outline' |
||
5046 | correctly. |
||
5047 | |||
5048 | 2007-12-21 suzuki toshiya |
||
5049 | |||
5050 | Improvement of POSIX resource-fork accessor to load unsorted |
||
5051 | references in a resource. In HelveLTMM (resource-fork PostScript |
||
5052 | Type1 font bundled with Mac OS X since 10.3.x), the appearance order |
||
5053 | of PFB chunks is not sorted; sorting the chunks by reference IDs is |
||
5054 | required. |
||
5055 | |||
5056 | * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure |
||
5057 | type to store a pair of reference ID and offset to the chunk. |
||
5058 | |||
5059 | * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to |
||
5060 | sort FT_RFork_Ref by their reference IDs. |
||
5061 | |||
5062 | (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is |
||
5063 | sorted by reference ID. |
||
5064 | |||
5065 | 2007-12-14 Werner Lemberg |
||
5066 | |||
5067 | * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten' |
||
5068 | division too early; otherwise the most significant digit(s) of the |
||
5069 | final result are lost as the value is truncated to an integer. This |
||
5070 | fixes Savannah bug #21794 (where the patch has been posted too). |
||
5071 | |||
5072 | 2007-12-06 Fix <4d876b82@gmail.com> |
||
5073 | |||
5074 | Pass options from one configure script to another as-is (not |
||
5075 | expanded). This is needed for options like |
||
5076 | --includedir='${prefix}/include'. |
||
5077 | |||
5078 | * builds/unix/detect.mk, configure: Prevent argument expansion in |
||
5079 | call to the (real) `configure' script. |
||
5080 | |||
5081 | 2007-12-06 Werner Lemberg |
||
5082 | |||
5083 | * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if |
||
5084 | TT_USE_BYTECODE_INTERPRETER isn't defined. |
||
5085 | |||
5086 | 2007-12-06 Werner Lemberg |
||
5087 | |||
5088 | There exist CFFs which contain opcodes for the Type 1 operators |
||
5089 | `hsbw' and `closepath' which are both invalid in Type 2 charstrings. |
||
5090 | However, it doesn't harm to support them. |
||
5091 | |||
5092 | * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and |
||
5093 | `cff_op_closepath.' |
||
5094 | (cff_argument_counts): Ditto. |
||
5095 | |||
5096 | (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath) |
||
5097 | and 13 (hsbw) which are invalid in Type 2 charstrings. |
||
5098 | |||
5099 | 2007-12-06 suzuki toshiya |
||
5100 | |||
5101 | * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to |
||
5102 | support new pathname syntax `..namedfork/rsrc' to access a resource |
||
5103 | fork on Mac OS X. The legacy syntax `/rsrc' does not work on |
||
5104 | case-sensitive HFS+. |
||
5105 | (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of |
||
5106 | buffer size to store a pathname. |
||
5107 | * include/freetype/internal/ftrfork.h: Increment the number of |
||
5108 | resource fork guessing rule. |
||
5109 | |||
5110 | 2007-12-06 suzuki toshiya |
||
5111 | |||
5112 | * builds/unix/configure.raw: Improve the compile tests to search |
||
5113 | Carbon functions. |
||
5114 | * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities |
||
5115 | proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16). |
||
5116 | |||
5117 | 2007-12-06 suzuki toshiya |
||
5118 | |||
5119 | The documents and comments for Mac OS X are improved by Sean |
||
5120 | McBride. |
||
5121 | |||
5122 | * src/base/ftmac.c: Fix a comment. |
||
5123 | * include/freetype/ftmac.h: Ditto. |
||
5124 | * docs/INSTALL.MAC: Improve English and add comment on lowest |
||
5125 | system version specified by MACOSX_DEPLOYMENT_TARGET. |
||
5126 | |||
5127 | 2007-12-04 Werner Lemberg |
||
5128 | |||
5129 | * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to |
||
5130 | concatenate error codes. |
||
5131 | * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto. |
||
5132 | |||
5133 | 2007-12-04 Graham Asher |
||
5134 | |||
5135 | * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to |
||
5136 | concatenate error codes. |
||
5137 | |||
5138 | 2007-12-04 Sean McBride |
||
5139 | |||
5140 | * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler |
||
5141 | warning. |
||
5142 | |||
5143 | 2007-11-20 suzuki toshiya |
||
5144 | |||
5145 | Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is |
||
5146 | not working since 2.3.5. In FT_Open_New(), if FT_New_Stream() |
||
5147 | cannot mmap() the specified file and cannot seek to head of the |
||
5148 | specified file, it returns NULL stream and FT_Open_New() returns the |
||
5149 | error immediately. On MacOS, most legacy MacOS fonts fall into such |
||
5150 | a scenario because their data forks are zero-sized and cannot be |
||
5151 | sought. To proceed to guessing of resource fork fonts, the |
||
5152 | functions for legacy MacOS font must properly handle the NULL stream |
||
5153 | returned by FT_New_Stream(). |
||
5154 | |||
5155 | * src/base/ftobjs.c (IsMacBinary): Return error |
||
5156 | FT_Err_Invalid_Stream_Operation immediately when NULL stream is |
||
5157 | passed. |
||
5158 | (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed |
||
5159 | to fallback. Originally, legacy MacOS font is tested in the cases |
||
5160 | of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty) |
||
5161 | or FT_Err_Unknown_File_Format (occurs when AppleSingle header or |
||
5162 | .dfont header is combined). Now the case of |
||
5163 | FT_Err_Cannot_Open_Stream is included. |
||
5164 | |||
5165 | * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL, |
||
5166 | skip FT_Stream_Seek(), which seeks to the head of stream, and |
||
5167 | proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek() |
||
5168 | for a NULL stream causes a Bus error on Mac OS X. |
||
5169 | (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream |
||
5170 | immediately if passed stream is NULL. |
||
5171 | (raccess_guess_apple_single): Ditto. |
||
5172 | |||
5173 | 2007-11-16 suzuki toshiya |
||
5174 | |||
5175 | Fix for Carbon incompatibilities since Mac OS X 10.5, |
||
5176 | proposed by Sean McBride. |
||
5177 | |||
5178 | * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET. |
||
5179 | |||
5180 | * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and |
||
5181 | FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling |
||
5182 | Carbon functions from a forked process is classified as unsafe |
||
5183 | by Apple. All Carbon-dependent functions should be deprecated. |
||
5184 | |||
5185 | * src/base/ftmac.c: Use essential header files |
||
5186 |
|
||
5187 |
|
||
5188 | all-in-one header file |
||
5189 | |||
5190 | Include |
||
5191 | genuine macro PATH_MAX. |
||
5192 | |||
5193 | Add fallback macro for kATSOptionFlagsUnRestrictedScope which |
||
5194 | is not found in Mac OS X 10.0. |
||
5195 | |||
5196 | Multi-character constants ('POST', 'sfnt' etc) are replaced by |
||
5197 | 64bit constants calculated by FT_MAKE_TAG() macro. |
||
5198 | |||
5199 | For the index in the segment of resource fork, new portable |
||
5200 | type ResourceIndex is introduced for better compatibility. |
||
5201 | This type is since Mac OS X 10.5, so it is defined as short |
||
5202 | when built on older platforms. |
||
5203 | |||
5204 | (FT_ATSFontGetFileReference): If build target is only the systems |
||
5205 | 10.5 and newer, it calls Apple genuine ATSFontGetFileReference(). |
||
5206 | |||
5207 | (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5 |
||
5208 | and newer or 64bit platform, because legacy type FSSpec type is |
||
5209 | removed completely. |
||
5210 | |||
5211 | (FT_New_Face_From_FSSpec): Ditto. |
||
5212 | |||
5213 | 2007-11-01 Werner Lemberg |
||
5214 | |||
5215 | * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This |
||
5216 | fixes Savannah bug #21485. |
||
5217 | |||
5218 | 2007-10-29 Daniel Svoboda |
||
5219 | |||
5220 | * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver |
||
5221 | can handle the font at all, then check `face_index'. Otherwise, the |
||
5222 | driver might return the wrong error code. This fixes Savannah bug |
||
5223 | #21468. |
||
5224 | |||
5225 | 2007-10-21 Werner Lemberg |
||
5226 | |||
5227 | * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare |
||
5228 | support for bit 8 of the `fsSelection' field in the `OS/2' table. |
||
5229 | MS is already using this; hopefully, this becomes part of OpenType |
||
5230 | 1.5. |
||
5231 | Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22 |
||
5232 | (WWS_SUBFAMILY). |
||
5233 | |||
5234 | 2007-10-20 Werner Lemberg |
||
5235 | |||
5236 | * src/tools/docmaker/tohtml.py (html_header_2): Fix typo. |
||
5237 | Add `td.left' element to CSS. |
||
5238 | (toc_section_enter): Use it. |
||
5239 | |||
5240 | 2007-10-18 David Turner |
||
5241 | |||
5242 | * include/freetype/freetype.h, src/base/ftobjs.c: Rename API |
||
5243 | functions related to cmap type 14 support to the |
||
5244 | `FT_Object_ActionName' scheme: |
||
5245 | |||
5246 | FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex |
||
5247 | FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault |
||
5248 | FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors |
||
5249 | FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar |
||
5250 | FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant |
||
5251 | |||
5252 | Update documentation accordingly. |
||
5253 | |||
5254 | * src/sfnt/ttcmap.c: Stronger cmap 14 validation. |
||
5255 | Make the code a little more consistent with FreeType coding |
||
5256 | conventions and modify the cmap14 functions that returned a newly |
||
5257 | allocated array to use a persistent vector from the TT_CMap14 object |
||
5258 | instead. |
||
5259 | |||
5260 | (TT_CMap14Rec): Provide array and auxiliary data for result. |
||
5261 | (tt_cmap14_done, tt_cmap14_ensure): New functions. |
||
5262 | |||
5263 | (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary, |
||
5264 | tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant, |
||
5265 | tt_cmap14_char_var_index, tt_cmap14_variants, |
||
5266 | tt_cmap14_char_variants, tt_cmap14_def_char_count, |
||
5267 | tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars, |
||
5268 | tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved. |
||
5269 | |||
5270 | 2007-10-15 George Williams |
||
5271 | |||
5272 | Add support for cmap type 14. |
||
5273 | |||
5274 | * devel/ftoption.h, include/freetype/config/ftoption.h |
||
5275 | (TT_CONFIG_CMAP_FORMAT_14): New macro. |
||
5276 | |||
5277 | * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc, |
||
5278 | FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc, |
||
5279 | FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New |
||
5280 | support function prototypes. |
||
5281 | (FT_CMap_ClassRec): Add them. |
||
5282 | Update all users. |
||
5283 | |||
5284 | * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New |
||
5285 | macro. |
||
5286 | |||
5287 | * include/freetype/freetype.h (FT_Get_Char_Variant_Index, |
||
5288 | FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors, |
||
5289 | FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API |
||
5290 | functions. |
||
5291 | |||
5292 | * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary |
||
5293 | function. |
||
5294 | (FT_Set_Charmap): Disallow cmaps of type 14. |
||
5295 | (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault, |
||
5296 | FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char, |
||
5297 | FT_Get_Chars_Of_Variant): New API functions. |
||
5298 | |||
5299 | * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros. |
||
5300 | |||
5301 | (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate, |
||
5302 | tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info, |
||
5303 | tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary, |
||
5304 | tt_cmap14_find_variant, tt_cmap14_char_var_index, |
||
5305 | tt_cmap14_char_var_isdefault, tt_cmap14_variants, |
||
5306 | tt_cmap14_char_variants, tt_cmap14_def_char_count, |
||
5307 | tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars, |
||
5308 | tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and |
||
5309 | structures for cmap 14 support. |
||
5310 | (tt_cmap_classes): Register tt_cmap14_class_rec. |
||
5311 | (tt_face_build_cmaps): One more error message. |
||
5312 | |||
5313 | * docs/CHANGES: Mention cmap 14 support. |
||
5314 | |||
5315 | 2007-10-01 Werner Lemberg |
||
5316 | |||
5317 | * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4 |
||
5318 | charmap fails, do the loop again while searching a UCS-2 charmap. |
||
5319 | This favours MS charmaps over Apple ones. |
||
5320 | |||
5321 | 2007-08-29 suzuki toshiya |
||
5322 | |||
5323 | * src/base/ftmac.c: Introduction of abstract `short' data types, |
||
5324 | ResFileRefNum and ResID. These types were introduced for Copland, |
||
5325 | then backported to MPW. The variables exchanged with FileManager |
||
5326 | QuickDraw frameworks are redefined by these data types. Patch was |
||
5327 | proposed by Sean McBride. |
||
5328 | * builds/mac/ftmac.c: Ditto. |
||
5329 | |||
5330 | 2007-08-18 Werner Lemberg |
||
5331 | |||
5332 | * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found |
||
5333 | by Imran Yousaf. Fixes Savannah bug #20773. |
||
5334 | |||
5335 | (otv_Lookup_validate): Correct handling of LookupType. Found by |
||
5336 | Imran Yousaf. Fixes Savannah bug #20782. |
||
5337 | |||
5338 | 2007-08-17 George Williams |
||
5339 | |||
5340 | * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of |
||
5341 | SingleSubstFormat1. |
||
5342 | |||
5343 | 2007-08-11 suzuki toshiya |
||
5344 | |||
5345 | * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by |
||
5346 | ${build-gcc} (unchecked) instead of by ${build}-gcc (checked). |
||
5347 | Found by Ryan Hill. |
||
5348 | |||
5349 | 2007-08-11 George Williams |
||
5350 | |||
5351 | * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h |
||
5352 | (otv_Coverage_validate): Add fourth argument to pass an expected |
||
5353 | count value. Update all users. |
||
5354 | Check glyph IDs. |
||
5355 | (otv_ClassDef_validate): Check `StartGlyph'. |
||
5356 | |||
5357 | * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID |
||
5358 | checks. |
||
5359 | |||
5360 | * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only |
||
5361 | 56 constants. |
||
5362 | (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate): |
||
5363 | Check glyph IDs. |
||
5364 | |||
5365 | 2007-08-08 Werner Lemberg |
||
5366 | |||
5367 | * src/otvalid/otvbase.c, src/otvalid/otvcommn.c, |
||
5368 | src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, |
||
5369 | src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where |
||
5370 | appropriate. Reported by George. |
||
5371 | |||
5372 | * include/freetype/internal/fttrace.h: Define `trace_otvmath'. |
||
5373 | |||
5374 | * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c. |
||
5375 | |||
5376 | * docs/CHANGES: Updated. |
||
5377 | |||
5378 | 2007-08-08 George Williams |
||
5379 | |||
5380 | Add `MATH' validating support to otvalid module. |
||
5381 | |||
5382 | * include/freetype/tttags.h (TTAG_MATH): New macro. |
||
5383 | * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro. |
||
5384 | (FT_VALIDATE_OT): Updated. |
||
5385 | |||
5386 | * src/otvalid/otmath.c: New file. |
||
5387 | |||
5388 | * src/otvalid/otvalid.c: Include otvmath.c. |
||
5389 | * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table. |
||
5390 | |||
5391 | 2007-08-04 Werner Lemberg |
||
5392 | |||
5393 | * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL. |
||
5394 | Fixes Savannah bug #20686. |
||
5395 | |||
5396 | 2007-08-03 Werner Lemberg |
||
5397 | |||
5398 | * src/psnames/psmodule.c: Fix usage of |
||
5399 | FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher. |
||
5400 | |||
5401 | 2007-07-31 suzuki toshiya |
||
5402 | |||
5403 | * src/base/ftmac.c (open_face_from_buffer): The argument |
||
5404 | `driver_name' is typed as `const char*' to match with the |
||
5405 | callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT. |
||
5406 | This is same with open_face_from_buffer in src/base/ftobjs.c. |
||
5407 | Found and fixed by Sean McBride. |
||
5408 | |||
5409 | 2007-07-28 Werner Lemberg |
||
5410 | |||
5411 | * src/raster/ftraster.c (count_table): Make it conditional. |
||
5412 | * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with |
||
5413 | a preprocessor statement. |
||
5414 | |||
5415 | 2007-07-27 Werner Lemberg |
||
5416 | |||
5417 | * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before |
||
5418 | first usage. From Savannah patch #6115. |
||
5419 | |||
5420 | 2007-07-16 Werner Lemberg |
||
5421 | |||
5422 | * docs/CHANGES: Updated. |
||
5423 | |||
5424 | 2007-07-16 Derek Clegg |
||
5425 | |||
5426 | Add new service for getting the ROS from a CID font. |
||
5427 | |||
5428 | * include/freetype/config/ftheader.h (FT_CID_H): New macro. |
||
5429 | * include/freetype/ftcid.h: New file. |
||
5430 | |||
5431 | * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro. |
||
5432 | * include/freetype/internal/services/svcid.h: New file. |
||
5433 | |||
5434 | * src/base/ftcid.c: New file. |
||
5435 | |||
5436 | * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H. |
||
5437 | (cff_get_ros): New function. |
||
5438 | (cff_service_cid_info): New service structure. |
||
5439 | (cff_services): Register it. |
||
5440 | |||
5441 | * src/cff/cffload.c (cff_font_done): Free registry and ordering. |
||
5442 | |||
5443 | * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'. |
||
5444 | |||
5445 | * modules.cfg (BASE_EXTENSIONS): Add ftcid.c. |
||
5446 | |||
5447 | 2007-07-11 Derek Clegg |
||
5448 | |||
5449 | Add support for postscript name service to CFF driver. |
||
5450 | |||
5451 | * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H. |
||
5452 | (cff_get_ps_name): New function. |
||
5453 | (cff_service_ps_name): New service structure. |
||
5454 | (cff_services): Register it. |
||
5455 | |||
5456 | 2007-07-07 Werner Lemberg |
||
5457 | |||
5458 | * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of |
||
5459 | `target'. Reported by Sean McBride. |
||
5460 | |||
5461 | 2007-07-06 Werner Lemberg |
||
5462 | |||
5463 | * src/pfr/pfrcmap.c: Include pfrerror.h. |
||
5464 | |||
5465 | * src/autofit/afindic.c: Add some external declarations to pacify |
||
5466 | `make multi' compilation. |
||
5467 | |||
5468 | * src/cid/cidgload.c (cid_load_glyph): Pacify compiler. |
||
5469 | |||
5470 | * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c |
||
5471 | (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP), |
||
5472 | src/autofit/aflatin.c (af_latin_hints_compute_edges), |
||
5473 | src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c |
||
5474 | (tt_face_get_metrics), src/base/ftobjs.c (open_face) |
||
5475 | [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler. |
||
5476 | |||
5477 | * docs/release: Mention test compilation targets. |
||
5478 | |||
5479 | 2007-07-04 Werner Lemberg |
||
5480 | |||
5481 | * docs/PROBLEMS: Mention that some PS based fonts can't be |
||
5482 | handled correctly by FreeType. |
||
5483 | |||
5484 | * src/truetype/ttgload.c (load_truetype_glyph): Always allow a |
||
5485 | recursion depth of 1. This was the maximum value in TrueType 1.0, |
||
5486 | and some older fonts don't set this field correctly. |
||
5487 | |||
5488 | * src/gxvalid/gxvmort1.c |
||
5489 | (gxv_mort_subtable_type1_substTable_validate): Fix tracing message. |
||
5490 | |||
5491 | 2007-07-03 Werner Lemberg |
||
5492 | |||
5493 | * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize |
||
5494 | `round' to pacify compiler. |
||
5495 | |||
5496 | 2007-07-02 Werner Lemberg |
||
5497 | |||
5498 | |||
5499 | * Version 2.3.5 released. |
||
5500 | ========================= |
||
5501 | |||
5502 | |||
5503 | Tag sources with `VER-2-3-5'. |
||
5504 | |||
5505 | * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump |
||
5506 | version number to 2.3.5. |
||
5507 | |||
5508 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
||
5509 | builds/win32/visualc/freetype.dsp, |
||
5510 | builds/win32/visualc/freetype.vcproj, |
||
5511 | builds/win32/visualce/index.html, |
||
5512 | builds/win32/visualce/freetype.dsp, |
||
5513 | builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/. |
||
5514 | |||
5515 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5. |
||
5516 | |||
5517 | * builds/unix/configure.raw (version_info): Set to 9:16:3. |
||
5518 | |||
5519 | 2007-07-01 David Turner |
||
5520 | |||
5521 | * include/freetype/freetype.h, src/base/ftpatent.c |
||
5522 | (FT_Face_SetUnpatentedHinting): New function to dynamically change |
||
5523 | the setting after a face is created. |
||
5524 | |||
5525 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug |
||
5526 | that created distortions in the bytecode interpreter results. |
||
5527 | |||
5528 | 2007-06-30 David Turner |
||
5529 | |||
5530 | * src/truetype/ttinterp.c (Ins_IUP): Add missing variable |
||
5531 | initialization. |
||
5532 | |||
5533 | * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an |
||
5534 | infinite loop in the case of degenerate fonts. |
||
5535 | |||
5536 | 2007-06-26 Rahul Bhalerao |
||
5537 | |||
5538 | Add autofit module for Indic scripts. This currently just reuses |
||
5539 | the CJK-specific functions. |
||
5540 | |||
5541 | * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New |
||
5542 | macro. |
||
5543 | * devel/ftoption.h: Synchronize with |
||
5544 | include/freetype/config/ftoption.h. |
||
5545 | |||
5546 | * src/autofit/afindic.c, src/autofit/afindic.h: New files. |
||
5547 | |||
5548 | * src/autofit/afglobal.c, src/autofit/aftypes.h, |
||
5549 | src/autofit/autofit.c: Updated. |
||
5550 | |||
5551 | * src/autofit/Jamfile (_sources), * src/autofit/rules.mk |
||
5552 | (AUTOF_DRV_SRC): Updated. |
||
5553 | |||
5554 | 2007-06-23 David Turner |
||
5555 | |||
5556 | * src/truetype/ttgload.c (TT_Load_Simple): Fix change from |
||
5557 | 2007-06-16 that prevented the TrueType module from loading most |
||
5558 | glyphs. |
||
5559 | |||
5560 | 2007-06-20 Werner Lemberg |
||
5561 | |||
5562 | * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28 |
||
5563 | change. |
||
5564 | |||
5565 | 2007-06-19 Werner Lemberg |
||
5566 | |||
5567 | * src/type1/t1load.c (parse_encoding): Handle one more error. |
||
5568 | |||
5569 | 2007-06-19 Dmitry Timoshkov |
||
5570 | |||
5571 | * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error |
||
5572 | FNT_Err_Invalid_File_Format if file format was recognized but |
||
5573 | the file doesn't contain any FNT(NE) or RT_FONT(PE) resources. |
||
5574 | Add verbose debug logs to make it easier to debug failing load |
||
5575 | attempts. |
||
5576 | (FNT_Face_Init): A single FNT font can't contain more than 1 face, |
||
5577 | so return an error if requested face index is > 0. |
||
5578 | Do not do further attempt to load fonts if a previous attempt has |
||
5579 | failed but returned error FNT_Err_Invalid_File_Format, i.e., the |
||
5580 | file format has been recognized but no fonts found in the file. |
||
5581 | |||
5582 | 2007-07-19 suzuki toshiya |
||
5583 | |||
5584 | * src/base/ftmac.c: Apply patches proposed by Sean McBride. |
||
5585 | (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix |
||
5586 | the compiler warnings against unused arguments. |
||
5587 | (FT_ATSFontGetFileReference): Ditto. |
||
5588 | (FT_GetFile_From_Mac_ATS_Name): Ditto. |
||
5589 | (FT_New_Face_From_FSSpec): Ditto. |
||
5590 | (lookup_lwfn_by_fond): Fix wrong comment. |
||
5591 | Replace `const StringPtr' by more appropriate type |
||
5592 | `ConstStr255Param'. |
||
5593 | FSRefMakePathPath always returns UTF8 POSIX pathname in |
||
5594 | Mach-O, thus HFS pathname support is dropped. |
||
5595 | (count_faces): Remove HLock and HUnlock which is not |
||
5596 | required on Mac OS X anymore. |
||
5597 | (FT_New_Face_From_SFNT): Ditto. |
||
5598 | (FT_New_Face_From_FOND): Ditto. |
||
5599 | * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c, |
||
5600 | except of HFS pathname support and HLock/HUnlock. |
||
5601 | They are required on classic CFM environment. |
||
5602 | |||
5603 | 2007-06-18 Werner Lemberg |
||
5604 | |||
5605 | * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect |
||
5606 | assertion. |
||
5607 | (ps_parser_to_bytes): Fix error message. |
||
5608 | |||
5609 | * src/type42/t42objs.c (T42_Open_Face): Handle one more error. |
||
5610 | * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/. |
||
5611 | Don't allow mixed binary and hex strings. |
||
5612 | Handle string_size == 0 and string_buf == 0. |
||
5613 | (t42_parse_encoding): Handle one more error. |
||
5614 | |||
5615 | 2007-06-18 Werner Lemberg |
||
5616 | |||
5617 | * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit |
||
5618 | logic. |
||
5619 | (ps_parser_load_field) |
||
5620 | correctly. |
||
5621 | (ps_parser_load_field_table): Use `fields->array_max' instead of |
||
5622 | T1_MAX_TABLE_ELEMENTS to limit the number of arguments. |
||
5623 | |||
5624 | * src/cff/cffgload.c (cff_decoder_prepare): Fix change from |
||
5625 | 2007-06-06. |
||
5626 | |||
5627 | 2007-06-17 Werner Lemberg |
||
5628 | |||
5629 | * src/tools/ftrandom.c (font_size): New global variable. |
||
5630 | (TestFace): Use it. |
||
5631 | (main): Handle new option `--size' to set `font_size'. |
||
5632 | (Usage): Updated. |
||
5633 | |||
5634 | * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of |
||
5635 | invalid font. |
||
5636 | (FNT_Load_Glyph): Protect against invalid bitmap width. |
||
5637 | |||
5638 | 2007-06-16 David Turner |
||
5639 | |||
5640 | * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline): |
||
5641 | Prevent integer overflows when rendering very large outlines. |
||
5642 | |||
5643 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the |
||
5644 | well-formedness of the contours array when loading a glyph. |
||
5645 | |||
5646 | * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1', |
||
5647 | and `zp2'. |
||
5648 | (Ins_IP): Check argument ranges to reject bogus operations properly. |
||
5649 | (IUP_WorkerRec): Add `max_points' member. |
||
5650 | (_iup_worker_interpolate): Check argument ranges. |
||
5651 | (Ins_IUP): Ignore empty outlines. |
||
5652 | |||
5653 | 2007-06-16 Dmitry Timoshkov |
||
5654 | |||
5655 | * src/winfonts/winfnt.h: Add necessary structures for PE resource |
||
5656 | parsing. |
||
5657 | (WinPE32_HeaderRec): New structure. |
||
5658 | (WinPE32_SectionRec): New structure. |
||
5659 | (WinPE_RsrcDirRec): New structure. |
||
5660 | (WinPE_RsrcDirEntryRec): New structure. |
||
5661 | (WinPE_RsrcDataEntryRec): New structure. |
||
5662 | (FNT_FontRec): Remove unused `size_shift' field. |
||
5663 | |||
5664 | * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for |
||
5665 | loading bitmap .fon files in PE format. |
||
5666 | |||
5667 | 2007-06-15 Dmitry Timoshkov |
||
5668 | |||
5669 | * builds/win32/ftdebug.c: Unify debug level handling with other |
||
5670 | platforms. |
||
5671 | |||
5672 | 2007-06-14 Dmitry Timoshkov |
||
5673 | |||
5674 | * builds/win32/ftdebug.c (FT_Message): Send debug output to the |
||
5675 | console as well as to the debugger. |
||
5676 | |||
5677 | 2007-06-14 Werner Lemberg |
||
5678 | |||
5679 | * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to |
||
5680 | cover all ranges which could possibly be handled by the aflatin |
||
5681 | module (since the default fallback for unknown ranges is now the |
||
5682 | afcjk module). It might be necessary to fine-tune this further by |
||
5683 | splitting off modules for Greek, Cyrillic, or other blocks. |
||
5684 | |||
5685 | 2007-06-11 David Turner |
||
5686 | |||
5687 | * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix |
||
5688 | incorrect segment linking computation. This was the root cause of |
||
5689 | Savannah bug #19565. |
||
5690 | |||
5691 | |||
5692 | * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes |
||
5693 | to improve the Latin auto-hinter. Note that the new code is |
||
5694 | disabled by default since it is not stabilized yet. |
||
5695 | |||
5696 | * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files |
||
5697 | (disabled currently). |
||
5698 | |||
5699 | * src/autofit/afhints.c: Remove dead code. |
||
5700 | (af_axis_hints_new_edge): Add argument to handle segment directions. |
||
5701 | (af_edge_flags_to_string): New function. |
||
5702 | (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle |
||
5703 | option flags. |
||
5704 | (af_glyph_hints_reload): Add argument to handle inflections. |
||
5705 | Simplify. |
||
5706 | (af_direction_compute): Fine tuning. |
||
5707 | (af_glyph_hints_align_edge_points): Fix logic. |
||
5708 | (af_glyph_hints_align_strong_points): Do linear search for small |
||
5709 | edge counts. |
||
5710 | (af_glyph_hints_align_weak_points): Skip any touched neighbors. |
||
5711 | (af_iup_shift): Handle zero `delta'. |
||
5712 | |||
5713 | * src/autofit/afhints.h: Updated. |
||
5714 | (AF_SORT_SEGMENTS): New macro (disabled). |
||
5715 | (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'. |
||
5716 | |||
5717 | * src/autofit/afglobal.c (af_face_globals_get_metrics): Add |
||
5718 | argument to pass option flags for handling scripts. |
||
5719 | * src/autofit/afglobal.h: Updated. |
||
5720 | |||
5721 | * src/autofit/afcjk.c: Updated. |
||
5722 | * src/autofit/aflatin.c: Updated. |
||
5723 | (af_latin_metrics_scale_dim): Don't reduce scale by 2%. |
||
5724 | |||
5725 | (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code. |
||
5726 | (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code. |
||
5727 | Don't set `edge->dir' |
||
5728 | (af_latin_hint_edges): Add more logging. |
||
5729 | |||
5730 | * src/autofit/afloader.c: Updated. |
||
5731 | |||
5732 | 2007-06-11 Werner Lemberg |
||
5733 | |||
5734 | * docs/CHANGES: Document FT_Face_CheckTrueTypePatents. |
||
5735 | |||
5736 | 2007-06-10 David Turner |
||
5737 | |||
5738 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to |
||
5739 | the TrueType glyph loader. |
||
5740 | |||
5741 | * include/freetype/config/ftoption.h: Clarify documentation |
||
5742 | regarding unpatented hinting. |
||
5743 | |||
5744 | |||
5745 | Add new `FT_Face_CheckTrueTypePatents' API. |
||
5746 | |||
5747 | * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New |
||
5748 | declaration. |
||
5749 | |||
5750 | * include/freetype/internal/services/svttglyf.h, |
||
5751 | src/base/ftpatent.c: New files. |
||
5752 | |||
5753 | * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H): |
||
5754 | New macro. |
||
5755 | |||
5756 | * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and |
||
5757 | `ttpload.h'. |
||
5758 | (tt_service_truetype_glyf): New service structure. |
||
5759 | (tt_services): Register it. |
||
5760 | |||
5761 | * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add |
||
5762 | `ftpatent.c'. |
||
5763 | |||
5764 | 2007-06-08 Werner Lemberg |
||
5765 | |||
5766 | * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28. |
||
5767 | Fonts without a cmap must be handled correctly by FreeType (anything |
||
5768 | else would be a bug). |
||
5769 | |||
5770 | |||
5771 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings) |
||
5772 | [FT_DEBUG_LEVEL_TRACE]: Improve tracing message. |
||
5773 | |||
5774 | 2007-06-07 Werner Lemberg |
||
5775 | |||
5776 | * src/sfnt/ttsbit0.c (tt_sbit_decoder_init, |
||
5777 | tt_sbit_decoder_load_image): Protect against integer overflows. |
||
5778 | |||
5779 | |||
5780 | * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks |
||
5781 | for `x_control' and `y_control'. |
||
5782 | |||
5783 | 2007-06-06 Werner Lemberg |
||
5784 | |||
5785 | * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'. |
||
5786 | |||
5787 | |||
5788 | * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal |
||
5789 | FreeType error. |
||
5790 | |||
5791 | |||
5792 | * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of |
||
5793 | `font_count'. |
||
5794 | |||
5795 | |||
5796 | * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'. |
||
5797 | |||
5798 | |||
5799 | * src/cff/cffgload.c (cff_decoder_prepare): Change return type to |
||
5800 | `FT_Error'. |
||
5801 | Check `fd_index'. |
||
5802 | (cff_slot_load): Updated. |
||
5803 | * src/cff/cffgload.h: Updated. |
||
5804 | |||
5805 | 2007-06-05 Werner Lemberg |
||
5806 | |||
5807 | * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code. |
||
5808 | (pfr_glyph_load_simple): Convert assertion into normal FreeType |
||
5809 | error. |
||
5810 | Check `idx'. |
||
5811 | (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to): |
||
5812 | Convert assertion into normal FreeType error. |
||
5813 | |||
5814 | * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code. |
||
5815 | |||
5816 | |||
5817 | * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'. |
||
5818 | |||
5819 | |||
5820 | * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1 |
||
5821 | in case of parsing error. |
||
5822 | (ps_parser_load_field): Updated. |
||
5823 | |||
5824 | * src/type1/t1load.c (parse_font_matrix): Updated. |
||
5825 | |||
5826 | 2007-06-04 Werner Lemberg |
||
5827 | |||
5828 | * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'. |
||
5829 | |||
5830 | * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'. |
||
5831 | |||
5832 | 2007-06-03 Werner Lemberg |
||
5833 | |||
5834 | * src/tools/ftrandom/*: Add the `ftrandom' test program written by |
||
5835 | George Williams (with some modifications). |
||
5836 | |||
5837 | 2007-06-03 Werner Lemberg |
||
5838 | |||
5839 | * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c |
||
5840 | (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for |
||
5841 | face == NULL. Suggested by Graham Asher. |
||
5842 | |||
5843 | 2007-06-03 Ismail Dönmez |
||
5844 | |||
5845 | * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning. |
||
5846 | |||
5847 | 2007-06-02 Werner Lemberg |
||
5848 | |||
5849 | * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header, |
||
5850 | FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files. |
||
5851 | |||
5852 | * src/bdf/bdflib.c (bdf_load_font): Use them. |
||
5853 | |||
5854 | * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better. |
||
5855 | |||
5856 | 2007-06-01 Werner Lemberg |
||
5857 | |||
5858 | * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c |
||
5859 | (FTC_CMapCache_Lookup): Remove unused code. |
||
5860 | |||
5861 | 2007-06-01 Sean McBride |
||
5862 | |||
5863 | * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed, |
||
5864 | unused. |
||
5865 | |||
5866 | 2007-06-01 Werner Lemberg |
||
5867 | |||
5868 | * src/cid/cidparse.c (cid_parser_new): Don't continue second search |
||
5869 | pass for `StartData' if an error has occurred. |
||
5870 | Exit properly if no `StartData' has been seen at all. |
||
5871 | |||
5872 | * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but |
||
5873 | LONG_MAX to avoid compiler warning. Suggested by Sean McBride. |
||
5874 | |||
5875 | 2007-05-30 Werner Lemberg |
||
5876 | |||
5877 | * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect |
||
5878 | against too small binary data strings. |
||
5879 | |||
5880 | * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better. |
||
5881 | |||
5882 | 2007-05-28 David Turner |
||
5883 | |||
5884 | * src/cff/cffgload.c (cff_slot_load): Do not apply the identity |
||
5885 | transformation. This significantly reduces the loading time of CFF |
||
5886 | glyphs. |
||
5887 | |||
5888 | * docs/CHANGES: Updated. |
||
5889 | |||
5890 | * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default |
||
5891 | hinting script to CJK, since it works well with more scripts than |
||
5892 | latin. Thanks to Rahul Bhalerao |
||
5893 | this out! |
||
5894 | |||
5895 | 2007-05-25 Werner Lemberg |
||
5896 | |||
5897 | * docs/CHANGES: Updated. |
||
5898 | |||
5899 | 2007-05-24 Werner Lemberg |
||
5900 | |||
5901 | * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration |
||
5902 | into TT_USE_BYTECODE_INTERPRETER preprocessor block. |
||
5903 | |||
5904 | 2007-05-24 Graham Asher |
||
5905 | |||
5906 | * src/truetype/ttobjs.c (tt_size_ready_bytecode) |
||
5907 | [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused. |
||
5908 | |||
5909 | 2007-05-22 David Turner |
||
5910 | |||
5911 | * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to |
||
5912 | avoid crashes in case the bytecode interpreter is not used. |
||
5913 | |||
5914 | |||
5915 | Avoid heap blowup with very large .Z font files. This fixes |
||
5916 | Savannah bug #19910. |
||
5917 | |||
5918 | * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor', |
||
5919 | `in_limit', `pad', `pad_bits', and `in_buff' members. |
||
5920 | Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and |
||
5921 | `buf_total' members. |
||
5922 | |||
5923 | * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes |
||
5924 | only one argument. |
||
5925 | (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated. |
||
5926 | |||
5927 | 2007-05-20 Ismail Dönmez |
||
5928 | |||
5929 | * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'. |
||
5930 | (ps_dimension_set_mask_bits): Remove `const'. |
||
5931 | |||
5932 | 2007-05-19 Werner Lemberg |
||
5933 | |||
5934 | * src/sfnt/ttmtx.c (tt_face_get_metrics) |
||
5935 | [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix. |
||
5936 | |||
5937 | 2007-05-19 Derek Clegg |
||
5938 | |||
5939 | Savannah patch #5929. |
||
5940 | |||
5941 | * include/freetype/tttables.h, src/base/ftobjcs.c |
||
5942 | (FT_Get_CMap_Format): New function. |
||
5943 | |||
5944 | * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add |
||
5945 | `format' member. |
||
5946 | * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set |
||
5947 | cmap_info->format. |
||
5948 | |||
5949 | 2007-05-19 Werner Lemberg |
||
5950 | |||
5951 | * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state |
||
5952 | before handling subglyphs so that it can be reinitialized each time. |
||
5953 | This fixes Savannah bug #19859. |
||
5954 | |||
5955 | 2007-05-16 Werner Lemberg |
||
5956 | |||
5957 | * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink), |
||
5958 | src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h |
||
5959 | (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init), |
||
5960 | src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea, |
||
5961 | tt_face_get_metrics): Fix type-punning issues. |
||
5962 | |||
5963 | 2007-05-15 David Turner |
||
5964 | |||
5965 | * include/freetype/config/ftstdlib.h, |
||
5966 | include/freetype/internal/ftobjs.h: As suggested by Graham Asher, |
||
5967 | ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values |
||
5968 | instead on relying on the locale-dependent functions provided by |
||
5969 |
|
||
5970 | |||
5971 | 2007-05-15 Graham Asher |
||
5972 | |||
5973 | * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused |
||
5974 | variable. |
||
5975 | * src/autofit/afloader.c (af_loader_load_g): Ditto. |
||
5976 | |||
5977 | * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'. |
||
5978 | (open_face_from_buffer): Initialize `stream'. |
||
5979 | (FT_Request_Metrics): Remove unused variable. |
||
5980 | Remove redundant `break' statements. |
||
5981 | (FT_Get_Track_Kerning): Remove unused variable. |
||
5982 | |||
5983 | * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs, |
||
5984 | afm_parse_kern_data): Remove redundant |
||
5985 | `break' statements. |
||
5986 | (afm_parser_parse): Ditto. |
||
5987 | Don't use uninitialized variables. |
||
5988 | |||
5989 | * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long. |
||
5990 | Use `|' operator instead of `^' to set it. |
||
5991 | Update all users. |
||
5992 | |||
5993 | * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'. |
||
5994 | * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable. |
||
5995 | |||
5996 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant |
||
5997 | comparison. |
||
5998 | (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'. |
||
5999 | (TT_Load_Glyph): Remove unused variable. |
||
6000 | |||
6001 | 2007-05-13 Derek Clegg |
||
6002 | |||
6003 | * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool |
||
6004 | if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928. |
||
6005 | |||
6006 | 2007-05-11 David Turner |
||
6007 | |||
6008 | * src/cache/ftbasic.c, include/freetype/ftcache.h |
||
6009 | (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new |
||
6010 | functions that allow us to look up glyphs using an FTC_Scaler object |
||
6011 | to specify the size, making it possible to use fractional pixel |
||
6012 | sizes. |
||
6013 | |||
6014 | * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set |
||
6015 | `size->cvt_ready'. Reported by Boris Letocha. |
||
6016 | |||
6017 | 2007-05-09 Graham Asher |
||
6018 | |||
6019 | * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c |
||
6020 | (af_latin_metrics_scale_dim): Fix compiler warnings. |
||
6021 | |||
6022 | 2007-05-06 Werner Lemberg |
||
6023 | |||
6024 | * builds/win32/visualce/freetype.sln: Removed, as requested by |
||
6025 | Vincent. |
||
6026 | |||
6027 | 2007-05-04 Vincent RICHOMME |
||
6028 | |||
6029 | * builds/win32/visualce/*: Add Visual C++ project files for Pocket |
||
6030 | PC targets. |
||
6031 | |||
6032 | * docs/CHANGES: Document them. |
||
6033 | |||
6034 | 2007-05-04 |
||
6035 | |||
6036 | * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of |
||
6037 | mmap (which might happen on some RTOS). From Savannah patch #5909. |
||
6038 | |||
6039 | 2007-05-03 Werner Lemberg |
||
6040 | |||
6041 | * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code. |
||
6042 | * include/freetype/freetype.h (FT_Set_Char_Size): Update |
||
6043 | documentation. |
||
6044 | |||
6045 | 2007-04-28 Victor Stinner |
||
6046 | |||
6047 | * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading |
||
6048 | `cmap'. |
||
6049 | |||
6050 | 2007-04-27 Werner Lemberg |
||
6051 | |||
6052 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative |
||
6053 | number of points in contours. Problem reported by Victor Stinner |
||
6054 |
|
||
6055 | (TT_Process_Simple_Glyph): Synchronize variable types. |
||
6056 | |||
6057 | 2007-04-26 Werner Lemberg |
||
6058 | |||
6059 | * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to |
||
6060 | zero in case of error. This fixes Savannah bug #19689. |
||
6061 | |||
6062 | 2007-04-25 Boris Letocha |
||
6063 | |||
6064 | * src/truetype/ttobjs.c: Fix a typo that created a speed regression |
||
6065 | in the TrueType bytecode loader. |
||
6066 | |||
6067 | 2007-04-10 Martin Horak |
||
6068 | |||
6069 | * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]: |
||
6070 | Ignore `hhea' table. This fixes Savannah bug #19261. |
||
6071 | |||
6072 | 2007-04-09 Werner Lemberg |
||
6073 | |||
6074 | |||
6075 | * Version 2.3.4 released. |
||
6076 | ========================= |
||
6077 | |||
6078 | |||
6079 | Tag sources with `VER-2-3-4'. |
||
6080 | |||
6081 | * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump |
||
6082 | version number to 2.3.4. |
||
6083 | |||
6084 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
||
6085 | builds/win32/visualc/freetype.dsp, |
||
6086 | builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/. |
||
6087 | |||
6088 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4. |
||
6089 | |||
6090 | * builds/unix/configure.raw (version_info): Set to 9:15:3. |
||
6091 | |||
6092 | 2007-04-09 Martin Horak |
||
6093 | |||
6094 | * src/truetype/ttgload.c (load_truetype_glyph): Save and restore |
||
6095 | memory stream to avoid a crash with the incremental memory |
||
6096 | interface (Savannah bug #19260). |
||
6097 | |||
6098 | 2007-04-06 David Turner |
||
6099 | |||
6100 | * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug |
||
6101 | (Savannah bug #19536). |
||
6102 | |||
6103 | 2007-04-04 Werner Lemberg |
||
6104 | |||
6105 | |||
6106 | * Version 2.3.3 released. |
||
6107 | ========================= |
||
6108 | |||
6109 | |||
6110 | Tag sources with `VER-2-3-3'. |
||
6111 | |||
6112 | * docs/CHANGES: Mention CVE-2007-1351. |
||
6113 | |||
6114 | 2007-04-03 David Turner |
||
6115 | |||
6116 | * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos, |
||
6117 | if one of the resolution values is 0, treat it as if it were the |
||
6118 | same as the other value. |
||
6119 | |||
6120 | 2007-04-02 David Turner |
||
6121 | |||
6122 | Add special code to detect `extra-light' fonts and do not snap their |
||
6123 | stem widths too much to avoid bizarre hinting effects. |
||
6124 | |||
6125 | * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and |
||
6126 | `extra_light' members. |
||
6127 | |||
6128 | * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize |
||
6129 | them. |
||
6130 | (af_latin_metrics_scale_dim): Set `extra_light'. |
||
6131 | (af_latin_compute_stem_width): Use `extra_light'. |
||
6132 | |||
6133 | 2007-03-28 David Turner |
||
6134 | |||
6135 | * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the |
||
6136 | padding. |
||
6137 | |||
6138 | 2007-03-28 Werner Lemberg |
||
6139 | |||
6140 | * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128 |
||
6141 | gracefully. |
||
6142 | (_bdf_set_default_spacing): Increase `name' buffer size to 256 and |
||
6143 | issue an error for longer names. This fixes CVE-2007-1351. |
||
6144 | (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the |
||
6145 | number of code points in Unicode. |
||
6146 | |||
6147 | * builds/win32/visualc/index.html, |
||
6148 | builds/win32/visualc/freetype.dsp, |
||
6149 | builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/, |
||
6150 | s/232/233/. |
||
6151 | |||
6152 | * docs/CHANGES: Mention ftdiff. |
||
6153 | |||
6154 | 2007-03-26 David Turner |
||
6155 | |||
6156 | * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and |
||
6157 | corresponding code. |
||
6158 | (Ins_MD): Last regression fix. |
||
6159 | |||
6160 | * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues |
||
6161 | computations in order to ignore single-point contours. These are |
||
6162 | never rasterized and correspond in certain fonts to mark-attach |
||
6163 | points that are very far from the glyph's real outline, ruining the |
||
6164 | computation. |
||
6165 | |||
6166 | * src/autofit/afloader.c (af_loader_load_g): In the case of |
||
6167 | monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0. |
||
6168 | Otherwise code that uses them will most certainly ruin the fixed |
||
6169 | advance property. |
||
6170 | |||
6171 | * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update |
||
6172 | documentation and bump version number to 2.3.3. |
||
6173 | |||
6174 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3. |
||
6175 | |||
6176 | * builds/unix/configure.raw (version_info): Set to 9:14:3. |
||
6177 | |||
6178 | 2007-03-26 suzuki toshiya |
||
6179 | |||
6180 | * builds/unix/ftconfig.in: Disable Carbon framework dependency on |
||
6181 | 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride. |
||
6182 | * builds/vms/ftconfig.h: Ditto. |
||
6183 | * include/freetype/config/ftconfig.h: Ditto. |
||
6184 | |||
6185 | 2007-03-22 suzuki toshiya |
||
6186 | |||
6187 | * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent |
||
6188 | 32bit unsigned long overflow by 64bit filesize on LP64 platform, as |
||
6189 | proposed by Sean McBride: |
||
6190 | http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html |
||
6191 | |||
6192 | 2007-03-22 suzuki toshiya |
||
6193 | |||
6194 | * builds/unix/ftconfig.in: Suppress SGI compiler's warning against |
||
6195 | setjmp, proposed by Sean McBride: |
||
6196 | http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html |
||
6197 | |||
6198 | 2007-03-19 suzuki toshiya |
||
6199 | |||
6200 | * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of |
||
6201 | conftest.c, to avoid unexpected shell evaluation. Possibly it is a |
||
6202 | bug or undocumented behaviour of autoconf. |
||
6203 | |||
6204 | 2007-03-18 David Turner |
||
6205 | |||
6206 | * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression |
||
6207 | fix; testing still needed. |
||
6208 | |||
6209 | * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix. |
||
6210 | |||
6211 | 2007-03-17 David Turner |
||
6212 | |||
6213 | * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the |
||
6214 | (undocumented) twilight zone special case. |
||
6215 | |||
6216 | 2007-03-09 Werner Lemberg |
||
6217 | |||
6218 | |||
6219 | * Version 2.3.2 released. |
||
6220 | ========================= |
||
6221 | |||
6222 | |||
6223 | Tag sources with `VER-2-3-2'. |
||
6224 | |||
6225 | * builds/win32/visualc/index.html, |
||
6226 | builds/win32/visualc/freetype.dsp, |
||
6227 | builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/, |
||
6228 | s/231/232/. |
||
6229 | |||
6230 | 2007-03-08 David Turner |
||
6231 | |||
6232 | * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release. |
||
6233 | |||
6234 | * builds/unix/configure.raw (version_info): Set to 9:13:3. |
||
6235 | |||
6236 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2. |
||
6237 | |||
6238 | * README, Jamfile (RefDoc): s/2.3.1/2.3.2/. |
||
6239 | |||
6240 | * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the |
||
6241 | function to work properly, over-writing user-provided buffers in |
||
6242 | some cases. Reported by James Cloos |
||
6243 | |||
6244 | |||
6245 | 2007-03-05 Werner Lemberg |
||
6246 | |||
6247 | * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper |
||
6248 | macro for `strstr'. |
||
6249 | |||
6250 | * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning |
||
6251 | `trick_names', as suggested by Ivan Nincic. |
||
6252 | |||
6253 | 2007-03-05 David Turner |
||
6254 | |||
6255 | * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in |
||
6256 | case FT_Init_FreeType fails for some reason. Problem reported by |
||
6257 | Maximilian Schwerin |
||
6258 | |||
6259 | * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem' |
||
6260 | and `y_ppem' fields of the `TT_Size.metrics' structure, not those of |
||
6261 | `TT_Size.root.metrics'. Problem reported by Daniel Glöckner |
||
6262 |
|
||
6263 | |||
6264 | * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit |
||
6265 | signed values, not unsigned ones. Problem reported by Johannes |
||
6266 | Walther |
||
6267 | |||
6268 | 2007-02-21 David Turner |
||
6269 | |||
6270 | * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting |
||
6271 | of small and ghost stems in the Postscript interpreter. |
||
6272 | |||
6273 | 2007-02-20 suzuki toshiya |
||
6274 | |||
6275 | * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory |
||
6276 | leak, patch by "Jjgod Jiang" |
||
6277 | * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto. |
||
6278 | |||
6279 | 2007-02-16 Werner Lemberg |
||
6280 | |||
6281 | * src/truetype/ttinterp.c (Ins_MD): Remove unused variable. |
||
6282 | * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto. |
||
6283 | |||
6284 | 2007-02-14 David Turner |
||
6285 | |||
6286 | It seems that the following changes fix most of the known |
||
6287 | interpreter problems with my fonts, but more testing is needed, |
||
6288 | though. |
||
6289 | |||
6290 | * src/truetype/ttinterp.c (FIX_BYTECODE): Activate. |
||
6291 | (TT_MulFix14): Rewrite. |
||
6292 | (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated. |
||
6293 | (Ins_MIRP): Ditto. |
||
6294 | |||
6295 | 2007-02-12 Werner Lemberg |
||
6296 | |||
6297 | * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler |
||
6298 | warnings. |
||
6299 | |||
6300 | * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c |
||
6301 | (bdf_interpret_style): Ditto. |
||
6302 | |||
6303 | 2007-02-12 David Turner |
||
6304 | |||
6305 | Simplify projection and dual-projection code interface. |
||
6306 | |||
6307 | * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not |
||
6308 | FT_Vector' as argument type. |
||
6309 | * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj): |
||
6310 | Updated. |
||
6311 | (CUR_fast_project, CUR_fast_dualproj): New macros. |
||
6312 | (Project, Dual_Project, Project_x, Project_y): Updated. |
||
6313 | (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast' |
||
6314 | macros. |
||
6315 | |||
6316 | |||
6317 | * src/autofit/afloader.c (af_loader_load_g): Improve spacing |
||
6318 | adjustments for the non-light auto-hinted modes. Gets rid of |
||
6319 | `inter-letter spacing is too wide' problems. |
||
6320 | |||
6321 | * src/autofit/aflatin.c (af_latin_hints_link_segments, |
||
6322 | af_latin_hints_compute_edges): Slight optimization of the segment |
||
6323 | linker and better handling of serif segments to get rid of broken |
||
6324 | `9' in Arial at 9pt (96dpi). |
||
6325 | |||
6326 | |||
6327 | Introduce new string functions and the corresponding macros to get |
||
6328 | rid of various uses of strcpy and other `evil' functions, as well as |
||
6329 | to simplify a few things. |
||
6330 | |||
6331 | * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup, |
||
6332 | ft_mem_strcpyn): New declarations. |
||
6333 | (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New |
||
6334 | macros. |
||
6335 | * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New |
||
6336 | functions. |
||
6337 | |||
6338 | * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init), |
||
6339 | src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c |
||
6340 | (pcf_get_properties, pcf_interpret_style, pcf_load_font), |
||
6341 | src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c |
||
6342 | (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy), |
||
6343 | src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c |
||
6344 | (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name, |
||
6345 | t42_get_name_index): Use new functions and simplify code. |
||
6346 | |||
6347 | * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN. |
||
6348 | |||
6349 | 2007-02-11 Werner Lemberg |
||
6350 | |||
6351 | * src/autofit/afloader.c (af_loader_load_g): Don't change width for |
||
6352 | non-spacing glyphs. |
||
6353 | |||
6354 | 2007-02-07 Tom Parker |
||
6355 | |||
6356 | * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL |
||
6357 | pointer. |
||
6358 | |||
6359 | 2007-02-05 suzuki toshiya |
||
6360 | |||
6361 | * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE): |
||
6362 | Introduce __attribute((deprecated))__ to warn functions |
||
6363 | which use non-ANSI data types in its interfaces. |
||
6364 | (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec. |
||
6365 | (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec. |
||
6366 | (FT_New_Face_From_FSSpec): Deprecated, using FSSpec. |
||
6367 | (FT_New_Face_From_FSRef): Deprecated, using FSRef. |
||
6368 | |||
6369 | * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void |
||
6370 | to avoid warning in building FreeType. |
||
6371 | * builds/mac/ftmac.c: Ditto. |
||
6372 | |||
6373 | 2007-02-05 suzuki toshiya |
||
6374 | |||
6375 | * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured |
||
6376 | `--with-fsspec' etc. Replace #include "ftmac.c" with |
||
6377 | #include |
||
6378 | |||
6379 | 2007-02-05 suzuki toshiya |
||
6380 | |||
6381 | * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name): |
||
6382 | Introduced as replacement of FT_GetFile_From_Mac_ATS_Name. |
||
6383 | * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto. |
||
6384 | (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of |
||
6385 | FT_GetFilePath_From_Mac_ATS_Name. |
||
6386 | * builds/mac/ftmac.c: Ditto. |
||
6387 | |||
6388 | 2007-02-05 suzuki toshiya |
||
6389 | |||
6390 | * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of |
||
6391 | FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are |
||
6392 | for passing to FT_New_Face_From_FSSpec. |
||
6393 | |||
6394 | 2007-02-05 suzuki toshiya |
||
6395 | |||
6396 | * builds/unix/configure.raw: Check whether Mac OS X system headers |
||
6397 | can be built under ANSI C mode. |
||
6398 | |||
6399 | * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version |
||
6400 | compatible to ANSI C in case system headers are ANSI C incompatible. |
||
6401 | * builds/mac/ftmac.c (OS_INLINE): Ditto. |
||
6402 | |||
6403 | 2007-02-01 Werner Lemberg |
||
6404 | |||
6405 | * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN): |
||
6406 | Explain why applications shouldn't use it. Found by Alexei. |
||
6407 | |||
6408 | 2007-02-01 Alexei Podtelezhnikov |
||
6409 | |||
6410 | * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning |
||
6411 | message. |
||
6412 | |||
6413 | * src/gxvalid/gxvmort1.c |
||
6414 | (gxv_mort_subtable_type1_substTable_validate): Fix debugging |
||
6415 | message. |
||
6416 | |||
6417 | 2007-01-31 Werner Lemberg |
||
6418 | |||
6419 | |||
6420 | * Version 2.3.1 released. |
||
6421 | ========================= |
||
6422 | |||
6423 | |||
6424 | Tag sources with `VER-2-3-1-FINAL'. |
||
6425 | |||
6426 | * builds/win32/visualc/freetype.dsp, |
||
6427 | builds/win32/visualc/freetype.vcproj: s/230/231/. |
||
6428 | * builds/win32/visualc/index.html: s/221/231/. |
||
6429 | |||
6430 | * vms_make.com: Add `ftgasp'. |
||
6431 | |||
6432 | 2007-01-30 David Turner |
||
6433 | |||
6434 | Tag sources with VER-2-3-1 to prepare release. |
||
6435 | |||
6436 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. |
||
6437 | |||
6438 | * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc): |
||
6439 | s/2.3.0/2.3.1/. |
||
6440 | |||
6441 | * builds/unix/configure.raw (version_info): Set to 9:12:3. |
||
6442 | |||
6443 | |||
6444 | * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c |
||
6445 | (af_loader_load_g): Disable the warper (i.e., the light hinting |
||
6446 | improvements) to make a 2.3.1 bugfix release before introducing a |
||
6447 | new feature. This should give us more time to tune and improve the |
||
6448 | warper for the next release. |
||
6449 | |||
6450 | * docs/CHANGES: Update accordingly. |
||
6451 | |||
6452 | 2007-01-25 David Turner |
||
6453 | |||
6454 | For light auto-hinting, improve glyph advance widths and resurrect |
||
6455 | normal/full hinting to its normal quality. |
||
6456 | |||
6457 | * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta' |
||
6458 | and `xmax_delta'. |
||
6459 | * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta' |
||
6460 | and `xmax_delta'. |
||
6461 | |||
6462 | * src/autofit/afloader.c (af_loader_load_g) |
||
6463 | preprocessor conditional with if-clause, handling both light and |
||
6464 | normal mode. |
||
6465 | |||
6466 | * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again. |
||
6467 | (af_warper_compute): Handle `xmin_delta' and `xmax_delta'. |
||
6468 | |||
6469 | 2007-01-25 Werner Lemberg |
||
6470 | |||
6471 | * docs/release: Updated -- Savannah uses a new uploading scheme. |
||
6472 | |||
6473 | 2007-01-25 David Turner |
||
6474 | |||
6475 | * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix. |
||
6476 | |||
6477 | * src/cff/cffgload.c (cff_decoder_parse_charstrings) |
||
6478 |
|
||
6479 | functions. |
||
6480 | |||
6481 | * docs/CHANGES: Document light auto-hinting improvement. |
||
6482 | |||
6483 | 2007-01-25 Werner Lemberg |
||
6484 | |||
6485 | * src/cff/cffload.c (cff_index_get_pointers): Handle last entry |
||
6486 | correctly in a sanity check. Since this function is only used to |
||
6487 | load local and global functions, any charstring that called the last |
||
6488 | local/global function would fail otherwise. This fixes Savannah bug |
||
6489 | #18867. |
||
6490 | |||
6491 | * docs/CHANGES: Document it. |
||
6492 | |||
6493 | 2007-01-23 David Turner |
||
6494 | |||
6495 | * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that |
||
6496 | prevented compilation when disabling both the unpatented and the |
||
6497 | bytecode interpreter in the TrueType font driver. |
||
6498 | |||
6499 | |||
6500 | Fix and enable the warper to improve `light' hinting mode. This is |
||
6501 | not necessarily a final version, but it seems to work well. |
||
6502 | |||
6503 | * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]: |
||
6504 | Disable code. |
||
6505 | (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT. |
||
6506 | * src/autofit/aftypes.h: Activate AF_USE_WARPER. |
||
6507 | |||
6508 | * src/autofit/afwarp.c (AF_WarpScore): Tune table. |
||
6509 | (af_warper_compute_line_best): Fix array size of `scores'. |
||
6510 | (af_warper_compute): Better handling of border cases. |
||
6511 | * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1' |
||
6512 | and `X2'. |
||
6513 | |||
6514 | 2007-01-21 Werner Lemberg |
||
6515 | |||
6516 | * ChangeLog: Split off older entries into... |
||
6517 | * ChangeLog.22: This new file. |
||
6518 | |||
6519 | 2007-01-21 Werner Lemberg |
||
6520 | |||
6521 | * docs/CHANGES: Document SHZ fix. |
||
6522 | |||
6523 | 2007-01-21 George Williams |
||
6524 | |||
6525 | * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom |
||
6526 | points. |
||
6527 | |||
6528 | 2007-01-21 Werner Lemberg |
||
6529 | |||
6530 | * src/sfnt/ttmtx.c (tt_face_get_metrics) |
||
6531 | [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check. |
||
6532 | |||
6533 | 2007-01-17 Werner Lemberg |
||
6534 | |||
6535 | |||
6536 | * Version 2.3.0 released. |
||
6537 | ========================= |
||
6538 | |||
6539 | |||
6540 | Tag sources with `VER-2-3-0-FINAL'. |
||
6541 | |||
6542 | 2007-01-17 Werner Lemberg |
||
6543 | |||
6544 | * docs/release: Updated. |
||
6545 | |||
6546 | 2007-01-16 David Turner |
||
6547 | |||
6548 | * src/autofit/aflatin.c (af_latin_hints_compute_segments), |
||
6549 | src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c |
||
6550 | (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler |
||
6551 | warnings. |
||
6552 | |||
6553 | 2007-01-15 Detlef Würkner |
||
6554 | |||
6555 | * builds/amiga/makefile, builds/amiga/makefile.os4, |
||
6556 | builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'. |
||
6557 | |||
6558 | * builds/amiga/include/freetype/config/ftconfig.h: Synchronize. |
||
6559 | |||
6560 | 2007-01-14 Detlef Würkner |
||
6561 | |||
6562 | Fix various compiler warnings. |
||
6563 | |||
6564 | * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h, |
||
6565 | src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h: |
||
6566 | s/index/strike_index/. |
||
6567 | * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/. |
||
6568 | |||
6569 | * src/gxvalid/gxvmorx5.c |
||
6570 | (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/. |
||
6571 | |||
6572 | * src/truetype/ttinterp.c (Compute_Point_Displacement), |
||
6573 | src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly |
||
6574 | uninitialized variables. |
||
6575 | |||
6576 | 2007-01-13 suzuki toshiya |
||
6577 | |||
6578 | * docs/CHANGES, docs/INSTALL.MAC: Improvements. |
||
6579 | |||
6580 | 2007-01-13 Werner Lemberg |
||
6581 | |||
6582 | * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM |
||
6583 | versions up to 0x3FF without complaining. |
||
6584 | |||
6585 | 2007-01-13 Derek Clegg |
||
6586 | |||
6587 | Add FT_Get_PS_Font_Info interface to CFF driver. |
||
6588 | |||
6589 | * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H. |
||
6590 | (CFF_FontRec): Add `font_info' field. |
||
6591 | |||
6592 | * src/cff/cffload.c: Include FT_TYPE1_TABLES_H. |
||
6593 | (cff_font_done): Free font->font_info if necessary. |
||
6594 | |||
6595 | * src/cff/cffdrvr.c (cff_ps_get_font_info): New function. |
||
6596 | (cff_service_ps_info): Register cff_ps_get_font_info. |
||
6597 | |||
6598 | 2007-01-13 Werner Lemberg |
||
6599 | |||
6600 | * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation |
||
6601 | with C++ compiler. |
||
6602 | |||
6603 | * src/autofit/afhints.c (af_glyph_hints_dump_segments, |
||
6604 | af_glyph_hints_dump_edges): Ditto. |
||
6605 | |||
6606 | * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in |
||
6607 | `modules.cfg'). |
||
6608 | |||
6609 | * src/sfnt/ttsbit0.h: Remove. |
||
6610 | |||
6611 | * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c. |
||
6612 | |||
6613 | 2007-01-12 David Turner |
||
6614 | |||
6615 | * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping |
||
6616 | bug in the bitmap emboldener if the pitch of the source bitmap is |
||
6617 | much larger than its width. |
||
6618 | |||
6619 | * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related |
||
6620 | compilation warning. |
||
6621 | |||
6622 | 2007-01-12 Werner Lemberg |
||
6623 | |||
6624 | * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from |
||
6625 | `automake' CVS module from sources.redhat.com. |
||
6626 | |||
6627 | 2007-01-11 Werner Lemberg |
||
6628 | |||
6629 | * src/type1/t1load.c (is_space): Removed. |
||
6630 | (parse_encoding, parse_charstrings): Use IS_PS_DELIM. |
||
6631 | (parse_charstrings): Use IS_PS_TOKEN. |
||
6632 | |||
6633 | |||
6634 | * autogen.sh: Avoid bash specific syntax. |
||
6635 | |||
6636 | 2007-01-11 David Turner |
||
6637 | |||
6638 | * docs/CHANGES: Small update. |
||
6639 | |||
6640 | * builds/unix/configure.raw (version_info): Set to 9:11:3. |
||
6641 | |||
6642 | * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a |
||
6643 | crash with some Mac OS X .dfont files. Submitted by Masatake |
||
6644 | Yamato. |
||
6645 | |||
6646 | * autogen.sh: Small fix to get it working on Mac OS X properly: |
||
6647 | The issue is that GNU libtool is called `glibtool' on this platform, |
||
6648 | and we must call `glibtoolize', since `libtoolize' doesn't exist. |
||
6649 | |||
6650 | 2007-01-10 David Turner |
||
6651 | |||
6652 | * all-sources: Tag all sources with VER-2-3-0-RC1 and |
||
6653 | VER-2-3-0. |
||
6654 | |||
6655 | * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp, |
||
6656 | builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update |
||
6657 | version number to 2.3.0. |
||
6658 | |||
6659 | * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3. |
||
6660 | (FREETYPE_PATCH): Set to 0. |
||
6661 | |||
6662 | * include/freetype/ftchapters.h, include/freetype/ftgasp.h, |
||
6663 | include/freetype/ftlcdfil.h: Update reference documentation with |
||
6664 | GASP support and LCD filtering sections. |
||
6665 | |||
6666 | * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo |
||
6667 | which created an endless loop with some malformed font files. |
||
6668 | |||
6669 | 2007-01-10 Derek Clegg |
||
6670 | |||
6671 | * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed-point |
||
6672 | values. |
||
6673 | |||
6674 | 2007-01-08 David Turner |
||
6675 | |||
6676 | * docs/CHANGES: Updated. |
||
6677 | |||
6678 | * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add |
||
6679 | a new API `FT_Get_Gasp' to return entries of the `gasp' table |
||
6680 | corresponding to a given character pixel size. |
||
6681 | |||
6682 | * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the |
||
6683 | `gasp' table, in order to avoid potential problems with later |
||
6684 | versions. |
||
6685 | |||
6686 | * include/freetype/config/ftheader.h (FT_GASP_H): New macro for |
||
6687 |
|
||
6688 | |||
6689 | * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources), |
||
6690 | modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp, |
||
6691 | builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the |
||
6692 | default build. |
||
6693 | |||
6694 | 2007-01-07 Werner Lemberg |
||
6695 | |||
6696 | * src/cid/cidparse.c (cid_parser_new): Improve error message for |
||
6697 | Type 11 fonts. |
||
6698 | Scan for `/sfnts' token. |
||
6699 | |||
6700 | 2007-01-07 Werner Lemberg |
||
6701 | |||
6702 | * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts. |
||
6703 | |||
6704 | 2007-01-06 Werner Lemberg |
||
6705 | |||
6706 | * src/cff/cffload.c (cff_index_init): Remove unused variable. |
||
6707 | (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing. |
||
6708 | |||
6709 | 2007-01-04 David Turner |
||
6710 | |||
6711 | * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts |
||
6712 | correctly. This fixes Savannah bug #17876. |
||
6713 | |||
6714 | |||
6715 | Do not allocate interpreter-specific tables in memory if we are not |
||
6716 | going to load glyphs with the bytecode interpreter anyway. |
||
6717 | |||
6718 | * src/truetype/ttgload.c (tt_loader_init): Load execution context |
||
6719 | only if glyph is hinted. |
||
6720 | Updated. |
||
6721 | * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready' |
||
6722 | and `cvs_ready'. |
||
6723 | Add `tt_size_ready_bytecode' declaration. |
||
6724 | * src/truetype/ttobjs.c (tt_size_done_bytecode, |
||
6725 | tt_size_init_bytecode, tt_size_ready_bytecode): New functions. |
||
6726 | (tt_size_init): Move most code into `tt_size_init_bytecode'. |
||
6727 | (tt_size_done): Move most code into `tt_size_done_bytecode'. |
||
6728 | (tt_size_reset): Move some code to `tt_size_ready_bytecode'. |
||
6729 | |||
6730 | |||
6731 | Don't extract the metrics table from the SFNT font file. Instead, |
||
6732 | reparse it on each glyph load. The runtime difference is not |
||
6733 | noticeable, and it can save a lot of heap memory when memory-mapped |
||
6734 | files are not used. |
||
6735 | |||
6736 | * include/freetype/internal/tttypes.h (TT_FaceRec): Add members |
||
6737 | `horz_metrics_offset' and `vert_metrics_ofset'. |
||
6738 | * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): |
||
6739 | Updated. |
||
6740 | |||
6741 | |||
6742 | * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization. |
||
6743 | |||
6744 | |||
6745 | Do not load the CFF index offsets into memory, since this wastes a |
||
6746 | *lot* of heap memory with large Asian CFF fonts. There is no |
||
6747 | significant performance loss. |
||
6748 | |||
6749 | * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration. |
||
6750 | * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and |
||
6751 | `data_size'. |
||
6752 | (CFF_CharsetRec): Add field `num_glyphs'. |
||
6753 | |||
6754 | * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets, |
||
6755 | cff_charset_cid_to_gindex): New functions. |
||
6756 | (cff_new_index): Renamed to... |
||
6757 | (cff_index_init): This. Update all callers. |
||
6758 | Updated -- some code has been moved to `cff_index_load_offsets'. |
||
6759 | (cff_done_index): Renamed to... |
||
6760 | (cff_index_done): This. Update all callers. |
||
6761 | (cff_index_get_pointers, cff_index_access_element): Updated to use |
||
6762 | stream offsets. |
||
6763 | (cff_charset_compute_cids): Set `num_glyphs' field. |
||
6764 | (cff_encoding_load): Updated. |
||
6765 | |||
6766 | * src/cff/cffgload.c (cff_slot_load): Updated. |
||
6767 | |||
6768 | 2007-01-04 David Turner |
||
6769 | |||
6770 | * docs/INSTALL.UNIX: Simplify some parts, add reference to |
||
6771 | autogen.sh and pointer to README.CVS. |
||
6772 | |||
6773 | * README.CVS: Add common problem description and solution |
||
6774 | when running autogen.sh. |
||
6775 | |||
6776 | * docs/INSTALL: Add reference to MacOS X. |
||
6777 | |||
6778 | * docs/MAKEPP, docs/INSTALL.MAC: New documentation files. |
||
6779 | |||
6780 | * docs/TODO: Remove obsolete items. |
||
6781 | |||
6782 | * src/raster/ftraster.c: (TRaster_Instance): Replace it with... |
||
6783 | (TWorker): This. |
||
6784 | Remove `count_table' and `memory'. |
||
6785 | Make `grays' a pointer. |
||
6786 | (TRaster): New structure. |
||
6787 | (count_table): New static array. |
||
6788 | (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras, |
||
6789 | Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done, |
||
6790 | ft_black_set_mode, ft_black_render): Updated. |
||
6791 | (ft_black_init): Don't initialize `count_table'. |
||
6792 | (ft_black_reset): Use the render pool. This saves about 6KB of |
||
6793 | heap space for each FT_Library instance. |
||
6794 | |||
6795 | * src/smooth/ftgrays.c (TRaster): Replaced with... |
||
6796 | (TWorker): This. |
||
6797 | Remove `memory'. |
||
6798 | (TRaster): New structure. |
||
6799 | |||
6800 | (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line, |
||
6801 | gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to, |
||
6802 | gray_render_span, gray_raster_render): Updated. |
||
6803 | (gray_raster_reset): Use the render pool. This saves about 6KB of |
||
6804 | heap space for each FT_Library instance. |
||
6805 | |||
6806 | * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h, |
||
6807 | src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h, |
||
6808 | src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove |
||
6809 | FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since |
||
6810 | the optimization is no longer experimental. |
||
6811 | |||
6812 | * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points): |
||
6813 | Remove a typo that results in no hinting and a memory leak with some |
||
6814 | large Asian CFF fonts. |
||
6815 | |||
6816 | * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak |
||
6817 | which happens when FT_Done_Library is called with still opened |
||
6818 | CFF_Faces in it. We need to close all faces before destroying the |
||
6819 | modules, or else some bad things (memory leaks) may happen. |
||
6820 | |||
6821 | 2007-01-02 Werner Lemberg |
||
6822 | |||
6823 | * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): |
||
6824 | Remove compiler warning. |
||
6825 | |||
6826 | 2007-01-02 David Turner |
||
6827 | |||
6828 | * src/sfnt/sfobjs.c: Add documentation comment. |
||
6829 | |||
6830 | 2006-12-31 Masatake YAMATO |
||
6831 | |||
6832 | * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New |
||
6833 | function. |
||
6834 | Check uniqueness of the gid pairs. |
||
6835 | (gxv_kern_subtable_fmt0_validate): Move some code to |
||
6836 | `gxv_kern_subtable_fmt0_pairs_validate'. |
||
6837 | |||
6838 | 2006-12-22 David Turner |
||
6839 | |||
6840 | * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler |
||
6841 | warnings. |
||
6842 | |||
6843 | * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE |
||
6844 | to avoid deprecation warnings with Visual C++ 8. |
||
6845 | |||
6846 | 2006-12-16 Anders Kaseorg |
||
6847 | |||
6848 | * src/base/ftlcdfil.c (FT_Library_SetLcdFilter) |
||
6849 | [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo. |
||
6850 | |||
6851 | 2006-12-15 suzuki toshiya |
||
6852 | |||
6853 | * include/freetype/internal/services/svotval.h: Add `volatile' to |
||
6854 | sync with the modification by Jens Claudius on 2006-08-22; cf. |
||
6855 | http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5 |
||
6856 | |||
6857 | 2006-12-15 suzuki toshiya |
||
6858 | |||
6859 | * src/base/ftmac.c: Specialized for Mac OS X only. |
||
6860 | * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework. |
||
6861 | * builds/unix/configure.raw: Ditto. When explicit switches for |
||
6862 | FSSpec/FSRef/QuickDraw/ATS availability are given to configure, |
||
6863 | builds/mac/ftmac.c is used instead of default src/base/ftmac.c. |
||
6864 | |||
6865 | 2006-12-15 suzuki toshiya |
||
6866 | |||
6867 | * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system. |
||
6868 | * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c |
||
6869 | instead of src/base/ftmac.c |
||
6870 | * builds/mac/FreeType.ppc_carbon.make.txt: Ditto. |
||
6871 | * builds/mac/FreeType.ppc_classic.make.txt: Ditto. |
||
6872 | * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c |
||
6873 | that cannot be built at present. |
||
6874 | |||
6875 | 2006-12-15 suzuki toshiya |
||
6876 | |||
6877 | * src/base/ftobjs.c: Improvement of resource fork handler for |
||
6878 | POSIX, cf. |
||
6879 | http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html |
||
6880 | (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font |
||
6881 | format or .dfont, to simulate the face index number counted by ftmac.c. |
||
6882 | (IsMacResource): Return the number of scalable faces correctly. |
||
6883 | |||
6884 | 2006-12-10 Werner Lemberg |
||
6885 | |||
6886 | * builds/toplevel.mk (version): Protect against `distclean' target. |
||
6887 | |||
6888 | 2006-12-09 Werner Lemberg |
||
6889 | |||
6890 | * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat' |
||
6891 | or `type'. |
||
6892 | |||
6893 | * builds/freetype.mk (version): Extracted from freetype.h, using |
||
6894 | GNU make's built-in string functions. |
||
6895 | (refdoc): Use $(version) instead of static version number. |
||
6896 | |||
6897 | 2006-12-08 Werner Lemberg |
||
6898 | |||
6899 | * builds/toplevel.mk (dist): Extract version number from freetype.h. |
||
6900 | |||
6901 | 2006-12-08 Vladimir Volovich |
||
6902 | |||
6903 | * src/tools/apinames.c (State): Remove final comma in structure -- |
||
6904 | xlc v5 under AIX 4.3 doesn't like this. |
||
6905 | |||
6906 | 2006-12-07 David Turner |
||
6907 | |||
6908 | * src/autofit/afloader.c (af_loader_load_g): Small adjustment |
||
6909 | to the spacing of auto-fitted glyphs. This only impacts rare |
||
6910 | cases (e.g., Arial Bold at rather small character sizes). |
||
6911 | |||
6912 | 2006-12-03 Werner Lemberg |
||
6913 | |||
6914 | * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c. |
||
6915 | |||
6916 | 2006-12-01 Werner Lemberg |
||
6917 | |||
6918 | * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are |
||
6919 | encoded in UTF-16BE. Patch from Rajeev Pahuja |
||
6920 | (tt_name_entry_ascii_from_ucs4): Removed. |
||
6921 | |||
6922 | |||
6923 | * include/freetype/ftxf86.h: Fix and extend comment so that it |
||
6924 | appears in the documentation. |
||
6925 | |||
6926 | * include/freetype/ftchapters.h: Add `font_format' section. |
||
6927 | |||
6928 | |||
6929 | * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link |
||
6930 | to TOC in index page. |
||
6931 | |||
6932 | 2006-11-28 David Turner |
||
6933 | |||
6934 | * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are |
||
6935 | trying to render into a zero-width/height bitmap, not an error code. |
||
6936 | |||
6937 | * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch. |
||
6938 | |||
6939 | * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType |
||
6940 | ones instead. |
||
6941 | |||
6942 | * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused |
||
6943 | variable. |
||
6944 | |||
6945 | 2006-11-26 Pierre Hanser |
||
6946 | |||
6947 | * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer. |
||
6948 | |||
6949 | 2006-11-25 David Turner |
||
6950 | |||
6951 | * src/autofit/afhints.c (af_glyph_hints_dump_points, |
||
6952 | af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]: |
||
6953 | Add stubs to link the `ftgrid' test program when debugging is |
||
6954 | disabled in the auto-hinter. |
||
6955 | |||
6956 | 2006-11-23 David Turner |
||
6957 | |||
6958 | * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c, |
||
6959 | src/autofit/aftypes.h: Miscellaneous auto-hinter improvements. |
||
6960 | |||
6961 | * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]: |
||
6962 | Emit more sensible information. |
||
6963 | |||
6964 | * src/autofit/afhints.h (AF_SegmentRec): Add `height' member. |
||
6965 | |||
6966 | * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve |
||
6967 | rounding of blue values. |
||
6968 | (af_latin_hints_compute_segments): Hint segment heights. |
||
6969 | (af_latin_hints_link_segments): Reduce `len_score' value. |
||
6970 | (af_latin_hints_compute_edges): Increase `segment_length_threshold' |
||
6971 | value and use `height' member for comparisons. |
||
6972 | (af_latin_hint_edges): Extend logging message. |
||
6973 | Improve handling of remaining edges. |
||
6974 | |||
6975 | 2006-11-22 Werner Lemberg |
||
6976 | |||
6977 | Fix Savannah bug #15553. |
||
6978 | |||
6979 | * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT |
||
6980 | program after a change from mono to grayscaling (and vice versa). |
||
6981 | Use correct constant for comparison to get `exec->grayscale'. |
||
6982 | |||
6983 | 2006-11-18 Werner Lemberg |
||
6984 | |||
6985 | Because FT_Load_Glyph expects CID values for CID-keyed fonts, the |
||
6986 | test for a valid glyph index must be deferred to the font drivers. |
||
6987 | This patch fixes Savannah bug #18301. |
||
6988 | |||
6989 | * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'. |
||
6990 | * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c |
||
6991 | (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph), |
||
6992 | src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c |
||
6993 | (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph), |
||
6994 | src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c |
||
6995 | (FNT_Load_Glyph): Check validity of `glyph_index'. |
||
6996 | |||
6997 | 2006-11-13 David Turner |
||
6998 | |||
6999 | * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter |
||
7000 | `enhancements' are still too buggy for general use. |
||
7001 | |||
7002 | * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and |
||
7003 | FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros |
||
7004 | when building the library to change the default LCD filter to be |
||
7005 | used. This is only useful for experimentation. |
||
7006 | |||
7007 | * include/freetype/ftlcdfil.h: Update documentation. |
||
7008 | |||
7009 | 2006-11-10 David Turner |
||
7010 | |||
7011 | * src/smooth/ftsmooth.c: API change for the LCD |
||
7012 | filter. The FT_LcdFilter value is an enumeration describing which |
||
7013 | filter to apply, with new values FT_LCD_FILTER_LIGHT and |
||
7014 | FT_LCD_FILTER_LEGACY (the latter implements the LibXft original |
||
7015 | algorithm which produces strong color fringes for everything |
||
7016 | except very-well hinted text). |
||
7017 | |||
7018 | * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change |
||
7019 | second parameter to an enum type. |
||
7020 | |||
7021 | * src/base/ftlcdfil.c (USE_LEGACY): Define. |
||
7022 | (_ft_lcd_filter): Rename to... |
||
7023 | (_ft_lcd_filter_fir): This. |
||
7024 | Update parameters. |
||
7025 | (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function. |
||
7026 | (FT_Library_Set_LcdFilter): Update parameters. |
||
7027 | Handle new filter modes. |
||
7028 | |||
7029 | * include/internal/ftobjs.h: Include FT_LCD_FILTER_H. |
||
7030 | (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'. |
||
7031 | (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering |
||
7032 | callback and update other fields. |
||
7033 | |||
7034 | * src/smooth/ftsmooth.c (ft_smooth_render_generic) |
||
7035 | [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update. |
||
7036 | Other minor improvements. |
||
7037 | |||
7038 | * src/autofit/aflatin.c: Various tiny improvements that drastically |
||
7039 | improve the handling of serif fonts and of LCD/LCD_V hinting modes. |
||
7040 | (af_latin_hints_compute_edges): Fix typo. |
||
7041 | (af_latin_compute_stem_width): Take better care of diagonal stems. |
||
7042 | |||
7043 | 2006-11-09 David Turner |
||
7044 | |||
7045 | * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix |
||
7046 | typo which created a variable-used-before-initialized bug. |
||
7047 | |||
7048 | 2006-11-07 Zhe Su |
||
7049 | |||
7050 | * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout |
||
7051 | also. |
||
7052 | |||
7053 | 2006-11-03 Werner Lemberg |
||
7054 | |||
7055 | * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'. |
||
7056 | |||
7057 | 2006-11-02 David Turner |
||
7058 | |||
7059 | Add a few tweaks to better handle serif fonts. |
||
7060 | Add more debugging messages. |
||
7061 | |||
7062 | * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore |
||
7063 | segments that are less than 1.5 pixels high. This gets rid of |
||
7064 | *many* corner cases with serifs. |
||
7065 | (af_latin_align_linked_edge): Add logging message. |
||
7066 | (af_latin_hint_edges): Use AF_HINTS_DO_BLUES. |
||
7067 | Add logging messages. |
||
7068 | Handle AF_EDGE_FLAG flag specially. |
||
7069 | |||
7070 | * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug, |
||
7071 | _af_debug_disable_blue_hints, and _af_debug_hints variables. |
||
7072 | |||
7073 | * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug. |
||
7074 | Update external declarations. |
||
7075 | (af_corner_orientation, af_corner_is_flat): Replaced by... |
||
7076 | |||
7077 | * include/freetype/internal/ftcalc.h (ft_corner_orientation, |
||
7078 | ft_corner_is_flat): These declarations. |
||
7079 | |||
7080 | * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat): |
||
7081 | Comment out. Replaced by... |
||
7082 | |||
7083 | * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat): |
||
7084 | These functions. Update all callers. |
||
7085 | (FT_Add64) [!FT_LONG64]: Simplify. |
||
7086 | |||
7087 | * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H. |
||
7088 | (af_direction_compute): Add a missing FT_ABS call. This bug caused |
||
7089 | production of garbage by missing lots of segments. |
||
7090 | |||
7091 | * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro. |
||
7092 | |||
7093 | * src/autofit/afloader.c (af_loader_init, af_loader_done) |
||
7094 | [AF_DEBUG]: Set _af_debug_hints. |
||
7095 | |||
7096 | |||
7097 | * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H. |
||
7098 | (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat |
||
7099 | and ft_corner_orientation. |
||
7100 | |||
7101 | |||
7102 | * src/gzip/inftrees.c (huft_build): Remove compiler warning. |
||
7103 | |||
7104 | 2006-10-24 Werner Lemberg |
||
7105 | |||
7106 | * src/cff/cffload.c (cff_encoding_load): Remove unused variable. |
||
7107 | |||
7108 | * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE |
||
7109 | as argument. |
||
7110 | |||
7111 | 2006-10-23 Zhe Su |
||
7112 | |||
7113 | * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to |
||
7114 | better deal with broken Asian fonts with strange glyphs, having |
||
7115 | self-intersections and other peculiarities. The used algorithm is |
||
7116 | based on the nonzero winding rule. |
||
7117 | |||
7118 | 2006-10-23 David Turner |
||
7119 | |||
7120 | Speed up the CFF font loader. With some large CFF fonts, |
||
7121 | FT_Open_Face is now more than three times faster. |
||
7122 | |||
7123 | * src/cff/cffload.c (cff_get_offset): Removed. |
||
7124 | (cff_new_index): Inline functionality of `cff_get_offset'. |
||
7125 | (cff_charset_compute_cids, cff_charset_free_cids): New functions. |
||
7126 | (cff_charset_done): Call `cff_charset_free_cids'. |
||
7127 | (cff_charset_load): Call `cff_charset_compute_cids'. |
||
7128 | (cff_encoding_load) |
||
7129 | |||
7130 | * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX |
||
7131 | with FT_NEXT_XXX. |
||
7132 | |||
7133 | |||
7134 | Speed up the Postscript hinter, with more than 100% speed increase |
||
7135 | on my machine. |
||
7136 | |||
7137 | * src/pshinter/pshalgo.c (psh_corner_is_flat, |
||
7138 | psh_corner_orientation): New functions. |
||
7139 | (psh_glyph_compute_inflections): Merge loops for efficiency. |
||
7140 | Use `psh_corner_orientation'. |
||
7141 | (psh_glyph_init): Use `psh_corner_is_flat'. |
||
7142 | (psh_hint_table_find_strong_point): Renamed to... |
||
7143 | (psh_hint_table_find_strong_points): This. |
||
7144 | Rewrite, adding argument to handle all points at once. |
||
7145 | Update all callers. |
||
7146 | (PSH_MAX_STRONG_INTERNAL): New macro. |
||
7147 | (psh_glyph_interpolate_normal_points): Rewrite for efficiency. |
||
7148 | |||
7149 | 2006-10-15 suzuki toshiya |
||
7150 | |||
7151 | * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable |
||
7152 | `error' with FT_Err_Ok. |
||
7153 | |||
7154 | 2006-10-14 suzuki toshiya |
||
7155 | |||
7156 | * docs/INSTALL.CROSS: New document file for cross-building. |
||
7157 | |||
7158 | * builds/unix/configure.raw: Preliminary cross-building support. |
||
7159 | Find native C compiler and pass it by CC_BUILD, and |
||
7160 | find suffix for native executable and pass it by EXEEXT_BUILD. |
||
7161 | Also suffix for target executable is passed by EXEEXT. |
||
7162 | |||
7163 | * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to |
||
7164 | build `apinames' which runs on building system. They are set by |
||
7165 | CC_BUILD and EXEEXT_BUILD. |
||
7166 | |||
7167 | * builds/exports.mk (APINAMES_EXE): Change the extension for |
||
7168 | apinames from the suffix for target (E) to that for building host |
||
7169 | (E_BUILD). |
||
7170 | |||
7171 | 2006-10-12 Werner Lemberg |
||
7172 | |||
7173 | * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to... |
||
7174 | * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents |
||
7175 | which reference those files. |
||
7176 | |||
7177 | 2006-10-12 suzuki toshiya |
||
7178 | |||
7179 | * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is |
||
7180 | embedded in freetype2.pc and freetype-config. Use it to record |
||
7181 | Carbon dependency of MacOSX. |
||
7182 | |||
7183 | * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS. |
||
7184 | |||
7185 | * builds/unix/freetype-config.in: Ditto. |
||
7186 | |||
7187 | 2006-10-11 Werner Lemberg |
||
7188 | |||
7189 | * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for |
||
7190 | development. |
||
7191 | |||
7192 | 2006-10-03 Jens Claudius |
||
7193 | |||
7194 | * include/freetype/config/ftstdlib.h: Cast away volatileness from |
||
7195 | argument to ft_setjmp. |
||
7196 | |||
7197 | * include/freetype/internal/ftvalid.h: Add comment that |
||
7198 | ft_validator_run must not be used. |
||
7199 | |||
7200 | 2006-10-01 Werner Lemberg |
||
7201 | |||
7202 | * src/base/ftbase.c: Undo change from 2006-09-30. |
||
7203 | |||
7204 | * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'. |
||
7205 | |||
7206 | 2006-09-30 David Turner |
||
7207 | |||
7208 | * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): |
||
7209 | s/unpatented_hinting/ignore_unpatented_hinter/. |
||
7210 | Update all callers. |
||
7211 | |||
7212 | * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether |
||
7213 | auto-hinting shall be used or not. |
||
7214 | |||
7215 | * src/truetype/ttobjs.c (tt_face_init): Ditto. |
||
7216 | |||
7217 | 2006-09-30 Werner Lemberg |
||
7218 | |||
7219 | * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer |
||
7220 | in use). |
||
7221 | |||
7222 | * src/base/ftbase.c: Include `ftlcdfil.c'. |
||
7223 | |||
7224 | 2006-09-29 Werner Lemberg |
||
7225 | |||
7226 | * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for |
||
7227 | overlapping segments. Bug reported by Stefan Koch. |
||
7228 | |||
7229 | 2006-09-28 David Turner |
||
7230 | |||
7231 | Fix a bug in the automatic unpatented hinting support which prevents |
||
7232 | normal bytecode hinting to work properly. |
||
7233 | |||
7234 | * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): |
||
7235 | s/force_autohint/unpatented_hinting/. Update all callers. |
||
7236 | |||
7237 | * src/base/ftobjs.c (FT_Load_Glyph): Updated code. |
||
7238 | |||
7239 | * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces. |
||
7240 | |||
7241 | 2006-09-27 David Turner |
||
7242 | |||
7243 | * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2. |
||
7244 | |||
7245 | |||
7246 | Add a new API to support color filtering of subpixel glyph bitmaps. |
||
7247 | In a default build, the function `FT_Library_SetLcdFilter' returns |
||
7248 | `FT_Err_Unimplemented_Feature'; you need to #define |
||
7249 | FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the |
||
7250 | real implementation. |
||
7251 | |||
7252 | * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files. |
||
7253 | |||
7254 | * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New |
||
7255 | typedef. |
||
7256 | (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members |
||
7257 | `lcd_filter_weights' and `lcd_filter'. |
||
7258 | |||
7259 | * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments |
||
7260 | `hmul' and `vmul'. |
||
7261 | |||
7262 | Handle subpixel rendering. |
||
7263 | Simplify function. |
||
7264 | (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'. |
||
7265 | (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'. |
||
7266 | |||
7267 | * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro, |
||
7268 | pointing to |
||
7269 | |||
7270 | * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC), |
||
7271 | vms_make.com: Add `ftlcdfil.c' to the list of compiled source files. |
||
7272 | |||
7273 | * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c. |
||
7274 | |||
7275 | 2006-09-26 David Bustin |
||
7276 | |||
7277 | * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes |
||
7278 | correctly. Reported as Savannah bug #17843. |
||
7279 | |||
7280 | 2006-09-26 David Turner |
||
7281 | |||
7282 | * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL, |
||
7283 | AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable |
||
7284 | horizontal and vertical hinting for the purpose of debugging the |
||
7285 | auto-fitter. |
||
7286 | |||
7287 | * src/autofit/afmodule.c (_af_debug_disable_horz_hints, |
||
7288 | _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables. |
||
7289 | |||
7290 | * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables. |
||
7291 | |||
7292 | * include/freetype/config/ftoption.h, devel/ftoption.h |
||
7293 | (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether |
||
7294 | we want to compile LCD-optimized rendering code (Ã la ClearType) or |
||
7295 | not. The macro *must* be disabled in default builds of the library |
||
7296 | for patent reasons. |
||
7297 | |||
7298 | * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable |
||
7299 | LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING |
||
7300 | isn't defined at compile time. This only changes the content of the |
||
7301 | rendered glyph to match the one of normal gray-level rendering, |
||
7302 | hence clients should not need to be modified. |
||
7303 | |||
7304 | * docs/CHANGES: Updated. |
||
7305 | |||
7306 | 2006-09-18 Garrick Meeker |
||
7307 | |||
7308 | * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if |
||
7309 | LWFN fails and both are available. |
||
7310 | |||
7311 | 2006-09-11 David Turner |
||
7312 | |||
7313 | * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which |
||
7314 | report their English names through an Apple Roman |
||
7315 | (platform,encoding) pair, with language_id != English. |
||
7316 | |||
7317 | If the font uses another name entry with language_id == English, it |
||
7318 | will be selected correctly, though. |
||
7319 | |||
7320 | * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting |
||
7321 | selection for `mingli.ttf'. |
||
7322 | |||
7323 | 2006-09-05 Werner Lemberg |
||
7324 | |||
7325 | * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size' |
||
7326 | values which have the upper two bytes set to 0xFF instead of 0x00 |
||
7327 | (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and |
||
7328 | `HAN NOM B.ttf'). |
||
7329 | |||
7330 | * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code. |
||
7331 | |||
7332 | 2006-09-05 David Turner |
||
7333 | |||
7334 | Minor source cleanups and optimizations. |
||
7335 | |||
7336 | * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed. |
||
7337 | (TRaster): Remove `count_ex' and `count_ey'. |
||
7338 | (gray_find_cell): Remove 2nd and 3rd argument. |
||
7339 | (gray_alloc_cell): Merged with `gray_find_cell'. |
||
7340 | (gray_record_cell): Simplify. |
||
7341 | (gray_set_cell): Rewrite. |
||
7342 | (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'. |
||
7343 | (gray_render_span): Don't use FT_MEM_SET for small values. |
||
7344 | (gray_dump_cells) [DEBUG_GRAYS]: New function. |
||
7345 | (gray_sweep): Avoid buffer overwrites when to drawing the end of a |
||
7346 | bitmap scanline. |
||
7347 | (gray_convert_glyph): Fix speed-up. |
||
7348 | |||
7349 | 2006-09-04 David Turner |
||
7350 | |||
7351 | * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with |
||
7352 | 64bit processors. |
||
7353 | |||
7354 | 2006-09-03 Werner Lemberg |
||
7355 | |||
7356 | * devel/ftoption.h: Synchronize with |
||
7357 | include/freetype/config/ftoption.h. |
||
7358 | |||
7359 | * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing |
||
7360 | variable declaration. |
||
7361 | (gray_convert_glyph): Fix compiler warnings. |
||
7362 | |||
7363 | 2006-09-01 David Turner |
||
7364 | |||
7365 | * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader |
||
7366 | to recognize a few fonts that require the automatic unpatented |
||
7367 | loader. |
||
7368 | |||
7369 | * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased |
||
7370 | rasterizer. The speed improvement is between 15% and 25%, depending |
||
7371 | on the font data. |
||
7372 | |||
7373 | (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code. |
||
7374 | (TCell): Redefine. |
||
7375 | (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'. |
||
7376 | (gray_init_cells): Updated. |
||
7377 | (gray_find_cell, gray_alloc_cell): New functions. |
||
7378 | (gray_record_cell): Rewritten to use `gray_find_cell' and |
||
7379 | `gray_alloc_cell'. |
||
7380 | (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT, |
||
7381 | QSORT_THRESHOLD): |
||
7382 | Removed. |
||
7383 | (gray_shell_sort, gray_quick_sort, gray_check_sort, |
||
7384 | gray_dump_cells): Removed. |
||
7385 | (gray_sweep): Rewritten. |
||
7386 | (gray_convert_glyph): Rewrite code which used one of the sorting |
||
7387 | functions. |
||
7388 | (gray_raster_render): Updated. |
||
7389 | |||
7390 | 2006-08-29 Dr. Werner Fink |
||
7391 | |||
7392 | * configure: Make it possible to handle configure options which |
||
7393 | have strings containing spaces. |
||
7394 | |||
7395 | 2006-08-27 David Turner |
||
7396 | |||
7397 | * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER): |
||
7398 | New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER |
||
7399 | or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined. |
||
7400 | |||
7401 | * include/freetype/internal/ftcalc.h, src/base/ftcalc.c, |
||
7402 | src/truetype/truetype.c, src/truetype/ttdriver.c, |
||
7403 | src/truetype/ttgload.c, src/truetype/ttgload.h, |
||
7404 | src/truetype/ttinterp.c, src/truetype/ttobjs.c, |
||
7405 | src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c: |
||
7406 | s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/. |
||
7407 | |||
7408 | * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New |
||
7409 | member `force_autohint'. |
||
7410 | |||
7411 | * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'. |
||
7412 | |||
7413 | * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing |
||
7414 | against a list of font names which need the bytecode interpreter. |
||
7415 | |||
7416 | 2006-08-27 Jens Claudius |
||
7417 | |||
7418 | Fix miscellaneous compiler warnings. |
||
7419 | |||
7420 | * include/freetype/internal/ftobjs.h: Close comment with `*/' to |
||
7421 | avoid `/* in comment' compiler warning. |
||
7422 | |||
7423 | * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast |
||
7424 | `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on |
||
7425 | 64-bit platforms void* is larger than FT_UInt32. |
||
7426 | |||
7427 | * src/base/ftobjs.c (t_validator_error): Cast away |
||
7428 | volatileness of argument to ft_longjmp. Spotted by Werner |
||
7429 | `Putzfrau' Lemberg. |
||
7430 | |||
7431 | * src/bdf/bdflib.c (bdf_load_font): Initialize local |
||
7432 | variable `lineno'. |
||
7433 | |||
7434 | * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable |
||
7435 | `error' as volatile. |
||
7436 | |||
7437 | 2006-08-27 Werner Lemberg |
||
7438 | |||
7439 | * builds/unix/ftconfig.in: Synchronize with main ftconfig.h. |
||
7440 | Reported by Jens. |
||
7441 | |||
7442 | 2006-08-22 Jens Claudius |
||
7443 | |||
7444 | Fix for previous commit, which caused many compiler warnings/errors |
||
7445 | about addresses of volatile objects passed as function arguments as |
||
7446 | non-volatile pointers. |
||
7447 | |||
7448 | * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a |
||
7449 | pointer to a volatile object. |
||
7450 | |||
7451 | * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument |
||
7452 | `table' a pointer to a volatile object. |
||
7453 | |||
7454 | * src/otvalid/otvmod.c (otv_load_table): Make function argument |
||
7455 | `table' a pointer to a volatile object. |
||
7456 | |||
7457 | 2006-08-18 Jens Claudius |
||
7458 | |||
7459 | * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt' |
||
7460 | as volatile since it must keep its value across a call to ft_setjmp. |
||
7461 | (gxv_validate): Same for local variables `memory' and `valid'. |
||
7462 | (classic_kern_validate): Same for local variables `memory', |
||
7463 | `ckern', and `valid'. |
||
7464 | |||
7465 | * src/otvalid/otvmod.c (otv_validate): Same for function parameter |
||
7466 | `face' and local variables `base', `gdef', `gpos', `gsub', `jstf', |
||
7467 | and 'valid'. |
||
7468 | |||
7469 | * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable |
||
7470 | `cmap'. |
||
7471 | |||
7472 | 2006-08-16 David Turner |
||
7473 | |||
7474 | * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler |
||
7475 | warnings. |
||
7476 | |||
7477 | * src/base/ftobjs.c (ft_validator_run): Disable function; it is |
||
7478 | buggy by design. Always return -1. |
||
7479 | |||
7480 | |||
7481 | Improvements to native TrueType hinting. This is a first try, |
||
7482 | controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c. |
||
7483 | |||
7484 | * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member |
||
7485 | `extra_points2'. |
||
7486 | |||
7487 | * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member |
||
7488 | `orus'. |
||
7489 | |||
7490 | * src/base/ftgloadr.c (FT_GlyphLoader_Reset, |
||
7491 | FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra, |
||
7492 | FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to |
||
7493 | handle `extra_points2'. |
||
7494 | |||
7495 | * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'. |
||
7496 | Remove compiler warning. |
||
7497 | (cur_to_arg): Remove macro. |
||
7498 | (TT_Hint_Glyph): Updated. |
||
7499 | (TT_Process_Simple_Glyph): Handle `orus'. |
||
7500 | |||
7501 | * src/truetype/ttinterp.c (FIX_BYTECODE): New macro. |
||
7502 | (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'. |
||
7503 | (LOC_Ins_IUP): Renamed to... |
||
7504 | (IUP_WorkerRec): This. |
||
7505 | Add `orus' member. |
||
7506 | (Shift): Renamed to... |
||
7507 | (_iup_worker_shift): This. |
||
7508 | Updated. |
||
7509 | (Interp): Renamed to... |
||
7510 | (_iup_worker_interpolate): This. |
||
7511 | Updated to handle `orus'. |
||
7512 | (Ins_IUP): Updated. |
||
7513 | |||
7514 | * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new): |
||
7515 | Handle `orus'. |
||
7516 | |||
7517 | 2006-08-15 suzuki toshiya |
||
7518 | |||
7519 | * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to |
||
7520 | build ftvalid in ft2demos. This has been inadvertedly changed |
||
7521 | 2006-08-13. |
||
7522 | |||
7523 | 2006-08-15 suzuki toshiya |
||
7524 | |||
7525 | `ft_validator_run' wrapping `setjmp' can cause a crash, as found by |
||
7526 | Jens: |
||
7527 | http://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm. |
||
7528 | |||
7529 | * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'. |
||
7530 | It reverts the change introduced on 2005-08-20. |
||
7531 | |||
7532 | * src/gxvalid/gxvmod.c: Ditto. |
||
7533 | |||
7534 | 2006-08-13 Jens Claudius |
||
7535 | |||
7536 | * finclude/freetype/internal/psaux.h: (T1_TokenType): Add |
||
7537 | T1_TOKEN_TYPE_KEY. |
||
7538 | (T1_FieldRec): Add `dict'. |
||
7539 | (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros. |
||
7540 | (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS |
||
7541 | keyword is expected as an additional argument. |
||
7542 | |||
7543 | * src/cid/cidload.c: (cid_field_records): Adjust invocations of |
||
7544 | T1_FIELD_XXX. |
||
7545 | |||
7546 | * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX. |
||
7547 | |||
7548 | * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing. |
||
7549 | (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY, |
||
7550 | not T1_TOKEN_TYPE_ANY. |
||
7551 | (ps_parser_load_field): Make sure a token that should be a string or |
||
7552 | name is really a string or name. |
||
7553 | Avoid memory leak if a keyword has been already encountered and its |
||
7554 | value is overwritten. |
||
7555 | * src/type1/t1load.c: (t1_keywords): Adjust invocations of |
||
7556 | T1_FIELD_XXX. |
||
7557 | (parse_dict): Ignore keywords that occur in the wrong dictionary |
||
7558 | (e.g., in `Private' instead of `FontDict'). |
||
7559 | |||
7560 | * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX. |
||
7561 | |||
7562 | * src/type42/t42parse.c: (t42_keywords): Adjust invocations of |
||
7563 | T1_FIELD_XXX. |
||
7564 | |||
7565 | 2006-07-18 Jens Claudius |
||
7566 | |||
7567 | Move creation of field `buildchar' of T1_DecoderRec out of |
||
7568 | `t1_decoder_init' and let the caller of `t1_decoder_init' take care |
||
7569 | of it. |
||
7570 | |||
7571 | Call the finisher for T1_Decoder in `cid_face_compute_max_advance' |
||
7572 | and `T1_Compute_Max_Advance'. |
||
7573 | |||
7574 | * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field |
||
7575 | `face', add `len_buildchar'. |
||
7576 | |||
7577 | * include/freetype/internal/t1types.h (T1_FaceRec): Add field |
||
7578 | `buildchar'. |
||
7579 | |||
7580 | * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher |
||
7581 | for T1_Decoder. |
||
7582 | (cid_slot_load_glyph): Do not ignore failure when initializing the |
||
7583 | T1_Decoder. |
||
7584 | |||
7585 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated. |
||
7586 | (t1_decoder_init): Remove initialization of fields `buildchar' and |
||
7587 | `len_buildchar'. |
||
7588 | (t1_decoder_done): Remove deallocation of field `buildchar'. |
||
7589 | |||
7590 | * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize |
||
7591 | T1_Decoder's `buildchar' and `len_buildchar'; call finisher for |
||
7592 | T1_Decoder. |
||
7593 | (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and |
||
7594 | `len_buildchar'; make sure to call finisher for T1_Decoder even in |
||
7595 | case of error. |
||
7596 | |||
7597 | * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar' |
||
7598 | of T1_FaceRec. |
||
7599 | |||
7600 | * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of |
||
7601 | T1_FaceRec. |
||
7602 | |||
7603 | 2006-07-14 Jens Claudius |
||
7604 | |||
7605 | * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE, |
||
7606 | IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, |
||
7607 | and IS_PS_BASE85 (from src/psaux/psconv.h). |
||
7608 | (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER, |
||
7609 | T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND. |
||
7610 | (T1_DecoderRec): New fields `buildchar' and `face'. |
||
7611 | (IS_PS_TOKEN): New macro. |
||
7612 | |||
7613 | * include/freetype/internal/t1types.h (T1_FaceRec): New fields |
||
7614 | `ndv_idx', `cdv_idx', and `len_buildchar'. |
||
7615 | |||
7616 | * include/freetype/t1tables.h (PS_BlendRec): New fields |
||
7617 | `default_design_vector' and `num_default_design_vector'. |
||
7618 | |||
7619 | * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE, |
||
7620 | IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and |
||
7621 | IS_PS_BASE85 to include/freetype/internal/psaux.h. |
||
7622 | |||
7623 | * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token' |
||
7624 | argument to be NULL if we want only to count the number of tokens. |
||
7625 | (ps_tocoordarray): Allow `coords' argument to be NULL if we just |
||
7626 | want to skip the array. |
||
7627 | (ps_tofixedarray): Allow `values' argument to be NULL if we just |
||
7628 | want to skip the array. |
||
7629 | |||
7630 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support |
||
7631 | for (partially commented out) othersubrs 19-25, 27, and 28. |
||
7632 | (t1_decoder_init): Initialize new fields `face' and `buildchar'. |
||
7633 | (t1_decoder_done): Release new field `buildchar'. |
||
7634 | |||
7635 | * src/type1/t1load.c (parse_buildchar, parse_private): New |
||
7636 | functions. |
||
7637 | (t1_keywords): Register them. |
||
7638 | (t1_allocate_blend): Updated. |
||
7639 | (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER, |
||
7640 | T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND. |
||
7641 | (parse_dict): Remove `keyword_flags' argument. |
||
7642 | Use new macro IS_PS_TOKEN. |
||
7643 | Changed function so that later PostScript definitions override |
||
7644 | earlier ones. |
||
7645 | (t1_init_loader): Initialize new field `keywords_encountered'. |
||
7646 | (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and |
||
7647 | `len_buildchar'. |
||
7648 | Remove `keywords_flags'. |
||
7649 | |||
7650 | * src/type1/t1load.h (T1_LoaderRect): New field |
||
7651 | `keywords_encountered'. |
||
7652 | (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros. |
||
7653 | |||
7654 | * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New |
||
7655 | entries for parsing /NDV, /CDV, and /DesignVector. |
||
7656 | |||
7657 | 2006-07-07 Werner Lemberg |
||
7658 | |||
7659 | Add many checks to protect against malformed PCF files. |
||
7660 | |||
7661 | * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers. |
||
7662 | (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors. |
||
7663 | |||
7664 | * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table |
||
7665 | data and check that tables don't overlap (using a simple |
||
7666 | bubblesort). |
||
7667 | (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE): |
||
7668 | New macros which give the size of data structures in the data |
||
7669 | stream. |
||
7670 | (pcf_get_properties): Use rough estimates to get array size limits. |
||
7671 | Assign `face->nprops' and `face->properties' earlier so that a call |
||
7672 | to PCF_Face_Done can do the clean-up in case of error. |
||
7673 | Protect against invalid string offsets. |
||
7674 | (pcf_get_metrics): Clean up code. |
||
7675 | Adjust tracing message levels. |
||
7676 | Use rough estimate to get array size limit. |
||
7677 | (pcf_get_bitmaps): Clean up code. |
||
7678 | Adjust tracing message levels. |
||
7679 | Use rough estimates to get offset limits. |
||
7680 | (pcf_get_encodings): Adjust tracing message level. |
||
7681 | (pcf_get_accel): Clean up code. |
||
7682 | |||
7683 | 2006-06-26 Werner Lemberg |
||
7684 | |||
7685 | * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which |
||
7686 | don't have a POINT_SIZE property. This fixes Savannah bug #16914. |
||
7687 | |||
7688 | 2006-06-26 Jens Claudius |
||
7689 | |||
7690 | * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15. |
||
7691 | (t1_decoder_parse_charstrings): Operator with |
||
7692 | opcode 15 pops its two arguments. |
||
7693 | Handle the case where the pops of an othersubr may be part of a |
||
7694 | subroutine. |
||
7695 | Handle unknown othersubrs gracefully: count their operands and let |
||
7696 | the following pop operators push the operands as the results onto |
||
7697 | the Type1 stack. |
||
7698 | Improve handling of setcurrentpoint opcode. |
||
7699 | |||
7700 | 2006-06-25 Jens Claudius |
||
7701 | |||
7702 | The Type 1 parser now skips over top-level procedures as required |
||
7703 | for a `Simplified Parser'. This makes the parser more robust as it |
||
7704 | doesn't poke around in PostScript code. Additionally, it makes the |
||
7705 | FontDirectory hackery in src/type1/t1load.c unnecessary. |
||
7706 | |||
7707 | * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro. |
||
7708 | (skip_literal_string): Add FT_Error as return value. |
||
7709 | Handle escapes better. |
||
7710 | (skip_string): Add FT_Error as return value. |
||
7711 | Don't set `parser->error' but return error code directly. |
||
7712 | (skip_procedure): New function. |
||
7713 | (ps_parser_skip_PS_token): Handle procedures. |
||
7714 | Update code. |
||
7715 | (ps_parser_to_token): Update code. |
||
7716 | (ps_parser_load_field_table): Handle bbox entries also. |
||
7717 | |||
7718 | * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery. |
||
7719 | Add commented-out code for synthetic fonts. |
||
7720 | |||
7721 | 2006-06-24 Eugeniy Meshcheryakov |
||
7722 | |||
7723 | Fix two hinting bugs as reported in |
||
7724 | http://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html. |
||
7725 | |||
7726 | * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add |
||
7727 | `first_point' member. |
||
7728 | |||
7729 | * src/truetype/ttgload.c (tt_prepare_zone): Initialize |
||
7730 | `first_point'. |
||
7731 | (TT_Process_Composite_Glyph): Always untouch points. |
||
7732 | |||
7733 | * src/truetype/ttinterp.c (Ins_SHC): Fix computation of |
||
7734 | `first_point' and `last_point' in case of composite glyphs. |
||
7735 | (Ins_IUP): Fix computation of `end_point'. |
||
7736 | |||
7737 | 2006-06-22 suzuki toshiya |
||
7738 | |||
7739 | Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel |
||
7740 | Mac. The original patch was written by David Sachitano and Lawrence |
||
7741 | Coopet, and modified by Sean McBride for MPW compatibility. Only |
||
7742 | required data are converted; unused data are left in big endian. |
||
7743 | |||
7744 | * src/base/ftmac.c: Include |
||
7745 | Mac OS X platforms. |
||
7746 | (OS_INLINE): Undefine before definition. |
||
7747 | (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of |
||
7748 | FontAssociation table in FOND resource. |
||
7749 | (count_faces_scalable): Insert EndianS16_BtoN to parse the header |
||
7750 | and fontSize at each entry of FontAssociation table in FOND |
||
7751 | resource. |
||
7752 | (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse |
||
7753 | ffStylOff of FamilyRecord header of FOND resource, the header, |
||
7754 | fontSize, fontID at each entry of FontAssociation table, and |
||
7755 | StyleMapping table. |
||
7756 | (count_faces): Call `HUnlock' after all FOND utilization. |
||
7757 | |||
7758 | 2006-06-08 suzuki toshiya |
||
7759 | |||
7760 | Public API of TrueTypeGX, OpenType, and classic kern table validator |
||
7761 | should return `FT_Err_Unimplemented_Feature' if validation service |
||
7762 | is unavailable (disabled in `modules.cfg'). It is originally |
||
7763 | suggested by David Turner, cf. |
||
7764 | http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html |
||
7765 | |||
7766 | * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return |
||
7767 | FT_Err_Unimplemented_Feature if TrueTypeGX validation service is |
||
7768 | unavailable. |
||
7769 | (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if |
||
7770 | classic kern table validation service is unavailable. |
||
7771 | |||
7772 | * src/base/ftotval.c (FT_OpenType_Validate): Return |
||
7773 | FT_Err_Unimplemented_Feature if OpenType validation service is |
||
7774 | unavailable. |
||
7775 | |||
7776 | 2006-06-08 Werner Lemberg |
||
7777 | |||
7778 | * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of |
||
7779 | errors. |
||
7780 | |||
7781 | 2006-06-07 David Turner |
||
7782 | |||
7783 | * src/type1/t1afm.c (KERN_INDEX): Make it more robust. |
||
7784 | (T1_Read_Metrics): Fix memory leak which happened when the metrics |
||
7785 | file doesn't have kerning pairs. This fixes Savannah bug #16768. |
||
7786 | |||
7787 | 2006-06-06 David Turner |
||
7788 | |||
7789 | Fix memory leak described in Savannah bug #16759. |
||
7790 | |||
7791 | We change `ps_unicodes_init' so that it also takes a |
||
7792 | `free_glyph_name' callback to release the glyph names returned by |
||
7793 | `get_glyph_name' |
||
7794 | |||
7795 | * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc): |
||
7796 | Renamed to ... |
||
7797 | (PS_GetGlyphNameFunc): This. |
||
7798 | (PS_FreeGlyphNameFunc): New typedef. |
||
7799 | (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc. |
||
7800 | |||
7801 | * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first |
||
7802 | argument. |
||
7803 | (cff_sid_free_glyph_name): New function. |
||
7804 | (cff_cmap_unicode_init): Updated. |
||
7805 | |||
7806 | * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated. |
||
7807 | |||
7808 | * src/psnames/psmodule.c (ps_unicodes_init): Add variable for |
||
7809 | PS_FreeGlyphNameFunc and use it. |
||
7810 | |||
7811 | |||
7812 | 2006-06-04 David Turner |
||
7813 | |||
7814 | * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept |
||
7815 | `item_size == 0' as well -- though this sounds weird, it can |
||
7816 | theoretically happen. This fixes Savannah bug #16669. |
||
7817 | |||
7818 | * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation |
||
7819 | of `face->num_glyphs' which missed the last glyph, due to |
||
7820 | the offset-by-1 computation, since the PFR format doesn't |
||
7821 | guarantee that glyph index 0 corresponds to the `missing |
||
7822 | glyph. This fixes Savannah bug #16668. |
||
7823 | |||
7824 | 2006-05-25 Werner Lemberg |
||
7825 | |||
7826 | * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out |
||
7827 | `-no-undefined'. Reported by Christian Biesinger. |
||
7828 | |||
7829 | 2006-05-19 Brian Weed |
||
7830 | |||
7831 | * builds/win32/visualc/freetype.dsp: Release libraries no longer |
||
7832 | have debug information, and debug libraries use `C7 compatible' |
||
7833 | debug info. |
||
7834 | |||
7835 | 2006-05-19 suzuki toshiya |
||
7836 | |||
7837 | Apply patch by Derek Clegg to fix two memory leaks in the MacOS |
||
7838 | resource fork handler. This fixes Savannah bug #16631. |
||
7839 | |||
7840 | * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace |
||
7841 | `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak. |
||
7842 | |||
7843 | * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name): |
||
7844 | Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak. |
||
7845 | |||
7846 | 2006-05-19 suzuki toshiya |
||
7847 | |||
7848 | * build/unix/configure.raw: Add a fallback to disable Carbon |
||
7849 | dependency, if configured with no options on Mac OS X. |
||
7850 | |||
7851 | 2006-05-19 suzuki toshiya |
||
7852 | |||
7853 | * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when |
||
7854 | its content cannot be parsed as supported font. This fixes |
||
7855 | the second part of Savannah bug #16590. |
||
7856 | |||
7857 | 2006-05-18 Werner Lemberg |
||
7858 | |||
7859 | * src/truetype/ttgload.c (TT_Load_Composite_Glyph) |
||
7860 | [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again. |
||
7861 | |||
7862 | 2006-05-17 David Turner |
||
7863 | |||
7864 | This is a major patch used to drastically improve the performance of |
||
7865 | loading glyphs. This both speeds up loading the glyph vectors |
||
7866 | themselves and the auto-fitter module. |
||
7867 | |||
7868 | We now use inline assembler code with GCC to implement `FT_MulFix', |
||
7869 | which is probably the most important function related to the |
||
7870 | engine's performance. |
||
7871 | |||
7872 | The resulting speed-up is about 25%. |
||
7873 | |||
7874 | |||
7875 | * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields |
||
7876 | `cursor' and `limit'. |
||
7877 | |||
7878 | * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation): |
||
7879 | New functions. |
||
7880 | (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out. |
||
7881 | [TEST]: Remove. |
||
7882 | |||
7883 | * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test |
||
7884 | code. |
||
7885 | |||
7886 | * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call |
||
7887 | `FT_ZERO' |
||
7888 | (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten. |
||
7889 | (af_glyph_hints_reload: Rewrite recognition of weak points. |
||
7890 | |||
7891 | * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move |
||
7892 | constant values out of the loops. |
||
7893 | |||
7894 | * src/autofit/aftypes.h: Updated. |
||
7895 | |||
7896 | * src/base/ftcalc.c (FT_MulFix): Use inline assembler code. |
||
7897 | |||
7898 | * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector |
||
7899 | product to get orientation. |
||
7900 | |||
7901 | * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function. |
||
7902 | (FT_Stream_OpenGzip): Use it to handle small files directly in |
||
7903 | memory. |
||
7904 | |||
7905 | * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode): |
||
7906 | Improve performance. |
||
7907 | |||
7908 | * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and |
||
7909 | `limit'. |
||
7910 | |||
7911 | (TT_Load_Glyph_Header, TT_Load_Simple_Glyph, |
||
7912 | TT_Load_Composite_Glyph): Updated. Add threshold to protect against |
||
7913 | exceedingly large values of number of contours. Speed up by |
||
7914 | reducing the number of loops. |
||
7915 | |||
7916 | * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix. |
||
7917 | |||
7918 | |||
7919 | * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold |
||
7920 | used to detect rogue clients from 4 to 16. This is to prevent some |
||
7921 | segmentation faults with fonts like `KozMinProVI-Regular.otf' which |
||
7922 | comes from the Japanese Adobe Reader Asian Font pack. |
||
7923 | |||
7924 | 2007-05-17 Werner Lemberg |
||
7925 | |||
7926 | * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This |
||
7927 | fixes the first part of Savannah bug #16590. |
||
7928 | |||
7929 | 2006-05-16 Werner Lemberg |
||
7930 | |||
7931 | * docs/PROBLEMS: Updated icl issues. |
||
7932 | |||
7933 | ---------------------------------------------------------------------------- |
||
7934 | |||
7935 | Copyright 2006, 2007, 2008, 2009, 2010 by |
||
7936 | David Turner, Robert Wilhelm, and Werner Lemberg. |
||
7937 | |||
7938 | This file is part of the FreeType project, and may only be used, modified, |
||
7939 | and distributed under the terms of the FreeType project license, |
||
7940 | LICENSE.TXT. By continuing to use, modify, or distribute this file you |
||
7941 | indicate that you have read the license and understand and accept it |
||
7942 | fully. |
||
7943 | |||
7944 | |||
7945 | Local Variables: |
||
7946 | version-control: never |
||
7947 | coding: utf-8 |
||
7948 | End:4d876b82@gmail.com>>>=> |