| OLD | NEW |
| (Empty) | |
| 1 2010-02-13 Werner Lemberg <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <ken.sharp@artifex.com> |
| 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 <ken.sharp@artifex.com> |
| 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 <wl@gnu.org> |
| 84 |
| 85 * devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define. |
| 86 |
| 87 2010-02-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <ken.sharp@artifex.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <skyul@company100.net> |
| 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 <ken.sharp@artifex.com> |
| 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 <op_setcurrentpoint>: Handle `flex_state' correctly. |
| 170 |
| 171 2010-01-05 Werner Lemberg <wl@gnu.org> |
| 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 <giles@ghostscript.com> |
| 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 <wl@gnu.org> |
| 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 <ken.sharp@artifex.com> |
| 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 <ken.sharp@artifex.com> |
| 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 <wonko@opera.com> |
| 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 <mkl@pengutronix.de> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <ken.sharp@artifex.com> |
| 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 <op_setcurrentpoint>: Comment out code. |
| 309 |
| 310 2009-12-14 Bram Tassyns <bramt@enfocus.be> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <John.Tytgat@esko.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 349 |
| 350 Fix Savannah bug #28036. |
| 351 |
| 352 * src/type1/t1afm.c (t1_get_index): Fix comparison. |
| 353 |
| 354 2009-11-16 Werner Lemberg <wl@gnu.org> |
| 355 |
| 356 Fix compiler warnings. |
| 357 Reported by Kevin Blenkinsopp <arqon@promode.org>. |
| 358 |
| 359 * src/sfnt/ttload.c (check_table_dir): Use proper data type. |
| 360 |
| 361 2009-11-15 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 377 |
| 378 Fix compiler warning. |
| 379 Reported by Jeremy Manson <jeremy.manson@gmail.com>. |
| 380 |
| 381 * src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'. |
| 382 |
| 383 2009-11-04 Werner Lemberg <wl@gnu.org> |
| 384 |
| 385 Remove compiler warning. |
| 386 Reported by Sean McBride <sean@rogue-research.com>. |
| 387 |
| 388 * src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to |
| 389 `int', as specified in the printf(3) man page. |
| 390 |
| 391 2009-11-04 Werner Lemberg <wl@gnu.org> |
| 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 <bramt@enfocus.be> |
| 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 <wl@gnu.org> |
| 413 |
| 414 Return correct `linearHoriAdvance' value for embedded TT bitmaps too. |
| 415 Reported by Jeremy Manson <jeremy.manson@gmail.com>. |
| 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 <wl@gnu.org> |
| 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 <bramt@enfocus.be> |
| 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 <flintning@163.com> |
| 442 |
| 443 Fix handling of `get' and `put' CFF instructions. |
| 444 |
| 445 * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_get, |
| 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 <wl@gnu.org> |
| 452 |
| 453 Fix handling of `dup' CFF instruction. |
| 454 Problem and solution reported by Ning Dong <flintning@163.com>. |
| 455 |
| 456 * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>: |
| 457 Increase `args' by 2, not 1. |
| 458 |
| 459 2009-10-10 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 482 |
| 483 * docs/CHANGES, docs/release: Updated. |
| 484 |
| 485 2009-10-10 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <ft2build.h> to handle |
| 584 FT_ADVANCES_H correctly in multi build. |
| 585 |
| 586 2009-09-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 595 |
| 596 * docs/CHANGES: Updated. |
| 597 |
| 598 2009-09-12 Werner Lemberg <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <bramt@enfocus.be> |
| 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 <John.Tytgat@esko.com> |
| 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 <wl@gnu.org> |
| 734 |
| 735 Fix rendering of horizontally compressed CFFs. |
| 736 Bug reported by Ivan Nincic <inincic@pdftron.com>. |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <fabrice@bellet.info> |
| 1870 |
| 1871 Fix Redhat bugzilla #513582 and Savannah bug #26849. |
| 1872 |
| 1873 * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) <FTC_INLINE>: Fix |
| 1874 aliasing bug. |
| 1875 |
| 1876 2009-07-19 Werner Lemberg <wl@gnu.org> |
| 1877 |
| 1878 Document recent library changes. |
| 1879 |
| 1880 * docs/CHANGES: Do it. |
| 1881 |
| 1882 2009-07-17 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 1893 |
| 1894 * docs/release: Updated. |
| 1895 |
| 1896 2009-07-15 Werner Lemberg <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 1920 |
| 1921 Fix Savannah bug #27026. |
| 1922 |
| 1923 * builds/win32/vc2005/freetype.sln: Use correct version number. |
| 1924 |
| 1925 2009-07-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 1947 |
| 1948 smooth: Check glyph size by width/height, instead of pitch/height. |
| 1949 Suggested by der Mouse <mouse@Rodents-Montreal.ORG>. |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 1975 |
| 1976 Prevent the overflows by a glyph with too many points or contours. |
| 1977 The bug is reported by Boris Letocha <b.letocha@gmc.net>. See |
| 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 <bramt@enfocus.be> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 2035 |
| 2036 * devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define. |
| 2037 |
| 2038 2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 2075 |
| 2076 [truetype] Remove TT_SubGlyphRec. |
| 2077 |
| 2078 * src/truetype/ttobjs.h (TT_SubGlyphRec): Removed, unused. |
| 2079 |
| 2080 2009-06-26 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 2143 |
| 2144 * src/pshinter/pshrec.c: Use PSH_Err_Ok. |
| 2145 |
| 2146 2009-06-21 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 2180 |
| 2181 * src/autofit/aflatin.c (af_latin_metrics_check_digits): Fix |
| 2182 compiler warning. |
| 2183 |
| 2184 2009-06-20 Werner Lemberg <wl@gnu.org> |
| 2185 |
| 2186 * builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6. |
| 2187 |
| 2188 2009-06-19 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 2212 |
| 2213 * docs/CHANGES: Updated. |
| 2214 |
| 2215 2009-06-18 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <notzed@gmail.com> |
| 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 <harry@kdevelop.org> |
| 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 <wl@gnu.org> |
| 2307 |
| 2308 Simplify math. |
| 2309 Suggested by Alexei Podtelezhnikov <apodtele@gmail.com>. |
| 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 <wl@gnu.org> |
| 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 <cloos@jhcloos.com> |
| 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 <wl@gnu.org> |
| 2332 |
| 2333 Remove compiler warning. |
| 2334 Reported by Krzysztof Kowalczyk <kkowalczyk@gmail.com>. |
| 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 <wl@gnu.org> |
| 2340 |
| 2341 Make compilation work with FT_CONFIG_OPTION_USE_ZLIB not defined. |
| 2342 Reported by Krzysztof Kowalczyk <kkowalczyk@gmail.com>. |
| 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 <wl@gnu.org> |
| 2349 |
| 2350 Improve b/w rasterizer. |
| 2351 Problem reported by Krzysztof Kotlenga <pocek@users.sf.net>. |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 2366 |
| 2367 Document recent changes to ftview. |
| 2368 |
| 2369 * docs/CHANGES: Do it. |
| 2370 |
| 2371 2009-04-27 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <karl@gnu.org> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <oran@monfort.co.il> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 2869 |
| 2870 Ignore empty contours in CFF glyphs. |
| 2871 |
| 2872 Problem reported by Albert Astals Cid <aacid@kde.org>. |
| 2873 |
| 2874 * src/cff/cffgload.c (cff_builder_close_contour): Synchronize with |
| 2875 t1_builder_close_contour. |
| 2876 |
| 2877 2009-03-21 Werner Lemberg <wl@gnu.org> |
| 2878 |
| 2879 Another redundant header inclusion. |
| 2880 |
| 2881 * src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041. |
| 2882 |
| 2883 2009-03-21 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 2899 |
| 2900 Fix `make multi' run. |
| 2901 |
| 2902 * src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H. |
| 2903 |
| 2904 2009-03-20 Werner Lemberg <wl@gnu.org> |
| 2905 |
| 2906 Fix Savannah bug #25923. |
| 2907 |
| 2908 * src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo. |
| 2909 |
| 2910 2009-03-20 Werner Lemberg <wl@gnu.org> |
| 2911 |
| 2912 Protect against too large glyphs. |
| 2913 |
| 2914 Problem reported by Tavis Ormandy <taviso@google.com>. |
| 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 <wl@gnu.org> |
| 2920 Tavis Ormandy <taviso@google.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 2936 |
| 2937 Protect against invalid SID values in CFFs. |
| 2938 |
| 2939 Problem reported by Tavis Ormandy <taviso@google.com>. |
| 2940 |
| 2941 * src/cff/cffload.c (cff_charset_load): Reject SID values larger |
| 2942 than 64999. |
| 2943 |
| 2944 2009-03-19 Vincent Richomme <richom.v@free.fr> |
| 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 <wl@gnu.org> |
| 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 <richom.v@free.fr> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <steve.langasek@canonical.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 3002 |
| 3003 * builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'. |
| 3004 |
| 3005 2009-03-12 Werner Lemberg <wl@gnu.org> |
| 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 <toftdal@gmail.com> |
| 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 <bramt@enfocus.be> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 3103 |
| 3104 * src/base/Jamfile: Fix handling of ftadvanc.c. |
| 3105 Reported by Oran Agra <oran@monfort.co.il>. |
| 3106 |
| 3107 2009-03-10 Vincent Richomme <richom.v@free.fr> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 3127 |
| 3128 * src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c. |
| 3129 |
| 3130 2009-03-09 Alexey Kryukov <anagnost@yandex.ru> |
| 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 <wl@gnu.org> |
| 3161 |
| 3162 * builds/unix/configure.raw (version_info): Set to 9:20:3. |
| 3163 |
| 3164 2009-03-03 David Turner <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <anagnost@yandex.ru> |
| 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 <wl@gnu.org> |
| 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 <matt@godbolt.org> |
| 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 <wl@gnu.org> |
| 3254 |
| 3255 * src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'. |
| 3256 Reported by David Bevan <dbevan@emtex.com>. |
| 3257 |
| 3258 2009-02-09 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 3282 |
| 3283 Fix SCANCTRL handling in TTFs. |
| 3284 Problem reported by Alexey Kryukov <anagnost@yandex.ru>. |
| 3285 |
| 3286 * src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling. |
| 3287 |
| 3288 2009-01-23 Werner Lemberg <wl@gnu.org> |
| 3289 |
| 3290 Move FT_Get_FSType_Flags to a separate file. |
| 3291 Problem reported by Mickey Gabel <mickey@monfort.co.il>. |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 3305 |
| 3306 * builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error |
| 3307 messages ending without "\n". |
| 3308 |
| 3309 2009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mmlr@mlotz.ch> |
| 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 <wl@gnu.org> |
| 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 <rghoshal@emtex.com>. |
| 3336 |
| 3337 2009-01-18 Werner Lemberg <wl@gnu.org> |
| 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 <tructv@necsv.com>. |
| 3345 |
| 3346 2009-01-18 Werner Lemberg <wl@gnu.org> |
| 3347 |
| 3348 * include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix |
| 3349 documentation. Problem reported by Truc Truong <tructv@necsv.com>. |
| 3350 |
| 3351 * docs/CHANGES: Updated. |
| 3352 |
| 3353 2009-01-14 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 3378 |
| 3379 * builds/toplevel.mk (dist): Compress better. |
| 3380 |
| 3381 2009-01-13 Werner Lemberg <wl@gnu.org> |
| 3382 |
| 3383 * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation |
| 3384 with C++. |
| 3385 |
| 3386 2009-01-13 Werner Lemberg <wl@gnu.org> |
| 3387 |
| 3388 Don't use stdlib.h and friends directly. |
| 3389 Reported by Mickey Gabel <mickey@monfort.co.il>. |
| 3390 |
| 3391 * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/. |
| 3392 |
| 3393 * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h: |
| 3394 s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/. |
| 3395 |
| 3396 * src/autofit/aftypes.h, src/autofit/afhints.c, |
| 3397 src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/ |
| 3398 |
| 3399 * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h. |
| 3400 |
| 3401 2009-01-12 Werner Lemberg <wl@gnu.org> |
| 3402 |
| 3403 Avoid compiler warnings. |
| 3404 |
| 3405 * */*: s/do ; while ( 0 )/do { } while ( 0 )/. |
| 3406 Reported by Sean McBride <sean@rogue-research.com>. |
| 3407 |
| 3408 2009-01-12 Werner Lemberg <wl@gnu.org> |
| 3409 |
| 3410 Fix stdlib dependencies. |
| 3411 |
| 3412 Problem reported by Mickey Gabel <mickey@monfort.co.il>. |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <netzimme@aol.com> |
| 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 <wl@gnu.org> |
| 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 <chint@necsv.com>. |
| 3452 |
| 3453 2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 3476 |
| 3477 * docs/CHANGES: Document new key `a' in ftdiff. |
| 3478 |
| 3479 2009-01-06 Werner Lemberg <wl@gnu.org> |
| 3480 |
| 3481 * autogen.sh: Don't use GNUisms while calling sed. Problem reported |
| 3482 by Sean McBride. |
| 3483 |
| 3484 2009-01-06 Werner Lemberg <wl@gnu.org> |
| 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 <chint@necsv.com>. |
| 3489 |
| 3490 2009-01-06 Diego Pettenò <flameeyes@gmail.com> |
| 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 <sean@rogue-research.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <chint@necsv.com>. |
| 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 <hongbo@njstar.com> |
| 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 <wl@gnu.org> |
| 3576 |
| 3577 * docs/CHANGES: Updated. |
| 3578 |
| 3579 2008-12-18 Bevan, David <dbevan@emtex.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@nu.org> |
| 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 <wl@nu.org> |
| 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 <wl@gnu.org> |
| 3685 |
| 3686 GDEF tables need `glyph_count' too for validation. Problem reported |
| 3687 by Chi Nguyen <chint@necsv.com>. |
| 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 <wl@gnu.org> |
| 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 <cloos@jhcloos.com> |
| 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 <cloos@jhcloos.com> |
| 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 <wl@gnu.org> |
| 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 <netzimme@aol.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <miszka@limes.com.pl>. |
| 3740 |
| 3741 2008-11-12 Tor Andersson <tor.andersson@gmail.com> |
| 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 <wl@gnu.org> |
| 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 <wenlin@wenlin.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <mozilla@weilbacher.org>. |
| 3795 |
| 3796 2008-10-15 Graham Asher <graham.asher@btinternet.com> |
| 3797 |
| 3798 * src/sfnt/ttpost.c (tt_post_default_names): Add `const'. |
| 3799 |
| 3800 2008-10-15 David Turner <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <graham.asher@btinternet.com> |
| 3811 |
| 3812 * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of |
| 3813 `underline_position'. |
| 3814 |
| 3815 2008-10-12 Werner Lemberg <wl@gnu.org> |
| 3816 |
| 3817 * docs/CHANGES: Updated. |
| 3818 |
| 3819 2008-10-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <John.Tytgat@esko.com> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 3879 |
| 3880 * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler |
| 3881 warnings. |
| 3882 |
| 3883 2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <bramt@enfocus.be> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <John.Tytgat@esko.com> |
| 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 <wl@gnu.org> |
| 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 <stl@nuwen.net>. |
| 4024 |
| 4025 2008-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <stl@nuwen.net>. |
| 4037 |
| 4038 * docs/CHANGES: Document it. |
| 4039 |
| 4040 2008-09-20 Werner Lemberg <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <gww@silcom.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 4137 |
| 4138 * src/base/ftbase.c: Include ftadvanc.c. |
| 4139 |
| 4140 2008-09-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <david@freetype.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <bramt@enfocus.be> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 4364 |
| 4365 * src/cff/cffgload.c (cff_decoder_prepare, |
| 4366 cff_decoder_parse_charstrings): Improve debug output. |
| 4367 |
| 4368 2008-07-22 Martin McBride <mmcbride@emtex.com> |
| 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 <Jon.Foster@cabot.co.uk> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 4557 |
| 4558 * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21. |
| 4559 Reported by Peter Weilbacher <mozilla@weilbacher.org>. |
| 4560 |
| 4561 * docs/CHANGES: Updated. |
| 4562 |
| 4563 2008-06-15 George Williams <gww@silcom.com> |
| 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 <wl@gnu.org> |
| 4570 |
| 4571 * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly |
| 4572 from clobbering. Patch from Savannah bug report #23556. |
| 4573 |
| 4574 * docs/CHANGES: Document it. |
| 4575 |
| 4576 2008-06-10 Werner Lemberg <wl@gnu.org> |
| 4577 |
| 4578 * autogen.sh: Add option `--install' to libtoolize. |
| 4579 |
| 4580 2008-06-10 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 4612 |
| 4613 * src/base/ftobjs.c (open_face): Check `clazz->init_face' and |
| 4614 `clazz->done_face'. |
| 4615 |
| 4616 2008-06-09 VaDiM <s_sliva@rambler.ru> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 4668 |
| 4669 * include/freetype/ftcache.h (FTC_FaceID): Change type back to |
| 4670 FT_Pointer. Reported by Ian Britten <britten@caris.com>. |
| 4671 |
| 4672 2008-06-02 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 4688 |
| 4689 * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H, |
| 4690 FT_INCREMENTAL_H): Added. |
| 4691 |
| 4692 2008-05-28 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 4705 |
| 4706 * src/tools/docmaker/tohtml.py (block_footer_start, |
| 4707 block_footer_middle): Beautify output. |
| 4708 |
| 4709 2008-05-25 Werner Lemberg <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <samh> |
| 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 <wl@gnu.org> |
| 4756 |
| 4757 * docs/CHANGES: Updated. |
| 4758 |
| 4759 2008-05-16 Sergey Tolstov <stolstov@esri.com> |
| 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 <wl@gnu.org> |
| 4770 |
| 4771 * src/psaux/t1decode.c (t1_decoder_parse_charstrings) |
| 4772 <op_closepath>: `closepath' without a path is a no-op, not an error |
| 4773 (cf. the PS reference manual). |
| 4774 |
| 4775 Reported by Martin McBride. |
| 4776 |
| 4777 2008-05-15 Werner Lemberg <wl@gnu.org> |
| 4778 |
| 4779 * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated. |
| 4780 |
| 4781 2008-05-15 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 4868 |
| 4869 * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if |
| 4870 integer part is zero. |
| 4871 |
| 4872 2008-04-01 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <ldarby> |
| 4919 |
| 4920 * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from |
| 4921 Savannah bug #22675. |
| 4922 |
| 4923 2008-03-13 Derek Clegg <dclegg@apple.com> |
| 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 <VYV03354@nifty.ne.jp> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <victor.stinner@haypocalc.com> |
| 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 <jon@number-none.com> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 4987 |
| 4988 * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other |
| 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 <wl@gnu.org> |
| 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 <sylvain.pasche@gmail.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 5019 |
| 5020 * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove. |
| 5021 |
| 5022 2008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com> |
| 5023 |
| 5024 * src/raster/ftraster.c (ft_black_init) |
| 5025 [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation. |
| 5026 |
| 5027 2008-01-10 Werner Lemberg <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 5044 |
| 5045 * src/smooth/ftgrays.c (gray_raster_render): Check `outline' |
| 5046 correctly. |
| 5047 |
| 5048 2007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <graham.asher@btinternet.com> |
| 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 <sean@rogue-research.com> |
| 5139 |
| 5140 * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler |
| 5141 warning. |
| 5142 |
| 5143 2007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <CoreServices/CoreServices.h> and |
| 5187 <ApplicationServices/ApplicationServices.h> instead of |
| 5188 all-in-one header file <Carbon/Carbon.h>. |
| 5189 |
| 5190 Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple |
| 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 <wl@gnu.org> |
| 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 <dasvo@planeta@cz> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <gww@silcom.com> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <gww@silcom.com> |
| 5339 |
| 5340 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of |
| 5341 SingleSubstFormat1. |
| 5342 |
| 5343 2007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <gww@silcom.com> |
| 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 <wl@gnu.org> |
| 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 <gww@silcom.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 5421 |
| 5422 * docs/CHANGES: Updated. |
| 5423 |
| 5424 2007-07-16 Derek Clegg <dclegg@apple.com> |
| 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 <dclegg@apple.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 5492 |
| 5493 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize |
| 5494 `round' to pacify compiler. |
| 5495 |
| 5496 2007-07-02 Werner Lemberg <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <b.rahul.pm@gmail.com> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 5561 |
| 5562 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28 |
| 5563 change. |
| 5564 |
| 5565 2007-06-19 Werner Lemberg <wl@gnu.org> |
| 5566 |
| 5567 * src/type1/t1load.c (parse_encoding): Handle one more error. |
| 5568 |
| 5569 2007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 5616 |
| 5617 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit |
| 5618 logic. |
| 5619 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <dmitry@codeweavers.com> |
| 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 <dmitry@codeweavers.com> |
| 5668 |
| 5669 * builds/win32/ftdebug.c: Unify debug level handling with other |
| 5670 platforms. |
| 5671 |
| 5672 2007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 5733 |
| 5734 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents. |
| 5735 |
| 5736 2007-06-10 David Turner <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <ismail@pardus.org.tr> |
| 5844 |
| 5845 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning. |
| 5846 |
| 5847 2007-06-02 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <sean@rogue-research.com> |
| 5862 |
| 5863 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed, |
| 5864 unused. |
| 5865 |
| 5866 2007-06-01 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <b.rahul.pm@gmail.com> for pointing |
| 5893 this out! |
| 5894 |
| 5895 2007-05-25 Werner Lemberg <wl@gnu.org> |
| 5896 |
| 5897 * docs/CHANGES: Updated. |
| 5898 |
| 5899 2007-05-24 Werner Lemberg <wl@gnu.org> |
| 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 <graham.asher@btinternet.com> |
| 5905 |
| 5906 * src/truetype/ttobjs.c (tt_size_ready_bytecode) |
| 5907 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused. |
| 5908 |
| 5909 2007-05-22 David Turner <david@freetype.org> |
| 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 <ismail@pardus.org.tr> |
| 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 <wl@gnu.org> |
| 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 <dclegg@apple.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <ctypes.h>. |
| 5970 |
| 5971 2007-05-15 Graham Asher <graham.asher@btinternet.com> |
| 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 <dclegg@apple.com> |
| 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 <david@freetype.org> |
| 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 <graham.asher@btinternet.com> |
| 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 <wl@gnu.org> |
| 6023 |
| 6024 * builds/win32/visualce/freetype.sln: Removed, as requested by |
| 6025 Vincent. |
| 6026 |
| 6027 2007-05-04 Vincent RICHOMME <richom.v@free.fr> |
| 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 <harry@kdevelop.org> |
| 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 <wl@gnu.org> |
| 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 <victor.stinner@inl.fr> |
| 6046 |
| 6047 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading |
| 6048 `cmap'. |
| 6049 |
| 6050 2007-04-27 Werner Lemberg <wl@gnu.org> |
| 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 <victor.stinner@haypocalc.com>. |
| 6055 (TT_Process_Simple_Glyph): Synchronize variable types. |
| 6056 |
| 6057 2007-04-26 Werner Lemberg <wl@gnu.org> |
| 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 <b.letocha@cz.gmc.net> |
| 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 <horakm@centrum.cz> |
| 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 <wl@gnu.org> |
| 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 <horakm@centrum.cz> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 6134 |
| 6135 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the |
| 6136 padding. |
| 6137 |
| 6138 2007-03-28 Werner Lemberg <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <cloos@jhcloos.com>. |
| 6243 |
| 6244 |
| 6245 2007-03-05 Werner Lemberg <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <maximilian.schwerin@buelowssiege.de>. |
| 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 <daniel-gl@gmx.net>. |
| 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 <joh_walt@yahoo.de>. |
| 6267 |
| 6268 2007-02-21 David Turner <david@freetype.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 6274 |
| 6275 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory |
| 6276 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>. |
| 6277 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto. |
| 6278 |
| 6279 2007-02-16 Werner Lemberg <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <palfrey@tevp.net> |
| 6355 |
| 6356 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL |
| 6357 pointer. |
| 6358 |
| 6359 2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <ftmac.c>. |
| 6378 |
| 6379 2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <apodtele@gmail.com> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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) <AF_USE_WARPER>: Replace |
| 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 <wl@gnu.org> |
| 6470 |
| 6471 * docs/release: Updated -- Savannah uses a new uploading scheme. |
| 6472 |
| 6473 2007-01-25 David Turner <david@freetype.org> |
| 6474 |
| 6475 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix. |
| 6476 |
| 6477 * src/cff/cffgload.c (cff_decoder_parse_charstrings) |
| 6478 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty |
| 6479 functions. |
| 6480 |
| 6481 * docs/CHANGES: Document light auto-hinting improvement. |
| 6482 |
| 6483 2007-01-25 Werner Lemberg <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 6515 |
| 6516 * ChangeLog: Split off older entries into... |
| 6517 * ChangeLog.22: This new file. |
| 6518 |
| 6519 2007-01-21 Werner Lemberg <wl@gnu.org> |
| 6520 |
| 6521 * docs/CHANGES: Document SHZ fix. |
| 6522 |
| 6523 2007-01-21 George Williams <gww@silcom.com> |
| 6524 |
| 6525 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom |
| 6526 points. |
| 6527 |
| 6528 2007-01-21 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 6543 |
| 6544 * docs/release: Updated. |
| 6545 |
| 6546 2007-01-16 David Turner <david@freetype.org> |
| 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 <TetiSoft@apg.lahn.de> |
| 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 <TetiSoft@apg.lahn.de> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 6577 |
| 6578 * docs/CHANGES, docs/INSTALL.MAC: Improvements. |
| 6579 |
| 6580 2007-01-13 Werner Lemberg <wl@gnu.org> |
| 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 <dclegg@apple.com> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <dclegg@apple.com> |
| 6670 |
| 6671 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed-point |
| 6672 values. |
| 6673 |
| 6674 2007-01-08 David Turner <david@freetype.org> |
| 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 <freetype/ftgasp.h>. |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 6701 |
| 6702 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts. |
| 6703 |
| 6704 2007-01-06 Werner Lemberg <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 6822 |
| 6823 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): |
| 6824 Remove compiler warning. |
| 6825 |
| 6826 2007-01-02 David Turner <david@freetype.org> |
| 6827 |
| 6828 * src/sfnt/sfobjs.c: Add documentation comment. |
| 6829 |
| 6830 2006-12-31 Masatake YAMATO <jet@gyve.org> |
| 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 <david@freetype.org> |
| 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 <anders@kaseorg.com> |
| 6847 |
| 6848 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter) |
| 6849 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo. |
| 6850 |
| 6851 2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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/otv
mod.c?r1=1.4&r2=1.5 |
| 6856 |
| 6857 2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 6885 |
| 6886 * builds/toplevel.mk (version): Protect against `distclean' target. |
| 6887 |
| 6888 2006-12-09 Werner Lemberg <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 6898 |
| 6899 * builds/toplevel.mk (dist): Extract version number from freetype.h. |
| 6900 |
| 6901 2006-12-08 Vladimir Volovich <vvv@vsu.ru> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 6913 |
| 6914 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c. |
| 6915 |
| 6916 2006-12-01 Werner Lemberg <wl@gnu.org> |
| 6917 |
| 6918 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are |
| 6919 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>. |
| 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 <david@freetype.org> |
| 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 <hanser@club-internet.fr> |
| 6946 |
| 6947 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer. |
| 6948 |
| 6949 2006-11-25 David Turner <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <james.su@gmail.com> |
| 7049 |
| 7050 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout |
| 7051 also. |
| 7052 |
| 7053 2006-11-03 Werner Lemberg <wl@gnu.org> |
| 7054 |
| 7055 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'. |
| 7056 |
| 7057 2006-11-02 David Turner <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <zsu@novell.com> |
| 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 <david@freetype.org> |
| 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) <Populate>: Ditto, to replace inefficient loop. |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 7188 |
| 7189 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for |
| 7190 development. |
| 7191 |
| 7192 2006-10-03 Jens Claudius <jens.claudius@yahoo.com> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <freetype/ftlcdfil.h>. |
| 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 <david@freetype.org> |
| 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 <garrick@digitalanarchy.com> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 7350 |
| 7351 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with |
| 7352 64bit processors. |
| 7353 |
| 7354 2006-09-03 Werner Lemberg <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <werner@suse.de> |
| 7391 |
| 7392 * configure: Make it possible to handle configure options which |
| 7393 have strings containing spaces. |
| 7394 |
| 7395 2006-08-27 David Turner <david@freetype.org> |
| 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 <jens.claudius@yahoo.com> |
| 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 <wl@gnu.org> |
| 7438 |
| 7439 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h. |
| 7440 Reported by Jens. |
| 7441 |
| 7442 2006-08-22 Jens Claudius <jens.claudius@yahoo.com> |
| 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 <jens.claudius@yahoo.com> |
| 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 <david@freetype.org> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <jens.claudius@yahoo.com> |
| 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 <jens.claudius@yahoo.com> |
| 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 <jens.claudius@yahoo.com> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 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 <jens.claudius@yahoo.com> |
| 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 <jens.claudius@yahoo.com> |
| 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 <eugen@univ.kiev.ua> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <Endian.h> for byteorder macros for non |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 7777 |
| 7778 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of |
| 7779 errors. |
| 7780 |
| 7781 2006-06-07 David Turner <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <bw@imaginengine.com> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <mpsuzuki@hiroshima-u.ac.jp> |
| 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 <wl@gnu.org> |
| 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 <david@freetype.org> |
| 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 <wl@gnu.org> |
| 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 <wl@gnu.org> |
| 7930 |
| 7931 * docs/PROBLEMS: Updated icl issues. |
| 7932 |
| 7933 ---------------------------------------------------------------------------- |
| 7934 |
| 7935 Copyright 2006-2015 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: |
| OLD | NEW |