blob: ea889eebca8a76d2daf111e0fc0c5a7870c3a950 [file] [log] [blame]
Werner Lemberg49f4d342005-06-16 19:07:08 +000012005-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
Werner Lemberga1c990a2006-04-29 06:24:30 +0000112005-06-07 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +000012
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
Alexei Podtelezhnikov236bbdb2017-01-18 23:12:31 -0500173 (ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACHE_TRYLOOP_END.
Werner Lemberg49f4d342005-06-16 19:07:08 +0000174
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'.
Alexei Podtelezhnikovf46b2822016-04-11 23:22:57 -0400330 * src/sfnt/ttcmap.c: Use SFNT_Err_Ok where appropriate.
Werner Lemberg49f4d342005-06-16 19:07:08 +0000331
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
Werner Lemberga1c990a2006-04-29 06:24:30 +00004562005-03-26 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +0000457
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
Werner Lemberga1c990a2006-04-29 06:24:30 +00004732005-03-26 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +0000474
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
Werner Lemberga1c990a2006-04-29 06:24:30 +00004812005-03-25 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +0000482
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
Werner Lemberg20957722018-08-26 15:15:56 +0200556 * src/type42/t42parse.c (t42_parser_init): Modify functions to check
Werner Lemberg49f4d342005-06-16 19:07:08 +0000557 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
Alexei Podtelezhnikov6d070342016-06-20 01:09:18 -0400574 * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Ditto for the gzip
Werner Lemberg49f4d342005-06-16 19:07:08 +0000575 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
Alexei Podtelezhnikoveb068312017-04-16 23:41:26 -0400620 * src/base/ftobjs.c (FT_Set_Char_Size): Handle fractional sizes
Werner Lemberg49f4d342005-06-16 19:07:08 +0000621 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,
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000686 FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cplusplus]:
Werner Lemberg49f4d342005-06-16 19:07:08 +0000687 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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -0400759 * src/autofit/aflatin.c (af_latin_metrics_scale): Don't call
Werner Lemberg49f4d342005-06-16 19:07:08 +0000760 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...
Werner Lemberg830846e2008-07-27 06:27:21 +0000925 (tt_face_get_metrics): This. Provide version for FT_OPTIMIZE_MEMORY.
Werner Lemberg49f4d342005-06-16 19:07:08 +0000926 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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04001017 * src/psaux/psobjs.c (skip_string, ps_parser_skip_PS_token,
Werner Lemberg49f4d342005-06-16 19:07:08 +00001018 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.
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04001115 * include/freetype/ftchapters.h: Updated.
Werner Lemberg49f4d342005-06-16 19:07:08 +00001116
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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04001162 * src/base/ftsynth.c (ft_test_extrema, ft_get_orientation): Removed.
Werner Lemberg49f4d342005-06-16 19:07:08 +00001163 (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
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001223 * builds/unix/freetype-config.in: Suppress -L$libdir for
Werner Lemberg830846e2008-07-27 06:27:21 +00001224 /usr/lib64 as well as /usr/lib. (Reported by Dan Winship -
Werner Lemberg49f4d342005-06-16 19:07:08 +00001225 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,
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001547 otl_chain_pos_class_set_validate): Removed.
Werner Lemberg49f4d342005-06-16 19:07:08 +00001548 (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.
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001741 (otl_base_script_validate): Add missing variable declarations.
Werner Lemberg49f4d342005-06-16 19:07:08 +00001742 (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
Werner Lemberga1c990a2006-04-29 06:24:30 +000018192004-08-11 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00001820
1821 * src/base/ftrfork.c (FT_Raccess_Guess)
Alexei Podtelezhnikovc5d97352017-04-21 22:27:49 -04001822 [!FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK]: Remove compiler
Werner Lemberg49f4d342005-06-16 19:07:08 +00001823 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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04001832 `Activate' gray-scale specifying hinting within the TrueType
Werner Lemberg49f4d342005-06-16 19:07:08 +00001833 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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04001842 * src/truetype/ttinterp.c (Ins_GETINFO): Return MS rasterizer
Werner Lemberg49f4d342005-06-16 19:07:08 +00001843 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
Hin-Tak Leungb8398722015-09-09 18:56:46 +01001871 T1_Read_AFM.
Werner Lemberg49f4d342005-06-16 19:07:08 +00001872 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
Werner Lemberga1c990a2006-04-29 06:24:30 +000018802004-07-26 Søren Sandmann <sandmann@daimi.au.dk>
Werner Lemberg49f4d342005-06-16 19:07:08 +00001881
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000018912004-07-25 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00001892
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
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04002051 * src/pcf/pcfdrivr.c (FT_COMPONENT): Move up.
Werner Lemberg49f4d342005-06-16 19:07:08 +00002052 (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.
Werner Lemberga1c990a2006-04-29 06:24:30 +00002086 Reported by Hyvärinen Jyrki Juhani.
Werner Lemberg49f4d342005-06-16 19:07:08 +00002087
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
Alexei Podtelezhnikoveb068312017-04-16 23:41:26 -04002104 * include/freetype/freetype.h (FT_Glyph_Metrics): Move `lsb_delta'
Werner Lemberg49f4d342005-06-16 19:07:08 +00002105 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
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04002119 * src/cache/ftcbasic.c (ftc_basic_family_compare): Change return
Werner Lemberg49f4d342005-06-16 19:07:08 +00002120 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
Alexei Podtelezhnikov04e7c742016-06-04 23:05:59 -040021562004-06-04 David Chester <davidchester@qmx.net>
Werner Lemberg49f4d342005-06-16 19:07:08 +00002157
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
Alexei Podtelezhnikov6d070342016-06-20 01:09:18 -04002292 `Memory_Error' with `Fail' and update all users.
Werner Lemberg49f4d342005-06-16 19:07:08 +00002293
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)
Alexei Podtelezhnikov7d7aae12017-03-07 22:21:26 -05002531 [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Support GX var fonts.
Werner Lemberg49f4d342005-06-16 19:07:08 +00002532
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
Werner Lemberg4e1d6c02006-12-09 08:20:37 +00002761 `top_bearing', `vadvance', `pp3', and `pp4'.
Werner Lemberg49f4d342005-06-16 19:07:08 +00002762
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.
Alexei Podtelezhnikov71d289d2017-04-19 23:50:29 -04002867 (psh_glyph_find_strong_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
Werner Lemberg49f4d342005-06-16 19:07:08 +00002868 (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
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04002902 * src/base/ftmac.c [__MWERKS__]: Include FSp_fopen.h.
Werner Lemberg49f4d342005-06-16 19:07:08 +00002903 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
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00003295 Add support for the hexadecimal representation of binary data
Werner Lemberg49f4d342005-06-16 19:07:08 +00003296 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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04003334 cmap is synthesized in cff module.
Werner Lemberg49f4d342005-06-16 19:07:08 +00003335
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.
Alexei Podtelezhnikov05e1aa52017-04-15 23:48:59 -04003364 (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
Werner Lemberg49f4d342005-06-16 19:07:08 +00003365 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
Werner Lemberga1c990a2006-04-29 06:24:30 +000034252003-12-31 Wolfgang Domröse <porthos.domroese@harz.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00003426
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
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04003463 * src/base/fttrigon.c, src/base/ftgloadr.c: Include
Werner Lemberg49f4d342005-06-16 19:07:08 +00003464 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,
Alexei Podtelezhnikov05e1aa52017-04-15 23:48:59 -04003496 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.
Werner Lemberg49f4d342005-06-16 19:07:08 +00003498 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,
Werner Lemberga1c990a2006-04-29 06:24:30 +00003519 based on work by Detlef Würkner <TetiSoft@apg.lahn.de>.
Werner Lemberg49f4d342005-06-16 19:07:08 +00003520
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),
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04003542 src/cache/ftlru.c (removed):
Werner Lemberg49f4d342005-06-16 19:07:08 +00003543
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
Werner Lemberg830846e2008-07-27 06:27:21 +00003557 - better performance in certain areas. Further optimizations
Werner Lemberg49f4d342005-06-16 19:07:08 +00003558 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
Werner Lemberga1c990a2006-04-29 06:24:30 +000036642003-12-15 Wolfgang Domröse <porthos.domroese@harz.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00003665
3666 * builds/atari/*: New directory for building FreeType 2 on Atari
3667 with the PureC compiler.
3668
Werner Lemberga1c990a2006-04-29 06:24:30 +000036692003-12-12 Wolfgang Domröse <porthos.domroese@harz.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00003670
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000037212003-12-10 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00003722
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000037532003-12-08 Wolfgang Domröse <porthos.domroese@harz.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00003754
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000039582003-10-31 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00003959
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
Alexei Podtelezhnikovc05a1c32016-06-21 23:12:54 -04004013 * src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
Werner Lemberg49f4d342005-06-16 19:07:08 +00004014 (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),
Alexei Podtelezhnikovf46b2822016-04-11 23:22:57 -04004122 src/gzip/inftrees.h (inflate_trees_fixed), src/gzip/inftrees.c
Werner Lemberg49f4d342005-06-16 19:07:08 +00004123 (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
Alexei Podtelezhnikov05e1aa52017-04-15 23:48:59 -04004234 * src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_Ok if
Werner Lemberg49f4d342005-06-16 19:07:08 +00004235 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.
Alexei Podtelezhnikov236bbdb2017-01-18 23:12:31 -05004358 * src/psaux/t1cmap.h, src/psaux/t1decode.h: Don't include
Werner Lemberg49f4d342005-06-16 19:07:08 +00004359 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...
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00004568 * include/freetype/internal/services/sfnt.h: New file.
Werner Lemberg49f4d342005-06-16 19:07:08 +00004569
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.
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04004662 (t42_service_glyph_dict, t42_service_ps_name): New structures
Werner Lemberg49f4d342005-06-16 19:07:08 +00004663 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.
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04004686 * src/pfr/pfrload.c: Remove dead code.
Werner Lemberg49f4d342005-06-16 19:07:08 +00004687 (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
Alexei Podtelezhnikovc5d97352017-04-21 22:27:49 -04004752 (TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING): Replaced with...
Werner Lemberg49f4d342005-06-16 19:07:08 +00004753 (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
Werner Lemberga1c990a2006-04-29 06:24:30 +000048992003-07-07 Patrik Hägglund <patrik.hagglund@bredband.net>
Werner Lemberg49f4d342005-06-16 19:07:08 +00004900
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.
Alexei Podtelezhnikoveb068312017-04-16 23:41:26 -04005026 (FT_Set_Pixel_Sizes): Assign value to `metrics' after validation of
Werner Lemberg49f4d342005-06-16 19:07:08 +00005027 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,
Alexei Podtelezhnikove3a1c462016-06-20 23:09:39 -04005118 FT_GLYPH_BBOX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
Werner Lemberg49f4d342005-06-16 19:07:08 +00005119 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
Werner Lemberga1c990a2006-04-29 06:24:30 +000051412003-06-13 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00005142
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.
Alexei Podtelezhnikov71d289d2017-04-19 23:50:29 -04005202 (cid_field_records): Comment out element for parsing FontBBox.
Werner Lemberg49f4d342005-06-16 19:07:08 +00005203
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000052182003-06-09 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00005219
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000052302003-06-09 Wolfgang Domröse <porthos.domroese@harz.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00005231
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000052962003-06-07 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00005297
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
Alexei Podtelezhnikovc05a1c32016-06-21 23:12:54 -04005348 * src/cid/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
Werner Lemberg49f4d342005-06-16 19:07:08 +00005349 for blue_scale.
5350
5351 * src/pshinter/pshglob.c (psh_globals_new): Fix default value of
5352 blue_scale.
5353
Werner Lemberga1c990a2006-04-29 06:24:30 +000053542003-06-04 Wolfgang Domröse <porthos.domroese@harz.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00005355
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
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04005571 * src/gzip/ftgzip.c (ft_gzip_file_io): Revert change from yesterday;
Werner Lemberg49f4d342005-06-16 19:07:08 +00005572 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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04005708 * src/autohint/ahhint.c (ah_hinter_align_strong_points): Provide
Werner Lemberg49f4d342005-06-16 19:07:08 +00005709 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
Alexei Podtelezhnikov05e1aa52017-04-15 23:48:59 -04005918 instead of FT_UInt for `len'.
Werner Lemberg49f4d342005-06-16 19:07:08 +00005919
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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04005962 * README: Updated.
Werner Lemberg49f4d342005-06-16 19:07:08 +00005963
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
Werner Lembergde43ace2014-12-02 23:06:04 +01006262 * include/freetype/ftbdf.h (BDF_PropertyType): New enumeration.
Werner Lemberg49f4d342005-06-16 19:07:08 +00006263 (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.
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04006277 (pcf_get_bdf_property, pcf_driver_requester): New functions
Werner Lemberg49f4d342005-06-16 19:07:08 +00006278 (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
Werner Lembergab1604b2007-06-16 07:59:39 +000063932003-01-08 Huw Davies <huw@codeweavers.com>
Werner Lemberg49f4d342005-06-16 19:07:08 +00006394
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
Werner Lemberge12a4712006-05-12 14:20:43 +00006505 prevented Bézier arcs with negative vertical coordinates to be
Werner Lemberg49f4d342005-06-16 19:07:08 +00006506 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
Alexei Podtelezhnikovf46b2822016-04-11 23:22:57 -04006549 * src/cache/ftcsbits.c (ftc_sbit_node_load): Fixed a small bug that
Werner Lemberg49f4d342005-06-16 19:07:08 +00006550 caused problems with embedded bitmaps.
6551
Alexei Podtelezhnikov71d289d2017-04-19 23:50:29 -04006552 * src/otlayout/otlayout.h, src/otlayout/otlconf.h,
Werner Lemberg49f4d342005-06-16 19:07:08 +00006553 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
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00006556 support for the first GSUB lookups. Nothing that really compiles
Werner Lemberg49f4d342005-06-16 19:07:08 +00006557 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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04006610 Added PFR-specific public API. Fixed the kerning retrieval routine
Werner Lemberg49f4d342005-06-16 19:07:08 +00006611 (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
Werner Lemberga1c990a2006-04-29 06:24:30 +000066762002-10-22 Giuseppe Ghibò <ghibo@mandrakesoft.com>
Werner Lemberg49f4d342005-06-16 19:07:08 +00006677
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.
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04006697 * src/pfr/pfrobjs.c: Include `pfrsbit.h'.
Werner Lemberg49f4d342005-06-16 19:07:08 +00006698 (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
Werner Lemberga1c990a2006-04-29 06:24:30 +000067332002-10-02 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00006734
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000067472002-09-27 Wolfgang Domröse <porthos.domroese@harz.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00006748
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000068132002-09-26 Wolfgang Domröse <porthos.domroese@harz.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00006814
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000068542002-09-26 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00006855
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000068732002-09-21 Wolfgang Domröse <porthos.domroese@harz.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00006874
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000068802002-09-19 Wolfgang Domröse <porthos.domroese@harz.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00006881
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
Werner Lemberga1c990a2006-04-29 06:24:30 +00006929 16bit fixes from Wolfgang Domröse.
Werner Lemberg49f4d342005-06-16 19:07:08 +00006930
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
Alexei Podtelezhnikov6d070342016-06-20 01:09:18 -04006975 to prevent segfault when hints are provided in an empty glyph.
Werner Lemberg49f4d342005-06-16 19:07:08 +00006976
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
Werner Lemberg63aaf892018-02-17 10:34:47 +01006998 Various updates to correctly support subpixel rendering.
Werner Lemberg49f4d342005-06-16 19:07:08 +00006999
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
Alexei Podtelezhnikovf46b2822016-04-11 23:22:57 -04007034 * src/cache/ftcsbits.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
Werner Lemberg49f4d342005-06-16 19:07:08 +00007035 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 ...
Alexei Podtelezhnikovc05a1c32016-06-21 23:12:54 -04007157 (FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SetModeFunc}):
Werner Lemberg49f4d342005-06-16 19:07:08 +00007158 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
Alexei Podtelezhnikov983fb0d2017-01-24 23:56:59 -05007241 (ft_smooth_lcd_renderer_class, ft_smooth_lcdv_renderer_class): New
Werner Lemberg49f4d342005-06-16 19:07:08 +00007242 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.
Alexei Podtelezhnikov71d289d2017-04-19 23:50:29 -04007378 * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix computation of
Werner Lemberg49f4d342005-06-16 19:07:08 +00007379 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)
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04007558 [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading
Werner Lemberg49f4d342005-06-16 19:07:08 +00007559 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.
Alexei Podtelezhnikov7d7aae12017-03-07 22:21:26 -05007583 (FTC_CACHE_USE_LINEAR_HASHING): Removed also.
Werner Lemberg49f4d342005-06-16 19:07:08 +00007584
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.
Alexei Podtelezhnikov71d289d2017-04-19 23:50:29 -04007605 (t1cid_driver_class): Updated.
Werner Lemberg49f4d342005-06-16 19:07:08 +00007606 * 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
Alexei Podtelezhnikov71d289d2017-04-19 23:50:29 -04007700 CFF_Size_Get_Globals_Funcs -> cff_size_get_globals_funcs
Werner Lemberg49f4d342005-06-16 19:07:08 +00007701 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
Werner Lemberga1c990a2006-04-29 06:24:30 +000078922002-06-21 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00007893
7894 * src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite
7895 glyphs.
7896
78972002-06-21 Sven Neumann <sven@convergence.de>
7898
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04007899 * src/pfr/pfrtypes.h (PFR_KernPair): New structure.
Werner Lemberg49f4d342005-06-16 19:07:08 +00007900 (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
Werner Lemberga1c990a2006-04-29 06:24:30 +000079152002-06-19 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00007916
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000079402002-06-18 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00007941
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000079692002-06-16 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00007970
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000079772002-06-15 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00007978
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000079962002-06-14 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00007997
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
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00008068 buckets array wasn't correctly resized when shrunk.
Werner Lemberg49f4d342005-06-16 19:07:08 +00008069
Werner Lemberga1c990a2006-04-29 06:24:30 +000080702002-06-08 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00008071
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000081912002-06-02 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00008192
8193 * src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
8194
Werner Lemberga1c990a2006-04-29 06:24:30 +000081952002-05-29 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00008196
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
Werner Lemberga1c990a2006-04-29 06:24:30 +000082142002-05-28 Detlef Würkner <TetiSoft@apg.lahn.de>
Werner Lemberg49f4d342005-06-16 19:07:08 +00008215
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
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00008238 * src/base/fttype1.c: New file, providing two new API functions
Werner Lemberg49f4d342005-06-16 19:07:08 +00008239 (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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04008247 prevented family blue zones substitution from happening correctly.
Werner Lemberg49f4d342005-06-16 19:07:08 +00008248
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
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04008624 * src/pfr/pfrload.c (pfr_extra_items_parse): Fix debug message.
Werner Lemberg49f4d342005-06-16 19:07:08 +00008625 (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,
Alexei Podtelezhnikov236bbdb2017-01-18 23:12:31 -05008638 include/freetype/internal/fttrace.h, src/Jamfile: Updated.
Werner Lemberg49f4d342005-06-16 19:07:08 +00008639
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
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04008678 * src/pcf/pcfread.c (pcf_get_accel): Fix parsing of accelerator
Werner Lemberg49f4d342005-06-16 19:07:08 +00008679 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
Alexei Podtelezhnikovbbb60962016-04-07 01:29:44 -04008718 src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffobjs.c,
Werner Lemberg49f4d342005-06-16 19:07:08 +00008719
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
Werner Lemberg8cd31eb2017-05-03 23:54:29 +02009065 * src/base/ftapi.c: New file. It contains backward compatibility
Werner Lemberg49f4d342005-06-16 19:07:08 +00009066 functions.
9067
9068 * include/freetype/internal/psaux.h, src/cid/cidload.c,
9069 src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
Alexei Podtelezhnikovc6d99a42016-04-08 00:05:50 -04009070 src/psaux/t1decode.c, src/type1/t1load.c, src/type1/t1tokens.h:
Werner Lemberg49f4d342005-06-16 19:07:08 +00009071 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
Alexei Podtelezhnikovf46b2822016-04-11 23:22:57 -04009078 * include/freetype/internal/psglobal.h: Removed.
Werner Lemberg49f4d342005-06-16 19:07:08 +00009079 * 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:
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00009088 Updating type definitions for the glyph loader.
Werner Lemberg49f4d342005-06-16 19:07:08 +00009089
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.
Alexei Podtelezhnikov71d289d2017-04-19 23:50:29 -04009108 * src/cff/cffobjs.c (CFF_Size_Get_Globals_Funcs, CFF_Size_Init,
Werner Lemberg49f4d342005-06-16 19:07:08 +00009109 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
Werner Lemberg8cd31eb2017-05-03 23:54:29 +02009249 typedef PS_StructRec T1_Struct; /* backward compatibility */
Werner Lemberg49f4d342005-06-16 19:07:08 +00009250
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'.
Alexei Podtelezhnikov71d289d2017-04-19 23:50:29 -04009386 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): The same for
Werner Lemberg49f4d342005-06-16 19:07:08 +00009387 `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
Werner Lemberg75859972019-02-23 10:07:09 +01009425Copyright (C) 2002-2019 by
Werner Lemberg49f4d342005-06-16 19:07:08 +00009426David 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
Werner Lemberga1c990a2006-04-29 06:24:30 +00009437coding: utf-8
Werner Lemberg49f4d342005-06-16 19:07:08 +00009438End: