12005-06-08 Werner Lemberg <wl@gnu.org> 2 3 4 * Version 2.1.10 released. 5 ========================== 6 7 8 * src/pcf/readme: Renamed to... 9 * src/pcf/README: This. 10 112005-06-07 Detlef Würkner <TetiSoft@apg.lahn.de> 12 13 * builds/amiga/*: Added copyright notes, reworked some comments. 14 152005-06-05 Werner Lemberg <wl@gnu.org> 16 17 * Add copyright notices to all files which don't have one. 18 19 * docs/license.txt: Renamed to... 20 * docs/LICENSE.TXT: This. 21 * docs/FTL.txt: Renamed to... 22 * docs/FTL.TXT: This. 23 * docs/GPL.txt: Renamed to... 24 * docs/GPL.TXT: This. 25 26 * docs/PATENTS: Slightly reworded. Suggested by Sylvain Beucler 27 <beuc@gnu.org>. 28 292005-06-04 Werner Lemberg <wl@gnu.org> 30 31 * include/freetype/ftimage.h (FT_Outline_MoveToFunc, 32 FT_Outline_LineToFunc, FT_Outline_ConicToFunc, 33 FT_Outline_CubicToFunc, FT_Raster_RenderFunc), 34 include/freetype/ftrender.h (FT_Glyph_TransformFunc, 35 FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Don't use 36 `const' to stay compatible with FreeType 2.1.9. 37 382005-06-01 Adam D. Moss <adam@gimp.org> 39 40 * src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from 41 2004-07-11; this gives much better results under normal 42 circumstances. 43 442005-05-30 Chia I Wu <b90201047@ntu.edu.tw> 45 46 * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor 47 documentation improvements. 48 49 * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix typos. 50 51 * src/base/ftbitmap.c (FT_Bitmap_Embolden): Add support for bitmap 52 of pixel_mode FT_PIXEL_MODE_GRAY2 or FT_PIXEL_MODE_GRAY4. 53 If xstr is larger than 8 and bitmap is of pixel_mode 54 FT_PIXEL_MODE_MONO, set xstr to 8 instead of returning error. 55 562005-05-29 Chia I Wu <b90201047@ntu.edu.tw> 57 58 * src/base/ftbitmap.c (FT_Bitmap_Embolden): Fix emboldening bitmap 59 of mode FT_PIXEL_MODE_GRAY. Also add support for mode 60 FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V. 61 (ft_bitmap_assure_buffer): FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V 62 should have ppb (pixel per byte) 1. 63 Zero the padding when there's no need to allocate memory. 64 65 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle slot->advance 66 too. 67 More suited emboldening strength. 68 692005-05-28 Chia I Wu <b90201047@ntu.edu.tw> 70 71 * src/base/ftbitmap.c (FT_Bitmap_Embolden): Handle negative pitch. 72 Handle FT_PIXEL_MODE_GRAY with num_gray != 256. 73 Improve speed for FT_PIXEL_MODE_GRAY. 74 (ft_bitmap_assure_buffer): Accept FT_PIXEL_MODE_LCD and 75 FT_PIXEL_MODE_LCD_V. 76 772005-05-27 Chia I Wu <b90201047@ntu.edu.tw> 78 79 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Initialize `error'. 80 81 * src/base/ftobjs.c (ft_cmap_done_internal): New function. 82 (FT_CMap_Done): Remove cmap from cmap list. 83 (destroy_charmaps, FT_CMap_New): Don't call FT_CMap_Done but 84 ft_cmap_done_internal. 85 862005-05-26 Werner Lemberg <wl@gnu.org> 87 88 * docs/GPL.txt: Update postal address of FSF. 89 902005-05-26 Chia I Wu <b90201047@ntu.edu.tw> 91 92 * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Improve 93 documentation. 94 95 * src/base/ftsynth.c (FT_BOLD_THRESHOLD): Removed. 96 (FT_GlyphSlot_Embolden): Check whether slot is bitmap owner. 97 Always modify the metrics. 98 992005-05-24 Werner Lemberg <wl@gnu.org> 100 101 * docs/CHANGES: Updated. 102 1032005-05-24 Chia I Wu <b90201047@ntu.edu.tw> 104 105 * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration. 106 107 * include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration. 108 109 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary 110 function. 111 (FT_Bitmap_Embolden): New function. 112 113 * src/base/ftoutln.c (FT_Outline_Embolden): New function. 114 115 * src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and 116 FT_TRIGONOMETRY_H but FT_BITMAP_H. 117 (FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or 118 FT_Bitmap_Embolden. 119 1202005-05-24 Werner Lemberg <wl@gnu.org> 121 122 * configure: Always remove config.mk, builds/unix/unix-def.mk, and 123 builds/unix/unix-cc.mk. This fixes repeated calls of the script. 124 Reported by Nelson Beebe and Behdad Esfahbod. 125 126 * README.CVS: Mention file permissions. 127 1282005-05-23 Werner Lemberg <wl@gnu.org> 129 130 * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk 131 (CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove 132 -fno-strict-aliasing. 133 134 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c -- 135 it is currently loaded from ttsbit.c. 136 1372005-05-23 Behdad Esfahbod <behdad@cs.toronto.edu> 138 139 Say you have `(Foo*)x' and want to assign, pass, or return it as 140 `(Bar*)'. If you simply say `x' or `(Bar*)x', then the C compiler 141 would warn you that type casting incompatible pointer types breaks 142 strict-aliasing. The solution is to cast to `(void*)' instead which 143 is the generic pointer type, so the compiler knows that it should 144 make no strict-aliasing assumption on `x'. But the problem with 145 `(void*)x' is that seems like in C++, unlike C, `void*' is not a 146 generic pointer type and assigning `void*' to `Bar*' without a cast 147 causes an error. The solution is to cast to `Bar*' too, with 148 `(Bar*)(void*)x' as the result -- this is what the patch does. 149 150 * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), 151 include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove 152 cast on lvalue, use a temporary pointer instead. 153 Cast temporarily to (void*) to not break strict aliasing. 154 155 * include/freetype/internal/ftmemory.h (FT_MEM_ALLOC, 156 FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE), 157 src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*) 158 to not break strict aliasing. 159 160 * src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information. 161 162 * builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing. 163 1642005-05-23 David Turner <dturner@freetype.org> 165 166 Fix Savannah bug #12213 (incorrect behaviour of the cache sub-system 167 in low-memory conditions). 168 169 * include/freetype/cache/ftccache.h (FTC_CACHE_TRYLOOP, 170 FTC_CACHE_TRYLOOP_END): New macros. 171 172 * src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c 173 (ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACHE_TRYLOOP_END. 174 1752005-05-23 Werner Lemberg <wl@gnu.org> 176 177 * src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but... 178 (BASE_EXT_SRC): Here. 179 1802005-05-22 Werner Lemberg <wl@gnu.org> 181 182 * src/base/ftrfork.c (raccess_guess_apple_generic): Mark 183 `version_number' and `entry_length' as unused. 184 (raccess_guess_linux_double_from_file_name): Remove `memory'. 185 (raccess_make_file_name): Mark `error' as unused. 186 187 * src/bdf/bdflib.c (_bdf_parse_properties): Remove `memory'. 188 189 * src/cid/cidobjs.c (cid_face_init): Remove `psnames'. 190 191 * src/sfnt/sfobjs.c (sfnt_load_face): Remove `memory'. 192 193 * src/truetype/ttgxvar.c (ft_var_readpackedpoints, 194 ft_var_readpackeddeltas, ft_var_load_avar): Mark `error' as unused. 195 196 * src/base/rules.mk (BASE_SRC): Add ftsynth.c. 197 1982005-05-21 David Turner <david@freetype.org> 199 200 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix a bug that 201 produced unpleasant artefacts when trying to embolden very sharp 202 corners. 203 2042005-05-20 Werner Lemberg <wl@gnu.org> 205 206 * docs/CHANGES: Updated. 207 2082005-05-20 Chia I Wu <b90201047@ntu.edu.tw> 209 210 * src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H 211 but FT_BITMAP_H. 212 (FT_Bitmap_Copy): New function (from ftglyph.c). 213 214 * include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public 215 definition. 216 217 * src/base/ftglyph.c: Include FT_BITMAP_H. 218 (ft_bitmap_copy): Move to ftbitmap.c. 219 (ft_bitmap_glyph_init): Remove `memory' variable. 220 Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set. 221 (ft_bitmap_glyph_copy): Use FT_Bitmap_Copy. 222 (ft_bitmap_glyph_done): Use FT_Bitmap_Done. 223 (ft_outline_glyph_init): Use FT_Outline_Copy. 224 225 * src/base/ftoutln.c (FT_Outline_Copy): Handle source == target. 226 (FT_Outline_Done_Internal): Check for valid `memory' pointer. 227 (FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render, 228 FT_Outline_Transform): Check for valid `outline' pointer. 229 230 * src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to 231 face->glyph, otherwise a new second glyph slot cannot be created. 232 (FT_Done_GlyphSlot): Fix memory leak. 233 (FT_Open_Face): Updated -- face->glyph is already managed by 234 FT_New_GlyphSlot. 235 236 * src/type42/t42objs.c (T42_GlyphSlot_Done): Updated. 237 2382005-05-20 Kirill Smelkov <kirr@mns.spb.ru> 239 240 * include/freetype/ftimage.h (FT_Raster_Params), 241 include/freetype/ftoutln.h (FT_Outline_Translate, 242 FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate, 243 FT_Outline_Transform): Decorate parameters with `const' where 244 appropriate. 245 Update all callers. 246 247 * src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c 248 (gray_raster_reset): Remove `const' from `pool_base' argument. 249 2502005-05-18 Kirill Smelkov <kirr@mns.spb.ru> 251 252 * src/raster/ftmisc.h: New file. Only needed if ftraster.c is 253 compiled as stand-alone. 254 255 * src/raster/ftraster.c: Add comment how to compile as stand-alone. 256 s/FT_CONFIG_OPTION_STATIC_RASTER/FT_STATIC_RASTER/. 257 s/TT_STATIC_RASTER/FT_STATIC_RASTER/. 258 [_STANDALONE_]: Include ftimage.h and ftmisc.h. 259 (FT_TRACE1, FT_TRACE6, ft_memset, FT_MEM_ZERO): Define 260 conditionally. 261 (Render_Glyph, Render_Gray_Glyph): Return Raster_Err_None (or 262 Raster_Err_Unsupported). 263 (ft_black_new) [_STANDALONE_]: Fix type of `the_raster'. 264 (ft_black_init, ft_black_reset, ft_black_set_mode, ft_black_render): 265 Use `ras', not `raster'. 266 (ft_black_done): Use FT_UNUSED_RASTER. 267 (Horizontal_Sweep_Init, Horizontal_Sweep_Step, 268 Horizontal_Gray_Sweep_Span): Use FT_UNUSED_RASTER. 269 2702005-05-18 Werner Lemberg <wl@gnu.org> 271 272 * docs/announce: Start updating. 273 274 * docs/CHANGES: Updated. 275 2762005-05-16 Vitaliy Pasternak <v_a_pasternak@mail.ru> 277 278 * builds/win32/visualc/freetype.vcproj: Updated. 279 Exclude debug info for `Release' versions to reduce library size. 280 2812005-05-16 Werner Lemberg <wl@gnu.org> 282 283 * src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this 284 is, ignore `aface' completely if face_index < 0. Reported by David 285 Osborn <spam@habitualhiatus.com>. 286 2872005-05-16 Kirill Smelkov <kirr@mns.spb.ru> 288 289 * include/freetype/ftimage.h (FT_Outline_MoveToFunc, 290 FT_Outline_LineTo_Func, FT_Outline_ConicToFunc, 291 FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic, 292 gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to, 293 gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters 294 with `const' where appropriate. 295 2962005-05-11 Kirill Smelkov <kirr@mns.spb.ru> 297 298 * include/freetype/ftimage.h (FT_Raster_RenderFunc), 299 include/freetype/ftrender.h (FT_Glyph_TransformFunc, 300 FT_Renderer_Render_Func, FT_Renderer_TransformFunc), 301 src/base/ftglyph.c (ft_outline_glyph_transform), 302 src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render), 303 src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render), 304 src/smooth/ftsmooth.c (ft_smooth_transform, 305 ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd, 306 ft_smooth_render_lcd_v): Decorate parameters with `const' where 307 appropriate. 308 309 * src/raster/ftraster.c (RASTER_RENDER_POOL): Removed. Obsolete. 310 (ft_black_render): Decorate parameters with `const' where 311 appropriate. 312 3132005-05-11 Werner Lemberg <wl@gnu.org> 314 315 * src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT -> 316 FT_PEEK_USHORT) which caused crashes. Reported by Ismail Donmez 317 <ismail@kde.org.tr>. 318 3192005-05-08 Werner Lemberg <wl@gnu.org> 320 321 * include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE) 322 [__cplusplus]: Fix typo. 323 3242005-05-07 Werner Lemberg <wl@gnu.org> 325 326 Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck 327 Blaskey <listtarget@danbala.com>). 328 329 * src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'. 330 * src/sfnt/ttcmap.c: Use SFNT_Err_Ok where appropriate. 331 332 (tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate, 333 tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use 334 `FT_Error' as return type. 335 (tt_cmap4_validate): Use `FT_Error' as return type. 336 Return error code for unsorted cmap. 337 (tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted 338 cmaps. 339 (tt_face_build_cmaps): Set `unsorted' variable in cmap. 340 3412005-05-07 Werner Lemberg <wl@gnu.org> 342 343 * src/truetype/ttpload.c (tt_face_get_location): Fix typo. 344 3452005-05-06 Werner Lemberg <wl@gnu.org> 346 347 * src/cff/cffobjs.c (cff_face_init): Set ppem value in top 348 dictionary for SFNT-based CFF. 349 3502005-05-05 Werner Lemberg <wl@gnu.org> 351 352 Handle malformed `loca' table entries. 353 354 * docs/TODO: Add some bugs which should be fixed. 355 356 * include/freetype/internal/tttypes.h (TT_FaceRec): Add `glyf_len' 357 element. 358 359 * src/truetype/ttpload.c (tt_face_load_loca): Get length of `glyf' 360 table. 361 (tt_face_get_location): Fix computation of `asize' for malformed 362 `loca' entries. 363 3642005-05-01 David Turner <david@freetype.org> 365 366 * Jamfile: Remove `otvalid' from the list of compiled modules. 367 368 * include/freetype/internal/ftserv.h: Add compiler pragmas to get 369 rid of annoying warnings with Visual C++ compiler in maximum warning 370 mode. 371 372 * src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c, 373 src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c, 374 src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c, 375 src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c, 376 src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: Remove compiler warnings. 377 3782005-04-28 Werner Lemberg <wl@gnu.org> 379 380 * docs/TODO: Updated. 381 3822005-04-24 Werner Lemberg <wl@gnu.org> 383 384 * src/otvalid/otvcommn.c 385 (otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0. 386 3872005-04-16 Werner Lemberg <wl@gnu.org> 388 389 * src/cff/cffobjs.c (cff_face_init): Set default upem value in top 390 font dict also. 391 Handle font matrix settings in subfonts. 392 393 * src/cff/cffgload.c (cff_slot_load): Use the correct font matrix 394 for CID-keyed fonts with subfonts. 395 396 * docs/formats.txt: Updated. 397 3982005-04-14 Kirill Smelkov <kirr@mns.spb.ru> 399 400 * include/freetype/freetype.h (FT_Vector_Transform), 401 include/freetype/ftimage.h (FT_Raster_Params), 402 include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox, 403 FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform, 404 FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render), 405 src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with 406 `const' where appropriate. 407 4082005-04-14 Werner Lemberg <wl@gnu.org> 409 410 * src/type1/t1load.c (parse_charstrings): Catch this non-standard 411 beginning of the /CharStrings dictionary: 412 413 /CharStrings 118 dict def 414 Private begin 415 CharStrings begin 416 417 * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments 418 to call of tt_sbit_decoder_load_bitmap. 419 4202005-04-13 Werner Lemberg <wl@gnu.org> 421 422 * docs/TODO: Updated. 423 424 * autogen.sh: Use `--force' for all commands. 425 4262005-04-09 Werner Lemberg <wl@gnu.org> 427 428 * src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values 429 only if `fitted' is not zero. 430 4312005-04-06 Werner Lemberg <wl@gnu.org> 432 433 * src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]: 434 Fix typo which sometimes causes wrong metrics for the last glyph. 435 4362005-04-04 David Turner <david@freetype.org> 437 438 * devel/ftoption.h, include/freetype/config/ftoption.h 439 (FT_OPTIMIZE_MEMORY): Comment out this macro for the upcoming 2.1.10 440 release. 441 (*_CHESTER_*): Removed. No longer used. 442 443 * src/autofit/afhints.c (af_axis_hints_new_segment, 444 af_axis_hints_new_edge): Small tweak to use less heap memory. 445 4462005-04-03 Werner Lemberg <wl@gnu.org> 447 448 * src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid 449 first line in the font. 450 4512005-04-03 Werner Lemberg <wl@gnu.org> 452 453 * docs/CHANGES, include/freetype/freetype.h: Improve documentation 454 of FT_Set_Pixel_Sizes and FT_Set_Char_Size. 455 4562005-03-26 Detlef Würkner <TetiSoft@apg.lahn.de> 457 458 * builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer 459 offsets after a large read. 460 4612005-03-26 Werner Lemberg <wl@gnu.org> 462 463 * src/autofit/afglobal.c (af_face_globals_get_metrics): 464 s/index/gidx/. 465 466 * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler 467 warnings. 468 469 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c. 470 471 * src/sfnt/ttsbit0.h: Dummy file for build with `make'. 472 4732005-03-26 Detlef Würkner <TetiSoft@apg.lahn.de> 474 475 Update of the Amiga port. 476 477 * builds/amiga/makefile, builds/amiga/makefile.os4, 478 builds/amiga/smakefile: Included the base extension files 479 (ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c). 480 4812005-03-25 Detlef Würkner <TetiSoft@apg.lahn.de> 482 483 Update of the Amiga port. 484 485 * builds/amiga/makefile, builds/amiga/smakefile: Handle new modules. 486 487 * builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK. 488 489 * builds/amiga/README: Updated. 490 491 * builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for 492 AmigaOS4. 493 494 * builds/amiga/include/freetype/config/ftmodule.h: Handle new 495 modules. 496 497 * builds/amiga/src/base/ftdebug.c: Updated to current version of 498 default ftdebug.c. 499 Add various include files and macros to have proper support for 500 both AmigaOS4 and older AmigaOS versions. 501 Don't declare KVPrintF explicitly. 502 Replace getenv with GetVar. 503 Actually enable debugging code. 504 505 * builds/amiga/src/base/ftsystem.c: Major rewrite. 506 5072005-03-23 Werner Lemberg <wl@gnu.org> 508 509 * tests/*: Removed. 510 5112005-03-23 Werner Lemberg <wl@gnu.org> 512 513 * docs/CHANGES, docs/INSTALL.ANY: Updated. 514 515 * include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'. 516 Add `OTvalid'. 517 518 * src/autofit/aferrors.h: New file. 519 520 * src/autofit/afglobal.c, src/autofit/afhints.c, 521 src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/. 522 Include aferrors.h. 523 524 * src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h. 525 526 * src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/. 527 5282005-03-22 David Turner <david@freetype.org> 529 530 * src/autohint/*: Removed. 531 * Jamfile: Updated. 532 5332005-03-15 David Turner <david@freetype.org> 534 535 * src/bdf/bdflib.c: Remove compiler warnings. 536 (hash_rehash, hash_init): Don't call FT_MEM_ZERO. 537 (_bdf_list_t): Add `memory' field. 538 (_bdf_list_init, _bdf_list_done, _bdf_list_ensure): New functions. 539 (_bdf_shift, _bdf_join): Rename to... 540 (_bdf_list_shift, _bdf_list_join): This. 541 (_bdf_split): Renamed to... 542 (_bdf_list_split): This. Use new functions. 543 (bdf_internal_readstream): Removed. 544 (NO_SKIP): New macro. 545 (_bdf_readstream): Rewritten. 546 (bdf_create_property, _bdf_add_comment): Improve allocation. 547 (_bdf_set_default_spacing, _bdf_parse_glyphs): Updated. Improve 548 allocation. 549 (_bdf_parse_properties, _bdf_parse_start): Updated. 550 (bdf_load_font): Updated to use new functions. 551 552 * src/type1/t1parse.c (check_type1_format): New function. 553 (T1_New_Parser): Use it to check font header before allocating 554 anything on the heap. 555 556 * src/type42/t42parse.c (t42_parser_init): Modify functions to check 557 the font header before allocating anything on the heap. 558 559 * include/freetype/internal/ftmemory.h (FT_ARRAY_MAX, 560 FT_ARRAY_CHECK): New macros. 561 562 * src/base/ftstream.c (FT_Stream_TryRead): New function. 563 * include/freetype/internal/ftstream.h: Updated. 564 565 * src/pcf/pcfread.c (pcf_read_TOC), src/pcf/pcfutil.c 566 (BitOrderInvert, TwoByteSwap, FourByteSwap): Minor fixes and 567 simplifications. Try to protect the PCF driver from doing stupid 568 things with broken fonts. 569 570 * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Check the LZW header before 571 doing anything else. This avoids unnecessary heap allocations 572 (400KByte of heap memory for the LZW decoder). 573 574 * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Ditto for the gzip 575 decoder, although the code savings are smaller. 576 577 * docs/CHANGES: Updated. 578 5792005-03-10 David Turner <david@freetype.org> 580 581 * src/tools/glnames.py: Add comment to explain the compression 582 being used for the Adobe Glyph List. 583 5842005-03-10 Werner Lemberg <wl@gnu.org> 585 586 * src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm): 587 Fix serious typo which prevented correct TT rendering. 588 589 * include/freetype/internal/ftmemory.h: Undo change from 2005-03-03. 590 To suppress warnings it is sufficient to use `-fno-strict-aliasing'. 591 5922005-03-10 Werner Lemberg <wl@gnu.org> 593 594 * src/tools/glnames.py: Formatted. 595 Format output to be in sync with other FreeType code. 596 Import `re' and `os.path'. 597 (StringTable) <__init__>: Add parameter to initialize master table 598 name. 599 (StringTable) <dump>: Don't pass master table name. 600 (StringTable) <dump_sublist>: Emit explanatory comment. 601 Simplify and make output more human readable. 602 (t1_bias, glyph_list, adobe_glyph_names): Removed. Unused. 603 (main): Use `basename' for file name in header. 604 605 * src/psnames/pstables.h: Regenerated. 606 6072005-03-09 David Turner <david@freetype.org> 608 609 * src/tools/glnames.py: Rewrite the generator for the `pstables.h' 610 header file which contains various constant tables related to glyph 611 names. It now uses a different, more compact storage scheme that 612 saves about 20KB. This also closes Savannah bug #12262. 613 614 * src/psnames/pstables.h: Regenerated. 615 616 * src/psnames/psmodule.c (ps_unicode_value): Use 617 `ft_get_adobe_glyph_index', a new function defined in `pstables.h'. 618 (ps_get_macintosh_name, ps_get_standard_strings): Updated. 619 620 * src/base/ftobjs.c (FT_Set_Char_Size): Handle fractional sizes 621 more carefully. This fixes Savannah bug #12263. 622 6232005-03-06 David Turner <david@freetype.org> 624 625 * src/otvalid/otvgsub.c, src/otvalid/otvgpos.c: Make static tables 626 constant. 627 628 * src/autofit/aflatin.c (af_latin_metrics_init): Fix Savannah bug 629 #12212 (auto-hinter refuses to work if no Unicode charmap in font). 630 6312005-03-05 Werner Lemberg <wl@gnu.org> 632 633 * autogen.sh: New script for bootstrapping. 634 635 * README.CVS: New file which documents bootstrapping. 636 637 * builds/unix/aclocal.m4, builds/unix/config.guess, 638 builds/unix/config.sub, builds/unix/configure, 639 builds/unix/ltmain.sh: Removed. 640 6412005-03-04 Werner Lemberg <wl@gnu.org> 642 643 * src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H. 644 6452005-03-03 Werner Lemberg <wl@gnu.org> 646 647 Various fixes for C and C++ compiling. 648 649 * src/autofit/*: Add copyright messages. 650 651 * src/autofit/afhints.c (af_glyph_hints_done): Don't use 652 `AF_Dimension' but `int' for loop counter. 653 654 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use 655 `AF_Dimension' but `int' for loop counter. 656 Use proper enumeration value for `render_mode'. 657 (af_latin_metrics_scale_dim): Don't shadow variables. 658 (af_latin_hints_compute_segments): Use proper cast for `major_dir' 659 and `segment_dir'. 660 (af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to 661 `af_latin_compute_stem_width'. 662 (af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop 663 counter. 664 665 * src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use 666 proper cast for memory allocation. 667 668 * src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for 669 initialization of `sfnt'. 670 671 * src/sfnt/sfdriver.c: Include `ttkern.h'. 672 673 * src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables. 674 675 * src/truetype/ttgload.c: Include `ttpload.h'. 676 6772005-03-03 David Turner <david@freetype.org> 678 679 * include/freetype/internal/ftmemory.h (FT_ALLOC, FT_REALLOC, 680 FT_QALLOC, FT_QREALLOC) [gcc >= 3.3]: Provide macro versions which 681 avoid compiler warnings. 682 (FT_NEW, FT_NEW_ARRAY, FT_RENEW_ARRAY, FT_QNEW, FT_QNEW_ARRAY, 683 FT_QRENEW_ARRAY, FT_ALLOC_ARRAY, FT_REALLOC_ARRAY): Updated. 684 685 * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE, 686 FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cplusplus]: 687 Provide macro versions which avoid compiler warnings. 688 689 * src/base/ftutil.c (ft_highpow2): New utility function. 690 691 * include/freetype/internal/ftobjs.h: Updated. 692 693 * src/pfr/pfrload.c (pfr_get_gindex, pfr_compare_kern_pairs, 694 pfr_sort_kerning_pairs): Don't define if FT_OPTIMIZE_MEMORY is set. 695 (pfr_phy_font_done): Don't handle `kern_pairs' if FT_OPTIMIZE_MEMORY 696 is set. 697 (pfr_phy_font_load): Don't call `pfr_sort_kerning_pairs' if 698 FT_OPTIMIZE_MEMORY is set. 699 700 * src/pfr/pfrobjs.c (pfr_slot_load): Comment out some code which 701 doesn't work with broken fonts. 702 (pfr_face_get_kerning) [FT_OPTIMIZE_MEMORY]: Implement. 703 704 * src/pfr/pfrtypes.h (PFR_KernItemRec): Optimize member types. 705 (PFR_NEXT_KPAIR): New macro. 706 (PFR_PhyFontRec): Don't define `kern_pairs' if FT_OPTIMIZE_MEMORY is 707 set. 708 709 * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Introduce 710 temporary variable to avoid gcc warning. 711 (tt_face_load_sbit_image): Mark unused variables with FT_UNUSED. 712 713 * src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: 714 Remove redundant variable. 715 716 * include/freetype/config/ftmodule.h: Moving the order of drivers to 717 speed up font loading. The PCF and BDF loaders are still slow and 718 consume far too much memory. 719 7202005-03-03 Werner Lemberg <wl@gnu.org> 721 722 * devel/ftoption.h: Updated to recent changes. 723 7242005-03-02 Werner Lemberg <wl@gnu.org> 725 726 * src/autofit/afdummy.c, src/autofit/afdummy.h 727 (af_dummy_script_class): Fix type. 728 729 * src/autofit/aflatin.c, src/autofit/aflatin.h 730 (af_latin_script_class): Fix type. 731 732 * src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo. 733 7342005-03-01 David Turner <david@freetype.org> 735 736 * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning), 737 src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes, 738 tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_compound, 739 tt_sbit_decoder_load_image), src/sfnt/ttload.c 740 (tt_face_load_metrics): Remove compiler warnings 741 -- redundant variables, missing initializations, etc. 742 743 * src/sfnt/ttsbit.h: Handle FT_OPTIMIZE_MEMORY. 744 745 * src/autofit/rules.mk, src/autofit/module.mk, 746 src/autofit/afangles.h: New files. 747 748 * src/autofit/afhints.c (af_axis_hints_new_segment, 749 af_axis_hints_new_edge): New functions. 750 (af_glyph_hints_done): Do proper deallocation. 751 (af_glyph_hints_reload): Only reallocate points array. This 752 drastically reduces heap usage. 753 754 * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec): Optimize 755 member types and positions. 756 (AF_AxisHintsRec): Add `max_segments' and `max_edges'. 757 (af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes. 758 759 * src/autofit/aflatin.c (af_latin_metrics_scale): Don't call 760 AF_SCALER_EQUAL_SCALES. 761 (af_latin_hints_compute_segments): Change return type to FT_Error. 762 Update all callers. 763 Improve segment allocation. 764 (af_latin_hints_compute_edges): Change return type to FT_Error. 765 Update all callers. 766 Improve edge allocation and link handling. 767 (af_latin_hints_detect_features): Change return type to FT_Error. 768 Update all callers. 769 770 * src/autofit/aflatin.h: Updated. 771 772 * src/autofit/afloader.c (af_loader_load_g) 773 <FT_GLYPH_FORMAT_OUTLINE>: Assure axis->num_edges > 1. This fixes 774 a bug with certain fonts. 775 776 * include/freetype/config/ftmodule.h: The auto-fitter is now the 777 only supported auto-hinting module. 778 779 * include/freetype/config/ftstdlib.h (FT_INT_MAX): New macro. 780 7812005-02-28 Werner Lemberg <wl@gnu.org> 782 783 * src/truetype/ttpload.c (tt_face_load_loca): Fix typo. 784 785 * src/sfnt/ttkern.c: Include `ttkern.h'. 786 (FT_COMPONENT): Updated. 787 788 * include/freetype/internal/fttrace.h: Add entry for `ttkern'. 789 790 * src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/. 791 Decorate constants with `U' and `L' where necessary. 792 793 * src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable. 794 7952005-02-28 David Turner <david@freetype.org> 796 797 * src/base/ftdbgmem.c (FT_DumpMemory): Added sorting of memory 798 sources according to decreasing maximum cumulative allocations. 799 (ft_mem_source_compare): New auxiliary function. 800 801 * src/sfnt/ttsbit0.c: New file, implementing a heap-optimized 802 embedded bitmap loader. 803 804 * src/sfnt/ttsbit.c: Include `ft2build.h', FT_INTERNAL_DEBUG_H, 805 FT_INTERNAL_STREAM_H, FT_TRUETYPE_TAGS_H. 806 Load `ttsbit0.c' if FT_OPTIMIZE_MEMORY is set, otherwise use 807 file contents. 808 (tt_face_load_sbit_strikes): Set up root fields to indicate the 809 strikes. This fixes Savannah bug #12107. 810 Use `static' keyword for `sbit_line_metrics_field', 811 `strike_start_fields', `strike_end_fields'. 812 813 * include/freetype/internal/tttypes.h (TT_FaceRec): Define 814 `sbit_table', `sbit_table_size', `sbit_num_strikes' if 815 FT_OPTIMIZE_MEMORY is set. 816 Don't define `num_sbit_strikes' and `sbit_strikes' if 817 FT_OPTIMIZE_MEMORY is set. 818 819 * src/cff/cffobjs.c (sbit_size_reset): Handle FT_OPTIMIZE_MEMORY. 820 821 * src/sfnt/sfobjs.c (sfnt_load_face): Fixed bug that prevented 822 loading SFNT fonts without a `kern' table. 823 Properly pass root->face_flags. 824 Remove code for TT_CONFIG_OPTION_EMBEDDED_BITMAPS. 825 826 * src/sfnt/sfdriver.c (sfnt_interface) 827 [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Don't use `tt_find_sbit_image' 828 and `tt_load_sbit_metrics'. 829 830 * src/sfnt/ttcmap.c: Optimize linear charmap scanning for Format 4. 831 (OPT_CMAP4): New macro. 832 (TT_CMap4Rec) [OPT_CMAP4]: New structure. 833 (tt_cmap4_init, tt_cmap4_set_range, tt_cmap4_next, tt_cmap4_reset) 834 [OPT_CMAP4]: New functions. 835 (tt_cmap4_char_next) [OPT_CMAP4]: Use `tt_cmap4_next' and 836 `tt_cmap4_reset'. 837 (tt_cmap4_class_rec) [OPT_CMAP4]: Use `TT_CMap4Rec' and 838 `tt_cmap4_init'. 839 840 * src/truetype/ttobjs.c (Reset_SBit_Size): Handle 841 FT_OPTIMIZE_MEMORY. 842 843 * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec, AF_EdgeRec): 844 Optimize member types. 845 846 * src/autofit/afloader.c (af_loader_done): Call 847 `af_glyph_hints_done'. 848 8492005-02-27 David Turner <david@freetype.org> 850 851 * src/sfnt/ttkern.c (tt_face_load_kern): Fix a small bug which 852 caused invalid (random) return values for the horizontal kerning. 853 8542005-02-25 David Turner <david@freetype.org> 855 856 Implement several memory optimizations to drastically reduce the 857 heap usage of FreeType, especially in the case of memory-mapped 858 files. The idea is to avoid loading and decoding tables in the 859 heap, and instead access the raw data whenever possible (i.e., when 860 it doesn't compromise performance). 861 862 This has several benefits: For example, opening vera.ttf now uses 863 just a small amount of memory (even when the FT_Library footprint is 864 accounted for), until you start loading glyphs. Even then, you save 865 at least 20KB compared to the non-optimized case. Performance of 866 various operations, including open and close, has also been 867 dramatically improved. 868 869 More optimizations to come, especially for the auto-hinter. 870 871 * include/freetype/internal/sfnt.h (TT_Face_GetKerningFunc): New 872 function type. 873 (SFNT_Interface): Add it. 874 875 * include/freetype/internal/tttypes.h (TT_HdmxEntryRec, TT_HdmxRec, 876 TT_Kern0_PairRec): Don't define if FT_OPTIMIZE_MEMORY is set. 877 (TT_FaceRec): Define `horz_metrics', `horz_metrics_size', 878 `vert_metrics', `vert_metrics_size', `hdmx_table', 879 `hdmx_table_size', `hdmx_record_count', `hdmx_record_size', 880 `hdmx_record_sizes', `kern_table', `kern_table_size, 881 `num_kern_tables', `kern_avail_bits', `kern_order_bits' if 882 FT_OPTIMIZE_MEMORY is set. 883 Don't define `hdmx', `num_kern_pairs', `kern_table_index', 884 `kern_pairs' if FT_OPTIMIZE_MEMORY is set. 885 886 * src/base/ftdbgmem.c (ft_mem_table_set): Don't shadow variable. 887 Fix compiler warning. 888 889 * src/cff/cffdrivr.c (Get_Kerning): Renamed to... 890 (cff_get_kerning): This. Simplify. 891 (cff_driver_class): Updated. 892 893 * src/sfnt/Jamfile (_sources): Add `ttkern'. 894 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttkern.c'. 895 896 * src/sfnt/sfdriver.c (sfnt_interface): Add `tt_face_get_kerning'. 897 898 * src/sfnt/sfnt.c: Include `ttkern.c'. 899 900 * src/sfnt/sfobjs.c: Include `ttkern.h'. 901 (sfnt_load_face): Consider the `kern' and `gasp' table as optional. 902 (sfnt_done_face): Call `tt_face_done_kern'. 903 Handle horizontal metrics for FT_OPTIMIZE_MEMORY. 904 905 * src/sfnt/ttkern.c, src/sfnt/ttkern.h: New files. Code has been 906 taken from `ttload.c' and `ttload.h'. 907 Provide special versions of `tt_face_load_kern', 908 `tt_face_get_kerning', and `tt_face_done_kern' for 909 FT_OPTIMIZE_MEMORY. 910 911 * src/sfnt/ttload.c (tt_face_load_metrics, tt_face_load_hdmx, 912 tt_face_free_hdmx): Provide version for FT_OPTIMIZE_MEMORY. 913 (tt_face_load_kern, tt_kern_pair_compare, TT_KERN_INDEX): Moved to 914 `ttkern.c'. 915 916 * src/sfnt/ttload.h: Updated. 917 918 * src/sfnt/ttsbit.c (sbit_metrics_field): Add `static' keyword. 919 920 * src/truetype/ttdriver.c (Get_Kerning): Renamed to... 921 (tt_get_kerning): This. Simplify. 922 (tt_driver_class): Updated. 923 924 * src/truetype/ttgload.c (TT_Get_Metrics): Renamed to... 925 (tt_face_get_metrics): This. Provide version for FT_OPTIMIZE_MEMORY. 926 Update all callers. 927 (Get_Advance_Widths): Replaced with... 928 (Get_Advance_WidthPtr): This. Provide version for 929 FT_OPTIMIZE_MEMORY. 930 Update all callers. 931 932 * src/truetype/ttgload.h: Updated. 933 9342005-02-22 David Turner <david@freetype.org> 935 936 * src/base/ftdbgmem.c: Partly rewritten. Added the ability to list 937 all allocation sites in the memory debugger. Also a new function 938 FT_DumpMemory() was added. It is only available in builds with 939 FT_DEBUG_MEMORY defined, and you must declare it in your own code to 940 use it, i.e., with something like: 941 942 extern void FT_DumpMemory( FT_Memory ); 943 944 ... 945 946 FT_DumpMemory( memory ); 947 948 * include/freetype/config/ftoption.h 949 (TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Comment out definition -- 950 again. 951 (FT_OPTIMIZE_MEMORY): New configuration macro to control various 952 optimizations for reducing the heap footprint of memory-mapped 953 TrueType files. 954 955 * include/freetype/internal/ftmemory.h (FT_ARRAY_ZERO): New 956 convenience macro. 957 958 * include/freetype/internal/tttypes.h (TT_FaceRec) 959 [FT_OPTIMIZE_MEMORY]: Use optimized types for `num_locations' and 960 `glyph_locations'. 961 962 * src/truetype/ttgload.c (load_truetype_glyph): Call 963 `tt_face_get_location'. 964 965 * src/truetype/ttobjs.c (tt_face_init) 966 [FT_CONFIG_OPTION_INCREMENTAL]: Improve error handling. 967 (tt_face_done): Call `tt_face_done_loca'. 968 969 * src/truetype/ttpload.c (tt_face_get_location, tt_face_done_loca): 970 New functions. If FT_OPTIMIZE_MEMORY is set, the locations table is 971 read directly from memory-mapped streams, instead of being decoded 972 into the heap. 973 (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: New implementation. 974 (tt_face_load_cvt, tt_face_load_fpgm): Only load table if the 975 bytecode interpreter is compiled in. 976 977 * src/truetype/ttpload.h: Updated. 978 979 * src/autohint/ahglyph.c (ah_outline_load): Improve allocation 980 logic. 981 9822005-02-20 Werner Lemberg <wl@gnu.org> 983 984 * builds/unix/ltmain.sh: Regenerated with `libtoolize --force 985 --copy' from libtool 1.5.14. 986 * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from 987 automake 1.9.4. 988 989 * builds/unix/config.guess, builds/unix/config.sub: Updated from 990 `config' CVS module at subversions.gnu.org. 991 992 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from 993 `texinfo' CVS module at subversions.gnu.org. 994 9952005-02-14 Werner Lemberg <wl@gnu.org> 996 997 * src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build 998 a cmap for a CID-keyed font which doesn't have SIDs. 999 10002005-02-13 Werner Lemberg <wl@gnu.org> 1001 1002 * src/type1/t1load.c (read_binary_data): Return more meaningful 1003 value. 1004 (parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check 1005 parser error value after call to T1_Skip_PS_Token (where necessary). 1006 1007 * src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error 1008 value after call to T1_Skip_PS_Token. 1009 1010 * src/cid/cidparse.c (cid_parser_new): Check parser error value 1011 after call to cid_parser_skip_PS_token. 1012 1013 * src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts, 1014 t42_parse_charstrings, t42_parse_dict): Check parser error value 1015 after call to T1_Skip_PS_Token (where necessary). 1016 1017 * src/psaux/psobjs.c (skip_string, ps_parser_skip_PS_token, 1018 ps_tobytes): Add error messages. 1019 10202005-02-12 Werner Lemberg <wl@gnu.org> 1021 1022 * configure: Output more variables to the created Makefile so that 1023 it can be used for ft2demos also (if the FT2DEMOS variable is 1024 defined). 1025 10262005-02-10 David Turner <david@freetype.org> 1027 1028 * src/pfr/pfrgload.c (pfr_glyph_load): Fix an unbounded growing 1029 dynamic array when loading a glyph from a PFR font (Savannah bug 1030 #11921). 1031 1032 * src/base/ftbitmap.c (FT_Bitmap_Convert): Small improvements to the 1033 conversion function (mainly stupid optimization). 1034 1035 * src/base/Jamfile: Adding ftbitmap.c to the list of compiled files. 1036 10372005-02-10 Werner Lemberg <wl@gnu.org> 1038 1039 * builds/unix/freetype-config.in: Add new flag `--ftversion' to 1040 return the FreeType version. Suggested by George Williams 1041 <gww@silcom.com>. 1042 1043 * docs/CHANGES: Updated. 1044 10452005-02-09 Werner Lemberg <wl@gnu.org> 1046 1047 * src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case 1048 of error. Reported by YAMANO-UCHI Hidetoshi <mer@din.or.jp>. 1049 10502005-02-08 Werner Lemberg <wl@gnu.org> 1051 1052 * src/psaux/t1decode.c (t1_decoder_parse_charstrings) 1053 <op_closepath>: Accept `T1_Parse_Have_Moveto' state also which can 1054 happen in empty glyphs. Reported by Ian Brown 1055 <ian.brown@printsoft.de> (Savannah bug #11856). 1056 10572005-02-04 Werner Lemberg <wl@gnu.org> 1058 1059 * src/otlayout/*: Removed. Obsolete. 1060 10612004-12-28 Werner Lemberg <wl@gnu.org> 1062 1063 * builds/unix/ltmain.sh: Regenerated with `libtoolize --force 1064 --copy' from libtool 1.5.10. 1065 * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from 1066 automake 1.9.4. 1067 * builds/unix/configure: Regenerated with autoconf 2.59b. 1068 1069 * builds/unix/config.guess, builds/unix/config.sub: Updated from 1070 `config' CVS module at subversions.gnu.org. 1071 1072 * builds/unix/install-sh: Updated from 1073 `texinfo' CVS module at subversions.gnu.org. 1074 1075 * builds/unix/ftsystem.c (FT_Stream_Open): Add proper cast for 1076 ft_alloc. 1077 Fix compiler warning. 1078 10792004-12-27 Dirck Blaskey <listtarget@danbala.com> 1080 1081 * src/cff/cffobjs.c (cff_face_init): Improve computation of 1082 FT_STYLE_BOLD_FLAG. 1083 10842004-12-27 Werner Lemberg <wl@gnu.org> 1085 1086 * src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have 1087 only a single font. This is undocumented but has been verified on 1088 the opentype list. 1089 10902004-12-26 Werner Lemberg <wl@gnu.org> 1091 1092 * Jamfile (FT2_COMPONENTS): Add `otvalid'. 1093 10942004-12-25 Werner Lemberg <wl@gnu.org> 1095 1096 * src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning. 1097 10982004-12-15 Werner Lemberg <wl@gnu.org> 1099 1100 * vms_make.com: Add ftbitmap.obj. 1101 11022004-12-14 Werner Lemberg <wl@gnu.org> 1103 1104 * src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for 1105 handling various bitmap formats. 1106 1107 * include/freetype/config/ftheader.h (FT_BITMAP_H): New macro. 1108 1109 * src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c. 1110 1111 * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp 1112 but return them as-is. 1113 1114 * docs/CHANGES: Mention new bitmap API. 1115 * include/freetype/ftchapters.h: Updated. 1116 11172004-12-11 Robert Clark <freetype@ratty.org.uk> 1118 1119 * src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount 1120 dependent on ppem by scaling down for ppem < 25, then do normal 1121 rounding. This gives slightly better results than rounding towards 1122 zero. 1123 11242004-12-09 Werner Lemberg <wl@gnu.org> 1125 1126 * src/base/ftobjs.c (FT_Get_Kerning): Always round towards zero 1127 for FT_KERNING_DEFAULT. This greatly enhances the kerning for 1128 small ppem values. 1129 11302004-12-08 Werner Lemberg <wl@gnu.org> 1131 1132 * src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and 1133 `rsb_delta'. 1134 11352004-12-05 Werner Lemberg <wl@gnu.org> 1136 1137 * builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h. 1138 11392004-12-03 Antoine Leca <Antoine-Freetype@Leca-Marti.org> 1140 1141 * include/freetype/ttnameid.h: Updated to latest 1142 specifications from Microsoft. 1143 11442004-11-26 Jouk Jansen <joukj@hrem.stm.tudelft.nl> 1145 1146 * vms_make.com: Include ftbbox.c. 1147 Fix `ccopt'. 1148 Handle `otvalid' module. 1149 Update `vmslib.dat' default values. 1150 Fixes to `libs.opt'. 1151 11522004-11-23 Anders Kaseorg <anders@kaseorg.com> 1153 1154 * src/base/ftoutln.c (FT_OrientationExtremumRec, 1155 ft_orientation_extremum_compute): Removed. 1156 (FT_Outline_Get_Orientation): Rewritten, simplified. 1157 1158 * src/autohint/ahglyph.c: Include FT_OUTLINE_H. 1159 (ah_test_extremum, ah_get_orientation): Removed. 1160 (ah_outline_load): Use FT_Outline_Get_Orientation. 1161 1162 * src/base/ftsynth.c (ft_test_extrema, ft_get_orientation): Removed. 1163 (FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation. 1164 11652004-11-23 Fernando Papa <fpapa@netgate.com.uy> 1166 1167 * src/truetype/ttinterp.h: Fix typo. 1168 11692004-11-22 Antoine Leca <Antoine-Freetype@Leca-Marti.org> 1170 1171 * builds/win32/detect.mk: Corrected logic that detects Windows NT to 1172 use the previous change even if win32 is forced. Corrected 1173 detection of win32 on Win9X. 1174 1175 * builds/dos/detect.mk: Added same correction as for win32 about 1176 COPY on Windows NT. Detection of plain DOS 7.x. 1177 11782004-11-22 Werner Lemberg <wl@gnu.org> 1179 1180 * builds/detect.mk: Undo change from 2004-11-20. 1181 * builds/win32/detect.mk: If the `OS' environment variable contains 1182 `Windows_NT', use `cmd.exe /c copy' for copying files. 1183 11842004-11-20 Werner Lemberg <wl@gnu.org> 1185 1186 * builds/detect.mk (dos_setup): Use `cmd.exe' for copying 1187 $(CONFIG_MK) to force lowercase file name under Windows. 1188 11892004-11-19 Werner Lemberg <wl@gnu.org> 1190 1191 Fix a serious bug in the TT hinter. 1192 1193 * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift 1194 points vertically before hinting. 1195 1196 * docs/CHANGES: Updated. 1197 1198 * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily, 1199 FTC_GCache_Lookup): A new try to fix comparison with zero. 1200 12012004-11-16 Werner Lemberg <wl@gnu.org> 1202 1203 * builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is 1204 used. 1205 * builds/unix/configure: Regenerated. 1206 * builds/unix/config.guess, builds/unix/config.sub: Updated from 1207 `config' CVS module at subversions.gnu.org. 1208 12092004-11-16 Dr. Martin P.J. Zinser <zinser@decus.de> 1210 1211 * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily, 1212 FTC_GCache_Lookup): Fix comparison with zero. 1213 1214 * docs/INSTALL.VMS: Updated. 1215 1216 * vms_make.com: Updated. All `descrip.mms' files are now created 1217 automatically. 1218 1219 * src/*/descrip.mms: Removed. 1220 12212004-11-16 Owen Taylor <otaylor@redhat.com> 1222 1223 * builds/unix/freetype-config.in: Suppress -L$libdir for 1224 /usr/lib64 as well as /usr/lib. (Reported by Dan Winship - 1225 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199) 1226 12272004-11-11 Werner Lemberg <wl@gnu.org> 1228 1229 * src/cff/cffdrivr.c (cff_service_ps_info): Updated. 1230 * src/cid/cidriver.c (cid_service_ps_info): Updated. 1231 * src/type42/t42drivr.c (t42_ps_get_font_private): New function. 1232 (t42_service_ps_info): Updated. 1233 1234 * src/type42/t42parse.c (t42_parse_dict): Remove compiler warning. 1235 12362004-11-11 David Bevan <dbevan@emtex.com> 1237 1238 Add new function FT_Get_PS_Font_Private(). 1239 1240 * include/freetype/internal/services/svpsinfo.h 1241 (PS_GetFontPrivateFunc): New service function. 1242 1243 * include/freetype/t1tables.h, src/base/fttype1.c 1244 (FT_Get_PS_Font_Private): New function. 1245 1246 * src/type1/t1driver.c (t1_ps_get_font_private): New function. 1247 (t1_service_ps_info): Updated. 1248 12492004-10-13 Werner Lemberg <wl@gnu.org> 1250 1251 * include/freetype/config/ftstdlib.h: Include `stddef.h'. 1252 (ft_ptrdiff_t): Define. 1253 1254 * include/freetype/fttypes.h (FT_PtrDist): Use `ft_ptrdiff_t'. 1255 1256 * src/cid/cidload.c (cid_parse_dict), src/type1/t1load.c 1257 (parse_dict): Fix compiler warning. 1258 12592004-10-11 Joshua Neal <jneal@csdaily.com> 1260 1261 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer 1262 overflow. 1263 1264 * src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input. 1265 Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work 1266 in case of failure. 1267 1268 * src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals. 1269 (tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after 1270 frame test. 1271 1272 * src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for 1273 `flag'. 1274 12752004-10-09 Werner Lemberg <wl@gnu.org> 1276 1277 * docs/CHANGES: Updated. 1278 12792004-10-09 Boris Letocha <b.letocha@cz.gmc.net> 1280 1281 Fix handling of NPUSHW if skipped in data stream. 1282 1283 * src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW 1284 to -2. 1285 (SkipCode, TT_RunIns): Use opcode_length value for computation of 1286 bytes to be skipped. 1287 12882004-09-10 Jouk Jansen <joukj@hrem.stm.tudelft.nl> 1289 1290 * vms_make.com: Updated. 1291 12922004-09-09 Werner Lemberg <wl@gnu.org> 1293 1294 Adding OpenType validation module. The code is based on the 1295 (unfinished) `otlayout' module but has been heavily modified to make 1296 it much more compact. 1297 1298 * src/otvalid/*: New module. 1299 1300 * include/freetype/ftotval.h, src/base/ftotval.c, 1301 include/freetype/internal/services/svotval.h: New files. 1302 1303 * include/freetype/config/ftmodule.h: Add otv_module_class. 1304 * include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New 1305 macro. 1306 * include/freetype/internal/ftserv.h 1307 (FT_SERVICE_OPENTYPE_VALIDATE_H): New macro. 1308 * include/freetype/internal/fttrace.h (otvmodule, otvcommon, 1309 otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components. 1310 1311 * include/freetype/ftchapters.h: Updated. 1312 1313 * src/base/Jamfile (Library), src/base/descrip.mms (OBJS), 1314 src/base/rules.mk (BASE_EXT_SRC): Updated. 1315 1316 * docs/CHANGES: Updated. 1317 13182004-09-08 Werner Lemberg <wl@gnu.org> 1319 1320 * src/tools/docmaker/sources.py (re_source_block_format2) <column>: 1321 Use lookahead assertion to not match `*/'. This removes spurious 1322 insertions of `/' in the HTML output. 1323 13242004-09-07 Werner Lemberg <wl@gnu.org> 1325 1326 * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to 1327 FT_NEW_ARRAY. 1328 13292004-09-04 Werner Lemberg <wl@gnu.org> 1330 1331 * include/freetype/internal/ftobjs.h: Don't include 1332 FT_CONFIG_STANDARD_LIBRARY_H. 1333 (FT_Validator, FT_ValidationLevel, FT_ValidatorRec, FT_VALIDATOR, 1334 ft_validator_init, ft_validator_run, ft_validator_error, FT_INVALID, 1335 FT_INVALID_TOO_SHORT, FT_INVALID_OFFSET, FT_INVALID_FORMAT, 1336 FT_INVALID_GLYPH_ID, FT_INVALID_DATA): Move to... 1337 1338 * include/freetype/internal/ftvalid.h: New file. 1339 Make FT_INVALID return module-specific error codes. 1340 1341 * include/freetype/internal/internal.h (FT_INTERNAL_VALIDATE_H): New 1342 macro. 1343 1344 * include/freetype/fterrors.h: Undefine FT_ERR_PREFIX only if 1345 FT_KEEP_ERR_PREFIX isn't defined. 1346 1347 * src/base/ftobjs.c: Include FT_INTERNAL_VALIDATE_H. 1348 1349 * src/sfnt/ttcmap.h: Don't include FT_INTERNAL_OBJECTS_H but 1350 FT_INTERNAL_VALIDATE_H. 1351 1352 * src/sfnt/ttcmap.c: Don't include FT_INTERNAL_OBJECTS_H but 1353 FT_INTERNAL_VALIDATE_H. 1354 Include sferrors.h before FT_INTERNAL_VALIDATE_H. 1355 s/FT_Err_Ok/SFNT_Err_Ok/. 1356 1357 * src/sfnt/sferrors.h: Define FT_KEEP_ERR_PREFIX. 1358 1359 * src/type1/t1afm.c: Include t1errors.h. 1360 13612004-09-03 Werner Lemberg <wl@gnu.org> 1362 1363 * src/base/ftdebug.c (ft_debug_init): Highest debug level is 7, 1364 not 6. 1365 * docs/DEBUG: Updated. 1366 13672004-08-30 Werner Lemberg <wl@gnu.org> 1368 1369 * include/freetype/tttags.h (TTAG_BASE, TTAG_GDEF, TTAG_GPOS, 1370 TTAG_JSTF): New tags. 1371 1372 * include/freetype/fttypes.h (FT_Bytes, FT_Tag): New typedefs. 1373 (FT_Int): Add `signed'. 1374 13752004-08-29 Werner Lemberg <wl@gnu.org> 1376 1377 * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): Add argument 1378 to pass number of lookups. 1379 Update all callers. 1380 Don't call otl_lookup_list_validate but otl_lookup_validate. 1381 (otl_gpos_validate): Call otl_lookup_list_validate instead of 1382 otl_gpos_subtable_validate. 1383 1384 * src/otlayout/otlgpos.h: Updated. 1385 1386 * src/otlayout/otljstf.c (otl_jstf_max_validate): Add argument to 1387 pass number of lookups. 1388 Update all callers. 1389 1390 1391 * src/cff/cffparse.c (cff_parse_real): s/exp/exponent/ to avoid 1392 compiler warning. 1393 1394 1395 * src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Renamed to... 1396 * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: This. 1397 * src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c, 1398 src/sfnt/sfnt.c, src/sfnt/sfobjs.c: Updated. 1399 1400 1401 * builds/compiler/gcc-dev.mk (CFLAGS): Don't add `-Wnested-externs' 1402 if compiler is g++ (v3.3.3 emits a warning otherwise). 1403 14042004-08-28 Werner Lemberg <wl@gnu.org> 1405 1406 * src/otlayout/otlgpos.c (otl_value_length): Return number of bytes, 1407 not number of 16bit entities. 1408 (otl_gpos_lookup2_validate): Check class definition tables for 1409 format 2. 1410 Fix loop for format 2. 1411 (otl_liga_mark2_validate): Fix offset for otl_anchor_validate. 1412 14132004-08-27 Werner Lemberg <wl@gnu.org> 1414 1415 * src/base/ftmac.c: Don't include truetype/ttobjs.h. 1416 Don't include type1/t1objs.h. 1417 (FT_New_Face_From_FSSpec) [!__MWERKS__]: Remove compiler warnings. 1418 14192004-08-27 Mathieu Malaterre <mathieu@malaterre.com> 1420 1421 * src/base/ftmac.c: Handle OS_INLINE for xlc compiler also. 1422 14232004-08-27 Werner Lemberg <wl@gnu.org> 1424 1425 * src/otlayout/otlayout.h: Add copyright. 1426 (OTL_INVALID_OFFSET): Removed. 1427 1428 * src/otlayout/otlgdef.h: Include otlayout.h. 1429 Comment out inclusion of otltable.h. 1430 1431 * src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call 1432 to otl_base_array_validate. 1433 (otl_liga_mark2_validate): Fix `for' loop. 1434 1435 * src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id', 1436 not components array. 1437 1438 * src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count): 1439 Comment out. 1440 (otl_lookup_list_get_count, otl_feature_list_get_count): Activate. 1441 (otl_feature_list_validate, otl_gsubgpos_get_lookup_count): 1442 s/otl_lookup_get_count/otl_lookup_list_get_count/. 1443 (otl_script_list_validate): 1444 s/otl_feature_get_count/otl_feature_list_get_count/. 1445 (otl_script_validate): Call otl_lang_validate for default language. 1446 1447 * src/otlayout/otlcommn.h: Updated. 1448 14492004-08-16 Werner Lemberg <wl@gnu.org> 1450 1451 * src/otlayout/otlgpos.c (otl_gpos_lookup1_validate, 1452 otl_gpos_lookup2_validate, otl_gpos_lookup3_validate, 1453 otl_gpos_lookup4_validate, otl_gpos_lookup5_validate, 1454 otl_gpos_lookup6_validate, otl_gpos_lookup9_validate, 1455 otl_gpos_validate): Update 1456 function arguments. 1457 (otl_gpos_lookup7_validate, otl_gpos_lookup8_validate): Update 1458 function arguments. 1459 Handle NULL offsets correctly. 1460 Check sequence and lookup indices for format 3. 1461 (otl_pos_rule_validate, otl_chain_pos_rule_validate): Add argument 1462 to pass lookup count. 1463 Check sequence and glyph indices. 1464 (otl_gpos_subtable_validate): Update function arguments. 1465 Update callers. 1466 1467 * src/otlayout/otlgpos.h: Updated. 1468 1469 * src/otlayout/otlgsub.c (otl_gsub_lookup1_validate, 1470 otl_gsub_lookup3_validate, otl_gsub_lookup8_validate): Update 1471 function arguments. 1472 Add glyph index checks. 1473 (otl_sequence_validate, otl_alternate_set_validate, 1474 otl_ligature_validate): Add argument to pass glyph count. 1475 Update callers. 1476 Add glyph index check. 1477 (otl_gsub_lookup2_validate, otl_gsub_lookup4_validate): Update 1478 function arguments. 1479 (otl_ligature_set_validate): Add argument to pass glyph count. 1480 Update caller. 1481 (otl_sub_class_rule_validate, 1482 otl_sub_class_rule_set_validate): Removed. 1483 (otl_sub_rule_validate, otl_chain_sub_rule_validate): Add argument 1484 to pass lookup count. 1485 Update callers. 1486 Add lookup index check. 1487 (otl_sub_rule_set_validate, otl_chain_sub_rule_set_validate): Add 1488 argument to pass lookup count. 1489 Update callers. 1490 (otl_gsub_lookup5_validate): Update function arguments. 1491 Handle NULL offsets correctly. 1492 Don't call otl_sub_class_rule_set_validate but 1493 otl_sub_rule_set_validate. 1494 Check sequence and lookup indices for format 3. 1495 (otl_gsub_lookup6_validate): Update function arguments. 1496 Handle NULL offsets correctly. 1497 Check sequence and lookup indices for format 3. 1498 (otl_gsub_lookup7_validate, otl_gsub_validate): Update function 1499 arguments. 1500 1501 * src/otlayout/otlgsub.h: Updated. 1502 1503 * src/otlayout/otlbase.c (otl_base_validate): Handle NULL offsets 1504 correctly. 1505 1506 * src/otlayout/otlcommn.c (otl_class_definition_validate): Fix 1507 compiler warning. 1508 (otl_coverage_get_first, otl_coverage_get_last): New functions. 1509 (otl_lookup_validate): Add arguments to pass lookup and glyph 1510 counts. 1511 Update callers. 1512 (otl_lookup_list_validate): Add argument to pass glyph count. 1513 Update callers. 1514 1515 * src/otlayout/otlcommn.h: Updated. 1516 1517 * src/otlayout/otljstf.c (otl_jstf_extender_validate, 1518 otl_jstf_max_validate, otl_jstf_script_validate, 1519 otl_jstf_priority_validate, otl_jstf_lang_validate): Add parameter 1520 to validate glyph indices. 1521 Update callers. 1522 (otl_jstf_validate): Add parameter which specifies number of glyphs 1523 in font. 1524 1525 * src/otlayout/otljstf.h: Updated. 1526 15272004-08-15 Werner Lemberg <wl@gnu.org> 1528 1529 * src/otlayout/otlgpos.c (otl_liga_mark2_validate): Add parameter 1530 to handle possible NULL values properly. 1531 Update all callers. 1532 15332004-08-15 Werner Lemberg <wl@gnu.org> 1534 1535 * src/otlayout/gpos.c: Rename counting variables to be more 1536 meaningful. 1537 Add copyright. 1538 (otl_liga_attach_validate): Renamed to... 1539 (otl_liga_mark2_validate): This. 1540 Update all callers. 1541 (otl_mark2_array_validate): Removed. 1542 (otl_gpos_lookup6_validate): Call otl_liga_mark2_validate, not 1543 otl_mark2_array_validate. 1544 (otl_pos_class_set_validate, otl_pos_class_rule_validate): Removed. 1545 (otl_gpos_lookup7_validate): Complete code for format 2. 1546 (otl_chain_pos_class_rule_validate, 1547 otl_chain_pos_class_set_validate): Removed. 1548 (otl_gpos_lookup8_validate): Don't call 1549 otl_chain_pos_class_set_validate but 1550 otl_chain_pos_rule_set_validate. 1551 Simplify some code. 1552 1553 * src/otlayout/otlgpos.h: Add copyright. 1554 15552004-08-14 Werner Lemberg <wl@gnu.org> 1556 1557 * src/otlayout/otljstf.c (otl_jstf_gsub_mods_validate): Removed. 1558 (otl_jstf_gpos_mods_validate): Renamed to... 1559 (otl_jstf_gsubgpos_mods_validate): This. 1560 Test whether lookup_count is zero. 1561 (otl_jstf_priority_validate): Use otl_jstf_gsubgpos_mods_validate. 1562 (otl_jstf_validate): Initialize gsub_lookup_count and 1563 gpos_lookup_count if gsub or gpos is zero. 1564 1565 * src/otlayout/otlgsub.c: Rename counting variables to be more 1566 meaningful. 1567 Add copyright. 1568 (otl_gsub_lookup1_validate): Simplify code. 1569 (otl_gsub_lookup2_validate, otl_gsub_lookup3_validate, 1570 otl_gsub_lookup4_validate, otl_gsub_lookup7_validate): Remove unused 1571 variables. 1572 (otl_gsub_lookup5_validate): Remove unused variable. 1573 Fix call to otl_sub_rule_set_validate and 1574 otl_sub_class_rule_set_validate. 1575 (otl_chain_sub_class_rule_validate, 1576 otl_chain_sub_class_set_validate): Removed. 1577 (otl_gsub_lookup6_validate): Remove unused variable. 1578 Fix call to otl_chain_sub_rule_set_validate. 1579 (otl_gsub_lookup7_validate): Handle lookup type 8 also. 1580 (otl_gsub_lookup8_validate: New function. 1581 (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply, 1582 otl_gsub_lookup3_apply): Commented out. 1583 (otl_gsub_validate_funcs): Add otl_gsub_lookup7_validate and 1584 otl_gsub_lookup8_validate. 1585 (otl_gsub_validate): Updated. 1586 1587 * src/otlayout/otlgsub.h: Add copyright. 1588 1589 * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h 1590 (otl_coverage_get_index): Comment out. 1591 15922004-08-13 Werner Lemberg <wl@gnu.org> 1593 1594 * src/otlayout/otlcommn.c (otl_gsubgpos_get_lookup_count): New 1595 function. 1596 * src/otlayout/otlcommn.h: Updated. 1597 1598 * src/otlayout/otlbase.c: Rename counting variables to be more 1599 meaningful. 1600 Add copyright message. 1601 * src/otlayout/otlbase.h: Add copyright message. 1602 1603 * src/otlayout/otlgdef.c: Rename counting variables to be more 1604 meaningful. 1605 Add copyright message. 1606 Use OTL_CHECK everywhere. 1607 (otl_caret_value_validate): Remove unused variable. 1608 (otl_gdef_validate): All tables are optional. 1609 * src/otlayout/otlgdef.h: Add copyright message. 1610 1611 * src/otlayout/otljstf.c: Rename counting variables to be more 1612 meaningful. 1613 Add copyright message. 1614 (otl_jstf_gsub_mods_validate, otl_jstf_gpos_mods_validate): Add 1615 parameter to pass lookup count. 1616 Update all callers. 1617 Check lookup array. 1618 (otl_jstf_max_validate): 1619 s/otl_gpos_subtable_check/otl_gpos_subtable_validate/. 1620 (otl_jstf_priority_validate, otl_jstf_lang_validate, 1621 otl_jstf_script_validate): Add two parameters to pass lookup counts. 1622 Update all callers. 1623 (otl_jstf_validate): Add two parameters to pass GPOS and GSUB 1624 table offsets; use otl_gsubgpos_get_lookup_count to convert extract 1625 lookup counts. 1626 Fix typo. 1627 * src/otlayout/otljstf.h: Updated. 1628 Add copyright message. 1629 1630 * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): New function. 1631 (otl_gpos_validate): Use it. 1632 * src/otlayout/otlgpos.h: Updated. 1633 16342004-08-13 Werner Lemberg <wl@gnu.org> 1635 1636 * src/otlayout/otcommn.c: Use OTL_CHECK everywhere. 1637 (otl_coverage_validate): Initialize `p', 1638 s/count/num_glyphs/. 1639 s/start_cover/start_coverage/. 1640 (otl_coverage_get_index): Return OTL_Long, not OTL_Int. 1641 Remove unused variables. 1642 (otl_class_definition_validate): s/count/num_glyphs/. 1643 Remove unused variables. 1644 (otl_class_definition_get_value, otl_device_table_get_start, 1645 otl_device_table_get_end, otl_device_table_get_delta, 1646 otl_lookup_get_table, otl_lookup_list_get_count, 1647 otl_lookup_list_get_lookup, otl_lookup_list_get_table, 1648 otl_feature_get_lookups, otl_feature_list_get_count, 1649 otl_feature_list_get_feature, otl_lang_get_count, 1650 otl_lang_get_req_feature, otl_lang_get_features): Commented out 1651 temporarily until we really need it. 1652 (otl_lookup_validate): Removed. 1653 (otl_lookup_table_validate): Renamed to ... 1654 (otl_lookup_validate): This. Update callers. 1655 (otl_lookup_list_validate): Remove already commented out definition 1656 and move the other definition up. 1657 (otl_feature_validate): Add parameter to pass number of lookups. 1658 Update callers. 1659 Check lookup indices. 1660 (otl_feature_list_validate): Add parameter to pass lookup table. 1661 Update callers. 1662 (otl_lang_validate): Add parameter to pass number of features. 1663 Update callers. 1664 Handle req_feature and check feature indices. 1665 (otl_script_validate): Add parameter to pass number of features. 1666 Update callers. 1667 (otl_script_list_validate): Add parameter to pass feature table. 1668 Update callers. 1669 1670 * src/otlayout/otcommn.h: s/LOCALDEF/LOCAL/. 1671 Comment out the same functions as in otcommn.c. 1672 (otl_script_list_get_script): Removed. 1673 1674 * src/otlayout/otlgsub.c (otl_gsub_lookup1_apply): Change `index' to 1675 type OTL_Long. 1676 (otl_gsub_lookup2_apply, otl_gsub_lookup3_apply): Change `index' to 1677 type OTL_Long. 1678 Fix test. 1679 (otl_gsub_validate): Fix order of validation. 1680 1681 * src/otlayout/otlgpos.c (otl_gpos_validate): Fix order of 1682 validation. 1683 16842004-08-12 Werner Lemberg <wl@gnu.org> 1685 1686 Make otlayout module compile (without actually working). 1687 1688 * src/otlayout/*: s/OTL_Valid/OTL_Validator/. 1689 s/NULL/0/. 1690 1691 * src/otlayout/otlayout.h: Fix various typos. 1692 (OTL_Bool): New typedef. 1693 (OTL_Int, OTL_Long, OTL_Int16, OTL_Int32): Use `signed' keyword. 1694 (OTL_Err_InvalidArgument): Removed. 1695 (OTL_Err_InvalidData, OTL_Err_InvalidSize): New enum values. 1696 (OTL_MAKE_TAG): Add missing parenthesis. 1697 (OTL_INVALID_DATA): Use OTL_Err_InvalidData. 1698 (OTL_INVALID_TOO_SHORT): Use OTL_Err_InvalidSize. 1699 (OTL_INVALID_FORMAT, OTL_INVALID_OFFSET): New macros. 1700 1701 * src/otlayout/otlgpos.c: s/FT_/OTL_/. 1702 s/OTL_Short/OTL_Int16/. 1703 (otl_gpos_pairset_validate): Add return type. 1704 (otl_base_array_validate): Fix call to otl_anchor_validate. 1705 (otl_liga_array_validate): Fix call to otl_liga_attach_validate. 1706 (otl_gpos_lookup5_validate): Fix typos. 1707 (otl_gpos_lookup6_validate): Fix call to otl_mark2_array_validate. 1708 (otl_gpos_lookup7_validate): Comment out unfinished code. 1709 Fix typos. 1710 1711 * src/otlayout/otlgsub.c: Add forward declaration for 1712 otl_gsub_validate_funcs. 1713 (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply, 1714 otl_gsub_lookup3_apply): Fix call to otl_parser_check_property. 1715 s/otl_coverage_lookup/otl_coverage_get_index/. 1716 (otl_ligature_validate): Add missing variable declaration. 1717 (otl_sub_rule_validate): Fix typo. 1718 (otl_sub_class_rule_validate): Add missing variable declaration. 1719 Fix typo. 1720 (otl_gsub_lookup5_validate): Fix typo. 1721 (otl_gsub_lookup6_validate): Fix call to 1722 otl_chain_sub_class_set_validate. 1723 (otl_gsub_validate_funcs): Don't use `const'. 1724 1725 * src/otlayout/otlcommn.c (otl_class_definition_get_value, 1726 otl_device_table_validate, otl_device_table_get_delta, 1727 otl_lookup_validate, otl_script_validate): Add missing 1728 variable declarations. 1729 (otl_lookup_list_validate): Comment out first definition. 1730 (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out. 1731 (otl_feature_list_validate): 1732 s/otl_feature_table_validate/otl_feature_validate/. 1733 (otl_script_list_validate): 1734 s/otl_script_table_validate/otl_script_validate/. 1735 1736 * src/otlayout/otlcommn.h: Comment out first declaration. 1737 (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out. 1738 1739 * src/otlayout/otlbase.c (otl_base_coord_validate): Fix call to 1740 otl_device_table_validate. 1741 (otl_base_script_validate): Add missing variable declarations. 1742 (otl_base_script_list_validate): Fix call to 1743 otl_base_script_validate. 1744 (otl_axis_table_validate): Fix calls to otl_base_tag_list_validate 1745 and otl_base_script_list_validate. 1746 (otl_base_validate): Fix calls to otl_axis_table_validate. 1747 1748 * src/otlayout/otlgdef.c (otl_attach_list_validate): Fix call to 1749 otl_attach_point_validate. 1750 (otl_caret_value_validate): Add missing variable declaration. 1751 Fix call to otl_device_table_validate. 1752 (otl_ligature_glyph_validate): Fix call to otl_caret_value_validate. 1753 (otl_ligature_caret_list_validate): Fix call to 1754 otl_ligature_glyph_validate. 1755 (otl_gdef_validate): Fix calls to otl_class_definition_validate, 1756 otl_attach_list_validate, otl_ligature_caret_list_validate, and 1757 otl_class_definition_validate. 1758 1759 * src/otlayout/otltable.h (otl_table_validate, otl_table_init, 1760 otl_table_set_script): Comment out. 1761 1762 * src/otlayout/otlparse.h (OTL_ParserRec): 1763 s/OTL_Alternate/OTL_GSUB_Alternate/. 1764 (OTL_ParseError): Add OTL_Err_Parser_Memory and 1765 OTL_Err_Parser_Internal. 1766 (otl_parser_error): Fix typo. 1767 (otl_parser_check_property): Remove third argument. 1768 1769 * src/otlayout/otlparse.c (otl_string_ensure): 1770 s/OTL_Parse_Err_Memory/OTL_Err_Parser_Memory/. 1771 (OTL_STRING_ENSURE, otl_parser_error, otl_parser_get_index, 1772 otl_parser_replace_1, otl_parser_replace_n): Fix typos. 1773 (OTL_PARSER_UNCOVERED): Removed. 1774 (otl_parser_check_property): Remove third argument. 1775 1776 * src/otlayout/otljstf.c (otl_jstf_priority_validate): Add missing 1777 variable declaration. 1778 1779 * src/otlayout/otlutils.h (OTL_MEM_REALLOC): Fix typo. 1780 17812004-08-11 Danny <dannyboynow@yahoo.com> 1782 1783 * src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close 1784 to NULL. This allows custom close functions to delete the FT_STREAM 1785 object. 1786 17872004-08-11 Werner Lemberg <wl@gnu.org> 1788 1789 Add API to get information about SFNT tables. 1790 1791 * include/freetype/internal/services/svsfnt.h 1792 (FT_SFNT_Table_Info_Func): New typedef. 1793 (SFNT_Table): Add it. 1794 1795 * src/base/ftobjs (FT_Sfnt_Table_Info): New function. 1796 1797 * include/freetype/tttables.h: Updated. 1798 1799 * src/sfnt/sfdriver.c (sfnt_table_info): New function. 1800 (sfnt_service_sfnt_table): Add it. 1801 1802 * docs/CHANGES: Updated. 1803 1804 1805 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10. 1806 1807 * builds/unix/configure.ac (version_info): Set to 9:8:3. 1808 * builds/unix/configure: Updated. 1809 1810 * builds/win32/visualc/index.html, 1811 builds/win32/visualc/freetype.dsp, 1812 builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/. 1813 1814 * builds/freetype.mk (refdoc), README, Jamfile (RefDoc): 1815 s/2.1.9/2.1.10/. 1816 1817 * docs/CHANGES, docs/VERSION.DLL: Updated. 1818 18192004-08-11 Detlef Würkner <TetiSoft@apg.lahn.de> 1820 1821 * src/base/ftrfork.c (FT_Raccess_Guess) 1822 [!FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK]: Remove compiler 1823 warnings. 1824 18252004-08-06 Adam Piotrowski <st_intel@poczta.onet.pl> 1826 1827 * src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte 1828 adjustments are unsigned, not signed. 1829 18302004-08-05 David Turner <david@freetype.org> 1831 1832 `Activate' gray-scale specifying hinting within the TrueType 1833 bytecode interpreter. This is an experimental feature which 1834 should probably be made optional. 1835 1836 * src/truetype/ttgload.c (TT_Process_Simple_Glyph, 1837 load_truetype_glyph): Move the code to set the pedantic_hinting flag 1838 to... 1839 (TT_Load_Glyph): Here. 1840 Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'. 1841 1842 * src/truetype/ttinterp.c (Ins_GETINFO): Return MS rasterizer 1843 version 1.7. 1844 Return rotation and stretching info only if glyph is rotated or 1845 stretched, respectively. 1846 Handle grayscale info. 1847 1848 * src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale' 1849 member. 1850 18512004-08-02 George Williams <gww@silcom.com> 1852 1853 * src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'. 1854 18552004-08-01 Werner Lemberg <wl@gnu.org> 1856 1857 * docs/CHANGES: Updated. 1858 18592004-08-01 George Williams <gww@silcom.com> 1860 1861 FreeType now can read kerning values from PFM files. 1862 1863 * src/type1/t1afm.c (T1_Done_AFM): Renamed to... 1864 (T1_Done_Metrics): This. 1865 Update all callers. 1866 (T1_Read_AFM): Make it static. 1867 Don't enter and leave a frame. 1868 (LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros. 1869 (T1_Read_PFM): New function. 1870 (T1_Read_Metrics): New higher-level function to be used instead of 1871 T1_Read_AFM. 1872 Update all callers. 1873 18742004-07-31 Werner Lemberg <wl@gnu.org> 1875 1876 * src/pcf/pcfread (pcf_load_font), src/bdf/bdfdrivr.c 1877 (BDF_Face_Init), src/truetype/ttgxvar (TT_Get_MM_Var, 1878 tt_face_vary_cvt): Fix compiler warnings. 1879 18802004-07-26 Søren Sandmann <sandmann@daimi.au.dk> 1881 1882 * src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for 1883 face->style_name. 1884 * src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'. 1885 18862004-07-26 Darren J Longhorn <darren.longhorn@redcom.co.uk> 1887 1888 * include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize 1889 five-byte `long' (which is avoided then). 1890 18912004-07-25 Detlef Würkner <TetiSoft@apg.lahn.de> 1892 1893 * src/pcf/pcfdrivr.c (PCF_Set_Pixel_Size): Compare heights, not 1894 ppem values. 1895 (PCF_Set_Point_Size): Don't call PCF_Set_Pixel_Size but provide own 1896 code to compare ppem values. 1897 * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Compare heights, not 1898 ppem values. 1899 (BDF_Set_Point_Size): Don't call BDF_Set_Pixel_Size but provide own 1900 code to compare ppem values. 1901 19022004-07-25 Kornfeld Eliyahu Peter <peter@e-kadmon.net> 1903 1904 * src/sfnt/sfobjs.c (sfnt_load_face): Handle 1905 TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY. 1906 19072004-07-24 Derek B. Noonburg <derekn@foolabs.com> 1908 1909 * src/cff/cffload.c (cff_font_load): Always create inverse mapping. 1910 Even if the charstring count is the same as the CID count, it is 1911 still possible that the font uses a different CID -> GID mapping. 1912 19132004-07-23 Werner Lemberg <wl@gnu.org> 1914 1915 * src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag 1916 found in some Arphic fonts made for Chinese version of Windows 3.1. 1917 19182004-07-17 David Turner <david@freetype.org> 1919 1920 Fixed a dangling pointer bug in the cache code that happened in very 1921 rare cases, i.e., when a new family object was destroyed by an 1922 out-of-memory condition during a glyph node initialization. The 1923 function FTC_Cache_Lookup would flush the cache and restart the 1924 lookup with a bad pointer. 1925 1926 * include/freetype/cache/ftcglyph.h (FTC_FAMILY_TREE): New macro. 1927 (FTC_GCACHE_LOOKUP_CMP): Use it. 1928 Handle reference count in `num_nodes' correctly. 1929 1930 * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily): Use 1931 FTC_FAMILY_FREE. 1932 (FTC_GCache_Lookup): Handle reference count in `num_nodes' correctly. 1933 1934 * src/cache/ftcmanag.c (FTC_Manager_FlushN): Fixed a cache flushing 1935 bug. 1936 1937 * src/truetype/ttinterp.c (Normalize): Fixed a bug that caused 1938 long and unnecessary delays while normalizing huge vectors. 1939 19402004-07-15 Werner Lemberg <wl@gnu.org> 1941 1942 * docs/CHANGES: Updated. 1943 1944 * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler 1945 warning. 1946 19472004-07-15 David Turner <david@freetype.org> 1948 1949 * src/base/ftstroke.c (FT_Stroker_ParseOutline): Single points 1950 are not stroked, preventing a bug with pala.ttf and other 1951 fonts. 1952 1953 * include/freetype/ftstroke.h: Updating documentation comments. 1954 19552004-07-13 Werner Lemberg <wl@gnu.org> 1956 1957 * src/base/ftstroke.c (ft_stroke_border_reverse): Removed. Unused. 1958 19592004-07-12 David Turner <david@freetype.org> 1960 1961 * src/base/ftstroke.c (ft_stroke_border_close): Add second parameter 1962 to indicate reversion of points. 1963 Update all callers. 1964 (ft_stroke_border_reverse): Fix initialization of `point1' and 1965 `tag1'. 1966 1967 * src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation 1968 for transformed glyphs. 1969 19702004-07-11 David Turner <david@freetype.org> 1971 1972 Fix bugs that prevented the stroker to correctly generate stroked 1973 paths from closed paths, i.e., nearly all glyphs in vectorial fonts. 1974 1975 The code is still _very_ buggy though; treat with special care. 1976 1977 * src/base/ftstroke.c (FT_STROKE_TAG_BEGIN_END): New macro. 1978 (ft_stroke_border_reverse): New function. 1979 (ft_stroker_inside): Remove local variable `sigma'; use different 1980 threshold. 1981 (ft_stroker_add_reverse_left): Switch begin/end tags if necessary. 1982 (FT_Stroker_EndSubPath): Call ft_stroker_inside and 1983 ft_stroke_border_reverse. 1984 19852004-06-26 Peter Kovar <peter.kovar@r3.roburnet.sk> 1986 1987 * src/truetype/ttgload.c (load_truetype_glyph): Fix typo. 1988 19892004-06-25 Werner Lemberg <wl@gnu.org> 1990 1991 * src/type1/t1afm.c (afm_atoindex): Fix boundary test. Reported 1992 by Dirck Blaskey. 1993 19942004-06-24 David Turner <david@freetype.org> 1995 1996 1997 * Version 2.1.9 released. 1998 ========================= 1999 2000 2001 * src/truetype/ttgload.c, src/truetype/ttxgvar.c: Removing 2002 compiler warnings. 2003 20042004-06-23 Werner Lemberg <wl@gnu.org> 2005 2006 * include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare 2007 FT_QAlloc_Debug and FT_QRealloc_Debug. 2008 2009 * src/base/ftutil.c (FT_QAlloc): Fix error and debug messages. 2010 (FT_QRealloc): Call FT_QAlloc if original pointer is NULL. 2011 Fix error message. 2012 20132004-06-23 David Turner <david@freetype.org> 2014 2015 * include/freetype/internal/ftmemory.h, src/base/ftutil.c 2016 (FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug, 2017 FT_QRealloc_Debug): New functions that perform allocation without 2018 zero-ing out the corresponding blocks. 2019 2020 * include/freetype/internal/ftmemory.h (FT_MEM_QALLOC, 2021 FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY, 2022 FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY, 2023 FT_QRENEW_ARRAY): New macros. 2024 2025 * src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC. 2026 * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use FT_QNEW_ARRAY. 2027 * src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY. 2028 2029 * src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics, 2030 tt_face_load_gasp): Use FT_QNEW_ARRAY. 2031 (tt_face_load_kern): Use FT_QNEW_ARRAY. 2032 Small optimization in the kerning table verifier; this speeds up 2033 TrueType face opening by about 7%. 2034 (tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC. 2035 2036 * include/freetype/config/ftmodule.h: Changed the order of modules, 2037 putting TrueType and Type 1 first. This dramatically improves the 2038 performance of face open/close operations. For example, putting the 2039 TrueType driver first in the list results in a 5x speedup when 2040 opening `Vera.ttf'. 2041 2042 The very problem is that both the PCF and BDF drivers do a lot more 2043 than necessary to detect that they cannot handle a font file. 2044 20452004-06-22 Werner Lemberg <wl@gnu.org> 2046 2047 * src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties, 2048 pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve 2049 debugging messages. 2050 2051 * src/pcf/pcfdrivr.c (FT_COMPONENT): Move up. 2052 (PCF_Face_Init): Simplify code. 2053 2054 * src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'. 2055 2056 * src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start), 2057 src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/. 2058 2059 * src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs. 2060 Set `default_glyph'. 2061 (BDF_Glyph_Load): Use `default_glyph' for undefined glyph. 2062 2063 * docs/CHANGES: Updated. 2064 20652004-06-21 Werner Lemberg <wl@gnu.org> 2066 2067 * docs/CHANGES: Updated. 2068 20692004-06-21 David Turner <david@freetype.org> 2070 2071 * src/truetype/ttgload.c (TT_Process_Simple_Glyph, 2072 load_truetype_glyph): Don't access (unrounded) 2073 `TT_Size.root.metrics' but (rounded) `TT_Size.metrics'. This fixes 2074 a scaling bug that caused incorrect rendering when the bytecode 2075 interpreter was enabled. 2076 20772004-06-14 Huw D M Davies <h.davies1@physics.ox.ac.uk> 2078 2079 * src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem 2080 based on pixel_width and pixel_height. 2081 (FNT_Size_Set_Pixels): Updated. 2082 20832004-06-14 Werner Lemberg <wl@gnu.org> 2084 2085 * src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h. 2086 Reported by Hyvärinen Jyrki Juhani. 2087 20882004-06-11 Werner Lemberg <wl@gnu.org> 2089 2090 * docs/CHANGES: Updated. 2091 20922004-06-10 David Turner <david@freetype.org> 2093 2094 * src/base/ftobject.c, src/base/fthash.c, src/base/ftexcept.c, 2095 src/base/ftsysio.c, src/base/ftsysmem.c, src/base/ftlist.c: Removed. 2096 Obsolete. 2097 2098 * src/raster/ftraster.c (Alignment, PAlignment): New union to fix 2099 problems with 64bit systems. 2100 (AlignProfileSize): Use it. 2101 21022004-06-08 David Turner <david@freetype.org> 2103 2104 * include/freetype/freetype.h (FT_Glyph_Metrics): Move `lsb_delta' 2105 and `rsb_delta' elements to... 2106 (FT_GlyphSlotRec): Here to retain binary compatibility with older 2107 FreeType versions. 2108 Update all users. 2109 2110 * src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning. 2111 2112 * src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization 2113 of slot->metrics.width and slot->metrics.height when loading a 2114 Windows FNT glyph. Thanks to Huw Davies. 2115 2116 * include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change 2117 return type to FT_Bool. 2118 2119 * src/cache/ftcbasic.c (ftc_basic_family_compare): Change return 2120 type to FT_Bool. 2121 2122 * src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make 2123 the former call the latter, not vice versa. 2124 (FTC_Cache_Done, ftc_cache_done): Ditto. 2125 2126 * src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make 2127 the former call the latter, not vice versa. 2128 (FTC_GCache_Init, ftc_gcache_init): Ditto. 2129 (FTC_GCache_Done, ftc_gcache_done): Ditto. 2130 2131 * src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the 2132 former call the latter, not vice versa. 2133 (FTC_INode_Weight, ftc_inode_weight): Ditto. 2134 2135 * src/cache/ftcmanag.c (ftc_size_node_compare, 2136 ftc_size_node_compare_faceid, ftc_face_node_compare): Change return 2137 type to FT_Bool. 2138 2139 * src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the 2140 former call the latter, not vice versa. 2141 (FTC_SNode_Weight, ftc_snode_weight): Ditto. 2142 (FTC_SNode_Compare, ftc_snode_compare): Ditto. 2143 2144 * src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache 2145 sub-system. 2146 21472004-06-05 Werner Lemberg <wl@gnu.org> 2148 2149 * src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and 2150 `rsb_delta' in slot->metrics and tune side bearings slightly. 2151 21522004-06-04 Werner Lemberg <wl@gnu.org> 2153 2154 * docs/CHANGES: Updated. 2155 21562004-06-04 David Chester <davidchester@qmx.net> 2157 2158 Improve inter-letter spacing for autohinted glyphs. 2159 2160 * include/freetype/freetype.h (FT_Glyph_Metrics): Add elements 2161 `lsb_delta' and `rsb_delta'. 2162 2163 * src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and 2164 `rsb_delta' in slot->metrics and tune side bearings slightly. 2165 21662004-06-04 David Turner <david@freetype.org> 2167 2168 * src/autofit/*: Important fixes to the auto-fitter. The output 2169 now seems to be 100% equivalent to the auto-hinter, while being 2170 about 2% faster (which proves that script-specific algorithm 2171 selection isn't a performance problem). 2172 2173 To test it, change `autohint' to `autofit' in 2174 <freetype/config/ftmodule.h> and recompile. 2175 2176 A few more testing is needed before making this the official 2177 auto-hinting module. 2178 21792004-06-02 Werner Lemberg <wl@gnu.org> 2180 2181 * src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler 2182 warnings. 2183 21842004-06-01 Werner Lemberg <wl@gnu.org> 2185 2186 * src/sfnt/sfobjs.c (tt_face_get_name): Make sure that an English 2187 name record for the Apple platform is preferred to a non-English 2188 entry for the Microsoft platform. Problem reported by HANDA 2189 Ken'ichi. 2190 21912004-05-19 George Williams <gww@silcom.com> 2192 2193 * src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New 2194 auxiliary functions. 2195 (T1_Get_MM_Var): Provide axis tags. 2196 Use mm_axis_unmap and mm_weights_unmap to provide default values 2197 for design and normalized axis coordinates. 2198 2199 * include/freetype/t1tables.h (PS_DesignMapRec): Change type of 2200 `design_points' to FT_Long. 2201 Update all users. 2202 22032004-05-17 Werner Lemberg <wl@gnu.org> 2204 2205 * src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases. 2206 Reported by Mikey Anbary <manbary@vizrt.com>. 2207 22082004-05-15 Werner Lemberg <wl@gnu.org> 2209 2210 * src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name. 2211 22122004-05-15 George Williams <gww@silcom.com> 2213 2214 * src/sfnt/ttload.c (tt_face_load_max_profile): Always set 2215 face->root.num_glyphs. 2216 22172004-05-14 Masatake YAMATO <jet@gyve.org> 2218 George Williams <gww@silcom.com> 2219 2220 * src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly. 2221 22222004-05-14 Werner Lemberg <wl@gnu.org> 2223 2224 * src/cache/ftcbasic.c (ftc_basic_family_compare, 2225 ftc_basic_family_init, ftc_basic_family_get_count, 2226 ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph, 2227 ftc_basic_gnode_compare_faceid): Adjust parameters and return types 2228 to prototypes given in header files from include/freetype/cache. 2229 Use casts to proper types locally. 2230 (ftc_basic_image_family_class, ftc_basic_image_cache_class, 2231 ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): Remove 2232 casts. 2233 2234 * src/cache/ftccback.h: Adjust parameters and return types to 2235 prototypes given in header files from include/freetype/cache. 2236 2237 * src/cache/ftcimage.c (ftc_inode_free, ftc_inode_new, 2238 ftc_inode_weight): Adjust parameters and return types to prototypes 2239 given in header files from include/freetype/cache. Use casts to 2240 proper types locally. 2241 2242 * src/cache/ftcsbits.c (ftc_snode_free, ftc_snode_new, 2243 ftc_snode_weight, ftc_snode_compare): Adjust parameters and return 2244 types to prototypes given in header files from 2245 include/freetype/cache. Use casts to proper types locally. 2246 2247 * src/cache/ftccmap.c (ftc_cmap_node_free, ftc_cmap_node_new, 2248 ftc_cmap_node_weight, ftc_cmap_node_compare, 2249 ftc_cmap_node_remove_faceid): Adjust parameters and return types to 2250 prototypes given in header files from include/freetype/cache. Use 2251 casts to proper types locally. 2252 (ftc_cmap_cache_class): Remove casts. 2253 2254 * src/cache/ftcglyph.c (ftc_gnode_compare, ftc_gcache_init, 2255 ftc_gcache_done): Adjust parameters and return types to prototypes 2256 given in header files from include/freetype/cache. Use casts to 2257 proper types locally. 2258 2259 * src/cache/ftcmanag.c (ftc_size_node_done, ftc_size_node_compare, 2260 ftc_size_node_init, ftc_size_node_reset, 2261 ftc_size_node_compare_faceid, ftc_face_node_init, 2262 ftc_face_node_done, ftc_face_node_compare: Adjust parameters and 2263 return types to prototypes given in header files from 2264 include/freetype/cache. Use casts to proper types locally. 2265 2266 (ftc_size_list_class, ftc_face_list_class): Remove casts. 2267 22682004-05-13 Werner Lemberg <wl@gnu.org> 2269 2270 * src/autohint/ahmodule.c (ft_autohinter_init, ft_autohinter_done): 2271 Use FT_Module as parameter and do a cast to FT_AutoHinter locally. 2272 (autohint_module_class): Remove casts. 2273 2274 * src/base/ftglyph.c (ft_bitmap_glyph_init, ft_bitmap_glyph_copy, 2275 ft_bitmap_glyph_done, ft_bitmap_glyph_bbox, ft_outline_glyph_init, 2276 ft_outline_glyph_done, ft_outline_glyph_copy, 2277 ft_outline_glyph_transform, ft_outline_glyph_bbox, 2278 ft_outline_glyph_prepare): Use FT_Glyph as parameter and do a cast 2279 to FT_XXXGlyph locally. 2280 Use FT_CALLBACK_DEF throughout. 2281 (ft_bitmap_glyph_class, ft_outline_glyph_class): Remove casts. 2282 2283 * src/bdf/bdfdrivr.c (bdf_cmap_init, bdf_cmap_done, 2284 bdf_cmap_char_index, bdf_cmap_char_next): Use FT_CMap as parameter 2285 and do a cast to BDF_CMap locally. 2286 (bdf_cmap_class): Remove casts. 2287 22882004-05-12 Werner Lemberg <wl@gnu.org> 2289 2290 * src/cff/cffgload.h (CFF_Builder): Remove `error'. 2291 * src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace 2292 `Memory_Error' with `Fail' and update all users. 2293 22942004-05-11 Werner Lemberg <wl@gnu.org> 2295 2296 * include/freetype/internal/psaux.h (T1_ParseState): New 2297 enumeration. 2298 (T1_BuilderRec): Replace `path_begun' with `parse_state'. 2299 Remove `error'. 2300 * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace 2301 `Memory_Error' with `Fail' and update all users. 2302 Don't use `builder->error'. 2303 Replace `path_begun' with `parse_state' and check parsing states. 2304 2305 * src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point): 2306 Replace `path_begun' with `parse_state' and check parsing states. 2307 23082004-05-10 George Williams <gww@silcom.com> 2309 2310 * src/truetype/ttxgvar.c (ft_var_load_avar): Do free arrays in case 2311 of error -- `avar' is optional so we can't rely on tt_done_blend 2312 being called automatically. 2313 23142004-05-09 George Williams <gww@silcom.com> 2315 2316 * src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix 2317 error handling. 2318 23192004-05-07 Werner Lemberg <wl@gnu.org> 2320 2321 * src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init, 2322 pfr_face_done, pfr_face_get_kerning, pfr_slot_init, pfr_slot_done, 2323 pfr_slot_load): Don't use PFR_XXX but FT_XXX arguments which are 2324 typecast to the proper PFR_XXX types within the function. 2325 Update code accordingly. 2326 2327 * src/pfr/pfrdrivr.c (pfr_get_kerning, pfr_get_advance, 2328 pfr_get_metrics, pfr_get_service): Don't use PFR_XXX but FT_XXX 2329 arguments which are typecast to the proper PFR_XXX types within the 2330 function. 2331 Update code accordingly. 2332 Use FT_CALLBACK_DEF throughout. 2333 (pfr_metrics_service_rec, pfr_driver_class): Remove casts. 2334 23352004-05-06 Masatake YAMATO <jet@gyve.org> 2336 2337 * src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM. 2338 (*): Rename local variable OffsetToData to offsetToData. 2339 23402004-05-06 Werner Lemberg <wl@gnu.org> 2341 2342 * src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset, 2343 cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access 2344 root fields directly. 2345 * src/cff/cffdrivr.c (Load_Glyph): Access root fields directly. 2346 2347 * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current 2348 frame before calling TT_Vary_Get_Glyph_Deltas. 2349 2350 * src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for 2351 consistency. 2352 (pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index, 2353 pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which 2354 are typecast to the proper PCF_XXX types within the function. 2355 Update code accordingly. 2356 (pcf_cmap_class): Remove casts. 2357 (PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use 2358 PCF_XXX but FT_XXX arguments which are typecast to the proper 2359 PCF_XXX types within the function. 2360 Update code accordingly. 2361 Use FT_CALLBACK_DEF throughout. 2362 (PCF_Set_Point_Size): New wrapper function. 2363 (PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF. 2364 (pcf_driver_class): Remove casts. 2365 23662004-05-04 Steve Hartwell <shspamsink@comcast.net> 2367 2368 * src/truetype/ttobjs.c (tt_driver_done): Fix typo. 2369 23702004-05-04 Werner Lemberg <wl@gnu.org> 2371 2372 * src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init, 2373 BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which 2374 are typecast to the proper BDF_XXX types within the function. 2375 Update code accordingly. 2376 Use FT_CALLBACK_DEF throughout. 2377 (BDF_Set_Point_Size): New wrapper function. 2378 (bdf_driver_class): Remove casts. 2379 2380 * src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface): 2381 Don't use CFF_XXX but FT_XXX arguments which are typecast to the 2382 proper CFF_XXX types within the function. 2383 Update code accordingly. 2384 Use FT_CALLBACK_DEF throughout. 2385 (cff_driver_class): Remove casts. 2386 2387 * src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done, 2388 cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init, 2389 cff_face_init, cff_face_done, cff_driver_init, cff_driver_done): 2390 Don't use CFF_XXX but FT_XXX arguments which are typecast to the 2391 proper CFF_XXX types within the function. 2392 Update code accordingly. 2393 (cff_point_size_reset): New wrapper function. 2394 2395 * src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done, 2396 cid_slot_init, cid_size_done, cid_size_init, cid_size_reset, 2397 cid_face_done, cid_face_init, cid_driver_init, cid_driver_done): 2398 Don't use CID_XXX but FT_XXX arguments which are typecast to the 2399 proper CID_XXX types within the function. 2400 Update code accordingly. 2401 (cid_point_size_reset): New wrapper function. 2402 2403 * src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph): 2404 Don't use CID_XXX but FT_XXX arguments which are typecast to the 2405 proper CID_XXX types within the function. 2406 Update code accordingly. 2407 2408 * src/cid/cidriver.c (cid_get_interface): 2409 Don't use CID_XXX but FT_XXX arguments which are typecast to the 2410 proper CID_XXX types within the function. 2411 Update code accordingly. 2412 Use FT_CALLBACK_DEF. 2413 (t1cid_driver_class): Remove casts. 2414 2415 * src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF. 2416 * src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local 2417 variables (this is done later). 2418 (ft_var_load_avar): Fix call to FT_FRAME_ENTER. 2419 (TT_Get_MM_Var): Fix size for `fvar_fields'. 2420 (TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables 2421 correctly. 2422 2423 * src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if 2424 current size is zero. 2425 24262004-05-03 Steve Hartwell <shspamsink@comcast.net> 2427 2428 * src/truetype/ttobjs.h, src/truetype/ttobjs.c (tt_face_init, 2429 tt_face_done, tt_size_init, tt_size_done, tt_driver_init, 2430 tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are 2431 typecast to the proper TT_XXX types within the function. 2432 Update code accordingly. 2433 2434 * src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes, 2435 Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but 2436 FT_XXX arguments which are typecast to the proper TT_XXX types 2437 within the function. 2438 Update code accordingly. 2439 (tt_driver_class): Remove casts. 2440 24412004-05-02 Werner Lemberg <wl@gnu.org> 2442 2443 * src/sfnt/ttload.c (tt_face_free_names): Check that `table->names' 2444 is not NULL. Reported by Gordon Childs <gchilds@quickcut.com.au>. 2445 24462004-04-29 Werner Lemberg <wl@gnu.org> 2447 2448 * docs/formats.txt: Add more information on PFR format. 2449 24502004-04-28 Werner Lemberg <wl@gnu.org> 2451 2452 * docs/formats.txt: New file. 2453 * docs/CHANGES: Updated. 2454 24552004-04-28 Masatake YAMATO <jet@gyve.org> 2456 2457 * include/freetype/internal/tttypes.h (GX_BlendRec_) 2458 [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix a typo. 2459 2460 * src/truetype/ttgxvar.h (GX_BlendRec_): Fix a typo. 2461 24622004-04-27 Masatake YAMATO <jet@gyve.org> 2463 2464 * src/truetype/ttgxvar.h: Use FT_LOCAL instead of FT_LOCAL_DEF 2465 for function declarations. 2466 24672004-04-25 George Williams <gww@silcom.com> 2468 2469 * src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo. 2470 24712004-04-25 Werner Lemberg <wl@gnu.org> 2472 2473 * src/truetype/Jamfile, docs/CHANGES: Updated. 2474 24752004-04-24 Werner Lemberg <wl@gnu.org> 2476 2477 * src/pcf/pcfdrivr.c: Revert change from 2004-04-17. 2478 * src/pcf/pcfutil.c: Use FT_LOCAL_DEF. 2479 * src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H. 2480 Use FT_BEGIN_HEADER and FT_END_HEADER. 2481 Use FT_LOCAL. 2482 24832004-04-24 George Williams <gww@silcom.com> 2484 2485 Add support for Apple's distortable font technology (in GX fonts). 2486 2487 * devel/ftoption.h, include/freetype/config/ftoption.h 2488 (TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro. 2489 2490 * include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style, 2491 FT_MM_Var): New structures. 2492 (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates, 2493 FT_Set_Var_Blend_Coordinates): New function declarations. 2494 2495 * include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func, 2496 FT_Set_Var_Design_Func): New typedefs. 2497 Update MultiMasters service. 2498 2499 * include/freetype/internal/tttypes.h 2500 [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H. 2501 (GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef. 2502 (TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend' 2503 and `blend'. 2504 2505 * include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New 2506 macros. 2507 2508 * include/freetype/internal/fttrace.h: Add `ttgxvar'. 2509 2510 * src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates, 2511 FT_Set_Var_Blend_Coordinates): New functions. 2512 2513 * src/sfnt/sfobjs.c (sfnt_load_face) 2514 [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS 2515 flag for GX var fonts. 2516 2517 * src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files. 2518 2519 * src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include 2520 ttgxvar.c. 2521 2522 * src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include 2523 FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h. 2524 (tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: 2525 New service. 2526 (tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated. 2527 2528 * src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include 2529 ttgxvar.h. 2530 (TT_Process_Simple_Glyph, load_truetype_glyph) 2531 [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Support GX var fonts. 2532 2533 * src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include 2534 ttgxvar.h. 2535 (tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call 2536 tt_done_blend. 2537 2538 * src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include 2539 ttgxvar.h. 2540 (tt_face_load_cvt) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call 2541 tt_face_vary_cvt. 2542 2543 * src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c. 2544 2545 * src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var 2546 and T1_Set_Var_Design. 2547 2548 * src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros. 2549 (T1_Get_MM_Var, T1_Set_Var_Design): New functions. 2550 2551 * src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New 2552 function declarations. 2553 25542004-04-23 Werner Lemberg <wl@gnu.org> 2555 2556 * include/freetype/ftcache.h (FT_Get_CharMap_Index): Rename 2557 declaration and move to... 2558 * include/freetype/freetype.h (FT_Get_Charmap_Index): Here. 2559 (FREETYPE_PATCH): Set to 9. 2560 2561 * src/base/ftobjs.c (FT_Get_Charmap_Index): New function. 2562 2563 * builds/unix/configure.ac (version_info): Set to 9:7:3. 2564 * builds/unix/configure: Updated. 2565 2566 * builds/win32/visualc/index.html, 2567 builds/win32/visualc/freetype.dsp, 2568 builds/win32/visualc/freetype.vcproj: s/218/219/. 2569 2570 * builds/freetype.mk (refdoc), README, Jamfile (RefDoc): 2571 s/2.1.8/2.1.9/. 2572 2573 * docs/CHANGES, docs/VERSION.DLL: Updated. 2574 25752004-04-21 Werner Lemberg <wl@gnu.org> 2576 2577 * src/cff/cffparse.c (cff_parser_run), src/psaux/psobjs.c 2578 (ps_parser_load_field): Use FT_CHAR_BIT. 2579 25802004-04-21 David Turner <david@freetype.org> 2581 2582 2583 * Version 2.1.8 released. 2584 ========================= 2585 2586 2587 * src/cff/cffobjs.c (cff_face_init): Fix a small memory leak. 2588 2589 * src/autofit/afloader.c (af_loader_load_g), src/autofit/afmodule.c 2590 (af_autofitter_load_glyph), src/base/ftdebug.c (FT_Trace_Get_Name): 2591 Remove compiler warnings. 2592 2593 * src/autofit/aftypes.h: Undefine AF_DEBUG. 2594 2595 * src/lzw/zopen.c (rmask), src/pcf/pcfdrivr.c (pcf_service_bdf, 2596 pcf_services), src/pcf/pcfread.c (tableNames), src/psaux/psobjs.c 2597 (ft_char_table), src/type42/t42drivr.c (t42_service_glyph_dict, 2598 t42_service_ps_font_name): Decorate data arrays with `const' to 2599 avoid populating the `.data' segment. 2600 2601 * src/lzw/Jamfile: New file. 2602 26032004-04-20 Werner Lemberg <wl@gnu.org> 2604 2605 * src/psaux/psobjs.c (T1Radix): Renamed to... 2606 (ps_radix): This. 2607 Update current cursor position. 2608 2609 * docs/CHANGES: Updated. 2610 26112004-04-18 Werner Lemberg <wl@gnu.org> 2612 2613 * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph), 2614 src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to 2615 FT_UInt. From Lex Warners. 2616 26172004-04-17 Chisato Yamauchi <cyamauch@a.phys.nagoya-u.ac.jp> 2618 2619 * src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change 2620 from 2004-03-19. 2621 2622 * src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'. 2623 2624 * src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with 2625 `static'. 2626 Remove unused function `RepadBitmap'. 2627 * src/pcf/pcfdrivr.c: Don't include pcfutil.h. 2628 26292004-04-16 Werner Lemberg <wl@gnu.org> 2630 2631 * builds/unix/freetype-config.in (usage): Fix and improve usage 2632 information. 2633 26342004-04-15 Werner Lemberg <wl@gnu.org> 2635 2636 * builds/unix/ftconfig.in, builds/vms/ftconfig.h: Define 2637 FT_CHAR_BIT. 2638 2639 * src/base/ftobjs.c (FT_Load_Glyph): Don't apply autohinting if 2640 glyph is vertically distorted or mirrored. 2641 2642 * src/cff/cffgload.c (cff_slot_load): Handle zero `size' properly 2643 for embedded bitmaps. 2644 2645 * docs/CHANGES: Updated. 2646 26472004-04-15 bytesoftware <bytesoftware@btinternet.com> 2648 2649 * include/freetype/config/ftconfig.h, src/base/ftstream.c 2650 (FT_Stream_ReadFields): More fixes using FT_CHAR_BIT. 2651 26522004-04-14 Werner Lemberg <wl@gnu.org> 2653 2654 * include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro. 2655 26562004-04-14 Alex Strelnikov <ptktyrf@mail.ru> 2657 2658 * src/cache/ftcsbits.c (ftc_snode_load): Initialize `*asize' in case 2659 of error. 2660 26612004-04-14 Werner Lemberg <wl@gnu.org> 2662 2663 * src/base/ftmac.c [__GNUC__]: Define OS_INLINE. 2664 * builds/unix/configure.ac: Don't try to remove `-ansi' compilation 2665 switch on the Mac. 2666 2667 * builds/unix/ltmain.sh: Regenerated with `libtoolize --force 2668 --copy' from libtool 1.5.6. 2669 * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from 2670 automake 1.8a. 2671 * builds/unix/configure: Regenerated with autoconf 2.59a. 2672 26732004-04-13 Werner Lemberg <wl@gnu.org> 2674 2675 * include/freetype/config/ftconfig.h: Use CHAR_BIT to define 2676 size of FT_SIZEOF_xxx. 2677 26782004-04-12 Chisato Yamauchi <cyamauch@a.phys.nagoya-u.ac.jp> 2679 2680 * include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func, 2681 TT_Load_SBit_Metrics_Func): New typedefs. 2682 (SFNT_Interface): Add find_sbit_image and load_sbit_metrics. 2683 2684 * src/sfnt/sfdriver.c (sfnt_interface): Updated. 2685 * src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New 2686 declarations. 2687 * src/sfnt/ttsbit.c (find_sbit_image): Renamed to... 2688 (tt_find_sbit_image): This. 2689 Updated all callers. 2690 (load_sbit_metrics): Renamed to... 2691 (tt_load_sbit_metrics): This. 2692 Updated all callers. 2693 26942004-04-12 Werner Lemberg <wl@gnu.org> 2695 2696 * configure: Accept makepp also. 2697 2698 * builds/unix/detect.mk: Use proper path to unix-def.mk. 2699 * builds/unix/unix-def.in (BUILD_DIR, PLATFORM): Remove. 2700 * builds/unix/unix.mk (BUILD_DIR, PLATFORM): Define. 2701 Use BUILD_DIR. 2702 2703 * docs/INSTALL, docs/INSTALL.GNU, docs/INSTALL.UNX: Update 2704 documentation on makepp. 2705 27062004-04-11 Werner Lemberg <wl@gnu.org> 2707 2708 * src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h. 2709 27102004-04-10 Werner Lemberg <wl@gnu.org> 2711 2712 * src/lzw/ftlzw.c: Include zopen.h dependent on 2713 FT_CONFIG_OPTION_USE_LZW. 2714 2715 * src/base/ftdebug.c: s/index/idx/ to avoid compiler warnings. 2716 27172004-04-02 Werner Lemberg <wl@gnu.org> 2718 2719 * builds/unix/ltmain.sh: Regenerated with `libtoolize --force 2720 --copy' from libtool 1.5.2. 2721 * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from 2722 automake 1.8a. 2723 * builds/unix/configure: Regenerated with autoconf 2.59a. 2724 27252004-04-01 Werner Lemberg <wl@gnu.org> 2726 2727 * builds/unix/ft-munmap.m4 (FT_MUNMAP_PARAM): Fix arguments of 2728 AC_COMPILE_IFELSE. 2729 * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from 2730 automake 1.8a. 2731 * builds/unix/configure: Regenerated with autoconf 2.59a. 2732 * builds/unix/config.guess, builds/unix/config.sub: Updated from 2733 `config' CVS module at subversions.gnu.org. 2734 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from 2735 `texinfo' CVS module at subversions.gnu.org. 2736 * builds/freetype.mk (refdoc): Updated. 2737 27382004-03-31 Werner Lemberg <wl@gnu.org> 2739 2740 Handle broken FNT files which don't have a trailing NULL byte 2741 in the face name string. 2742 2743 * src/winfonts/winfnt.h (FNT_FontRec): New member `family_name'. 2744 * src/winfonts/winfnt.c (fnt_font_done): Free font->family_name. 2745 (FNT_Face_Init): Append a final zero byte to the font face name. 2746 27472004-03-30 Werner Lemberg <wl@gnu.org> 2748 2749 * src/sfnt/ttload.c (tt_face_load_sfnt_header): Fix change from 2750 2004-03-19. 2751 27522004-03-27 Werner Lemberg <wl@gnu.org> 2753 2754 * src/base/descrip.mms (OBJS): Add ftbbox.obj. 2755 27562004-03-26 George Williams <gww@silcom.com> 2757 2758 Add vertical phantom points. 2759 2760 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add 2761 `top_bearing', `vadvance', `pp3', and `pp4'. 2762 2763 * src/autofit/afloader.c (af_loader_load_g): Handle two more points. 2764 2765 * src/autohint/ahhint.c (ah_hinter_load): Handle two more points. 2766 * src/truetype/ttgload.c (Get_VMetrics): New function. 2767 (TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more 2768 points. 2769 (load_truetype_glyph): Use Get_VMetrics. 2770 Handle two more points. 2771 (compute_glyph_metrics): Thanks to vertical phantom points we now 2772 can always compute `advance_height' and `top_bearing'. 2773 * src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom 2774 points. 2775 2776 2777 * src/autohint/ahglyph.c (ah_outline_load): Fix allocation of 2778 `news'. 2779 27802004-03-21 Werner Lemberg <wl@gnu.org> 2781 2782 * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing. 2783 27842004-03-20 Steve Hartwell <shspamsink@comcast.net> 2785 2786 * src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Handle a NULL 2787 value for `selection' as `select all'. 2788 27892004-03-19 Steve Hartwell <shspamsink@comcast.net> 2790 2791 * src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index 2792 values > 0 if loading non-TTC fonts. 2793 2794 * src/base/ftmac.c (open_face_from_buffer): Set positive face_index 2795 to zero before calling FT_Open_Face. 2796 2797 * docs/CHANGES: Updated. 2798 27992004-03-04 Werner Lemberg <wl@gnu.org> 2800 2801 * Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp, 2802 builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h: 2803 Add LZW module. 2804 2805 * Jamfile.in: Removed. 2806 2807 * docs/CHANGES: Updated. 2808 2809 * include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/, 2810 s/ABS/FT_ABS/. Updated all callers. 2811 2812 * src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c 2813 (PCF_Face_Init): Use FT_ERROR_BASE. 2814 28152004-03-04 Albert Chin <china@thewrittenword.com> 2816 2817 Add support for PCF fonts compressed with LZW (extension .pcf.Z, 2818 created with `compress'). 2819 2820 * include/freetype/config/ftoption.h, devel/ftoption.h 2821 (FT_CONFIG_OPTION_USE_LZW): New macro. 2822 2823 * include/freetype/ftlzw.h: New file. 2824 * include/freetype/config/ftheader.h (FT_LZW_H): New macro for 2825 ftlzw.h. 2826 2827 * src/lzw/*: New files. 2828 2829 * src/pcf/pcfdrivr.c: Include FT_LZW_H. 2830 (PCF_Face_Init): Try LZW also. 2831 2832 * src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate. 2833 Beautify. 2834 28352004-03-03 Werner Lemberg <wl@gnu.org> 2836 2837 * src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code. 2838 28392004-03-02 Werner Lemberg <wl@gnu.org> 2840 2841 Add embedded bitmap support to CFF driver. 2842 2843 * src/cff/cffobjs.h (CFF_SizeRec): New structure. 2844 2845 * src/cff/cffgload.c (cff_builder_init): Updated. 2846 (cff_slot_load): Updated. 2847 [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Load sbit. 2848 2849 * src/cff/cffobjs.c (sbit_size_reset) 2850 [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New function. 2851 (cff_size_get_globals_funcs, cff_size_done, cff_size_init): Updated. 2852 (cff_size_reset): Updated. 2853 [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Call sbit_size_reset. 2854 2855 * src/cff/cffdrivr.c (Load_Glyph): Updated. 2856 (cff_driver_class): Use CFF_SizeRec. 2857 2858 * docs/CHANGES: Updated. 2859 28602004-03-01 Werner Lemberg <wl@gnu.org> 2861 2862 * src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use 2863 FT_RoundFix but FT_PIX_ROUND. 2864 (psh_blues_snap_stem): Don't use blue_shift but blue_threshold. 2865 2866 * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro. 2867 (psh_glyph_find_strong_points): Use PSH_STRONG_THRESHOLD_MAXIMUM. 2868 (psh_glyph_find_blue_points): New function. Needed for fonts like 2869 p052003l.pfb (URW Palladio L Roman) which have flex curves at the 2870 base line within blue zones, but the flex curves aren't covered by 2871 hints. 2872 (ps_hints_apply): Use psh_glyph_find_blue_points. 2873 28742004-02-27 Garrick Meeker <garrick@digitalanarchy.com> 2875 2876 * builds/unix/configure.ac: Fix compiler flags for 2877 `--with-old-mac-fonts'. 2878 * builds/unix/configure: Regenerated. 2879 2880 * src/base/ftmac.c: s/TARGET_API_MAC_CARBON/!TARGET_API_MAC_OS8/. 2881 (FT_New_Face_From_Resource): New function. 2882 (FT_New_Face): Use FT_New_Face_From_Resource. 2883 (FT_New_Face_From_FSSpec): Use FT_New_Face_From_Resource. 2884 [__MWERKS__]: Don't include FSp_fopen.h. 2885 28862004-02-26 Werner Lemberg <wl@gnu.org> 2887 2888 * src/pshinter/pshglob.c (psh_globals_new): Fix value of 2889 `dim->stdw.count'. 2890 Don't assign default values to blue scale and blue shift. 2891 28922004-02-25 Werner Lemberg <wl@gnu.org> 2893 2894 * docs/CHANGES: Updated. 2895 28962004-02-25 Garrick Meeker <garrick@digitalanarchy.com> 2897 Steve Hartwell <shspamsink@comcast.net> 2898 2899 Improve MacOS fond support. Provide a new API 2900 `FT_New_Face_From_FSSpec' similar to `FT_New_Face'. 2901 2902 * src/base/ftmac.c [__MWERKS__]: Include FSp_fopen.h. 2903 STREAM_FILE [__MWERKS__]: New macro. 2904 (ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions. 2905 (file_spec_from_path) [__MWERKS__]: Updated #if statement. 2906 (get_file_type, make_lwfn_spec): Use `const' for argument. 2907 (is_dfont) [TARGET_API_MAC_CARBON]: Removed. 2908 (count_face_sfnt, count_faces): New functions. 2909 (parse_fond): Do some range checking. 2910 (read_lwfn): Change type of second argument. 2911 No longer call FSpOpenResFile. 2912 (OpenFileAsResource): New function. 2913 (FT_New_Face_From_LWFN): Use `const' for second argument. 2914 Use OpenFileAsResource. 2915 (FT_New_Face_From_Suitcase): Change type of second argument. 2916 No longer call FSpOpenResFile. 2917 Loop over all resource indices. 2918 (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed. 2919 (FT_GetFile_From_Mac_Name): Use `const' for first argument. 2920 (ResourceForkSize): Removed. 2921 (FT_New_Face): Updated to use new functions. 2922 (FT_New_Face_From_FSSpec): New function. 2923 2924 * include/freetype/ftmac.h: Updated. 2925 29262004-02-24 Malcolm Taylor <mtaylor@clear.net.nz> 2927 2928 * src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>: 2929 Handle case where outline->num_vedges is zero while computing hinted 2930 metrics. 2931 29322004-02-24 Gordon Childs <gchilds@quickcut.com.au> 2933 2934 * src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value 2935 for `count'. 2936 29372004-02-24 Werner Lemberg <wl@gnu.org> 2938 2939 * include/freetype/t1tables.h (PS_PrivateRec): Add 2940 `expansion_factor'. 2941 2942 * src/pshinter/pshglob (psh_blues_scale_zones): Fix computation 2943 of blues->no_overshoots -- `blues_scale' is stored with a 2944 magnification of 1000, and `scale' returns fractional pixels. 2945 2946 * src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift', 2947 `blue_fuzz', `expansion_factor', and `blue_scale' according to the 2948 Type 1 specification. 2949 2950 * src/type1/t1tokens.h: Handle `ExpansionFactor'. 2951 2952 * docs/CHANGES: Updated. 2953 29542004-02-24 Masatake YAMATO <jet@gyve.org> 2955 2956 Provide generic access to MacOS resource forks. 2957 2958 * src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New 2959 files. 2960 2961 * src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H. 2962 (Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments 2963 `resource_listoffset' and `resource_data' and adapt code 2964 accordingly. These values are calculated outside of the function 2965 now. 2966 Add new argument `offsets'. 2967 (IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and 2968 `FT_Raccess_Get_DataOffsets'. 2969 (load_face_in_embedded_rfork): New function. 2970 (load_mac_face): Use load_face_in_embedded_rfork. 2971 (ft_input_stream_new): Renamed to... 2972 (FT_Stream_New): This. Use FT_BASE_DEF. Updated all callers. 2973 (ft_input_stream_free): Renamed to... 2974 (FT_Stream_Free): This. Use FT_BASE_DEF. Updated all callers. 2975 2976 * src/base/ftbase.c: Include ftrfork.c. 2977 2978 * src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated. 2979 2980 * include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H): 2981 New macro. 2982 2983 * include/freetype/internal/fttrace.h: Added `rfork' as a new 2984 trace definition. 2985 2986 * include/freetype/internal/ftstream.h: Declare FT_Stream_New and 2987 FT_Stream_Free. 2988 2989 * include/freetype/config/ftoption.h, devel/ftoption.h 2990 (FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option. 2991 2992 * include/freetype/config/ftstdlib.h (ft_strrchr): New macro. 2993 29942004-02-23 Werner Lemberg <wl@gnu.org> 2995 2996 * docs/CHANGES: Updated. 2997 2998 * include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H. 2999 30002004-02-23 Masatake YAMATO <jet@gyve.org> 3001 3002 Provide a simple API to control FreeType's tracing levels. 3003 3004 * include/freetype/internal/ftdebug.h (FT_Trace_Get_Count, 3005 FT_Trace_Get_Name): New declarations. 3006 3007 * src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New 3008 functions. 3009 30102004-02-23 David Turner <david@freetype.org> 3011 3012 * src/autofit/afhints.c, src/autofit/afhints.h, 3013 src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave 3014 bugs have been fixed. The auto-fitter works, doesn't crash, but 3015 still produces unexpected results... 3016 30172004-02-21 Werner Lemberg <wl@gnu.org> 3018 3019 * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold 3020 the accepted shift for strong points in fractional pixels (which 3021 is a heuristic value). 3022 (psh_glyph_find_strong_points): Compute threshold for 3023 psh_hint_table_find_strong_points. 3024 (psh_hint_table_find_strong_point): Add parameter to pass threshold. 3025 30262004-02-20 Werner Lemberg <wl@gnu.org> 3027 3028 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call 3029 ps_mask_table_alloc but ps_mask_table_last. 3030 (ps_hints_t2mask): Use correct position and number for vertical 3031 and horizontal hinter mask bits. 3032 3033 * docs/CHANGES: Updated. 3034 30352004-02-19 Werner Lemberg <wl@gnu.org> 3036 3037 * src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling. 3038 * src/cff/cffdrivr.c (cff_get_cmap_info): Remove compiler warning. 3039 30402004-02-18 Werner Lemberg <wl@gnu.org> 3041 3042 * include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly. 3043 3044 * src/base/ftglyph.c (ft_bitmap_glyph_class, 3045 ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF. 3046 3047 * src/smooth/ftsmooth.c (ft_smooth_render): Handle 3048 FT_RENDER_MODE_LIGHT. 3049 30502004-02-17 Werner Lemberg <wl@gnu.org> 3051 3052 Fix callback functions in cache module. 3053 3054 * src/cache/ftccback.h: New file for callback declarations. 3055 3056 * src/cache/ftcbasic.c (ftc_basic_family_compare, 3057 ftc_basic_family_init, ftc_basic_family_get_count, 3058 ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph, 3059 ftc_basic_gnode_compare_faceid): Use FT_CALLBACK_DEF. 3060 (ftc_basic_image_family_class, ftc_basic_image_cache_class, 3061 ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): 3062 Use FT_CALLBACK_TABLE_DEF and local wrapper functions. 3063 3064 * src/cache/ftccache.c: Include ftccback.h. 3065 (ftc_cache_init, ftc_cache_done): New wrapper functions which use 3066 FT_LOCAL_DEF. 3067 3068 * src/cache/ftccmap.c: Include ftccback.h. 3069 (ftc_cmap_cache_class): Use local wrapper functions. 3070 3071 * src/cache/ftcglyph.c: Include ftccback.h. 3072 (ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): New wrapper 3073 functions which use FT_LOCAL_DEF. 3074 3075 * src/cache/ftcimage.c: Include ftccback.h. 3076 (ftc_inode_free, ftc_inode_new, ftc_inode_weight): New wrapper 3077 functions which use FT_LOCAL_DEF. 3078 3079 * src/cache/ftcmanag.c (ftc_size_list_class, ftc_face_list_class): 3080 Use FT_CALLBACK_TABLE_DEF. 3081 3082 * src/cache;/ftcsbits.c: Include ftccback.h. 3083 (ftc_snode_free, ftc_snode_new, ftc_snode_weight, 3084 ftc_snode_compare): New wrapper functions which use FT_LOCAL_DEF. 3085 3086 * src/cache/rules.mk (CACHE_DRV_H): Add ftccback.h. 3087 30882004-02-17 Masatake YAMATO <jet@gyve.org> 3089 3090 * include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo 3091 (FT_EXPORT_DEF -> FT_EXPORT). 3092 3093 * include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto. 3094 30952004-02-15 Werner Lemberg <wl@gnu.org> 3096 3097 * src/base/ftobjs.c (FT_Set_Char_Size): Fix typo. 3098 30992004-02-14 Masatake YAMATO <jet@gyve.org> 3100 3101 * builds/unix/ftsystem.c: Include errno.h. 3102 (ft_close_stream): Renamed to... 3103 (ft_close_stream_by_munmap): This. 3104 (ft_close_stream_by_free): New function. 3105 (FT_Stream_Open): Use fallback method if mmap fails. 3106 Use proper function for closing the stream. 3107 31082004-02-14 Werner Lemberg <wl@gnu.org> 3109 3110 * src/type1/t1load.c (parse_dict): Initialize `start_binary'. 3111 31122004-02-13 Robert Etheridge <roberte@stcc.cc.tx.us> 3113 3114 * src/type42/t42objs.c (T42_Face_Init), src/type1/t1objs.c 3115 (T1_Face_Init), src/cid/cidobjs.c (cid_face_init): Fix computation 3116 of underline_position and underline_thickness. 3117 31182004-02-12 Werner Lemberg <wl@gnu.org> 3119 3120 * src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if 3121 ppem values don't change. Suggested by Graham Asher. 3122 31232004-02-11 Werner Lemberg <wl@gnu.org> 3124 3125 * src/cid/cidload.c (cid_face_open): Always allocate 3126 face->cid_stream so that we can deallocate it safely. 3127 31282004-02-10 Werner Lemberg <wl@gnu.org> 3129 3130 Make the PS parser more tolerant w.r.t. non-standard font data. In 3131 general, an error is only reported in case of a syntax error; a 3132 wrong type is now simply ignored (if possible). To be independent 3133 of the order of various MM-specific keywords, the parse_shared_dict 3134 routine has been removed -- the PS parser is now capable to skip 3135 this data. It no longer fails on parsing e.g. 3136 3137 dup /WeightVector exch def 3138 3139 Since the token following /WeightVector isn't `[' (starting an 3140 array) it is simply ignored. 3141 3142 * include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a 3143 new internal error value. 3144 3145 * src/type1/t1load.c (parse_blend_axis_types, 3146 parse_blend_design_positions, parse_blend_design_map): Return 3147 T1_Err_Ignore if no proper array is following the keyword. 3148 (parse_weight_vector): Use T1_ToTokenArray, initializing `blend' 3149 structure, if necessary. 3150 Return T1_Err_Ignore if no proper array is following the keyword. 3151 (parse_shared_dict): Removed. 3152 (parse_encoding): Set parser->root.error to return T1_Err_Ignore 3153 if no result can be obtained. 3154 Check for errors before accessing `elements' array. 3155 (t1_keywords): Remove /shareddict. 3156 (parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore. 3157 Set keyword_flag only in case of success. 3158 Check error code if skipping an unrecognized token. 3159 (T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend 3160 if blend commands haven't set up a proper MM font. 3161 3162 * src/psaux/psobjs.c (ps_parser_load_field_table): Remove special 3163 code for synthetic fonts. 3164 Return PSaux_Err_Ignore if no proper value has been found. 3165 31662004-02-09 Werner Lemberg <wl@gnu.org> 3167 3168 * src/cff/cffgload.c (cff_decoder_parse_charstrings) 3169 <cff_op_endchar>: Preserve glyph width before calling 3170 cff_operator_seac. 3171 31722004-02-09 Martin Muskens <mmuskens@aurelon.com> 3173 3174 * src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special 3175 first argument for `hintmask' and `cntrmask' operators also. 3176 31772004-02-08 Werner Lemberg <wl@gnu.org> 3178 3179 * builds/unix/configure.in: Call AC_SUBST for `enable_shared', 3180 `hardcode_libdir_flag_spec', and `wl'. 3181 * builds/unix/configure: Regenerated. 3182 3183 * builds/unix/freetype-config.in: Make --prefix and --exec-prefix 3184 actually work. 3185 Report a proper --rpath (or -R) value for --libs argument if a 3186 shared library has been built. 3187 3188 * docs/CHANGES: Updated. 3189 31902004-02-07 Keith Packard <keithp@keithp.com> 3191 3192 * src/bdf/bdfdrivr.c (BDF_Face_Init, BDF_Set_Pixel_Size): Fix 3193 computation of various vertical and horizontal metric values. 3194 3195 * src/pcfdrivr.c (PCF_Set_Pixel_Size), src/pcfread (pcf_load_font): 3196 Ditto. 3197 31982004-02-07 Werner Lemberg <wl@gnu.org> 3199 3200 * builds/win32/visualc/index.html, 3201 builds/win32/visualc/freetype.dsp, 3202 builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated. 3203 32042004-02-07 Vitaliy Pasternak <v_a_pasternak@mail.ru> 3205 3206 * builds/win32/visualc/freetype.sln, 3207 builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003. 3208 32092004-02-03 Werner Lemberg <wl@gnu.org> 3210 3211 * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): 3212 Initialize `node'. 3213 * src/type1/t1load.c (parse_dict): Initialize `have_integer'. 3214 32152004-02-02 Werner Lemberg <wl@gnu.org> 3216 3217 * src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands 3218 outside of /Subrs or /CharStrings. This can happen if there is 3219 additional code manipulating those two arrays so that FreeType 3220 doesn't recognize them properly. 3221 (T1_Open_Face): Improve an error message. 3222 32232004-02-01 Werner Lemberg <wl@gnu.org> 3224 3225 * src/type1/t1load.c (parse_charstrings): Exit immediately if 3226 there are no elements in /CharStrings. This is needed for fonts 3227 like Optima-Oblique which not only define /CharStrings but access it 3228 also. 3229 32302004-02-01 David Turner <david@freetype.org> 3231 3232 * src/sfnt/Jamfile: Removing `ttcmap' from the list of sources. 3233 3234 * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) 3235 <FTC_INLINE>: Provide macro version which doesn't use inline code. 3236 * include/freetype/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP) 3237 <FTC_INLINE>: Ditto. 3238 Use FTC_MRULIST_LOOKUP_CMP. 3239 * include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): New 3240 macro. 3241 (FTC_MRULIST_LOOKUP): Use it. 3242 3243 * src/cache/Jamfile (_sources), src/cache/descrip.mms: Updated. 3244 * src/cache/ftcbasic.c: Fix compiler warnings. 3245 * src/cache/ftcmanag.c (FTC_Manager_LookupSize, 3246 FTC_Manager_LookupFace) <FTC_INLINE>: Use FTC_MRULIST_LOOKUP_CMP. 3247 * src/cache/ftcmru.c (FTC_MruList_Find): Fix a bug (found after 3248 heavy testing). 3249 3250 * Jamfile: Updating `refdoc' target, and adding `autohint' to the 3251 list of modules to build. Both the autohinter and autofitter will 3252 be built by default. But which one will be used is determined by 3253 the content of `ftmodule.h'. 3254 3255 * src/autofit/*: Many updates, but the code is still buggy... 3256 32572004-01-31 Werner Lemberg <wl@gnu.org> 3258 3259 * src/cff/cffgload.c (cff_operator_seac): Fix magnitude of 3260 accent offset. 3261 Update code similarly to the seac support for Type 1 fonts. 3262 (cff_decoder_parse_charstrings) <cff_op_endchar>: Fix magnitude 3263 of accent offset. 3264 Don't hint glyphs twice if seac is emulated. 3265 <cff_op_flex>: Assign correct point tags. 3266 * docs/CHANGES: Updated. 3267 32682004-01-30 Werner Lemberg <wl@gnu.org> 3269 3270 * src/type1/t1parse.c (T1_Get_Private_Dict): Use FT_MEM_MOVE, not 3271 FT_MEM_COPY, for copying the private dict. 3272 3273 * src/type1/t1load.c (parse_subrs): Assign number of subrs only 3274 in first run. 3275 (parse_charstrings): Parse /CharStrings in second run without 3276 assigning values. 3277 (parse_dict): Skip all /CharStrings arrays but the first. We need 3278 this for non-standard fonts like `Optima' which have different 3279 outlines depending on the resolution. Note that there is no 3280 guarantee that we get fitting /Subrs and /CharStrings arrays; this 3281 can only be done by a real PS interpreter. 3282 32832004-01-29 Antoine Leca <Antoine-Freetype@Leca-Marti.org> 3284 3285 * builds/win32/visualc/index.html: New file, giving detailed 3286 explanations about forcing CR+LF line endings for the VC++ project 3287 files. 3288 32892004-01-22 Garrick Meeker <garrick@digitalanarchy.com> 3290 3291 * src/cff/cffload.c (cff_subfont_load): Initialize `dict'. 3292 32932004-01-22 Werner Lemberg <wl@gnu.org> 3294 3295 Add support for the hexadecimal representation of binary data 3296 started with `StartData' in CID-keyed Type 1 fonts. 3297 3298 * include/freetype/internal/t1types.h (CID_FaceRec): Add new 3299 members `binary_data' and `cid_stream'. 3300 3301 * src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'. 3302 (cid_hex_to_binary): New auxiliary function. 3303 (cid_face_open): Add new argument `face_index' to return quickly 3304 if less than zero. Updated all callers. 3305 Call `cid_hex_to_binary', then open and assign memory stream to 3306 `face->cid_stream' if `parser->binary_length' is non-zero. 3307 * src/cid/cidload.h: Updated. 3308 3309 * src/cid/cidobjs.c (cid_face_done): Free `binary_data' and 3310 `cid_stream'. 3311 3312 * src/cid/cidparse.c (cid_parser_new): Check arguments to 3313 `StartData' and set parser->binary_length accordingly. 3314 * src/cid/cidparse.h (CID_Parser): New member `binary_length'. 3315 3316 * src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'. 3317 3318 * docs/CHANGES: Updated. 3319 33202004-01-21 Werner Lemberg <wl@gnu.org> 3321 3322 include/freetype/config/ftstdlib.h (ft_atoi): Replaced with... 3323 (ft_atol): This. 3324 * src/base/ftdbgmem.c: s/atol/ft_atol/. 3325 * src/type42/t42drivr.c: s/ft_atoi/ft_atol/. 3326 33272004-01-20 Masatake YAMATO <jet@gyve.org> 3328 3329 * include/freetype/ftcache.h: Delete duplicated definition of 3330 FTC_FaceID. 3331 3332 * src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap 3333 Info service function if the cmap comes from sfnt. Return 0 if the 3334 cmap is synthesized in cff module. 3335 33362004-01-20 David Turner <david@freetype.org> 3337 3338 * src/cache/ftcmanag.c (ftc_size_node_compare): Call 3339 FT_Activate_Size. 3340 33412004-01-20 Werner Lemberg <wl@gnu.org> 3342 3343 * src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one 3344 CR, LF, or CR/LF after `eexec'. 3345 33462004-01-18 David Turner <david@freetype.org> 3347 3348 * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Remove compiler 3349 warning. 3350 3351 * src/tools/docmaker/*: Updating beautifier tool. 3352 33532004-01-15 David Turner <david@freetype.org> 3354 3355 * src/base/ftoutln.c (ft_orientation_extremum_compute): Fix 3356 infinite loop bug. 3357 3358 * include/freetype/ftstroke.h: Include FT_GLYPH_H. 3359 (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New 3360 declarations. 3361 3362 * src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H. 3363 (FT_Outline_GetOutsideBorder): Inverse result. 3364 (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New 3365 functions. 3366 (FT_Stroker_EndSubPath): Close path if needed. 3367 (FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind. 3368 3369 * include/freetype/cache/ftcmanag.h (FTC_ScalerRec, 3370 FTC_Manager_LookupSize): Moved to... 3371 * include/freetype/ftcache.h (FTC_ScalerRec, 3372 FTC_Manager_LookupSize): Here. 3373 3374 * src/tools/docmaker/docbeauty.py: New file to beautify the 3375 documentation comments (e.g., to convert them to single block border 3376 mode). 3377 * src/tools/docmaker/docmaker.py (file_exists, make_file_list): 3378 Moved to... 3379 * src/tools/docmaker/utils.py (file_exists, make_file_list): Here. 3380 33812004-01-14 David Turner <david@freetype.org> 3382 3383 * include/freetype/internal/ftmemory.h (FT_ARRAY_COPY, 3384 FT_ARRAY_MOVE): New macros to make copying arrays easier. 3385 Updated all relevant code to use them. 3386 33872004-01-14 Werner Lemberg <wl@gnu.org> 3388 3389 * src/cff/cffload.c (cff_font_load): Load charstrings_index earlier. 3390 Use number of charstrings as argument to CFF_Load_FD_Select (as 3391 documented in the CFF specs). 3392 33932004-01-13 Graham Asher <graham.asher@btinternet.com> 3394 3395 * src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of 3396 `glyph->memory' up to free arrays properly in case of failure. 3397 33982004-01-10 Masatake YAMATO <jet@gyve.org> 3399 3400 Make `FT_Get_CMap_Language_ID' work with CFF. Bug reported by 3401 Steve Hartwell <shspamsink@comcast.net>. 3402 3403 * src/cff/cffdrivr.c: Include FT_SERVICE_TT_CMAP_H. 3404 (cff_services): Added an entry for FT_SERVICE_ID_TT_CMAP. 3405 (cff_get_cmap_info): New function. 3406 (cff_service_get_cmap_info) New entry for cff_services. 3407 3408 * src/sfnt/ttcmap0.c: Exit loop after a format match has been found. 3409 Suggested by Steve Hartwell <shspamsink@comcast.net>. 3410 34112004-01-03 Masatake YAMATO <jet@gyve.org> 3412 3413 * src/base/ftobjs.c (destroy_charmaps): New function. 3414 (destroy_face, open_face): Use `destroy_charmaps'. 3415 34162004-01-01 Werner Lemberg <wl@gnu.org> 3417 3418 * docs/CHANGES: Updated. 3419 34202004-01-01 Michael Jansson <mjan@em2-solutions.com> 3421 3422 * src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of 3423 size->metrics.descender. 3424 34252003-12-31 Wolfgang Domröse <porthos.domroese@harz.de> 3426 3427 * src/cff/cffgload.c (cff_decoder_parse_charstrings) 3428 [FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4. 3429 <cff_op_flex1>: Change type of dx and dy to FT_Pos and remove 3430 cast for accessing arguments. 3431 34322003-12-31 Werner Lemberg <wl@gnu.org> 3433 3434 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous 3435 change. It's not necessary. 3436 34372003-12-29 Smith Charles <smith.charles@free.fr> 3438 3439 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated 3440 flags set' correctly. 3441 34422003-12-29 Werner Lemberg <wl@gnu.org> 3443 3444 * src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating 3445 `full' and `weight' properly. 3446 * src/cff/cffgload.c (cff_decoder_parse_charstrings) 3447 <cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for 3448 tracing output. 3449 34502003-12-26 Werner Lemberg <wl@gnu.org> 3451 3452 * include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func): 3453 Use FT_UInt for ppem values. 3454 * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for 3455 ppem values. 3456 * src/sfnt/ttsbit.h: Updated. 3457 3458 * src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values 3459 larger than -0FFFF. 3460 34612003-12-25 Werner Lemberg <wl@gnu.org> 3462 3463 * src/base/fttrigon.c, src/base/ftgloadr.c: Include 3464 FT_INTERNAL_OBJECTS_H. 3465 3466 * src/base/ftstroke.c (FT_Outline_GetInsideBorder, 3467 FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with 3468 C++ compilers. 3469 3470 * src/cache/ftcmru.c, include/freetype/cache/ftcmru.h: 3471 s/select/selection/ to avoid compiler warning. 3472 * src/cff/cffload.h: s/select/ftselect/ to avoid potential 3473 compiler warning. 3474 34752003-12-24 Werner Lemberg <wl@gnu.org> 3476 3477 * src/cache/ftcsbits.c (FTC_SNode_Weight): 3478 s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/. 3479 34802003-12-24 David Turner <david@freetype.org> 3481 3482 * Fixed compilation problems in the cache sub-system. 3483 3484 * Partial updates to src/autofit. 3485 3486 * Jamfile (FT2_COMPONENTS): Add autofit module. 3487 34882003-12-23 Werner Lemberg <wl@gnu.org> 3489 3490 * src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle 3491 CID-keyed fonts. 3492 34932003-12-23 David Turner <david@freetype.org> 3494 3495 * include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND, 3496 FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_PIX_CEIL): New macros. 3497 They are used to avoid compiler warnings with very pedantic compilers. 3498 Note that `(x) & -64' causes a warning if (x) is not signed. Use 3499 `(x) & ~63' instead! 3500 Updated all related code. 3501 3502 Add support for extraction of `inside' and `outside' borders. 3503 3504 * src/base/ftstroke.c (FT_StrokerBorder): New enumeration. 3505 (FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder, 3506 FT_Stroker_GetBorderCounts, FT_Stroker_ExportBorder): New functions. 3507 (FT_StrokeBorderRec): New boolean member `valid'. 3508 (ft_stroke_border_get_counts): Updated. 3509 * include/freetype/ftstroke.h: Updated. 3510 35112003-12-22 Werner Lemberg <wl@gnu.org> 3512 3513 * include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions 3514 to describe the `charset' field in FT_WinFNT_HeaderRec. 3515 * src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to 3516 FT_ENCODING_NONE except for FT_WinFNT_ID_MAC. 3517 3518 * include/freetype/freetype.h (FT_Encoding): Improve comment, 3519 based on work by Detlef Würkner <TetiSoft@apg.lahn.de>. 3520 3521 * docs/CHANGES: Updated. 3522 35232003-12-22 David Turner <david@freetype.org> 3524 3525 * include/freetype/ftcache.h, 3526 include/freetype/cache/ftcmanag.h, 3527 include/freetype/cache/ftccache.h, 3528 include/freetype/cache/ftcmanag.h, 3529 include/freetype/cache/ftcmru.h (added), 3530 include/freetype/cache/ftlru.h (removed), 3531 include/freetype/cache/ftcsbits.h, 3532 include/freetype/cache/ftcimage.h, 3533 include/freetype/cache/ftcglyph.h, 3534 src/cache/ftcmru.c, 3535 src/cache/ftcmanag.c, 3536 src/cache/ftccache.c, 3537 src/cache/ftcglyph.c, 3538 src/cache/ftcimage.c, 3539 src/cache/ftcsbits.c, 3540 src/cache/ftccmap.c, 3541 src/cache/ftcbasic.c (added), 3542 src/cache/ftlru.c (removed): 3543 3544 *Complete* rewrite of the cache sub-system to `solve' the 3545 following points: 3546 3547 - all public APIs have been moved to FT_CACHE_H, everything 3548 under `include/freetype/cache' is only needed by client 3549 applications that want to implement their own caches 3550 3551 - a new function named FTC_Manager_RemoveFaceID to deal 3552 with the uninstallation of FaceIDs 3553 3554 - the image and sbit cache are now abstract classes, that 3555 can be extended much more easily by client applications 3556 3557 - better performance in certain areas. Further optimizations 3558 to come shortly anyway... 3559 3560 - the FTC_CMapCache_Lookup function has changed its signature, 3561 charmaps can now only be retrieved by index 3562 3563 - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace 3564 FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in 3565 private header for the moment) 3566 35672003-12-21 Werner Lemberg <wl@gnu.org> 3568 3569 * src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword 3570 is encountered. 3571 35722003-12-19 Werner Lemberg <wl@gnu.org> 3573 3574 * src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 32. For 3575 example, the Japanese Hiragino font already contains 15 subfonts. 3576 3577 * src/cff/cffload.c (cff_font_load): Deallocate `sids' array for 3578 CID-keyed fonts. 3579 3580 * devel/ftoption.h: Define FT_DEBUG_MEMORY. 3581 35822003-12-18 Werner Lemberg <wl@gnu.org> 3583 3584 * include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro. 3585 * src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values. 3586 35872003-12-18 Werner Lemberg <wl@gnu.org> 3588 3589 * src/cff/cfftypes.h (CFF_FontRecDictRec): Change type of 3590 `cid_count' to `FT_ULong'. 3591 3592 * src/cff/cffgload.c (cff_slot_load): Take care of empty `cids' 3593 array. 3594 3595 * src/cff/cffload.c (cff_charset_done): Free `cids' array. 3596 (cff_font_load): Create cids array only for CID-keyed fonts which 3597 are subsetted. 3598 3599 * src/cff/cffobjs.c (cff_face_init): Check the availability of 3600 the PSNames modules for non-pure CFFs also. 3601 Set FT_FACE_FLAG_GLYPH_NAMES for a non-pure CFF also if it isn't 3602 CID-keyed. 3603 3604 * src/cff/rules.mk (CFF_DRV_H): Add cfftypes.h. 3605 36062003-12-17 Werner Lemberg <wl@gnu.org> 3607 3608 * src/sfnt/sfobjs.c (sfnt_init_face): Don't set 3609 FT_FACE_FLAG_GLYPH_NAMES if the font contains a version 3.0 `post' 3610 table. 3611 3612 * docs/CHANGES: Updated. 3613 36142003-12-17 Masatake YAMATO <jet@gyve.org> 3615 3616 Add new function FT_Get_CMap_Language_ID to extract the language ID 3617 for TrueType/sfnt fonts. 3618 3619 * include/freetype/internal/services/svttcmap.h: New file. 3620 * include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add 3621 svttcmap.h. 3622 3623 * src/sfnt/sfdriver.c: Include ttcmap0.h. 3624 (tt_service_get_cmap_info): New service. 3625 (sfnt_services): Updated. 3626 3627 * src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions. 3628 (tt_cmap*_class_rec): Add tt_cmap*_get_info members. 3629 (tt_get_cmap_info): New function. 3630 * src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H. 3631 (TT_CMap_ClassRec): New field `get_cmap_info'. 3632 (tt_get_cmap_info): New declaration. 3633 3634 * src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H. 3635 (FT_Get_CMap_Language_ID): New function implementation. 3636 * include/freetype/tttables.h (FT_Get_CMap_Language_ID): New 3637 function declaration. 3638 36392003-12-16 Werner Lemberg <wl@gnu.org> 3640 3641 * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed. Obsolete. 3642 3643 * include/freetype/internal/sfnt.h (SFNT_Interface): Remove 3644 obsolete fields `load_charmap' and `free_charmap'. 3645 (TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed. 3646 * src/sfnt/sfnt.c: Don't include ttcmap.c. 3647 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c. 3648 * src/sfnt/ttload.c: Don't include ttcmap.h. 3649 * src/sfnt/sfdriver.c: Don't include ttcmap.h. 3650 (sfnt_interface): Updated. 3651 3652 * include/freetype/internal/tttypes.h (TT_TableDirRec, 3653 TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec, 3654 TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6, 3655 TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func, 3656 TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed. 3657 Obsolete. 3658 * src/cff/cffobjs.h (CFF_CharMapRec): Removed. Obsolete. 3659 36602003-12-15 Werner Lemberg <wl@gnu.org> 3661 3662 * docs/CHANGES: Updated. 3663 36642003-12-15 Wolfgang Domröse <porthos.domroese@harz.de> 3665 3666 * builds/atari/*: New directory for building FreeType 2 on Atari 3667 with the PureC compiler. 3668 36692003-12-12 Wolfgang Domröse <porthos.domroese@harz.de> 3670 3671 * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add 3672 cast. 3673 * src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return 3674 value is either 0 or 1. 3675 36762003-12-12 Werner Lemberg <wl@gnu.org> 3677 3678 * src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message. 3679 (cff_get_name_index): Return if no PSNames service is available. 3680 (cff_ps_has_glyph_names): Handle CID-keyed fonts correctly. 3681 * src/cff/cfftypes.h (CFF_CharsetRec): New field `cids', used for 3682 CID-keyed fonts. This is the inverse mapping of `sids'. 3683 * src/cff/cffload.c (cff_charset_load): New argument `invert'. 3684 Initialize charset->cids if `invert' is set. 3685 (cff_font_load): In call to cff_charset_load, set `invert' to true 3686 for CID-keyed fonts. 3687 * src/cff/cffgload.c (cff_slot_load): Handle glyph index as CID 3688 and map it to the real glyph index. 3689 3690 * docs/CHANGES: Updated. 3691 36922003-12-11 Werner Lemberg <wl@gnu.org> 3693 3694 * src/cff/cffobjs.c (cff_face_init): Don't set 3695 FT_FACE_FLAG_GLYPH_NAMES for CID-keyed fonts. 3696 Don't construct a cmap for CID-keyed fonts. 3697 36982003-12-10 Werner Lemberg <wl@gnu.org> 3699 3700 Use implementation specific SID value 0xFFFF to indicate that 3701 a dictionary element is missing. 3702 3703 * src/cff/cffload.c (cff_subfont_load): Initialize all fields 3704 which hold SIDs to 0xFFFF. 3705 (cff_index_get_sid_string): Handle SID value 0xFFFF. 3706 Handle case where `psnames' is zero. 3707 (cff_font_load): Updated. 3708 Don't load encoding for CID-keyed CFFs. 3709 3710 * src/cff/cffobjs.c (cff_face_init): Updated. 3711 Don't check for PSNames module if font is CID-keyed. 3712 Compute style name properly (using the same algorithm as in the 3713 CID driver). 3714 Fix computation of style flags. 3715 3716 * src/cff/cfftoken.h: Comment out handling of base_font_name. 3717 Rename `postscript' field to `embedded_postscript' 3718 * src/cff/cfftypes.h (CFF_FontRecDictRec): Remove `base_font_name' 3719 and `postscript'. 3720 37212003-12-10 Detlef Würkner <TetiSoft@apg.lahn.de> 3722 3723 * src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone 3724 of the similar BDF function). 3725 (pcf_service_bdf): Use it. 3726 37272003-12-09 Werner Lemberg <wl@gnu.org> 3728 3729 * src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES 3730 only if a `post' table is present. 3731 37322003-12-09 George Williams <gww@silcom.com> 3733 3734 * src/base/ftobjs.c (load_mac_face): Recent versions of Linux 3735 support Mac's HFS+ file system, thus enable code to read /rsrc on 3736 non-Macintosh platforms also. 3737 37382003-12-08 Werner Lemberg <wl@gnu.org> 3739 3740 * include/freetype/internal/psaux.h (PS_TableRec): Change type 3741 of `lengths' to FT_PtrDist. 3742 (T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist. 3743 * include/freetype/internal/t1types.h (T1_FontRec): Change type 3744 of `subrs_len' and `charstrings_len' to FT_PtrDist. 3745 3746 * src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk' 3747 variable with better solution. 3748 (IsMacResource): Remove unused variable `map_len'. 3749 Replace `junk' variable with better solution. 3750 (FT_Open_Face) [!FT_MACINTOSH]: Add conditional 3751 FT_CONFIG_OPTION_MAC_FONTS. 3752 37532003-12-08 Wolfgang Domröse <porthos.domroese@harz.de> 3754 3755 * src/autohint/ahhint.c (ah_hinter_hint_edges, 3756 ah_hinter_align_strong_points): Add some casts. 3757 3758 * src/base/ftoutln.c (FT_OrientationExtremumRec): Change type 3759 of `pos' to FT_Long. 3760 3761 * src/base/ftobjs.c (Mac_Read_POST_Resource, 3762 Mac_Read_sfnt_Resource): Change type of `len' to FT_Long. 3763 3764 * src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'. 3765 37662003-12-07 Werner Lemberg <wl@gnu.org> 3767 3768 * docs/raster.txt: New file, taken from FreeType 1 and completely 3769 revised. 3770 37712003-12-04 Masatake YAMATO <jet@gyve.org> 3772 3773 * src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for 3774 t1_interface. t1_interface is used. 3775 37762003-11-27 David Turner <david@freetype.org> 3777 3778 * src/pfr/pfrdrivr.c (pfr_get_metrics): Revert incorrect change of 3779 2003-11-23: For PFR fonts, metrics->x_scale and metrics->y_scale are 3780 the scaling values for outline units, not for metric units. 3781 37822003-11-25 Werner Lemberg <wl@gnu.org> 3783 3784 * src/base/ftcalc.c, include/freetype/internal/ftcalc.h 3785 (FT_MulDiv_No_Round): Surround code with `#ifdef 3786 TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'. 3787 37882003-11-23 Werner Lemberg <wl@gnu.org> 3789 3790 * src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and 3791 64 bit version). 3792 * include/freetype/internal/ftcalc.h: Updated. 3793 3794 * src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro. 3795 (TT_INT64): Removed. 3796 (DO_DIV): Use TT_MULDIV_NO_ROUND. 3797 3798 * src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use 3799 metrics->x_scale and metrics->y_scale. 3800 38012003-11-22 Rogier van Dalen <R.C.van.Dalen@umail.leidenuniv.nl> 3802 3803 * src/truetype/ttinterp.c (CUR_Func_move_orig): New macro. 3804 (Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New 3805 functions. Similar to Direct_Move, Direct_Move_X, and 3806 Direct_Move_Y but without touching. 3807 (Compute_Funcs): Use new functions. 3808 3809 (Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid, 3810 Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, 3811 Round_Super_45): Fix rounding of value zero. 3812 3813 (DO_DIV): Don't use TT_MULDIV. 3814 3815 (Ins_SHC): This instruction actually touches the points. 3816 (Ins_MSIRP): Fix undocumented behaviour. 3817 3818 * src/truetype/ttinterp.h (TT_ExecContextRec): Updated. 3819 38202003-11-22 Werner Lemberg <wl@gnu.org> 3821 3822 * docs/VERSION.DLL, docs/CHANGES: Updated. 3823 3824 * src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and 3825 metrics->y_scale really precise. 3826 3827 (FT_Load_Glyph): Update computation of linearHoriAdvance and 3828 linearVertAdvance. 3829 3830 * src/truetype/ttinterp.c (Update_Max): Use FT_REALLOC. 3831 38322003-11-22 David Turner <david@freetype.org> 3833 3834 * src/autofit/*: More updates. 3835 3836 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8. 3837 * builds/unix/configure.ac (version_info): Set to 9:6:3. 3838 * README: Updated. 3839 38402003-11-13 John A. Boyd Jr. <jaboydjr@netwalk.com> 3841 3842 * src/bdf/bdfdrivr.c (bdf_interpret_style), src/pcf/pcfread.c 3843 (pcf_interpret_style): Replace spaces with dashes in properties 3844 SETWIDTH_NAME and ADD_STYLE_NAME to simplify parsing. 3845 38462003-11-11 Werner Lemberg <wl@gnu.org> 3847 3848 * docs/CHANGES: Updated. 3849 38502003-11-11 John A. Boyd Jr. <jaboydjr@netwalk.com> 3851 3852 Handle SETWIDTH_NAME and ADD_STYLE_NAME properties for BDF and PCF 3853 fonts. 3854 3855 * src/bdf/bdfdrivr.c (bdf_interpret_style): New auxiliary function. 3856 (BDF_Face_Init): Don't handle style properties but call 3857 bdf_interpret_style. 3858 3859 * src/pcf/pcfread.c (pcf_interpret_style): New auxiliary function. 3860 (pcf_load_font): Don't handle style properties but call 3861 pcf_interpret_style. 3862 38632003-11-07 Werner Lemberg <wl@gnu.org> 3864 3865 3866 * Version 2.1.7 released. 3867 ========================= 3868 3869 3870 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7. 3871 3872 * builds/unix/ft2unix.h: Fix comments. 3873 3874 * builds/unix/ftconfig.in: Synchronized with ANSI version. 3875 Use `#undef' in templates as recommended in the autoconf 3876 documentation. 3877 Since real `#undef' lines don't survive during configuration, use 3878 `/undef' instead; the postprocessing facility of the 3879 AC_CONFIG_HEADERS autoconf macro converts them to `#undef'. 3880 3881 * builds/unix/install.mk (install): Install Unix version of 3882 `ftconfig.h'. 3883 3884 * builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro 3885 to include the correct `ftconfig.h' file. 3886 3887 * builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed. 3888 (FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59. 3889 3890 * builds/unix/freetype2.m4: Updated syntax to autoconf 2.59. 3891 3892 * builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of 3893 AC_CONFIG_HEADER to create ftconfig.h, and use second argument 3894 to replace `/undef' with `#undef'. 3895 Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap. 3896 Use AS_HELP_STRING in AC_ARG_WITH. 3897 Update syntax to autoconf 2.59. 3898 3899 * builds/unix/ltmain.sh: Regenerated with `libtoolize --force 3900 --copy' from libtool 1.5. 3901 * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from 3902 automake 1.7.8. 3903 * builds/unix/configure: Regenerated with autoconf 2.59. 3904 * builds/unix/config.guess, builds/unix/config.sub: Updated from 3905 `config' CVS module at subversions.gnu.org 3906 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from 3907 `texinfo' CVS module at subversions.gnu.org. 3908 3909 * builds/vms/ftconfig.h: Synchronized with ANSI version. 3910 3911 * docs/CUSTOMIZE: Fix documentation error. 3912 * docs/CHANGES, docs/VERSION.DLL, docs/release: Updated. 3913 3914 * builds/freetype.mk (refdoc): Updated --title. 3915 39162003-11-07 David Turner <david@freetype.org> 3917 3918 3919 * Version 2.1.6 released. 3920 ========================= 3921 3922 3923 * install: Removed. Obsolete. 3924 39252003-11-04 Werner Lemberg <wl@gnu.org> 3926 3927 * src/sfnt/sfdriver.c: Include FT_SERVICE_SFNT_H. 3928 (sfnt_service_sfnt_table): New service. 3929 (sfnt_services): Updated. 3930 3931 * docs/license.txt: Reworded. 3932 39332003-11-03 Werner Lemberg <wl@gnu.org> 3934 3935 * include/freetype/*: Add a guard to all public header files which 3936 load FT_FREETYPE_H to reject freetype.h from FreeType 1. 3937 39382003-11-02 Patrick Welche <prlw1@newn.cam.ac.uk> 3939 3940 * builds/unix/freetype2.m4, builds/unix/ft-munmap.m4: Protect 3941 first argument of AC_DEFUN with brackets to avoid possible 3942 expansion. 3943 39442003-11-02 Werner Lemberg <wl@gnu.org> 3945 3946 * include/freetype/cache/ftcglyph.h: Don't include stddef.h. 3947 3948 * include/freetype/freetype.h: Fix check for ft2build.h. 3949 39502003-11-01 Werner Lemberg <wl@gnu.org> 3951 3952 * include/freetype/freetype.h: Check that ft2build.h has been 3953 loaded first. 3954 3955 * src/base/fttype1.c (FT_Get_PS_Font_Info): Fix incorrectly applied 3956 patch. 3957 39582003-10-31 Detlef Würkner <TetiSoft@apg.lahn.de> 3959 3960 * src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): 3961 Fix parameter order in calls to FT_FACE_FIND_SERVICE. 3962 39632003-10-31 Werner Lemberg <wl@gnu.org> 3964 3965 * include/freetype/internal/ftserv.h 3966 (FT_SERVICE_POSTSCRIPT_NAMES_H): Removed. Unused. 3967 3968 * src/type42/t42drivr.c (t42_services): Updated. 3969 39702003-10-29 David Turner <david@freetype.org> 3971 3972 * include/freetype/internal/bdftypes.h: Removed. Obsolete. 3973 * src/base/ftbdf.c: Updated. 3974 3975 * include/freetype/internal/cfftypes.h: Moved to... 3976 * src/cff/cfftypes.h: This place since no other module needs to 3977 know about those types. 3978 3979 * include/freetype/internal/t42types.h: Moved to... 3980 * src/type42/t42types.h: This place since no other module needs to 3981 know about those types. 3982 3983 * include/freetype/internal/services/svbdf.h: Include FT_BDF_H. 3984 3985 * include/freetype/internal/services/svpsname.h: Renamed to... 3986 * include/freetype/internal/services/svpscmap.h: This. 3987 Updated `FT_Service_PsNames' -> `FT_Service_PsCMaps' and 3988 `POSTSCRIPT_NAMES' -> `POSTSCRIPT_CMAPS' everywhere. 3989 3990 * include/freetype/internal/services/svpsinfo.h: New file, providing 3991 PostScript info service. 3992 3993 * include/freetype/internal/ftserv.h (FT_SERVICE_POSTSCRIPT_CMAPS_H, 3994 FT_SERVICE_POSTSCRIPT_INFO_H): New macros for svpscmap.h and 3995 svpsinfo.h. 3996 * include/freetype/internal/internal.h (FT_INTERNAL_TYPE42_TYPES_H, 3997 FT_INTERNAL_CFF_TYPES_H, FT_INTERNAL_BDF_TYPES_H): Removed. 3998 3999 * src/base/fttype1.c: Don't include FT_INTERNAL_TYPE1_TYPES_H and 4000 FT_INTERNAL_TYPE42_TYPES_H but FT_INTERNAL_SERVICE_H and 4001 FT_SERVICE_POSTSCRIPT_INFO_H. 4002 (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): Use new 4003 POSTSCRIPT_INFO service. 4004 4005 * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H. 4006 (cff_ps_has_glyph_names): New function. 4007 (cff_service_ps_info): New service. 4008 (cff_services): Updated. 4009 4010 * src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't 4011 include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly. 4012 4013 * src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H. 4014 (cid_ps_get_font_info): New function. 4015 (cid_service_ps_info): New service. 4016 (cid_services): Updated. 4017 4018 * src/type1/t1driver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H. 4019 (t1_ps_get_font_info, t1_ps_has_glyph_names): New functions. 4020 (t1_service_ps_info): New service. 4021 (t1_services): Updated. 4022 4023 * src/type42/t42drivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H. 4024 (t42_ps_get_font_info, t42_ps_has_glyph_names): New functions. 4025 (t42_service_ps_info): New service. 4026 4027 * src/type42/t42objs.h: Don't include FT_INTERNAL_TYPE42_TYPES_H 4028 but t42types.h directly. 4029 4030 * src/psnames/psmodule.c (psnames_interface, psnames_services): 4031 Renamed to... 4032 (pscmaps_interface, pscmaps_services): This. 4033 Updated all users. 4034 4035 4036 * src/gzip/infblock.c (inflate_blocks): Remove compiler warning. 4037 40382003-10-22 Werner Lemberg <wl@gnu.org> 4039 4040 * src/type1/t1load.c (parse_encoding): Handle `/Encoding [ ... ]'. 4041 4042 * src/type1/t1parse.c (T1_Get_Private_Dict): Test whether `eexec' 4043 is real. 4044 4045 * src/type42/t42parse.c (t42_parse_encoding): Improve boundary 4046 checking while parsing. 4047 4048 * docs/CHANGES: Updated. 4049 40502003-10-21 Josselin Mouette <joss@debian.org> 4051 4052 * include/freetype/internal/t1types.h (T1_FontRec): `paint_type' 4053 and `stroke_width' aren't pointers. 4054 4055 * src/type42/t42objs.c (T42_Face_Done), src/type1/t1objs.c 4056 (T1_Face_Done): Don't free `paint_type' and `stroke_width'. 4057 40582003-10-20 Graham Asher <graham.asher@btinternet.com> 4059 4060 * src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'. 4061 40622003-10-19 Werner Lemberg <wl@gnu.org> 4063 4064 * src/autohint/ahhint.c (ah_hinter_load_glyph): Patch from 4065 2003-08-18 introduced a severe bug (FT_Render_Glyph was called 4066 twice under some circumstances, causing strange results). This 4067 is fixed now by clearing the FT_LOAD_RENDER bit of `load_flags'. 4068 4069 * src/base/ftpfr.c (FT_Get_PFR_Metrics): Initialize `error'. 4070 * src/psaux/psobjs.c (ps_tobytes): Initialize `n'. 4071 * src/type42/t42parse.c (t42_parse_sfnts): Initialize `string_size'. 4072 40732003-10-16 Werner Lemberg <wl@gnu.org> 4074 4075 Completely revised Type 42 parser. It now handles both fonts 4076 produced with ttftot42 (tested version 0.3.1) and 4077 TrueTypeToType42.ps (tested version May 2001; it is necessary to 4078 fix the broken header comment to be `%!PS-TrueTypeFont...'). 4079 4080 * src/type42/t42objs.c (T42_GlyphSlot_Load): Change fourth 4081 parameter to `FT_UInt'. 4082 * src/type42/t42objs.h: Updated. 4083 4084 * src/type42/t42parse.h (T42_ParserRec): Change type of `in_memory' 4085 to FT_Bool. 4086 (T42_Loader): Change type of `num_chars' and `num_glyphs' to 4087 FT_UInt. 4088 Add `swap_table' element. 4089 * src/type42/t42parse.c (T42_KEYWORD_COUNT, T1_ToFixed, 4090 T1_ToCoordArray, T1_ToTokenArray): Removed. 4091 (T1_ToBytes): New macro. 4092 (t42_is_alpha, t42_hexval): Removed. 4093 (t42_is_space): Handle `\0'. 4094 (t42_parse_encoding): Updated to use new PostScript parser routines 4095 from psaux. 4096 Handle `/Encoding [ ... ]' also. 4097 (T42_Load_Status): New enumeration. 4098 (t42_parse_sfnts): Updated to use new PostScript parser routines 4099 from psaux. 4100 (t42_parse_charstrings): Updated to use new PostScript parser 4101 routines from psaux. 4102 Handle `/CharStrings << ... >>' also. 4103 Don't expect that /.notdef is the first element in dictionary. Copy 4104 code from type1 module to handle this. 4105 (t42_parse_dict): Updated to use new PostScript parser routines 4106 from psaux. 4107 Remove code for synthetic fonts (which can't occur in Type 42 4108 fonts). 4109 (t42_loader_done): Release `swap_table'. 4110 4111 * src/psaux/psobjs.c (skip_string): Increase `cur' properly. 4112 4113 * src/type1/t1load.c (parse_charstrings): Make test for `.notdef' 4114 faster. 4115 41162003-10-15 Graham Asher <graham.asher@btinternet.com> 4117 4118 * src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c 4119 (fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty, 4120 _num_bdf_properties), src/gzip/infutil.c (inflate_mask), 4121 src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td), 4122 src/gzip/inftrees.h (inflate_trees_fixed), src/gzip/inftrees.c 4123 (inflate_trees_fixed): Decorate with more `const' to avoid 4124 writable global variables which are disallowed on ARM. 4125 41262003-10-08 Werner Lemberg <wl@gnu.org> 4127 4128 * src/type1/t1load.c (parse_font_matrix, parse_charstrings): Remove 4129 code specially for synthetic fonts; this is handled elsewhere. 4130 (parse_encoding): Remove code specially for synthetic fonts; this is 4131 handled elsewhere. 4132 Improve boundary checking while parsing. 4133 (parse_dict): Improve boundary checking while parsing. 4134 Use ft_memcmp to simplify code. 4135 41362003-10-07 Werner Lemberg <wl@gnu.org> 4137 4138 * src/type1/t1load.c (parse_subrs, parse_dict): Handle synthetic 4139 fonts properly. 4140 (parse_charstrings): Copy correct number of characters into 4141 `name_table'. 4142 41432003-10-06 Werner Lemberg <wl@gnu.org> 4144 4145 Heavy modification of the PS parser to handle comments and strings 4146 correctly. This doesn't slow down the loading of PS fonts 4147 significantly since charstrings aren't affected. 4148 4149 * include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to... 4150 (ft_isxdigit): This. Updated all callers. 4151 (ft_isdigit): New alias to `isdigit'. 4152 4153 * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed 4154 `skip_alpha' to `skip_PS_token'. 4155 Add parameter to `to_bytes' and change some argument types. 4156 4157 * src/psaux/psauxmod.c (ps_parser_funcs): Updated. 4158 * src/psaux/psobjs.c (ft_char_table): New array to map character 4159 codes (ASCII and EBCDIC) of digits to numbers. 4160 (OP): New auxiliary macro holding either `>=' or `<' depending on 4161 the character encoding. 4162 (skip_comment): New function. 4163 (skip_spaces): Use it. 4164 (skip_alpha): Removed. 4165 (skip_literal_string, skip_string): New functions. 4166 (ps_parser_skip_PS_token): New function. This is a better 4167 replacement of... 4168 (ps_parser_skip_alpha): Removed. 4169 (ps_parser_to_token, ps_parser_to_token_array): Updated. 4170 (T1Radix): Rewritten, using `ft_char_table'. 4171 (t1_toint): Renamed to... 4172 (ps_toint): This. Update all callers. 4173 Use `ft_char_table'. 4174 (ps_tobytes): Add parameter to handle delimiters and change some 4175 argument types. 4176 Use `ft_char_table'. 4177 (t1_tofixed): Renamed to... 4178 (ps_tofixed): This. Update all callers. 4179 Use `ft_char_table'. 4180 (t1_tocoordarray): Renamed and updated to... 4181 (ps_tocoordarray): This. Update all callers. 4182 (t1_tofixedarray): Renamed and updated to... 4183 (ps_tofixedarray): This. Update all callers. 4184 (t1_tobool): Renamed to... 4185 (ps_tobool): This. Update all callers. 4186 (ps_parser_load_field): Updated. 4187 (ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS' 4188 everywhere. 4189 (ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array, 4190 ps_parser_to_fixed_array): Skip spaces. Updated. 4191 (ps_parser_to_bytes): Add parameter to handle delimiters and change 4192 some argument types. Updated. 4193 * src/psaux/psobjs.h: Updated. 4194 4195 * src/cid/cidload.c (cid_parse_dict): Updated. 4196 * src/cid/cidparse.c (cid_parser_new): Check whether the `StartData' 4197 token was really found. 4198 * src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed 4199 to... 4200 (cid_parser_skip_PS_token): This. 4201 4202 * src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean 4203 fields. 4204 (T1_Skip_Alpha): Replaced with... 4205 (T1_Skip_PS_Token): This new macro. 4206 * src/type1/t1parse.c (hexa_value): Removed. 4207 (T1_Get_Private_Dict): Use `ft_isxdigit' and 4208 `psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal 4209 encoding. 4210 After decrypting, replace the four random bytes at the beginning 4211 with whitespace. 4212 * src/type1/t1load.c (t1_allocate_blend): Use proper error values. 4213 (parser_blend_design_positions, parse_blend_design_map, 4214 parse_weight_vector): Updated. 4215 (is_space): Handle `\f' also. 4216 (is_name_char): Removed. 4217 (read_binary_data): Updated. 4218 (parse_encoding): Use `ft_isdigit'. 4219 Updated. 4220 (parse_subrs): Updated. 4221 (TABLE_EXTEND): New macro. 4222 (parse_charstrings): Updated. 4223 Provide a workaround for buggy fonts which have more entries in the 4224 /CharStrings dictionary then expected; the function now adds some 4225 slots and skips entries which still exceed the new limit. 4226 (parse_dict): Updated. 4227 Terminate on the token `closefile'. 4228 4229 * src/type42/t42parse.c (T1_Skip_Alpha): Replaced with... 4230 (T1_Skip_PS_Token): This new macro. Updated all callers. 4231 (t42_parse_encoding): Use `ft_isdigit'. 4232 4233 4234 * src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_Ok if 4235 success. 4236 42372003-10-05 Werner Lemberg <wl@gnu.org> 4238 4239 * include/freetype/ftmodule.h: Renamed to... 4240 * include/freetype/ftmodapi.h: This to avoid duplicate file names. 4241 * include/freetype/config/ftheader.h (FT_MODULE_H): Updated. 4242 42432003-10-04 Werner Lemberg <wl@gnu.org> 4244 4245 * src/base/ftoutln.c (FT_OrientationExtremumRec, 4246 FT_Outline_Get_Orientation): Trivial typo fixes to make it compile. 4247 42482003-10-02 Markus F.X.J. Oberhumer <markus@oberhumer.com> 4249 4250 * src/winfonts/winfnt.c (FT_WinFNT_HeaderRec): `color_table_offset' 4251 has four bytes, not two. 4252 Fix all users. 4253 (fnt_font_load, FNT_Load_Glyph): Add more font validity tests. 4254 42552003-10-01 David Turner <david@freetype.org> 4256 4257 * src/autofit/*: Adding first source files of the new multi-script 4258 `auto-fitter'. 4259 4260 * include/freetype/ftoutln.h (FT_Orientation): New enumeration. 4261 (FT_Outline_Get_Orientation): New declaration. 4262 4263 * src/base/ftoutln.c (FT_OrientationExtremumRec): New structure. 4264 (ft_orientation_extremum_compute): New auxiliary function. 4265 (FT_Outline_Get_Orientation): New function to compute the fill 4266 orientation of a given glyph outline. 4267 4268 * include/freetype/internal/ftserv.h (FT_FACE_LOOKUP_SERVICE): Fixed 4269 trivial bug which could crash the font engine when a cached service 4270 pointer was retrieved. 4271 42722003-09-30 Werner Lemberg <wl@gnu.org> 4273 4274 * src/cid/cidload.c (cid_parse_dict): Skip token if no keyword is 4275 found. 4276 4277 * src/type1/t1parse.c (IS_T1_WHITESPACE, IS_T1_LINESPACE, 4278 IS_T1_SPACE): Removed. 4279 (PFB_Tag): Removed. 4280 (read_pfb_tag): Don't use PFB_Tag. 4281 4282 * src/type42/t42parse.c (t42_is_space): Handle `\f' also. 4283 (t42_parse_encoding): Handle synthetic fonts. 4284 42852003-09-29 Werner Lemberg <wl@gnu.org> 4286 4287 * include/freetype/internal/t1types.h: Don't include 4288 FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H. 4289 * src/truetype/ttobjs.c: Don't include 4290 FT_SERVICE_POSTSCRIPT_NAMES_H. 4291 42922003-09-29 David Turner <david@freetype.org> 4293 4294 Added new service to handle glyph name dictionaries, replacing the 4295 old internal header named `psnames.h' by `services/svpsname.h'. 4296 Note that this is different from `services/svpostnm.h' which only 4297 handles the retrieval of PostScript font names for a given face. 4298 (Should we merge these two services into a single header?) 4299 4300 * include/freetype/internal/psnames.h: Removed. Most of its 4301 contents is moved to... 4302 * include/freetype/internal/services/svpsname.h: New file. 4303 4304 * include/freetype/internal/services/svpostnm.h 4305 (FT_SERVICE_ID_POSTSCRIPT_NAME): Replaced with... 4306 (FT_SERVICE_ID_POSTSCRIPT_FONT_NAME): New macro. 4307 (PsName): Service named changed to... 4308 (PsFontName): This. 4309 Updated `FT_Service_PsName' -> `FT_Service_PsFontName' and 4310 `POSTSCRIPT_NAME' -> `POSTSCRIPT_FONT_NAME' everywhere. 4311 4312 * include/freetype/internal/internal.h 4313 (FT_INTERNAL_POSTSCRIPT_NAMES_H): Removed. 4314 * include/freetype/internal/psaux.h: Include 4315 FT_SERVICE_POSTSCRIPT_NAMES_H. 4316 (T1_DecoderRec): Updated type of `psnames'. 4317 * include/freetype/internal/t1types.h: Don't include 4318 FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. 4319 Include FT_INTERNAL_OBJECTS_H. 4320 * include/freetype/internal/t42types.h: Don't include 4321 FT_INTERNAL_POSTSCRIPT_NAMES_H. 4322 * include/freetype/internal/tttypes.h (TT_FaceRec): Updated. 4323 4324 * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): Changed 4325 order of parameters. All callers updated. 4326 (FT_FACE_FIND_GLOBAL_SERVICE): New macro to look up a service 4327 globally, checking all modules. 4328 (FT_ServiceCacheRec): Updated. 4329 (FT_SERVICE_POSTSCRIPT_NAMES_H): New macro for accessing 4330 `svpsname.h'. 4331 4332 * include/freetype/internal/ftobjs.h, src/base/ftobjs.c 4333 (ft_module_get_service): New function. 4334 4335 * src/cff/cffdrivr.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H 4336 but FT_SERVICE_POSTSCRIPT_NAMES_H. 4337 (cff_get_glyph_name, cff_get_name_index): Use new POSTSCRIPT_NAMES 4338 service. 4339 * src/cff/cffcmap.c (cff_cmap_unicode_init): Updated. 4340 * src/cff/cffload.c, src/cff/cffload.h: Don't include 4341 FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. 4342 (cff_index_get_sid_string): Updated. 4343 * src/cff/cffobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H 4344 but FT_SERVICE_POSTSCRIPT_NAMES_H. 4345 (cff_face_init): Use new POSTSCRIPT_NAMES service. 4346 * src/cff/cffobjs.h: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H 4347 but FT_SERVICE_POSTSCRIPT_NAMES_H. 4348 4349 * src/cid/cidobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H 4350 but FT_SERVICE_POSTSCRIPT_NAMES_H. 4351 (cid_face_init): Use new POSTSCRIPT_NAMES service. 4352 * src/cid/cidriver.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H. 4353 4354 * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Use 4355 new POSTSCRIPT_NAMES service. 4356 * src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode, 4357 t1_decode_init): Use new POSTSCRIPT_NAMES service. 4358 * src/psaux/t1cmap.h, src/psaux/t1decode.h: Don't include 4359 FT_INTERNAL_POSTSCRIPT_NAMES_H. 4360 4361 * src/psnames/psmodule.c: Don't include 4362 FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. 4363 (ps_build_unicode_table): Renamed to... 4364 (ps_unicodes_init): This. 4365 (ps_lookup_unicode): Renamed to... 4366 (ps_unicodes_char_index): This. 4367 (ps_next_unicode): Renamed to... 4368 (ps_unicodes_char_next): This. 4369 (psnames_interface): Updated. 4370 (psnames_services): New services list. 4371 (psnames_get_service): New function. 4372 (psnames_module_class): Updated. 4373 4374 * src/sfnt/sfobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H 4375 but FT_SERVICE_POSTSCRIPT_NAMES_H. 4376 (sfnt_init_face): Use new POSTSCRIPT_NAMES service. 4377 * src/sfnt/ttpost.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H 4378 but FT_SERVICE_POSTSCRIPT_NAMES_H. 4379 (tt_face_get_ps_name): Updated. 4380 4381 * src/truetype/ttobjs.c: Don't include 4382 FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. 4383 4384 * src/type1/t1driver.c: Don't include 4385 FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. 4386 * src/type1/t1objs.c: Don't include 4387 FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. 4388 (T1_Face_Init): Use new POSTSCRIPT_NAMES service. 4389 4390 * src/type42/t42drivr.c (t42_get_ps_name): Renamed to... 4391 (t42_get_ps_font_name): This. 4392 (t42_service_ps_name): Renamed to... 4393 (t42_service_ps_font_name): This. 4394 (t42_services): Updated. 4395 * src/type42/t42objs.c (T42_Face_Init): Use new POSTSCRIPT_NAMES 4396 service. 4397 * src/type42/t42objs.h: Don't include 4398 FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. 4399 4400 4401 * src/base/ftglyph.c (FT_Get_Glyph): Don't access `slot' before 4402 testing its validity. Reported by Henry Maddocks 4403 <maddocks@metservice.com>. 4404 44052003-09-21 Werner Lemberg <wl@gnu.org> 4406 4407 * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): 4408 Fix compilation warning (s/pptr/Pptr/). 4409 4410 * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H, 4411 FT_INTERNAL_FNT_TYPES_H): Removed. 4412 44132003-09-21 David Turner <david@freetype.org> 4414 4415 Migrating the PFR and WINFNT drivers to the new service-based 4416 internal API. 4417 4418 * include/freetype/internal/fnttypes.h: Removed. Most of its data 4419 are moved to winfnt.h and... 4420 * include/freetype/internal/services/svwinfnt.h: New file. 4421 4422 * include/freetype/internal/pfr.h: Removed. Most of its data are 4423 moved to... 4424 * include/freetype/internal/services/svpfr.h: New file. 4425 4426 * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE, 4427 FT_FACE_LOOKUP_SERVICE): Simplify fix of 2003-09-16 by removing 4428 pointer type argument. 4429 Updated all callers. 4430 Update macro names of services header files. 4431 4432 * src/base/ftobjs.c (FT_Get_Name_Index): Simplified code. 4433 4434 * src/base/ftpfr.c: Include FT_SERVICE_PFR_H instead of 4435 FT_INTERNAL_PFR_H. 4436 (ft_pfr_check, FT_Get_PFR_Metrics, FT_Get_PFR_Kerning, 4437 FT_Get_PFR_Advance): Use services provided in `PFR_METRICS'. 4438 4439 * src/base/ftwinfnt.c: Include FT_SERVICE_WINFNT_H instead of 4440 FT_INTERNAL_FNT_TYPES_H. 4441 (FT_Get_WinFNT_Header): Use service provided in `WINFNT'. 4442 4443 * src/pfr/pfrdrivr.c: Include FT_SERVICE_PFR_H and 4444 FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_PFR_H. 4445 (pfr_service_bdf): Updated. 4446 (pfr_services): New services list. 4447 (pfr_get_service): New function. 4448 (pfr_driver_class): Updated. 4449 4450 * src/winfonts/winfnt.c: Include FT_SERVICE_WINFNT_H and 4451 FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_FNT_TYPES_H. 4452 (winfnt_get_header, winfnt_get_service): New functions. 4453 (winfnt_service_rec): New structure providing WINFNT services. 4454 (winfnt_services): New services list. 4455 (winfnt_driver_class): Updated. 4456 * src/winfonts/winfnt.h: Add most of the removed fnttypes.h data. 4457 4458 * src/sfnt/sfdriver.c (sfnt_service_ps_name): Fix typo. 4459 4460 * src/type1/t1driver.c (t1_service_ps_name): Fix typo. 4461 4462 * src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c, 4463 src/psaux/psobjs.c, src/sfnt/sfobjs.c, src/truetype/ttobjs.c, 4464 src/type1/t1objs.c, src/type42/t42objs.c: Removing various compiler 4465 warnings. 4466 44672003-09-19 David Bevan <dbevan@emtex.com> 4468 4469 * src/type1/t1parse.c (pfb_tag_fields): Removed. 4470 (read_pfb_tag): Fix code so that it doesn't fail on end-of-file 4471 indicator (0x8003). 4472 * docs/CHANGES: Updated. 4473 44742003-09-16 Werner Lemberg <wl@gnu.org> 4475 4476 * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE, 4477 FT_FACE_LOOKUP_SERVICE): Add parameter to pass pointer type. 4478 Ugly, I know, but this is needed for compilation with C++ -- 4479 maybe someone knows a better solution? 4480 Updated all callers. 4481 4482 * src/base/ftobjs.c (FT_Get_Name_Index, FT_Get_Glyph_Name): Remove 4483 C++ compiler warnings. 4484 4485 * src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): 4486 Fix order of arguments passed to FT_FACE_FIND_SERVICE. 4487 44882003-09-15 Werner Lemberg <wl@gnu.org> 4489 4490 Avoid header files with identical names. 4491 4492 * include/freetype/internal/services/bdf.h: Renamed to... 4493 * include/freetype/internal/services/svbdf.h: This. 4494 Add copyright notice. 4495 * include/freetype/internal/services/glyfdict.h: Renamed to... 4496 * include/freetype/internal/services/svgldict.h: This. 4497 Add copyright notice. 4498 * include/freetype/internal/services/multmast.h: Renamed to... 4499 * include/freetype/internal/services/svmm.h: This. 4500 Add copyright notice. 4501 Add FT_BEGIN_HEADER and FT_END_HEADER. 4502 * include/freetype/internal/services/sfnt.h: Renamed to... 4503 * include/freetype/internal/services/svsfnt.h: This. 4504 Add copyright notice. 4505 * include/freetype/internal/services/postname.h: Renamed to... 4506 * include/freetype/internal/services/svpostnm.h: This. 4507 Add copyright notice. 4508 * include/freetype/internal/services/xf86name.h: Renamed to... 4509 * include/freetype/internal/services/svxf86nm.h: This. 4510 Add copyright notice. 4511 4512 * include/freetype/internal/ftserv.h: Add FT_BEGIN_HEADER and 4513 FT_END_HEADER. 4514 Add copyright notice. 4515 Update macro names of services header files. 4516 4517 * builds/freetype.mk (SERVICES_DIR): New variable. 4518 (BASE_H): Add services header files. 4519 45202003-09-11 Werner Lemberg <wl@gnu.org> 4521 4522 * builds/toplevel.mk (distclean): Remove `builds/unix/freetype2.pc'. 4523 4524 * src/cff/cffdrivr.c: Don't load headers twice. 4525 4526 * include/freetype/internal/ftserv.h (FT_SERVICE_SFNT_H): New macro. 4527 * src/base/ftobjs.c: Include FT_SERVICE_SFNT_H. 4528 4529 * src/cff/cffcmap.c: Include `cfferrs.h'. 4530 * src/pfr/pfrdrivr.c: Include `pfrerror.h'. 4531 * src/sfnt/sfdriver.c: Include `sferrors.h'. 4532 * src/psaux/psobjs.h: Add declaration for `ps_parser_to_bytes'. 4533 45342003-09-11 David Turner <david@freetype.org> 4535 4536 Introducing the concept of `module services'. This is the first 4537 step towards a massive simplification of the engine's internals, in 4538 order to get rid of various numbers of hacks. 4539 4540 Note that these changes will break source & binary compatibility for 4541 authors of external font drivers. 4542 4543 * include/freetype/config/ftconfig.h (FT_BEGIN_STMNT, FT_END_STMNT, 4544 FT_DUMMY_STMNT): New macros. 4545 4546 * include/freetype/internal/ftserv.h: New file, containing the new 4547 structures and macros to provide `services'. 4548 4549 * include/freetype/internal/internal.h (FT_INTERNAL_EXTENSION_H, 4550 FT_INTERNAL_EXTEND_H, FT_INTERNAL_HASH_H, FT_INTERNAL_OBJECT_H): 4551 Removed, obsolete. 4552 (FT_INTERNAL_SERVICE_H): New macro for `ftserv.h'. 4553 4554 * include/freetype/internal/services/bdf.h, 4555 include/freetype/internal/services/glyfdict.h, 4556 include/freetype/internal/services/postname.h, 4557 include/freetype/internal/services/xf86name.h: New files. 4558 4559 * include/freetype/ftmm.h (FT_Get_MM_Func, FT_Set_MM_Design_Func, 4560 FT_Set_MM_Blend_Func): Function pointers moved (in modified form) 4561 to... 4562 * include/freetype/internal/services/multmast.h: New file. 4563 4564 * include/freetype/internal/sfnt.h (SFNT_Interface): `get_interface' 4565 is now of type `FT_Module_Requester'. 4566 (SFNT_Get_Interface_Func, SFNT_Load_Table_Func): Function pointers 4567 moved (in modified form) to... 4568 * include/freetype/internal/services/sfnt.h: New file. 4569 4570 * include/freetype/tttables.h (FT_Get_Sfnt_Table_Func): Function 4571 pointer moved (in modified form) to `services/sfnt.h'. 4572 4573 * include/freetype/ftmodule.h (FT_Module_Interface): Make it a 4574 a typedef to `FT_Pointer'. 4575 4576 * include/freetype/internal/tttypes.h (TT_FaceRec): Add 4577 `postscript_name'. 4578 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove 4579 `postscript_name'. 4580 Add `services' element. 4581 (FT_LibraryRec): Remove `meta_class'. 4582 4583 * src/base/ftbdf.c: Include FT_SERVICE_BDF_H. 4584 (test_font_type): Removed. 4585 (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Use services 4586 provided in `FT_SERVICE_ID_BDF'. 4587 4588 * src/base/ftmm.c: Include FT_SERVICE_MULTIPLE_MASTERS_H. 4589 (ft_face_get_mm_service): New auxiliary function to get services 4590 from `FT_SERVICE_ID_MULTI_MASTERS'. 4591 (FT_Get_Multi_Master, FT_Set_MM_Design_Coordinates, 4592 FT_Set_MM_Blend_Coordinates): Use `ft_face_get_mm_service'. 4593 4594 * src/base/ftobjs.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and 4595 FT_SERVICE_GLYPH_DICT_H. 4596 (ft_service_list_lookup): New function to get a specific service. 4597 (destroy_face): Updated. 4598 (Mac_Read_POST_Resource): Simplify some code. 4599 (IsMacResource): Fix warnings. 4600 (FT_Get_Name_Index, FT_Get_Glyph_Name): Use services provided in 4601 `FT_SERVICE_ID_GLYPH_DICT'. 4602 (FT_Get_Postscript_Name): Use service provided in 4603 `FT_SERVICE_ID_POSTSCRIPT_NAME'. 4604 (FT_Get_Sfnt_Table, FT_Load_Sfnt_Table): Use services provided in 4605 `FT_SERVICE_ID_SFNT_TABLE'. 4606 4607 * src/base/ftxf86.c: Include FT_SERVICE_XFREE86_NAME_H. 4608 (FT_Get_X11_Font_Format): Use service provided in 4609 `FT_SERVICE_ID_XF86_NAME'. 4610 4611 * src/bdf/bdfdrivr.c: Include FT_SERVICE_BDF_H and 4612 FT_SERVICE_XFREE86_NAME_H. 4613 (bdf_get_charset_id): New function. 4614 (bdf_service_bdf): New structure providing BDF services. 4615 (bdf_services): New services list. 4616 (bdf_driver_requester): Use `ft_service_list_lookup'. 4617 4618 * src/cff/cffdrivr.c: Include FT_SERVICE_XFREE86_NAME_H and 4619 FT_SERVICE_GLYPH_DICT_H. 4620 (cff_service_glyph_dict): New structure providing CFF services. 4621 (cff_services): New services list. 4622 (cff_get_interface): Use `ft_service_list_lookup'. 4623 4624 * src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and 4625 FT_SERVICE_XFREE86_NAME_H. 4626 (cid_service_ps_name): New structure providing CID services. 4627 (cid_services): New services list. 4628 (cid_get_interface): Use `ft_service_list_lookup'. 4629 4630 * src/pcf/pcfdrivr.c: Include FT_SERVICE_BDF_H and 4631 FT_SERVICE_XFREE86_NAME_H. 4632 (pcf_service_bdf): New structure providing PCF services. 4633 (pcf_services): New services list. 4634 (pcf_driver_requester): Use `ft_service_list_lookup'. 4635 4636 * src/sfnt/sfdriver.c: Include FT_SERVICE_GLYPH_DICT_H and 4637 FT_SERVICE_POSTSCRIPT_NAME_H. 4638 (get_sfnt_glyph_name): Renamed to... 4639 (sfnt_get_glyph_name): This. 4640 (get_sfnt_postscript_name): Renamed to... 4641 (sfnt_get_ps_name): This. 4642 Updated. 4643 (sfnt_service_glyph_dict, sfnt_service_ps_name): New structures 4644 providing services. 4645 (sfnt_services): New services list. 4646 (sfnt_get_interface): Use `ft_service_list_lookup'. 4647 4648 * src/truetype/ttdriver.c: Include FT_SERVICE_XFREE86_NAME_H. 4649 (tt_services): New services list. 4650 (tt_get_interface): Use `ft_service_list_lookup'. 4651 4652 * src/type1/t1driver.c: Include FT_SERVICE_MULTIPLE_MASTERS_H, 4653 FT_SERVICE_GLYPH_DICT_H, FT_SERVICE_XFREE86_NAME_H, and 4654 FT_SERVICE_POSTSCRIPT_NAME_H. 4655 (t1_service_glyph_dict, t1_service_ps_name, 4656 t1_service_multi_masters): New structures providing Type 1 services. 4657 (t1_services): New services list. 4658 (Get_Interface): Use `ft_service_list_lookup'. 4659 4660 * src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H, 4661 FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H. 4662 (t42_service_glyph_dict, t42_service_ps_name): New structures 4663 providing Type 42 services. 4664 (t42_services): New services list. 4665 (T42_Get_Interface): Use `ft_service_list_lookup'. 4666 4667 4668 * README, docs/CHANGES: Updating version numbers for 2.1.6, and 4669 removing obsolete warnings in the documentation. 4670 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6. 4671 * builds/unix/configure.ac (version_info): Set to 9:5:3. 4672 * builds/unix/configure: Regenerated. 4673 4674 * include/freetype/internal/ftcore.h, 4675 include/freetype/internal/ftexcept.h, 4676 include/freetype/internal/fthash.h, 4677 include/freetype/internal/ftobject.h: Removed. Obsolete. 4678 46792003-09-09 David Turner <david@freetype.org> 4680 4681 Fixing PFR kerning support. The tables within the font file contain 4682 (charcode,charcode) kerning pairs, we need to convert them to 4683 (gindex,gindex). 4684 4685 * src/base/ftpfr.c (ft_pfr_check): Fix serious typo. 4686 * src/pfr/pfrload.c: Remove dead code. 4687 (pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs): 4688 New functions. 4689 (pfr_phy_font_done): Free `kern_pairs'. 4690 (pfr_phy_font_load): Call `pfr_sort_kerning_pairs'. 4691 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix kerning extraction. 4692 * src/pfr/pfrtypes.h (PFR_KERN_PAIR_INDEX): New macro. 4693 (PFR_KernPairRec): Make `kerning' an FT_Int. 4694 (PFR_PhyFontRec): New element `kern_pairs'. 4695 (PFR_KernFlags): Values of PFR_KERN_2BYTE_CHAR and 4696 PFR_KERN_2BYTE_ADJ were erroneously reversed. 4697 4698 * include/freetype/ftoption.h: Commenting out the macro 4699 TT_CONFIG_OPTION_BYTECODE_INTERPRETER. 4700 47012003-09-02 David Turner <david@freetype.org> 4702 4703 4704 * Version 2.1.5 released. 4705 ========================= 4706 4707 47082003-08-31 Manish Singh <yosh@gimp.org> 4709 4710 * src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but 4711 FT_MEM_MOVE. 4712 47132003-08-30 Werner Lemberg <wl@gnu.org> 4714 4715 * include/freetype/freetype.h (FT_ENCODING_SJIS, FT_ENCODING_GB2312, 4716 FT_ENCODING_BIG5, FT_ENCODING_WANSUNG, FT_ENCODING_JOHAB): New 4717 enumerations of FT_Encoding. The FT_ENCODING_MS_* variants except 4718 FT_ENCODING_MS_SYMBOL are now deprecated. 4719 Updated all users. 4720 * docs/CHANGES: Document it. 4721 47222003-08-27 Werner Lemberg <wl@gnu.org> 4723 4724 * src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters 4725 for spacing. 4726 47272003-08-27 Mike FABIAN <mfabian@suse.de> 4728 4729 * src/pcf/pcfread.c (pcf_load_font), src/bdf/bdfdrivr.c 4730 (BDF_Face_Init): Accept lowercase characters for slant and weight. 4731 47322003-08-18 David Turner <david@freetype.org> 4733 4734 * include/freetype/config/ftoption.h: Disabling TrueType bytecode 4735 interpreter until the UNPATENTED_HINTING works as advertised. 4736 4737 * src/autohint/ahhint.c (ah_hinter_load_glyph): Use `|' for 4738 setting `load_flags'. 4739 4740 * Jamfile: Adding the `refdoc' target to the Jamfile in order to 4741 build the API Reference in `docs/reference' automatically. 4742 4743 * include/freetype/t1tables.h (PS_FontInfoRec), src/cid/cidtoken.h, 4744 src/type1/t1tokens.h, src/type42/t42parse.c: Resetting the types of 4745 `italic_angle', `underline_position', and `underline_thickness' to 4746 their previous values (i.e., long, short, and ushort) in order to 4747 avoid breaking binary compatibility. 4748 4749 * include/freetype/ttunpat.h: Fixing documentation comment. 4750 4751 * include/freetype/config/ftoption.h, devel/ftoption.h 4752 (TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING): Replaced with... 4753 (TT_CONFIG_OPTION_UNPATENTED_HINTING): This. Updated all users. 4754 (TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed. 4755 4756 * include/freetype/internal/ftobjs.h (FT_DEBUG_HOOK_TYPE1): Removed. 4757 (FT_DEBUG_HOOK_UNPATENTED_HINTING): New macro. Use this with 4758 `FT_Set_Debug_Hook' to get the same effect as the removed 4759 TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING. 4760 4761 * src/truetype/ttobjs.c (tt_face_init): Use 4762 `FT_DEBUG_HOOK_UNPATENTED_HINTING'. 4763 47642003-08-06 Werner Lemberg <wl@gnu.org> 4765 4766 * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c 4767 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix 4768 previous change. 4769 47702003-08-05 Werner Lemberg <wl@gnu.org> 4771 4772 * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c 4773 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply 4774 font matrix to advance width also. 4775 * docs/CHANGES: Updated. 4776 47772003-07-26 Werner Lemberg <wl@gnu.org> 4778 4779 * builds/unix/configure.ac (version_info): Set to 9:4:3. 4780 * builds/unix/configure: Updated. 4781 * docs/CHANGES, docs/VERSION.DLL: Updated. 4782 4783 * include/freetype/freetype.h (FT_GlyphSlot): Change 2003-06-16 4784 also breaks binary compatibility. Reintroduce an unsigned integer 4785 at the old position of `flags' called `reserved'. 4786 47872003-07-25 Werner Lemberg <wl@gnu.org> 4788 4789 Make API reference valid HTML 4.01 transitional. 4790 4791 * src/tools/docmaker/tohtml.py (html_header_1): Add doctype 4792 and charset. 4793 (html_header_2): Fix style elements and add some more. 4794 Fix syntax. 4795 (block_header, block_footer, description_header, description_footer, 4796 marker_header, marker_footer, source_header, source_footer, 4797 chapter_header): Don't use <center>...</center> but `align=center' 4798 table attribute. 4799 (chapter_inter, chapter_footer): Add <li> and use special <ul> 4800 class. 4801 Use double quotes around table widths given in percent. 4802 (keyword_prefix, keyword_suffix): Don't change font colour directly 4803 but use a new <span> class. 4804 (section_synopsis_header, section_synopsis_footer): Don't change 4805 colour. 4806 (code_header, code_footer): Don't change font colour directly but 4807 use a special <pre> class. 4808 (print_html_field): <tr> gets the `valign' attribute, not <table>. 4809 (print_html_field_list): Ditto. 4810 (index_exit): Don't use <center>...</center> but `align=center' 4811 table attribute. 4812 (section_enter): Ditto. 4813 (toc_exit): Don't emit </table>. 4814 (block_enter): Use <h4><a>, not <a><h4>. 4815 (__init__): Fix tag order in self.html_footer. 4816 48172003-07-25 David Turner <david@freetype.org> 4818 4819 This change reimplements fix from 2003-05-30 without breaking 4820 binary compatibility. 4821 4822 * include/freetype/t1tables.h (PS_FontInfoRec): `italic_angle', 4823 `is_fixed_pitch', `underline_position', `underline_thickness' are 4824 reverted to be normal values. 4825 4826 * include/freetype/internal/psaux.h (T1_FieldType): Remove 4827 `T1_FIELD_TYPE_BOOL_P', `T1_FIELD_TYPE_INTEGER_P', 4828 `T1_FIELD_TYPE_FIXED_P', `T1_FIELD_TYPE_FIXED_1000_P'. 4829 (T1_FIELD_TYPE_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P, 4830 T1_FIELD_FIXED_1000_P): Removed. 4831 (T1_FIELD_TYPE_BOOL): Renamed to... 4832 (T1_FIELD_BOOL): New macro. Updated all callers. 4833 4834 * src/type42/t42parse.c: `italic_angle', `is_fixed_pitch', 4835 `underline_position', `underline_thickness', `paint_type', 4836 `stroke_width' are reverted to be normal values. 4837 (T42_KEYWORD_COUNT): New macro. 4838 (t42_parse_dict): New array `keyword_flags' to mark that a value has 4839 already been assigned to a dictionary entry. 4840 * src/type42/t42objs.c (T42_Face_Init, T42_Face_Done): Updated. 4841 4842 * src/cid/cidtoken.h: `italic_angle', `is_fixed_pitch', 4843 `underline_position', `underline_thickness' are reverted to be 4844 normal values. 4845 * src/cid/cidobjs.c (cid_face_done, cid_face_init): Updated. 4846 4847 * src/psaux/psobjs.c (ps_parser_load_field): Updated. 4848 4849 * src/type1/t1tokens.h: `italic_angle', `is_fixed_pitch', 4850 `underline_position', `underline_thickness', `paint_type', 4851 `stroke_width' are reverted to be normal values. 4852 * src/type1/t1objs.c (T1_Face_Done, T1_Face_Init): Updated. 4853 * src/type1/t1load.c (T1_FIELD_COUNT): New macro. 4854 (parse_dict): Add parameter for keyword flags. 4855 Record only first instance of a field. 4856 (T1_Open_Face): New array `keyword_flags'. 4857 48582003-07-24 Werner Lemberg <wl@gnu.org> 4859 4860 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5. 4861 * builds/unix/configure.ac (version_info): Set to 10:0:3. 4862 * builds/unix/configure: Updated. 4863 * builds/freetype.mk (refdoc): Fix --title. 4864 4865 * docs/CHANGES, docs/VERSION.DLL, README: Updated. 4866 4867 * src/tools/docmaker/sources.py (re_crossref): Fix regular 4868 expression to handle trailing punctuation characters. 4869 * src/tools/docmaker/tohtml.py (make_html_word): Updated. 4870 4871 * docs/release: New file. 4872 48732003-07-23 YAMANO-UCHI Hidetoshi <mer@din.or.jp> 4874 4875 * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New 4876 member function `to_bytes'. 4877 4878 * src/psaux/psauxmod.c (ps_parser_funcs): New member 4879 `ps_parser_to_bytes'. 4880 (psaux_module_class): Increase version to 0x20000L. 4881 4882 * src/psaux/psobjs.c (IS_T1_LINESPACE): Add \f. 4883 (IS_T1_NULLSPACE): New macro. 4884 (IS_T1_SPACE): Add it. 4885 (skip_spaces, skip_alpha): New functions. 4886 (ps_parser_skip_spaces, ps_parser_skip_alpha): Use them. 4887 (ps_tobytes, ps_parser_to_bytes): New functions. 4888 48892003-07-07 Werner Lemberg <wl@gnu.org> 4890 4891 * builds/freetype.mk (DOC_DIR): New variable. 4892 (refdoc): Use *_DIR variables. 4893 (distclean): Remove documentation files. 4894 4895 * builds/detect.mk (std_setup, dos_setup): Mention `make refdoc'. 4896 4897 * configure: Set DOC_DIR variable. 4898 48992003-07-07 Patrik Hägglund <patrik.hagglund@bredband.net> 4900 4901 * builds/freetype.mk (refdoc): New target to build the 4902 documentation. 4903 (.PHONY): Updated. 4904 4905 * include/freetype/freetype.h: Improve documentation of FT_CharMap. 4906 * include/freetype/ftimage,h: Fix documentation of FT_OUTLINE_FLAGS. 4907 * include/freetype/tttables.h: Document FT_Sfnt_Tag. 4908 49092003-07-06 Werner Lemberg <wl@gnu.org> 4910 4911 * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfread.c 4912 (pcf_load_font): Fix computation of height if PIXEL_SIZE property is 4913 missing. 4914 49152003-07-01 Werner Lemberg <wl@gnu.org> 4916 4917 * src/cache/ftcsbits.c (ftc_sbit_node_compare): Only add `size' if 4918 there is no error. Reported by Knut St. Osmundsen 4919 <bird-freetype@anduin.net>. 4920 49212003-06-30 Werner Lemberg <wl@gnu.org> 4922 4923 A new try to synchronize bitmap font access. 4924 4925 * include/freetype/freetype.h (FT_Bitmap_Size): `height' is now 4926 defined to return the baseline-to-baseline distance. This was 4927 already the value returned by the BDF and PCF drivers. 4928 4929 The `width' field now gives the average width. I wasn't able to 4930 find something better. It should be taken as informative only. 4931 4932 New fields `size', `x_ppem', and `y_ppem'. 4933 4934 * src/pcf/pcfread.c (pcf_load_font): Updated to properly fill 4935 FT_Bitmap_Size. 4936 Do proper rounding and conversion from 72.27 to 72 points. 4937 4938 * src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill 4939 FT_Bitmap_Size. 4940 Do proper rounding and conversion from 72.27 to 72 points. 4941 4942 * src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill 4943 FT_Bitmap_Size. 4944 4945 * src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill 4946 FT_Bitmap_Size. 4947 49482003-06-29 Werner Lemberg <wl@gnu.org> 4949 4950 Redesigning the FNT driver to return multiple faces, not multiple 4951 strikes. At least one font (app850.fon from WinME) contains 4952 different FNT charmaps for its subfonts. Consequently, the previous 4953 design of having multiple bitmap strikes in a single font face fails 4954 since we have only one charmap per face. 4955 4956 * include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed. 4957 (FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with 4958 `font'. 4959 4960 * src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated. 4961 4962 * src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal 4963 to pixel_height. 4964 (fnt_face_done_fonts): Removed. 4965 (fnt_face_get_dll_fonts): Renamed to... 4966 (fnt_face_get_dll_font): This. Add second function argument to 4967 select face index. 4968 Updated to load just one subfont. 4969 (fnt_font_done, FNT_Face_Done): Updated. 4970 (FNT_Face_Init): Handle `face_index'. 4971 Updated. 4972 (FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the 4973 bitmap width is now ignored. 4974 (FNT_Load_Glyph): Updated. 4975 Fix glyph index computation. 4976 (winfnt_driver_class): Updated. 4977 49782003-06-25 Owen Taylor <otaylor@redhat.com> 4979 4980 * src/sfnt/ttload.c (tt_face_load_hdmx): Don't assign 4981 num_records until we actually decide to load the table, 4982 otherwise, we'll segfault in tt_face_free_hdmx. 4983 49842003-06-24 Werner Lemberg <wl@gnu.org> 4985 4986 * src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero 4987 glyph name pointer. Reported by Mikey Anbary <manbary@vizrt.com>. 4988 49892003-06-23 Werner Lemberg <wl@gnu.org> 4990 4991 * src/tools/glnames.py: Updated to AGL 2.0. 4992 * src/psnames/pstables.h: Regenerated. 4993 49942003-06-22 Werner Lemberg <wl@gnu.org> 4995 4996 * include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h, 4997 src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c, 4998 src/otlayout/otlgsub.c, src/pshinter/pshrec.c, 4999 src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c: 5000 Decorate constants with `U' and `L' if appropriate. 5001 5002 * include/freetype/ftmoderr.h: Updated to include recent module 5003 additions. 5004 5005 * src/pshinter/pshnterr.h (FT_ERR_BASE): Define as 5006 `FT_Mod_Err_PShinter'. 5007 * src/type42/t42error.h (FT_ERR_BASE): Define as 5008 `FT_Mod_Err_Type42'. 5009 5010 * src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed. Not used. 5011 5012 * include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64 5013 and FT_INT64. 5014 50152003-06-21 Werner Lemberg <wl@gnu.org> 5016 5017 * src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in 5018 computation of glyph_index. 5019 (FNT_Size_Set_Pixels): To find a strike, first check pixel_height 5020 only, then try to find a better hit by comparing pixel_width also. 5021 Without this fix it isn't possible to access all strikes. 5022 Also compute metrics.max_advance to be in sync with other bitmap 5023 drivers. 5024 5025 * src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code. 5026 (FT_Set_Pixel_Sizes): Assign value to `metrics' after validation of 5027 arguments. 5028 50292003-06-20 Werner Lemberg <wl@gnu.org> 5030 5031 Synchronize computation of height and width for bitmap strikes. The 5032 `width' field in the FT_Bitmap_Size structure is now only useful to 5033 enumerate different strikes. The `max_advance' field of the 5034 FT_Size_Metrics structure should be used to get the (maximum) width 5035 of a strike. 5036 5037 * src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for 5038 computing `available_sizes->width' but make it always equal to 5039 `available_sizes->height'. 5040 5041 * src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for 5042 computing `available_sizes->width' but make it always equal to 5043 `available_sizes->height'. 5044 5045 * src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single 5046 argument to function. 5047 5048 * src/psnames/psmodule.c (ps_unicode_value): Handle `.' after 5049 `uniXXXX' and `uXXXX[X[X]]'. 5050 50512003-06-19 Werner Lemberg <wl@gnu.org> 5052 5053 * src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/. 5054 * src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c: 5055 s/FT_Err_/FTC_Err_/. 5056 * src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/. 5057 * src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/. 5058 * src/psaux/t1cmap.c: Include psauxerr.h. 5059 s/FT_Err_/PSaux_Err_/. 5060 * src/pshinter/pshnterr.h: New file. 5061 * src/pshinter/rules.mk: Updated. 5062 * src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h. 5063 s/FT_Err_/PSH_Err_/. 5064 * src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c: 5065 s/FT_Err_/PFR_Err_/. 5066 * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c, 5067 src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/. 5068 * src/truetype/ttgload.c: s/FT_Err_/TT_Err_/. 5069 * src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define 5070 FT_ERR_PREFIX and FT_ERR_BASE. 5071 s/FT_Err_/Gzip_Err_/. 5072 50732003-06-19 Dirck Blaskey <listtarget@danbala.com> 5074 5075 * src/cff/cffload (cff_encoding_load): `nleft' must be FT_UInt, 5076 otherwise adding 1 might wrap the result. 5077 50782003-06-18 Werner Lemberg <wl@gnu.org> 5079 5080 * src/psnames/psmodule.c (ps_unicode_value): Add support to 5081 recognize `uXXXX[X[X]]' glyph names. 5082 Don't handle glyph names starting with `uni' which have more than 5083 four digits. 5084 50852003-06-16 Werner Lemberg <wl@gnu.org> 5086 5087 * include/freetype/freetype.h (FT_Open_Flags): Replaced with 5088 #defines for the constants. 5089 (FT_Open_Args): Change type of `flags' to FT_UInt. 5090 (FT_GlyphSlot): Move `flags' to FT_Slot_Internal. 5091 5092 * include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag): 5093 Replaced with #defines for the constants. 5094 5095 * include/freetype/internal/ftobjs.h (FT_Slot_Internal): New 5096 field `flags' (from FT_GlyphSlot). 5097 Updated all affected source files. 5098 (FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h). 5099 5100 * include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved 5101 to ftobjs.h. 5102 5103 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy 5104 FT_GlyphSlot_Internal object. 5105 51062003-06-15 Werner Lemberg <wl@gnu.org> 5107 5108 * builds/compiler/gcc.mk, builds/compiler/gcc-dev.mk (CFLAGS): 5109 Add -fno-strict-aliasing to get rid of zillion warnings from gcc 5110 version 3.3. 5111 51122003-06-14 Werner Lemberg <wl@gnu.org> 5113 5114 * include/freetype/ftglyph.h (ft_glyph_bbox_unscaled, 5115 ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit, 5116 ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with 5117 FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS, 5118 FT_GLYPH_BBOX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS. 5119 The lowercase variants are now (deprecated aliases) to the uppercase 5120 versions. 5121 Updated all other files. 5122 5123 * include/freetype/ftmodule.h (ft_module_font_driver, 5124 ft_module_renderer, ft_module_hinter, ft_module_styler, 5125 ft_module_driver_scalable, ft_module_driver_no_outlines, 5126 ft_module_driver_has_hinter): Replaced with FT_MODULE_FONT_DRIVER, 5127 FT_MODULE_RENDERER, FT_MODULE_HINTER, FT_MODULE_STYLER, 5128 FT_MODULE_DRIVER_SCALABLE, FT_MODULE_DRIVER_NO_OUTLINES, 5129 FT_MODULE_DRIVER_HAS_HINTER. 5130 The lowercase variants are now (deprecated aliases) to the uppercase 5131 versions. 5132 Updated all other files. 5133 5134 * src/base/ftglyph.c (FT_Glyph_Get_CBox): Handle bbox_mode better 5135 as enumeration. 5136 5137 * src/pcf/pcfdrivr.c (pcf_driver_class), src/winfonts/winfnt.c 5138 (winfnt_driver_class), src/bdf/bdfdrivr.c (bdf_driver_class): Add 5139 the FT_MODULE_DRIVER_NO_OUTLINES flag. 5140 51412003-06-13 Detlef Würkner <TetiSoft@apg.lahn.de> 5142 5143 * src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix. 5144 51452003-06-13 Werner Lemberg <wl@gnu.org> 5146 5147 * builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also. 5148 5149 * builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for 5150 EMX gcc compiler. 5151 * builds/dos/detect.mk: Add target `emx'. 5152 5153 * builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't 5154 like a trailing semicolon; add a dummy command. 5155 5156 * src/cid/cidload.c: Remove parse_font_bbox code (already enclosed 5157 with #if 0 ... #endif). 5158 5159 * src/type1/t1tokens.h: Handle /FontName. 5160 * src/type1/t1load.c (parse_font_name): Removed. 5161 Remove parse_font_bbox code (already enclosed with #if 0 ... 5162 #endif). 5163 5164 * src/type42/t42parse.c (t42_parse_font_name): Removed. 5165 Remove t42_parse_font_bbox code (already enclosed with #if 0 ... 5166 #endif). 5167 (t42_keywords): Handle /FontName with T1_FIELD_KEY. 5168 51692003-06-12 Werner Lemberg <wl@gnu.org> 5170 5171 * include/freetype/internal/psaux.h (T1_FieldType): Add 5172 T1_FIELD_TYPE_KEY. 5173 (T1_FIELD_KEY): New macro. 5174 * src/psaux/psobjs.c (ps_parser_load_field): Handle 5175 T1_FIELD_TYPE_KEY. 5176 5177 * src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName. 5178 51792003-06-11 Alexander Malmberg <alexander@malmberg.org> 5180 5181 * src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease 5182 number of nodes. 5183 (FT_LruList_Lookup): Fix assertion for out-of-memory case. 5184 51852003-06-11 Werner Lemberg <wl@gnu.org> 5186 5187 * src/cid/cidload.c (cid_decrypt): Removed. 5188 (cid_read_subrs): Use t1_decrypt from psaux module. 5189 * src/cid/cidload.h: Updated. 5190 * src/cid/cidgload.c (cid_load_glyph): Use t1_decrypt from psaux 5191 module. 5192 51932003-06-10 Werner Lemberg <wl@gnu.org> 5194 5195 * src/cid/cidobjs.c: Apply change 2003-05-31 from <Ron.Dev@gmx.de>. 5196 Compute style flags. 5197 Fix computation of root->height. 5198 * src/cid/cidtoken.h: Handle FontBBox. 5199 * src/cid/cidload.c (cid_load_keyword): Handle 5200 T1_FIELD_LOCATION_BBOX. 5201 (parse_font_bbox): Commented out. 5202 (cid_field_records): Comment out element for parsing FontBBox. 5203 5204 * src/type42/t42parse.c (t42_parse_font_bbox): Commented out. 5205 (t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with 5206 T1_FIELD_CALLBACK. 5207 (t42_parse_font_bbox): Commented out. 5208 (t42_load_keyword): Handle T1_FIELD_LOCATION_BBOX. 5209 * src/type42/t42objs.c (T42_Face_Init): Apply change 2003-05-31 5210 from <Ron.Dev@gmx.de>. 5211 52122003-06-09 George Williams <gww@silcom.com> 5213 5214 * src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's 5215 TrueType specification. 5216 (Ins_MDRP, Ins_MIRP): Fix single width cut-in test. 5217 52182003-06-09 Detlef Würkner <TetiSoft@apg.lahn.de> 5219 5220 * src/gzip/ftgzip.c: (inflate_mask): Replaced with... 5221 (NO_INFLATE_MASK): This. 5222 * src/gzip/infutil.h: Declare `inflate_mask' conditionally by 5223 NO_INFLATE_MASK. 5224 52252003-06-09 Alexis S. L. Carvalho <alexis@cecm.usp.br> 5226 5227 * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END 5228 correctly. 5229 52302003-06-09 Wolfgang Domröse <porthos.domroese@harz.de> 5231 5232 * src/pshinter/pshglob.c (psh_globals_new): Change calculation of 5233 dim->stdw.count to avoid compiler problem. 5234 5235 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block 5236 variables to the beginning of the function to avoid compiler 5237 problems. 5238 Add casts necessary for 16bit compilers. 5239 52402003-06-09 Werner Lemberg <wl@gnu.org> 5241 5242 * src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c. 5243 (PFR_DRV_H): Add pfrtypes.h. 5244 5245 * include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/. 5246 52472003-06-08 Karl Schultz <kschultz@rsinc.com> 5248 5249 * src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third 5250 argument to FT_Bool. 5251 (pfr_lookup_bitmap_data): Change type of third and fourth argument 5252 to FT_UInt. Updated caller. 5253 (pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool. 5254 52552003-06-08 Werner Lemberg <wl@gnu.org> 5256 5257 Completely revised FreeType's make management. 5258 5259 . In all makefiles `/' is used as the path separator. The 5260 conversion to the real path separators is done as late as 5261 possible using $(subst ...). 5262 5263 . $(HOSTSEP) no longer exists. Now, $(SEP) gives the path separator 5264 for the operating system, and the new $(COMPILER_SEP) the path 5265 separator for the compiler tools. 5266 5267 . $(BUILD) has been renamed to $(BUILD_DIR). In general, all 5268 directory variables end with `_DIR'. The variants ending in `_' 5269 (like `BASE_' have been removed). 5270 5271 The following ChangeLog entries only describe changes which are 5272 not related to the redesign. 5273 5274 * builds/beos/beos-def.mk (BUILD_DIR): Fix typo. 5275 * builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid 5276 overlong arguments as suggested by J. Ali Harlow 5277 <ali@avrc.city.ac.uk>. 5278 * builds/dos/dos-wat.mk: New file. 5279 * builds/freetype.mk (FREETYPE_H): Include header files from the 5280 `devel' subdirectory. 5281 5282 * builds/os2/os2-dev.mk, builds/unix/unixddef.mk, 5283 builds/unix/unixddef.mk, builds/win32/w32-bccd.mk, 5284 builds/win32/w32-dev.mk (BUILD_DIR): Fix path. 5285 5286 * builds/unix/configure.ac, builds/unix/configure: Updated. 5287 * builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'. 5288 52892003-06-07 Werner Lemberg <wl@gnu.org> 5290 5291 * src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to 5292 make it compile. 5293 5294 * devel/ftoption.h: Updated. 5295 52962003-06-07 Detlef Würkner <TetiSoft@apg.lahn.de> 5297 5298 * include/freetype/internal/psaux.h, src/truetype/ttgload.h: 5299 s/index/idx/ to fix compiler warnings. 5300 5301 * src/sfnt/ttcmap0.c (tt_face_build_cmaps): Use more `volatile' to 5302 fix compiler warning. 5303 5304 * src/gzip/ftgzip.c (BUILDFIXED): Removed. 5305 * src/gzip/inftrees.c (inflate_trees_fixed) [!BUILDFIXED]: Use 5306 FT_UNUSED to remove compiler warning. 5307 53082003-06-06 Werner Lemberg <wl@gnu.org> 5309 5310 * include/freetype/ftstroker.h: Renamed to... 5311 * include/freetype/ftstroke.h: This. 5312 5313 * src/base/ftstroker.c: Renamed to... 5314 * src/base/ftstroke.c: This. 5315 5316 * include/freetype/config/ftheader.h (FT_STROKER_H): Updated. 5317 5318 * src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk: 5319 Updated. 5320 5321 * src/pcf/pcfdriver.c: Renamed to... 5322 * src/pcf/pcfdrivr.c: This. 5323 * src/pcf/pcfdriver.h: Renamed to... 5324 * src/pcf/pcfdrivr.h: This. 5325 5326 * src/pcf/Jamfile, src/pcf/rules.mk: Updated. 5327 53282003-06-05 Wenlin Institute (Tom Bishop) <wenlin@wenlin.com> 5329 5330 * src/base/ftmac.c (file_spec_from_path) [TARGET_API_MAC_CARBON]: 5331 Add `#if !defined(__MWERKS__)'. 5332 53332003-06-05 Werner Lemberg <wl@gnu.org> 5334 5335 * include/freetype/internal/psaux.h (T1_FieldType): Add 5336 T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P. 5337 (T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros. 5338 * src/psaux/psobjs.c (ps_parser_load_field): Handle 5339 T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P. 5340 5341 * src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration. 5342 (CFF_FIELD_FIXED_1000): New macro. 5343 (cff_parser_run): Handle cff_kind_fixed_thousand. 5344 * src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale. 5345 * src/cff/cffload (cff_subfont_load): Fix default values of 5346 expansion_factor and blue_scale. 5347 5348 * src/cid/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000 5349 for blue_scale. 5350 5351 * src/pshinter/pshglob.c (psh_globals_new): Fix default value of 5352 blue_scale. 5353 53542003-06-04 Wolfgang Domröse <porthos.domroese@harz.de> 5355 5356 * include/freetype/internal/ftdriver.h, 5357 include/freetype/internal/ftobjs.h, 5358 include/freetype/internal/psaux.h, src/cid/cidgload.c, 5359 src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h, 5360 src/pshinter/pshrec.c, src/pshinter/pshalgo.c, 5361 src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c, 5362 src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c, 5363 src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c, 5364 src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c, 5365 src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h: 5366 Many casts and slight argument type changes to make it work with 5367 a 16bit compiler. 5368 53692003-06-04 Werner Lemberg <wl@gnu.org> 5370 5371 * include/freetype/config/ftoption.h: Defining 5372 TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING by default is a bad idea 5373 since some fonts (e.g. Arial) produce worse results than without 5374 hinting. Reverted. 5375 53762003-06-04 Werner Lemberg <wl@gnu.org> 5377 5378 * src/truetype/ttgload.c (load_truetype_glyph) 5379 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call 5380 FT_GlyphLoader_CheckPoints before adding phantom points. This fixes 5381 a segfault bug with fonts (e.g. htst3.ttf) which have nested 5382 subglyphs more than one level deep. Reported by Anthony Fok. 5383 5384 * include/freetype/config/ftoption.h: Define 5385 TT_CONFIG_OPTION_BYTECODE_INTERPRETER, 5386 TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and 5387 TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new 5388 default. 5389 53902003-06-03 Werner Lemberg <wl@gnu.org> 5391 5392 * src/autohint/ahhint.c (ah_hinter_hint_edges): Removed. Just a 5393 wrapper for ah_hint_edges. 5394 (ah_hint_edges): Renamed to... 5395 (ah_hinter_hint_edges): This. 5396 5397 * src/base/ftobjs.c (FT_Set_Hint_Flags): Removed. Unused. 5398 5399 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec), 5400 include/freetype/internal/psaux.h (T1_DecoderRec), 5401 src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field. 5402 Unused. 5403 5404 * src/cff/cffgload.c (cff_builder_init): Updated. 5405 (cff_decoder_parse_charstrings) <cff_op_endchar>: Call hinter->apply 5406 with decoder->hint_mode instead of builder->hint_flags. 5407 * src/psaux/t1decode.c (t1_decoder_init): Updated. 5408 5409 * src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/. 5410 5411 * src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which 5412 increased root->height by 15% if the line gap was zero. There exist 5413 fonts (containing e.g. form drawing characters) which intentionally 5414 have a zero line gap value. 5415 5416 * src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj): 5417 Removed. Unused. 5418 Updated all callers. 5419 54202003-06-02 Werner Lemberg <wl@gnu.org> 5421 5422 * src/cff/cffobjs.c (cff_face_init): Use symbolic names for 5423 Adobe specific encoding IDs (there was a wrong EID value for custom 5424 encoding). 5425 5426 * src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'. 5427 * src/cff/cffcmap.c (cff_cmap_encoding_init, 5428 cff_cmap_encoding_done): Updated. 5429 (cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use 5430 256 as limit for character code. 5431 54322003-06-01 Werner Lemberg <wl@gnu.org> 5433 5434 * src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from 5435 2003-03-20. 5436 54372003-05-31 Werner Lemberg <wl@gnu.org> 5438 5439 * include/freetype/fttrigon.h (FT_Vector_Normalize): Removed. 5440 54412003-05-31 <Ron.Dev@gmx.de> 5442 5443 * src/type1/t1objs.c (T1_Face_Init): Improve algorithm for guessing 5444 the font style by ignoring spaces and hyphens. 5445 5446 * builds/unix/freetype2.in: Fix `Version' field. 5447 54482003-05-30 Werner Lemberg <wl@gnu.org> 5449 5450 Avoid overwriting of numeric font dictionary entries for synthetic 5451 fonts. Additionally, some entries were handled as `integer' instead 5452 of `number'. 5453 5454 * include/freetype/internal/psaux.h (T1_FieldType): Add 5455 T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and 5456 T1_FIELD_TYPE_FIXED_P. 5457 (T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros. 5458 * src/psaux/psobjs.c (ps_parser_load_field): Handle new field types. 5459 5460 * include/freetype/internal/cfftypes.h (CFF_FontRecDict), 5461 src/cff/cfftoken.h: Change type of underline_position and 5462 underline_thickness to FT_Fixed. 5463 * src/cff/cffload.c (cff_subfont_load): Fix default values of 5464 underline_position and underline_thickness. 5465 * src/cff/cffobjs.c (cff_face_init): Set underline_position 5466 and underline_thickness in `root'. 5467 5468 * include/freetype/internal/t1types.h (T1_Font): Change point_type 5469 and stroke_width to pointers. 5470 * include/freetype/t1tables.h (PS_FontInfo): Change italic_angle, 5471 is_fixed_pitch, underline_position, and underline_thickness to 5472 pointers. 5473 * src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch, 5474 underline_position, and underline_thickness to pointers. Change 5475 the type of the latter two to `fixed'. 5476 Change type of stroke_width to `fixed' and make it a pointer. 5477 Change paint_type to pointer. 5478 * src/type1/t1objs.c (T1_Face_Done): Updated. 5479 (T1_Face_Init): Updated. 5480 Fix assignment of underline_position and underline_thickness. 5481 5482 * src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch, 5483 underline_position, and underline_thickness to pointers. Change 5484 the type of the latter two to `fixed'. 5485 Change type of stroke_width to `fixed'. 5486 * src/cid/cidobjs.c (cid_face_done): Updated. 5487 (cid_face_init): Updated. 5488 Fix assignment of underline_position and underline_thickness. 5489 5490 * src/type42/t42parse.c: Change italic_angle, is_fixed_pitch, 5491 underline_position, and underline_thickness to pointers. Change the 5492 type of the latter two to `fixed'. 5493 Change type of stroke_width to `fixed' and make it a pointer. 5494 Change paint_type to pointer. 5495 * src/type42/t42objs.c (T42_Face_Init): Updated. 5496 Fix assignment of underline_position and underline_thickness. 5497 (T42_Face_Done): Updated. 5498 5499 * src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning. 5500 * src/pshinter/pshglob.c, src/pshinter/pshglob.h 5501 (psh_globals_set_scale): Make it a local function. 5502 5503 * test/gview.c: Fix renaming ps3->ps typo. 5504 Formatting. 5505 55062003-05-29 Werner Lemberg <wl@gnu.org> 5507 5508 * src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed. 5509 * src/pshinter/pshalgo.h: Removed. 5510 5511 * src/pshinter/pshalgo3.[ch]: Renamed to... 5512 * src/pshinter/pshalgo.[ch]: New files. 5513 s/PSH3/PSH/. 5514 s/psh3/psh/. 5515 s/ps3/ps/. 5516 5517 * src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated. 5518 * src/pshinter/rules.mk, src/pshinter/Jamfile: Updated. 5519 5520 * src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented 5521 out. 5522 5523 * tests/gview.c: Remove code for pshalgo1 and pshalgo2. 5524 Updated. 5525 55262003-05-28 Martin Zinser <zinser@decus.de> 5527 5528 * vms_make.com: Reworked support for shareable images on VMS. The 5529 first version was kind of a hack; the current implementation of the 5530 procedure to extract the required symbols is much cleaner. 5531 5532 Reworked creation of MMS files, avoiding a number of temporary files 5533 which were created in the previous version. 5534 5535 Further work on creating descrip.mms files on the fly. 5536 5537 * builds/vms/descrip.mms, src/autohint/descrip.mms, 5538 src/type1/descrip.mms: Removed. 5539 55402003-05-28 Werner Lemberg <wl@gnu.org> 5541 5542 * src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip 5543 contours with only a single point to avoid segfault. 5544 5545 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Activate code for 5546 handling `origin'. 5547 55482003-05-24 Werner Lemberg <wl@gnu.org> 5549 5550 * src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION): 5551 Removed since unused. 5552 55532003-05-21 Werner Lemberg <wl@gnu.org> 5554 5555 * include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro 5556 for strcat. 5557 5558 * src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/. 5559 (parse_font): s/memcpy/ft_memcpy/. 5560 (is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/. 5561 * src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]: 5562 s/strlen/ft_strlen/. 5563 s/strcat/ft_strcat/. 5564 s/strcpy/ft_strcpy/. 5565 * src/gzip/zutil.h: s/memset/ft_memset/. 5566 s/memcmp/ft_memcmp/. 5567 5568 * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c 5569 (PCF_Face_Init): Test for charset registry case-insensitively. 5570 5571 * src/gzip/ftgzip.c (ft_gzip_file_io): Revert change from yesterday; 5572 it has already been fixed differently. 5573 5574 * src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around 5575 if-clause. 5576 55772003-05-21 Martin Zinser <zinser@decus.de> 5578 5579 * t1load.c (parse_blend_axis_types): Fix compiler warning. 5580 5581 * descrip.mms: Removed. Now created by... 5582 5583 * vms_make.com: New file. 5584 55852003-05-21 Weiqi Gao <weiqigao@networkusa.net> 5586 5587 * src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta' 5588 to prevent infinite loop. 5589 55902003-05-21 Lars Clausen <lrclause@cs.uiuc.edu> 5591 5592 * docs/VERSION.DLL: Provide better autoconf snippet to check 5593 FreeType version. 5594 55952003-05-21 Werner Lemberg <wl@gnu.org> 5596 5597 * src/base/ftobjs.c (open_face): Free `internal' not 5598 `face->internal' in case of error to avoid possible segfault. 5599 5600 * src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we 5601 actually have an outline. 5602 56032003-05-20 David Chester <davidchester@qmx.net> 5604 5605 * src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize 5606 y_scale so that the top of non-capital letters is aligned on a pixel 5607 boundary whenever possible. 5608 5609 * src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase 5610 m's maintain their symmetry. 5611 56122003-05-20 Werner Lemberg <wl@gnu.org> 5613 5614 * src/autohint/ahhint.c (ah_hinter_load_glyph): Oops! David's 5615 patch from yesterday has been resolved already in a different 5616 way. Reverted. 5617 56182003-05-19 David Chester <davidchester@qmx.net> 5619 5620 * src/autohint/ahhint.c (ah_hinter_load_glyph): Don't scale 5621 y_scale locally but face->size->metrics.y_scale. 5622 56232003-05-19 David Turner <david@freetype.org> 5624 5625 * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Select proper start 5626 value for `hi' to avoid infinite loop. 5627 56282003-05-18 Yong Sun <sunyong@njstar.com> 5629 5630 * src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test. 5631 56322003-05-18 Werner Lemberg <wl@gnu.org> 5633 5634 * include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]: 5635 New macro. 5636 * src/base/ftobjs.c: Use it to control mac font support on non-mac 5637 platforms. 5638 56392003-05-17 George Williams <gww@silcom.com> 5640 5641 Implement partial support of Mac fonts on non-Mac platforms. 5642 5643 * src/base/ftobjs.c (memory_stream_close, new_memory_stream, 5644 open_face_from_buffer, Mac_Read_POST_Resource, 5645 Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face) 5646 [!FT_MACINTOSH]: New functions. 5647 (FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face. 5648 56492003-05-17 Werner Lemberg <wl@gnu.org> 5650 5651 * src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only 5652 if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by 5653 zero since FNT and friends don't define `face->units_per_EM'). 5654 56552003-05-15 David Turner <david@freetype.org> 5656 5657 * src/base/fttrigon.c (FT_Vector_Rotate): Avoid rounding errors 5658 for small values. 5659 56602003-05-15 Werner Lemberg <wl@gnu.org> 5661 5662 * src/autohint/ahtypes.h (AH_PointRec): Remove unused `in_angle' 5663 and `out_angle' fields. 5664 56652003-05-14 George Williams <gww@silcom.com> 5666 5667 * src/base/ftmac.c (FT_New_Face_From_SFNT): Handle CFF files also. 5668 56692003-05-14 Werner Lemberg <wl@gnu.org> 5670 5671 * include/freetype/freetype.h: Fix typo in comment 5672 (FT_HAS_FIXED_SIZES). 5673 56742003-05-10 Dan Williams <dan@bigw.org> 5675 5676 * builds/unix/aclocal.m4: Comment out definition of 5677 `allow_undefined_flag' for Darwin 1.3. 5678 * builds/unix/configure.ac: Add option --with-old-mac-fonts. 5679 * builds/unix/ltmain.sh: Fix version numbering for Darwin 1.3. 5680 * builds/unix/configure: Regenerated. 5681 5682 * include/freetype/config/ftconfig.h: Fix conditions for defining 5683 `FT_MACINTOSH'. 5684 * src/base/ftbase.c: Include `ftmac.c' conditionally. 5685 * src/base/ftmac.c: Handle __GNUC__. 5686 56872003-05-07 YAMANO-UCHI Hidetoshi <mer@din.or.jp> 5688 5689 * src/cid/cidload.c (is_alpha): Removed. 5690 (cid_parse_dict): Use `cid_parser_skip_alpha' instead of `is_alpha'. 5691 56922003-05-07 Werner Lemberg <wl@gnu.org> 5693 5694 * src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed. 5695 56962003-05-07 David Turner <david@freetype.org> 5697 5698 * src/autohint/ahglyph.c (ah_setup_uv): Exchange `for' loop and 5699 `switch' statement to make it run faster. 5700 (ah_outline_compute_segments): Reset `segment->score' and 5701 `segment->link'. 5702 (ah_outline_link_segments): Provide alternative code which does 5703 the same but runs much faster. 5704 Handle major direction also. 5705 (ah_outline_compute_edges): Scale `edge_distance_threshold' down 5706 after rounding instead of scaling comparison value in loop. 5707 5708 * src/autohint/ahhint.c (ah_hinter_align_strong_points): Provide 5709 alternative code which runs faster. 5710 Handle `before->scale == 0'. 5711 5712 * src/autohint/ahtypes.h (AH_SegmentRec): Move some fields down. 5713 (AH_EdgeRec): Move some fields in structure. 5714 New field `scale'. 5715 5716 * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Use binary search. 5717 57182003-05-02 Werner Lemberg <wl@gnu.org> 5719 5720 * src/autohint/ahoptim.c (LOG): Renamed to... 5721 (AH_OPTIM_LOG): This. 5722 (AH_Dump_Springs): Fix log message format. 5723 5724 * src/autohint/ahhint.c (ah_hint_edges_3): Renamed to... 5725 (ah_hint_edges): This. 5726 57272002-05-02 Keith Packard <keithp@keithp.com> 5728 5729 * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'. 5730 57312003-05-01 Werner Lemberg <wl@gnu.org> 5732 5733 * src/autohint/ahglyph.c (ah_test_extrema): Renamed to... 5734 (ah_test_extremum): This. 5735 57362003-04-28 Werner Lemberg <wl@gnu.org> 5737 5738 * builds/unix/configure.ac: Generate `freetype.pc' from 5739 `freetype.in'. 5740 * builds/unix/configure: Regenerated. 5741 * builds/unix/install.mk (install, uninstall): Handle `freetype.pc'. 5742 57432003-04-28 Gustavo J. A. M. Carneiro <gjc@inescporto.pt> 5744 5745 * builds/unix/freetype2.in: New file. Contains building information 5746 for the `pkg-config' package. 5747 57482003-04-28 David Turner <david@freetype.org> 5749 5750 * src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for 5751 `glyph_index'. 5752 57532003-04-25: Graham Asher <graham.asher@btinternet.com> 5754 5755 Added the optional unpatented hinting system for TrueType. It 5756 allows typefaces which need hinting to produce correct glyph forms 5757 (e.g., Chinese typefaces from Dynalab) to work acceptably without 5758 infringing Apple patents. This system is compiled only if 5759 TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in 5760 ftoption.h. 5761 5762 * include/freetype/ttunpat.h: New file. Defines 5763 FT_PARAM_TAG_UNPATENTED_HINTING. 5764 5765 * include/freetype/config/ftheader.h (FT_TRUETYPE_UNPATENTED_H): New 5766 macro to use when including ttunpat.h. 5767 5768 * include/freetype/config/ftoption.h 5769 (TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, 5770 TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): New configuration macros 5771 (not defined, but in comments) for the unpatented hinting system. 5772 5773 * include/freetype/internal/tttypes.h (TT_FaceRec) 5774 [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: New element `FT_Bool 5775 unpatented_hinting'. 5776 5777 * src/truetype/ttinterp.c (NO_APPLE_PATENT, APPLE_THRESHOLD): 5778 Removed. 5779 (GUESS_VECTOR): New macro. 5780 (TT_Run_Context) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: 5781 Set `both_x_axis'. 5782 (tt_default_graphics_state) 5783 [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Updated. 5784 (Current_Ratio) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: 5785 Handle `unpatented_hinting'. 5786 (Direct_Move) [NO_APPLE_PATENT]: Removed. 5787 [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion. 5788 (Project, FreeProject) 5789 [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion. 5790 (Compute_Funcs) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: 5791 Implement unpatented hinting. 5792 (DO_SPVTCA, DO_SFVTCA, DO_SPVTL, DO_SFVTL, DO_SPVFS, DO_SFVFS, 5793 Ins_SDPVTL): Call `GUESS_VECTOR'. 5794 (DO_GPV, DO_GFV) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: 5795 Handle `unpatented_hinting'. 5796 (Compute_Point_Displacement) [NO_APPLE_PATENT]: Removed. 5797 [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented 5798 hinting. 5799 (Move_Zp2_Point, Ins_SHPIX, Ins_DELTAP, Ins_DELTAC) 5800 [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented 5801 hinting. 5802 (TT_RunIns): Updated. 5803 5804 * src/truetype/ttobjs.c 5805 [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Include 5806 FT_TRUETYPE_UNPATENTED_H. 5807 (tt_face_init) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, 5808 TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING]: Check 5809 FT_PARAM_TAG_UNPATENTED_HINTING. 5810 5811 * src/truetype/ttobjs.h (TT_GraphicsState) 5812 [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Add `both_x_axis'. 5813 58142003-04-25 Werner Lemberg <wl@gnu.org> 5815 5816 * src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first 5817 argument. 5818 (bdf_get_font_property): Use `const' for third argument. 5819 Updated all callers. 5820 * src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height 5821 similar to the PCF driver. 5822 * src/bdf/bdf.h (_hashnode): Use `const' for `key'. 5823 Updated. 5824 5825 * src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask' 5826 is declared twice. It is perhaps better to modify the zlib source 5827 files directly instead of this hack. 5828 (zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts 5829 to make build with g++ successful. 5830 58312003-04-24 Manish Singh <yosh@gimp.org> 5832 5833 * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c 5834 (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Split on `-' 5835 also for searching the style name. 5836 58372003-04-24 David Turner <david@freetype.org> 5838 5839 * src/pcf/pcfread.c (pcf_load_font): Fixed the computation of 5840 face->num_glyphs. We must increase the value by 1 to respect the 5841 convention that glyph index 0 always corresponds to the `missing 5842 glyph'. 5843 58442003-04-24 Werner Lemberg <wl@gnu.org> 5845 5846 * builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@. 5847 58482003-04-24 Dieter Baron <dillo@netbsd.org> 5849 5850 * builds/unix/freetype-config.in (cflags): Emit FreeType 2's include 5851 files first. Otherwise there are conflicts with FreeType 1 5852 installed simultaneously. 5853 58542003-04-23 Werner Lemberg <wl@gnu.org> 5855 5856 Fixing bugs reported by Nelson Beebe. 5857 5858 * src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused 5859 variable `in_path'. 5860 5861 * src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of 5862 second argument to `FT_Byte*'. 5863 * include/freetype/internal/ftobjs.h: Updated. 5864 5865 * src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'. 5866 (_bdf_parse_glyphs): Remove unused variable `next'. 5867 Mark `call_data' as unused. 5868 5869 * src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable 5870 `plast'. 5871 5872 * src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to 5873 actually use `error'. 5874 (pcf_load_font): Remove unused variable `avgw'. 5875 5876 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type 5877 to `void'. 5878 Mark `error' as unused. 5879 * src/pfr/pfrobjs.h: Updated. 5880 * src/pfr/pfrdrivr.c (pfr_get_kerning): Updated. 5881 5882 * src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable 5883 `format_tag'. 5884 5885 * src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove 5886 unused variable `start'. 5887 (tt_cmap10_char_next): Remove unused variable `result' 5888 5889 * src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused. 5890 5891 * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as 5892 unused. 5893 5894 * src/type1/t1objs.c (T1_Face_Init): Remove unused variable 5895 `pshinter'. 5896 5897 * src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded' 5898 only for FT_CONFIG_OPTION_INCREMENTAL. 5899 59002003-04-23 Akito Hirai <akito@kde.gr.jp> 5901 5902 * src/sfnt/ttcmap0.c (tt_cmap4_validate): Provide a weak variant 5903 of the glyph ID bounding check if FT_VALIDATE_TIGHT is not active. 5904 Without this change, many CJK fonts from Dynalab are rejected. 5905 59062003-04-23 Joe Marcus Clarke <marcus@FreeBSD.org> 5907 5908 * src/base/ftbdf.c (FT_Get_BDF_Property): Check for valid 5909 `get_interface'. 5910 59112003-04-23 Paul Miller <paulm@profoundeffects.com> 5912 5913 * src/base/ftmac.c (parse_fond): Fix handling of style names. 5914 59152003-04-23 Werner Lemberg <wl@gnu.org> 5916 5917 * src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist 5918 instead of FT_UInt for `len'. 5919 59202003-04-22 Werner Lemberg <wl@gnu.org> 5921 5922 * src/gzip/ftgzip.c (zcalloc) [!FT_CONFIG_OPTION_SYSTEM_ZLIB]: 5923 Convert K&R format to modern C usage. 5924 (FT_Stream_OpenGzip): Use long constant. 5925 59262003-04-21 Werner Lemberg <wl@gnu.org> 5927 5928 * src/cache/ftccache.c (ftc_cache_lookup): Remove shadow declaration 5929 of `manager'. 5930 59312003-04-20 Werner Lemberg <wl@gnu.org> 5932 5933 * doc/INSTALL.UNX: Cleaned up. 5934 59352003-04-09 Torrey Lyons <torrey@mrcla.com> 5936 5937 * src/base/ftmac.c (open_face_from_buffer): Removed a double-free 5938 bug that had nasty consequences when trying to open an `invalid' 5939 font on a Mac. 5940 59412003-04-09 Mike Fabian <mfabian@suse.de> 5942 5943 * src/bdf/bdfdrivr.h (BDF_encoding_el), src/pcf/pcf.h 5944 (PCF_EncodingRec): Changed FT_Short to FT_UShort in order to be able 5945 to access more than 32768 glyphs in fonts. 5946 59472003-04-08 David Turner <david@freetype.org> 5948 5949 5950 * Version 2.1.4 released. 5951 ========================= 5952 5953 59542003-04-03 Martin Muskens <mmuskens@aurelon.com> 5955 5956 * src/type1/t1load.c (T1_Open_Face): Fixed the code to make it 5957 handle special cases where a font only contains a `.notdef' glyph 5958 (happens in PDF-embedded fonts). Otherwise, FT_Panic was called. 5959 59602003-03-27 David Turner <david@freetype.org> 5961 5962 * README: Updated. 5963 5964 * README.UNX: Removed (now replaced by docs/INSTALL.UNX). 5965 5966 * src/pshinter/pshalgo3.c: The hinter now performs as in 2.1.3 and 5967 will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is 5968 used. 5969 (psh3_dimension_quantize_len): Enabled. 5970 (psh3_hint_align): Enable commented code. 5971 (psh3_hint_align_light): Commented out. 5972 5973 * src/base/ftobjs.c (FT_Set_Char_Size): Changed the default 5974 computations to include rounding in all cases; this is required to 5975 provide accurate kerning data when native TrueType hinting is 5976 enabled. 5977 5978 * src/type1/t1load.c (is_name_char): The Type 1 loader now accepts 5979 more general names according to the PostScript specification (the 5980 previous one was too restrictive). 5981 (parse_font_name, parse_encoding, parse_charstrings, parse_dict): 5982 Use `is_name_char'. 5983 (parse_subrs): Handle empty arrays. 5984 59852003-03-20 David Turner <david@freetype.org> 5986 5987 Serious rewriting of the documentation. 5988 5989 * docs/BUGS, docs/BUILD: Removed. 5990 * docs/DEBUG.TXT: Renamed to... 5991 * docs/DEBUG: This. 5992 * docs/CUSTOMIZE, docs/TRUETYPE, docs/UPGRADE.UNX: New files. 5993 * docs/INSTALL.ANY, docs/INSTALL.UNX, docs/INSTALL.GNU New files, 5994 containing platform specific information previously in INSTALL. 5995 * docs/readme.vms: Renamed to... 5996 * docs/INSTALL.VMS: This. 5997 5998 * docs/*: Updated. 5999 6000 Introduced three new functions to deal with glyph bitmaps within 6001 FT_GlyphSlot objects: 6002 6003 ft_glyphslot_free_bitmap 6004 ft_glyphslot_alloc_bitmap 6005 ft_glyphslot_set_bitmap 6006 6007 These functions are much more convenient to use than managing the 6008 FT_GLYPH_OWN_BITMAP flag manually. 6009 6010 * include/freetype/internal/ftobjs.h (ft_glyphslot_free_bitmap, 6011 ft_glyphslot_alloc_bitmap, ft_glyphslot_set_bitmap): New functions. 6012 * src/base/ftobjs.c: Implement them. 6013 (ft_glyphslot_done): Use ft_glyphslot_free_bitmap. 6014 6015 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdriver.c 6016 (PCF_Glyph_Load): Remove unused variable `memory'. 6017 Use `ft_glyphslot_*' functions. 6018 Don't set `FT_GLYPH_OWN_BITMAP'. 6019 6020 * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Use 6021 `ft_glyphslot_alloc_bitmap'. 6022 6023 * src/sfnt/ttsbit.c (Load_SBit_Image): Change 5th argument to type 6024 `FT_GlyphSlot'. 6025 Adding argument `depth' to handle recursive calls. 6026 Use `ft_glyphslot_alloc_bitmap'. 6027 (tt_face_load_sbit_image): Remove unused variable `memory'. 6028 Don't handle `FT_GLYPH_OWN_BITMAP'. 6029 Update call to Load_SBit_Image. 6030 6031 * src/type42/t42objs.c (ft_glyphslot_clear): Renamed to... 6032 (t42_glyphslot_clear): This. Updated caller. 6033 Call `ft_glyphslot_free_bitmap'. 6034 6035 * src/winfonts/winfnt.c (FNT_Load_Glyph): Use 6036 `ft_glyphslot_set_bitmap'. 6037 Don't handle `FT_GLYPH_OWN_BITMAP'. 6038 6039 * src/cache/ftlru.c (FT_LruList_Lookup): Fixed an invalid assertion 6040 check. 6041 6042 * src/autohint/ahglyph.c (ah_outline_load): Add two scaling 6043 arguments. 6044 * src/autohint/ahglyph.h: Updated. 6045 * src/autohint/ahhint.c (ah_hinter_load): Updated. 6046 * src/autohint/ahglobal.c (ah_hinter_compute_widths): Updated. 6047 6048 * src/cache/ftccache.c (ftc_family_done): Fixed small bug that could 6049 crash the cache in rare circumstances (mostly with broken fonts). 6050 60512003-03-15 David Turner <david@freetype.org> 6052 6053 * src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a small rounding 6054 bug. Actually, it seems that previous versions of FreeType didn't 6055 perform TrueType rounding exactly as appropriate. 6056 60572003-03-14 David Turner <david@freetype.org> 6058 6059 * src/truetype/ttdriver.c (Set_Char_Sizes): Fixing the small 6060 TrueType native rendering glitches; they came from a small rounding 6061 error. 6062 60632003-03-13 David Turner <david@freetype.org> 6064 6065 Added new environment variables to control memory debugging with 6066 FreeType. See the description of `FT2_DEBUG_MEMORY', 6067 `FT2_ALLOC_TOTAL_MAX' and `FT2_ALLOC_COUNT_MAX' in DEBUG.TXT. 6068 6069 * src/base/ftdbgmem.c (FT_MemTableRec): Add `alloc_count', 6070 `bound_total', `alloc_total_max', `bound_count', `alloc_count_max'. 6071 (ft_mem_debug_alloc): Handle new variables. 6072 (ft_mem_debug_init): s/FT_DEBUG_MEMORY/FT2_DEBUG_MEMORY/. 6073 Handle new environment variables. 6074 * docs/DEBUG.TXT: Updated. 6075 6076 Fixed the cache sub-system to correctly deal with out-of-memory 6077 conditions. 6078 6079 * src/cache/ftccache.c (ftc_node_destroy): Comment out generic 6080 check. 6081 (ftc_cache_lookup): Implement loop. 6082 * src/cache/ftccmap.c: Define FT_COMPONENT. 6083 * src/cache/ftcsbits.c (ftc_sbit_node_load): Handle 6084 FT_Err_Out_Of_Memory. 6085 * src/cache/ftlru.c: Include FT_INTERNAL_DEBUG_H. 6086 (FT_LruList_Lookup): Implement loop. 6087 6088 * src/pfr/pfrobjs.c (pfr_face_done): Fix memory leak. 6089 (pfr_face_init): Fixing compiler warnings. 6090 6091 * src/psaux/psobjs.c (reallocate_t1_table): Fixed a bug (memory 6092 leak) that only happened when a try to resize an array would end in 6093 an out-of-memory condition. 6094 6095 * src/smooth/ftgrays.c (gray_convert_glyph): Removed compiler 6096 warnings / volatile bug. 6097 6098 * src/truetype/ttobjs.c (tt_glyphzone_done): Removed segmentation 6099 fault that happened in tight memory environments. 6100 61012003-02-28 Pixel <pixel@mandrakesoft.com> 6102 6103 * src/gzip/ftgzip.c (ft_gzip_file_done): Fixed memory leak: The ZLib 6104 stream was not properly finalized. 6105 61062003-02-25 Anthony Fok <anthony@thizlinux.com> 6107 6108 * src/cache/ftccmap.c: Include FT_TRUETYPE_IDS_H. 6109 (ftc_cmap_family_init): The cmap cache now 6110 supports UCS-4 charmaps when available in Asian fonts. 6111 6112 * src/sfnt/ttload.c, src/base/ftobjs.c: Changed `asian' to `Asian' 6113 in comments. 6114 61152003-02-25 David Turner <david@freetype.org> 6116 6117 * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Fixed a bug that 6118 caused FreeType to loop endlessly when trying to read certain 6119 compressed gzip files. The following test reveals the bug: 6120 6121 touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz 6122 6123 Several fixes to the PFR font driver: 6124 6125 - The list of available embedded bitmaps was not correctly set in 6126 the root FT_FaceRec structure describing the face. 6127 6128 - The glyph loader always tried to load the outlines when 6129 FT_LOAD_SBITS_ONLY was specified. 6130 6131 - The table loaded now scans for *undocumented* elements of a 6132 physical font's auxiliary data record. This is necessary to 6133 retrieve the `real' family and style names. 6134 6135 NOTE THAT THESE CHANGES THE FAMILY NAME OF MANY PFR FONTS! 6136 6137 * src/pfr/pfrload.c (pfr_aux_name_load): New function. 6138 (pfr_phy_font_done): Free `family_name' and `style_name' also. 6139 Remove unused variables. 6140 (pfr_phy_font_load): Extract useful information from the auxiliary 6141 bytes. 6142 6143 * src/pfr/pfrobjs.c (pfr_face_done): Set pointers to NULL. 6144 (pfr_face_init): Provide fallback values for `family_name' and 6145 `style_name'. 6146 Handle strikes. 6147 (pfr_slot_load): Handle FT_LOAD_SBITS_ONLY. 6148 * src/pfr/pfrtypes.h (PFR_PhyFontRec): Add fields `ascent', 6149 `descent', `leading', `family_name', and `style_name'. 6150 6151 * src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a rounding bug 6152 when computing the scale factors for a given character size in 6153 points with resolution. 6154 6155 * devel/ft2build.h, devel/ftoption.h: New files (in a new directory) 6156 which are special development versions of include/ft2build.h and 6157 include/freetype/config/ftoption.h, respectively. 6158 61592003-02-18 David Turner <david@freetype.org> 6160 6161 Fixing the slight distortion problem that occurred due to the latest 6162 auto-hinter changes. 6163 6164 * src/base/ftobjs.c (ft_recompute_scaled_metrics): Fix rounding. 6165 6166 * src/truetype/ttdriver.c (Set_Char_Sizes): New variable `metrics2'. 6167 [!TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Removed. 6168 6169 * src/truetype/ttobjs.h (TT_SizeRec): New field `metrics'. 6170 * src/truetype/ttobjs.c (Reset_Outline_Size): Fix initialization of 6171 `metrics'. 6172 [FT_CONFIG_CHESTER_ASCENDER]: Code removed. 6173 (Reset_SBit_Size): Fix initialization of `metrics'. 6174 6175 * src/truetype/ttinterp.c (TT_Load_Context): Fix initialization of 6176 `exec->metrics'. 6177 6178 * src/autohint/ahhint.c (ah_hinter_load): Disabled the advance width 6179 `correction' which seemed to provide more trouble than benefits. 6180 61812003-02-13 Graham Asher <graham.asher@btinternet.com> 6182 6183 Changed the incremental loading interface in a way that makes it 6184 simpler and allows glyph metrics to be changed (e.g., by adding a 6185 constant, as required by CFF fonts) rather than just overridden. 6186 This was required to make the GhostScript-to-FreeType bridge work. 6187 6188 * src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_INCREMENTAL]: 6189 Allow metrics to be overridden. 6190 * src/cid/cidgload.c (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL]: 6191 Ditto. 6192 6193 * src/truetype/ttgload.c (load_truetype_glyph) 6194 [FT_CONFIG_OPTION_INCREMENTAL]: Simplify. 6195 (compute_glyph_metrics) [FT_CONFIG_OPTION_INCREMENTAL]: Code block 6196 moved down. 6197 6198 * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String) 6199 [FT_CONFIG_OPTION_INCREMENTAL]: Updated. 6200 6201 * include/freetype/ftincrem.h: Updated. 6202 62032003-01-31 David Turner <david@freetype.org> 6204 6205 * docs/CHANGES, docs/VERSION.DLL, docs/TODO: Updating documentation 6206 for the 2.1.4 release. 6207 6208 * builds/win32/visualc/freetype.dsp, 6209 builds/win32/visualc/index.html: Updating the project file for 6210 2.1.4. 6211 6212 * src/gzip/adler32.c, src/gzip/ftgzip.c, src/gzip/infblock.c, 6213 src/gzip/infcodes.c, src/gzip/inflate.c, src/gzip/inftrees.c, 6214 src/gzip/infutil.c: Removed old-style (K&R)function definitions. 6215 This avoids warnings with Visual C++ at its most pedantic mode. 6216 6217 * src/pfr/pfrsbit.c: Removed compiler warnings. 6218 6219 * src/cache/ftccmap.c (ftc_cmap_family_init): Changed an FT_ERROR 6220 into an FT_TRACE1 since it caused `ftview' and others to dump too 6221 much junk when trying to display a waterfall with a font without a 6222 Unicode charmap (e.g. SYMBOL.TTF). 6223 6224 Implemented FT_CONFIG_CHESTER_BLUE_SCALE, corresponding to the last 6225 patch from David Chester, but with a much simpler (and saner) 6226 implementation. 6227 6228 * src/autohint/ahhint.c (ah_hinter_load_glyph) 6229 [FT_CONFIG_CHESTER_BLUE_SCALE]: Try to optimize the y_scale so that 6230 the top of non-capital letters is aligned on a pixel boundary 6231 whenever possible. 6232 6233 * src/base/ftobjs.c (FT_Set_Char_Size) 6234 [FT_CONFIG_CHESTER_BLUE_SCALE]: Round differently. 6235 * src/truetype/ttdriver.c (Set_Char_Sizes) 6236 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Do some rounding only 6237 if this macro is defined. 6238 6239 * src/truetype/ttobjs.c (Reset_Outline_Size) 6240 [FT_CONFIG_CHESTER_ASCENDER]: Round differently. 6241 6242 * src/pshinter/pshalgo3.c: Improved the Postscript hinter. Getting 6243 rid of stem snapping seems to work well here (though the stems are 6244 still slightly moved to increase contrast). 6245 (psh3_dimension_quantize_len): Commented out. 6246 (psh3_hint_align_light): New function. 6247 (psh3_hint_align): Comment out some code. 6248 6249 THIS IMPROVES ANTI-ALIASED RENDERING, BUT MONOCHROME AND LCD MODES 6250 STILL SUCK. 6251 62522003-01-22 David Chester <davidchester@qmx.net> 6253 6254 * src/autohint/ahhint.c (ah_compute_stem_width): Small fix to the 6255 stem width optimization. 6256 62572003-01-22 David Turner <david@freetype.org> 6258 6259 Adding a new API `FT_Get_BDF_Property' to retrieve the BDF 6260 properties of a given PCF or BDF font. 6261 6262 * include/freetype/ftbdf.h (BDF_PropertyType): New enumeration. 6263 (BDF_Property, BDF_PropertyRec): New structure. 6264 FT_Get_BDF_Property): New function. 6265 * include/freetype/internal/bdftypes.h: Include FT_BDF_H. 6266 (BDF_GetPropertyFunc): New function pointer. 6267 6268 * src/base/ftbdf.c (test_font_type): New helper function. 6269 (FT_Get_BDF_Charset_ID): Use `test_font_type'. 6270 (FT_Get_BDF_Property): New function. 6271 6272 * src/bdf/bdfdrivr.c: Include FT_BDF_H. 6273 (bdf_get_bdf_property, bdf_driver_requester): New functions. 6274 (bdf_driver_class): Use `bdf_driver_requester'. 6275 6276 * src/pcf/pcfdrivr.c: Include FT_BDF_H. 6277 (pcf_get_bdf_property, pcf_driver_requester): New functions 6278 (pcf_driver_class): Use `pcf_driver_requester'. 6279 6280 * src/pcf/pcfread.c: Include `pcfread.h'. 6281 (pcf_find_property): Decorate it with FT_LOCAL_DEF. 6282 * src/pcf/pcfread.h: New file, providing `pcf_find_property'. 6283 6284 * src/sfnt/ttload.c (sfnt_dir_check): Relaxed the `head' table size 6285 verification to accept a few broken fonts who pad the size 6286 incorrectly (the table should be padded, but its `size' field 6287 shouldn't according to the specification). 6288 62892003-01-18 Werner Lemberg <wl@gnu.org> 6290 6291 * builds/unix/ltmain.sh: Regenerated with `libtoolize --force 6292 --copy' from libtool 1.4.3. 6293 * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from 6294 automake 1.7.1. 6295 * builds/unix/configure: Regenerated with autoconf 2.54. 6296 * builds/unix/config.guess, builds/unix/config.sub: Updated from 6297 `config' CVS module at subversions.gnu.org. 6298 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from 6299 `automake' CVS module at subversions.gnu.org. 6300 63012003-01-15 David Turner <david@freetype.org> 6302 6303 * include/freetype/freetype.h: Fixed documentation for 6304 FT_Size_Metrics. 6305 63062003-01-15 James Su <suzhe@turbolinux.com.cn> 6307 6308 * src/gzip/ftgzip.c (ft_gzip_check_header): Bugfix: couldn't read 6309 certain gzip-ed font files (typo: `&&' -> `&'). 6310 63112003-01-15 Huw D M Davies <h.davies1@physics.ox.ac.uk> 6312 6313 Added a Windows .FNT specific API (mostly for Wine). Also fixed a 6314 nasty bug in the header loader which would cause invalid memory 6315 overwrites. 6316 6317 * include/freetype/config/ftheader.h (FT_WINFONTS_H): New macro 6318 for ftwinfnt.h. 6319 * include/freetype/internal/fnttypes.h: Include FT_WINFONTS_H. 6320 (FNT_FontRec): Updated. 6321 Move Windows FNT definition to... 6322 * include/freetype/ftwinfnt.h: This new file. 6323 (FT_WinFNT_HeaderRec): Rename `reserved2' to `reserved1'. 6324 * src/base/ftwinfnt.c: New file, providing `FT_Get_WinFNT_Header'. 6325 * src/winfonts/winfnt.c (winfnt_header_fields): Updated. 6326 Rename `reserved2' to `reserved1'. 6327 (fnt_font_load): Updated. 6328 6329 * src/base/Jamfile, src/base/descrip.mms, src/base/rules.mk: 6330 Updated. 6331 63322003-01-14 Graham Asher <graham.asher@btinternet.com> 6333 6334 * include/freetype/ftglyph.h, src/base/ftglyph.c: Added `const' to 6335 the type of the first argument to FT_Matrix_Multiply, which isn't 6336 changed -- this adds documentation and convenience. 6337 63382003-01-13 Graham Asher <graham.asher@btinternet.com> 6339 6340 * src/sfnt/ttload.c (tt_face_load_metrics) 6341 [FT_CONFIG_OPTION_INCREMENTAL]: TrueType typefaces without 6342 horizontal metrics (without the `hmtx' table) are now tolerated if 6343 an incremental interface has been specified that has a 6344 get_glyph_metrics function, implying that metrics will be supplied 6345 from outside. This happens for certain Type 42 fonts passed from 6346 GhostScript. 6347 63482003-01-11 David Chester <davidchester@qmx.net> 6349 6350 Patches to the auto-hinter in order to slightly improve the output. 6351 Note that everything is controlled through the new 6352 FT_CONFIG_OPTION_CHESTER_HINTS defined in `ftoption.h'. There are 6353 also individual FT_CONFIG_CHESTER_XXX macros to control individual 6354 `features'. 6355 6356 Note that all improvements are enabled by default, but can be 6357 tweaked for optimization and testing purposes. The configuration 6358 macros will most likely disappear in the short future. 6359 6360 * include/freetype/config/ftoption.h 6361 (FT_CONFIG_OPTION_CHESTER_HINTS): New macro. 6362 (FT_CONFIG_CHESTER_{SMALL_F,ASCENDER,SERIF,STEM,BLUE_SCALE}) 6363 [FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual 6364 features. 6365 6366 * src/autohint/ahglobal.c (blue_chars) [FT_CONFIG_CHESTER_SMALL_F]: 6367 Add blue zone for `fijkdbh'. 6368 * src/autohint/ahglobal.h (AH_IS_TOP_BLUE) 6369 [FT_CONFIG_CHESTER_SMALL_F]: Use `AH_BLUE_SMALL_F_TOP'. 6370 * src/autohint/ahglyph.c (ah_outline_compute_edges) 6371 [FT_CONFIG_CHESTER_SERIF]: Use `AH_EDGE_SERIF'. 6372 (ah_outline_compute_blue_edges) [FT_CONFIG_CHESTER_SMALL_F]: 6373 Increase threshold for `best_dist'. 6374 * src/autohint/ahhint.c (ah_compute_stem_width) 6375 [FT_CONFIG_CHESTER_SERIF]: Provide new version for improved serif 6376 handling. 6377 (ah_align_linked_edge) [FT_CONFIG_CHESTER_SERIF]: Use special 6378 version of `ah_compute_stem_width'. 6379 (ah_hint_edges_3) [FT_CONFIG_CHESTER_STEM]: A new algorithm for stem 6380 alignment when stem widths are less than 1.5 pixels wide centers the 6381 stem slightly off-center of the center of a pixel (this increases 6382 sharpness and consistency). 6383 [FT_CONFIG_CHESTER_SERIF]: Use special version of 6384 `ah_compute_stem_width'. 6385 * src/autohint/ahtypes.h [FT_CONFIG_CHESTER_SMALL_F]: Add 6386 `AH_BLUE_SMALL_F_TOP'. 6387 63882003-01-11 David Turner <david@freetype.org> 6389 6390 * include/freetype/internal/fnttypes.h (WinFNT_HeaderRec): Increase 6391 size of `reserved2' to avoid memory overwrites. 6392 63932003-01-08 Huw Davies <huw@codeweavers.com> 6394 6395 * src/winfonts/winfnt.c (winfnt_header_fields): Read 16 bytes into 6396 `reserved2', not `reserved'. 6397 6398 * src/base/ftobjs.c (find_unicode_charmap): Fixed the error code 6399 returned when the font doesn't contain a Unicode charmap. This 6400 allows FT2 to load `symbol.ttf' and a few others correctly since the 6401 last release. 6402 (open_face): Fix return value. 6403 64042003-01-08 Owen Taylor <owen@redhat.com> 6405 6406 Implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and 6407 postscript hinters. 6408 6409 * src/autohint/ahtypes.h (AH_HinterRec): Add `do_stem_adjust'. 6410 * src/autohint/ahhint.c (ah_compute_stem_width): Handle 6411 hinter->do_stem_adjust. 6412 (ah_hinter_load_glyph): Set hinter->do_stem_adjust. 6413 6414 * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add `do_stem_adjust'. 6415 * src/pshinter/pshalgo3.c (psh3_hint_align): Use `do_stem_adjust'. 6416 (ps3_hints_apply): Handle FT_RENDER_MODE_LIGHT. 6417 6418 * include/freetype/freetype.h (FT_Render_Mode): Add 6419 FT_RENDER_MODE_LIGHT. 6420 6421 * src/truetype/ttgload.c: Fixing the TrueType loader to handle 6422 invalid composites correctly by limiting the recursion depth. 6423 (TT_MAX_COMPOSITE_RECURSE): New macro. 6424 (load_truetype_glyph): Add argument `recurse_count'. 6425 Load a composite only if the numbers of contours is -1, emit error 6426 otherwise. 6427 (TT_Load_Glyph): Updated. 6428 64292003-01-08 David Turner <david@freetype.org> 6430 6431 * Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: Small changes to 6432 support the compilation of FreeType 2 as part of larger projects 6433 with their own configuration options (only with Jam). 6434 64352003-01-07 David Turner <david@freetype.org> 6436 6437 * src/base/ftstroker.c: Probably the last bug-fixes to the stroker; 6438 the API is likely to change, however. 6439 (ft_stroke_border_close): Don't record empty paths. 6440 (ft_stroke_border_get_counts): Increase `num_points' also in for loop. 6441 (ft_stroke_border_export): Don't increase `write' twice in for loops. 6442 (ft_stroker_outside): Handle `phi' together with `theta'. 6443 (FT_Stroker_ParseOutline): New function. 6444 6445 * src/base/fttrigon.c (FT_Angle_Diff): Fixing function: It returned 6446 invalid values for large negative angle differences (resulting in 6447 incorrect stroker computations, among other things). 6448 6449 * src/cache/ftccache.c (ftc_node_hash_unlink): Removing incorrect 6450 assertion, and changing code to avoid hash table size contraction. 6451 6452 * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: Adding 6453 `ftstroker' to default build, as optional component. 6454 64552002-12-26 David Turner <david@freetype.org> 6456 6457 * src/gzip/adler32.c, src/gzip/infblock.c, src/gzip/inflate.c, 6458 src/gzip/inftrees.c, src/gzip/zconf.h, src/gzip/zlib.h, 6459 src/gzip/zutil.h: Updates to allow compilation without compiler 6460 warnings with LCC-Win32. 6461 6462 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4. 6463 * builds/unix/configure.ac (version_info): Increased to 9:3:3. 6464 * builds/unix/configure: Regenerated. 6465 * docs/VERSION.DLL: Updated. 6466 64672002-12-23 Anthony Fok <anthony@thizlinux.com> 6468 6469 * builds/unix/configure.ac, builds/unix/unix-cc.in (LINK_LIBRARY), 6470 builds/unix/unix-def.in (SYSTEM_ZLIB): Small fix to configure 6471 sub-system on Unix to allow other programs to correctly link with 6472 zlib when needed. 6473 64742002-12-19 David Turner <david@freetype.org> 6475 6476 * include/freetype/internal/sfnt.h (SFNT_Load_Table_Func): New 6477 function pointer. 6478 6479 * include/freetype/tttables.h (FT_Load_Sfnt_Table): New function. 6480 * src/base/ftobjs.c: Implement it. 6481 6482 * src/sfnt/sfdriver.c (sfnt_get_interface): Handle `load_sfnt' 6483 module request. 6484 64852002-12-17 David Turner <david@freetype.org> 6486 6487 * src/base/ftobjs.c (find_unicode_charmap): Added some comments to 6488 better explain what's happening there. 6489 (open_face): Included Graham Asher's fix to prevent faces without 6490 Unicode charmaps from loading. 6491 6492 * src/winfonts/winfnt.c: Included George Williams's fix to support 6493 version 2 fonts correctly. 6494 (winfnt_header_fields): Updated. 6495 (fnt_font_load): Handle version 2 fonts. 6496 (FNT_Load_Glyph): Updated. 6497 64982002-12-16 David Turner <david@freetype.org> 6499 6500 * docs/VERSION.DLL: Updating document to better explain the 6501 differences between the three version numbers being used on Unix, as 6502 well as providing an autoconf fragment provided by Lars Clausen. 6503 6504 * src/smooth/ftgrays.c (gray_render_conic): Fixed small bug that 6505 prevented Bézier arcs with negative vertical coordinates to be 6506 rendered appropriately. 6507 65082002-12-02 Antoine Leca <Antoine-Freetype@Leca-Marti.org> 6509 6510 * src/base/ftobjs.c: Modified the logic to get Unicode charmaps. 6511 Now it loads UCS-4 charmaps when there is one. 6512 (find_unicode_charmap): New function. 6513 (open_face): Refer to the above one. 6514 (FT_Select_Charmap): Idem. 6515 65162002-11-29 Antoine Leca <Antoine-Freetype@Leca-Marti.org> 6517 6518 * include/freetype/ftgzip.h: Correct the name of the controlling 6519 macro (was __FTXF86_H__ ...). 6520 65212002-11-27 Vincent Caron <v.caron@zerodeux.net> 6522 6523 * builds/unix/unix-def.in, builds/unix/freetype-config.in, 6524 builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c 6525 [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Adding support for system zlib 6526 installations if available on the target platform (Unix only). 6527 65282002-11-23 David Turner <david@freetype.org> 6529 6530 * src/cff/cffload.c (cff_charset_load, cff_encoding_load): Modified 6531 charset loader to accept pre-defined charsets, even when the font 6532 contains fewer glyphs. Also enforced more checks to ensure that we 6533 never overflow the character codes array in the encoding. 6534 65352002-11-22 Antoine Leca <Antoine-Freetype@Leca-Marti.org> 6536 6537 * include/freetype/ttnameid.h: Updated to latest OpenType 6538 specification. 6539 65402002-11-18 David Turner <david@freetype.org> 6541 6542 6543 * Version 2.1.3 released. 6544 ========================= 6545 6546 65472002-11-07 David Turner <david@freetype.org> 6548 6549 * src/cache/ftcsbits.c (ftc_sbit_node_load): Fixed a small bug that 6550 caused problems with embedded bitmaps. 6551 6552 * src/otlayout/otlayout.h, src/otlayout/otlconf.h, 6553 src/otlayout/otlgsub.c, src/otlayout/otlgsub.h, 6554 src/otlayout/otlparse.c, src/otlayout/otlparse.h, 6555 src/otlayout/otlutils.h: Updating the OpenType Layout code, adding 6556 support for the first GSUB lookups. Nothing that really compiles 6557 for now though. 6558 6559 * src/autohint/ahhint.c (ah_align_serif_edge): Disabled serif stem 6560 width quantization. It produces slightly better shapes though this 6561 is not distinguishable with many fonts. 6562 Remove other dead code. 6563 6564 * src/Jamfile, src/*/Jamfile: Simplified. 6565 Use $(FT2_SRC_DIR). 6566 65672002-11-06 David Turner <david@freetype.org> 6568 6569 * include/freetype/freetype.h (FT_LOAD_TARGET_LIGHT): New macro. 6570 (FT_LOAD_TARGET, FT_LOAD_TARGET_MODE): Use `& 15' instead of `& 7'. 6571 65722002-11-05 David Turner <david@freetype.org> 6573 6574 * include/freetype/config/ftoption.h, src/gzip/ftgzip.c: Added 6575 support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify 6576 the use of system-wide zlib. 6577 6578 Note that this macro, as well as 6579 TT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore. 6580 This allows the build system to define them depending on the 6581 configuration (typically by adding -D flags at compile time). 6582 6583 * src/sfnt/ttcmap0.c (tt_face_build_cmaps): Removed compiler 6584 warnings in optimized mode relative to the `volatile' local 6585 variables. This was not a compiler bug after all, but the fact that 6586 a pointer to a volatile variable is not the same as a volatile 6587 pointer to a variable :-) 6588 6589 The fix was to change 6590 `volatile FT_Byte* p' 6591 into 6592 `FT_Byte* volatile p'. 6593 6594 * src/pfr/pfrload.c (pfr_phy_font_load), src/pfr/pfrdrivr.c 6595 (pfr_get_metrics), src/gzip/inftrees.c: Removed compiler warnings in 6596 optimized modes. 6597 6598 * src/gzip/*.[hc]: Modified our zlib copy in order to prevent 6599 exporting any zlib function names outside of the component. This 6600 prevents linking problems on some platforms, when applications want 6601 to link FreeType _and_ zlib together. 6602 66032002-11-05 Juliusz <jch@pps.jussieu.fr> 6604 6605 * src/psaux/psobjs.c (ps_table_add): Modified increment loop in 6606 order to implement exponential behaviour. 6607 66082002-11-01 David Turner <david@freetype.org> 6609 6610 Added PFR-specific public API. Fixed the kerning retrieval routine 6611 (it returned invalid values when the outline and metrics resolution 6612 differ). 6613 6614 * include/freetype/ftpfr.h, include/freetype/internal/pfr.h: New 6615 files. 6616 6617 * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H): New 6618 macro for pfr.h. 6619 6620 * src/base/ftpfr.c: New file. 6621 * src/base/Jamfile, src/base/descrip.mms: Updated. 6622 6623 * src/pfr/pfrdrivr.c: Include FT_INTERNAL_PFR_H. 6624 (pfr_get_kerning, pfr_get_advance, pfr_get_metrics): New functions. 6625 (pfr_service_rec): New format interface. 6626 (pfr_driver_class): Use `pfr_service_rec'. 6627 Replace `pfr_face_get_kerning' with `pfr_get_kerning'. 6628 * src/pfr/pfrobjs.c: Remove dead code. 6629 6630 * src/base/ftobjs.c (ft_glyphslot_clear): Small internal fix to 6631 better support bitmap-based font formats. 6632 6633 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix handling of 6634 `scale'. 6635 Fix arguments to `FT_Vector_From_Polar'. 6636 66372002-10-31 David Turner <david@freetype.org> 6638 6639 Add support for automatic handling of gzip-compressed PCF files. 6640 6641 * src/gzip/*: New files, taken from the zlib package (except 6642 ftgzip.c). 6643 6644 * include/freetype/ftgzip.h, src/gzip/ftgzip.c: New files. 6645 * include/freetype/config/ftheader.h (FT_GZIP_H): New macro for 6646 `ftgzip.h'. 6647 6648 * src/pcf/pcfdriver.c: Include FT_GZIP_H and FT_ERRORS_H. 6649 (PCF_Face_Init): If normal open fails, try to open gzip stream. 6650 (PCF_Face_Done): Close gzip stream. 6651 6652 * include/freetype/internal/pcftypes.h (PCF_Public_FaceRec), 6653 src/pcf/pcf.h (PCF_FaceRec): Add `gzip_stream' and `gzip_source'. 6654 6655 * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_ZLIB): 6656 New macro. 6657 (T1_CONFIG_OPTION_DISABLE_HINTER, FT_CONFIG_OPTION_USE_CMAPS 6658 FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS, 6659 FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS): Removed. 6660 6661 (FT_EXPORT, FT_EXPORT_DEF, FT_DEBUG_LEVEL_ERROR, 6662 FT_DEBUG_LEVEL_TRACE, FT_DEBUG_MEMORY): Comment out definitions so 6663 that platform specific configuration file can override. 6664 6665 * include/freetype/internal/ftstream.h: Include FT_SYSTEM_H. 6666 66672002-10-30 David Turner <david@freetype.org> 6668 6669 * FreeType 2.1.3rc3 released. 6670 66712002-10-25 David Turner <david@freetype.org> 6672 6673 * include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro. 6674 (FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG. 6675 66762002-10-22 Giuseppe Ghibò <ghibo@mandrakesoft.com> 6677 6678 * include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2. 6679 66802002-10-07 Werner Lemberg <wl@gnu.org> 6681 6682 * include/freetype/freetype.h (FT_Open_Face): Use `const' for `args' 6683 (suggested by Graham). 6684 * src/base/ftobjs.c (FT_Open_Face): Updated. 6685 (ft_input_stream_new): Ditto. 6686 66872002-10-05 David Turner <david@freetype.org> 6688 6689 Adding support for embedded bitmaps to the PFR driver, and rewriting 6690 its kerning loader/handler to use all kerning pairs in a physical 6691 font (and not just the first item). 6692 6693 * src/pfr/pfr.c: Include `pfrsbit.c'. 6694 * src/pfr/pfrgload.c: Include `pfrsbit.h'. 6695 * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten. 6696 (pfr_phy_font_done, pfr_phy_font_load): Updated. 6697 * src/pfr/pfrobjs.c: Include `pfrsbit.h'. 6698 (pfr_face_init): Handle kerning and embedded bitmaps. 6699 (pfr_slot_load): Load embedded bitmaps. 6700 (PFR_KERN_INDEX): Removed. 6701 (pfr_face_get_kerning): Rewritten. 6702 * src/pfr/pfrsbit.c, src/pfr/pfrsbit.h: New files. 6703 * src/pfr/pfrtypes.h (PFR_KernItemRec): New structure. 6704 (PFR_KERN_INDEX): New macro. 6705 (PFR_PhyFontRec): Add items for kerning and embedded bitmaps. 6706 * src/pfr/Jamfile (_sources) [FT2_MULTI]: Add `pfrsbit'. 6707 6708 * src/base/ftobjs.c (FT_Load_Glyph): Don't load bitmap fonts if 6709 FT_LOAD_NO_RECURSE is set. 6710 Load embedded bitmaps only if FT_LOAD_NO_BITMAP isn't set. 6711 6712 * src/tools/docmaker/content.py, src/tools/docmaker/sources.py, 6713 src/tools/docmaker/tohtml.py: Fixing a few nasty bugs. 6714 6715 * src/sfnt/ttcmap0.c (tt_cmap4_validate): The validator for format 4 6716 sub-tables is now capable of dealing with invalid `length' fields at 6717 the start of the sub-table. This allows fonts like `mg______.ttf' 6718 (i.e. Marriage) to return accurate charmaps. 6719 6720 * docs/CHANGES: Updated. 6721 67222002-10-05 Werner Lemberg <wl@gnu.org> 6723 6724 * src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'. 6725 Update all callers. 6726 (TRUNC): Add cast to `TCoord'. 6727 Update all callers. 6728 (TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and 6729 last_ey. 6730 Update all casts. 6731 (gray_render_line): Fix casts for `p' and `first'. 6732 67332002-10-02 Detlef Würkner <TetiSoft@apg.lahn.de> 6734 6735 * src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t 6736 structure with FT_ALLOC instead of using the stack. 6737 67382002-09-27 Werner Lemberg <wl@gnu.org> 6739 6740 * src/include/freetype/internal/tttypes.h (num_sbit_strikes, 6741 num_sbit_scales): Use `FT_ULong'. 6742 * src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly. 6743 * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto. 6744 (find_sbit_image): Remove cast. 6745 * src/raster/ftrend1.c (ft_raster1_render): Fix cast. 6746 67472002-09-27 Wolfgang Domröse <porthos.domroese@harz.de> 6748 6749 * src/sfnt/ttload.c (tt_face_load_names): Use cast. 6750 * src/sfnt/ttcmap.c (code_to_next2): Use long constant. 6751 (code_to_index4): Use cast. 6752 (code_to_index8_12): Fix cast. 6753 * src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index, 6754 tt_cmap12_char_index): Use cast for `result'. 6755 (tt_face_build_cmaps): Use cast. 6756 * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for 6757 `code'. 6758 (sfnt_load_face): Use FT_Int32 for `flags'. 6759 6760 * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line, 6761 gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts 6762 to `TCoord' and `int'. 6763 More 16bit fixes. 6764 s/FT_Pos/TPos/. 6765 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts. 6766 67672002-09-26 Werner Lemberg <wl@gnu.org> 6768 6769 * src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names, 6770 tt_face_get_ps_name): Replace switch statement with if clauses to 6771 make it more portable. 6772 6773 * src/cff/cffobjs.c (cff_face_init): Ditto. 6774 6775 * include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for 6776 `module_size'. 6777 * include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for 6778 `glyph_size'. 6779 6780 * src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to 6781 `FT_Render_Mode'. 6782 (FT_Render_Glyph_Internal): Change third parameter to 6783 `FT_Render_Mode'. 6784 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter 6785 to `FT_Render_Mode'. 6786 6787 * src/raster/ftrend1.c (ft_raster1_render): Change third parameter 6788 to `FT_Render_Mode'. 6789 * src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd, 6790 ft_smooth_render_lcd_v): Ditto. 6791 (ft_smooth_render_generic): Change third and fifth parameter to 6792 `FT_Render_Mode'. 6793 6794 * include/freetype/freetype.h, include/freetype/internal/ftobjs.h, 6795 include/freetype/ftglyph.h: Updated. 6796 6797 * src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c 6798 (PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load), 6799 src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c 6800 (T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change 6801 fourth parameter to `FT_Int32'. 6802 6803 * src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters 6804 and declare them as unused. 6805 6806 * src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'. 6807 6808 * src/psnames/psnames.h (PS_Unicode_Value_Func): Change return 6809 value to FT_UInt32. 6810 * src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table): 6811 Updated accordingly. 6812 68132002-09-26 Wolfgang Domröse <porthos.domroese@harz.de> 6814 6815 * src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'. 6816 (cff_get_glyph_name): Use cast for result of ft_strlen. 6817 * src/cff/cffparse.c (cff_parse_real): User cast for assigning 6818 `exp'. 6819 * src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for 6820 some local variables. 6821 (cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some 6822 switch statements. 6823 (cff_font_load): Use cast in call to CFF_Load_FD_Select. 6824 * src/cff/cffobjs.c (cff_size_init): Use more casts. 6825 (cff_face_init): Use FT_Int32 for `flags'. 6826 * src/cff/cffgload.c (cff_operator_seac): Use cast for assigning 6827 `adx' and `ady'. 6828 (cff_decoder_parse_charstrings): Use FT_ULong for third parameter. 6829 Use more casts. 6830 * src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'. 6831 6832 * src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'. 6833 * src/cid/cidgload.c (cid_load_glyph): Add missing cast for 6834 `cid_get_offset'. 6835 6836 * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use 6837 cast for `num_points'. 6838 (t1_decoder_init): Use cast for assigning `decoder->num_glyphs'. 6839 6840 * src/base/ftdebug.c (ft_debug_init): Use FT_Int. 6841 * include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use 6842 `FT_Int32' for fourth parameter. 6843 * src/base/ftobjs.c (open_face): Use cast for calling 6844 clazz->init_face. 6845 6846 * src/raster/ftraster.c (Set_High_Precision): Use `1' instead of 6847 `1L'. 6848 (Finalize_Profile_Table, Line_Up, ft_black_init): Use casts. 6849 * src/raster/ftrend1.c (ft_raster1_render): Ditto. 6850 6851 * src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long 6852 constant. 6853 68542002-09-26 Detlef Würkner <TetiSoft@apg.lahn.de> 6855 6856 * builds/amiga/include/freetype/config/ftmodule.h: Updated. 6857 68582002-09-25 David Turner <david@freetype.org> 6859 6860 * src/autohint/ahtypes.h (AH_HINT_METRICS): Disabling metrics 6861 hinting in the auto-hinter. This produces much better anti-aliased 6862 text. 6863 6864 * docs/CHANGES: Updating the changes documentation. 6865 68662002-09-25 Anthony Fok <anthony@thizlinux.com> 6867 6868 * src/sfnt/ttcmap0.c (tt_cmap4_validate, tt_cmap4_char_index, 6869 tt_cmap4_char_next): Added support for opens___.ttf (it contains a 6870 charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a 6871 missing glyph). 6872 68732002-09-21 Wolfgang Domröse <porthos.domroese@harz.de> 6874 6875 * src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be 6876 FT_Int32. 6877 * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph): 6878 Ditto. 6879 68802002-09-19 Wolfgang Domröse <porthos.domroese@harz.de> 6881 6882 More 16bit fixes. 6883 6884 * src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'. 6885 (ah_hinter_compute_widths): Use FT_Pos for `dist'. 6886 Use AH_MAX_WIDTHS. 6887 * src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos 6888 for `delta'. 6889 (ah_outline_compute_edges): Replace some ints with FT_Int and 6890 FT_Pos. 6891 (ah_test_extrema): Clean up code. 6892 (ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to 6893 hold indices. 6894 * src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score' 6895 to FT_Pos. 6896 68972002-09-19 Werner Lemberg <wl@gnu.org> 6898 6899 * builds/unix/config.guess, builds/unix/config.sub: Updated to 6900 recent versions. 6901 69022002-09-18 David Turner <david@freetype.org> 6903 6904 * src/base/ftobjs.c (FT_Library_Version): Bugfix. 6905 6906 * FreeType 2.1.3rc2 (release candidate 2) is released! 6907 69082002-09-17 David Turner <david@freetype.org> 6909 6910 * include/freetype/freetype.h, include/freetype/ftimage.h, 6911 include/freetype/ftstroker.h, include/freetype/ftsysio.h, 6912 include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating 6913 the in-source documentation. 6914 6915 * src/tools/docmaker/tohtml.py: Updating the HTML formatter in the 6916 DocMaker tool. 6917 6918 * src/tools/docmaker.py: Removed. 6919 69202002-09-17 Werner Lemberg <wl@gnu.org> 6921 6922 More 16bit fixes. 6923 6924 * src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for 6925 second parameter. 6926 69272002-09-16 Werner Lemberg <wl@gnu.org> 6928 6929 16bit fixes from Wolfgang Domröse. 6930 6931 * src/type1/t1parse.h (T1_ParserRec): Change type of `base_len' 6932 and `private_len' to FT_Long. 6933 * src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for 6934 `private_len'. 6935 * src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt. 6936 Use FT_PtrDist where appropriate. 6937 (parse_encoding): Use FT_Long for `count' and `n'. 6938 (read_binary_data): Use FT_Long* for second parameter. 6939 * src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist. 6940 6941 * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label. 6942 * src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable. 6943 69442002-09-14 Werner Lemberg <wl@gnu.org> 6945 6946 Making ftgrays.c compile stand-alone again. 6947 6948 * include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_ 6949 isn't defined. 6950 * src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset, 6951 FT_BEGIN_HEADER, FT_END_HEADER. 6952 (FT_MEM_ZERO): Define. 6953 (TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte. 6954 (gray_render_span, gray_init_gamma): Don't use `FT_UInt'. 6955 Don't cast with `FT_Byte'. 6956 (grays_init_gamma): Don't use `FT_UInt'. 6957 69582002-09-14 Werner Lemberg <wl@gnu.org> 6959 6960 * src/base/ftinit.c (FT_Add_Default_Modules): Improve error message. 6961 * src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message. 6962 * include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased 6963 to 32. 6964 69652002-09-10 Werner Lemberg <wl@gnu.org> 6966 6967 * builds/unix/configure.ac (version_info): Set to 9:2:3. 6968 * builds/unix/configure: Regenerated. 6969 * docs/VERSION.DLL: Updated. 6970 69712002-09-09 David Turner <david@freetype.org> 6972 6973 * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points), 6974 src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix 6975 to prevent segfault when hints are provided in an empty glyph. 6976 6977 * src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]: 6978 Removed conditional code. This fixes a bug that prevented 6979 compilation in debug mode of template instantiation. 6980 6981 * include/freetype/ftimage.h: Removed incorrect `zft_' definitions 6982 and updated constants documentation comments. 6983 6984 * src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader. 6985 It didn't accept empty arrays, and this prevented the loading of 6986 certain fonts. 6987 6988 * include/freetype/freetype.h (FT_FaceRec): Updating documentation 6989 comment. The `descender' value is always *negative*, not positive. 6990 69912002-09-09 Owen Taylor <owen@redhat.com> 6992 6993 * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation 6994 of bitmap metrics. 6995 69962002-09-08 David Turner <david@freetype.org> 6997 6998 Various updates to correctly support subpixel rendering. 6999 7000 * include/freetype/config/ftmodule.h: Add two renderers for LCD. 7001 7002 * src/base/ftobjs.c (FT_Load_Glyph): Updated. 7003 7004 * src/smooth/ftsmooth.c (ft_smooth_render_lcd, 7005 ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and 7006 FT_PIXEL_MODE_LCD_V, respectively. 7007 7008 * include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New 7009 structure. 7010 Updated all users. 7011 (FTC_ImageDesc): Removed. 7012 (FTC_ImageCache_Lookup): Second parameter is now of type 7013 `FTC_ImageType'. 7014 Updated all users. 7015 (FTC_IMAGE_DESC_COMPARE): Updated and renamed to... 7016 (FTC_IMAGE_TYPE_COMPARE): This. 7017 (FTC_IMAGE_DESC_HASH): Updated and renamed to... 7018 (FTC_IMAGE_TYPE_HASH): This. 7019 7020 * include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays' 7021 replaced with `max_grays'. 7022 `pitch' is now FT_Short. 7023 (FTC_SBitCache_Lookup): Second parameter is now of type 7024 `FTC_ImageType'. 7025 Updated all users. 7026 7027 * src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec): 7028 Updated. 7029 (ftc_image_node_init): Updated. 7030 Moved code to convert type flags to load flags to... 7031 (FTC_Image_Cache_Lookup): This function. 7032 (ftc_image_family_init): Updated. 7033 7034 * src/cache/ftcsbits.c (FTC_SBitQueryRec, FTC_SBitFamilyRec): 7035 Updated. 7036 (ftc_sbit_node_load): Updated. 7037 Moved code to convert type flags to load flags to... 7038 (FTC_SBitCache_Lookup): This function. 7039 7040 * src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with 7041 `do_*_snapping'. 7042 Update all users (with negation). 7043 * src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for 7044 `dist' for `delta' < 40. 7045 7046 * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with 7047 `do_*_snapping'. 7048 Update all users (with negation). 7049 * src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New 7050 function. 7051 (psh3_hint_align): Use it. 7052 Improve hinting code. 7053 [STRONGER]: Removed. 7054 (STRONGER): Removed. 7055 7056 * include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*): 7057 Removed. 7058 70592002-09-05 Werner Lemberg <wl@gnu.org> 7060 7061 * src/cid/cidobjs.c (CID_Size_Init): Renamed to... 7062 (cid_size_init): This. 7063 * src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to... 7064 (t1_builder_add_point1): This. 7065 7066 Updated all affected code. 7067 7068 * src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings. 7069 * src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto. 7070 70712002-09-04 David Turner <david@freetype.org> 7072 7073 * include/freetype/freetype.h: Corrected the definition of 7074 ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of 7075 the erroneous FT_ENCODING_SYMBOL). 7076 7077 * builds/unix/unix-def.in (datadir): Initialize it (thanks to 7078 Anthony Fok). 7079 70802002-08-29 David Turner <david@freetype.org> 7081 7082 Slight modification to the Postscript hinter to slightly increase 7083 the contrast of smooth hinting. This is very similar to what the 7084 auto-hinter does when it comes to stem width computations. However, 7085 it produces better results with well-hinted fonts. 7086 7087 * include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint 7088 mode to `init' member function. 7089 (T1_DecoderRec): Add hint mode. 7090 * include/freetype/internal/pshints (T1_Hints_ApplyFunc, 7091 T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'. 7092 * src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument. 7093 * src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not 7094 hint flags. 7095 * src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto. 7096 * src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto. 7097 (STRONGER): New macro. 7098 (psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead 7099 of `hint_flags'. 7100 Implement announced changes. 7101 * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control 7102 vertical and horizontal hints and snapping. 7103 7104 * README, docs/CHANGES: Updating for the 2.1.3 release. 7105 71062002-08-27 David Turner <david@freetype.org> 7107 7108 * Massive re-formatting changes to many, many source files. I don't 7109 want to list them all here. The operations performed were all 7110 logical transformations of the sources: 7111 7112 - trying to convert all enums and constants to CAPITALIZED_STYLE, 7113 #with define definitions like 7114 7115 #define my_old_constants MY_NEW_CONSTANT 7116 7117 - big, big update of the documentation comments 7118 7119 * include/freetype/freetype.h, src/base/ftobjs.c, 7120 src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support 7121 for LCD-optimized rendering though the new constants/enums: 7122 7123 FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V 7124 FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V 7125 7126 This is still work in progress, don't expect everything to work 7127 correctly though most of the features have been implemented. 7128 7129 * Adding new FT_LOAD_XXX flags, used to specify both hinting and 7130 rendering targets: 7131 7132 FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering 7133 FT_LOAD_TARGET_MONO :: monochrome bitmaps 7134 FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated 7135 hinting & rendering 7136 FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated 7137 hinting & rendering 7138 7139 Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default 7140 behaviour of the font engine is _unchanged_. 7141 7142 * include/freetype/ftimage.h 7143 (FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to... 7144 (FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This. 7145 (FT_Raster_Span_Func): Renamed to ... 7146 (FT_SpanFunc): This. 7147 (FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ... 7148 (FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This. 7149 7150 Updated all affected code. 7151 7152 * include/freetype/ftrender.h 7153 (FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed 7154 to ... 7155 (FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This. 7156 (FTRenderer_{render,transform,getCBox,setMode}): Renamed to ... 7157 (FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SetModeFunc}): 7158 This. 7159 7160 Updated all affected code. 7161 7162 * src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals, 7163 AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now 7164 pointers to the corresponding `*Rec' structures. All source files 7165 have been updated accordingly. 7166 7167 * src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter. 7168 * src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element. 7169 7170 * src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to... 7171 (cid_face_compute_max_advance): This. 7172 (CID_Load_Glyph): Renamed to... 7173 (cid_slot_load_glyph): This. 7174 * src/cid/cidload.c (CID_Open_Face): Renamed to... 7175 (cid_face_open): This. 7176 * src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to... 7177 (cid_slot_{done,init}): This. 7178 (CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to... 7179 (cid_size_{get_globals_funcs,done,reset): This. 7180 (CID_Face_{Done,Init}): Renamed to... 7181 (cid_face_{done,init}): This. 7182 (CID_Driver_{Done,Init}: Renamed to... 7183 (cid_driver_{done,init}: This. 7184 * src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to... 7185 (cid_parser_{new,done}): This. 7186 * src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to... 7187 (cid_parser_skip_{spaces,alpha}): This. 7188 (CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed 7189 to... 7190 (cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}): 7191 This. 7192 (CID_Load_{Field,Field_Table): Renamed to... 7193 (cid_parser_load_{field,field_table}): This. 7194 * src/cid/cidriver.c (CID_Get_Interface): Renamed to... 7195 (cid_get_interface): This. 7196 7197 Updated all affected code. 7198 7199 * src/psaux/psobjs.c (PS_Table_*): Renamed to... 7200 (ps_table_*): This. 7201 (T1_Builder_*): Renamed to... 7202 (t1_builder_*): This. 7203 * src/psaux/t1decode.c (T1_Decoder_*): Renamed to... 7204 (t1_decoder_*): This. 7205 7206 * src/psnames/psmodule.c (PS_*): Renamed to... 7207 (ps_*): This. 7208 7209 Updated all affected code. 7210 7211 * src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to... 7212 (sfnt_get_interface): This. 7213 * src/sfnt/sfobjs.c (SFNT_*): Renamed to... 7214 (sfnt_*): This. 7215 * src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to... 7216 (tt_face_{load,free}_charmap): This. 7217 * src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to... 7218 (tt_face_build_cmaps): This. 7219 * src/sfnt/ttload.c (TT_*): Renamed to... 7220 (tt_face_*): This. 7221 * src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to... 7222 (tt_post_default_names): This. 7223 (Load_*): Renamed to... 7224 (load_*): This. 7225 (TT_*): Renamed to... 7226 (tt_face_*): This. 7227 * src/sfnt/ttsbit.c (TT_*): Renamed to... 7228 (tt_face_*): This. 7229 ({Find,Load,Crop}_*): Renamed to... 7230 ({find,load,crop}_*): This. 7231 7232 Updated all affected code. 7233 7234 * src/smooth/ftsmooth.c (ft_smooth_render): Renamed to... 7235 (ft_smooth_render_generic): This. 7236 Make function more generic by adding vertical and horizontal scaling 7237 factors. 7238 (ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v): 7239 New functions. 7240 7241 (ft_smooth_lcd_renderer_class, ft_smooth_lcdv_renderer_class): New 7242 classes. 7243 7244 * src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to... 7245 (tt_glyphzone_{done,new}): This. 7246 (TT_{Face,Size,Driver}_*): Renamed to... 7247 (tt_{face,size,driver}_*): This. 7248 * src/truetype/ttpload.c (TT_Load_Locations): Renamed to... 7249 (tt_face_load_loca): This. 7250 (TT_Load_Programs): Renamed to... 7251 (tt_face_load_fpgm): This. 7252 (TT_*): Renamed to... 7253 (tt_face_*): This. 7254 72552002-08-27 Werner Lemberg <wl@gnu.org> 7256 7257 * docs/VERSION.DLL: New file. 7258 72592002-08-23 Graham Asher <graham.asher@btinternet.com> 7260 7261 * src/cff/cffgload.c (cff_operator_seac) 7262 [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not 7263 incremental in the case of CFF but just using callbacks to get glyph 7264 recipes) pass the character code, not the glyph index, to the 7265 get_glyph_data function; they have no valid charset table. 7266 7267 * src/cff/cffload.c (cff_font_load): Removed special cases for 7268 FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF 7269 fonts provided via the incremental interface now have to conform 7270 more closely to the CFF font format. 7271 7272 * src/cff/cffload.h (cff_font_load): Removed argument now unneeded. 7273 7274 * src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load 7275 to conform with new signature. 7276 72772002-08-22 David Turner <david@freetype.org> 7278 7279 * src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c, 7280 src/bdf/bdfdrivr.c: Removed compiler warnings. 7281 72822002-08-21 Werner Lemberg <wl@gnu.org> 7283 7284 * src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections, 7285 psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix 7286 compiler warnings and resolve shadowing of local variables. 7287 72882002-08-21 David Turner <david@freetype.org> 7289 7290 The automatic and Postscript hinter now automatically detect 7291 inflection points in glyph outlines and treats them specially. This 7292 is very useful to prevent nasty effect like the disappearing 7293 diagonals of `S' and `s' in many, many fonts. 7294 7295 * src/autohint/ahtypes.h (ah_flag_inflection): New macro. 7296 * src/autohint/ahangles.c (ah_angle_diff): New function. 7297 * src/autohint/ahangles.h: Updated. 7298 * src/autohint/ahglyph.c (ah_outline_compute_inflections): New 7299 function. 7300 (ah_outline_detect_features): Use it. 7301 * src/autohint/ahhint.c (ah_hinter_align_strong_points) 7302 [!AH_OPTION_NO_WEAK_INTERPOLATION]: Handle inflection. 7303 7304 * src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py, 7305 src/tools/docmaker/tohtml.py: Updating the DocMaker tool. 7306 7307 * include/freetype/freetype.h: Changing the type of the `load_flags' 7308 parameter from `FT_Int' to `FT_Int32', this in order to support more 7309 options. This should only break binary and/or source compatibility 7310 on 16-bit platforms (Atari?). 7311 (FT_LOAD_NO_AUTOHINT): New macro. 7312 7313 * src/base/ftobjs.c (FT_Load_Glyph): Updated. 7314 Handle FT_LOAD_NO_AUTOHINT. 7315 (FT_Load_Char): Updated. 7316 7317 * src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c, 7318 src/autohint/ahglyph.c, include/freetype/freetype.h: Fixing typos 7319 and removing compiler warnings. 7320 73212002-08-20 Werner Lemberg <wl@gnu.org> 7322 7323 * src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0. 7324 73252002-08-20 David Turner <david@freetype.org> 7326 7327 * src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c, 7328 src/pshinter/pshglob.c, src/pshinter/pshrec.c, 7329 src/autohint/ahmodule.c [DEBUG_HINTER]: Removing compiler warnings 7330 (only used in development builds anyway). 7331 7332 Improve support of local extrema and stem edge points. 7333 7334 * src/pshinter/pshalgo3.h (PSH3_Hint_TableRec): Use PSH3_ZoneRec 7335 for `zones'. 7336 (PSH3_DIR_UP, PSH3_DIR_DOWN): Exchange values. 7337 (PSH3_DIR_HORIZONTAL, PSH3_DIR_VERTICAL): New macros. 7338 (PSH3_DIR_COMPARE, PSH3_DIR_IS_HORIZONTAL, PSH3_IS_VERTICAL): New 7339 macros. 7340 (PSH3_POINT_INFLEX): New enum. 7341 (psh3_point_{is,set}_{off,inflex}): New macros. 7342 (PSH3_POINT_{EXTREMUM,POSITIVE,NEGATIVE,EDGE_MIN,EDGE_MAX): New 7343 enum values. 7344 (psh3_point_{is,set}_{extremum,positive,negative,edge_min,edge_max}): 7345 New macros. 7346 (PSH3_PointRec): New members `flags2' and `org_v'. 7347 (PSH3_POINT_EQUAL_ARG, PSH3_POINT_ANGLE): New macros. 7348 7349 * src/pshinter/pshalgo3.c [DEBUG_HINTER]: Removing compiler 7350 warnings. 7351 (COMPUTE_INFLEXS): New macro. 7352 (psh3_hint_align): Simplify some basic arithmetic computations. 7353 (psh3_point_is_extremum): Removed. 7354 (psh3_glyph_compute_inflections) [COMPUTE_INFLEXS]: New function. 7355 (psh3_glyph_init) [COMPUTE_INFLEXS]: Use it. 7356 (psh3_glyph_compute_extrema): New function. 7357 (PSH3_STRONG_THRESHOLD): Increased to 30. 7358 (psh3_hint_table_find_strong_point): Improved. 7359 (psh3_glyph_find_strong_points, 7360 psh3_glyph_interpolate_strong_points): Updated. 7361 (psh3_hints_apply): Use psh3_glyph_compute_extrema. 7362 7363 * test/gview.c (draw_ps3_hint, ps3_draw_control_points): New 7364 functions. 7365 Other small updates. 7366 7367 * Jamfile: Small updates. 7368 73692002-08-18 Arkadiusz Miskiewicz <misiek@pld.ORG.PL> 7370 7371 * builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to 7372 make life easier for package maintainers. 7373 73742002-08-18 Werner Lemberg <wl@gnu.org> 7375 7376 * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of 7377 horiBearingX. 7378 * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix computation of 7379 horiBearingY. 7380 73812002-08-16 George Williams <gww@silcom.com> 7382 7383 Add support for Apple composite glyphs. 7384 7385 * include/freetype/config/ftoption.h 7386 (TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro. 7387 7388 * src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET, 7389 UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType 7390 glyph loading flags. 7391 (load_truetype_glyph): Implement it. 7392 73932002-08-16 Werner Lemberg <wl@gnu.org> 7394 7395 * src/cff/cffgload.c (cff_free_glyph_data), 7396 src/cff/cffload.c (cff_font_load): Use FT_UNUSED. 7397 73982002-08-15 Werner Lemberg <wl@gnu.org> 7399 7400 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'. 7401 * src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning. 7402 74032002-08-15 Graham Asher <graham.asher@btinternet.com> 7404 7405 Implemented the incremental font loading system for the CFF driver. 7406 Tested using the GhostScript-to-FreeType bridge (under development). 7407 7408 * src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): New 7409 functions. 7410 (cff_operator_seac, cff_compute_max_advance, cff_slot_load): Use 7411 them. 7412 * src/cff/cffload.c (cff_font_load): Add `face' parameter. 7413 Load charset and encoding only if there are glyphs. 7414 [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts don't need 7415 character recipes. 7416 * src/cff/cffload.h, src/cff/cffobjs.c: Updated. 7417 7418 * src/cid/cidgload.c (cid_load_glyph) 7419 [FT_CONFIG_OPTION_INCREMENTAL]: Corrected the incremental font 7420 loading implementation to use the new system introduced on 7421 2002-08-01. 7422 74232002-08-06 Werner Lemberg <wl@gnu.org> 7424 7425 * src/cff/cffcmap.c: Remove compiler warnings. 7426 * src/cache/ftccache.c, src/cache/ftccache.i, 7427 src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/. 7428 * src/cff/cffload.c: s/select/fdselect/. 7429 * src/raster/ftraster.c: s/wait/waiting/. 7430 74312002-08-01 Graham Asher <graham.asher@btinternet.com> 7432 7433 * src/type1/t1load.c (T1_Open_Face): Tolerate a face with no 7434 charstrings if there is an incremental loading interface. Type 1 7435 faces supplied by PostScript interpreters like GhostScript will 7436 typically not provide any charstrings at load time, so this is 7437 essential if they are to work. 7438 74392002-08-01 Graham Asher <graham.asher@btinternet.com> 7440 7441 Modified incremental loading interface to be closer to David's 7442 preferences. The header freetype.h is not now affected, the 7443 interface is specified via an FT_Parameter, the pointer to the 7444 interface is hidden in an internal part of the face record, and all 7445 the definitions are in ftincrem.h. 7446 7447 * include/freetype/freetype.h [FT_CONFIG_OPTION_INCREMENTAL]: 7448 Removed. 7449 * include/freetype/internal/ftobjs.h [FT_CONFIG_OPTION_INCREMENTAL]: 7450 Include FT_INCREMENTAL_H. 7451 (FT_Face_InternalRec) [FT_CONFIG_OPTION_INCREMENTAL]: Add 7452 `incremental_interface'. 7453 7454 * src/base/ftobjs.c (open_face, FT_Open_Face) 7455 [FT_CONFIG_OPTION_INCREMENTAL]: Updated. 7456 * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]: 7457 Updated. 7458 7459 * src/truetype/ttgload.c (load_truetype_glyph) 7460 [FT_CONFIG_OPTION_INCREMENTAL]: Updated. 7461 Free loaded glyph data properly. 7462 (compute_glyph_metrics, TT_Load_Glyph) 7463 [FT_CONFIG_OPTION_INCREMENTAL]: Updated. 7464 * src/truetype/ttobjs.c (TT_Face_Init) 7465 [FT_CONFIG_OPTION_INCREMENTAL]: Updated. 7466 7467 * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String) 7468 [FT_CONFIG_OPTION_INCREMENTAL]: Updated. 7469 (T1_Parse_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Updated. 7470 Free loaded glyph data properly. 7471 (T1_Load_Glyph): Updated. 7472 [FT_CONFIG_OPTION_INCREMENTAL]: Free loaded glyph data properly. 7473 74742002-07-30 David Turner <david@freetype.org> 7475 7476 * include/freetype/ftincrem.h: Adding new experimental header file 7477 to demonstrate a `cleaner' API to support incremental font loading. 7478 7479 * include/freetype/config/ftheader.h (FT_INCREMENTAL_H): New macro. 7480 7481 * src/tools/docmaker/*: Adding new (more advanced) version of 7482 the DocMaker tool, using Python's sophisticated regexps. 7483 74842002-07-28 Werner Lemberg <wl@gnu.org> 7485 7486 s/ft_memset/FT_MEM_SET/. 7487 s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate. 7488 74892002-07-27 Werner Lemberg <wl@gnu.org> 7490 7491 * src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs. 7492 74932002-07-26 Werner Lemberg <wl@gnu.org> 7494 7495 * src/truetype/ttgload.c (load_truetype_glyph) 7496 [FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/. 7497 7498 * src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning. 7499 * src/cff/cffload.c (cff_encoding_load): Remove `memory' variable. 7500 * src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames' 7501 variable. 7502 * src/truetype/ttgload.c (load_truetype_glyph): Remove statement 7503 without effect. 7504 * src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed. 7505 7506 * src/pshinter/pshalgo3.c (psh3_hint_table_record, 7507 psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error 7508 message. 7509 75102002-07-24 Graham Asher <graham.asher@btinternet.com> 7511 7512 * src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann 7513 [sven@gimp.org] on the FreeType development forum: `If 7514 FT_CONFIG_OPTION_INCREMENTAL is undefined (this is the default), the 7515 TrueType loader crashes in line 852 of src/truetype/ttgload.c when 7516 it tries to access face->glyph_locations.' 7517 75182002-07-18 Graham Asher <graham.asher@btinternet.com> 7519 7520 Added types and structures to support incremental typeface loading. 7521 The FT_Incremental_Interface structure, defined in freetype.h, is 7522 designed to be passed to FT_Open_Face to provide callback functions 7523 to obtain glyph recipes and metrics, for fonts like those passed 7524 from PostScript that do not necessarily provide all, or any, glyph 7525 information, when first opened. 7526 7527 * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL): 7528 New configuration macro to enable incremental face loading. By 7529 default it is not defined. 7530 7531 * include/freetype/freetype.h (FT_Basic_Glyph_Metrics, 7532 FT_Get_Glyph_Data_Func, FT_Get_Glyph_Metrics_Func, 7533 FT_Incremental_Interface_Funcs, FT_Incremental_Interface) 7534 [FT_CONFIG_OPTION_INCREMENTAL]: New. 7535 (FT_Open_Args, FT_FaceRec) [FT_CONFIG_OPTION_INCREMENTAL]: New field 7536 `incremental_interface'. 7537 (FT_Open_Flags) [FT_CONFIG_OPTION_INCREMENTAL]: New enum 7538 `ft_open_incremental'. 7539 7540 * include/freetype/fttypes.h: Include FT_CONFIG_CONFIG_H. 7541 (FT_Data): New structure to represent binary data. 7542 7543 * src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]: 7544 Add parameter for incremental loading. 7545 (FT_Open_Face) [FT_CONFIG_OPTION_INCREMENTAL]: Use incremental 7546 interface. 7547 7548 * src/truetype/ttgload.c (load_truetype_glyph) 7549 [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system 7550 for the TrueType driver. 7551 (compute_glyph_metrics): Return FT_Error. 7552 [FT_CONFIG_OPTION_INCREMENTAL]: Check for overriding metrics. 7553 (TT_Load_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Don't look for 7554 the glyph table while handling an incremental font. 7555 Get glyph offset. 7556 7557 * src/truetype/ttobjs.c (TT_Face_Init) 7558 [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading 7559 system for the TrueType driver. 7560 7561 * src/cid/cidgload.c (cid_load_glyph) 7562 [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system 7563 for the CID driver. 7564 7565 * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]: 7566 Changes to support incremental Type 42 fonts: Assume a font has 7567 glyphs if it has an incremental interface object. 7568 7569 * src/type1/t1gload.c (T1_Parse_Glyph): Renamed to... 7570 (T1_Parse_Glyph_And_Get_Char_String): This. 7571 [FT_CONFIG_OPTION_INCREMENTAL]: Added support for incrementally 7572 loaded Type 1 faces. 7573 (T1_Parse_Glyph): New function. 7574 (T1_Load_Glyph): Updated. 7575 75762002-07-17 David Turner <david@freetype.org> 7577 7578 Cleaning up the cache sub-system code; linear hashing is now the 7579 default. 7580 7581 * include/freetype/cache/ftccache.h, src/cache/ftccache.i, 7582 src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed. 7583 (FTC_CACHE_USE_LINEAR_HASHING): Removed also. 7584 7585 FT_CONFIG_OPTION_USE_CMAPS is now the default. 7586 7587 * include/freetype/internal/ftdriver.h (FT_Driver_ClassRec): Remove 7588 `get_char_index' and `get_next_char'. 7589 7590 * include/freetype/config/ftoption.h, 7591 include/freetype/internal/tttypes.h, src/base/ftobjs.c, 7592 src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c, 7593 src/pfr/pfrdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c, 7594 src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c, 7595 src/type42/t42objs.c, src/winfonts/winfnt.c 7596 [!FT_CONFIG_OPTION_USE_CMAPS]: Removed. The new cmap code is now 7597 the default. 7598 7599 * src/type42/t42objs.c (T42_CMap_CharIndex, T42_CMap_CharNext): 7600 Removed. 7601 * src/type42/t42objs.h: Updated. 7602 7603 * src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char): 7604 Removed. 7605 (t1cid_driver_class): Updated. 7606 * src/truetype/ttdriver.c (tt_driver_class): Updated. 7607 * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed 7608 (t1_driver_class): Updated. 7609 * src/type42/t42drivr.c (t42_driver_class): Updated. 7610 7611 * src/base/ftobjs.c (open_face): Select Unicode cmap by default. 7612 7613 * src/sfnt/ttload.c (TT_Load_SFNT_Header): Fixed a recent bug that 7614 prevented OpenType fonts to be recognized by FreeType. 7615 76162002-07-11 David Turner <david@freetype.org> 7617 7618 Changing the SFNT loader to check for SFNT-based font files 7619 differently. We now ignore the range `helper' fields and check the 7620 `head' table's magic number instead. 7621 7622 * include/freetype/internal/tttypes.h (SFNT_HeaderRec): Add `offset' 7623 field. 7624 7625 * src/sfnt/ttload.c (sfnt_dir_check): New function. 7626 (TT_Load_SFNT_HeaderRec): Renamed to... 7627 (TT_Load_SFNT_Header): This. 7628 Implement new functionality. 7629 * src/sfnt/ttload.h: Updated. 7630 * src/sfnt/sfdriver.c (sfnt_interface): Updated. 7631 7632 * src/base/ftobject.c, src/base/fthash.c: Updated object sub-system 7633 and dynamic hash table implementation (still experimental, don't 7634 use). 7635 * include/freetype/internal/fthash.h: Updated. 7636 * include/freetype/internal/ftobjs.h (FT_LibraryRec): New member 7637 `meta_class'. 7638 7639 Fixing a bug in the Type 1 loader that prevented valid font bounding 7640 boxes to be loaded from multiple master fonts. 7641 7642 * include/freetype/t1tables.h (PS_BlendRec): Add `bboxes' field. 7643 7644 * include/freetype/internal/psaux.h (T1_FieldType): Add 7645 `T1_FIELD_TYPE_BBOX'. 7646 (T1_FieldLocation): Add `T1_FIELD_LOCATION_BBOX'. 7647 (T1_FIELD_BBOX): New macro. 7648 7649 * src/psaux/psobjs.c (PS_Parser_LoadField): Handle T1_FIELD_TYPE_BBOX. 7650 * src/type1/t1load.c (t1_allocate_blend): Create blend->bboxes. 7651 (T1_Done_Blend): Free blend->bboxes. 7652 (t1_load_keyword): Handle T1_FIELD_LOCATION_BBOX. 7653 (parse_font_bbox): Commented out. 7654 (t1_keywords): Comment out `parse_font_bbox'. 7655 * src/type1/t1tokens.h: Define `FontBBox' field. 7656 76572002-07-10 David Turner <david@freetype.org> 7658 7659 * src/cff/cffobjs.c: Small fix to select the Unicode charmap by 7660 default when needed. 7661 Small fix to allow OpenType fonts to support Adobe charmaps when 7662 needed. 7663 7664 * src/cff/cffcmap.c, src/cff/cffcmap.h: New files to support 7665 charmaps for CFF fonts. 7666 7667 * src/cff/cff.c, src/cff/Jamfile, src/cff/rules.mk: Updated. 7668 7669 * include/freetype/internal/cfftypes.h (CFF_EncodingRec): Use 7670 fixed-length arrays for `sids' and `codes'. Add `count' member. 7671 (CFF_FontRec): Add `psnames' member. 7672 7673 * src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffload.h, 7674 src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c, 7675 src/cffparse.h, src/cff/cffgload.c, src/cff/cffgload.h: Adding 7676 support for CFF charmaps, reformatting the sources, and removing 7677 some bugs in the Encoding and Charset loaders. 7678 Many fonts renamed to use lowercase only: 7679 7680 CFF_Builder_Init -> cff_builder_init 7681 CFF_Builder_Done -> cff_builder_done 7682 CFF_Init_Decoder -> cff_decoder_init 7683 CFF_Parse_CharStrings -> cff_decoder_parse_charstrings 7684 CFF_Load_Glyph -> cff_slot_load 7685 CFF_Init_Decoder -> cff_decoder_init 7686 CFF_Prepare_Decoder -> cff_decoder_prepare 7687 CFF_Get_Standard_Encoding -> cff_get_standard_encoding 7688 CFF_Access_Element -> cff_index_access_element 7689 CFF_Forget_Element -> cff_index_forget_element 7690 CFF_Get_Name -> cff_index_get_name 7691 CFF_Get_String -> cff_index_get_sid_string 7692 CFF_Get_FD -> cff_fd_select_get 7693 CFF_Done_Charset -> cff_charset_done 7694 CFF_Load_Charset -> cff_charset_load 7695 CFF_Done_Encoding -> cff_encoding_done 7696 CFF_Load_Encoding -> cff_encoding_load 7697 CFF_Done_SubFont -> cff_subfont_done 7698 CFF_Load_Font -> cff_font_load 7699 CFF_Done_Font -> cff_font_done 7700 CFF_Size_Get_Globals_Funcs -> cff_size_get_globals_funcs 7701 CFF_Size_Done -> cff_size_done 7702 CFF_Size_Init -> cff_size_init 7703 CFF_Size_Reset -> cff_size_reset 7704 CFF_GlyphSlot_Done -> cff_slot_done 7705 CFF_GlyphSlot_Init -> cff_slot_init 7706 CFF_StrCopy -> cff_strcpy 7707 CFF_Face_Init -> cff_face_init 7708 CFF_Face_Done -> cff_face_done 7709 CFF_Driver_Init -> cff_driver_init 7710 CFF_Driver_Done -> cff_driver_done 7711 CFF_Parser_Init -> cff_parser_init 7712 CFF_Parser_Run -> cff_parser_run 7713 7714 add_point -> cff_builder_add_point 7715 add_point1 -> cff_builder_add_point1 7716 add_contour -> cff_builder_add_contour 7717 close_contour -> cff_builder_close_contour 7718 cff_explicit_index -> cff_index_get_pointers 7719 77202002-07-09 Owen Taylor <owen@redhat.com> 7721 7722 * src/pshinter/pshglob.c (psh_globals_new): Fixed a bug that 7723 prevented the hinter from using correct standard width and height 7724 values, resulting in hinting bugs with certain fonts (e.g. Utopia). 7725 77262002-07-07 David Turner <david@freetype.org> 7727 7728 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Added code to return 7729 successfully when the function is called with a bitmap glyph (the 7730 previous code simply returned with an error). 7731 7732 * docs/DEBUG.TXT: Adding debugging support documentation. 7733 7734 * src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c 7735 (ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): Changed 7736 the syntax of the FT2_DEBUG environment variable used to control 7737 debugging output (i.e. logging and error messages). It must now 7738 look like: 7739 7740 any:6 memory:4 io:3 or 7741 any:6,memory:4,io:3 or 7742 any:6;memory:4;io:3 7743 77442002-07-07 Owen Taylor <owen@redhat.com> 7745 7746 * src/pshinter/pshglob.c (psh_blues_snap_stem): Adding support for 7747 blue fuzz. 7748 * src/pshinter/pshglob.h (PSH_BluesRec): Add `blue_fuzz' field. 7749 * src/type1/t1load.c (T1_Open_Face): Initialize `blue_fuzz'. 7750 7751 Adding support for hinter-specific bit flags, and the new 7752 FT_Set_Hint_Flags high-level API. 7753 7754 * include/freetype/freetype.h (FT_Set_Hint_Flags): New function. 7755 (FT_HINT_NO_INTEGER_STEM, FT_HINT_NO_HSTEM_ALIGN, 7756 FT_HINT_NO_VSTEM_ALIGN): New macros. 7757 7758 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add 7759 `hint_flags' member. 7760 7761 * src/base/ftobjs.c (FT_Set_Hint_Flags): New function. 7762 7763 * include/freetype/internal/psaux.h (T1_DecoderRec): Add `hint_flags' 7764 member. 7765 7766 * include/freetype/internal/pshints.h (T1_Hints_ApplyFunc, 7767 T2_Hints_ApplyFunc): Add parameter to pass hint flags. 7768 7769 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings, 7770 T1_Decoder_Init): Use decoder->hint_flags. 7771 * src/cff/cffgload.h (CFF_Builder): Add `hint_flags' field. 7772 * src/cff/cffgload.c (CFF_Builder_Init): Set builder->hint_flags. 7773 (CFF_Parse_CharStrings): Updated. 7774 * src/pshinter/pshalgo1.c (ps1_hints_apply): Add parameter to handle 7775 hint flags (unused). 7776 * src/pshinter/pshalgo1.h: Updated. 7777 * src/pshinter/pshalgo2.c (ps2_hints_apply): Add parameter to handle 7778 hint flags (unused). 7779 * src/pshinter/pshalgo2.h: Updated. 7780 * src/pshinter/pshalgo3.c (ps3_hints_apply): Add parameter to handle 7781 hint flags. 7782 * src/pshinter/pshalgo3.h: Updated. 7783 77842002-07-04 David Turner <david@freetype.org> 7785 7786 * src/pfr/pfrobjs.c (pfr_slot_load): Fixed a small bug that returned 7787 incorrect advances when the outline resolution was different from 7788 the metrics resolution. 7789 7790 * src/autohint/ahhint.c: Removing compiler warnings. 7791 7792 * src/autohint/ahglyph.c: s/FT_MEM_SET/FT_ZERO/ where appropriate. 7793 (ah_outline_link_segments): Slight improvements to the serif 7794 detection code. More work is needed though. 7795 77962002-07-03 David Turner <david@freetype.org> 7797 7798 Small improvements to the automatic hinter. Uneven stem-widths have 7799 now disappeared and everything looks much better, even if there are 7800 still issues with serifed fonts. 7801 7802 * src/autohint/ahtypes.h (AH_Globals): Added `stds' array. 7803 * src/autohint/ahhint.c (OPTIM_STEM_SNAP): New #define. 7804 (ah_snap_width): Commented out. 7805 (ah_align_linked_edge): Renamed to... 7806 (ah_compute_stem_width): This. 7807 Don't allow uneven stem-widths. 7808 (ah_align_linked_edge): New function. 7809 (ah_align_serifed_edge): Don't strengthen serifs. 7810 (ah_hint_edges_3, ah_hinter_scale_globals): Updated. 7811 78122002-07-03 Owen Taylor <owen@redhat.com> 7813 7814 Adding new algorithm based on Owen Taylor's recent work. 7815 7816 * src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: New files. 7817 * src/pshinter/pshalgo.h: Updated. 7818 Use pshalgo3 by default. 7819 * src/pshinter/pshinter.c: Include pshalgo3.c. 7820 7821 * src/pshinter/Jamfile, src/pshinter/rules.mk: Updated. 7822 78232002-07-01 Owen Taylor <owen@redhat.com> 7824 7825 * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points): Fix a bug 7826 where, if a glyph has more than hint mask, the second mask gets 7827 applied to points that should have been covered by the first mask. 7828 78292002-07-01 Keith Packard <keithp@keithp.com> 7830 7831 * src/sfnt/ttcmap0.c (tt_cmap8_char_next, tt_cmap12_char_next): 7832 Fixing the cmap 8 and 12 parsing routines. 7833 78342002-07-01 David Turner <david@freetype.org> 7835 7836 * src/base/ftsynth.c: Include FT_TRIGONOMETRY_H. 7837 (FT_Outline_Embolden): Renamed to... 7838 (FT_GlyphSlot_Embolden): This. 7839 Updated to new trigonometric functions. 7840 (FT_Outline_Oblique): Renamed to... 7841 (FT_GlyphSlot_Oblique): This. 7842 (ft_norm): Removed. 7843 * include/freetype/ftsynth.h: Updated. 7844 78452002-06-26 David Turner <david@freetype.org> 7846 7847 * include/freetype/internal/ftobject.h: Updating the object 7848 sub-system definitions (still experimental). 7849 7850 * src/base/fthash.c (ft_hash_remove): Fixing a small reallocation 7851 bug. 7852 7853 * src/base/fttrigon.c (FT_Vector_From_Polar, FT_Angle_Diff): New 7854 functions. 7855 * include/freetype/fttrigon.h: Updated. 7856 7857 7858 Adding path stroker component (work in progress). 7859 7860 * include/freetype/ftstroker.h, src/base/ftstroker.c: New files. 7861 * src/base/Jamfile: Updated. 7862 7863 * include/freetype/config/ftheader.h (FT_STROKER_H): New macro. 7864 7865 7866 * src/truetype/ttgload.c (TT_Load_Composite_Glyph), 7867 src/base/ftoutln.c (FT_Vector_Transform): Fixed Werner's latest fix. 7868 FT_Vector_Transform wasn't buggy, the TrueType composite loader was. 7869 78702002-06-24 Werner Lemberg <wl@gnu.org> 7871 7872 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3. 7873 78742002-06-21 David Turner <david@freetype.org> 7875 7876 7877 * Version 2.1.2 released. 7878 ========================= 7879 7880 78812002-06-21 Roberto Alameda <ojancano@geekmail.de>. 7882 7883 * include/freetype/internal/t42types.h (T42_Font): Removed since 7884 it is already in t42objs.h. 7885 (T42_Face): Use T1_FontRec. 7886 7887 * src/base/fttype1.c (FT_Get_PS_Font_Info): Updated. 7888 (FT_Has_PS_Glyph_Names): Check for type42 driver name also. 7889 * src/type42/t42objs.h: Include FT_INTERNAL_TYPE42_TYPES_H. 7890 (T42_Face): Removed since it is already in t42types.h. 7891 78922002-06-21 Detlef Würkner <TetiSoft@apg.lahn.de> 7893 7894 * src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite 7895 glyphs. 7896 78972002-06-21 Sven Neumann <sven@convergence.de> 7898 7899 * src/pfr/pfrtypes.h (PFR_KernPair): New structure. 7900 (PFR_PhyFont): Use it. 7901 (PFR_KernFlags): New enumeration. 7902 * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New 7903 function. 7904 (pfr_phy_font_extra_items): Use it. 7905 (pfr_phy_font_done): Updated. 7906 * src/pfr/pfrobjs.c (pfr_face_init): Set kerning flag conditionally. 7907 (pfr_face_get_kerning): New function. 7908 * src/pfr/pfrobjs.h: Updated. 7909 * src/pfr/pfrdrivr.c (pfr_driver_class): Updated. 7910 79112002-06-21 David Turner <david@freetype.org> 7912 7913 * README, docs/CHANGES: Preparing the 2.1.2 release. 7914 79152002-06-19 Detlef Würkner <TetiSoft@apg.lahn.de> 7916 7917 * src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H. 7918 (t1_face_check_cast): Removed. 7919 (FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers 7920 also. 7921 79222002-06-19 Sebastien BARRE <http://barre.nom.fr/contact.html#email> 7923 7924 * src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning. 7925 79262002-06-19 Werner Lemberg <wl@gnu.org> 7927 7928 * src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo 7929 (xy <-> yx). 7930 * src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with 7931 `||' to make code easier to read. 7932 79332002-06-18 Roberto Alameda <ojancano@geekmail.de>. 7934 7935 * src/type42/t42objs.c (t42_check_size_change): Removed. 7936 (T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size 7937 instead. 7938 (T42_GlyphSlot_Load): Remove call to t42_check_size_change. 7939 79402002-06-18 Detlef Würkner <TetiSoft@apg.lahn.de> 7941 7942 * src/psaux/t1cmap.c (t1_cmap_custom_char_index, 7943 t1_cmap_custom_char_next): Fix index computation -- indices start 7944 with 0 and not with cmap->first. 7945 7946 Provide default charmaps. 7947 7948 * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c 7949 (PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init), 7950 src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c 7951 (FNT_Face_Init): Implement it. 7952 79532002-06-17 Sven Neumann <sven@gimp.org> 7954 7955 * src/pfr/pfrobjs.c (pfr_face_init): Fix typo. 7956 79572002-06-16 Leonard Rosenthol <leonardr@lazerware.com> 7958 7959 Updated Win32/VC++ projects to include the new PFR driver. 7960 7961 * builds/win32/visualc/freetype.dsp: Updated. 7962 79632002-06-16 Anthony Fok <fok@debian.org> 7964 7965 Install freetype2.m4. 7966 7967 * builds/unix/install.mk (install, uninstall): Handle it. 7968 79692002-06-16 Detlef Würkner <TetiSoft@apg.lahn.de> 7970 7971 Same fix for PFR driver. 7972 7973 * src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next): 7974 Increase return value by 1. 7975 * src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1. 7976 79772002-06-15 Detlef Würkner <TetiSoft@apg.lahn.de> 7978 7979 Fix glyph indices to make index zero always the undefined glyph. 7980 7981 * src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease 7982 cmap->num_encodings. 7983 (bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index): 7984 Increase result by 1 for normal cases. 7985 (BDF_Glyph_Load): Decrease index by 1. 7986 7987 * src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next, 7988 PCF_Char_Get_Index): Increase result by 1 for normal cases. 7989 (PCF_Glyph_Load): Decrease index by 1. 7990 * src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for 7991 allocating `encoding'. 7992 7993 * src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix 7994 bounding tests. 7995 79962002-06-14 Detlef Würkner <TetiSoft@apg.lahn.de> 7997 7998 Add new cmap support to BDF driver. 7999 8000 * src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]: 8001 New structure. 8002 (bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index, 8003 bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions. 8004 (BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only 8005 conditionally. 8006 (BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords. 8007 Implement new cmap handling. 8008 (bdf_driver_class): Updated. 8009 80102002-06-14 Werner Lemberg <wl@gnu.org> 8011 8012 * Makefile, configure, */*.mk, builds/unix/unix-def.in, 8013 docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/. 8014 80152002-06-12 Werner Lemberg <wl@gnu.org> 8016 8017 * src/bdf/bdflib.c: s/FT_Short/short/ for consistency. 8018 80192002-06-11 David Turner <david@freetype.org> 8020 8021 * builds/win32/ftdebug.c: Added a missing #endif. 8022 8023 * src/sfnt/ttload.c, src/bdf/bdflib.c: Removing compiler warnings. 8024 8025 Removed the bug in Type 42 driver that prevented un-hinted outlines 8026 to be loaded. 8027 8028 * src/type42/t42objs.c (T42_Face_Init): Call FT_Done_Size. 8029 (T42_Size_Init): Call FT_Activate_Size. 8030 (t42_check_size_change): New function. 8031 (T42_Size_SetChars, T42_Size_SetPixels): Use it. 8032 (ft_glyphslot_clear): Replace FT_MEM_SET with FT_ZERO. 8033 (T42_GlyphSlot_Load): Use t42_check_size_change. 8034 Initialize more fields of `glyph'. 8035 8036 * builds/win32/visualc/freetype.dsp: Updated. 8037 80382002-06-09 David Turner <david@freetype.org> 8039 8040 8041 * Version 2.1.1 released. 8042 ========================= 8043 8044 80452002-06-08 Juliusz Chroboczek <jch@pps.jussieu.fr> 8046 8047 * include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c, 8048 src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: Don't 8049 use `setjmp', `longjmp', and `jmp_buf' but `ft_setjmp', `ft_longjmp', 8050 and `ft_jmp_buf'. 8051 Removed direct references to <stdio.h> and <setjmp.h> when 8052 appropriate, to eventually replace them with a 8053 FT_CONFIG_STANDARD_LIBRARY_H. Useful for the XFree86 Font Server 8054 backend based on FT2. 8055 8056 * src/base/fttype1.c (FT_Has_PS_Glyph_Names): Fix return value. 8057 80582002-06-08 David Turner <david@freetype.org> 8059 8060 * src/pcf/pcfdriver.c (pcf_cmap_char_next): Fixed a bug that caused 8061 the function to return invalid values. 8062 8063 * src/cache/ftccache.i: Removing a typo that prevented 8064 the source's compilation. 8065 8066 * src/cache/ftccache.c (ftc_node_hash_unlink): Fixed a 8067 bug that caused nasty memory overwrites. The hash table's 8068 buckets array wasn't correctly resized when shrunk. 8069 80702002-06-08 Detlef Würkner <TetiSoft@apg.lahn.de> 8071 8072 * builds/amiga/smakefile, builds/amiga/makefile: Updated. 8073 80742002-06-08 Werner Lemberg <wl@gnu.org> 8075 8076 * src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link) 8077 [FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code. 8078 Fix debugging messages. 8079 * src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of 8080 `family' and `hash' up to make it compilable with g++. 8081 8082 * src/type42/t42error.h: New file. 8083 * src/type42/t42drivr.c, src/type42/t42objs.c, 8084 src/type42/t42parse.c: Use t42 error codes. 8085 * src/type42/rules.mk: Updated. 8086 8087 * src/base/ftnames.c: Include FT_INTERNAL_STREAM_H. 8088 80892002-06-08 David Turner <david@freetype.org> 8090 8091 * src/cache/ftccmap.c: GEN_CACHE_FAMILY_COMPARE, 8092 GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]: 8093 New macros. 8094 (ftc_cmap_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to 8095 ftc_cache_lookup. 8096 (FTC_CMapCache_Lookup): Updated. 8097 8098 Adding various experimental optimizations to the cache manager. 8099 8100 * include/freetype/cache/ftccache.h (FTC_CACHE_USE_INLINE, 8101 FTC_CACHE_USE_LINEAR_HASHING): New options. 8102 (FTC_CacheRec) [FTC_CACHE_USE_LINEAR_HASHING]: New elements `p', 8103 `mask', and `slack'. 8104 8105 * src/cache/ftccache.c (FTC_HASH_MAX_LOAD, FTC_HASH_MIN_LOAD, 8106 FTC_HASH_SUB_LOAD) [FTC_CACHE_USE_LINEAR_HASHING, 8107 FTC_HASH_INITIAL_SIZE]: New macros. 8108 (ftc_node_mru_link, ftc_node_mru_up): Optimized. 8109 (ftc_node_hash_unlink, ftc_node_hash_link) 8110 [FTC_CACHE_USE_LINEAR_HASHING]: New variants. 8111 (FTC_PRIMES_MIN, FTC_PRIMES_MAX, ftc_primes, ftc_prime_closest, 8112 FTC_CACHE_RESIZE_TEST, ftc_cache_resize) 8113 [!FTC_CACHE_USE_LINEAR_HASHING]: Define it conditionally. 8114 (ftc_cache_init, ftc_cache_clear) [FTC_CACHE_USE_LINEAR_HASHING]: 8115 Updated. 8116 (ftc_cache_lookup) [FTC_CACHE_USE_LINEAR_HASHING]: Implement it. 8117 8118 * src/cache/ftccache.i: New file. 8119 8120 * src/cache/ftcsbits.c (GEN_CACHE_FAMILY_COMPARE, 8121 GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]: 8122 New macros. 8123 (ftc_sbit_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to 8124 ftc_cache_lookup. 8125 (FTC_SBitCache_Lookup): Updated. 8126 8127 * src/type42/t42parse.c: Removing duplicate function. 8128 81292002-06-07 Graham Asher <graham.asher@btinternet.com> 8130 8131 * src/base/ftobjs.c (FT_Render_Glyph_Internal): Changed definition 8132 from FT_EXPORT_DEF to FT_BASE_DEF. 8133 81342002-06-07 David Turner <david@freetype.org> 8135 8136 Fixed the bug that prevented the correct display of fonts with 8137 `ftview'. 8138 8139 * src/type42/t42drivr.c: Split into... 8140 * src/type42/t42drivr.h, src/type42/t42parse.c, 8141 src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c, 8142 src/type42/type42.c: New files. 8143 8144 (t42_get_glyph_name, t42_get_ps_name, t42_get_name_index): Use 8145 `face->type1'. 8146 8147 (Get_Interface): Renamed to... 8148 (T42_Get_Interface): This. 8149 Updated. 8150 (T42_Open_Face, T42_Face_Done): Updated. 8151 (T42_Face_Init): Add new cmap support. 8152 Updated. 8153 (T42_Driver_Init, T42_Driver_Done, T42_Size_Init, T42_Size_Done, 8154 T42_GlyphSlot_Init, T42_GlyphSlot_Done): Updated. 8155 (Get_Char_Index, Get_Next_Char): Renamed to... 8156 (T42_CMap_CharIndex, T42_CMap_CharNext): This. 8157 Updated. 8158 (T42_Char_Size, T42_Pixel_Size): Renamed to... 8159 (T42_Size_SetChars, T42_Size_SetPixels): This. 8160 (T42_Load_Glyph): Renamed to... 8161 (T42_GlyphSlot_Load): This. 8162 8163 (t42_init_loader, t42_done_loader): Renamed to... 8164 (t42_loader_init, t42_loader_done): This. 8165 (T42_New_Parser, T42_Finalize_Parser): Renamed to... 8166 (t42_parser_init, t42_parser_done): This. 8167 (parse_dict): Renamed to... 8168 (t42_parse_dict): This. 8169 (is_alpha, is_space, hexval): Renamed to... 8170 (t42_is_alpha, t42_is_space, t42_hexval): This. 8171 (parse_font_name, parse_font_bbox, parse_font_matrix, 8172 parse_encoding, parse_sfnts, parse_charstrings, parse_dict): 8173 Renamed to... 8174 (t42_parse_font_name, t42_parse_font_bbox, t42_parse_font_matrix, 8175 t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings, 8176 t42_parse_dict): This. 8177 Updated. 8178 8179 (t42_keywords): Updated. 8180 8181 * src/type42/Jamfile, src/type42/descrip.mms: Updated. 8182 81832002-06-03 Werner Lemberg <wl@gnu.org> 8184 8185 Add 8bpp support to BDF driver. 8186 8187 * src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp. 8188 * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto. 8189 * src/bdf/README: Updated. 8190 81912002-06-02 Detlef Würkner <TetiSoft@apg.lahn.de> 8192 8193 * src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array. 8194 81952002-05-29 Detlef Würkner <TetiSoft@apg.lahn.de> 8196 8197 * src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically. 8198 (_bdf_parse_glyphs): Use correct size for allocating 8199 `font->unencoded'. 8200 (bdf_load_font): Free array conditionally. 8201 Return proper error code in case of failure. 8202 * src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against 8203 unusual fonts. 8204 82052002-05-29 Werner Lemberg <wl@gnu.org> 8206 8207 * src/bdf/descrip.mms, src/type42/descrip.mms: New files. 8208 * descrip.mms (all): Updated. 8209 8210 * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented 8211 compilation. 8212 * src/pshglob.c (psh_blues_scale_zones): Fix compiler warning. 8213 82142002-05-28 Detlef Würkner <TetiSoft@apg.lahn.de> 8215 8216 * builds/amiga/makefile, builds/amiga/smakefile, 8217 amiga/include/freetype/config/ftmodule.h: Updated to include 8218 support for BDF and Type42 drivers. 8219 8220 * docs/modules.txt: Updated. 8221 82222005-05-28 David Turner <david@freetype.org> 8223 8224 * docs/CHANGES: Updating file for next release (2.1.1). 8225 8226 * src/bdf/bdflib.c: Removing compiler warnings. 8227 8228 * include/freetype/ftxf86.h, src/base/ftxf86.c: New files. 8229 They provide a new API (FT_Get_X11_Font_Format) to retrieve an 8230 X11-compatible string describing the font format of a given face. 8231 This was put in a new optional base source file, corresponding to a 8232 new public header (named FT_XFREE86_H since this function should 8233 only be used within the XFree86 font server IMO). 8234 8235 * include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not 8236 documented yet). 8237 8238 * src/base/fttype1.c: New file, providing two new API functions 8239 (FT_Get_PS_Font_Info and FT_Has_PS_Glyph_Names). 8240 * include/freetype/t1tables.h: Updated. 8241 8242 * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: 8243 Updating build control files for the new files `ftxf86.c' and 8244 `fttype1.c' in src/base. 8245 8246 * src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that 8247 prevented family blue zones substitution from happening correctly. 8248 8249 * include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding 8250 documentation comment. 8251 82522002-05-28 Werner Lemberg <wl@gnu.org> 8253 8254 * src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT 8255 but FT_STREAM_READ. 8256 Declare `stream' variable. 8257 8258 * src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math 8259 with calls to `FT_MulDiv'. 8260 82612002-05-28 David Turner <david@freetype.org> 8262 8263 Fixing the SFNT name table loader to support various buggy fonts. 8264 It now ignores empty name entries, entries with invalid pointer 8265 Offsets and certain fonts containing tables with broken 8266 `storageOffset' fields. 8267 8268 Name strings are now loaded on demand, which reduces the memory 8269 requirements for a given FT_Face tremendously (for example, the name 8270 table of Arial.ttf is about 10Kb and contains 70 names). 8271 8272 This is a temporary fix. The whole name table loader and interface 8273 will be rewritten in a much more cleanly way shortly, once CSEH have 8274 been introduced in the sources. 8275 8276 * include/freetype/internal/tttypes.h (TT_NameEntryRec): Change 8277 type of `stringOffset' to FT_ULong. 8278 (TT_NameTableRec): Change type of `numNameRecords' and 8279 `storageOffset' to FT_UInt. 8280 Replace `storage' with `stream'. 8281 * src/base/ftnames.c (FT_Get_Sfnt_Name): Load name on demand. 8282 * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto. 8283 Make code more robust. 8284 * src/sfnt/sfobjs.c (TT_NameEntry_ConvertFunc): New typedef. 8285 (tt_face_get_name): Use it. 8286 Make code more robust. 8287 * src/sfnt/ttload.c (TT_Load_Names): Use `static' for arrays. 8288 Handle invalid `storageOffset' data better. 8289 Set length fields to zero for invalid or ignored data. 8290 Remove code within FT_DEBUG_LEVEL_TRACE. 8291 (TT_Free_Names): Updated. 8292 82932002-05-24 Tim Mooney <enchanter@users.sourceforge.net> 8294 8295 * builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and 8296 FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be 8297 rebuilt from sources. Set macro serial to 1, and use third argument 8298 to AC_DEFINE for our two custom symbols, so ftconfig.in could one day 8299 be rebuilt with autoheader (not recommended now, ftconfig.in is a 8300 custom source file) 8301 83022002-05-22 Werner Lemberg <wl@gnu.org> 8303 8304 * include/freetype/config/ftheader.h (FT_BEZIER_H): Removed. 8305 (FT_BDF_H): New macro for accessing `ftbdf.h'. 8306 8307 * src/type42/t42drivr.c (hexval): Fix typo. 8308 83092002-05-21 Martin Muskens <mmuskens@aurelon.com> 8310 8311 * src/psaux/psobjs.c (T1Radix): New function. 8312 (t1_toint): Use it to handle numbers in radix format. 8313 8314 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy 8315 for undocumented, obsolete opcode 15. 8316 83172002-05-21 David Turner <david@freetype.org> 8318 8319 * src/bdf/bdflib.c: Removed compiler warning, and changed all tables 8320 to the `static const' storage specifier (instead of simply 8321 `static'). 8322 8323 * src/type42/t42drivr.c (hexval): Use more efficient code. 8324 Removing compiler warnings. 8325 * src/bdf/bdfdrivr.c: Removing compiler warnings. 8326 8327 * include/freetype/internal/ftbdf.h, src/base/ftbdf.c, 8328 src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk 8329 (FT_Get_BDF_Charset_ID): New API to retrieve BDF-specific strings 8330 from a face. This is much cleaner than accessing the internal types 8331 `BDF_Public_Face' defined in FT_INTERNAL_BDF_TYPES_H. 8332 83332002-05-21 Werner Lemberg <wl@gnu.org> 8334 8335 * src/bdf/README: Mention Microsoft's SBIT tool. 8336 8337 * src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c, 8338 src/truetype/ttdriver.c, src/type1/t1driver.c, 8339 src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c 8340 [FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed. It has 8341 been never used. 8342 83432002-05-21 Roberto Alameda <ojancano@geekmail.de>. 8344 8345 * src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/. 8346 (parse_font_matrix): Remove unnecessary code. 8347 (parse_sfnts): Initialize some variables. 8348 (t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use 8349 ft_module_driver_has_hinter conditionally. 8350 Moved some type 42 specific structure definitions to... 8351 * include/freetype/internal/t42types.h: New file. 8352 * include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H): 8353 New macro. 8354 83552002-05-20 Werner Lemberg <wl@gnu.org> 8356 8357 * include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field 8358 `num_grays' for specifying the number of used gray levels. 8359 * src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it. 8360 83612002-05-19 Werner Lemberg <wl@gnu.org> 8362 8363 Adding a driver for BDF fonts written by Francesco Zappa Nardelli 8364 <Francesco.Zappa.Nardelli@ens.fr>. Heavily modified by me to 8365 better adapt it to FreeType, removing unneeded stuff. Additionally, 8366 it now supports Mark Leisher's BDF extension for anti-aliased 8367 bitmap glyphs with 2 and 4 bpp. 8368 8369 * src/bdf/*: New driver. 8370 * include/freetype/internal/bdftypes.h: New file. 8371 * include/freetype/internal/fttrace.h: Added BDF driver components. 8372 * include/freetype/fterrdef.h: Added error codes for BDF driver. 8373 * include/freetype/config/ftmodule.h, src/Jamfile: Updated. 8374 * include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H): 8375 New macro. 8376 8377 * include/freetype/config/ftstdlib.h (ft_sprintf): New alias for 8378 sprintf. 8379 83802002-05-18 Werner Lemberg <wl@gnu.org> 8381 8382 * include/freetype/internal/fttrace.h: Added Type 42 driver 8383 component. 8384 * src/type42/t42drivr.c: Use it. 8385 8386 * include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H): 8387 New macro. 8388 83892002-05-17 Werner Lemberg <wl@gnu.org> 8390 8391 * src/type42/Jamfile: New file. 8392 83932002-05-14 Werner Lemberg <wl@gnu.org> 8394 8395 Adding a driver for Type42 fonts written by Roberto Alameda 8396 <ojancano@geekmail.de>. 8397 8398 * src/type42/*: New driver. 8399 * include/freetype/config/ftmodule.h, src/Jamfile: Updated. 8400 * include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp, 8401 ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively. 8402 84032002-05-12 Owen Taylor <otaylor@redhat.com> 8404 8405 * src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables 8406 with a zero length value. 8407 84082002-05-12 Michael Pfeiffer <michael.pfeiffer@utanet.at> 8409 8410 * builds/beos/beos.mk: Include `link-std.mk'. 8411 84122002-05-12 Werner Lemberg <wl@gnu.org> 8413 8414 * src/type1/t1load.h (T1_Loader): Renamed to... 8415 (T1_LoaderRec): This. 8416 (T1_Loader): Now pointer to T1_LoaderRec. 8417 * src/type1/t1load.c: Updated. 8418 8419 * include/freetype/internal/t1types.h, src/type1/t1load.c, 8420 src/type1/t1objs.c: 8421 s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/. 8422 84232002-05-06 Werner Lemberg <wl@gnu.org> 8424 8425 * README: Add a note regarding libttf vs. libfreetype. 8426 84272002-05-05 Werner Lemberg <wl@gnu.org> 8428 8429 FreeType 2 can now be built in an external directory with the 8430 configure script also. 8431 8432 * builds/freetype.mk (INCLUDES): Add `OBJ_DIR'. 8433 8434 * builds/unix/detect.mk (have_mk): New variable to test for 8435 external build. 8436 (unix-def.mk): Defined according to value of `have_mk'. 8437 * builds/unix/unix.mk (have_mk): New variable to test for 8438 external build. 8439 Select include paths for unix-def.mk and unix-cc.mk according 8440 to value of `have_mk'. 8441 * builds/unix/unix-def.in (OBJ_BUILD): New variable. 8442 (DISTCLEAN): Use it. 8443 * builds/unix/unix-cc.in (LIBTOOL): Define default value only 8444 if not yet defined. 8445 * builds/unix/install.mk (install): Use `OBJ_BUILD' for installing 8446 freetype-config. 8447 8448 * configure: Don't depend on bash features. 8449 (ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code 8450 partially taken from Autoconf). 8451 Build a dummy Makefile if not building in source tree. 8452 8453 * docs/INSTALL: Document it. 8454 84552002-05-04 David Turner <david@freetype.org> 8456 8457 * src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last 8458 bug that prevented FreeType 2.x and FreeType 1.x to produce 8459 bit-by-bit identical monochrome glyph bitmaps with native TrueType 8460 hinting. The culprit was a single-bit flag that wasn't set 8461 correctly by the TrueType glyph loader. 8462 8463 * src/otlayout/otlayout.h, src/otlayout/otlbase.c, 8464 src/otlayout/otlbase.h, src/otlayout/otlconf.h, 8465 src/otlayout/otlgdef.c, src/otlayout/otlgdef.h, 8466 src/otlayout/otlgpos.c, src/otlayout/otlgpos.h, 8467 src/otlayout/otlgsub.c, src/otlayout/otlgsub.h, 8468 src/otlayout/otljstf.c, src/otlayout/otljstf.h, 8469 src/otlayout/otltable.c, src/otlayout/otltable.h, 8470 src/otlayout/otltags.h: New OpenType Layout source files. The 8471 module is still incomplete. 8472 84732002-05-02 Werner Lemberg <wl@gnu.org> 8474 8475 * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo 8476 (0xFFFU -> 0xFFFFU). 8477 84782002-05-01 Werner Lemberg <wl@gnu.org> 8479 8480 * docs/INSTALL: Fix URL of makepp. 8481 84822002-05-01 David Turner <david@freetype.org> 8483 8484 * src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused 8485 FreeType to crash when certain broken fonts (e.g. `hya6gb.ttf') 8486 were opened. 8487 8488 * src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to 8489 manage fonts containing a broken name table (e.g. `hya6gb.ttf'). 8490 8491 * src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive 8492 validation test. The charmap validator now accepts overlapping 8493 ranges in format 4 charmaps. 8494 8495 * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary 8496 search algorithm. Certain fonts contain more than 170 distinct 8497 segments! 8498 8499 * include/freetype/config/ftstdlib.h: Adding an alias for the `exit' 8500 function. This will be used in the near future to panic in case of 8501 unexpected exception (which shouldn't happen in theory). 8502 8503 * include/freetype/internal/fthash.h, src/base/fthash.c: New files. 8504 This is generic implementation of dynamic hash tables using a linear 8505 algorithm (to get rid of `stalls' during resizes). In the future 8506 this will be used in at least three parts of the library: the cache 8507 sub-system, the object sub-system, and the memory debugger. 8508 8509 * src/base/Jamfile: Updated. 8510 8511 * include/freetype/internal/internal.h (FT_INTERNAL_HASH_H, 8512 FT_INTERNAL_OBJECT_H): New macros. 8513 8514 * include/freetype/internal/ftcore.h: New file to group all new 8515 definitions related to exception handling and memory management. It 8516 is very likely that this file will disappear or be renamed in the 8517 future. 8518 8519 * include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h: 8520 Adding comments to better explain the object sub-system as well as 8521 the new memory manager interface. 8522 85232002-04-30 Wenlin Institute (Tom Bishop) <wenlin@wenlin.com> 8524 8525 * src/base/ftmac.c (p2c_str): Removed. 8526 (file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for 8527 OS X. 8528 (is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X. 8529 Handle `nameLen' <= 6 also. 8530 (parse_fond): Remove unused variable `name_table'. 8531 Use functionality of old p2c_str directly. 8532 Add safety checks. 8533 (read_lwfn): Initialize `size_p'. 8534 Check for size_p == NULL. 8535 (new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1. 8536 (FT_New_Face_From_LWFN): Remove unused variable `memory'. 8537 Remove some dead code. 8538 (FT_New_Face_From_SFNT): Remove unused variable `stream'. 8539 (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for 8540 OS X. 8541 (FT_New_Face_From_FOND): Remove unused variable `error'. 8542 (ResourceForkSize): New function. 8543 (FT_New_Face): Use it. 8544 Handle empty resource forks. 8545 Conditionalize some code for OS X. 8546 Add code to call normal loader as a fallback. 8547 85482002-04-30 Werner Lemberg <wl@gnu.org> 8549 8550 `interface' is reserved on the Mac. 8551 8552 * include/freetype/ftoutln.h, include/freetype/internal/sfnt.h, 8553 src/base/ftoutln.c: s/interface/func_interface/. 8554 * src/base/ftbbox.c (FT_Outline_Get_BBox): 8555 s/interface/bbox_interface/. 8556 * src/cff/cffdrivr.c: s/interface/module_interface/. 8557 * src/cff/cffload.c, src/cff/cffload.h: 8558 s/interface/psnames_interface/. 8559 * src/cid/cidriver.c: s/interface/cid_interface/. 8560 * src/sfnt/sfdriver.c: s/interface/module_interface/. 8561 * src/smooth/ftgrays.c: s/interface/func_interface/. 8562 * src/truetype/ttdriver.c: s/interface/tt_interface/. 8563 * src/type1/t1driver.c: s/interface/t1_interface/. 8564 8565 Some more variable renames to avoid troubles on the Mac. 8566 8567 * src/raster/ftraster.c: 8568 s/Unknown|Ascending|Descending|Flat/\1_State/. 8569 * src/smooth/ftgrays.c: s/TScan/TCoord/. 8570 8571 Other changes for the Mac. 8572 8573 * include/freetype/config/ftconfig.h: Define FT_MACINTOSH for 8574 Mac platforms. 8575 * src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/. 8576 8577 * src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always 8578 an even number. 8579 85802002-04-29 Jouk Jansen <joukj@hrem.stm.tudelft.nl> 8581 8582 * descrip.mms (all): Add pfr driver. 8583 85842002-04-28 Werner Lemberg <wl@gnu.org> 8585 8586 * src/pfr/pfrerror.h: New file. 8587 * include/freetype/ftmoderr.h: Add PFR error codes. 8588 * src/pfr/pfrgload.c: Include pfrerror.h. 8589 Use PCF error codes. 8590 (pfr_extra_item_load_stem_snaps): Fix debug message. 8591 * src/pfr/pfrgload.c: Include pfrerror.h. 8592 Use PCF error codes. 8593 (pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple, 8594 pfr_glyph_load_compound): Fix debug message. 8595 * src/pfr/pfrobjs.c: Include pfrerror.h. 8596 Use PCF error codes. 8597 (pfr_face_init): Return PFR_Err_Unknown_File_Format. 8598 * src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h. 8599 8600 * src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]: 8601 `root' -> `face->root'. 8602 * src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]: 8603 Removed. 8604 * src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for 8605 FT_CONFIG_OPTION_USE_CMAPS. 8606 86072002-04-27 Werner Lemberg <wl@gnu.org> 8608 8609 * src/cache/ftccache.c (ftc_cache_lookup), 8610 src/cache/ftccmap.c (ftc_cmap_family_init), 8611 src/cache/ftcmanag.c (ftc_family_table_alloc), 8612 src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*. 8613 src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*. 8614 (FTC_ImageCache_Lookup): Fix handling of invalid arguments. 8615 86162002-04-22 Werner Lemberg <wl@gnu.org> 8617 8618 * builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2 8619 version 2.0.9 has 9:0:3). 8620 * builds/unix/configure: Regenerated (using autoconf 2.53). 8621 86222002-04-19 Werner Lemberg <wl@gnu.org> 8623 8624 * src/pfr/pfrload.c (pfr_extra_items_parse): Fix debug message. 8625 (pfr_phy_font_load): s/size/Size/ for local variable to avoid 8626 compiler warning. 8627 * src/pfr/pfrobjs.c (pfr_face_init): Fix debug message. 8628 (pfr_slot_load): Remove redundant local variable. 8629 86302002-04-19 David Turner <david@freetype.org> 8631 8632 Adding a PFR font driver to the FreeType sources. Note that it 8633 doesn't support embedded bitmaps or kerning tables yet. 8634 8635 src/pfr/*: New files. 8636 8637 * include/freetype/config/ftmodule.h, 8638 include/freetype/internal/fttrace.h, src/Jamfile: Updated. 8639 8640 * src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c 8641 (T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback 8642 function. 8643 8644 * include/freetype/internal/ftmemory.h (FT_MEM_ZERO, FT_ZERO): New 8645 macros. 8646 8647 * include/freetype/internal/ftstream.h (FT_NEXT_OFF3, FT_NEXT_UOFF3, 8648 FT_NEXT_OFF3_LE, FT_NEXT_UOFF3_LE): New macros to parse in-memory 8649 24-bit integers. 8650 86512002-04-18 David Turner <david@freetype.org> 8652 8653 * src/base/ftobjs.c, builds/win32/ftdebug.c, 8654 builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked 8655 against applications in Win32 and Amiga builds due to changes to 8656 `src/base/ftdebug.c' that were not properly propagated to 8657 `builds/win32' and `builds/amiga'. This has been fixed. 8658 8659 * include/freetype/internal/ftobject.h, 8660 include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h, 8661 include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c: 8662 New experimental files. 8663 86642002-04-17 David Turner <david@freetype.org> 8665 8666 8667 * Version 2.1.0 released. 8668 ========================= 8669 8670 86712002-04-17 Michael Jansson <mjan@em2-solutions.com> 8672 8673 * src/type1/t1gload.c (T1_Compute_Max_Advance): Fixed a small bug 8674 that prevented the function to return the correct value. 8675 86762002-04-16 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr> 8677 8678 * src/pcf/pcfread.c (pcf_get_accel): Fix parsing of accelerator 8679 tables. 8680 86812002-04-15 David Turner <david@freetype.org> 8682 8683 * docs/FTL.txt: Formatting. 8684 8685 * include/freetype/config/ftoption.h: Reduce the size of the 8686 render pool from 32kByte to 16kByte. 8687 8688 * src/pcf/pcfread.c (pcf_seek_to_table_type): Remove compiler 8689 warning. 8690 8691 * include/freetype/config/ftoption.h (FT_MAX_EXTENSIONS): Removed. 8692 8693 * docs/CHANGES: Preparing 2.1.0 release. 8694 86952002-04-13 Werner LEMBERG <wl@gnu.org> 8696 8697 * src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid 8698 compiler warning. 8699 87002002-04-12 David Turner <david@freetype.org> 8701 8702 * README.UNX: Updated the Unix-specific quick-compilation guide to 8703 warn about the GNU Make requirement at compile time. 8704 8705 * include/freetype/config/ftstdlib.h, 8706 include/freetype/config/ftconfig.h, 8707 include/freetype/config/ftheader.h, 8708 include/freetype/internal/ftmemory.h, 8709 include/freetype/internal/ftobjs.h, 8710 8711 src/autohint/ahoptim.c, 8712 8713 src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c, 8714 src/base/ftobjs.c, src/base/ftsystem.c, 8715 8716 src/cache/ftcimage.c, src/cache/ftcsbits.c, 8717 8718 src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffobjs.c, 8719 8720 src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c, 8721 8722 src/pcf/pcfdriver.c, src/pcf/pcfread.c, 8723 8724 src/psaux/t1cmap.c, src/psaux/t1decode.c, 8725 8726 src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c, 8727 src/pshinter/pshrec.c, 8728 8729 src/psnames/psmodule.c, 8730 8731 src/raster/ftraster.c, 8732 8733 src/sfnt/sfdriver.c, src/sfnt/ttload.c, 8734 8735 src/smooth/ftgrays.c, 8736 8737 src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c, 8738 src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c, 8739 8740 builds/unix/ftconfig.in, builds/vms/ftconfig.h, 8741 8742 builds/amiga/src/base/ftdebug.c: 8743 8744 Added the new configuration file `ftstdlib.h' used to define 8745 aliases for all ISO C library functions used by the engine 8746 (e.g. strlen, qsort, setjmp, etc.). 8747 8748 This eases the porting of FreeType 2 to environments like 8749 XFree86 modules/extensions. 8750 8751 Also removed many #include <string.h>, #include <stdlib.h>, etc. 8752 from the engine's sources where they are not needed. 8753 8754 * src/sfnt/ttpost.c: Use macro name for psnames.h. 8755 87562002-04-12 Vincent Caron <v.caron@zerodeux.net> 8757 8758 * configure, builds/detect.mk: Updated the build system to print 8759 a warning message in case GNU Make isn't used to build the library. 8760 87612002-04-11 David Turner <david@freetype.org> 8762 8763 * README, docs/CHANGES, Jamfile.in: Updates for the 2.1.0 release. 8764 8765 * docs/FTL.txt: Updated license text to provide a preferred 8766 disclaimer and adjust copyright dates/extents. 8767 8768 * include/freetype/cache/ftcglyph.h: Removing obsolete (and 8769 confusing) comment. 8770 8771 * Jamfile.in: New file. 8772 87732002-04-11 Maxim Shemanarev <mcseemagg@yahoo.com> 8774 8775 * src/smooth/ftgrays.c (gray_hline): Minor optimization. 8776 87772002-04-02 Werner Lemberg <wl@gnu.org> 8778 8779 Fixes from the stable branch: 8780 8781 * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS): 8782 Removed. 8783 [FT_CONFIG_OPTION_OLD_CALCS]: Removed. 8784 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c 8785 [FT_CONFIG_OPTION_OLD_CALCS]: Removed. 8786 8787 * src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match 8788 output of FreeType 1. 8789 8790 * src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small 8791 bug that created un-even stem widths when hinting Postscript fonts. 8792 8793 * src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes. 8794 87952002-04-01 Werner Lemberg <wl@gnu.org> 8796 8797 * src/truetype/ttgload.c: 16bit fixes. 8798 (TT_Load_Simple_Glyph): Improve debug messages. 8799 (load_truetype_glyph): Remove dead code. 8800 * src/truetype/ttinterp.c: 16bit fixes. 8801 * src/truetype/ttobjs.c: Ditto. 8802 8803 * include/freetype/ftsnames.h, include/freetype/internal/sfnt.h, 8804 src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch], 8805 src/sfnt/ttpost.h: s/index/idx/. 8806 88072002-03-31 Yao Zhang <yaoz@vidar.niaaa.nih.gov> 8808 8809 * src/truetype/ttobjs.c (TT_Size_Init): Fix typo. 8810 88112002-03-31 Werner Lemberg <wl@gnu.org> 8812 8813 * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/. 8814 * src/psaux/t1cmap.c: Ditto. 8815 * src/sfnt/ttcmap0.c: Ditto. 8816 8817 * include/freetype/internal/tttypes.h, 8818 include/freetype/internal/sfnt.h (TT_Goto_Table_Func): Renamed to ... 8819 (TT_Loader_GotoTableFunc): This. 8820 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug 8821 messages. 8822 * src/psnames/psmodule.c (psnames_interface) 8823 [!FT_CONFIG_OPTION_ADOBE_GLYPH_LIST]: Fix typo. 8824 * src/sfnt/sfdriver.c (get_sfnt_table): 16bit fix. 8825 * src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU). 8826 * src/sfnt/ttcmap0.c: 16bit fixes. 8827 (TT_Build_CMaps): Simplify debug messages. 8828 (tt_cmap12_char_next): Fix offset. 8829 * src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug 8830 messages. 8831 (TT_Load_OS2): 16bit fix. 8832 88332002-03-30 David Turner <david@freetype.org> 8834 8835 * include/freetype/internal/tttypes.h: Adding comments to some of 8836 the TT_FaceRec fields. 8837 8838 * src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings. 8839 8840 * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_{utf16,ucs4,other}: 8841 New functions. 8842 (tt_face_get_name): Use them to properly extract an ascii font name. 8843 88442002-03-30 Werner Lemberg <wl@gnu.org> 8845 8846 * include/freetype/t1tables.h (t1_blend_max): Fix typo. 8847 * src/base/ftstream.c: Simplify FT_ERROR calls. 8848 * src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message. 8849 8850 * src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done) 8851 [TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed. 8852 * src/cff/sfobjs.c (SFNT_Load_Face) 8853 [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto. 8854 * src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver) 8855 [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto. 8856 8857 * src/truetype/ttdriver.c, src/truetype/ttobjs.c, 8858 src/truetype/ttobjs.h: Renaming driver functions to the 8859 FT_<Subject>_<Action> scheme: 8860 8861 TT_Init_Driver => TT_Driver_Init 8862 TT_Done_Driver => TT_Driver_Done 8863 TT_Init_Face => TT_Face_Init 8864 TT_Done_Face => TT_Face_Done 8865 TT_Init_Size => TT_Size_Init 8866 TT_Done_Size => TT_Size_Done 8867 TT_Reset_Size => TT_Size_Reset 8868 88692002-03-29 Werner Lemberg <wl@gnu.org> 8870 8871 * builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to 8872 FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h 8873 files. 8874 * builds/unix/ftconfig.in: Add argument to FT_LOCAL and 8875 FT_LOCAL_DEF. 8876 * src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/. 8877 * builds/unix/configure.ac: Temporarily deactivate creation of 8878 ../../Jamfile. 8879 * builds/unix/configure: Updated. 8880 88812002-03-28 KUSANO Takayuki <AE5T-KSN@asahi-net.or.jp> 8882 8883 * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos. 8884 88852002-03-28 Werner Lemberg <wl@gnu.org> 8886 8887 * include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix 8888 compiler warnings. 8889 * include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for 8890 some members. 8891 * src/base/ftapi.c (FT_New_Memory_Stream): Fix typos. 8892 * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add 8893 cast. 8894 (t1_cmap_{standard,expert,custom,unicode}_class_rec): Use 8895 `FT_CALLBACK_TABLE_DEF'. 8896 * src/psaux/t1cmap.h: Updated. 8897 * src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none' 8898 instead of zero. 8899 * src/type1/t1objs.c (T1_Face_Init): Use casts. 8900 89012002-03-26 David Turner <david@freetype.org> 8902 8903 * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c: 8904 Fixed a small bug in the FT_CMaps support code. 8905 89062002-03-25 David Turner <david@freetype.org> 8907 8908 * src/truetype/ttinterp.c (Norm): Replaced with... 8909 (TT_VecLen): This. 8910 (TT_MulFix14, TT_DotFix14): New functions. 8911 (Project, Dual_Project, Free_Project, Compute_Point_Displacement, 8912 Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them. 8913 [FT_CONFIG_OPTION_OLD_CALCS]: Removed all code. 8914 89152002-03-22 David Turner <david@freetype.org> 8916 8917 * src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c: 8918 Various fixes to make the FT_CMaps support work correctly (more 8919 tests are still needed). 8920 8921 * include/freetype/internal/ftobjs.h, src/sfnt/Jamfile, 8922 src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c, 8923 src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated 8924 the SFNT charmap support to use FT_CMaps. 8925 8926 * include/freetype/fterrdef.h: New file. 8927 * include/freetype/fterrors.h: Include it. It contains all error 8928 codes. 8929 * include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New 8930 macro. 8931 8932 * include/freetype/internal/ftmemory.h, and a lot of other files: 8933 Changed the names of memory macros. Examples: 8934 8935 MEM_Set => FT_MEM_SET 8936 MEM_Copy => FT_MEM_COPY 8937 MEM_Move => FT_MEM_MOVE 8938 8939 ALLOC => FT_ALLOC 8940 FREE => FT_FREE 8941 REALLOC = >FT_REALLOC 8942 8943 FT_NEW was introduced to allocate a new object from a _typed_ 8944 pointer. 8945 8946 Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by 8947 FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer 8948 arguments. 8949 8950 This results in _lots_ of sources being changed, but makes the code 8951 more generic and less error-prone. 8952 8953 * include/freetype/internal/ftstream.h, src/base/ftstream.c, 8954 src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c, 8955 src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c, 8956 src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c, 8957 src/winfonts/winfnt.c: Changed the definitions of stream macros. 8958 Examples: 8959 8960 NEXT_Byte => FT_NEXT_BYTE 8961 NEXT_Short => FT_NEXT_SHORT 8962 NEXT_UShortLE => FT_NEXT_USHORT_LE 8963 READ_Short => FT_READ_SHORT 8964 GET_Long => FT_GET_LONG 8965 etc. 8966 8967 Also introduced the FT_PEEK_XXXX functions. 8968 8969 * src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented 8970 out function. 8971 (find_encoding): Removed. 8972 (CFF_Face_Init): Remove charmap support. 8973 8974 * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS, 8975 TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune 8976 support of cmaps. 8977 89782002-03-21 David Turner <david@freetype.org> 8979 8980 * src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated 8981 to new FT_CMap definitions. 8982 8983 * src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h, 8984 src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support 8985 from `src/type1' to `src/psaux' since it is going to be shared by 8986 the Type 1 and CID font drivers. 8987 8988 * src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c, 8989 src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support 8990 for Type 1 FT_CMaps. 8991 89922002-03-20 David Turner <david@freetype.org> 8993 8994 * src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a 8995 memory allocation bug that was due to un-careful renaming of the 8996 FT_SubGlyph type. 8997 8998 * src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that 8999 caused the library to crash with Electric Fence when memory 9000 debugging is used. 9001 9002 * Renaming stream macros. Examples: 9003 9004 FILE_Skip => FT_STREAM_SKIP 9005 FILE_Read => FT_STREAM_READ 9006 ACCESS_Frame => FT_FRAME_ENTER 9007 FORGET_Frame => FT_FRAME_EXIT 9008 etc. 9009 9010 * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak. 9011 9012 * include/freetype/internal/ftobjs.h: Changing the definition of 9013 FT_CMap_CharNextFunc slightly. 9014 9015 * src/cff/*.c: Updating CFF type definitions. 9016 90172002-03-14 David Turner <david@freetype.org> 9018 9019 * include/freetype/internal/autohint.h, src/autohint/ahmodule.c, 9020 src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions 9021 for the auto-hinter module. 9022 9023 FT_AutoHinter_Interface => FT_AutoHinter_ServiceRec 9024 FT_AutoHinter_Interface* => FT_AutoHinter_Service 9025 etc. 9026 9027 FT_AutoHinter_Get_Global_Func => FT_AutoHinter_GlobalGetFunc 9028 FT_AutoHinter_Done_Global_Func => FT_AutoHinter_GlobalDoneFunc 9029 etc. 9030 9031 * ahloader.h [_STANDALONE_]: Removed all conditional code. 9032 9033 * include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the 9034 type definitions of the CFF font driver. 9035 9036 CFF_Font => CFF_FontRec 9037 CFF_Font* => CFF_Font 9038 etc. 9039 9040 * include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating 9041 type definitions of the Windows FNT font driver. 9042 9043 * include/freetype/internal/ftdriver.h, 9044 include/freetype/internal/ftobjs.h, src/base/ftapi.c, 9045 src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h, 9046 src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c, 9047 src/pcf/pcfdriver.h, src/truetype/ttdriver.c, 9048 src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h, 9049 src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type 9050 definitions for font drivers. 9051 9052 FTDriver_initFace => FT_Face_InitFunc 9053 FTDriver_initGlyphSlot => FT_Slot_InitFunc 9054 etc. 9055 9056 * src/cid/cidobjs.c (CID_Face_Init): Remove dead code. 9057 9058 * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: Updated a 9059 few face method definitions: 9060 9061 FT_PSName_Requester => FT_Face_GetPostscriptNameFunc 9062 FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc 9063 FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc 9064 9065 * src/base/ftapi.c: New file. It contains backward compatibility 9066 functions. 9067 9068 * include/freetype/internal/psaux.h, src/cid/cidload.c, 9069 src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h, 9070 src/psaux/t1decode.c, src/type1/t1load.c, src/type1/t1tokens.h: 9071 Updated common PostScript type definitions. 9072 Renamed all enumeration values like to uppercase variants: 9073 9074 t1_token_any => T1_TOKEN_TYPE_ANY 9075 t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO 9076 etc. 9077 9078 * include/freetype/internal/psglobal.h: Removed. 9079 * include/freetype/internal/pshints.h, src/pshinter/pshglob.h: 9080 Updated. 9081 9082 * include/freetype/internal/tttypes.h, 9083 include/freetype/internal/sfnt.h, src/base/ftnames.c, 9084 src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: Updated 9085 SFNT/TrueType type definitions. 9086 9087 * include/freetype/freetype.h, include/freetype/internal/ftgloadr.h: 9088 Updating type definitions for the glyph loader. 9089 90902002-03-13 Antoine Leca <antoine@oriolnet.com> 9091 9092 * include/freetype/config/ftoption.h: Changed the automatic 9093 detection of Microsoft C compilers to automatically support 64-bit 9094 integers only since revision 9.00 (i.e. >= Visual C++ 2.0). 9095 90962002-03-08 Werner Lemberg <wl@gnu.org> 9097 9098 * src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset. 9099 91002002-03-07 Werner Lemberg <wl@gnu.org> 9101 9102 * src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new, 9103 ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free, 9104 ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug, 9105 FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings. 9106 * src/base/ftcalc.c (FT_MulFix): Ditto. 9107 * src/cff/cffdrivr.c (cff_get_name_index): Ditto. 9108 * src/cff/cffobjs.c (CFF_Size_Get_Globals_Funcs, CFF_Size_Init, 9109 CFF_GlyphSlot_Init): Ditto. 9110 * src/cid/cidobjs.c (CID_GlyphSlot_Init, 9111 CID_Size_Get_Globals_Funcs): Ditto. 9112 * src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init): 9113 Ditto. 9114 * src/pshinter/pshmod.c (pshinter_interface): Use `static const'. 9115 * src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused 9116 variables. 9117 9118 * include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed 9119 to... 9120 (T1_Builder_FuncsRec): This. 9121 (T1_Builder_Funcs): New typedef. 9122 (PSAux_Interface): Remove compiler warnings. 9123 * src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h 9124 (t1_builder_funcs): Updated. 9125 9126 * src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ... 9127 (PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines. 9128 (PSH_AlignmentRec): Updated. 9129 9130 * include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix 9131 typo. 9132 * include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto. 9133 * src/base/ftstream (FT_Get_Char): Rename to... 9134 (FT_Stream_Get_Char): This. 9135 9136 * src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is 9137 a built-in function in gcc, causing warning messages with gcc 3.0. 9138 * src/autohint/ahglyph.c (ah_outline_load): Ditto. 9139 * src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto. 9140 * src/cache/ftcmanag.c (ftc_family_table_alloc, 9141 ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache): 9142 Ditto. 9143 * src/cff/cffload.c (cff_new_index, cff_done_index, 9144 cff_explicit_index, CFF_Access_Element, CFF_Forget_Element, 9145 CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font, 9146 CFF_Done_Font): Ditto. 9147 * src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto. 9148 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto. 9149 * src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit, 9150 ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3, 9151 * src/pshinter/pshalgo1.c (psh1_hint_table_record, 9152 psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto. 9153 * src/pshinter/pshalgo2.c (psh2_hint_table_record, 9154 psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto. 9155 * src/sfnt/ttpost.c (Load_Format_20, Load_Format_25, 9156 TT_Get_PS_Name): Ditto. 9157 * src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics, 9158 load_truetype_glyph): Ditto. 9159 * src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto. 9160 * src/type1/t1afm.c (T1_Get_Kerning): Ditto. 9161 * include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto. 9162 91632002-03-06 David Turner <david@freetype.org> 9164 9165 * src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c 9166 (CID_Face_Init): Fixed another bug related to the 9167 ascender/descender/text height of Postscript fonts. 9168 9169 * src/pshinter/pshalgo2.c (print_zone): Renamed to ... 9170 (psh2_print_zone): This. 9171 * src/pshinter/pshalgo1.c (print_zone): Renamed to ... 9172 (psh1_print_zone): This. 9173 9174 * include/freetype/freetype.h, include/freetype/internal/ftobjs.h, 9175 src/base/ftobjs.c: Adding the new FT_Library_Version API to return 9176 the library's current version in dynamic links. 9177 * src/base/ftinit.c (FT_Init_FreeType): Updated. 9178 91792002-03-06 Werner Lemberg <wl@gnu.org> 9180 9181 * src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/. 9182 * src/pshinter/pshglob.c (psh_global_scale_widths, 9183 psh_dimension_snap_width, psh_globals_destroy, psh_globals_new): 9184 Ditto. 9185 91862002-03-05 David Turner <david@freetype.org> 9187 9188 * src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c 9189 (CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug 9190 that returned global BBox values in 16.16 fixed format (instead of 9191 integer font units). 9192 9193 * src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that 9194 caused the CID driver to return Postscript font names with a leading 9195 slash (`/') as in `/MOEKai-Regular'. 9196 9197 * src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name), 9198 src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so 9199 that it accepts broken fonts like `foxjump.ttf', which made FreeType 9200 crash when trying to load them. 9201 9202 Also improved the name table parser to be able to load 9203 Windows-encoded entries before Macintosh or Unicode ones, since it 9204 seems some fonts don't have reliable values here anyway. 9205 9206 * include/freetype/internal/psnames.h: Add typedef for 9207 `PSNames_Service'. 9208 92092002-03-05 Werner Lemberg <wl@gnu.org> 9210 9211 * builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool 9212 1.4.2. 9213 Apply a small patch for AIX to make shared libraries work (this 9214 patch is already in the CVS version of libtool). 9215 9216 * builds/unix/config.sub, builds/unix/config.guess: Updated to 9217 recent versions. 9218 9219 * builds/unix/configure.ac: Fix typo 9220 (AC_CONFIG_FILE->AC_CONFIG_FILES). 9221 9222 * builds/unix/configure: Regenerated. 9223 92242002-02-28 David Turner <david@freetype.org> 9225 9226 * include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to 9227 `FT_LOCAL( xxxx )' everywhere in the source. The same goes for 9228 `FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'. 9229 9230 * include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH): 9231 Changing version to 2.1.0 to indicate an unstable branch. 9232 Added the declarations of FT_Get_First_Char and FT_Get_Next_Char. 9233 9234 * src/base/ftobjs.c: Implement FT_Get_First_Char and 9235 FT_Get_Next_Char. 9236 9237 * include/freetype/t1tables.h: Renaming structure types. This 9238 9239 typedef T1_Struct_ 9240 { 9241 } T1_Struct; 9242 9243 becomes 9244 9245 typedef PS_StructRec_ 9246 { 9247 } PS_StructRec, *PS_Struct; 9248 9249 typedef PS_StructRec T1_Struct; /* backward compatibility */ 9250 9251 Hence, we increase the coherency of the source code by effectively 9252 using the `Rec' prefix for structure types. 9253 92542002-02-27 David Turner <david@freetype.org> 9255 9256 * src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the 9257 names table loader. Invalid individual name entries are now handled 9258 correctly. This allows the loading of very buggy fonts like 9259 `foxjump.ttf' without allocating tons of memory and causing crashes. 9260 9261 * src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still 9262 experimental) code for OpenType Layout tables validation and 9263 parsing. 9264 9265 * src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still 9266 experimental) code for Type 1 charmap processing. 9267 9268 * src/sfnt/ttcmap0.c: New file. It contains a new, still 9269 experimental SFNT charmap processing support. 9270 9271 * include/freetype/internal/ftobjs.h: Adding validation support as 9272 well as internal charmap object definitions (FT_CMap != FT_CharMap). 9273 92742002-02-24 David Turner <david@freetype.org> 9275 9276 * Renaming stream functions to the FT_<Subject>_<Action> scheme: 9277 9278 FT_Seek_Stream => FT_Stream_Seek 9279 FT_Skip_Stream => FT_Stream_Skip 9280 FT_Read_Stream => FT_Stream_Read 9281 FT_Read_Stream_At => FT_Stream_Read_At 9282 FT_Access_Frame => FT_Stream_Enter_Frame 9283 FT_Forget_Frame => FT_Stream_Exit_Frame 9284 FT_Extract_Frame => FT_Stream_Extract_Frame 9285 FT_Release_Frame => FT_Stream_Release_Frame 9286 FT_Get_XXXX => FT_Stream_Get_XXXX 9287 FT_Read_XXXX => FT_Stream_Read_XXXX 9288 9289 FT_New_Stream( filename, stream ) => 9290 FT_Stream_Open( stream, filename ) 9291 9292 (The function doesn't create the FT_Stream structure, it simply 9293 initializes it for reading.) 9294 9295 FT_New_Memory_Stream( library, FT_Byte* base, size, stream ) => 9296 FT_Stream_Open_Memory( stream, const FT_Byte* base, size ) 9297 9298 FT_Done_Stream => FT_Stream_Close 9299 FT_Stream_IO => FT_Stream_IOFunc 9300 FT_Stream_Close => FT_Stream_CloseFunc 9301 9302 ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only) 9303 ft_io_stream => ft_ansi_stream_io (in base/ftsystem.c only) 9304 9305 * src/base/ftutil.c: New file. Contains all memory and list 9306 management code (previously in `ftobjs.c' and `ftlist.c', 9307 respectively). 9308 9309 * include/freetype/internal/ftobjs.h: Moving all code related to 9310 glyph loaders to ... 9311 * include/freetype/internal/ftgloadr.h: This new file. 9312 `FT_GlyphLoader' is now a pointer to the structure 9313 `FT_GlyphLoaderRec'. 9314 (ft_glyph_own_bitmap): Renamed to ... 9315 (FT_GLYPH_OWN_BITMAP): This. 9316 * src/base/ftobjs.c: Moving all code related to glyph loaders 9317 to ... 9318 * src/base/ftgloadr.c: This new file. 9319 93202002-02-22 Werner Lemberg <wl@gnu.org> 9321 9322 * include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in 9323 enum to avoid compiler warnings. 9324 93252002-02-21 David Turner <david@freetype.org> 9326 9327 Modified the debug sub-system initialization. Trace levels can now 9328 be specified within the `FT2_DEBUG' environment variable. See the 9329 comments within `ftdebug.c' for more details. 9330 9331 * src/base/ftdebug.c: (FT_SetTraceLevel): Removed. 9332 (ft_debug_init): New function. 9333 (ft_debug_dummy): Removed. 9334 Updated to changes in ftdebug.h 9335 9336 * include/freetype/internal/ftdebug.h: Always define 9337 FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE is defined. 9338 (FT_Assert): Renamed to ... 9339 (FT_ASSERT): This. 9340 Some stuff from ftdebug.h has been moved to ... 9341 9342 * include/freetype/internal/fttrace.h: New file, to define the trace 9343 levels used for debugging. It is used both to define enums and 9344 toggle names for FT2_DEBUG. 9345 9346 * include/freetype/internal/internal.h: Updated. 9347 9348 * src/base/ftobjs.c, src/base/ftstream.c: Updated. 9349 9350 * include/freetype/internal/ftextend.h, src/base/ftextend.c: 9351 Removed. Both files are now completely obsolete. 9352 * src/base/Jamfile, src/base/rules.mk: Updated. 9353 9354 * include/freetype/fterrors.h: Adding `#undef FT_ERR_CAT' and 9355 `#undef FT_ERR_XCAT' to avoid warnings with certain compilers (like 9356 LCC). 9357 9358 * src/pshinter/pshalgo2.c (print_zone): Renamed to ... 9359 (psh2_print_zone): This to avoid errors during compilation of debug 9360 library. 9361 9362 * src/smooth/ftgrays.c (FT_COMPONENT): Change definition to as 9363 `trace_smooth'. 9364 93652002-02-20 David Turner <david@freetype.org> 9366 9367 * README: Adding `devel@freetype.org' address for bug reports. 9368 93692002-02-20 Werner Lemberg <wl@gnu.org> 9370 9371 * builds/unix/install.mk (check): New dummy target. 9372 (.PHONY): Add it. 9373 93742002-02-19 Werner Lemberg <wl@gnu.org> 9375 9376 * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first. 9377 9378 * src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused 9379 to avoid compiler warning. 9380 * src/cff/cffload.c (CFF_Get_String): Ditto. 9381 * src/cff/cffobjs.c (CFF_StrCopy): Ditto. 9382 * src/psaux/psobjs.c (PS_Table_Done): Ditto. 9383 * src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto. 9384 * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto. 9385 (pcf_get_bitmaps): The same for `sizebitmaps'. 9386 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): The same for 9387 `orig_y'. 9388 (t1operator_seac): Comment out more dead code. 9389 * src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER' 9390 conditional. 9391 * src/truetype/ttgload.c (TT_Process_Simple_Glyph, 9392 load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER' 9393 conditional. 9394 93952002-02-18 Werner Lemberg <wl@gnu.org> 9396 9397 * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused 9398 variables. 9399 * src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead 9400 of UNUSED. 9401 * src/autohint/ahmodule.c (ft_autohinter_reset): Ditto. 9402 * src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable 9403 swapping code. 9404 * src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE. 9405 * src/pshinter/pshglob.c (psh_blues_snap_stem): Use it. 9406 * src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto. 9407 * src/pshinter/pshalgo2.c (psh2_hint_align): Ditto. 9408 * include/freetype/internal/ftobjs.h (UNUSED): Removed. 9409 94102002-02-10 Roberto Alameda <ojancano@geekmail.de> 9411 9412 Add support for ISOLatin1 PS encoding. 9413 9414 * include/freetype/freetype.h (ft_encoding_latin_1): New tag 9415 (`lat1'). 9416 * include/freetype/internal/t1types.h (T1_Encoding_Type): Add 9417 `t1_encoding_isolatin1'. 9418 * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle 9419 ft_encoding_latin_1. 9420 * src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'. 9421 * src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'. 9422 9423---------------------------------------------------------------------------- 9424 9425Copyright (C) 2002-2019 by 9426David Turner, Robert Wilhelm, and Werner Lemberg. 9427 9428This file is part of the FreeType project, and may only be used, modified, 9429and distributed under the terms of the FreeType project license, 9430LICENSE.TXT. By continuing to use, modify, or distribute this file you 9431indicate that you have read the license and understand and accept it 9432fully. 9433 9434 9435Local Variables: 9436version-control: never 9437coding: utf-8 9438End: 9439