/src/freetype/ChangeLog
#! | 4076 lines | 2728 code | 1348 blank | 0 comment | 0 complexity | 832c811345055c094e0e0cab5134e60b MD5 | raw file
Large files files are truncated, but you can click here to view the full file
12012-03-08 Werner Lemberg <wl@gnu.org> 2 3 * Version 2.4.9 released. 4 ========================= 5 6 7 Tag sources with `VER-2-4-9'. 8 9 * docs/CHANGES: Updated. 10 11 * docs/VERSION.DLL: Update documentation and bump version number to 12 2.4.9. 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/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html, 18 builds/win32/visualc/freetype.dsp, 19 builds/win32/visualc/freetype.vcproj, 20 builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, 21 builds/win32/visualce/freetype.vcproj, 22 builds/win32/visualce/index.html, 23 builds/wince/vc2005-ce/freetype.vcproj, 24 builds/wince/vc2005-ce/index.html, 25 builds/wince/vc2008-ce/freetype.vcproj, 26 builds/wince/vc2008-ce/index.html: s/2.4.8/2.4.9/, s/248/249/. 27 28 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 9. 29 30 * builds/unix/configure.raw (version_info): Set to 14:1:8. 31 322012-03-08 Werner Lemberg <wl@gnu.org> 33 34 [bdf] Add missing overflow check. 35 36 * src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for 37 `glyph->bpr'. 38 392012-03-07 Vinnie Falco <vinnie.falco@gmail.com> 40 41 Prepare source code for amalgamation. 42 43 * src\autofit\aferrors.h, src\bdf\bdferror.h, src\bzip2\ftbzip2.c, 44 src\cache\ftcerror.h, src\cff\cfferrs.h, src\cid\ciderrs.h, 45 src\gxvalid\gxverror.h, src\gzip\ftgzip.c, src\lzw\ftlzw.c, 46 src\otvalid\otverror.h, src\pcf\pcferror.h, src\pfr\pfrerror.h, 47 src\psaux\psauxerr.h, src\pshinter\pshnterr.h, 48 src\psnames\psnamerr.h, src\raster\rasterrs.h, src\sfnt\sferrors.h, 49 src\smooth\ftsmerrs.h, src\truetype\tterrors.h, 50 src\type1\t1errors.h, src\type42\t42error.h, src\winfonts\fnterrs.h: 51 Add #undef FT_ERR_PREFIX before #define FT_ERR_PREFIX. 52 532012-03-03 Werner Lemberg <wl@gnu.org> 54 55 Fix Savannah bug #35660. 56 57 For some divisions, we use casts to 32bit entities. Always guard 58 against division by zero with these casts also. 59 60 * src/base/ftcalc.c (ft_div64by32): Remove redundant cast. 61 (FT_MulDiv, FT_MulDiv_No_Round): Add 32bit cast. 62 (FT_DivFix): Add 32bit cast (this omission triggered the bug). 63 642012-03-03 Werner Lemberg <wl@gnu.org> 65 66 [psaux] Fix handling of track kerning. 67 68 * src/psaux/afmparse.c (afm_parse_track_kern): Don't inverse sign 69 for `min_kern'. It is indeed quite common that track kerning 70 *increases* spacing for very small sizes. 71 722012-03-02 Werner Lemberg <wl@gnu.org> 73 74 [truetype] Fix Savannah bug #35689. 75 76 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check first outline 77 point. 78 792012-03-01 Werner Lemberg <wl@gnu.org> 80 81 [bdf] Fix Savannah bug #35656. 82 83 * src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity 84 of nibble characters instead of accessing `a2i' array. 85 862012-03-01 Werner Lemberg <wl@gnu.org> 87 88 [winfonts] Fix Savannah bug #35659. 89 90 * src/winfonts/winfnt.c (FNT_Face_Init): Check number of glyphs. 91 922012-03-01 Werner Lemberg <wl@gnu.org> 93 94 [bdf] Fix Savannah bug #35658. 95 96 * src/bdf/bdflib.c (_bdf_list_split): Initialize `field' elements 97 properly. 98 992012-03-01 Werner Lemberg <wl@gnu.org> 100 101 [psaux] Fix Savannah bug #35657. 102 103 If in function `skip_spaces' the routine `skip_comment' comes to the 104 end of buffer, `cur' is still increased by one, so we need to check 105 for `p >= limit' and not `p == limit'. 106 107 * src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed, 108 PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Fix boundary checking. 109 1102012-03-01 Werner Lemberg <wl@gnu.org> 111 112 [truetype] Fix Savannah bug #35646. 113 114 * src/truetype/ttinterp.c (Ins_MIRP): Typo, present since ages. The 115 code is now in sync with the other operators (e.g. MSIRP) which 116 modify twilight points. 117 1182012-03-01 Werner Lemberg <wl@gnu.org> 119 120 [bdf] Fix Savannah bug #35643. 121 122 * src/bdf/bdflib.c (_bdf_list_ensure): Bring code in sync with 123 comment before `_bdf_list_split', this is, really allocate at least 124 five `field' elements. 125 1262012-03-01 Werner Lemberg <wl@gnu.org> 127 128 [bdf] Fix Savannah bug #35641. 129 130 * src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if 131 _BDF_ENCODING isn't set. We need this because access to the `glyph' 132 variable might be undefined otherwise. 133 1342012-03-01 Werner Lemberg <wl@gnu.org> 135 136 [truetype] Fix Savannah bug #35640. 137 138 * src/truetype/ttinterp.c (SkipCode, TT_RunIns): Fix boundary check 139 for NPUSHB and NPUSHW instructions. 140 1412012-02-29 Werner Lemberg <wl@gnu.org> 142 143 [truetype] Fix Savannah bug #35601. 144 145 * src/truetype/ttinterp.c (Ins_SHZ): Use number of points instead of 146 last point for loop. 147 Also remove redundant boundary check. 148 1492012-02-29 Werner Lemberg <wl@gnu.org> 150 151 [truetype] Remove redundant check. 152 153 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant 154 second check for ordered contour start points. 155 1562012-02-29 Werner Lemberg <wl@gnu.org> 157 158 [truetype] Make SHC instruction behave similar to MS rasterizer. 159 160 * src/truetype/ttinterp.c (Ins_SHC): Handle virtual contour in 161 twilight zone. 162 1632012-02-29 Alexei Podtelezhnikov <apodtele@gmail.com> 164 165 Avoid modulo operators against a power-of-two denominator. 166 167 * src/afcjk.c (af_hint_normal_stem), src/base/ftoutln.c 168 (ft_contour_has), src/cff/cffgload.c (cff_decoder_parse_charstrings) 169 <cff_op_vvcurveto, cff_op_hhcurveto, cff_op_hvcurveto>, 170 src/gxvalid/gxvcommn.c (GXV_32BIT_ALIGNMENT_VALIDATE), 171 src/gxvalid/gxvfeat.c (gxv_feat_setting_validate): Replace `%' with 172 `&' operator. 173 1742012-02-29 Werner Lemberg <wl@gnu.org> 175 176 [autofit] Don't synchronize digit widths for light rendering mode. 177 178 We don't hint horizontally in this mode. 179 180 * src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>: 181 Implement it. 182 1832012-02-26 Alexei Podtelezhnikov <apodtele@gmail.com> 184 185 [type42] Minor code optimization (again). 186 187 * src/type42/t42parse.c (t42_parse_sfnts): Simplify previous change. 188 1892012-02-26 Mateusz Jurczyk <mjurczyk@google.com> 190 Werner Lemberg <wl@gnu.org> 191 192 [smooth] Fix Savannah bug #35604. 193 194 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `FT_Pos' 195 instead of `FT_UInt' for some variables and update comparisons 196 accordingly. A detailed analysis can be found in the bug report. 197 1982012-02-26 Alexei Podtelezhnikov <apodtele@gmail.com> 199 200 [type42] Minor code optimization. 201 202 * src/type42/t42parse.c (t42_parse_sfnts): Use bitmask instead of 203 modulo operator. 204 2052012-02-26 Werner Lemberg <wl@gnu.org> 206 207 * docs/CHANGES: Updated. 208 2092012-02-26 Werner Lemberg <wl@gnu.org> 210 211 [type1] Fix Savannah bug #35608. 212 213 * src/type1/t1parse.c (T1_Get_Private_Dict): Reject too short 214 dictionaries. 215 2162012-02-26 Werner Lemberg <wl@gnu.org> 217 218 [bdf] Support `ENCODING -1 <n>' format. 219 220 * src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Implement it. 221 2222012-02-26 Werner Lemberg <wl@gnu.org> 223 224 [bdf] Fix Savannah bug #35607. 225 226 * src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize 227 negative encoding values. 228 2292012-02-26 Werner Lemberg <wl@gnu.org> 230 231 [type1] Fix Savannah bug #35606. 232 233 * src/type1/t1load.c (parse_subrs): Add proper guards for `strncmp'. 234 235 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Emit error message 236 only if cur < limit. 237 2382012-02-25 Werner Lemberg <wl@gnu.org> 239 240 [pcf] Fix Savannah bug #35603. 241 242 * src/pcf/pcfread.c (pcf_get_properties): Assure final zero byte in 243 `strings' array. 244 2452012-02-25 Werner Lemberg <wl@gnu.org> 246 247 [type42] Fix Savannah bug #35602. 248 249 * src/type42/t42parse.c (t42_parse_sfnts): Check `string_size' more 250 thoroughly. 251 2522012-02-25 Werner Lemberg <wl@gnu.org> 253 254 [bdf] Fix Savannah bugs #35599 and #35600. 255 256 * src/bdf/bdflib.c (ACMSG16): New warning message. 257 (_bdf_parse_glyphs) <_BDF_BITMAP>: Check line length. 258 2592012-02-24 Werner Lemberg <wl@gnu.org> 260 261 [bdf] Fix Savannah bugs #35597 and #35598. 262 263 * src/bdf/bdflib.c (_bdf_is_atom): Fix handling of property value. 264 2652012-02-24 Vinnie Falco <vinnie.falco@gmail.com> 266 267 Prepare source code for amalgamation (6/6). 268 269 * src/cff/cffdrivr.c: s/Load_Glyph/cff_glyph_load/. 270 271 * src/cid/cidload.c: s/parse_font_matrix/cid_parse_font_matrix/. 272 s/t1_init_loader/cid_init_loader/. 273 s/t1_done_loader/cid_done_loader/. 274 275 * src/pxaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/. 276 277 * src/truetype/ttdriver.c: s/Load_Glyph/tt_glyph_load/. 278 279 * src/type1/t1load.c: s/parse_font_matrix/t1_parse_font_matrix/. 280 2812012-02-24 Vinnie Falco <vinnie.falco@gmail.com> 282 283 Prepare source code for amalgamation (5/6). 284 285 * include/freetype/fterrors.h: Undefine FT_KEEP_ERR_PREFIX after 286 using it. 287 2882012-02-22 Vinnie Falco <vinnie.falco@gmail.com> 289 290 Prepare source code for amalgamation (4/6). 291 292 * src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine RAS_ARG, 293 RAS_ARGS, RAS_VAR, and RAS_VARS before defining it. 294 295 * src/smooth/ftgrays.c: s/TRaster/black_TRaster/, 296 s/PRaster/black_PRaster/. 297 * src/raster/ftraster.c: s/TRaster/gray_TRaster/, 298 s/PRaster/gray_PRaster/. 299 3002012-02-20 Vinnie Falco <vinnie.falco@gmail.com> 301 302 Prepare source code for amalgamation (3/6). 303 304 * src/smooth/ftgrays.c: s/TWorker/black_TWorker/, 305 s/PWorker/black_PWorker/. 306 * src/raster/ftraster.c: s/TWorker/gray_TWorker/, 307 s/PWorker/gray_PWorker/. 308 3092012-02-20 Vinnie Falco <vinnie.falco@gmail.com> 310 311 Prepare source code for amalgamation (2/6). 312 313 * src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine FLOOR, 314 CEILING, TRUNC, and SCALED before defining it. 315 3162012-02-20 Vinnie Falco <vinnie.falco@gmail.com> 317 318 Prepare source code for amalgamation (1/6). 319 320 See discussion starting at 321 322 http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html 323 324 * src/smooth/ftgrays.c: s/TBand/gray_TBand/. 325 * src/raster/ftraster.c: s/TBand/black_TBand/. 326 3272012-02-17 Alexei Podtelezhnikov <apodtele@gmail.com> 328 329 [autofit] Fix outline flags. 330 331 * src/autofit/afloader.c (af_loader_load_g): Don't reassign 332 `outline.flags' so that this information is preserved. See 333 discussion starting at 334 335 http://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html 336 3372012-02-11 Werner Lemberg <wl@gnu.org> 338 339 [truetype] Fix Savannah bug #35466. 340 341 Jump instructions are now bound to the current function. The MS 342 Windows rasterizer behaves the same, as confirmed by Greg Hitchcock. 343 344 * src/truetype/ttinterp.h (TT_CallRec): Add `Cur_End' element. 345 * src/truetype/ttobjs.h (TT_DefRecord): Add `end' element. 346 347 * src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Check upper 348 bound of jump address. 349 (Ins_FDEF, Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns): Updated. 350 3512012-02-11 Werner Lemberg <wl@gnu.org> 352 353 We don't use `extensions'. 354 355 * include/freetype/internal/ftobjs.h (FT_DriverRec): Remove 356 `extensions' field. 357 3582012-02-11 Werner Lemberg <wl@gnu.org> 359 360 Clean up `generic' fields. 361 362 * include/freetype/internal/ftobjs.h (FT_ModuleRec, FT_LibraryRec): 363 Remove `generic' field since users can't access it. 364 365 * src/base/ftobjs.c (FT_Done_GlyphSlot): Call `generic.finalizer' as 366 advertised in the documentation of FT_Generic. 367 (Destroy_Module, FT_Done_Library): Updated to changes in `ftobjs.h'. 368 3692012-02-07 Werner Lemberg <wl@gnu.org> 370 371 [autofit] Harmonize function arguments. 372 373 * src/autofit/afloader.c, src/autofit/afloader.h: Use `FT_Int32' for 374 `load_flags'. 375 3762012-02-07 Werner Lemberg <wl@gnu.org> 377 378 * src/cff/cffobjs.c (cff_face_init): Remove unnecessary casts. 379 3802012-01-17 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 381 382 [gxvalid] Fix Savannah bug #35286. 383 384 Patch submitted by anonymous reporter. 385 386 * src/gxvalid/gxvcommn.c (gxv_XStateTable_subtable_setup): 387 gxv_set_length_by_ulong_offset() must be called with 3, not 4, 388 the number of the subtables in the state tables; classTable, 389 stateArray, entryTable. 390 3912012-01-17 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 392 393 [raccess] Modify for PIC build. 394 395 Based on the patch provided by Erik Dahlstrom <ed@opera.com>, 396 http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00010.html 397 398 Also `raccess_guess_table[]' and `raccess_rule_by_darwin_vfs()' 399 are renamed with `ft_' suffixes. 400 401 * src/base/ftbase.h: `raccess_rule_by_darwin_vfs()' is renamed 402 to `ft_raccess_rule_by_darwin_vfs()'. 403 * src/base/ftobjs.c: Ditto. 404 405 * src/base/ftrfork.c: Declarations of FT_RFork_Rule, 406 raccess_guess_rec, are moved to... 407 * include/freetype/internal/ftrfork.h: Here. 408 409 * include/freetype/internal/ftrfork.h: 410 FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END} macros are defined 411 to replace raccess_guess_table[] in both of PIC and non-PIC 412 modes. 413 * src/base/ftrfork.c: raccess_guess_table[] array is rewritten 414 by FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END}. 415 416 * src/base/basepic.h (BasePIC): Add `ft_raccess_guess_table' 417 storage. (FT_RACCESS_GUESS_TABLE_GET): New macro to retrieve 418 the function pointer from `ft_raccess_guess_table' storage in 419 `BasePIC' structure. 420 * src/base/ftrfork.c (FT_Raccess_Guess): Rewritten with 421 FT_RACCESS_GUESS_TABLE_GET. 422 (raccess_get_rule_type_from_rule_index): Add `library' as the 423 first argument to the function, to retrieve the storage of 424 `ft_raccess_guess_table' from it. Also `raccess_guess_table' 425 is replaced by FT_RACCESS_GUESS_TABLE_GET. 426 (ft_raccess_rule_by_darwin_vfs): Ditto. 427 4282012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 429 430 Remove trailing spaces. 431 4322012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 433 434 Formatting PIC related sources. 435 436 * src/autofit/afpic.c: Harmonize to FT2 coding conventions. 437 * src/base/basepic.c: Ditto. 438 * src/base/ftpic.c: Ditto. 439 * src/cff/cffpic.c: Ditto. 440 * src/pshinter/pshpic.c: Ditto. 441 * src/psnames/pspic.c: Ditto. 442 * src/raster/rastpic.c: Ditto. 443 * src/sfnt/sfntpic.c: Ditto. 444 * src/smooth/ftspic.c: Ditto. 445 * src/truetype/ttpic.c: Ditto. 446 4472012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 448 449 [autofit] Fix the inclusion of `aflatin2.h' in PIC file. 450 451 * src/autofit/afpic.c: Include `aflatin2.h' when 452 FT_OPTION_AUTOFIT2 is defined, as afglobal.c does so. 453 Unconditionally inclusion causes declared but unimplemented 454 warning by GCC 4.6. 455 4562012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 457 458 [cff] Remove redundant declarations of cff_cmap_XXX_class_rec. 459 460 * src/cff/cffpic.c: The declarations of 461 FT_Init_Class_cff_cmap_encoding_class_rec() and 462 FT_Init_Class_cff_cmap_unicode_class_rec() are removed. 463 They can be obtained by the inclusion of cffcmap.h. 464 cffcmap.h invokes FT_DECLARE_CMAP_CLASS() and it declares 465 FT_Init_Class_cff_cmap_encoding_class_rec() etc in PIC mode. 466 4672012-01-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 468 469 Fix redundant declaration warning in PIC mode. 470 471 Originally FT_DEFINE_{DRIVER,MODULE,RENDERER}() macros were 472 designed to declare xxx_pic_{free,init} by themselves. 473 Because these macros are used at the end of the module 474 interface (e.g. ttdriver.c) and the wrapper source to build 475 a module as a single object (e.g. truetype.c) includes 476 the PIC file (e.g. ttpic.c) before the module interface, 477 these macros are expanded AFTER xxx_pic_{free,init} body 478 when the modules are built as single object. 479 The declaration after the implementation causes the redundant 480 declaration warnings, so the declarations are moved to module 481 PIC headers (e.g. ttpic.h). Separating to other header files 482 are needed for multi build. 483 484 * include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER): 485 Remove class_##_pic_free and class_##_pic_init declarations. 486 * include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER, 487 FT_DEFINE_MODULE): Ditto. 488 489 * src/base/basepic.h: Insert a comment and fix coding style. 490 * src/autofit/afpic.h: Declare autofit_module_class_pic_{free, 491 init}. 492 * src/cff/cffpic.h: Declare cff_driver_class_pic_{free,init}. 493 * src/pshinter/pshpic.h: Declare pshinter_module_class_pic_{free, 494 init}. 495 * src/psnames/pspic.h: Declare psnames_module_class_pic_{free, 496 init}. 497 * src/raster/rastpic.h: Declare 498 ft_raster{1,5}_renderer_class_pic_{free,init} 499 * src/sfnt/sfntpic.h: Declare sfnt_module_class_pic_{free,init}. 500 * src/smooth/ftspic.h: Declare 501 ft_smooth_{,lcd_,lcdv_}renderer_class_pic_{free,init}. 502 * src/truetype/ttpic.h: Declare tt_driver_class_pic_{free,init}. 503 5042012-01-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 505 506 Make pspic.c to include module error header to fix multi build. 507 508 * src/psnames/pspic.c: Include `psnamerr.h'. 509 5102012-01-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 511 512 [base] Fix a dereference of uninitialized variable in PIC mode. 513 514 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): `glyph' must be 515 set before derefering to obtain `library'. The initialization 516 of `clazz', `glyph', `library' and NULL pointer check are 517 reordered to minimize PIC conditonals. 518 5192012-01-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 520 521 [base] Insert explicit cast for GCC 4.6 in PIC mode. 522 523 * src/base/ftinit.c (FT_Add_Default_Modules): Under PIC 524 configuration, FT_DEFAULT_MODULES_GET returns 525 FT_Module_Class** pointer, GCC 4.6 warns that 526 const FT_Module_Class* const* variable is warned as 527 inappropriate to store it. To calm it, explicit cast is 528 inserted. Also `library' is checked to prevent the NULL 529 pointer dereference in FT_DEFAULT_MODULES_GET. 530 5312012-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 532 533 Fix PIC build broken by d9145241fe378104ba4c12a42534549faacc92e6. 534 535 Under PIC configuration, FT_{CFF,PSCMAPS,SFNT,TT}_SERVICES_GET 536 take no arguments but derefer the variable named `library' 537 internally. 538 539 * src/cff/cffdrivr.c (cff_get_interface): Declare `library' and 540 set it if non-NULL driver is passed. 541 * src/truetype/ttdriver.c (tt_get_interface): Ditto. 542 543 * src/sfnt/sfdriver.c (sfnt_get_interface): Declare `library' 544 under PIC configuration, and set it if non-NULL module is given. 545 * src/psnames/psmodule.c (psnames_get_interface): Ditto. 546 5472012-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 548 549 Make PIC files include module error headers, to use the error codes 550 with per-module prefix. 551 552 * src/autofit/afpic.c: Include `aferrors.h'. 553 * src/cff/cffpic.c: Include `cfferrs.h'. 554 * src/pshinter/pshpic.c: Include `pshnterr.h'. 555 * src/raster/rastpic.c: Include `rasterrs.h'. 556 * src/sfnt/sfntpic.c: Include `sferrors.h'. 557 * src/smooth/ftspic.c: Include `ftsmerrs.h'. 558 * src/truetype/ttpic.c: Include `tterrors.h'. 559 5602012-01-04 Tobias Ringström <tobias@ringis.se> 561 562 [truetype] Fix IP instruction if x_ppem != y_ppem. 563 564 * src/truetype/ttinterp.c (Ins_IP): Scale `orus' coordinates 565 properly. 566 5672012-01-02 Werner Lemberg <wl@gnu.org> 568 569 Fix tracing message for `loca' table. 570 571 * src/truetype/ttpload.c (tt_face_get_location): Don't emit a 572 warning message if the last `loca' entry references an empty glyph. 573 5742011-12-10 Werner Lemberg <wl@gnu.org> 575 576 Add some variable initializations. 577 Reported by Richard COOK <rscook@unicode.org>. 578 579 * src/type1/t1driver.c (t1_ps_get_font_value): Initialize `val'. 580 * src/smooth/ftgrays.c (gray_render_conic): Initialize `levels' 581 earlier. 582 5832011-12-08 Werner Lemberg <wl@gnu.org> 584 585 Fix serious scaling bug in `FT_Get_Advances'. 586 587 * src/base/ftadvanc.c (FT_Get_Advances): Advance values returned by 588 `FT_Load_Glyph' must be simply multiplied by 1024. 589 5902011-12-08 Werner Lemberg <wl@gnu.org> 591 592 * src/bdf/bdflib.c (_bdf_parse_start): Drop redundant error tracing. 593 5942011-12-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 595 596 [mac] Unify DARWIN_NO_CARBON with FT_MACINTOSH. 597 598 Originally FT_MACINTOSH was a pure auto macro and DARWIN_NO_CARBON 599 was a configurable macro to disable Carbon-dependent code. Because 600 now configure script sets DARWIN_NO_CARBON by default and disables 601 Darwin & Carbon-dependent codes, these macros can be unified. 602 FT_MACINTOSH (undefined by default) is kept and DARWIN_NO_CARBON 603 (defined by default) is removed, because DARWIN_NO_CARBON violates 604 FT_XXX naming convention of public macros, and a macro configured by 605 default is not portable for the building without configure (e.g. 606 make devel). 607 608 * builds/unix/configure.raw: Define FT_MACINTOSH if Carbon-based 609 old Mac font support is requested and Carbon is available. 610 * builds/unix/ftconfig.in: Undefine FT_MACINTOSH when the support 611 for Mac OS X without Carbon (e.g. Mac OS X 10.4 for ppc64) is 612 requested. 613 * include/freetype/config/ftconfig.in: Ditto. 614 * builds/vms/ftconfig.h: Ditto. 615 616 * src/base/ftbase.h: Remove DARWIN_NO_CARBON. 617 * src/base/ftbase.c: Ditto. 618 * src/base/ftobjs.c: Ditto. 619 * src/base/ftrfork.c: Ditto. 620 621 * src/base/ftmac.c: Compile the body if FT_MACINTOSH is defined 622 (same with TT_USE_BYTECODE_INTERPRETER in ttinterp.c). 623 * builds/mac/ftmac.c: Ditto. 624 625 * builds/mac/FreeType.m68k_cfm.make.txt: Define FT_MACINTOSH. 626 * builds/mac/FreeType.m68k_far.make.txt: Ditto. 627 * builds/mac/FreeType.ppc_classic.make.txt: Ditto. 628 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto. 629 6302011-11-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 631 632 Fix Savannah bug #34728 (`make devel' on Mac OS X). 633 634 * builds/toplevel.mk: Check `/dev/null' to identify the Unix- 635 like systems without `init' nor `hurd' (e.g. Mac OS X >= 10.4). 636 * builds/unix/detect.mk: Ditto. 637 6382011-11-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 639 640 [apinames] Fix the overflow of signed integer hash. 641 642 * src/tools/apinames.c (names_add): Change the type of `h' from 643 int to unsigned int, to prevent undefined behaviour in the 644 overflow of signed integers (overflow of unsigned int is defined 645 to be wrap around). Found by clang test suggested by Sean 646 McBride. 647 6482011-11-30 Werner Lemberg <wl@gnu.org> 649 650 [winfonts] Remove casts. 651 652 * src/winfonts/winfnt.c (winfnt_driver_class): Remove all casts and 653 update affected functions. 654 (FNT_Size_Select): Fix number of arguments. 655 6562011-11-30 Werner Lemberg <wl@gnu.org> 657 658 [type42] Remove casts. 659 660 * src/type42/t42driver.c (t42_driver_class): Remove all casts and 661 update affected functions. 662 663 * src/type42/t42objs.c, src/type42/t42objs.h: Updated for t42driver 664 changes. 665 6662011-11-30 Werner Lemberg <wl@gnu.org> 667 668 [type1] Remove casts. 669 670 * src/type1/t1driver.c (t1_driver_class): Remove all casts and 671 update affected functions. 672 673 * src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c: 674 Updated for t1driver changes. 675 src/type1/t1objs.h (T1_Driver): Remove unused typedef. 676 Updated for t1driver changes. 677 6782011-11-27 Werner Lemberg <wl@gnu.org> 679 680 [bdf] Fix Savannah bug #34896. 681 682 ENCODING now covers the whole Unicode range. 683 684 Note, however, that this change is quite expensive since it 685 increases the size of three arrays by almost 400kByte in total. The 686 right fix is to replace the logic with something smarter. 687 Additionally, there exist very old BDFs for three-byte CCCII 688 encoding which exceeds the range of Unicode (another reason to have 689 a smarter logic). 690 691 * src/bdf/bdf.h (bdf_font_t): Increase size of `nmod' and `umod' 692 arrays. 693 * src/bdf/bdflib.c (bdf_parse_t): Increase size of `have' array. 694 6952011-11-27 Werner Lemberg <wl@gnu.org> 696 697 [bdf] Improve tracing. 698 699 * src/bdf/bdflib.c (DBGMSG1, DBGMSG2): New macros. 700 (_bdf_parse_glyphs): Use them. 701 7022011-11-26 Werner Lemberg <wl@gnu.org> 703 704 Improve tracing. 705 706 * src/bdf/bdfdrivr.c (BDF_Face_Done), src/pcf/pcfdrivr.c 707 (PCF_Face_Done): Remove tracing message. 708 709 * src/bdf/bdfdrivr.c (BDF_Face_Init), src/cff/cffobjs.c 710 (cff_face_init), src/cid/cidobjs.c (cid_face_init), 711 src/pfr/pfrobjs.c (pfr_face_init), src/sfnt/sfobjs.c 712 (sfnt_init_face), src/truetype/ttobjs.c (tt_face_init), 713 src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c 714 (T42_Face_Init), src/winfonts/winfnt.c (FNT_Face_Init): Add 715 `greeting' message. 716 717 * src/sfnt/sfobjs.c (sfnt_open_font), src/type42/t42objs.c 718 (T42_Open_Face): Improve tracing. 719 7202011-11-26 Werner Lemberg <wl@gnu.org> 721 722 [cid] Fix error code. 723 724 * src/cid/cidparse.c (cid_parser_new): Do it. 725 7262011-11-26 Werner Lemberg <wl@gnu.org> 727 728 [cff] Fix error code. 729 730 * src/cff/cffload.c (cff_font_load): Do it. 731 7322011-11-26 Werner Lemberg <wl@gnu.org> 733 734 Add new error code FT_Err_Missing_Module. 735 736 Previously, FreeType misleadingly returned 737 FT_Err_Unknown_File_Format if a module was missing (or a test was 738 missing completely). 739 740 * include/freetype/fterrdef.h (FT_Err_Missing_Module): Define. 741 742 * src/cff/cffobjs.c (cff_face_init), src/cff/cffdrivr.c 743 (cff_get_glyph_name), src/cid/cidobjs.c (cid_face_init), 744 src/sfnt/sfobjs.c (sfnt_init_face), src/truetype/ttobjs.c 745 (tt_face_init), src/type1/t1objs.c (T1_Face_Init), 746 src/type42/t42objs.c (T42_Face_Init, T42_Driver_Init): Updated. 747 748 * src/type1/t1afm.c (T1_Read_Metrics), src/type/t1objs.c 749 (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Remove now 750 redundant test for `psaux'. 751 7522011-11-25 Werner Lemberg <wl@gnu.org> 753 754 [bdf] Add more error messages. 755 756 * src/bdf/bdflib.c (_bdf_set_default_spacing, _bdf_add_property): 757 Add line number argument. 758 Update all callers. 759 (ERRMSG5, ERRMSG6, ERRMSG7, ERRMSG8, ERRMSG9): New macros. 760 (_bdf_readstream, _bdf_set_default_spacing, _bdf_add_property, 761 _bdf_parse_glyphs, _bdf_parse_start): Add error messages. 762 7632011-11-24 Werner Lemberg <wl@gnu.org> 764 765 * include/freetype/fterrors.h: Remove dead code. 766 7672011-11-15 Werner Lemberg <wl@gnu.org> 768 769 * docs/releases: Updated. 770 7712011-11-15 Werner Lemberg <wl@gnu.org> 772 773 * Version 2.4.8 released. 774 ========================= 775 776 777 Tag sources with `VER-2-4-8'. 778 779 * docs/CHANGES: Updated. 780 781 * docs/VERSION.DLL: Update documentation and bump version number to 782 2.4.8. 783 784 * README, Jamfile (RefDoc), 785 builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, 786 builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, 787 builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html, 788 builds/win32/visualc/freetype.dsp, 789 builds/win32/visualc/freetype.vcproj, 790 builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, 791 builds/win32/visualce/freetype.vcproj, 792 builds/win32/visualce/index.html, 793 builds/wince/vc2005-ce/freetype.vcproj, 794 builds/wince/vc2005-ce/index.html, 795 builds/wince/vc2008-ce/freetype.vcproj, 796 builds/wince/vc2008-ce/index.html: s/2.4.7/2.4.8/, s/247/248/. 797 798 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8. 799 800 * builds/unix/configure.raw (version_info): Set to 14:0:8. 801 8022011-11-13 Chris Liddell <chris.liddell@artifex.com> 803 804 Add FT_Get_PS_Font_Value() API. 805 806 This allows a Type 1 font face to be interrogated to retrieve most 807 of the dictionary keys (keys not relevant to FreeType's Type 1 808 interpreter are not available). 809 810 * include/freetype/internal/services/svpsinfo.h 811 (PS_GetFontValueFunc): New typedef. 812 (PSInfo): Add `ps_get_font_value'. 813 (FT_DEFINE_SERVICE_PSINFOREC): Updated. 814 815 * include/freetype/internal/t1types.h (T1_EncodingType): Moved to... 816 * include/freetype/t1tables.h: Here. 817 (PS_Dict_Keys): New enumeration. 818 (FT_Get_PS_Font_Value): New declaration. 819 820 * src/base/fttype1.c (FT_Get_PS_Font_Value): New function. 821 822 * src/type1/t1driver.c (t1_ps_get_font_value): This new function 823 does the real job. 824 (t1_service_ps_info): Add it. 825 826 * src/cff/cffdrivr.c (cff_service_ps_info), src/cid/cidriver.c 827 (cid_service_ps_info), src/type42/t42drivr.c (t42_service_ps_info): 828 Updated. 829 8302011-11-08 Braden Thomas <bthomas@apple.com> 831 832 [cid] Various loading fixes. 833 834 * src/cid/cidload.c (cid_load_keyword) <default>, 835 (parse_font_matrix, parse_expansion_factor): Correctly check number 836 of dictionaries. 837 (cid_read_subrs): Protect against invalid values of `num_subrs'. 838 Assure that the elements of the `offsets' array are ascending. 839 8402011-11-05 Werner Lemberg <wl@gnu.org> 841 842 * README: We use copyright ranges also. 843 844 According to 845 846 http://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html 847 848 this should be mentioned explicitly. 849 8502011-10-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 851 852 [raccess] Supplement for previous fix. 853 854 * src/base/ftbase.h (raccess_rule_by_darwin_vfs): Do not declare 855 it on native Mac OS X. 856 * src/base/ftrfork.c (raccess_get_rule_type_from_rule_index): 857 Hide raccess_get_rule_type_from_rule_index() on native Mac OS X 858 too. 859 8602011-10-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 861 862 [raccess] Hide raccess_rule_by_darwin_vfs() on native Mac OS X. 863 864 * src/base/ftrfork.c (raccess_rule_by_darwin_vfs): Do not 865 compile on native Mac OS X because it is not used. 866 8672011-10-25 Werner Lemberg <wl@gnu.org> 868 869 [truetype] Fix MD instruction for twilight zone. 870 871 * src/truetype/ttinterp.c (Ins_MD): Without this fix, the MD 872 instruction applied to original coordinates of twilight points 873 always returns zero. 874 8752011-10-18 Werner Lemberg <wl@gnu.org> 876 877 * Version 2.4.7 released. 878 ========================= 879 880 881 Tag sources with `VER-2-4-7'. 882 883 * docs/CHANGES: Updated. 884 885 * docs/VERSION.DLL: Update documentation and bump version number to 886 2.4.7. 887 888 * README, Jamfile (RefDoc), 889 builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, 890 builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, 891 builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html, 892 builds/win32/visualc/freetype.dsp, 893 builds/win32/visualc/freetype.vcproj, 894 builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, 895 builds/win32/visualce/freetype.vcproj, 896 builds/win32/visualce/index.html, 897 builds/wince/vc2005-ce/freetype.vcproj, 898 builds/wince/vc2005-ce/index.html, 899 builds/wince/vc2008-ce/freetype.vcproj, 900 builds/wince/vc2008-ce/index.html: s/2.4.6/2.4.7/, s/246/247/. 901 902 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7. 903 904 * builds/unix/configure.raw (version_info): Set to 13:2:7. 905 9062011-10-15 Kal Conley <kcconley@gmail.com> 907 908 Fix handling of transformations if no renderer is present. 909 910 * src/base/ftobjs.c (FT_Load_Glyph): Thinko. 911 9122011-10-15 Kal Conley <kcconley@gmail.com> 913 914 Fix conditions for autohinting. 915 916 * src/base/ftobjs.c (FT_Load_Glyph): Handle 917 FT_LOAD_IGNORE_TRANSFORM. 918 9192011-10-07 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 920 921 [gxvalid] Fix a bug to detect too large offset in morx table. 922 923 * src/gxvalid/gxvmorx2.c 924 (gxv_morx_subtable_type2_ligActionIndex_validate): Fix a bug 925 that too large positive offset cannot be detected. 926 9272011-10-01 Braden Thomas <bthomas@apple.com> 928 929 Handle some border cases. 930 931 * include/freetype/config/ftstdlib.h (FT_USHORT_MAX): New macro. 932 933 * src/base/ftbitmap.c (FT_Bitmap_Convert): Protect against invalid 934 value of `target->rows'. 935 936 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add check for 937 flex start. 938 939 * src/raster/ftrend1.c (ft_raster1_render): Check `width' and 940 `height'. 941 942 * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Protect against 943 invalid values in `localpoints' array. 944 9452011-10-01 Werner Lemberg <wl@gnu.org> 946 947 [psnames] Handle zapfdingbats. 948 Problem reported by Nicolas Rougier <Nicolas.Rougier@inria.fr>. 949 950 * src/tools/glnames.py (adobe_glyph_list): Add data from AGL's 951 `zapfdingbats.txt' file. 952 953 * src/psnames/pstables.h: Regenerated. 954 9552011-09-27 Simon Bünzli <zeniko@gmail.com> 956 957 Fix Savannah bug #34189. 958 959 * src/type1/t1load.c (T1_Open_Face): Initialize 960 `face->len_buildchar'. 961 9622011-09-26 Werner Lemberg <wl@gnu.org> 963 964 [cff] Dump SIDs while tracing. 965 966 * src/cff/cffobjs.c (cff_face_init): Do it. 967 968 * src/cff/cffparse.c (cff_parser_run) [FT_DEBUG_LEVEL_TRACE] 969 <cff_kind_string>: Identify as SID. 970 9712011-09-17 Werner Lemberg <wl@gnu.org> 972 973 Remove unused FT_ALIGNMENT macro. 974 975 * builds/unix/ftconfig.in, builds/vms/ftconfig.h, 976 include/freetype/config/ftconfig.h: Do it. 977 9782011-09-17 Alexei Podtelezhnikov <apodtele@gmail.com> 979 980 [smooth] Slightly optimize conic and cubic flatterners. 981 982 * src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move 983 out some code from the main loop to speed it up. 984 9852011-09-11 Tomas Hoger <thoger@redhat.com> 986 987 Slightly improve LZW_CLEAR handling. 988 989 * src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_CODE>: 990 Ensure that subsequent (modulo garbage byte(s)) LZW_CLEAR codes are 991 handled as clear codes. This also re-sets old_code and old_char to 992 predictable values, which is a little better than using `random' 993 ones if the code following LZW_CLEAR is invalid. 994 9952011-09-11 Tomas Hoger <thoger@redhat.com> 996 997 Add explicit LZW decompression stack size limit. 998 999 Stack larger than 1<<LZW_MAX_BITS is never needed if prefix table is 1000 constructed correctly. It's even less than that, see e.g. 1001 libarchive code comment for a better size upper bound: 1002 1003 http://code.google.com/p/libarchive/source/browse/trunk/libarchive/archive_read_support_filter_compress.c?r=3635#121 1004 1005 This patch adds explicit stack size limit, enforced when stack is 1006 realloced. 1007 1008 An alternative is to ensure that code < state->prefix[code - 256] 1009 when traversing prefix table. Such check is less efficient and 1010 should not be required if prefix table is constructed correctly in 1011 the first place. 1012 1013 * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Implement it. 1014 10152011-09-11 Tomas Hoger <thoger@redhat.com> 1016 1017 Protect against loops in the prefix table. 1018 1019 LZW decompressor did not sufficiently check codes read from the 1020 input LZW stream. A specially-crafted or corrupted input could 1021 create a loop in the prefix table, which leads to memory usage 1022 spikes, as there's no decompression stack size limit. 1023 1024 * src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_START>: First 1025 code in valid LZW stream must be 0..255. 1026 <FT_LZW_PHASE_CODE>: In the special KwKwK case, code == free_ent, 1027 code > free_ent is invalid. 1028 10292011-09-09 Werner Lemberg <wl@gnu.org> 1030 1031 Better tracing of metrics. 1032 1033 * src/base/ftobjs.c (FT_Request_Size, FT_Select_Size): Decorate with 1034 FT_TRACE. 1035 10362011-09-07 Werner Lemberg <wl@gnu.org> 1037 1038 Fix Savannah bug #33816. 1039 1040 * src/cff/cfftypes.h (CFF_FontRecDictRec): New member 1041 `has_font_matrix'. 1042 * src/cff/cffparse.c (cff_parse_font_matrix): Set it. 1043 Update tracing output. 1044 * src/cff/cffobjs.c (cff_face_init): Use it so that the heuristics 1045 can be removed. 1046 10472011-08-30 Werner Lemberg <wl@gnu.org> 1048 1049 Better tracing of metrics. 1050 1051 * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): 1052 Decorate with FT_TRACE. 1053 10542011-08-25 Werner Lemberg <wl@gnu.org> 1055 1056 [cff] Better tracing of the parsing process. 1057 1058 * src/cff/cffload.c (cff_subfont_load, cff_font_load): Decorate with 1059 FT_TRACE. 1060 1061 * src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox, 1062 cff_parse_private_dict, cff_parse_cid_ros): Updated. 1063 (CFF_FIELD_NUM, CFF_FIELD_FIXED, CFF_FIELD_FIXED_1000, 1064 CFF_FIELD_STRING, CFF_FIELD_BOOL, CFF_FIELD_CALLBACK, CFF_FIELD, 1065 CFF_FIELD_DELTA): Add argument for ID. 1066 (cff_parser_run): Decorate with FT_TRACE. 1067 1068 * src/cff/cffparse.h (CFF_Field_Handler) [FT_DEBUG_LEVEL_TRACE]: Add 1069 `id' member. 1070 1071 * src/cff/cfftoken.h: Add IDs to all fields. 1072 10732011-08-16 Werner Lemberg <wl@gnu.org> 1074 1075 Fix Savannah bug #34022. 1076 1077 * README, docs/INSTALL: Remove references to UPGRADE.UNIX. 1078 10792011-08-15 Werner Lemberg <wl@gnu.org> 1080 1081 Fix Savannah bug #34018. 1082 1083 * docs/UPGRADE.UNIX: Removed. Obsolete. 1084 10852011-08-15 David Bevan <david.bevan@pb.com> 1086 1087 Fix Savannah bug #33992. 1088 1089 * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix border case. 1090 10912011-08-12 Werner Lemberg <wl@gnu.org 1092 1093 [truetype] Fix degenerate case in S{P,F,DP}VTL opcodes. 1094 1095 * src/truetype/ttinterp.c (Ins_SxVTL): Handle p1 == p2 specially. 1096 (Ins_SDPVTL): Handle v1 == v2 specially. 1097 10982011-08-09 Werner Lemberg <wl@gnu.org> 1099 1100 Fix Savannah bug #33975. 1101 1102 * src/cff/cffparse.c (cff_parse_font_matrix): Fix typo. 1103 11042011-07-29 Werner Lemberg <wl@gnu.org> 1105 1106 * Version 2.4.6 released. 1107 ========================= 1108 1109 1110 Tag sources with `VER-2-4-6'. 1111 1112 * docs/CHANGES: Updated. 1113 1114 * docs/VERSION.DLL: Update documentation and bump version number to 1115 2.4.6. 1116 1117 * README, Jamfile (RefDoc), 1118 builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, 1119 builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, 1120 builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html, 1121 builds/win32/visualc/freetype.dsp, 1122 builds/win32/visualc/freetype.vcproj, 1123 builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, 1124 builds/win32/visualce/freetype.vcproj, 1125 builds/win32/visualce/index.html, 1126 builds/wince/vc2005-ce/freetype.vcproj, 1127 builds/wince/vc2005-ce/index.html, 1128 builds/wince/vc2008-ce/freetype.vcproj, 1129 builds/wince/vc2008-ce/index.html: s/2.4.5/2.4.6/, s/245/246/. 1130 1131 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6. 1132 1133 * builds/unix/configure.raw (version_info): Set to 13:1:7. 1134 11352011-07-29 Werner Lemberg <wl@gnu.org> 1136 1137 [cff] Add some more tracing infos. 1138 1139 * src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox, 1140 cff_parse_cid_ros): Add tracing. 1141 11422011-07-22 Dirk Müller <dmueller@suse.de> 1143 1144 [psaux, type1] Fix null pointer dereferences. 1145 1146 Found with font fuzzying. 1147 1148 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Check 1149 `decoder->buildchar'. 1150 1151 * src/type1/t1load.c (t1_load_keyword): Check `blend->num_designs'. 1152 11532011-07-20 Chris Morgan <cmorgan@cybexintl.com> 1154 1155 Add FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT. 1156 1157 Useful for embedded systems which don't need file stream support. 1158 1159 * src/base/ftsystem.c, src/base/ftobjs.c (FT_Stream_New): Implement 1160 it. 1161 11622011-07-20 Elton Chung <elton328@gmail.com> 1163 1164 * src/base/ftpatent.c (FT_Face_SetUnpatentedHinting): Fix typo. 1165 11662011-07-16 Steven Chu <steven.f.chu@gmail.com> 1167 1168 [truetype] Fix metrics on size request for scalable fonts. 1169 1170 * src/truetype/ttdriver.c (tt_size_request): Fix copying metrics 1171 from TT_Size to FT_Size if scalable font. 1172 1173 See 1174 1175 http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00049.html 1176 1177 for some comparison images. 1178 11792011-07-14 Matthias Drochner <M.Drochner@fz-juelich.de>. 1180 1181 [psaux] Fix potential sign extension problems. 1182 1183 When shifting right a signed value, it is not defined by the 1184 C standard whether one gets a sign extension or not. Use a macro to 1185 do an explicit cast from a signed short (assuming that this is 1186 16bit) to an int. 1187 1188 * src/psaux/t1decode.c (Fix2Int): New macro. 1189 Use it where appropriate. 1190 11912011-07-14 Werner Lemberg <wl@gnu.org> 1192 1193 * src/psaux/t1decode.c (t1_decoder_parse_charstrings) 1194 <op_callothersubr>: Better handling of subroutine index 0. 1195 From Matthias Drochner <M.Drochner@fz-juelich.de>. 1196 11972011-07-10 Алексей Подтележников <apodtele@gmail.com> 1198 1199 [psaux] Optimize previous commit. 1200 1201 * src/psaux/t1decode.c (t1_decoder_parse_charstrings) 1202 <op_callothersubr>: Move error check down to avoid testing twice for 1203 good cases. 1204 12052011-07-08 Werner Lemberg <wl@gnu.org> 1206 1207 [psaux] Add better argument check for `callothersubr'. 1208 1209 * src/psaux/t1decode.c (t1_decoder_parse_charstrings) 1210 <op_callothersubr>: Reject negative arguments. 1211 12122011-07-07 Werner Lemberg <wl@gnu.org> 1213 1214 [sfnt] Try harder to find non-zero values for ascender and descender. 1215 1216 * src/sfnt/sfobjs.c (sfnt_load_face): Consult `OS/2' table in case 1217 the `hhea' table's values are zero. 1218 12192011-07-03 Werner Lemberg <wl@gnu.org> 1220 1221 Fix previous commit. 1222 1223 We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap 1224 strikes in the font. 1225 1226 * src/truetype/ttobjs.c (tt_face_init): Implement it. 1227 1228 * docs/CHANGES: Updated. 1229 12302011-07-02 Just Fill Bugs <mozbugbox@yahoo.com.au> 1231 1232 Fix Savannah bug #33246. 1233 1234 * src/truetype/ttobjs.c (tt_check_single_notdef): New function. 1235 (tt_face_init): Use it to test FT_FACE_FLAG_SCALABLE. 1236 12372011-07-02 Werner Lemberg <wl@gnu.org> 1238 1239 * docs/CHANGES: Updated. 1240 12412011-07-02 David Bevan <david.bevan@pb.com> 1242 1243 [ftstroke] Major revision. 1244 1245 The main problems 1246 ----------------- 1247 1248 o If FT_STROKER_LINEJOIN_BEVEL was specified, unlimited miter 1249 joins (not bevel joins) were generated. Indeed, the meanings of 1250 `miter' and `bevel' were incorrectly reversed (consistently) in 1251 both the code and comments. 1252 1253 o The way bevel joins were constructed (whether specified 1254 explicitly, or created as a result of exceeding the miter limit) 1255 did not match what is required for stroked text in PostScript or 1256 PDF. 1257 1258 The main fixes 1259 -------------- 1260 1261 o The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected. 1262 1263 o A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has been 1264 introduced to support PostScript and PDF miter joins. 1265 1266 o FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced as an 1267 alias for FT_STROKER_LINEJOIN_MITER. 1268 1269 Additionally, a variety of stroking errors have been fixed. These 1270 would cause various artifacts (including points `at infinity'), 1271 especially when stroking poor quality fonts. 1272 1273 See 1274 1275 http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html 1276 1277 for example documents. The FreeType stroker now produces results 1278 very similar to that produced by GhostScript and Distiller for these 1279 fonts. 1280 1281 Other problems 1282 -------------- 1283 1284 The following problems have been resolved: 1285 1286 o Inside corners could be generated incorrectly. Intersecting the 1287 inside corner could cause a missing triangular area and other 1288 effects. 1289 1290 The intersection point can only be used if the join is between 1291 two lines and both lines are long enough. The `optimization' 1292 condition in `ft_stroker_inside' has been corrected; this 1293 requires the line length to be passed into various functions and 1294 stored in `FT_StrokerRec'. 1295 1296 o Incorrect cubic curves could be generated. The angle 1297 calculations in `FT_Stroker_CubicTo' have been corrected to 1298 handle the case of the curve crossing the +/-PI direction. 1299 1300 o If the border radius was greater than the radius of curvature of 1301 a curve, then the negative sector would end up outside (not 1302 inside) the border. This situation is now recognized and the 1303 negative sector is circumnavigated in the opposite direction. 1304 (If round line joins are being used, this code is disabled 1305 because the line join will always cover the negative sector.) 1306 1307 o When a curve is split, the arcs may not join smoothly (especially 1308 if the curve turns sharply back on itself). Changes in 1309 direction between adjacent arcs were not handled. A round 1310 corner is now added if the deviation from one arc to the next is 1311 greater than a suitable threshold. 1312 1313 o The current direction wasn't retained if a the outline contained 1314 a zero length lineto or a curve that was determined to be 1315 `basically a point'. This could cause a spurious join to be 1316 added. 1317 1318 o Cubics with close control points could be mishandled. All eight 1319 cases are now distinguished correctly. 1320 1321 Other improvements 1322 ------------------ 1323 1324 o Borders for cubic curves could be too `flat'. 1325 FT_SMALL_CUBIC_THRESHOLD has been reduced a little to prevent 1326 this. 1327 1328 o The handling and use of movable points has been simplified a 1329 little. 1330 1331 o Various values are now computed only if the results are actually 1332 needed. 1333 1334 o The directions of the outer and inner borders have been swapped, 1335 as recommended by Graham Asher. 1336 1337 * src/base/ftstroke.c: Revised. 1338 * include/freetype/ftstroke.h: Updated. 1339 13402011-06-30 İsmail Dönmez <ismail@namtrac.org> 1341 1342 * builds/toplevel.mk: We use git, not CVS, thus skip `.gitignore'. 1343 13442011-06-29 Werner Lemberg <wl@gnu.org> 1345 1346 Fix Savannah bug #33663. 1347 1348 * src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for 1349 ENCODING correctly. 1350 1351 * docs/CHANGES: Document it. 1352 13532011-06-24 Werner Lemberg <wl@gnu.org> 1354 1355 * Version 2.4.5 released. 1356 ========================= 1357 1358 1359 Tag sources with `VER-2-4-5'. 1360 1361 * docs/CHANGES: Updated. 1362 1363 * docs/VERSION.DLL: Update documentation and bump version number to 1364 2.4.5 1365 1366 * README, Jamfile (RefDoc), 1367 builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, 1368 builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, 1369 builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html, 1370 builds/win32/visualc/freetype.dsp, 1371 builds/win32/visualc/freetype.vcproj, 1372 builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, 1373 builds/win32/visualce/freetype.vcproj, 1374 builds/win32/visualce/index.html, 1375 builds/wince/vc2005-ce/freetype.vcproj, 1376 builds/wince/vc2005-ce/index.html, 1377 builds/wince/vc2008-ce/freetype.vcproj, 1378 builds/wince/vc2008-ce/index.html: s/2.4.4/2.4.5/, s/244/245/. 1379 1380 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5. 1381 1382 * builds/unix/configure.raw (version_info): Set to 13:0:7. 1383 13842011-06-20 Werner Lemberg <wl@gnu.org> 1385 1386 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix change 1387 from 2011-05-04. 1388 13892011-06-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1390 1391 [gxvalid] make the `prop' validation tracing verbose. 1392 1393 * src/gxvalid/gxvprop.c: Add tracing messages for errors. 1394 13952011-06-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1396 1397 [autogen.sh] Reflect environment variable LIBTOOLIZE. 1398 13992011-06-18 Werner Lemberg <wl@gnu.org> 1400 1401 Update license documentation. 1402 1403 * docs/GPL.TXT: Renamed to... 1404 * docs/GPLv2.TXT: This. 1405 1406 * docs/LICENSE.TXT: Updated. 1407 14082011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1409 1410 Fix g++4.6 compiler warnings in module drivers. 1411 1412 The background is same with previous commit. 1413 1414 * src/truetype/ttgxvar.c (ft_var_readpackedpoints): 1415 Init `points'. (TT_Vary_Get_Glyph_Deltas): Init 1416 `delta_xy'. (TT_Get_MM_Var): Init `mmvar'. 1417 * src/type1/t1load.c (T1_Get_MM_Var): Ditto. 1418 * src/cff/cffdrivr.c (cff_ps_get_font_info): Init 1419 `font_info'. 1420 * src/cff/cffload.c (cff_index_get_pointers): Init `t'. 1421 (cff_font_load): Init `sub'. 1422 * src/cff/cffobjs.c (cff_size_init): Init `internal'. 1423 (cff_face_init): Init `cff'. 1424 * src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps): 1425 Init `snaps'. 1426 * src/pcf/pcfread.c (pcf_get_properties): Init `properties'. 1427 (pcf_get_bitmaps): Init `offsets'. (pcf_get_encodings): 1428 Init `tmpEncoding'. 1429 * src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'. 1430 * src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'. 1431 * src/cache/ftcmru.c (FTC_MruList_New): Init `node'. 1432 * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and 1433 `zip_buff'. 1434 * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'. 1435 * src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'. 1436 14372011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1438 1439 [base] Fix g++4.6 compiler warnings in src/base/*.c. 1440 1441 Passing uninitialized pointer to FT_NEW() families is 1442 not problematic theoretically (as far as the returned 1443 pointer is checked before writing), but g++4.6 dislikes 1444 it and warns by -Wuninitialized. Initialize them by NULL. 1445 1446 * src/base/ftobjs.c (FT_Stream_New): Init `stream'. 1447 (new_memory_stream): Ditto. 1448 (FT_New_GlyphSlot): Init `slot'. 1449 (FT_CMap_New): Init `cmap'. 1450 (open_face_PS_from_sfnt_stream): Init `sfnt_ps'. 1451 (Mac_Read_POST_Resource): Init `pfb_data'. 1452 (Mac_Read_sfnt_Resource): Init `sfnt_data'. 1453 * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): 1454 Init `offsets_internal' and `ref'. 1455 (raccess_guess_darwin_hfsplus): Init `newpath'. 1456 (raccess_guess_darwin_newvfs): Ditto. 1457 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): 1458 Init `buffer'. 1459 * src/base/ftstroke.c (FT_Stroker_New): Init `stroker'. 1460 14612011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1462 1463 [gxvalid] Cleanup. 1464 1465 Some invalid, overrunning, unrecommended non-zero values 1466 are cared in paranoid validation mode only. There are 1467 many lines looking like: 1468 1469 if ( valid->root->level >= FT_VALIDATE_PARANOID ) 1470 FT_INVALID_xxx; 1471 1472 To simplify them, GXV_SET_ERR_IF_PARANOID( err ) is 1473 introduced for more paranoid validation in future. 1474 1475 * src/gxvalid/gxvcommn.h (IS_PARANOID_VALIDATION): 1476 New macro to assure valid->root->level is more or 1477 equal to FT_VALIDATE_PARANOID. (GXV_SET_ERR_IF_PARANOID): 1478 New macro to raise an error if in paranoid validation. 1479 * src/gxvalid/gxvcommn.c: Use GXV_SET_ERR_IF_PARANOID(). 1480 * src/gxvalid/gxvfeat.c: Ditto. 1481 * src/gxvalid/gxvjust.c: Ditto. 1482 * src/gxvalid/gxvkern.c: Ditto. 1483 * src/gxvalid/gxvmort.c: Ditto. 1484 * src/gxvalid/gxvmort0.c: Ditto. 1485 * src/gxvalid/gxvmort1.c: Ditto. 1486 * src/gxvalid/gxvmort2.c: Ditto. 1487 * src/gxvalid/gxvmorx1.c: Ditto. 1488 * src/gxvalid/gxvmorx2.c: Ditto. 1489 14902011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1491 1492 [gxvalid] Fix gcc4.6 compiler warnings in gxvtrak.c. 1493 1494 * src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): 1495 Check different entries pointing same traking value. 1496 (gxv_trak_validate): Remove unused variable `table_size'. 1497 14982011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1499 1500 [gxvalid] Fix gcc4.6 compiler warnings in gxvmorx*.c. 1501 1502 * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate): 1503 Conditionalize unvalidated variable `subFeatureFlags'. 1504 (gxv_morx_chain_validate): Conditionalize unvalidated 1505 variable `defaultFlags'. 1506 1507 * src/gxvalid/gxmorx0.c 1508 (gxv_morx_subtable_type0_entry_validate): 1509 Conditionalize unvalidated variables; `markFirst', 1510 `dontAdvance', `markLast', `verb'. 1511 1512 * src/gxvalid/gxmorx1.c 1513 (gxv_morx_subtable_type1_entry_validate): Conditionalize 1514 unvalidated variables; `setMark', `dontAdvance'. 1515 1516 * src/gxvalid/gxvmorx2.c 1517 (gxv_morx_subtable_type2_ligActionOffset_validate): 1518 Conditionalize unvalidated variables; `last', `store'. 1519 Checking for overrunning offset is added. 1520 (gxv_morx_subtable_type2_entry_validate): 1521 Conditionalize unvalidated variables; `setComponent', 1522 `dontAdvance', `performAction'. 1523 (gxv_morx_subtable_type2_ligatureTable_validate): 1524 Check if the GID for ligature does not exceed the 1525 max GID in `maxp' table. 1526 1527 * src/gxvalid/gxvmort5.c 1528 (gxv_morx_subtable_type5_InsertList_validate): 1529 Conditionalize unvalidated loading of `insert_glyphID' 1530 array. (gxv_morx_subtable_type5_entry_validate): 1531 Conditionalize unvalidated variables; `setMark', 1532 `dontAdvance', `currentIsKashidaLike', 1533 `markedIsKashidaLike', `currentInsertBefore', 1534 `markedInsertBefore'. 1535 15362011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1537 1538 [gxvalid] Fix gcc4.6 compiler warnings in gxvmort*.c. 1539 1540 * src/gxvalid/gxvmort.c (gxv_mort_subtables_validate): 1541 Conditionalize unvalidated variable `subFeatureFlags'. 1542 (gxv_mort_chain_validate): Conditionalize unvalidated 1543 variable `defaultFlags'. 1544 1545 * src/gxvalid/gxmort0.c 1546 (gxv_mort_subtable_type0_entry_validate): Check the 1547 conflict of the marks for the glyphs. 1548 1549 * src/gxvalid/gxmort1.c 1550 (gxv_mort_subtable_type1_offset_to_subst_validate): 1551 Local variables `min_gid', `max_gid' are replaced by 1552 variables in the validator. 1553 (gxv_mort_subtable_type1_entry_validate): Conditionalize 1554 unvalidated variables; `setMark', `dontAdvance'. 1555 (gxv_mort_subtable_type1_substTable_validate): 1556 Validate the GID by the min/max GIDs in the validator. 1557 1558 * src/gxvalid/gxvmort2.c 1559 (gxv_mort_subtable_type2_ligActionOffset_validate): 1560 Conditionalize unvalidated variables; `last', `store'. 1561 Checking for overrunning offset is added. 1562 (gxv_mort_subtable_type2_ent…
Large files files are truncated, but you can click here to view the full file