Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

gets the `valign' attribute, not
Rev Author Line No. Line
4349 Serge 1
2005-06-08  Werner Lemberg  
2
 
3
 
4
	* Version 2.1.10 released.
5
	==========================
6
 
7
 
8
	* src/pcf/readme: Renamed to...
9
	* src/pcf/README: This.
10
 
11
2005-06-07  Detlef Würkner  
12
 
13
	* builds/amiga/*: Added copyright notes, reworked some comments.
14
 
15
2005-06-05  Werner Lemberg  
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
	.
28
 
29
2005-06-04  Werner Lemberg  
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
 
38
2005-06-01  Adam D. Moss  
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
 
44
2005-05-30  Chia I Wu  
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
 
56
2005-05-29  Chia I Wu  
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
 
69
2005-05-28  Chia I Wu  
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
 
77
2005-05-27  Chia I Wu  
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
 
86
2005-05-26  Werner Lemberg  
87
 
88
	* docs/GPL.txt: Update postal address of FSF.
89
 
90
2005-05-26  Chia I Wu  
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
 
99
2005-05-24  Werner Lemberg  
100
 
101
	* docs/CHANGES: Updated.
102
 
103
2005-05-24  Chia I Wu  
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
 
120
2005-05-24  Werner Lemberg  
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
 
128
2005-05-23  Werner Lemberg  
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
 
137
2005-05-23  Behdad Esfahbod  
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
 
164
2005-05-23  David Turner  
165
 
166
	Fix Savannah bug #12213 (incorrect behaviour of the cache sub-system
167
	in low-memory conditions).
168
 
169
	* include/freetype/cache/ftccache.h (FTC_CACHE_TRYLOOP,
170
	FTC_CACHE_TRYLOOP_END): New macros.
171
 
172
	* src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c
173
	(ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACE_TRYLOOP_END.
174
 
175
2005-05-23  Werner Lemberg  
176
 
177
	* src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but...
178
	(BASE_EXT_SRC): Here.
179
 
180
2005-05-22  Werner Lemberg  
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
 
198
2005-05-21  David Turner  
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
 
204
2005-05-20  Werner Lemberg  
205
 
206
	* docs/CHANGES: Updated.
207
 
208
2005-05-20  Chia I Wu  
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
 
238
2005-05-20  Kirill Smelkov  
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
 
250
2005-05-18  Kirill Smelkov  
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
 
270
2005-05-18  Werner Lemberg  
271
 
272
	* docs/announce: Start updating.
273
 
274
	* docs/CHANGES: Updated.
275
 
276
2005-05-16  Vitaliy Pasternak  
277
 
278
	* builds/win32/visualc/freetype.vcproj: Updated.
279
	Exclude debug info for `Release' versions to reduce library size.
280
 
281
2005-05-16  Werner Lemberg  
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 .
286
 
287
2005-05-16  Kirill Smelkov  
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
 
296
2005-05-11  Kirill Smelkov  
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
 
313
2005-05-11  Werner Lemberg  
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
	.
318
 
319
2005-05-08  Werner Lemberg  
320
 
321
	* include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE)
322
	[__cplusplus]: Fix typo.
323
 
324
2005-05-07  Werner Lemberg  
325
 
326
	Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck
327
	Blaskey ).
328
 
329
	* src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'.
330
	* src/sfnt/ttcmac.c: Use SFNT_Err_Ok where appropriate.
331
 
332
	(tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate,
333
	tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use
334
	`FT_Error' as return type.
335
	(tt_cmap4_validate): Use `FT_Error' as return type.
336
	Return error code for unsorted cmap.
337
	(tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted
338
	cmaps.
339
	(tt_face_build_cmaps): Set `unsorted' variable in cmap.
340
 
341
2005-05-07  Werner Lemberg  
342
 
343
	* src/truetype/ttpload.c (tt_face_get_location): Fix typo.
344
 
345
2005-05-06  Werner Lemberg  
346
 
347
	* src/cff/cffobjs.c (cff_face_init): Set ppem value in top
348
	dictionary for SFNT-based CFF.
349
 
350
2005-05-05  Werner Lemberg  
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
 
364
2005-05-01  David Turner  
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
 
378
2005-04-28  Werner Lemberg  
379
 
380
	* docs/TODO: Updated.
381
 
382
2005-04-24  Werner Lemberg  
383
 
384
	* src/otvalid/otvcommn.c
385
	(otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0.
386
 
387
2005-04-16  Werner Lemberg  
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
 
398
2005-04-14  Kirill Smelkov  
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
 
408
2005-04-14  Werner Lemberg  
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
 
420
2005-04-13  Werner Lemberg  
421
 
422
	* docs/TODO: Updated.
423
 
424
	* autogen.sh: Use `--force' for all commands.
425
 
426
2005-04-09  Werner Lemberg  
427
 
428
	* src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values
429
	only if `fitted' is not zero.
430
 
431
2005-04-06  Werner Lemberg  
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
 
436
2005-04-04  David Turner  
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
 
446
2005-04-03  Werner Lemberg  
447
 
448
	* src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid
449
	first line in the font.
450
 
451
2005-04-03  Werner Lemberg  
452
 
453
	* docs/CHANGES, include/freetype/freetype.h: Improve documentation
454
	of FT_Set_Pixel_Sizes and FT_Set_Char_Size.
455
 
456
2005-03-26  Detlef Würkner  
457
 
458
	* builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer
459
	offsets after a large read.
460
 
461
2005-03-26  Werner Lemberg  
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
 
473
2005-03-26  Detlef Würkner  
474
 
475
	Update of the Amiga port.
476
 
477
	* builds/amiga/makefile, builds/amiga/makefile.os4,
478
	builds/amiga/smakefile: Included the base extension files
479
	(ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
480
 
481
2005-03-25  Detlef Würkner  
482
 
483
	Update of the Amiga port.
484
 
485
	* builds/amiga/makefile, builds/amiga/smakefile: Handle new modules.
486
 
487
	* builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK.
488
 
489
	* builds/amiga/README: Updated.
490
 
491
	* builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for
492
	AmigaOS4.
493
 
494
	* builds/amiga/include/freetype/config/ftmodule.h: Handle new
495
	modules.
496
 
497
	* builds/amiga/src/base/ftdebug.c: Updated to current version of
498
	default ftdebug.c.
499
	Add various include files and macros to have proper support for
500
	both AmigaOS4 and older AmigaOS versions.
501
	Don't declare KVPrintF explicitly.
502
	Replace getenv with GetVar.
503
	Actually enable debugging code.
504
 
505
	* builds/amiga/src/base/ftsystem.c: Major rewrite.
506
 
507
2005-03-23  Werner Lemberg  
508
 
509
	* tests/*: Removed.
510
 
511
2005-03-23  Werner Lemberg  
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
 
528
2005-03-22  David Turner  
529
 
530
	* src/autohint/*: Removed.
531
	* Jamfile: Updated.
532
 
533
2005-03-15  David Turner  
534
 
535
	* src/bdf/bdflib.c: Remove compiler warnings.
536
	(hash_rehash, hash_init): Don't call FT_MEM_ZERO.
537
	(_bdf_list_t): Add `memory' field.
538
	(_bdf_list_init, _bdf_list_done, _bdf_list_ensure): New functions.
539
	(_bdf_shift, _bdf_join): Rename to...
540
	(_bdf_list_shift, _bdf_list_join): This.
541
	(_bdf_split): Renamed to...
542
	(_bdf_list_split): This.  Use new functions.
543
	(bdf_internal_readstream): Removed.
544
	(NO_SKIP): New macro.
545
	(_bdf_readstream): Rewritten.
546
	(bdf_create_property, _bdf_add_comment): Improve allocation.
547
	(_bdf_set_default_spacing, _bdf_parse_glyphs): Updated.  Improve
548
	allocation.
549
	(_bdf_parse_properties, _bdf_parse_start): Updated.
550
	(bdf_load_font): Updated to use new functions.
551
 
552
	* src/type1/t1parse.c (check_type1_format): New function.
553
	(T1_New_Parser): Use it to check font header before allocating
554
	anything on the heap.
555
 
556
	* src/type42/t42parse.c	(t42_parser_init): Modify functions to check
557
	the font header before allocating anything on the heap.
558
 
559
	* include/freetype/internal/ftmemory.h (FT_ARRAY_MAX,
560
	FT_ARRAY_CHECK): New macros.
561
 
562
	* src/base/ftstream.c (FT_Stream_TryRead): New function.
563
	* include/freetype/internal/ftstream.h: Updated.
564
 
565
	* src/pcf/pcfread.c (pcf_read_TOC), src/pcf/pcfutil.c
566
	(BitOrderInvert, TwoByteSwap, FourByteSwap): Minor fixes and
567
	simplifications.  Try to protect the PCF driver from doing stupid
568
	things with broken fonts.
569
 
570
	* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Check the LZW header before
571
	doing anything else.  This avoids unnecessary heap allocations
572
	(400KByte of heap memory for the LZW decoder).
573
 
574
	* src/gzip/ftgzip.c (FT_Stream_OpenGZip): Ditto for the gzip
575
	decoder, although the code savings are smaller.
576
 
577
	* docs/CHANGES: Updated.
578
 
579
2005-03-10  David Turner  
580
 
581
	* src/tools/glnames.py: Add comment to explain the compression
582
	being used for the Adobe Glyph List.
583
 
584
2005-03-10  Werner Lemberg  
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
 
592
2005-03-10  Werner Lemberg  
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) : Don't pass master table name.
600
	(StringTable) : 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
 
607
2005-03-09  David Turner  
608
 
609
	* src/tools/glnames.py: Rewrite the generator for the `pstables.h'
610
	header file which contains various constant tables related to glyph
611
	names.  It now uses a different, more compact storage scheme that
612
	saves about 20KB.  This also closes Savannah bug #12262.
613
 
614
	* src/psnames/pstables.h: Regenerated.
615
 
616
	* src/psnames/psmodule.c (ps_unicode_value): Use
617
	`ft_get_adobe_glyph_index', a new function defined in `pstables.h'.
618
	(ps_get_macintosh_name, ps_get_standard_strings): Updated.
619
 
620
	* src/base/ftobjs.c (FT_Set_Char_Sizes): Handle fractional sizes
621
	more carefully.  This fixes Savannah bug #12263.
622
 
623
2005-03-06  David Turner  
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
 
631
2005-03-05  Werner Lemberg  
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
 
641
2005-03-04  Werner Lemberg  
642
 
643
	* src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
644
 
645
2005-03-03  Werner Lemberg  
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
 
677
2005-03-03  David Turner  
678
 
679
	* include/freetype/internal/ftmemory.h (FT_ALLOC, FT_REALLOC,
680
	FT_QALLOC, FT_QREALLOC) [gcc >= 3.3]: Provide macro versions which
681
	avoid compiler warnings.
682
	(FT_NEW, FT_NEW_ARRAY, FT_RENEW_ARRAY, FT_QNEW, FT_QNEW_ARRAY,
683
	FT_QRENEW_ARRAY, FT_ALLOC_ARRAY, FT_REALLOC_ARRAY): Updated.
684
 
685
	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
686
	FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cplusplus]:
687
	Provide macro versions which avoid compiler warnings.
688
 
689
	* src/base/ftutil.c (ft_highpow2): New utility function.
690
 
691
	* include/freetype/internal/ftobjs.h: Updated.
692
 
693
	* src/pfr/pfrload.c (pfr_get_gindex, pfr_compare_kern_pairs,
694
	pfr_sort_kerning_pairs): Don't define if FT_OPTIMIZE_MEMORY is set.
695
	(pfr_phy_font_done): Don't handle `kern_pairs' if FT_OPTIMIZE_MEMORY
696
	is set.
697
	(pfr_phy_font_load): Don't call `pfr_sort_kerning_pairs' if
698
	FT_OPTIMIZE_MEMORY is set.
699
 
700
	* src/pfr/pfrobjs.c (pfr_slot_load): Comment out some code which
701
	doesn't work with broken fonts.
702
	(pfr_face_get_kerning) [FT_OPTIMIZE_MEMORY]: Implement.
703
 
704
	* src/pfr/pfrtypes.h (PFR_KernItemRec): Optimize member types.
705
	(PFR_NEXT_KPAIR): New macro.
706
	(PFR_PhyFontRec): Don't define `kern_pairs' if FT_OPTIMIZE_MEMORY is
707
	set.
708
 
709
	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Introduce
710
	temporary variable to avoid gcc warning.
711
	(tt_face_load_sbit_image): Mark unused variables with FT_UNUSED.
712
 
713
	* src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
714
	Remove redundant variable.
715
 
716
	* include/freetype/config/ftmodule.h: Moving the order of drivers to
717
	speed up font loading.  The PCF and BDF loaders are still slow and
718
	consume far too much memory.
719
 
720
2005-03-03  Werner Lemberg  
721
 
722
	* devel/ftoption.h: Updated to recent changes.
723
 
724
2005-03-02  Werner Lemberg  
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
 
734
2005-03-01  David Turner  
735
 
736
	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning),
737
	src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes,
738
	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_compound,
739
	tt_sbit_decoder_load_image), src/sfnt/ttload.c
740
	(tt_face_load_metrics): Remove compiler warnings
741
	-- redundant variables, missing initializations, etc.
742
 
743
	* src/sfnt/ttsbit.h: Handle FT_OPTIMIZE_MEMORY.
744
 
745
	* src/autofit/rules.mk, src/autofit/module.mk,
746
	src/autofit/afangles.h: New files.
747
 
748
	* src/autofit/afhints.c (af_axis_hints_new_segment,
749
	af_axis_hints_new_edge): New functions.
750
	(af_glyph_hints_done): Do proper deallocation.
751
	(af_glyph_hints_reload): Only reallocate points array.  This
752
	drastically reduces heap usage.
753
 
754
	* src/autofit/afhints.h (AF_PointRec, AF_SegmentRec): Optimize
755
	member types and positions.
756
	(AF_AxisHintsRec): Add `max_segments' and `max_edges'.
757
	(af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes.
758
 
759
	* src/autofit/aflatin.c (af_latin_metricsc_scale): Don't call
760
	AF_SCALER_EQUAL_SCALES.
761
	(af_latin_hints_compute_segments): Change return type to FT_Error.
762
	Update all callers.
763
	Improve segment allocation.
764
	(af_latin_hints_compute_edges): Change return type to FT_Error.
765
	Update all callers.
766
	Improve edge allocation and link handling.
767
	(af_latin_hints_detect_features): Change return type to FT_Error.
768
	Update all callers.
769
 
770
	* src/autofit/aflatin.h: Updated.
771
 
772
	* src/autofit/afloader.c (af_loader_load_g)
773
	: 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
 
781
2005-02-28  Werner Lemberg  
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
 
795
2005-02-28  David Turner  
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
 
849
2005-02-27  David Turner  
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
 
854
2005-02-25  David Turner  
855
 
856
	Implement several memory optimizations to drastically reduce the
857
	heap usage of FreeType, especially in the case of memory-mapped
858
	files.  The idea is to avoid loading and decoding tables in the
859
	heap, and instead access the raw data whenever possible (i.e., when
860
	it doesn't compromise performance).
861
 
862
	This has several benefits: For example, opening vera.ttf now uses
863
	just a small amount of memory (even when the FT_Library footprint is
864
	accounted for), until you start loading glyphs.  Even then, you save
865
	at least 20KB compared to the non-optimized case.  Performance of
866
	various operations, including open and close, has also been
867
	dramatically improved.
868
 
869
	More optimizations to come, especially for the auto-hinter.
870
 
871
	* include/freetype/internal/sfnt.h (TT_Face_GetKerningFunc): New
872
	function type.
873
	(SFNT_Interface): Add it.
874
 
875
	* include/freetype/internal/tttypes.h (TT_HdmxEntryRec, TT_HdmxRec,
876
	TT_Kern0_PairRec): Don't define if FT_OPTIMIZE_MEMORY is set.
877
	(TT_FaceRec): Define `horz_metrics', `horz_metrics_size',
878
	`vert_metrics', `vert_metrics_size', `hdmx_table',
879
	`hdmx_table_size', `hdmx_record_count', `hdmx_record_size',
880
	`hdmx_record_sizes', `kern_table', `kern_table_size,
881
	`num_kern_tables', `kern_avail_bits', `kern_order_bits' if
882
	FT_OPTIMIZE_MEMORY is set.
883
	Don't define `hdmx', `num_kern_pairs', `kern_table_index',
884
	`kern_pairs' if FT_OPTIMIZE_MEMORY is set.
885
 
886
	* src/base/ftdbgmem.c (ft_mem_table_set): Don't shadow variable.
887
	Fix compiler warning.
888
 
889
	* src/cff/cffdrivr.c (Get_Kerning): Renamed to...
890
	(cff_get_kerning): This.  Simplify.
891
	(cff_driver_class): Updated.
892
 
893
	* src/sfnt/Jamfile (_sources): Add `ttkern'.
894
	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttkern.c'.
895
 
896
	* src/sfnt/sfdriver.c (sfnt_interface): Add `tt_face_get_kerning'.
897
 
898
	* src/sfnt/sfnt.c: Include `ttkern.c'.
899
 
900
	* src/sfnt/sfobjs.c: Include `ttkern.h'.
901
	(sfnt_load_face): Consider the `kern' and `gasp' table as optional.
902
	(sfnt_done_face): Call `tt_face_done_kern'.
903
	Handle horizontal metrics for FT_OPTIMIZE_MEMORY.
904
 
905
	* src/sfnt/ttkern.c, src/sfnt/ttkern.h: New files.  Code has been
906
	taken from `ttload.c' and `ttload.h'.
907
	Provide special versions of `tt_face_load_kern',
908
	`tt_face_get_kerning', and `tt_face_done_kern' for
909
	FT_OPTIMIZE_MEMORY.
910
 
911
	* src/sfnt/ttload.c (tt_face_load_metrics, tt_face_load_hdmx,
912
	tt_face_free_hdmx): Provide version for FT_OPTIMIZE_MEMORY.
913
	(tt_face_load_kern, tt_kern_pair_compare, TT_KERN_INDEX): Moved to
914
	`ttkern.c'.
915
 
916
	* src/sfnt/ttload.h: Updated.
917
 
918
	* src/sfnt/ttsbit.c (sbit_metrics_field): Add `static' keyword.
919
 
920
	* src/truetype/ttdriver.c (Get_Kerning): Renamed to...
921
	(tt_get_kerning): This.  Simplify.
922
	(tt_driver_class): Updated.
923
 
924
	* src/truetype/ttgload.c (TT_Get_Metrics): Renamed to...
925
	(tt_face_get_metrics): This.  Provide version for FT_OPTIMIZE_MEMORY.
926
	Update all callers.
927
	(Get_Advance_Widths): Replaced with...
928
	(Get_Advance_WidthPtr): This.  Provide version for
929
	FT_OPTIMIZE_MEMORY.
930
	Update all callers.
931
 
932
	* src/truetype/ttgload.h: Updated.
933
 
934
2005-02-22  David Turner  
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
 
982
2005-02-20  Werner Lemberg  
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
 
995
2005-02-14  Werner Lemberg  
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
 
1000
2005-02-13  Werner Lemberg  
1001
 
1002
	* src/type1/t1load.c (read_binary_data): Return more meaningful
1003
	value.
1004
	(parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check
1005
	parser error value after call to T1_Skip_PS_Token (where necessary).
1006
 
1007
	* src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error
1008
	value after call to T1_Skip_PS_Token.
1009
 
1010
	* src/cid/cidparse.c (cid_parser_new): Check parser error value
1011
	after call to cid_parser_skip_PS_token.
1012
 
1013
	* src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts,
1014
	t42_parse_charstrings, t42_parse_dict): Check parser error value
1015
	after call to T1_Skip_PS_Token (where necessary).
1016
 
1017
	* src/psaux/psobjc.c (skip_string, ps_parser_skip_PS_token,
1018
	ps_tobytes): Add error messages.
1019
 
1020
2005-02-12  Werner Lemberg  
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
 
1026
2005-02-10  David Turner  
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
 
1037
2005-02-10  Werner Lemberg  
1038
 
1039
	* builds/unix/freetype-config.in: Add new flag `--ftversion' to
1040
	return the FreeType version.  Suggested by George Williams
1041
	.
1042
 
1043
	* docs/CHANGES: Updated.
1044
 
1045
2005-02-09  Werner Lemberg  
1046
 
1047
	* src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case
1048
	of error.  Reported by YAMANO-UCHI Hidetoshi .
1049
 
1050
2005-02-08  Werner Lemberg  
1051
 
1052
	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
1053
	: Accept `T1_Parse_Have_Moveto' state also which can
1054
	happen in empty glyphs.  Reported by Ian Brown
1055
	 (Savannah bug #11856).
1056
 
1057
2005-02-04  Werner Lemberg  
1058
 
1059
	* src/otlayout/*: Removed.  Obsolete.
1060
 
1061
2004-12-28  Werner Lemberg  
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
 
1079
2004-12-27  Dirck Blaskey  
1080
 
1081
	* src/cff/cffobjs.c (cff_face_init): Improve computation of
1082
	FT_STYLE_BOLD_FLAG.
1083
 
1084
2004-12-27  Werner Lemberg  
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
 
1090
2004-12-26  Werner Lemberg  
1091
 
1092
	* Jamfile (FT2_COMPONENTS): Add `otvalid'.
1093
 
1094
2004-12-25  Werner Lemberg  
1095
 
1096
	* src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning.
1097
 
1098
2004-12-15  Werner Lemberg  
1099
 
1100
	* vms_make.com: Add ftbitmap.obj.
1101
 
1102
2004-12-14  Werner Lemberg  
1103
 
1104
	* src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for
1105
	handling various bitmap formats.
1106
 
1107
	* include/freetype/config/ftheader.h (FT_BITMAP_H): New macro.
1108
 
1109
	* src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c.
1110
 
1111
	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp
1112
	but return them as-is.
1113
 
1114
	* docs/CHANGES: Mention new bitmap API.
1115
	* include/freetype/ftchapter.s: Updated.
1116
 
1117
2004-12-11  Robert Clark  
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
 
1124
2004-12-09  Werner Lemberg  
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
 
1130
2004-12-08  Werner Lemberg  
1131
 
1132
	* src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and
1133
	`rsb_delta'.
1134
 
1135
2004-12-05  Werner Lemberg  
1136
 
1137
	* builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h.
1138
 
1139
2004-12-03  Antoine Leca  
1140
 
1141
	* include/freetype/ttnameid.h: Updated to latest
1142
	specifications from Microsoft.
1143
 
1144
2004-11-26  Jouk Jansen  
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
 
1152
2004-11-23  Anders Kaseorg  
1153
 
1154
	* src/base/ftoutln.c (FT_OrientationExtremumRec,
1155
	ft_orientation_extremum_compute): Removed.
1156
	(FT_Outline_Get_Orientation): Rewritten, simplified.
1157
 
1158
	* src/autohint/ahglyph.c: Include FT_OUTLINE_H.
1159
	(ah_test_extremum, ah_get_orientation): Removed.
1160
	(ah_outline_load): Use FT_Outline_Get_Orientation.
1161
 
1162
	* src/base/ftsynth.c (ft_test_extrama, ft_get_orientation): Removed.
1163
	(FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
1164
 
1165
2004-11-23  Fernando Papa  
1166
 
1167
	* src/truetype/ttinterp.h: Fix typo.
1168
 
1169
2004-11-22  Antoine Leca  
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
 
1178
2004-11-22  Werner Lemberg  
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
 
1184
2004-11-20  Werner Lemberg  
1185
 
1186
	* builds/detect.mk (dos_setup): Use `cmd.exe' for copying
1187
	$(CONFIG_MK) to force lowercase file name under Windows.
1188
 
1189
2004-11-19  Werner Lemberg  
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
 
1201
2004-11-16  Werner Lemberg  
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
 
1209
2004-11-16  Dr. Martin P.J. Zinser  
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
 
1221
2004-11-16  Owen Taylor  
1222
 
1223
	* builds/unix/freetype-config.in: Suppress -L$libdir for
1224
	/usr/lib64 as well as /usr/lib.  (Reported by Dan Winship -
1225
	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199)
1226
 
1227
2004-11-11  Werner Lemberg  
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
 
1236
2004-11-11  David Bevan  
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
 
1249
2004-10-13  Werner Lemberg  
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
 
1259
2004-10-11  Joshua Neal  
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
 
1275
2004-10-09  Werner Lemberg  
1276
 
1277
	* docs/CHANGES: Updated.
1278
 
1279
2004-10-09  Boris Letocha  
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
 
1288
2004-09-10  Jouk Jansen  
1289
 
1290
	* vms_make.com: Updated.
1291
 
1292
2004-09-09  Werner Lemberg  
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
 
1318
2004-09-08  Werner Lemberg  
1319
 
1320
	* src/tools/docmaker/sources.py (re_source_block_format2) :
1321
	Use lookahead assertion to not match `*/'.  This removes spurious
1322
	insertions of `/' in the HTML output.
1323
 
1324
2004-09-07  Werner Lemberg  
1325
 
1326
	* src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to
1327
	FT_NEW_ARRAY.
1328
 
1329
2004-09-04  Werner Lemberg  
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
 
1361
2004-09-03  Werner Lemberg  
1362
 
1363
	* src/base/ftdebug.c (ft_debug_init): Highest debug level is 7,
1364
	not 6.
1365
	* docs/DEBUG: Updated.
1366
 
1367
2004-08-30  Werner Lemberg  
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
 
1375
2004-08-29  Werner Lemberg  
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
 
1404
2004-08-28  Werner Lemberg  
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
 
1413
2004-08-27  Werner Lemberg  
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
 
1419
2004-08-27  Mathieu Malaterre  
1420
 
1421
	* src/base/ftmac.c: Handle OS_INLINE for xlc compiler also.
1422
 
1423
2004-08-27  Werner Lemberg  
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
 
1449
2004-08-16  Werner Lemberg  
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
 
1527
2004-08-15  Werner Lemberg  
1528
 
1529
	* src/otlayout/otlgpos.c (otl_liga_mark2_validate): Add parameter
1530
	to handle possible NULL values properly.
1531
	Update all callers.
1532
 
1533
2004-08-15  Werner Lemberg  
1534
 
1535
	* src/otlayout/gpos.c: Rename counting variables to be more
1536
	meaningful.
1537
	Add copyright.
1538
	(otl_liga_attach_validate): Renamed to...
1539
	(otl_liga_mark2_validate): This.
1540
	Update all callers.
1541
	(otl_mark2_array_validate): Removed.
1542
	(otl_gpos_lookup6_validate): Call otl_liga_mark2_validate, not
1543
	otl_mark2_array_validate.
1544
	(otl_pos_class_set_validate, otl_pos_class_rule_validate): Removed.
1545
	(otl_gpos_lookup7_validate): Complete code for format 2.
1546
	(otl_chain_pos_class_rule_validate,
1547
	otl_chain_pos_class_set_validate): Removed.
1548
	(otl_gpos_lookup8_validate): Don't call
1549
	otl_chain_pos_class_set_validate but
1550
	otl_chain_pos_rule_set_validate.
1551
	Simplify some code.
1552
 
1553
	* src/otlayout/otlgpos.h: Add copyright.
1554
 
1555
2004-08-14  Werner Lemberg  
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
 
1592
2004-08-13  Werner Lemberg  
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
 
1634
2004-08-13  Werner Lemberg  
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
 
1684
2004-08-12  Werner Lemberg  
1685
 
1686
	Make otlayout module compile (without actually working).
1687
 
1688
	* src/otlayout/*: s/OTL_Valid/OTL_Validator/.
1689
	s/NULL/0/.
1690
 
1691
	* src/otlayout/otlayout.h: Fix various typos.
1692
	(OTL_Bool): New typedef.
1693
	(OTL_Int, OTL_Long, OTL_Int16, OTL_Int32): Use `signed' keyword.
1694
	(OTL_Err_InvalidArgument): Removed.
1695
	(OTL_Err_InvalidData, OTL_Err_InvalidSize): New enum values.
1696
	(OTL_MAKE_TAG): Add missing parenthesis.
1697
	(OTL_INVALID_DATA): Use OTL_Err_InvalidData.
1698
	(OTL_INVALID_TOO_SHORT): Use OTL_Err_InvalidSize.
1699
	(OTL_INVALID_FORMAT, OTL_INVALID_OFFSET): New macros.
1700
 
1701
	* src/otlayout/otlgpos.c: s/FT_/OTL_/.
1702
	s/OTL_Short/OTL_Int16/.
1703
	(otl_gpos_pairset_validate): Add return type.
1704
	(otl_base_array_validate): Fix call to otl_anchor_validate.
1705
	(otl_liga_array_validate): Fix call to otl_liga_attach_validate.
1706
	(otl_gpos_lookup5_validate): Fix typos.
1707
	(otl_gpos_lookup6_validate): Fix call to otl_mark2_array_validate.
1708
	(otl_gpos_lookup7_validate): Comment out unfinished code.
1709
	Fix typos.
1710
 
1711
	* src/otlayout/otlgsub.c: Add forward declaration for
1712
	otl_gsub_validate_funcs.
1713
	(otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
1714
	otl_gsub_lookup3_apply): Fix call to otl_parser_check_property.
1715
	s/otl_coverage_lookup/otl_coverage_get_index/.
1716
	(otl_ligature_validate): Add missing variable declaration.
1717
	(otl_sub_rule_validate): Fix typo.
1718
	(otl_sub_class_rule_validate): Add missing variable declaration.
1719
	Fix typo.
1720
	(otl_gsub_lookup5_validate): Fix typo.
1721
	(otl_gsub_lookup6_validate): Fix call to
1722
	otl_chain_sub_class_set_validate.
1723
	(otl_gsub_validate_funcs): Don't use `const'.
1724
 
1725
	* src/otlayout/otlcommn.c (otl_class_definition_get_value,
1726
	otl_device_table_validate, otl_device_table_get_delta,
1727
	otl_lookup_validate, otl_script_validate): Add missing
1728
	variable declarations.
1729
	(otl_lookup_list_validate): Comment out first definition.
1730
	(otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
1731
	(otl_feature_list_validate):
1732
	s/otl_feature_table_validate/otl_feature_validate/.
1733
	(otl_script_list_validate):
1734
	s/otl_script_table_validate/otl_script_validate/.
1735
 
1736
	* src/otlayout/otlcommn.h: Comment out first declaration.
1737
	(otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
1738
 
1739
	* src/otlayout/otlbase.c (otl_base_coord_validate): Fix call to
1740
	otl_device_table_validate.
1741
	(otl_base_script_validate): Add missing variable declarations.
1742
	(otl_base_script_list_validate): Fix call to
1743
	otl_base_script_validate.
1744
	(otl_axis_table_validate): Fix calls to otl_base_tag_list_validate
1745
	and otl_base_script_list_validate.
1746
	(otl_base_validate): Fix calls to otl_axis_table_validate.
1747
 
1748
	* src/otlayout/otlgdef.c (otl_attach_list_validate): Fix call to
1749
	otl_attach_point_validate.
1750
	(otl_caret_value_validate): Add missing variable declaration.
1751
	Fix call to otl_device_table_validate.
1752
	(otl_ligature_glyph_validate): Fix call to otl_caret_value_validate.
1753
	(otl_ligature_caret_list_validate): Fix call to
1754
	otl_ligature_glyph_validate.
1755
	(otl_gdef_validate): Fix calls to otl_class_definition_validate,
1756
	otl_attach_list_validate, otl_ligature_caret_list_validate, and
1757
	otl_class_definition_validate.
1758
 
1759
	* src/otlayout/otltable.h (otl_table_validate, otl_table_init,
1760
	otl_table_set_script): Comment out.
1761
 
1762
	* src/otlayout/otlparse.h (OTL_ParserRec):
1763
	s/OTL_Alternate/OTL_GSUB_Alternate/.
1764
	(OTL_ParseError): Add OTL_Err_Parser_Memory and
1765
	OTL_Err_Parser_Internal.
1766
	(otl_parser_error): Fix typo.
1767
	(otl_parser_check_property): Remove third argument.
1768
 
1769
	* src/otlayout/otlparse.c (otl_string_ensure):
1770
	s/OTL_Parse_Err_Memory/OTL_Err_Parser_Memory/.
1771
	(OTL_STRING_ENSURE, otl_parser_error, otl_parser_get_index,
1772
	otl_parser_replace_1, otl_parser_replace_n): Fix typos.
1773
	(OTL_PARSER_UNCOVERED): Removed.
1774
	(otl_parser_check_property): Remove third argument.
1775
 
1776
	* src/otlayout/otljstf.c (otl_jstf_priority_validate): Add missing
1777
	variable declaration.
1778
 
1779
	* src/otlayout/otlutils.h (OTL_MEM_REALLOC): Fix typo.
1780
 
1781
2004-08-11  Danny  
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
 
1787
2004-08-11  Werner Lemberg  
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
 
1819
2004-08-11  Detlef Würkner  
1820
 
1821
	* src/base/ftrfork.c (FT_Raccess_Guess)
1822
	[!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler
1823
	warnings.
1824
 
1825
2004-08-06  Adam Piotrowski  
1826
 
1827
	* src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte
1828
	adjustments are unsigned, not signed.
1829
 
1830
2004-08-05  David Turner  
1831
 
1832
	`Activate' gray-scale specifing hinting within the TrueType
1833
	bytecode interpreter.  This is an experimental feature which
1834
	should probably be made optional.
1835
 
1836
	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
1837
	load_truetype_glyph): Move the code to set the pedantic_hinting flag
1838
	to...
1839
	(TT_Load_Glyph): Here.
1840
	Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.
1841
 
1842
	* src/truetyep/ttinterp.c (Ins_GETINFO): Return MS rasterizer
1843
	version 1.7.
1844
	Return rotation and stretching info only if glyph is rotated or
1845
	stretched, respectively.
1846
	Handle grayscale info.
1847
 
1848
	* src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale'
1849
	member.
1850
 
1851
2004-08-02  George Williams  
1852
 
1853
	* src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'.
1854
 
1855
2004-08-01  Werner Lemberg  
1856
 
1857
	* docs/CHANGES: Updated.
1858
 
1859
2004-08-01  George Williams  
1860
 
1861
	FreeType now can read kerning values from PFM files.
1862
 
1863
	* src/type1/t1afm.c (T1_Done_AFM): Renamed to...
1864
	(T1_Done_Metrics): This.
1865
	Update all callers.
1866
	(T1_Read_AFM): Make it static.
1867
	Don't enter and leave a frame.
1868
	(LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros.
1869
	(T1_Read_PFM): New function.
1870
	(T1_Read_Metrics): New higher-level function to be used instead of
1871
	T1Read_AFM.
1872
	Update all callers.
1873
 
1874
2004-07-31  Werner Lemberg  
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
 
1880
2004-07-26  Søren Sandmann  
1881
 
1882
	* src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for
1883
	face->style_name.
1884
	* src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'.
1885
 
1886
2004-07-26  Darren J Longhorn  
1887
 
1888
	* include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize
1889
	five-byte `long' (which is avoided then).
1890
 
1891
2004-07-25  Detlef Würkner  
1892
 
1893
	* src/pcf/pcfdrivr.c (PCF_Set_Pixel_Size): Compare heights, not
1894
	ppem values.
1895
	(PCF_Set_Point_Size): Don't call PCF_Set_Pixel_Size but provide own
1896
	code to compare ppem values.
1897
	* src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Compare heights, not
1898
	ppem values.
1899
	(BDF_Set_Point_Size): Don't call BDF_Set_Pixel_Size but provide own
1900
	code to compare ppem values.
1901
 
1902
2004-07-25  Kornfeld Eliyahu Peter  
1903
 
1904
	* src/sfnt/sfobjs.c (sfnt_load_face): Handle
1905
	TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY.
1906
 
1907
2004-07-24  Derek B. Noonburg  
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
 
1913
2004-07-23  Werner Lemberg  
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
 
1918
2004-07-17  David Turner  
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
 
1940
2004-07-15  Werner Lemberg  
1941
 
1942
	* docs/CHANGES: Updated.
1943
 
1944
	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler
1945
	warning.
1946
 
1947
2004-07-15  David Turner  
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
 
1955
2004-07-13  Werner Lemberg  
1956
 
1957
	* src/base/ftstroke.c (ft_stroke_border_reverse): Removed.  Unused.
1958
 
1959
2004-07-12  David Turner  
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
 
1970
2004-07-11  David Turner  
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
 
1985
2004-06-26  Peter Kovar  
1986
 
1987
	* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
1988
 
1989
2004-06-25  Werner Lemberg  
1990
 
1991
	* src/type1/t1afm.c (afm_atoindex): Fix boundary test.  Reported
1992
	by Dirck Blaskey.
1993
 
1994
2004-06-24  David Turner  
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
 
2004
2004-06-23  Werner Lemberg  
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
 
2013
2004-06-23  David Turner  
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
 
2045
2004-06-22  Werner Lemberg  
2046
 
2047
	* src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties,
2048
	pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve
2049
	debugging messages.
2050
 
2051
	* src/pcf/pcfdrivr.c (FT_COMPOMENT): Move up.
2052
	(PCF_Face_Init): Simplify code.
2053
 
2054
	* src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'.
2055
 
2056
	* src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start),
2057
	src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/.
2058
 
2059
	* src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs.
2060
	Set `default_glyph'.
2061
	(BDF_Glyph_Load): Use `default_glyph' for undefined glyph.
2062
 
2063
	* docs/CHANGES: Updated.
2064
 
2065
2004-06-21  Werner Lemberg  
2066
 
2067
	* docs/CHANGES: Updated.
2068
 
2069
2004-06-21  David Turner  
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
 
2077
2004-06-14  Huw D M Davies  
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
 
2083
2004-06-14  Werner Lemberg  
2084
 
2085
	* src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h.
2086
	Reported by Hyvärinen Jyrki Juhani.
2087
 
2088
2004-06-11  Werner Lemberg  
2089
 
2090
	* docs/CHANGES: Updated.
2091
 
2092
2004-06-10  David Turner  
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
 
2102
2004-06-08  David Turner  
2103
 
2104
	* include/freetype/freetype.h (FT_GlyphMetrics): Move `lsb_delta'
2105
	and `rsb_delta' elements to...
2106
	(FT_GlyphSlotRec): Here to retain binary compatibility with older
2107
	FreeType versions.
2108
	Update all users.
2109
 
2110
	* src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning.
2111
 
2112
	* src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization
2113
	of slot->metrics.width and slot->metrics.height when loading a
2114
	Windows FNT glyph.  Thanks to Huw Davies.
2115
 
2116
	* include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change
2117
	return type to FT_Bool.
2118
 
2119
	* src/cache/ftbasic.c (ftc_basic_family_compare): Change return
2120
	type to FT_Bool.
2121
 
2122
	* src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make
2123
	the former call the latter, not vice versa.
2124
	(FTC_Cache_Done, ftc_cache_done): Ditto.
2125
 
2126
	* src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make
2127
	the former call the latter, not vice versa.
2128
	(FTC_GCache_Init, ftc_gcache_init): Ditto.
2129
	(FTC_GCache_Done, ftc_gcache_done): Ditto.
2130
 
2131
	* src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the
2132
	former call the latter, not vice versa.
2133
	(FTC_INode_Weight, ftc_inode_weight): Ditto.
2134
 
2135
	* src/cache/ftcmanag.c (ftc_size_node_compare,
2136
	ftc_size_node_compare_faceid, ftc_face_node_compare): Change return
2137
	type to FT_Bool.
2138
 
2139
	* src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the
2140
	former call the latter, not vice versa.
2141
	(FTC_SNode_Weight, ftc_snode_weight): Ditto.
2142
	(FTC_SNode_Compare, ftc_snode_compare): Ditto.
2143
 
2144
	* src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache
2145
	sub-system.
2146
 
2147
2004-06-05  Werner Lemberg  
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
 
2152
2004-06-04  Werner Lemberg  
2153
 
2154
	* docs/CHANGES: Updated.
2155
 
2156
2004-06-04  David Chester  
2157
 
2158
	Improve inter-letter spacing for autohinted glyphs.
2159
 
2160
	* include/freetype/freetype.h (FT_Glyph_Metrics): Add elements
2161
	`lsb_delta' and `rsb_delta'.
2162
 
2163
	* src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and
2164
	`rsb_delta' in slot->metrics and tune side bearings slightly.
2165
 
2166
2004-06-04  David Turner  
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
	 and recompile.
2175
 
2176
	A few more testing is needed before making this the official
2177
	auto-hinting module.
2178
 
2179
2004-06-02  Werner Lemberg  
2180
 
2181
	* src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler
2182
	warnings.
2183
 
2184
2004-06-01  Werner Lemberg  
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
 
2191
2004-05-19  George Williams  
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
 
2203
2004-05-17  Werner Lemberg  
2204
 
2205
	* src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases.
2206
	Reported by Mikey Anbary .
2207
 
2208
2004-05-15  Werner Lemberg  
2209
 
2210
	* src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name.
2211
 
2212
2004-05-15  George Williams  
2213
 
2214
	* src/sfnt/ttload.c (tt_face_load_max_profile): Always set
2215
	face->root.num_glyphs.
2216
 
2217
2004-05-14  Masatake YAMATO  
2218
	    George Williams  
2219
 
2220
	* src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.
2221
 
2222
2004-05-14  Werner Lemberg  
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
 
2268
2004-05-13  Werner Lemberg  
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
 
2288
2004-05-12  Werner Lemberg  
2289
 
2290
	* src/cff/cffgload.h (CFF_Builder): Remove `error'.
2291
	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace
2292
	`Memory_Error' with `Fail' und update all users.
2293
 
2294
2004-05-11  Werner Lemberg  
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
 
2308
2004-05-10  George Williams  
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
 
2314
2004-05-09  George Williams  
2315
 
2316
	* src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix
2317
	error handling.
2318
 
2319
2004-05-07  Werner Lemberg  
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
 
2335
2004-05-06  Masatake YAMATO  
2336
 
2337
	* src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM.
2338
	(*): Rename local variable OffsetToData to offsetToData.
2339
 
2340
2004-05-06  Werner Lemberg  
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
 
2366
2004-05-04  Steve Hartwell  
2367
 
2368
	* src/truetype/ttobjs.c (tt_driver_done): Fix typo.
2369
 
2370
2004-05-04  Werner Lemberg  
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
 
2426
2004-05-03  Steve Hartwell  
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
 
2441
2004-05-02  Werner Lemberg  
2442
 
2443
	* src/sfnt/ttload.c (tt_face_free_names): Check that `table->names'
2444
	is not NULL.  Reported by Gordon Childs .
2445
 
2446
2004-04-29  Werner Lemberg  
2447
 
2448
	* docs/formats.txt: Add more information on PFR format.
2449
 
2450
2004-04-28  Werner Lemberg  
2451
 
2452
	* docs/formats.txt: New file.
2453
	* docs/CHANGES: Updated.
2454
 
2455
2004-04-28  Masatake YAMATO  
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
 
2462
2004-04-27  Masatake YAMATO  
2463
 
2464
	* src/truetype/ttgxvar.h: Use FT_LOCAL instead of FT_LOCAL_DEF
2465
	for function declarations.
2466
 
2467
2004-04-25  George Williams  
2468
 
2469
	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo.
2470
 
2471
2004-04-25  Werner Lemberg  
2472
 
2473
	* src/truetype/Jamfile, docs/CHANGES: Updated.
2474
 
2475
2004-04-24  Werner Lemberg  
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
 
2483
2004-04-24  George Williams  
2484
 
2485
	Add support for Apple's distortable font technology (in GX fonts).
2486
 
2487
	* devel/ftoption.h, include/freetype/config/ftoption.h
2488
	(TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro.
2489
 
2490
	* include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style,
2491
	FT_MM_Var): New structures.
2492
	(FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
2493
	FT_Set_Var_Blend_Coordinates): New function declarations.
2494
 
2495
	* include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func,
2496
	FT_Set_Var_Design_Func): New typedefs.
2497
	Update MultiMasters service.
2498
 
2499
	* include/freetype/internal/tttypes.h
2500
	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H.
2501
	(GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef.
2502
	(TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend'
2503
	and `blend'.
2504
 
2505
	* include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New
2506
	macros.
2507
 
2508
	* include/freetype/internal/fttrace.h: Add `ttgxvar'.
2509
 
2510
	* src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
2511
	FT_Set_Var_Blend_Coordinates): New functions.
2512
 
2513
	* src/sfnt/sfobjs.c (sfnt_load_face)
2514
	[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS
2515
	flag for GX var fonts.
2516
 
2517
	* src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files.
2518
 
2519
	* src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
2520
	ttgxvar.c.
2521
 
2522
	* src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
2523
	FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h.
2524
	(tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
2525
	New service.
2526
	(tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
2527
 
2528
	* src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
2529
	ttgxvar.h.
2530
	(TT_Process_Simple_Glyph, load_truetype_glyph)
2531
	[TT_CONFIG_OPTION_GX_VAR_SUPPORT] :Support GX var fonts.
2532
 
2533
	* src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
2534
	ttgxvar.h.
2535
	(tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
2536
	tt_done_blend.
2537
 
2538
	* src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
2539
	ttgxvar.h.
2540
	(tt_face_load_cvt)  [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
2541
	tt_face_vary_cvt.
2542
 
2543
	* src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c.
2544
 
2545
	* src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var
2546
	and T1_Set_Var_Design.
2547
 
2548
	* src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros.
2549
	(T1_Get_MM_Var, T1_Set_Var_Design): New functions.
2550
 
2551
	* src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New
2552
	function declarations.
2553
 
2554
2004-04-23  Werner Lemberg  
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
 
2575
2004-04-21  Werner Lemberg  
2576
 
2577
	* src/cff/cffparse.c (cff_parser_run), src/psaux/psobjs.c
2578
	(ps_parser_load_field): Use FT_CHAR_BIT.
2579
 
2580
2004-04-21  David Turner  
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
 
2603
2004-04-20  Werner Lemberg  
2604
 
2605
	* src/psaux/psobjs.c (T1Radix): Renamed to...
2606
	(ps_radix): This.
2607
	Update current cursor position.
2608
 
2609
	* docs/CHANGES: Updated.
2610
 
2611
2004-04-18  Werner Lemberg  
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
 
2617
2004-04-17  Chisato Yamauchi  
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
 
2629
2004-04-16  Werner Lemberg  
2630
 
2631
	* builds/unix/freetype-config.in (usage): Fix and improve usage
2632
	information.
2633
 
2634
2004-04-15  Werner Lemberg  
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
 
2647
2004-04-15  bytesoftware  
2648
 
2649
	* include/freetype/config/ftconfig.h, src/base/ftstream.c
2650
	(FT_Stream_ReadFields): More fixes using FT_CHAR_BIT.
2651
 
2652
2004-04-14  Werner Lemberg  
2653
 
2654
	* include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro.
2655
 
2656
2004-04-14  Alex Strelnikov  
2657
 
2658
	* src/cache/ftcsbits.c (ftc_snode_load): Initialize `*asize' in case
2659
	of error.
2660
 
2661
2004-04-14  Werner Lemberg  
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
 
2673
2004-04-13  Werner Lemberg  
2674
 
2675
	* include/freetype/config/ftconfig.h: Use CHAR_BIT to define
2676
	size of FT_SIZEOF_xxx.
2677
 
2678
2004-04-12  Chisato Yamauchi  
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
 
2694
2004-04-12  Werner Lemberg  
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
 
2706
2004-04-11  Werner Lemberg  
2707
 
2708
	* src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h.
2709
 
2710
2004-04-10  Werner Lemberg  
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
 
2717
2004-04-02  Werner Lemberg  
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
 
2725
2004-04-01  Werner Lemberg  
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
 
2738
2004-03-31  Werner Lemberg  
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
 
2747
2004-03-30  Werner Lemberg  
2748
 
2749
	* src/sfnt/ttload.c (tt_face_load_sfnt_header): Fix change from
2750
	2004-03-19.
2751
 
2752
2004-03-27  Werner Lemberg  
2753
 
2754
	* src/base/descrip.mms (OBJS): Add ftbbox.obj.
2755
 
2756
2004-03-26  George Williams  
2757
 
2758
	Add vertical phantom points.
2759
 
2760
	* include/freetype/internal/tttypes.h (TT_LoaderRec): Add
2761
	`top_bearing', `vadvance', `pp3', and `pp4'.
2762
 
2763
	* src/autofit/afloader.c (af_loader_load_g): Handle two more points.
2764
 
2765
	* src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
2766
	* src/truetype/ttgload.c (Get_VMetrics): New function.
2767
	(TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
2768
	points.
2769
	(load_truetype_glyph): Use Get_VMetrics.
2770
	Handle two more points.
2771
	(compute_glyph_metrics): Thanks to vertical phantom points we now
2772
	can always compute `advance_height' and `top_bearing'.
2773
	* src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
2774
	points.
2775
 
2776
 
2777
	* src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
2778
	`news'.
2779
 
2780
2004-03-21  Werner Lemberg  
2781
 
2782
	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing.
2783
 
2784
2004-03-20  Steve Hartwell  
2785
 
2786
	* src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Handle a NULL
2787
	value for `selection' as `select all'.
2788
 
2789
2004-03-19  Steve Hartwell  
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
 
2799
2004-03-04  Werner Lemberg  
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
 
2815
2004-03-04  Albert Chin  
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
 
2835
2004-03-03  Werner Lemberg  
2836
 
2837
	* src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code.
2838
 
2839
2004-03-02  Werner Lemberg  
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
 
2860
2004-03-01  Werner Lemberg  
2861
 
2862
	* src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use
2863
	FT_RoundFix but FT_PIX_ROUND.
2864
	(psh_blues_snap_stem): Don't use blue_shift but blue_threshold.
2865
 
2866
	* src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro.
2867
	(psh_glyph_find_string_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
2868
	(psh_glyph_find_blue_points): New function.  Needed for fonts like
2869
	p052003l.pfb (URW Palladio L Roman) which have flex curves at the
2870
	base line within blue zones, but the flex curves aren't covered by
2871
	hints.
2872
	(ps_hints_apply): Use psh_glyph_find_blue_points.
2873
 
2874
2004-02-27  Garrick Meeker  
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
 
2886
2004-02-26  Werner Lemberg  
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
 
2892
2004-02-25  Werner Lemberg  
2893
 
2894
	* docs/CHANGES: Updated.
2895
 
2896
2004-02-25  Garrick Meeker  
2897
	    Steve Hartwell  
2898
 
2899
	Improve MacOS fond support.  Provide a new API
2900
	`FT_New_Face_From_FSSpec' similar to `FT_New_Face'.
2901
 
2902
	* src/base/ftmac.c [__MWERKS__]: Include FSp_fpopen.h.
2903
	STREAM_FILE [__MWERKS__]: New macro.
2904
	(ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions.
2905
	(file_spec_from_path) [__MWERKS__]: Updated #if statement.
2906
	(get_file_type, make_lwfn_spec): Use `const' for argument.
2907
	(is_dfont) [TARGET_API_MAC_CARBON]: Removed.
2908
	(count_face_sfnt, count_faces): New functions.
2909
	(parse_fond): Do some range checking.
2910
	(read_lwfn): Change type of second argument.
2911
	No longer call FSpOpenResFile.
2912
	(OpenFileAsResource): New function.
2913
	(FT_New_Face_From_LWFN): Use `const' for second argument.
2914
	Use OpenFileAsResource.
2915
	(FT_New_Face_From_Suitcase): Change type of second argument.
2916
	No longer call FSpOpenResFile.
2917
	Loop over all resource indices.
2918
	(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed.
2919
	(FT_GetFile_From_Mac_Name): Use `const' for first argument.
2920
	(ResourceForkSize): Removed.
2921
	(FT_New_Face): Updated to use new functions.
2922
	(FT_New_Face_From_FSSpec): New function.
2923
 
2924
	* include/freetype/ftmac.h: Updated.
2925
 
2926
2004-02-24  Malcolm Taylor  
2927
 
2928
	* src/autohint/ahhint.c (ah_hinter_load) :
2929
	Handle case where outline->num_vedges is zero while computing hinted
2930
	metrics.
2931
 
2932
2004-02-24  Gordon Childs  
2933
 
2934
	* src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
2935
	for `count'.
2936
 
2937
2004-02-24  Werner Lemberg  
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
 
2954
2004-02-24  Masatake YAMATO  
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
 
2994
2004-02-23  Werner Lemberg  
2995
 
2996
	* docs/CHANGES: Updated.
2997
 
2998
	* include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H.
2999
 
3000
2004-02-23  Masatake YAMATO  
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
 
3010
2004-02-23  David Turner  
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
 
3017
2004-02-21  Werner Lemberg  
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
 
3026
2004-02-20  Werner Lemberg  
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
 
3035
2004-02-19  Werner Lemberg  
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
 
3040
2004-02-18  Werner Lemberg  
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
 
3050
2004-02-17  Werner Lemberg  
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
 
3088
2004-02-17  Masatake YAMATO  
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
 
3095
2004-02-15  Werner Lemberg  
3096
 
3097
	* src/base/ftobjs.c (FT_Set_Char_Size): Fix typo.
3098
 
3099
2004-02-14  Masatake YAMATO  
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
 
3108
2004-02-14  Werner Lemberg  
3109
 
3110
	* src/type1/t1load.c (parse_dict): Initialize `start_binary'.
3111
 
3112
2004-02-13  Robert Etheridge  
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
 
3118
2004-02-12  Werner Lemberg  
3119
 
3120
	* src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if
3121
	ppem values don't change.  Suggested by Graham Asher.
3122
 
3123
2004-02-11  Werner Lemberg  
3124
 
3125
	* src/cid/cidload.c (cid_face_open): Always allocate
3126
	face->cid_stream so that we can deallocate it safely.
3127
 
3128
2004-02-10  Werner Lemberg  
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
 
3166
2004-02-09  Werner Lemberg  
3167
 
3168
	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
3169
	: Preserve glyph width before calling
3170
	cff_operator_seac.
3171
 
3172
2004-02-09  Martin Muskens  
3173
 
3174
	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special
3175
	first argument for `hintmask' and `cntrmask' operators also.
3176
 
3177
2004-02-08  Werner Lemberg  
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
 
3190
2004-02-07  Keith Packard  
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
 
3198
2004-02-07  Werner Lemberg  
3199
 
3200
	* builds/win32/visualc/index.html,
3201
	builds/win32/visualc/freetype.dsp,
3202
	builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated.
3203
 
3204
2004-02-07  Vitaliy Pasternak  
3205
 
3206
	* builds/win32/visualc/freetype.sln,
3207
	builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003.
3208
 
3209
2004-02-03  Werner Lemberg  
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
 
3215
2004-02-02  Werner Lemberg  
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
 
3223
2004-02-01  Werner Lemberg  
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
 
3230
2004-02-01  David Turner  
3231
 
3232
	* src/sfnt/Jamfile: Removing `ttcmap' from the list of sources.
3233
 
3234
	* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP)
3235
	: Provide macro version which doesn't use inline code.
3236
	* include/freetype/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP)
3237
	: 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) : 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
 
3257
2004-01-31  Werner Lemberg  
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) : Fix magnitude
3263
	of accent offset.
3264
	Don't hint glyphs twice if seac is emulated.
3265
	: Assign correct point tags.
3266
	* docs/CHANGES: Updated.
3267
 
3268
2004-01-30  Werner Lemberg  
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
 
3283
2004-01-29  Antoine Leca  
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
 
3289
2004-01-22  Garrick Meeker  
3290
 
3291
	* src/cff/cffload.c (cff_subfont_load): Initialize `dict'.
3292
 
3293
2004-01-22  Werner Lemberg  
3294
 
3295
	Add support for the hexadecimal representation of binary data
3296
	started with `StartData' in CID-keyed Type 1 fonts.
3297
 
3298
	* include/freetype/internal/t1types.h (CID_FaceRec): Add new
3299
	members `binary_data' and `cid_stream'.
3300
 
3301
	* src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'.
3302
	(cid_hex_to_binary): New auxiliary function.
3303
	(cid_face_open): Add new argument `face_index' to return quickly
3304
	if less than zero.  Updated all callers.
3305
	Call `cid_hex_to_binary', then open and assign memory stream to
3306
	`face->cid_stream' if `parser->binary_length' is non-zero.
3307
	* src/cid/cidload.h: Updated.
3308
 
3309
	* src/cid/cidobjs.c (cid_face_done): Free `binary_data' and
3310
	`cid_stream'.
3311
 
3312
	* src/cid/cidparse.c (cid_parser_new): Check arguments to
3313
	`StartData' and set parser->binary_length accordingly.
3314
	* src/cid/cidparse.h (CID_Parser): New member `binary_length'.
3315
 
3316
	* src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'.
3317
 
3318
	* docs/CHANGES: Updated.
3319
 
3320
2004-01-21  Werner Lemberg  
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
 
3327
2004-01-20  Masatake YAMATO  
3328
 
3329
	* include/freetype/ftcache.h: Delete duplicated definition of
3330
	FTC_FaceID.
3331
 
3332
	* src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
3333
	Info service function if the cmap comes from sfnt.  Return 0 if the
3334
	cmap is sythesized in cff module.
3335
 
3336
2004-01-20  David Turner  
3337
 
3338
	* src/cache/ftcmanag.c (ftc_size_node_compare): Call
3339
	FT_Activate_Size.
3340
 
3341
2004-01-20  Werner Lemberg  
3342
 
3343
	* src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one
3344
	CR, LF, or CR/LF after `eexec'.
3345
 
3346
2004-01-18  David Turner  
3347
 
3348
	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Remove compiler
3349
	warning.
3350
 
3351
	* src/tools/docmaker/*: Updating beautifier tool.
3352
 
3353
2004-01-15  David Turner  
3354
 
3355
	* src/base/ftoutln.c (ft_orientation_extremum_compute): Fix
3356
	infinite loop bug.
3357
 
3358
	* include/freetype/ftstroke.h: Include FT_GLYPH_H.
3359
	(FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
3360
	declarations.
3361
 
3362
	* src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H.
3363
	(FT_Outline_GetOutsideBorder): Inverse result.
3364
	(FT_Stroker_Rewind, FT_Glyph_Stroke, FT_GlyphStrokeBorder): New
3365
	functions.
3366
	(FT_Stroker_EndSubPath): Close path if needed.
3367
	(FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind.
3368
 
3369
	* include/freetype/cache/ftcmanag.h (FTC_ScalerRec,
3370
	FTC_Manager_LookupSize): Moved to...
3371
	* include/freetype/ftcache.h (FTC_ScalerRec,
3372
	FTC_Manager_LookupSize): Here.
3373
 
3374
	* src/tools/docmaker/docbeauty.py: New file to beautify the
3375
	documentation comments (e.g., to convert them to single block border
3376
	mode).
3377
	* src/tools/docmaker/docmaker.py (file_exists, make_file_list):
3378
	Moved to...
3379
	* src/tools/docmaker/utils.py (file_exists, make_file_list): Here.
3380
 
3381
2004-01-14  David Turner  
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
 
3387
2004-01-14  Werner Lemberg  
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
 
3393
2004-01-13  Graham Asher  
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
 
3398
2004-01-10  Masatake YAMATO  
3399
 
3400
	Make `FT_Get_CMap_Language_ID' work with CFF.  Bug reported by
3401
	Steve Hartwell .
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 .
3410
 
3411
2004-01-03  Masatake YAMATO  
3412
 
3413
	* src/base/ftobjs.c (destroy_charmaps): New function.
3414
	(destroy_face, open_face): Use `destroy_charmaps'.
3415
 
3416
2004-01-01  Werner Lemberg  
3417
 
3418
	* docs/CHANGES: Updated.
3419
 
3420
2004-01-01  Michael Jansson  
3421
 
3422
	* src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of
3423
	size->metrics.descender.
3424
 
3425
2003-12-31  Wolfgang Domröse  
3426
 
3427
	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
3428
	[FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4.
3429
	: Change type of dx and dy to FT_Pos and remove
3430
	cast for accessing arguments.
3431
 
3432
2003-12-31  Werner Lemberg  
3433
 
3434
	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous
3435
	change.  It's not necessary.
3436
 
3437
2003-12-29  Smith Charles  
3438
 
3439
	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated
3440
	flags set' correctly.
3441
 
3442
2003-12-29  Werner Lemberg  
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
	 [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for
3448
	tracing output.
3449
 
3450
2003-12-26  Werner Lemberg  
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
 
3461
2003-12-25  Werner Lemberg  
3462
 
3463
	* src/base/fttrigon.c, src/base/ftgloadr.c: Inlude
3464
	FT_INTERNAL_OBJECTS_H.
3465
 
3466
	* src/base/ftstroke.c (FT_Outline_GetInsideBorder,
3467
	FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with
3468
	C++ compilers.
3469
 
3470
	* src/cache/ftcmru.c, include/freetype/cache/ftcmru.h:
3471
	s/select/selection/ to avoid compiler warning.
3472
	* src/cff/cffload.h: s/select/ftselect/ to avoid potential
3473
	compiler warning.
3474
 
3475
2003-12-24  Werner Lemberg  
3476
 
3477
	* src/cache/ftcsbits.c (FTC_SNode_Weight):
3478
	s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/.
3479
 
3480
2003-12-24  David Turner  
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
 
3488
2003-12-23  Werner Lemberg  
3489
 
3490
	* src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle
3491
	CID-keyed fonts.
3492
 
3493
2003-12-23  David Turner  
3494
 
3495
	* include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND,
3496
	FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_CEIL): New macros.  They
3497
	are used to avoid compiler warnings with very pedantic compilers.
3498
	Note that `(x) & -64' causes a warning if (x) is not signed.  Use
3499
	`(x) & ~63' instead!
3500
	Updated all related code.
3501
 
3502
	Add support for extraction of `inside' and `outside' borders.
3503
 
3504
	* src/base/ftstroke.c (FT_StrokerBorder): New enumeration.
3505
	(FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder,
3506
	FT_Stroker_GetBorderCounts, FT_Stroker_ExportBorder): New functions.
3507
	(FT_StrokeBorderRec): New boolean member `valid'.
3508
	(ft_stroke_border_get_counts): Updated.
3509
	* include/freetype/ftstroke.h: Updated.
3510
 
3511
2003-12-22  Werner Lemberg  
3512
 
3513
	* include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions
3514
	to describe the `charset' field in FT_WinFNT_HeaderRec.
3515
	* src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to
3516
	FT_ENCODING_NONE except for FT_WinFNT_ID_MAC.
3517
 
3518
	* include/freetype/freetype.h (FT_Encoding): Improve comment,
3519
	based on work by Detlef Würkner .
3520
 
3521
	* docs/CHANGES: Updated.
3522
 
3523
2003-12-22  David Turner  
3524
 
3525
	* include/freetype/ftcache.h,
3526
	include/freetype/cache/ftcmanag.h,
3527
	include/freetype/cache/ftccache.h,
3528
	include/freetype/cache/ftcmanag.h,
3529
	include/freetype/cache/ftcmru.h (added),
3530
	include/freetype/cache/ftlru.h (removed),
3531
	include/freetype/cache/ftcsbits.h,
3532
	include/freetype/cache/ftcimage.h,
3533
	include/freetype/cache/ftcglyph.h,
3534
	src/cache/ftcmru.c,
3535
	src/cache/ftcmanag.c,
3536
	src/cache/ftccache.c,
3537
	src/cache/ftcglyph.c,
3538
	src/cache/ftcimage.c,
3539
	src/cache/ftcsbits.c,
3540
	src/cache/ftccmap.c,
3541
	src/cache/ftcbasic.c (added),
3542
	src/cache/ftclru.c (removed):
3543
 
3544
	  *Complete* rewrite of the cache sub-system to `solve' the
3545
	  following points:
3546
 
3547
	    - all public APIs have been moved to FT_CACHE_H, everything
3548
	      under `include/freetype/cache' is only needed by client
3549
	      applications that want to implement their own caches
3550
 
3551
	    - a new function named FTC_Manager_RemoveFaceID to deal
3552
	      with the uninstallation of FaceIDs
3553
 
3554
	    - the image and sbit cache are now abstract classes, that
3555
	      can be extended much more easily by client applications
3556
 
3557
	    - better performance in certain areas.  Further optimizations
3558
	      to come shortly anyway...
3559
 
3560
	    - the FTC_CMapCache_Lookup function has changed its signature,
3561
	      charmaps can now only be retrieved by index
3562
 
3563
	    - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace
3564
	      FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in
3565
	      private header for the moment)
3566
 
3567
2003-12-21  Werner Lemberg  
3568
 
3569
	* src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword
3570
	is encountered.
3571
 
3572
2003-12-19  Werner Lemberg  
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
 
3582
2003-12-18  Werner Lemberg  
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
 
3587
2003-12-18  Werner Lemberg  
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
 
3606
2003-12-17  Werner Lemberg  
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
 
3614
2003-12-17  Masatake YAMATO  
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
 
3639
2003-12-16  Werner Lemberg  
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
 
3660
2003-12-15  Werner Lemberg  
3661
 
3662
	* docs/CHANGES: Updated.
3663
 
3664
2003-12-15  Wolfgang Domröse  
3665
 
3666
	* builds/atari/*: New directory for building FreeType 2 on Atari
3667
	with the PureC compiler.
3668
 
3669
2003-12-12  Wolfgang Domröse  
3670
 
3671
	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add
3672
	cast.
3673
	* src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return
3674
	value is either 0 or 1.
3675
 
3676
2003-12-12  Werner Lemberg  
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
 
3692
2003-12-11  Werner Lemberg  
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
 
3698
2003-12-10  Werner Lemberg  
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
 
3721
2003-12-10  Detlef Würkner  
3722
 
3723
	* src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone
3724
	of the similar BDF function).
3725
	(pcf_service_bdf): Use it.
3726
 
3727
2003-12-09  Werner Lemberg  
3728
 
3729
	* src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES
3730
	only if a `post' table is present.
3731
 
3732
2003-12-09  George Williams  
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
 
3738
2003-12-08  Werner Lemberg  
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
 
3753
2003-12-08  Wolfgang Domröse  
3754
 
3755
	* src/autohint/ahhint.c (ah_hinter_hint_edges,
3756
	ah_hinter_align_strong_points): Add some casts.
3757
 
3758
	* src/base/ftoutln.c (FT_OrientationExtremumRec): Change type
3759
	of `pos' to FT_Long.
3760
 
3761
	* src/base/ftobjs.c (Mac_Read_POST_Resource,
3762
	Mac_Read_sfnt_Resource): Change type of `len' to FT_Long.
3763
 
3764
	* src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
3765
 
3766
2003-12-07  Werner Lemberg  
3767
 
3768
	* docs/raster.txt: New file, taken from FreeType 1 and completely
3769
	revised.
3770
 
3771
2003-12-04  Masatake YAMATO  
3772
 
3773
	* src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for
3774
	t1_interface.  t1_interface is used.
3775
 
3776
2003-11-27  David Turner  
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
 
3782
2003-11-25  Werner Lemberg  
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
 
3788
2003-11-23  Werner Lemberg  
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
 
3801
2003-11-22  Rogier van Dalen  
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
 
3820
2003-11-22  Werner Lemberg  
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
 
3832
2003-11-22  David Turner  
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
 
3840
2003-11-13  John A. Boyd Jr.  
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
 
3846
2003-11-11  Werner Lemberg  
3847
 
3848
	* docs/CHANGES: Updated.
3849
 
3850
2003-11-11  John A. Boyd Jr.  
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
 
3863
2003-11-07  Werner Lemberg  
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
 
3916
2003-11-07  David Turner  
3917
 
3918
 
3919
	* Version 2.1.6 released.
3920
	=========================
3921
 
3922
 
3923
	* install: Removed.  Obsolete.
3924
 
3925
2003-11-04  Werner Lemberg  
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
 
3933
2003-11-03  Werner Lemberg  
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
 
3938
2003-11-02  Patrick Welche  
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
 
3944
2003-11-02  Werner Lemberg  
3945
 
3946
	* include/freetype/cache/ftcglyph.h: Don't include stddef.h.
3947
 
3948
	* include/freetype/freetype.h: Fix check for ft2build.h.
3949
 
3950
2003-11-01  Werner Lemberg  
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
 
3958
2003-10-31  Detlef Würkner  
3959
 
3960
	* src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names):
3961
	Fix parameter order in calls to FT_FACE_FIND_SERVICE.
3962
 
3963
2003-10-31  Werner Lemberg  
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
 
3970
2003-10-29  David Turner  
3971
 
3972
	* include/freetype/internal/bdftypes.h: Removed.  Obsolete.
3973
	* src/base/ftbdf.c: Updated.
3974
 
3975
	* include/freetype/internal/cfftypes.h: Moved to...
3976
	* src/cff/cfftypes.h: This place since no other module needs to
3977
	know about those types.
3978
 
3979
	* include/freetype/internal/t42types.h: Moved to...
3980
	* src/type42/t42types.h: This place since no other module needs to
3981
	know about those types.
3982
 
3983
	* include/freetype/internal/services/svbdf.h: Include FT_BDF_H.
3984
 
3985
	* include/freetype/internal/services/svpsname.h: Renamed to...
3986
	* include/freetype/internal/services/svpscmap.h: This.
3987
	Updated `FT_Service_PsNames' -> `FT_Service_PsCMaps' and
3988
	`POSTSCRIPT_NAMES' -> `POSTSCRIPT_CMAPS' everywhere.
3989
 
3990
	* include/freetype/internal/services/svpsinfo.h: New file, providing
3991
	PostScript info service.
3992
 
3993
	* include/freetype/internal/ftserv.h (FT_SERVICE_POSTSCRIPT_CMAPS_H,
3994
	FT_SERVICE_POSTSCRIPT_INFO_H): New macros for svpscmap.h and
3995
	svpsinfo.h.
3996
	* include/freetype/internal/internal.h (FT_INTERNAL_TYPE42_TYPES_H,
3997
	FT_INTERNAL_CFF_TYPES_H, FT_INTERNAL_BDF_TYPES_H): Removed.
3998
 
3999
	* src/base/fttype1.c: Don't include FT_INTERNAL_TYPE1_TYPES_H and
4000
	FT_INTERNAL_TYPE42_TYPES_H but FT_INTERNAL_SERVICE_H and
4001
	FT_SERVICE_POSTSCRIPT_INFO_H.
4002
	(FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): Use new
4003
	POSTSCRIPT_INFO service.
4004
 
4005
	* src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
4006
	(cff_ps_has_glyph_names): New function.
4007
	(cff_service_ps_info): New service.
4008
	(cff_services): Updated.
4009
 
4010
	* src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't
4011
	include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly.
4012
 
4013
	* src/cif/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
4014
	(cid_ps_get_font_info): New function.
4015
	(cid_service_ps_info): New service.
4016
	(cid_services): Updated.
4017
 
4018
	* src/type1/t1driver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
4019
	(t1_ps_get_font_info, t1_ps_has_glyph_names): New functions.
4020
	(t1_service_ps_info): New service.
4021
	(t1_services): Updated.
4022
 
4023
	* src/type42/t42drivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
4024
	(t42_ps_get_font_info, t42_ps_has_glyph_names): New functions.
4025
	(t42_service_ps_info): New service.
4026
 
4027
	* src/type42/t42objs.h: Don't include FT_INTERNAL_TYPE42_TYPES_H
4028
	but t42types.h directly.
4029
 
4030
	* src/psnames/psmodule.c (psnames_interface, psnames_services):
4031
	Renamed to...
4032
	(pscmaps_interface, pscmaps_services): This.
4033
	Updated all users.
4034
 
4035
 
4036
	* src/gzip/infblock.c (inflate_blocks): Remove compiler warning.
4037
 
4038
2003-10-22  Werner Lemberg  
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
 
4050
2003-10-21  Josselin Mouette  
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
 
4058
2003-10-20  Graham Asher  
4059
 
4060
	* src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'.
4061
 
4062
2003-10-19  Werner Lemberg  
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
 
4073
2003-10-16  Werner Lemberg  
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
 
4116
2003-10-15  Graham Asher  
4117
 
4118
	* src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c
4119
	(fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty,
4120
	_num_bdf_properties), src/gzip/infutil.c (inflate_mask),
4121
	src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td),
4122
	src/gzip/inftrees.h (inflate_trees_fixed), srf/gzip/inftrees.c
4123
	(inflate_trees_fixed): Decorate with more `const' to avoid
4124
	writable global variables which are disallowed on ARM.
4125
 
4126
2003-10-08  Werner Lemberg  
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
 
4136
2003-10-07  Werner Lemberg  
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
 
4143
2003-10-06  Werner Lemberg  
4144
 
4145
	Heavy modification of the PS parser to handle comments and strings
4146
	correctly.  This doesn't slow down the loading of PS fonts
4147
	significantly since charstrings aren't affected.
4148
 
4149
	* include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to...
4150
	(ft_isxdigit): This.  Updated all callers.
4151
	(ft_isdigit): New alias to `isdigit'.
4152
 
4153
	* include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed
4154
	`skip_alpha' to `skip_PS_token'.
4155
	Add parameter to `to_bytes' and change some argument types.
4156
 
4157
	* src/psaux/psauxmod.c (ps_parser_funcs): Updated.
4158
	* src/psaux/psobjs.c (ft_char_table): New array to map character
4159
	codes (ASCII and EBCDIC) of digits to numbers.
4160
	(OP): New auxiliary macro holding either `>=' or `<' depending on
4161
	the character encoding.
4162
	(skip_comment): New function.
4163
	(skip_spaces): Use it.
4164
	(skip_alpha): Removed.
4165
	(skip_literal_string, skip_string): New functions.
4166
	(ps_parser_skip_PS_token): New function.  This is a better
4167
	replacement of...
4168
	(ps_parser_skip_alpha): Removed.
4169
	(ps_parser_to_token, ps_parser_to_token_array): Updated.
4170
	(T1Radix): Rewritten, using `ft_char_table'.
4171
	(t1_toint): Renamed to...
4172
	(ps_toint): This.  Update all callers.
4173
	Use `ft_char_table'.
4174
	(ps_tobytes): Add parameter to handle delimiters and change some
4175
	argument types.
4176
	Use `ft_char_table'.
4177
	(t1_tofixed): Renamed to...
4178
	(ps_tofixed): This.  Update all callers.
4179
	Use `ft_char_table'.
4180
	(t1_tocoordarray): Renamed and updated to...
4181
	(ps_tocoordarray): This.  Update all callers.
4182
	(t1_tofixedarray): Renamed and updated to...
4183
	(ps_tofixedarray): This.  Update all callers.
4184
	(t1_tobool): Renamed to...
4185
	(ps_tobool): This.  Update all callers.
4186
	(ps_parser_load_field): Updated.
4187
	(ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS'
4188
	everywhere.
4189
	(ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array,
4190
	ps_parser_to_fixed_array): Skip spaces.  Updated.
4191
	(ps_parser_to_bytes): Add parameter to handle delimiters and change
4192
	some argument types.  Updated.
4193
	* src/psaux/psobjs.h: Updated.
4194
 
4195
	* src/cid/cidload.c (cid_parse_dict): Updated.
4196
	* src/cid/cidparse.c (cid_parser_new): Check whether the `StartData'
4197
	token was really found.
4198
	* src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed
4199
	to...
4200
	(cid_parser_skip_PS_token): This.
4201
 
4202
	* src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean
4203
	fields.
4204
	(T1_Skip_Alpha): Replaced with...
4205
	(T1_Skip_PS_Token): This new macro.
4206
	* src/type1/t1parse.c (hexa_value): Removed.
4207
	(T1_Get_Private_Dict): Use `ft_isxdigit' and
4208
	`psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal
4209
	encoding.
4210
	After decrypting, replace the four random bytes at the beginning
4211
	with whitespace.
4212
	* src/type1/t1load.c (t1_allocate_blend): Use proper error values.
4213
	(parser_blend_design_positions, parse_blend_design_map,
4214
	parse_weight_vector): Updated.
4215
	(is_space): Handle `\f' also.
4216
	(is_name_char): Removed.
4217
	(read_binary_data): Updated.
4218
	(parse_encoding): Use `ft_isdigit'.
4219
	Updated.
4220
	(parse_subrs): Updated.
4221
	(TABLE_EXTEND): New macro.
4222
	(parse_charstrings): Updated.
4223
	Provide a workaround for buggy fonts which have more entries in the
4224
	/CharStrings dictionary then expected; the function now adds some
4225
	slots and skips entries which still exceed the new limit.
4226
	(parse_dict): Updated.
4227
	Terminate on the token `closefile'.
4228
 
4229
	* src/type42/t42parse.c (T1_Skip_Alpha): Replaced with...
4230
	(T1_Skip_PS_Token): This new macro.  Updated all callers.
4231
	(t42_parse_encoding): Use `ft_isdigit'.
4232
 
4233
 
4234
	* src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_OK if
4235
	success.
4236
 
4237
2003-10-05  Werner Lemberg  
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
 
4243
2003-10-04  Werner Lemberg  
4244
 
4245
	* src/base/ftoutln.c (FT_OrientationExtremumRec,
4246
	FT_Outline_Get_Orientation): Trivial typo fixes to make it compile.
4247
 
4248
2003-10-02  Markus F.X.J. Oberhumer  
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
 
4255
2003-10-01  David Turner  
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
 
4272
2003-09-30  Werner Lemberg  
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
 
4285
2003-09-29  Werner Lemberg  
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
 
4292
2003-09-29  David Turner  
4293
 
4294
	Added new service to handle glyph name dictionaries, replacing the
4295
	old internal header named `psnames.h' by `services/svpsname.h'.
4296
	Note that this is different from `services/svpostnm.h' which only
4297
	handles the retrieval of PostScript font names for a given face.
4298
	(Should we merge these two services into a single header?)
4299
 
4300
	* include/freetype/internal/psnames.h: Removed.  Most of its
4301
	contents is moved to...
4302
	* include/freetype/internal/services/svpsname.h: New file.
4303
 
4304
	* include/freetype/internal/services/svpostnm.h
4305
	(FT_SERVICE_ID_POSTSCRIPT_NAME): Replaced with...
4306
	(FT_SERVICE_ID_POSTSCRIPT_FONT_NAME): New macro.
4307
	(PsName): Service named changed to...
4308
	(PsFontName): This.
4309
	Updated `FT_Service_PsName' -> `FT_Service_PsFontName' and
4310
	`POSTSCRIPT_NAME' -> `POSTSCRIPT_FONT_NAME' everywhere.
4311
 
4312
	* include/freetype/internal/internal.h
4313
	(FT_INTERNAL_POSTSCRIPT_NAMES_H): Removed.
4314
	* include/freetype/internal/psaux.h: Include
4315
	FT_SERVICE_POSTSCRIPT_NAMES_H.
4316
	(T1_DecoderRec): Updated type of `psnames'.
4317
	* include/freetype/internal/t1types.h: Don't include
4318
	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
4319
	Include FT_INTERNAL_OBJECTS_H.
4320
	* include/freetype/internal/t42types.h: Don't include
4321
	FT_INTERNAL_POSTSCRIPT_NAMES_H.
4322
	* include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
4323
 
4324
	* include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): Changed
4325
	order of parameters.  All callers updated.
4326
	(FT_FACE_FIND_GLOBAL_SERVICE): New macro to look up a service
4327
	globally, checking all modules.
4328
	(FT_ServiceCacheRec): Updated.
4329
	(FT_SERVICE_POSTSCRIPT_NAMES_H): New macro for accessing
4330
	`svpsname.h'.
4331
 
4332
	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c
4333
	(ft_module_get_service): New function.
4334
 
4335
	* src/cff/cffdrivr.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
4336
	but FT_SERVICE_POSTSCRIPT_NAMES_H.
4337
	(cff_get_glyph_name, cff_get_name_index): Use new POSTSCRIPT_NAMES
4338
	service.
4339
	* src/cff/cffcmap.c (cff_cmap_unicode_init): Updated.
4340
	* src/cff/cffload.c, src/cff/cffload.h:  Don't include
4341
	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
4342
	(cff_index_get_sid_string): Updated.
4343
	* src/cff/cffobjs.c:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
4344
	but FT_SERVICE_POSTSCRIPT_NAMES_H.
4345
	(cff_face_init): Use new POSTSCRIPT_NAMES service.
4346
	* src/cff/cffobjs.h:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
4347
	but FT_SERVICE_POSTSCRIPT_NAMES_H.
4348
 
4349
	* src/cid/cidobjs.c:  Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
4350
	but FT_SERVICE_POSTSCRIPT_NAMES_H.
4351
	(cid_face_init): Use new POSTSCRIPT_NAMES service.
4352
	* src/cid/cidriver.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H.
4353
 
4354
	* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Use
4355
	new POSTSCRIPT_NAMES service.
4356
	* src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode,
4357
	t1_decode_init): Use new POSTSCRIPT_NAMES service.
4358
	* src/psaux/t1cmap.h, src/psaux/t1decode.h: Dont' include
4359
	FT_INTERNAL_POSTSCRIPT_NAMES_H.
4360
 
4361
	* src/psnames/psmodule.c:  Don't include
4362
	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
4363
	(ps_build_unicode_table): Renamed to...
4364
	(ps_unicodes_init): This.
4365
	(ps_lookup_unicode): Renamed to...
4366
	(ps_unicodes_char_index): This.
4367
	(ps_next_unicode): Renamed to...
4368
	(ps_unicodes_char_next): This.
4369
	(psnames_interface): Updated.
4370
	(psnames_services): New services list.
4371
	(psnames_get_service): New function.
4372
	(psnames_module_class): Updated.
4373
 
4374
	* src/sfnt/sfobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
4375
	but FT_SERVICE_POSTSCRIPT_NAMES_H.
4376
	(sfnt_init_face): Use new POSTSCRIPT_NAMES service.
4377
	* src/sfnt/ttpost.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
4378
	but FT_SERVICE_POSTSCRIPT_NAMES_H.
4379
	(tt_face_get_ps_name): Updated.
4380
 
4381
	* src/truetype/ttobjs.c:  Don't include
4382
	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
4383
 
4384
	* src/type1/t1driver.c:  Don't include
4385
	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
4386
	* src/type1/t1objs.c:  Don't include
4387
	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
4388
	(T1_Face_Init): Use new POSTSCRIPT_NAMES service.
4389
 
4390
	* src/type42/t42drivr.c (t42_get_ps_name): Renamed to...
4391
	(t42_get_ps_font_name): This.
4392
	(t42_service_ps_name): Renamed to...
4393
	(t42_service_ps_font_name): This.
4394
	(t42_services): Updated.
4395
	* src/type42/t42objs.c (T42_Face_Init): Use new POSTSCRIPT_NAMES
4396
	service.
4397
	* src/type42/t42objs.h:  Don't include
4398
	FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
4399
 
4400
 
4401
	* src/base/ftglyph.c (FT_Get_Glyph): Don't access `slot' before
4402
	testing its validity.  Reported by Henry Maddocks
4403
	.
4404
 
4405
2003-09-21  Werner Lemberg  
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
 
4413
2003-09-21  David Turner  
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
 
4467
2003-09-19  David Bevan  
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
 
4474
2003-09-16  Werner Lemberg  
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
 
4488
2003-09-15  Werner Lemberg  
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
 
4520
2003-09-11  Werner Lemberg  
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
 
4534
2003-09-11  David Turner  
4535
 
4536
	Introducing the concept of `module services'.  This is the first
4537
	step towards a massive simplification of the engine's internals, in
4538
	order to get rid of various numbers of hacks.
4539
 
4540
	Note that these changes will break source & binary compatibility for
4541
	authors of external font drivers.
4542
 
4543
	* include/freetype/config/ftconfig.h (FT_BEGIN_STMNT, FT_END_STMNT,
4544
	FT_DUMMY_STMNT): New macros.
4545
 
4546
	* include/freetype/internal/ftserv.h: New file, containing the new
4547
	structures and macros to provide `services'.
4548
 
4549
	* include/freetype/internal/internal.h (FT_INTERNAL_EXTENSION_H,
4550
	FT_INTERNAL_EXTEND_H, FT_INTERNAL_HASH_H, FT_INTERNAL_OBJECT_H):
4551
	Removed, obsolete.
4552
	(FT_INTERNAL_SERVICE_H): New macro for `ftserv.h'.
4553
 
4554
	* include/freetype/internal/services/bdf.h,
4555
	include/freetype/internal/services/glyfdict.h,
4556
	include/freetype/internal/services/postname.h,
4557
	include/freetype/internal/services/xf86name.h: New files.
4558
 
4559
	* include/freetype/ftmm.h (FT_Get_MM_Func, FT_Set_MM_Design_Func,
4560
	FT_Set_MM_Blend_Func): Function pointers moved (in modified form)
4561
	to...
4562
	* include/freetype/internal/services/multmast.h: New file.
4563
 
4564
	* include/freetype/internal/sfnt.h (SFNT_Interface): `get_interface'
4565
	is now of type `FT_Module_Requester'.
4566
	(SFNT_Get_Interface_Func, SFNT_Load_Table_Func): Function pointers
4567
	moved (in modified form) to...
4568
	* include/freetype/internal/services/sfnt.h: New file.
4569
 
4570
	* include/freetype/tttables.h (FT_Get_Sfnt_Table_Func): Function
4571
	pointer moved (in modified form) to `services/sfnt.h'.
4572
 
4573
	* include/freetype/ftmodule.h (FT_Module_Interface): Make it a
4574
	a typedef to `FT_Pointer'.
4575
 
4576
	* include/freetype/internal/tttypes.h (TT_FaceRec): Add
4577
	`postscript_name'.
4578
	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
4579
	`postscript_name'.
4580
	Add `services' element.
4581
	(FT_LibraryRec): Remove `meta_class'.
4582
 
4583
	* src/base/ftbdf.c: Include FT_SERVICE_BDF_H.
4584
	(test_font_type): Removed.
4585
	(FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Use services
4586
	provided in `FT_SERVICE_ID_BDF'.
4587
 
4588
	* src/base/ftmm.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
4589
	(ft_face_get_mm_service): New auxiliary function to get services
4590
	from `FT_SERVICE_ID_MULTI_MASTERS'.
4591
	(FT_Get_Multi_Master, FT_Set_MM_Design_Coordinates,
4592
	FT_Set_MM_Blend_Coordinates): Use `ft_face_get_mm_service'.
4593
 
4594
	* src/base/ftobjs.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
4595
	FT_SERVICE_GLYPH_DICT_H.
4596
	(ft_service_list_lookup): New function to get a specific service.
4597
	(destroy_face): Updated.
4598
	(Mac_Read_POST_Resource): Simplify some code.
4599
	(IsMacResource): Fix warnings.
4600
	(FT_Get_Name_Index, FT_Get_Glyph_Name): Use services provided in
4601
	`FT_SERVICE_ID_GLYPH_DICT'.
4602
	(FT_Get_Postscript_Name): Use service provided in
4603
	`FT_SERVICE_ID_POSTSCRIPT_NAME'.
4604
	(FT_Get_Sfnt_Table, FT_Load_Sfnt_Table): Use services provided in
4605
	`FT_SERVICE_ID_SFNT_TABLE'.
4606
 
4607
	* src/base/ftxf86.c: Include FT_SERVICE_XFREE86_NAME_H.
4608
	(FT_Get_X11_Font_Format): Use service provided in
4609
	`FT_SERVICE_ID_XF86_NAME'.
4610
 
4611
	* src/bdf/bdfdrivr.c: Include FT_SERVICE_BDF_H and
4612
	FT_SERVICE_XFREE86_NAME_H.
4613
	(bdf_get_charset_id): New function.
4614
	(bdf_service_bdf): New structure providing BDF services.
4615
	(bdf_services): New services list.
4616
	(bdf_driver_requester): Use `ft_service_list_lookup'.
4617
 
4618
	* src/cff/cffdrivr.c: Include FT_SERVICE_XFREE86_NAME_H and
4619
	FT_SERVICE_GLYPH_DICT_H.
4620
	(cff_service_glyph_dict): New structure providing CFF services.
4621
	(cff_services): New services list.
4622
	(cff_get_interface): Use `ft_service_list_lookup'.
4623
 
4624
	* src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
4625
	FT_SERVICE_XFREE86_NAME_H.
4626
	(cid_service_ps_name): New structure providing CID services.
4627
	(cid_services): New services list.
4628
	(cid_get_interface): Use `ft_service_list_lookup'.
4629
 
4630
	* src/pcf/pcfdrivr.c: Include FT_SERVICE_BDF_H and
4631
	FT_SERVICE_XFREE86_NAME_H.
4632
	(pcf_service_bdf): New structure providing PCF services.
4633
	(pcf_services): New services list.
4634
	(pcf_driver_requester): Use `ft_service_list_lookup'.
4635
 
4636
	* src/sfnt/sfdriver.c: Include FT_SERVICE_GLYPH_DICT_H and
4637
	FT_SERVICE_POSTSCRIPT_NAME_H.
4638
	(get_sfnt_glyph_name): Renamed to...
4639
	(sfnt_get_glyph_name): This.
4640
	(get_sfnt_postscript_name): Renamed to...
4641
	(sfnt_get_ps_name): This.
4642
	Updated.
4643
	(sfnt_service_glyph_dict, sfnt_service_ps_name): New structures
4644
	providing services.
4645
	(sfnt_services): New services list.
4646
	(sfnt_get_interface): Use `ft_service_list_lookup'.
4647
 
4648
	* src/truetype/ttdriver.c: Include FT_SERVICE_XFREE86_NAME_H.
4649
	(tt_services): New services list.
4650
	(tt_get_interface): Use `ft_service_list_lookup'.
4651
 
4652
	* src/type1/t1driver.c: Include FT_SERVICE_MULTIPLE_MASTERS_H,
4653
	FT_SERVICE_GLYPH_DICT_H, FT_SERVICE_XFREE86_NAME_H, and
4654
	FT_SERVICE_POSTSCRIPT_NAME_H.
4655
	(t1_service_glyph_dict, t1_service_ps_name,
4656
	t1_service_multi_masters): New structures providing Type 1 services.
4657
	(t1_services): New services list.
4658
	(Get_Interface): Use `ft_service_list_lookup'.
4659
 
4660
	* src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H,
4661
	FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H.
4662
	(t42_service_glyph_dict, t42_service_ps_name): New strucures
4663
	providing Type 42 services.
4664
	(t42_services): New services list.
4665
	(T42_Get_Interface): Use `ft_service_list_lookup'.
4666
 
4667
 
4668
	* README, docs/CHANGES: Updating version numbers for 2.1.6, and
4669
	removing obsolete warnings in the documentation.
4670
	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
4671
	* builds/unix/configure.ac (version_info): Set to 9:5:3.
4672
	* builds/unix/configure: Regenerated.
4673
 
4674
	* include/freetype/internal/ftcore.h,
4675
	include/freetype/internal/ftexcept.h,
4676
	include/freetype/internal/fthash.h,
4677
	include/freetype/internal/ftobject.h: Removed.  Obsolete.
4678
 
4679
2003-09-09  David Turner  
4680
 
4681
	Fixing PFR kerning support.  The tables within the font file contain
4682
	(charcode,charcode) kerning pairs, we need to convert them to
4683
	(gindex,gindex).
4684
 
4685
	* src/base/ftpfr.c (ft_pfr_check): Fix serious typo.
4686
	* src/pfr/prfload.c: Remove dead code.
4687
	(pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs):
4688
	New functions.
4689
	(pfr_phy_font_done): Free `kern_pairs'.
4690
	(pfr_phy_font_load): Call `pfr_sort_kerning_pairs'.
4691
	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix kerning extraction.
4692
	* src/pfr/pfrtypes.h (PFR_KERN_PAIR_INDEX): New macro.
4693
	(PFR_KernPairRec): Make `kerning' an FT_Int.
4694
	(PFR_PhyFontRec): New element `kern_pairs'.
4695
	(PFR_KernFlags): Values of PFR_KERN_2BYTE_CHAR and
4696
	PFR_KERN_2BYTE_ADJ were erroneously reversed.
4697
 
4698
	* include/freetype/ftoption.h: Commenting out the macro
4699
	TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
4700
 
4701
2003-09-02  David Turner  
4702
 
4703
 
4704
	* Version 2.1.5 released.
4705
	=========================
4706
 
4707
 
4708
2003-08-31  Manish Singh  
4709
 
4710
	* src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but
4711
	FT_MEM_MOVE.
4712
 
4713
2003-08-30  Werner Lemberg  
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
 
4722
2003-08-27  Werner Lemberg  
4723
 
4724
	* src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters
4725
	for spacing.
4726
 
4727
2003-08-27  Mike FABIAN  
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
 
4732
2003-08-18  David Turner  
4733
 
4734
	* include/freetype/config/ftoption.h: Disabling TrueType bytecode
4735
	interpreter until the UNPATENTED_HINTING works as advertised.
4736
 
4737
	* src/autohint/ahhint.c (ah_hinter_load_glyph): Use `|' for
4738
	setting `load_flags'.
4739
 
4740
	* Jamfile: Adding the `refdoc' target to the Jamfile in order to
4741
	build the API Reference in `docs/reference' automatically.
4742
 
4743
	* include/freetype/t1tables.h (PS_FontInfoRec), src/cid/cidtoken.h,
4744
	src/type1/t1tokens.h, src/type42/t42parse.c: Resetting the types of
4745
	`italic_angle', `underline_position', and `underline_thickness' to
4746
	their previous values (i.e., long, short, and ushort) in order to
4747
	avoid breaking binary compatibility.
4748
 
4749
	* include/freetype/ttunpat.h: Fixing documentation comment.
4750
 
4751
	* include/freetype/config/ftoption.h, devel/ftoption.h
4752
	(TT_CONFIG_OPTION_OPTION_COMPILE_UNPATENTED_HINTING): Replaced
4753
	with...
4754
	(TT_CONFIG_OPTION_UNPATENTED_HINTING): This.  Updated all users.
4755
	(TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed.
4756
 
4757
	* include/freetype/internal/ftobjs.h (FT_DEBUG_HOOK_TYPE1): Removed.
4758
	(FT_DEBUG_HOOK_UNPATENTED_HINTING): New macro.  Use this with
4759
	`FT_Set_Debug_Hook' to get the same effect as the removed
4760
	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING.
4761
 
4762
	* src/truetype/ttobjs.c (tt_face_init): Use
4763
	`FT_DEBUG_HOOK_UNPATENTED_HINTING'.
4764
 
4765
2003-08-06  Werner Lemberg  
4766
 
4767
	* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
4768
	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix
4769
	previous change.
4770
 
4771
2003-08-05  Werner Lemberg  
4772
 
4773
	* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
4774
	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
4775
	font matrix to advance width also.
4776
	* docs/CHANGES: Updated.
4777
 
4778
2003-07-26  Werner Lemberg  
4779
 
4780
	* builds/unix/configure.ac (version_info): Set to 9:4:3.
4781
	* builds/unix/configure: Updated.
4782
	* docs/CHANGES, docs/VERSION.DLL: Updated.
4783
 
4784
	* include/freetype/freetype.h (FT_GlyphSlot): Change 2003-06-16
4785
	also breaks binary compatibility.  Reintroduce an unsigned integer
4786
	at the old position of `flags' called `reserved'.
4787
 
4788
2003-07-25  Werner Lemberg  
4789
 
4790
	Make API reference valid HTML 4.01 transitional.
4791
 
4792
	* src/tools/docmaker/tohtml.py (html_header_1): Add doctype
4793
	and charset.
4794
	(html_header_2): Fix style elements and add some more.
4795
	Fix syntax.
4796
	(block_header, block_footer, description_header, description_footer,
4797
	marker_header, marker_footer, source_header, source_footer,
4798
	chapter_header): Don't use 
...
but `align=center'
4799
	table attribute.
4800
	(chapter_inter, chapter_footer): Add 
  • and use special
    • 4801
      	class.
      4802
      	Use double quotes around table widths given in percent.
      4803
      	(keyword_prefix, keyword_suffix): Don't change font colour directly
      4804
      	but use a new  class.
      4805
      	(section_synopsis_header, section_synopsis_footer): Don't change
      4806
      	colour.
      4807
      	(code_header, code_footer): Don't change font colour directly but
      4808
      	use a special 
       class.
      4809
      	(print_html_field): 
      .
      4810
      	(print_html_field_list): Ditto.
      4811
      	(index_exit): Don't use 
      ...
      but `align=center'
      4812
      	table attribute.
      4813
      	(section_enter): Ditto.
      4814
      	(toc_exit): Don't emit 
      . 4815
      	(block_enter): Use 

      , not

      .

      4816
      	(__init__): Fix tag order in self.html_footer.
      4817
       
      4818
      2003-07-25  David Turner  
      4819
       
      4820
      	This change reimplements fix from 2003-05-30 without breaking
      4821
      	binary compatibility.
      4822
       
      4823
      	* include/freetype/t1tables.h (PS_FontInfoRec): `italic_angle',
      4824
      	`is_fixed_pitch', `underline_position', `underline_thickness' are
      4825
      	reverted to be normal values.
      4826
       
      4827
      	* include/freetype/internal/psaux.h (T1_FieldType): Remove
      4828
      	`T1_FIELD_TYPE_BOOL_P', `T1_FIELD_TYPE_INTEGER_P',
      4829
      	`T1_FIELD_TYPE_FIXED_P', `T1_FIELD_TYPE_FIXED_1000_P'.
      4830
      	(T1_FIELD_TYPE_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P,
      4831
      	T1_FIELD_FIXED_1000_P): Removed.
      4832
      	(T1_FIELD_TYPE_BOOL): Renamed to...
      4833
      	(T1_FIELD_BOOL): New macro.  Updated all callers.
      4834
       
      4835
      	* src/type42/t42parse.c: `italic_angle', `is_fixed_pitch',
      4836
      	`underline_position', `underline_thickness', `paint_type',
      4837
      	`stroke_width' are reverted to be normal values.
      4838
      	(T42_KEYWORD_COUNT): New macro.
      4839
      	(t42_parse_dict): New array `keyword_flags' to mark that a value has
      4840
      	already been assigned to a dictionary entry.
      4841
      	* src/type42/t42objs.c (T42_Face_Init, T42_Face_Done): Updated.
      4842
       
      4843
      	* src/cid/cidtoken.h: `italic_angle', `is_fixed_pitch',
      4844
      	`underline_position', `underline_thickness' are reverted to be
      4845
      	normal values.
      4846
      	* src/cid/cidobjs.c (cid_face_done, cid_face_init): Updated.
      4847
       
      4848
      	* src/psaux/psobjs.c (ps_parser_load_field): Updated.
      4849
       
      4850
      	* src/type1/t1tokens.h: `italic_angle', `is_fixed_pitch',
      4851
      	`underline_position', `underline_thickness', `paint_type',
      4852
      	`stroke_width' are reverted to be normal values.
      4853
      	* src/type1/t1objs.c (T1_Face_Done, T1_Face_Init): Updated.
      4854
      	* src/type1/t1load.c (T1_FIELD_COUNT): New macro.
      4855
      	(parse_dict): Add parameter for keyword flags.
      4856
      	Record only first instance of a field.
      4857
      	(T1_Open_Face): New array `keyword_flags'.
      4858
       
      4859
      2003-07-24  Werner Lemberg  
      4860
       
      4861
      	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
      4862
      	* builds/unix/configure.ac (version_info): Set to 10:0:3.
      4863
      	* builds/unix/configure: Updated.
      4864
      	* builds/freetype.mk (refdoc): Fix --title.
      4865
       
      4866
      	* docs/CHANGES, docs/VERSION.DLL, README: Updated.
      4867
       
      4868
      	* src/tools/docmaker/sources.py (re_crossref): Fix regular
      4869
      	expression to handle trailing punctuation characters.
      4870
      	* src/tools/docmaker/tohtml.py (make_html_word): Updated.
      4871
       
      4872
      	* docs/release: New file.
      4873
       
      4874
      2003-07-23  YAMANO-UCHI Hidetoshi  
      4875
       
      4876
      	* include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New
      4877
      	member function `to_bytes'.
      4878
       
      4879
      	* src/psaux/psauxmod.c (ps_parser_funcs): New member
      4880
      	`ps_parser_to_bytes'.
      4881
      	(psaux_module_class): Increase version to 0x20000L.
      4882
       
      4883
      	* src/psaux/psobjs.c (IS_T1_LINESPACE): Add \f.
      4884
      	(IS_T1_NULLSPACE): New macro.
      4885
      	(IS_T1_SPACE): Add it.
      4886
      	(skip_spaces, skip_alpha): New functions.
      4887
      	(ps_parser_skip_spaces, ps_parser_skip_alpha): Use them.
      4888
      	(ps_tobytes, ps_parser_to_bytes): New functions.
      4889
       
      4890
      2003-07-07  Werner Lemberg  
      4891
       
      4892
      	* builds/freetype.mk (DOC_DIR): New variable.
      4893
      	(refdoc): Use *_DIR variables.
      4894
      	(distclean): Remove documentation files.
      4895
       
      4896
      	* builds/detect.mk (std_setup, dos_setup): Mention `make refdoc'.
      4897
       
      4898
      	* configure: Set DOC_DIR variable.
      4899
       
      4900
      2003-07-07  Patrik Hägglund  
      4901
       
      4902
      	* builds/freetype.mk (refdoc): New target to build the
      4903
      	documentation.
      4904
      	(.PHONY): Updated.
      4905
       
      4906
      	* include/freetype/freetype.h: Improve documentation of FT_CharMap.
      4907
      	* include/freetype/ftimage,h: Fix documentation of FT_OUTLINE_FLAGS.
      4908
      	* include/freetype/tttables.h: Document FT_Sfnt_Tag.
      4909
       
      4910
      2003-07-06  Werner Lemberg  
      4911
       
      4912
      	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfread.c
      4913
      	(pcf_load_font): Fix computation of height if PIXEL_SIZE property is
      4914
      	missing.
      4915
       
      4916
      2003-07-01  Werner Lemberg  
      4917
       
      4918
      	* src/cache/ftcsbits.c (ftc_sbit_node_compare): Only add `size' if
      4919
      	there is no error.  Reported by Knut St. Osmundsen
      4920
      	.
      4921
       
      4922
      2003-06-30  Werner Lemberg  
      4923
       
      4924
      	A new try to synchronize bitmap font access.
      4925
       
      4926
      	* include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
      4927
      	defined to return the baseline-to-baseline distance.  This was
      4928
      	already the value returned by the BDF and PCF drivers.
      4929
       
      4930
      	The `width' field now gives the average width.  I wasn't able to
      4931
      	find something better.  It should be taken as informative only.
      4932
       
      4933
      	New fields `size', `x_ppem', and `y_ppem'.
      4934
       
      4935
      	* src/pcf/pcfread.c (pcf_load_font): Updated to properly fill
      4936
      	FT_Bitmap_Size.
      4937
      	Do proper rounding and conversion from 72.27 to 72 points.
      4938
       
      4939
      	* src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill
      4940
      	FT_Bitmap_Size.
      4941
      	Do proper rounding and conversion from 72.27 to 72 points.
      4942
       
      4943
      	* src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill
      4944
      	FT_Bitmap_Size.
      4945
       
      4946
      	* src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill
      4947
      	FT_Bitmap_Size.
      4948
       
      4949
      2003-06-29  Werner Lemberg  
      4950
       
      4951
      	Redesigning the FNT driver to return multiple faces, not multiple
      4952
      	strikes.  At least one font (app850.fon from WinME) contains
      4953
      	different FNT charmaps for its subfonts.  Consequently, the previous
      4954
      	design of having multiple bitmap strikes in a single font face fails
      4955
      	since we have only one charmap per face.
      4956
       
      4957
      	* include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed.
      4958
      	(FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with
      4959
      	`font'.
      4960
       
      4961
      	* src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated.
      4962
       
      4963
      	* src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal
      4964
      	to pixel_height.
      4965
      	(fnt_face_done_fonts): Removed.
      4966
      	(fnt_face_get_dll_fonts): Renamed to...
      4967
      	(fnt_face_get_dll_font): This.  Add second function argument to
      4968
      	select face index.
      4969
      	Updated to load just one subfont.
      4970
      	(fnt_font_done, FNT_Face_Done): Updated.
      4971
      	(FNT_Face_Init): Handle `face_index'.
      4972
      	Updated.
      4973
      	(FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the
      4974
      	bitmap width is now ignored.
      4975
      	(FNT_Load_Glyph): Updated.
      4976
      	Fix glyph index computation.
      4977
      	(winfnt_driver_class): Updated.
      4978
       
      4979
      2003-06-25  Owen Taylor  
      4980
       
      4981
      	* src/sfnt/ttload.c (tt_face_load_hdmx): Don't assign
      4982
      	num_records until we actually decide to load the table,
      4983
      	otherwise, we'll segfault in tt_face_free_hdmx.
      4984
       
      4985
      2003-06-24  Werner Lemberg  
      4986
       
      4987
      	* src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero
      4988
      	glyph name pointer.  Reported by Mikey Anbary .
      4989
       
      4990
      2003-06-23  Werner Lemberg  
      4991
       
      4992
      	* src/tools/glnames.py: Updated to AGL 2.0.
      4993
      	* src/psnames/pstables.h: Regenerated.
      4994
       
      4995
      2003-06-22  Werner Lemberg  
      4996
       
      4997
      	* include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h,
      4998
      	src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c,
      4999
      	src/otlayout/otlgsub.c, src/pshinter/pshrec.c,
      5000
      	src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c:
      5001
      	Decorate constants with `U' and `L' if appropriate.
      5002
       
      5003
      	* include/freetype/ftmoderr.h: Updated to include recent module
      5004
      	additions.
      5005
       
      5006
      	* src/pshinter/pshnterr.h (FT_ERR_BASE): Define as
      5007
      	`FT_Mod_Err_PShinter'.
      5008
      	* src/type42/t42error.h (FT_ERR_BASE): Define as
      5009
      	`FT_Mod_Err_Type42'.
      5010
       
      5011
      	* src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed.  Not used.
      5012
       
      5013
      	* include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64
      5014
      	and FT_INT64.
      5015
       
      5016
      2003-06-21  Werner Lemberg  
      5017
       
      5018
      	* src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in
      5019
      	computation of glyph_index.
      5020
      	(FNT_Size_Set_Pixels): To find a strike, first check pixel_height
      5021
      	only, then try to find a better hit by comparing pixel_width also.
      5022
      	Without this fix it isn't possible to access all strikes.
      5023
      	Also compute metrics.max_advance to be in sync with other bitmap
      5024
      	drivers.
      5025
       
      5026
      	* src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
      5027
      	(FT_Set_Pixel_Size): Assign value to `metrics' after validation of
      5028
      	arguments.
      5029
       
      5030
      2003-06-20  Werner Lemberg  
      5031
       
      5032
      	Synchronize computation of height and width for bitmap strikes.  The
      5033
      	`width' field in the FT_Bitmap_Size structure is now only useful to
      5034
      	enumerate different strikes.  The `max_advance' field of the
      5035
      	FT_Size_Metrics structure should be used to get the (maximum) width
      5036
      	of a strike.
      5037
       
      5038
      	* src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for
      5039
      	computing `available_sizes->width' but make it always equal to
      5040
      	`available_sizes->height'.
      5041
       
      5042
      	* src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for
      5043
      	computing `available_sizes->width' but make it always equal to
      5044
      	`available_sizes->height'.
      5045
       
      5046
      	* src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single
      5047
      	argument to function.
      5048
       
      5049
      	* src/psnames/psmodule.c (ps_unicode_value): Handle `.' after
      5050
      	`uniXXXX' and `uXXXX[X[X]]'.
      5051
       
      5052
      2003-06-19  Werner Lemberg  
      5053
       
      5054
      	* src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/.
      5055
      	* src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c:
      5056
      	s/FT_Err_/FTC_Err_/.
      5057
      	* src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/.
      5058
      	* src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/.
      5059
      	* src/psaux/t1cmap.c: Include psauxerr.h.
      5060
      	s/FT_Err_/PSaux_Err_/.
      5061
      	* src/pshinter/pshnterr.h: New file.
      5062
      	* src/pshinter/rules.mk: Updated.
      5063
      	* src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h.
      5064
      	s/FT_Err_/PSH_Err_/.
      5065
      	* src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c:
      5066
      	s/FT_Err_/PFR_Err_/.
      5067
      	* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
      5068
      	src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/.
      5069
      	* src/truetype/ttgload.c: s/FT_Err_/TT_Err_/.
      5070
      	* src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define
      5071
      	FT_ERR_PREFIX and FT_ERR_BASE.
      5072
      	s/FT_Err_/Gzip_Err_/.
      5073
       
      5074
      2003-06-19  Dirck Blaskey  
      5075
       
      5076
      	* src/cff/cffload (cff_encoding_load): `nleft' must be FT_UInt,
      5077
      	otherwise adding 1 might wrap the result.
      5078
       
      5079
      2003-06-18  Werner Lemberg  
      5080
       
      5081
      	* src/psnames/psmodule.c (ps_unicode_value): Add support to
      5082
      	recognize `uXXXX[X[X]]' glyph names.
      5083
      	Don't handle glyph names starting with `uni' which have more than
      5084
      	four digits.
      5085
       
      5086
      2003-06-16  Werner Lemberg  
      5087
       
      5088
      	* include/freetype/freetype.h (FT_Open_Flags): Replaced with
      5089
      	#defines for the constants.
      5090
      	(FT_Open_Args): Change type of `flags' to FT_UInt.
      5091
      	(FT_GlyphSlot): Move `flags' to FT_Slot_Internal.
      5092
       
      5093
      	* include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag):
      5094
      	Replaced with #defines for the constants.
      5095
       
      5096
      	* include/freetype/internal/ftobjs.h (FT_Slot_Internal): New
      5097
      	field `flags' (from FT_GlyphSlot).
      5098
      	Updated all affected source files.
      5099
      	(FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h).
      5100
       
      5101
      	* include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved
      5102
      	to ftobjs.h.
      5103
       
      5104
      	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy
      5105
      	FT_GlyphSlot_Internal object.
      5106
       
      5107
      2003-06-15  Werner Lemberg  
      5108
       
      5109
      	* builds/compiler/gcc.mk, builds/compiler/gcc-dev.mk (CFLAGS):
      5110
      	Add -fno-strict-aliasing to get rid of zillion warnings from gcc
      5111
      	version 3.3.
      5112
       
      5113
      2003-06-14  Werner Lemberg  
      5114
       
      5115
      	* include/freetype/ftglyph.h (ft_glyph_bbox_unscaled,
      5116
      	ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit,
      5117
      	ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with
      5118
      	FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS,
      5119
      	FT_GLYPH_BBIX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
      5120
      	The lowercase variants are now (deprecated aliases) to the uppercase
      5121
      	versions.
      5122
      	Updated all other files.
      5123
       
      5124
      	* include/freetype/ftmodule.h (ft_module_font_driver,
      5125
      	ft_module_renderer, ft_module_hinter, ft_module_styler,
      5126
      	ft_module_driver_scalable, ft_module_driver_no_outlines,
      5127
      	ft_module_driver_has_hinter): Replaced with FT_MODULE_FONT_DRIVER,
      5128
      	FT_MODULE_RENDERER, FT_MODULE_HINTER, FT_MODULE_STYLER,
      5129
      	FT_MODULE_DRIVER_SCALABLE, FT_MODULE_DRIVER_NO_OUTLINES,
      5130
      	FT_MODULE_DRIVER_HAS_HINTER.
      5131
      	The lowercase variants are now (deprecated aliases) to the uppercase
      5132
      	versions.
      5133
      	Updated all other files.
      5134
       
      5135
      	* src/base/ftglyph.c (FT_Glyph_Get_CBox): Handle bbox_mode better
      5136
      	as enumeration.
      5137
       
      5138
      	* src/pcf/pcfdrivr.c (pcf_driver_class), src/winfonts/winfnt.c
      5139
      	(winfnt_driver_class), src/bdf/bdfdrivr.c (bdf_driver_class): Add
      5140
      	the FT_MODULE_DRIVER_NO_OUTLINES flag.
      5141
       
      5142
      2003-06-13  Detlef Würkner  
      5143
       
      5144
      	* src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix.
      5145
       
      5146
      2003-06-13  Werner Lemberg  
      5147
       
      5148
      	* builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also.
      5149
       
      5150
      	* builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for
      5151
      	EMX gcc compiler.
      5152
      	* builds/dos/detect.mk: Add target `emx'.
      5153
       
      5154
      	* builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't
      5155
      	like a trailing semicolon; add a dummy command.
      5156
       
      5157
      	* src/cid/cidload.c: Remove parse_font_bbox code (already enclosed
      5158
      	with #if 0 ... #endif).
      5159
       
      5160
      	* src/type1/t1tokens.h: Handle /FontName.
      5161
      	* src/type1/t1load.c (parse_font_name): Removed.
      5162
      	Remove parse_font_bbox code (already enclosed with #if 0 ...
      5163
      	#endif).
      5164
       
      5165
      	* src/type42/t42parse.c (t42_parse_font_name): Removed.
      5166
      	Remove t42_parse_font_bbox code (already enclosed with #if 0 ...
      5167
      	#endif).
      5168
      	(t42_keywords): Handle /FontName with T1_FIELD_KEY.
      5169
       
      5170
      2003-06-12  Werner Lemberg  
      5171
       
      5172
      	* include/freetype/internal/psaux.h (T1_FieldType): Add
      5173
      	T1_FIELD_TYPE_KEY.
      5174
      	(T1_FIELD_KEY): New macro.
      5175
      	* src/psaux/psobjs.c (ps_parser_load_field): Handle
      5176
      	T1_FIELD_TYPE_KEY.
      5177
       
      5178
      	* src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName.
      5179
       
      5180
      2003-06-11  Alexander Malmberg  
      5181
       
      5182
      	* src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease
      5183
      	number of nodes.
      5184
      	(FT_LruList_Lookup): Fix assertion for out-of-memory case.
      5185
       
      5186
      2003-06-11  Werner Lemberg  
      5187
       
      5188
      	* src/cid/cidload.c (cid_decrypt): Removed.
      5189
      	(cid_read_subrs): Use t1_decrypt from psaux module.
      5190
      	* src/cid/cidload.h: Updated.
      5191
      	* src/cid/cidgload.c (cid_load_glyph): Use t1_decrypt from psaux
      5192
      	module.
      5193
       
      5194
      2003-06-10  Werner Lemberg  
      5195
       
      5196
      	* src/cid/cidobjs.c: Apply change 2003-05-31 from .
      5197
      	Compute style flags.
      5198
      	Fix computation of root->height.
      5199
      	* src/cid/cidtoken.h: Handle FontBBox.
      5200
      	* src/cid/cidload.c (cid_load_keyword): Handle
      5201
      	T1_FIELD_LOCATION_BBOX.
      5202
      	(parse_font_bbox): Commented out.
      5203
      	(cid_field_record): Comment out element for parsing FontBBox.
      5204
       
      5205
      	* src/type42/t42parse.c (t42_parse_font_bbox): Commented out.
      5206
      	(t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with
      5207
      	T1_FIELD_CALLBACK.
      5208
      	(t42_parse_font_bbox): Commented out.
      5209
      	(t42_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
      5210
      	* src/type42/t42objs.c (T42_Face_Init): Apply change 2003-05-31
      5211
      	from .
      5212
       
      5213
      2003-06-09  George Williams  
      5214
       
      5215
      	* src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's
      5216
      	TrueType specification.
      5217
      	(Ins_MDRP, Ins_MIRP): Fix single width cut-in test.
      5218
       
      5219
      2003-06-09  Detlef Würkner  
      5220
       
      5221
      	* src/gzip/ftgzip.c: (inflate_mask): Replaced with...
      5222
      	(NO_INFLATE_MASK): This.
      5223
      	* src/gzip/infutil.h: Declare `inflate_mask' conditionally by
      5224
      	NO_INFLATE_MASK.
      5225
       
      5226
      2003-06-09  Alexis S. L. Carvalho  
      5227
       
      5228
      	* src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END
      5229
      	correctly.
      5230
       
      5231
      2003-06-09  Wolfgang Domröse  
      5232
       
      5233
      	* src/pshinter/pshglob.c (psh_globals_new): Change calculation of
      5234
      	dim->stdw.count to avoid compiler problem.
      5235
       
      5236
      	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block
      5237
      	variables to the beginning of the function to avoid compiler
      5238
      	problems.
      5239
      	Add casts necessary for 16bit compilers.
      5240
       
      5241
      2003-06-09  Werner Lemberg  
      5242
       
      5243
      	* src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c.
      5244
      	(PFR_DRV_H): Add pfrtypes.h.
      5245
       
      5246
      	* include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/.
      5247
       
      5248
      2003-06-08  Karl Schultz  
      5249
       
      5250
      	* src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third
      5251
      	argument to FT_Bool.
      5252
      	(pfr_lookup_bitmap_data): Change type of third and fourth argument
      5253
      	to FT_UInt.  Updated caller.
      5254
      	(pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
      5255
       
      5256
      2003-06-08  Werner Lemberg  
      5257
       
      5258
      	Completely revised FreeType's make management.
      5259
       
      5260
      	. In all makefiles `/' is used as the path separator.  The
      5261
      	  conversion to the real path separators is done as late as
      5262
      	  possible using $(subst ...).
      5263
       
      5264
      	. $(HOSTSEP) no longer exists.  Now, $(SEP) gives the path separator
      5265
      	  for the operating system, and the new $(COMPILER_SEP) the path
      5266
      	  separator for the compiler tools.
      5267
       
      5268
      	. $(BUILD) has been renamed to $(BUILD_DIR).  In general, all
      5269
      	  directory variables end with `_DIR'.  The variants ending in `_'
      5270
      	  (like `BASE_' have been removed).
      5271
       
      5272
      	The following ChangeLog entries only describe changes which are
      5273
      	not related to the redesign.
      5274
       
      5275
      	* builds/beos/beos-def.mk (BUILD_DIR): Fix typo.
      5276
      	* builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid
      5277
      	overlong arguments as suggested by J. Ali Harlow
      5278
      	.
      5279
      	* builds/dos/dos-wat.mk: New file.
      5280
      	* builds/freetype.mk (FREETYPE_H): Include header files from the
      5281
      	`devel' subdirectory.
      5282
       
      5283
      	* builds/os2/os2-dev.mk, builds/unix/unixddef.mk,
      5284
      	builds/unix/unixddef.mk, builds/win32/w32-bccd.mk,
      5285
      	builds/win32/w32-dev.mk (BUILD_DIR): Fix path.
      5286
       
      5287
      	* builds/unix/configure.ac, builds/unix/configure: Updated.
      5288
      	* builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'.
      5289
       
      5290
      2003-06-07  Werner Lemberg  
      5291
       
      5292
      	* src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to
      5293
      	make it compile.
      5294
       
      5295
      	* devel/ftoption.h: Updated.
      5296
       
      5297
      2003-06-07  Detlef Würkner  
      5298
       
      5299
      	* include/freetype/internal/psaux.h, src/truetype/ttgload.h:
      5300
      	s/index/idx/ to fix compiler warnings.
      5301
       
      5302
      	* src/sfnt/ttcmap0.c (tt_face_build_cmaps): Use more `volatile' to
      5303
      	fix compiler warning.
      5304
       
      5305
      	* src/gzip/ftgzip.c (BUILDFIXED): Removed.
      5306
      	* src/gzip/inftrees.c (inflate_trees_fixed) [!BUILDFIXED]: Use
      5307
      	FT_UNUSED to remove compiler warning.
      5308
       
      5309
      2003-06-06  Werner Lemberg  
      5310
       
      5311
      	* include/freetype/ftstroker.h: Renamed to...
      5312
      	* include/freetype/ftstroke.h: This.
      5313
       
      5314
      	* src/base/ftstroker.c: Renamed to...
      5315
      	* src/base/ftstroke.c: This.
      5316
       
      5317
      	* include/freetype/config/ftheader.h (FT_STROKER_H): Updated.
      5318
       
      5319
      	* src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
      5320
      	Updated.
      5321
       
      5322
      	* src/pcf/pcfdriver.c: Renamed to...
      5323
      	* src/pcf/pcfdrivr.c: This.
      5324
      	* src/pcf/pcfdriver.h: Renamed to...
      5325
      	* src/pcf/pcfdrivr.h: This.
      5326
       
      5327
      	* src/pcf/Jamfile, src/pcf/rules.mk: Updated.
      5328
       
      5329
      2003-06-05  Wenlin Institute (Tom Bishop)  
      5330
       
      5331
      	* src/base/ftmac.c (file_spec_from_path) [TARGET_API_MAC_CARBON]:
      5332
      	Add `#if !defined(__MWERKS__)'.
      5333
       
      5334
      2003-06-05  Werner Lemberg  
      5335
       
      5336
      	* include/freetype/internal/psaux.h (T1_FieldType): Add
      5337
      	T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
      5338
      	(T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros.
      5339
      	* src/psaux/psobjs.c (ps_parser_load_field): Handle
      5340
      	T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
      5341
       
      5342
      	* src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration.
      5343
      	(CFF_FIELD_FIXED_1000): New macro.
      5344
      	(cff_parser_run): Handle cff_kind_fixed_thousand.
      5345
      	* src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale.
      5346
      	* src/cff/cffload (cff_subfont_load): Fix default values of
      5347
      	expansion_factor and blue_scale.
      5348
       
      5349
      	* src/cif/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
      5350
      	for blue_scale.
      5351
       
      5352
      	* src/pshinter/pshglob.c (psh_globals_new): Fix default value of
      5353
      	blue_scale.
      5354
       
      5355
      2003-06-04  Wolfgang Domröse  
      5356
       
      5357
      	* include/freetype/internal/ftdriver.h,
      5358
      	include/freetype/internal/ftobjs.h,
      5359
      	include/freetype/internal/psaux.h, src/cid/cidgload.c,
      5360
      	src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
      5361
      	src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
      5362
      	src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
      5363
      	src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
      5364
      	src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
      5365
      	src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
      5366
      	src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
      5367
      	Many casts and slight argument type changes to make it work with
      5368
      	a 16bit compiler.
      5369
       
      5370
      2003-06-04  Werner Lemberg  
      5371
       
      5372
      	* include/freetype/config/ftoption.h: Defining
      5373
      	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING by default is a bad idea
      5374
      	since some fonts (e.g. Arial) produce worse results than without
      5375
      	hinting.  Reverted.
      5376
       
      5377
      2003-06-04  Werner Lemberg  
      5378
       
      5379
      	* src/truetype/ttgload.c (load_truetype_glyph)
      5380
      	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call
      5381
      	FT_GlyphLoader_CheckPoints before adding phantom points.  This fixes
      5382
      	a segfault bug with fonts (e.g. htst3.ttf) which have nested
      5383
      	subglyphs more than one level deep.  Reported by Anthony Fok.
      5384
       
      5385
      	* include/freetype/config/ftoption.h: Define
      5386
      	TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
      5387
      	TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and
      5388
      	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new
      5389
      	default.
      5390
       
      5391
      2003-06-03  Werner Lemberg  
      5392
       
      5393
      	* src/autohint/ahhint.c (ah_hinter_hint_edges): Removed.  Just a
      5394
      	wrapper for ah_hint_edges.
      5395
      	(ah_hint_edges): Renamed to...
      5396
      	(ah_hinter_hint_edges): This.
      5397
       
      5398
      	* src/base/ftobjs.c (FT_Set_Hint_Flags): Removed.  Unused.
      5399
       
      5400
      	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec),
      5401
      	include/freetype/internal/psaux.h (T1_DecoderRec),
      5402
      	src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field.
      5403
      	Unused.
      5404
       
      5405
      	* src/cff/cffgload.c (cff_builder_init): Updated.
      5406
      	(cff_decoder_parse_charstrings) : Call hinter->apply
      5407
      	with decoder->hint_mode instead of builder->hint_flags.
      5408
      	* src/psaux/t1decode.c (t1_decoder_init): Updated.
      5409
       
      5410
      	* src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/.
      5411
       
      5412
      	* src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which
      5413
      	increased root->height by 15% if the line gap was zero.  There exist
      5414
      	fonts (containing e.g. form drawing characters) which intentionally
      5415
      	have a zero line gap value.
      5416
       
      5417
      	* src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj):
      5418
      	Removed.  Unused.
      5419
      	Updated all callers.
      5420
       
      5421
      2003-06-02  Werner Lemberg  
      5422
       
      5423
      	* src/cff/cffobjs.c (cff_face_init): Use symbolic names for
      5424
      	Adobe specific encoding IDs (there was a wrong EID value for custom
      5425
      	encoding).
      5426
       
      5427
      	* src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'.
      5428
      	* src/cff/cffcmap.c (cff_cmap_encoding_init,
      5429
      	cff_cmap_encoding_done): Updated.
      5430
      	(cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use
      5431
      	256 as limit for character code.
      5432
       
      5433
      2003-06-01  Werner Lemberg  
      5434
       
      5435
      	* src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from
      5436
      	2003-03-20.
      5437
       
      5438
      2003-05-31  Werner Lemberg  
      5439
       
      5440
      	* include/freetype/fttrigon.h (FT_Vector_Normalize): Removed.
      5441
       
      5442
      2003-05-31    
      5443
       
      5444
      	* src/type1/t1objs.c (T1_Face_Init): Improve algorithm for guessing
      5445
      	the font style by ignoring spaces and hyphens.
      5446
       
      5447
      	* builds/unix/freetype2.in: Fix `Version' field.
      5448
       
      5449
      2003-05-30  Werner Lemberg  
      5450
       
      5451
      	Avoid overwriting of numeric font dictionary entries for synthetic
      5452
      	fonts.  Additionally, some entries were handled as `integer' instead
      5453
      	of `number'.
      5454
       
      5455
      	* include/freetype/internal/psaux.h (T1_FieldType): Add
      5456
      	T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and
      5457
      	T1_FIELD_TYPE_FIXED_P.
      5458
      	(T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros.
      5459
      	* src/psaux/psobjs.c (ps_parser_load_field): Handle new field types.
      5460
       
      5461
      	* include/freetype/internal/cfftypes.h (CFF_FontRecDict),
      5462
      	src/cff/cfftoken.h: Change type of underline_position and
      5463
      	underline_thickness to FT_Fixed.
      5464
      	* src/cff/cffload.c (cff_subfont_load): Fix default values of
      5465
      	underline_position and underline_thickness.
      5466
      	* src/cff/cffobjs.c (cff_face_init): Set underline_position
      5467
      	and underline_thickness in `root'.
      5468
       
      5469
      	* include/freetype/internal/t1types.h (T1_Font): Change point_type
      5470
      	and stroke_width to pointers.
      5471
      	* include/freetype/t1tables.h (PS_FontInfo): Change italic_angle,
      5472
      	is_fixed_pitch, underline_position, and underline_thickness to
      5473
      	pointers.
      5474
      	* src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch,
      5475
      	underline_position, and underline_thickness to pointers.  Change
      5476
      	the type of the latter two to `fixed'.
      5477
      	Change type of stroke_width to `fixed' and make it a pointer.
      5478
      	Change paint_type to pointer.
      5479
      	* src/type1/t1objs.c (T1_Face_Done): Updated.
      5480
      	(T1_Face_Init): Updated.
      5481
      	Fix assignment of underline_position and underline_thickness.
      5482
       
      5483
      	* src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch,
      5484
      	underline_position, and underline_thickness to pointers.  Change
      5485
      	the type of the latter two to `fixed'.
      5486
      	Change type of stroke_width to `fixed'.
      5487
      	* src/cid/cidobjs.c (cid_face_done): Updated.
      5488
      	(cid_face_init): Updated.
      5489
      	Fix assignment of underline_position and underline_thickness.
      5490
       
      5491
      	* src/type42/t42parse.c: Change italic_angle, is_fixed_pitch,
      5492
      	underline_position, and underline_thickness to pointers.  Change the
      5493
      	type of the latter two to `fixed'.
      5494
      	Change type of stroke_width to `fixed' and make it a pointer.
      5495
      	Change paint_type to pointer.
      5496
      	* src/type42/t42objs.c (T42_Face_Init): Updated.
      5497
      	Fix assignment of underline_position and underline_thickness.
      5498
      	(T42_Face_Done): Updated.
      5499
       
      5500
      	* src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning.
      5501
      	* src/pshinter/pshglob.c, src/pshinter/pshglob.h
      5502
      	(psh_globals_set_scale): Make it a local function.
      5503
       
      5504
      	* test/gview.c: Fix renaming ps3->ps typo.
      5505
      	Formatting.
      5506
       
      5507
      2003-05-29  Werner Lemberg  
      5508
       
      5509
      	* src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed.
      5510
      	* src/pshinter/pshalgo.h: Removed.
      5511
       
      5512
      	* src/pshinter/pshalgo3.[ch]: Renamed to...
      5513
      	* src/pshinter/pshalgo.[ch]: New files.
      5514
      	s/PSH3/PSH/.
      5515
      	s/psh3/psh/.
      5516
      	s/ps3/ps/.
      5517
       
      5518
      	* src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated.
      5519
      	* src/pshinter/rules.mk, src/pshinter/Jamfile: Updated.
      5520
       
      5521
      	* src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented
      5522
      	out.
      5523
       
      5524
      	* tests/gview.c: Remove code for pshalgo1 and pshalgo2.
      5525
      	Updated.
      5526
       
      5527
      2003-05-28  Martin Zinser  
      5528
       
      5529
      	* vms_make.com: Reworked support for shareable images on VMS.  The
      5530
      	first version was kind of a hack; the current implementation of the
      5531
      	procedure to extract the required symbols is much cleaner.
      5532
       
      5533
      	Reworked creation of MMS files, avoiding a number of temporary files
      5534
      	which were created in the previous version.
      5535
       
      5536
      	Further work on creating descrip.mms files on the fly.
      5537
       
      5538
      	* builds/vms/descrip.mms, src/autohint/descrip.mms,
      5539
      	src/type1/descrip.mms: Removed.
      5540
       
      5541
      2003-05-28  Werner Lemberg  
      5542
       
      5543
      	* src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip
      5544
      	contours with only a single point to avoid segfault.
      5545
       
      5546
      	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Activate code for
      5547
      	handling `origin'.
      5548
       
      5549
      2003-05-24  Werner Lemberg  
      5550
       
      5551
      	* src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION):
      5552
      	Removed since unused.
      5553
       
      5554
      2003-05-21  Werner Lemberg  
      5555
       
      5556
      	* include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro
      5557
      	for strcat.
      5558
       
      5559
      	* src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/.
      5560
      	(parse_font): s/memcpy/ft_memcpy/.
      5561
      	(is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/.
      5562
      	* src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]:
      5563
      	s/strlen/ft_strlen/.
      5564
      	s/strcat/ft_strcat/.
      5565
      	s/strcpy/ft_strcpy/.
      5566
      	* src/gzip/zutil.h: s/memset/ft_memset/.
      5567
      	s/memcmp/ft_memcmp/.
      5568
       
      5569
      	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
      5570
      	(PCF_Face_Init): Test for charset registry case-insensitively.
      5571
       
      5572
      	* src/gzip/ftgzip.c (ft_gzip_fil_io): Revert change from yesterday;
      5573
      	it has already been fixed differently.
      5574
       
      5575
      	* src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
      5576
      	if-clause.
      5577
       
      5578
      2003-05-21  Martin Zinser  
      5579
       
      5580
      	* t1load.c (parse_blend_axis_types): Fix compiler warning.
      5581
       
      5582
      	* descrip.mms: Removed.  Now created by...
      5583
       
      5584
      	* vms_make.com: New file.
      5585
       
      5586
      2003-05-21  Weiqi Gao  
      5587
       
      5588
      	* src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta'
      5589
      	to prevent infinite loop.
      5590
       
      5591
      2003-05-21  Lars Clausen  
      5592
       
      5593
      	* docs/VERSION.DLL: Provide better autoconf snippet to check
      5594
      	FreeType version.
      5595
       
      5596
      2003-05-21  Werner Lemberg  
      5597
       
      5598
      	* src/base/ftobjs.c (open_face): Free `internal' not
      5599
      	`face->internal' in case of error to avoid possible segfault.
      5600
       
      5601
      	* src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we
      5602
      	actually have an outline.
      5603
       
      5604
      2003-05-20  David Chester  
      5605
       
      5606
      	* src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
      5607
      	y_scale so that the top of non-capital letters is aligned on a pixel
      5608
      	boundary whenever possible.
      5609
       
      5610
      	* src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase
      5611
      	m's maintain their symmetry.
      5612
       
      5613
      2003-05-20  Werner Lemberg  
      5614
       
      5615
      	* src/autohint/ahhint.c (ah_hinter_load_glyph): Oops!  David's
      5616
      	patch from yesterday has been resolved already in a different
      5617
      	way.  Reverted.
      5618
       
      5619
      2003-05-19  David Chester  
      5620
       
      5621
      	* src/autohint/ahhint.c (ah_hinter_load_glyph): Don't scale
      5622
      	y_scale locally but face->size->metrics.y_scale.
      5623
       
      5624
      2003-05-19  David Turner  
      5625
       
      5626
      	* src/sfnt/ttcmap0.c (tt_cmap4_char_next): Select proper start
      5627
      	value for `hi' to avoid infinite loop.
      5628
       
      5629
      2003-05-18  Yong Sun  
      5630
       
      5631
      	* src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test.
      5632
       
      5633
      2003-05-18  Werner Lemberg  
      5634
       
      5635
      	* include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]:
      5636
      	New macro.
      5637
      	* src/base/ftobjs.c: Use it to control mac font support on non-mac
      5638
      	platforms.
      5639
       
      5640
      2003-05-17  George Williams  
      5641
       
      5642
      	Implement partial support of Mac fonts on non-Mac platforms.
      5643
       
      5644
      	* src/base/ftobjs.c (memory_stream_close, new_memory_stream,
      5645
      	open_face_from_buffer, Mac_Read_POST_Resource,
      5646
      	Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face)
      5647
      	[!FT_MACINTOSH]: New functions.
      5648
      	(FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face.
      5649
       
      5650
      2003-05-17  Werner Lemberg  
      5651
       
      5652
      	* src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only
      5653
      	if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by
      5654
      	zero since FNT and friends don't define `face->units_per_EM').
      5655
       
      5656
      2003-05-15  David Turner  
      5657
       
      5658
      	* src/base/fttrigon.c (FT_Vector_Rotate): Avoid rounding errors
      5659
      	for small values.
      5660
       
      5661
      2003-05-15  Werner Lemberg  
      5662
       
      5663
      	* src/autohint/ahtypes.h (AH_PointRec): Remove unused `in_angle'
      5664
      	and `out_angle' fields.
      5665
       
      5666
      2003-05-14  George Williams  
      5667
       
      5668
      	* src/base/ftmac.c (FT_New_Face_From_SFNT): Handle CFF files also.
      5669
       
      5670
      2003-05-14  Werner Lemberg  
      5671
       
      5672
      	* include/freetype/freetype.h: Fix typo in comment
      5673
      	(FT_HAS_FIXED_SIZES).
      5674
       
      5675
      2003-05-10  Dan Williams  
      5676
       
      5677
      	* builds/unix/aclocal.m4: Comment out definition of
      5678
      	`allow_undefined_flag' for Darwin 1.3.
      5679
      	* builds/unix/configure.ac: Add option --with-old-mac-fonts.
      5680
      	* builds/unix/ltmain.sh: Fix version numbering for Darwin 1.3.
      5681
      	* builds/unix/configure: Regenerated.
      5682
       
      5683
      	* include/freetype/config/ftconfig.h: Fix conditions for defining
      5684
      	`FT_MACINTOSH'.
      5685
      	* src/base/ftbase.c: Include `ftmac.c' conditionally.
      5686
      	* src/base/ftmac.c: Handle __GNUC__.
      5687
       
      5688
      2003-05-07  YAMANO-UCHI Hidetoshi  
      5689
       
      5690
      	* src/cid/cidload.c (is_alpha): Removed.
      5691
      	(cid_parse_dict): Use `cid_parser_skip_alpha' instead of `is_alpha'.
      5692
       
      5693
      2003-05-07  Werner Lemberg  
      5694
       
      5695
      	* src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed.
      5696
       
      5697
      2003-05-07  David Turner  
      5698
       
      5699
      	* src/autohint/ahglyph.c (ah_setup_uv): Exchange `for' loop and
      5700
      	`switch' statement to make it run faster.
      5701
      	(ah_outline_compute_segments): Reset `segment->score' and
      5702
      	`segment->link'.
      5703
      	(ah_outline_link_segments): Provide alternative code which does
      5704
      	the same but runs much faster.
      5705
      	Handle major direction also.
      5706
      	(ah_outline_compute_edges): Scale `edge_distance_threshold' down
      5707
      	after rounding instead of scaling comparison value in loop.
      5708
       
      5709
      	* src/autohint/ahhint.c (ah_hinter_align_stong_points): Provide
      5710
      	alternative code which runs faster.
      5711
      	Handle `before->scale == 0'.
      5712
       
      5713
      	* src/autohint/ahtypes.h (AH_SegmentRec): Move some fields down.
      5714
      	(AH_EdgeRec): Move some fields in structure.
      5715
      	New field `scale'.
      5716
       
      5717
      	* src/sfnt/ttcmap0.c (tt_cmap4_char_next): Use binary search.
      5718
       
      5719
      2003-05-02  Werner Lemberg  
      5720
       
      5721
      	* src/autohint/ahoptim.c (LOG): Renamed to...
      5722
      	(AH_OPTIM_LOG): This.
      5723
      	(AH_Dump_Springs): Fix log message format.
      5724
       
      5725
      	* src/autohint/ahhint.c (ah_hint_edges_3): Renamed to...
      5726
      	(ah_hint_edges): This.
      5727
       
      5728
      2002-05-02  Keith Packard  
      5729
       
      5730
      	* src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'.
      5731
       
      5732
      2003-05-01  Werner Lemberg  
      5733
       
      5734
      	* src/autohint/ahglyph.c (ah_test_extrema): Renamed to...
      5735
      	(ah_test_extremum): This.
      5736
       
      5737
      2003-04-28  Werner Lemberg  
      5738
       
      5739
      	* builds/unix/configure.ac: Generate `freetype.pc' from
      5740
      	`freetype.in'.
      5741
      	* builds/unix/configure: Regenerated.
      5742
      	* builds/unix/install.mk (install, uninstall): Handle `freetype.pc'.
      5743
       
      5744
      2003-04-28  Gustavo J. A. M. Carneiro  
      5745
       
      5746
      	* builds/unix/freetype2.in: New file.  Contains building information
      5747
      	for the `pkg-config' package.
      5748
       
      5749
      2003-04-28  David Turner  
      5750
       
      5751
      	* src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for
      5752
      	`glyph_index'.
      5753
       
      5754
      2003-04-25:  Graham Asher  
      5755
       
      5756
      	Added the optional unpatented hinting system for TrueType.  It
      5757
      	allows typefaces which need hinting to produce correct glyph forms
      5758
      	(e.g., Chinese typefaces from Dynalab) to work acceptably without
      5759
      	infringing Apple patents.  This system is compiled only if
      5760
      	TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
      5761
      	ftoption.h.
      5762
       
      5763
      	* include/freetype/ttunpat.h: New file.  Defines
      5764
      	FT_PARAM_TAG_UNPATENTED_HINTING.
      5765
       
      5766
      	* include/freetype/config/ftheader.h (FT_TRUETYPE_UNPATENTED_H): New
      5767
      	macro to use when including ttunpat.h.
      5768
       
      5769
      	* include/freetype/config/ftoption.h
      5770
      	(TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
      5771
      	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): New configuration macros
      5772
      	(not defined, but in comments) for the unpatented hinting system.
      5773
       
      5774
      	* include/freetype/internal/tttypes.h (TT_FaceRec)
      5775
      	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: New element `FT_Bool
      5776
      	unpatented_hinting'.
      5777
       
      5778
      	* src/truetype/ttinterp.c (NO_APPLE_PATENT, APPLE_THRESHOLD):
      5779
      	Removed.
      5780
      	(GUESS_VECTOR): New macro.
      5781
      	(TT_Run_Context) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
      5782
      	Set `both_x_axis'.
      5783
      	(tt_default_graphics_state)
      5784
      	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Updated.
      5785
      	(Current_Ratio) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
      5786
      	Handle `unpatented_hinting'.
      5787
      	(Direct_Move) [NO_APPLE_PATENT]: Removed.
      5788
      	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
      5789
      	(Project, FreeProject)
      5790
      	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
      5791
      	(Compute_Funcs) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
      5792
      	Implement unpatented hinting.
      5793
      	(DO_SPVTCA, DO_SFVTCA, DO_SPVTL, DO_SFVTL, DO_SPVFS, DO_SFVFS,
      5794
      	Ins_SDPVTL): Call `GUESS_VECTOR'.
      5795
      	(DO_GPV, DO_GFV) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
      5796
      	Handle `unpatented_hinting'.
      5797
      	(Compute_Point_Displacement) [NO_APPLE_PATENT]: Removed.
      5798
      	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
      5799
      	hinting.
      5800
      	(Move_Zp2_Point, Ins_SHPIX, Ins_DELTAP, Ins_DELTAC)
      5801
      	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
      5802
      	hinting.
      5803
      	(TT_RunIns): Updated.
      5804
       
      5805
      	* src/truetype/ttobjs.c
      5806
      	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Include
      5807
      	FT_TRUETYPE_UNPATENTED_H.
      5808
      	(tt_face_init) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
      5809
      	TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING]: Check
      5810
      	FT_PARAM_TAG_UNPATENTED_HINTING.
      5811
       
      5812
      	* src/truetype/ttobjs.h (TT_GraphicsState)
      5813
      	[TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Add `both_x_axis'.
      5814
       
      5815
      2003-04-25  Werner Lemberg  
      5816
       
      5817
      	* src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first
      5818
      	argument.
      5819
      	(bdf_get_font_property): Use `const' for third argument.
      5820
      	Updated all callers.
      5821
      	* src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height
      5822
      	similar to the PCF driver.
      5823
      	* src/bdf/bdf.h (_hashnode): Use `const' for `key'.
      5824
      	Updated.
      5825
       
      5826
      	* src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
      5827
      	is declared twice.  It is perhaps better to modify the zlib source
      5828
      	files directly instead of this hack.
      5829
      	(zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
      5830
      	to make build with g++ successful.
      5831
       
      5832
      2003-04-24  Manish Singh  
      5833
       
      5834
      	* src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
      5835
      	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Split on `-'
      5836
      	also for searching the style name.
      5837
       
      5838
      2003-04-24  David Turner  
      5839
       
      5840
      	* src/pcf/pcfread.c (pcf_load_font): Fixed the computation of
      5841
      	face->num_glyphs.  We must increase the value by 1 to respect the
      5842
      	convention that glyph index 0 always corresponds to the `missing
      5843
      	glyph'.
      5844
       
      5845
      2003-04-24  Werner Lemberg  
      5846
       
      5847
      	* builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@.
      5848
       
      5849
      2003-04-24  Dieter Baron  
      5850
       
      5851
      	* builds/unix/freetype-config.in (cflags): Emit FreeType 2's include
      5852
      	files first.  Otherwise there are conflicts with FreeType 1
      5853
      	installed simultaneously.
      5854
       
      5855
      2003-04-23  Werner Lemberg  
      5856
       
      5857
      	Fixing bugs reported by Nelson Beebe.
      5858
       
      5859
      	* src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused
      5860
      	variable `in_path'.
      5861
       
      5862
      	* src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of
      5863
      	second argument to `FT_Byte*'.
      5864
      	* include/freetype/internal/ftobjs.h: Updated.
      5865
       
      5866
      	* src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'.
      5867
      	(_bdf_parse_glyphs): Remove unused variable `next'.
      5868
      	Mark `call_data' as unused.
      5869
       
      5870
      	* src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable
      5871
      	`plast'.
      5872
       
      5873
      	* src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to
      5874
      	actually use `error'.
      5875
      	(pcf_load_font): Remove unused variable `avgw'.
      5876
       
      5877
      	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type
      5878
      	to `void'.
      5879
      	Mark `error' as unused.
      5880
      	* src/pfr/pfrobjs.h: Updated.
      5881
      	* src/pfr/pfrdrivr.c (pfr_get_kerning): Updated.
      5882
       
      5883
      	* src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable
      5884
      	`format_tag'.
      5885
       
      5886
      	* src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove
      5887
      	unused variable `start'.
      5888
      	(tt_cmap10_char_next): Remove unused variable `result'
      5889
       
      5890
      	* src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused.
      5891
       
      5892
      	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as
      5893
      	unused.
      5894
       
      5895
      	* src/type1/t1objs.c (T1_Face_Init): Remove unused variable
      5896
      	`pshinter'.
      5897
       
      5898
      	* src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded'
      5899
      	only for FT_CONFIG_OPTION_INCREMENTAL.
      5900
       
      5901
      2003-04-23  Akito Hirai  
      5902
       
      5903
      	* src/sfnt/ttcmap0.c (tt_cmap4_validate): Provide a weak variant
      5904
      	of the glyph ID bounding check if FT_VALIDATE_TIGHT is not active.
      5905
      	Without this change, many CJK fonts from Dynalab are rejected.
      5906
       
      5907
      2003-04-23  Joe Marcus Clarke  
      5908
       
      5909
      	* src/base/ftbdf.c (FT_Get_BDF_Property): Check for valid
      5910
      	`get_interface'.
      5911
       
      5912
      2003-04-23  Paul Miller  
      5913
       
      5914
      	* src/base/ftmac.c (parse_fond): Fix handling of style names.
      5915
       
      5916
      2003-04-23  Werner Lemberg  
      5917
       
      5918
      	* src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist
      5919
      	instead of FT_Uint for `len'.
      5920
       
      5921
      2003-04-22  Werner Lemberg  
      5922
       
      5923
      	* src/gzip/ftgzip.c (zcalloc) [!FT_CONFIG_OPTION_SYSTEM_ZLIB]:
      5924
      	Convert K&R format to modern C usage.
      5925
      	(FT_Stream_OpenGzip): Use long constant.
      5926
       
      5927
      2003-04-21  Werner Lemberg  
      5928
       
      5929
      	* src/cache/ftccache.c (ftc_cache_lookup): Remove shadow declaration
      5930
      	of `manager'.
      5931
       
      5932
      2003-04-20  Werner Lemberg  
      5933
       
      5934
      	* doc/INSTALL.UNX: Cleaned up.
      5935
       
      5936
      2003-04-09  Torrey Lyons  
      5937
       
      5938
      	* src/base/ftmac.c (open_face_from_buffer): Removed a double-free
      5939
      	bug that had nasty consequences when trying to open an `invalid'
      5940
      	font on a Mac.
      5941
       
      5942
      2003-04-09  Mike Fabian  
      5943
       
      5944
      	* src/bdf/bdfdrivr.h (BDF_encoding_el), src/pcf/pcf.h
      5945
      	(PCF_EncodingRec): Changed FT_Short to FT_UShort in order to be able
      5946
      	to access more than 32768 glyphs in fonts.
      5947
       
      5948
      2003-04-08  David Turner  
      5949
       
      5950
       
      5951
      	* Version 2.1.4 released.
      5952
      	=========================
      5953
       
      5954
       
      5955
      2003-04-03  Martin Muskens  
      5956
       
      5957
      	* src/type1/t1load.c (T1_Open_Face): Fixed the code to make it
      5958
      	handle special cases where a font only contains a `.notdef' glyph
      5959
      	(happens in PDF-embedded fonts).  Otherwise, FT_Panic was called.
      5960
       
      5961
      2003-03-27  David Turner  
      5962
       
      5963
      	* README: Udpated.
      5964
       
      5965
      	* README.UNX: Removed (now replaced by docs/INSTALL.UNX).
      5966
       
      5967
      	* src/pshinter/pshalgo3.c: The hinter now performs as in 2.1.3 and
      5968
      	will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is
      5969
      	used.
      5970
      	(psh3_dimension_quantize_len): Enabled.
      5971
      	(psh3_hint_align): Enable commented code.
      5972
      	(psh3_hint_align_light): Commented out.
      5973
       
      5974
      	* src/base/ftobjs.c (FT_Set_Char_Size): Changed the default
      5975
      	computations to include rounding in all cases; this is required to
      5976
      	provide accurate kerning data when native TrueType hinting is
      5977
      	enabled.
      5978
       
      5979
      	* src/type1/t1load.c (is_name_char): The Type 1 loader now accepts
      5980
      	more general names according to the PostScript specification (the
      5981
      	previous one was too restrictive).
      5982
      	(parse_font_name, parse_encoding, parse_charstrings, parse_dict):
      5983
      	Use `is_name_char'.
      5984
      	(parse_subrs): Handle empty arrays.
      5985
       
      5986
      2003-03-20  David Turner  
      5987
       
      5988
      	Serious rewriting of the documentation.
      5989
       
      5990
      	* docs/BUGS, docs/BUILD: Removed.
      5991
      	* docs/DEBUG.TXT: Renamed to...
      5992
      	* docs/DEBUG: This.
      5993
      	* docs/CUSTOMIZE, docs/TRUETYPE, docs/UPGRADE.UNX: New files.
      5994
      	* docs/INSTALL.ANY, docs/INSTALL.UNX, docs/INSTALL.GNU New files,
      5995
      	containing platform specific information previously in INSTALL.
      5996
      	* docs/readme.vms: Renamed to...
      5997
      	* docs/INSTALL.VMS: This.
      5998
       
      5999
      	* docs/*: Updated.
      6000
       
      6001
      	Introduced three new functions to deal with glyph bitmaps within
      6002
      	FT_GlyphSlot objects:
      6003
       
      6004
      	  ft_glyphslot_free_bitmap
      6005
      	  ft_glyphslot_alloc_bitmap
      6006
      	  ft_glyphslot_set_bitmap
      6007
       
      6008
      	These functions are much more convenient to use than managing the
      6009
      	FT_GLYPH_OWN_BITMAP flag manually.
      6010
       
      6011
      	* include/freetype/internal/ftobjs.h (ft_glyphslot_free_bitmap,
      6012
      	ft_glyphslot_alloc_bitmap, ft_glyphslot_set_bitmap): New functions.
      6013
      	* src/base/ftobjs.c: Implement them.
      6014
      	(ft_glyphslot_done): Use ft_glyphslot_free_bitmap.
      6015
       
      6016
      	* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdriver.c
      6017
      	(PCF_Glyph_Load): Remove unused variable `memory'.
      6018
      	Use `ft_glyphslot_*' functions.
      6019
      	Don't set `FT_GLYPH_OWN_BITMAP'.
      6020
       
      6021
      	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Use
      6022
      	`ft_glyphslot_alloc_bitmap'.
      6023
       
      6024
      	* src/sfnt/ttsbit.c (Load_SBit_Image): Change 5th argument to type
      6025
      	`FT_GlyphSlot'.
      6026
      	Adding argument `depth' to handle recursive calls.
      6027
      	Use `ft_glyphslot_alloc_bitmap'.
      6028
      	(tt_face_load_sbit_image): Remove unused variable `memory'.
      6029
      	Don't handle `FT_GLYPH_OWN_BITMAP'.
      6030
      	Update call to Load_SBit_Image.
      6031
       
      6032
      	* src/type42/t42objs.c (ft_glyphslot_clear): Renamed to...
      6033
      	(t42_glyphslot_clear): This.  Updated caller.
      6034
      	Call `ft_glyphslot_free_bitmap'.
      6035
       
      6036
      	* src/winfonts/winfnt.c (FNT_Load_Glyph): Use
      6037
      	`ft_glyphslot_set_bitmap'.
      6038
      	Don't handle `FT_GLYPH_OWN_BITMAP'.
      6039
       
      6040
      	* src/cache/ftlru.c (FT_LruList_Lookup): Fixed an invalid assertion
      6041
      	check.
      6042
       
      6043
      	* src/autohint/ahglyph.c (ah_outline_load): Add two scaling
      6044
      	arguments.
      6045
      	* src/autohint/ahglyph.h: Updated.
      6046
      	* src/autohint/ahhint.c (ah_hinter_load): Updated.
      6047
      	* src/autohint/ahglobal.c (ah_hinter_compute_widths): Updated.
      6048
       
      6049
      	* src/cache/ftccache.c (ftc_family_done): Fixed small bug that could
      6050
      	crash the cache in rare circumstances (mostly with broken fonts).
      6051
       
      6052
      2003-03-15  David Turner  
      6053
       
      6054
      	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a small rounding
      6055
      	bug.  Actually, it seems that previous versions of FreeType didn't
      6056
      	perform TrueType rounding exactly as appropriate.
      6057
       
      6058
      2003-03-14  David Turner  
      6059
       
      6060
      	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixing the small
      6061
      	TrueType native rendering glitches; they came from a small rounding
      6062
      	error.
      6063
       
      6064
      2003-03-13  David Turner  
      6065
       
      6066
      	Added new environment variables to control memory debugging with
      6067
      	FreeType.  See the description of `FT2_DEBUG_MEMORY',
      6068
      	`FT2_ALLOC_TOTAL_MAX' and `FT2_ALLOC_COUNT_MAX' in DEBUG.TXT.
      6069
       
      6070
      	* src/base/ftdbgmem.c (FT_MemTableRec): Add `alloc_count',
      6071
      	`bound_total', `alloc_total_max', `bound_count', `alloc_count_max'.
      6072
      	(ft_mem_debug_alloc): Handle new variables.
      6073
      	(ft_mem_debug_init): s/FT_DEBUG_MEMORY/FT2_DEBUG_MEMORY/.
      6074
      	Handle new environment variables.
      6075
      	* docs/DEBUG.TXT: Updated.
      6076
       
      6077
      	Fixed the cache sub-system to correctly deal with out-of-memory
      6078
      	conditions.
      6079
       
      6080
      	* src/cache/ftccache.c (ftc_node_destroy): Comment out generic
      6081
      	check.
      6082
      	(ftc_cache_lookup): Implement loop.
      6083
      	* src/cache/ftccmap.c: Define FT_COMPONENT.
      6084
      	* src/cache/ftcsbits.c (ftc_sbit_node_load): Handle
      6085
      	FT_Err_Out_Of_Memory.
      6086
      	* src/cache/ftlru.c: Include FT_INTERNAL_DEBUG_H.
      6087
      	(FT_LruList_Lookup): Implement loop.
      6088
       
      6089
      	* src/pfr/pfrobjs.c (pfr_face_done): Fix memory leak.
      6090
      	(pfr_face_init): Fixing compiler warnings.
      6091
       
      6092
      	* src/psaux/psobjs.c (reallocate_t1_table): Fixed a bug (memory
      6093
      	leak) that only happened when a try to resize an array would end in
      6094
      	an out-of-memory condition.
      6095
       
      6096
      	* src/smooth/ftgrays.c (gray_convert_glyph): Removed compiler
      6097
      	warnings / volatile bug.
      6098
       
      6099
      	* src/truetype/ttobjs.c (tt_glyphzone_done): Removed segmentation
      6100
      	fault that happened in tight memory environments.
      6101
       
      6102
      2003-02-28  Pixel  
      6103
       
      6104
      	* src/gzip/ftgzip.c (ft_gzip_file_done): Fixed memory leak: The ZLib
      6105
      	stream was not properly finalized.
      6106
       
      6107
      2003-02-25  Anthony Fok  
      6108
       
      6109
      	* src/cache/ftccmap.c: Include FT_TRUETYPE_IDS_H.
      6110
      	(ftc_cmap_family_init): The cmap cache now
      6111
      	supports UCS-4 charmaps when available in Asian fonts.
      6112
       
      6113
      	* src/sfnt/ttload.c, src/base/ftobjs.c: Changed `asian' to `Asian'
      6114
      	in comments.
      6115
       
      6116
      2003-02-25  David Turner  
      6117
       
      6118
      	* src/gzip/ftgzip.c (ft_gzip_file_fill_output): Fixed a bug that
      6119
      	caused FreeType to loop endlessly when trying to read certain
      6120
      	compressed gzip files.  The following test reveals the bug:
      6121
       
      6122
      	  touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz
      6123
       
      6124
      	Several fixes to the PFR font driver:
      6125
       
      6126
      	- The list of available embedded bitmaps was not correctly set in
      6127
      	  the root FT_FaceRec structure describing the face.
      6128
       
      6129
      	- The glyph loader always tried to load the outlines when
      6130
      	  FT_LOAD_SBITS_ONLY was specified.
      6131
       
      6132
      	- The table loaded now scans for *undocumented* elements of a
      6133
      	  physical font's auxiliary data record.  This is necessary to
      6134
      	  retrieve the `real' family and style names.
      6135
       
      6136
      	NOTE THAT THESE CHANGES THE FAMILY NAME OF MANY PFR FONTS!
      6137
       
      6138
      	* src/pfr/pfrload.c (pfr_aux_name_load): New function.
      6139
      	(pfr_phy_font_done): Free `family_name' and `style_name' also.
      6140
      	Remove unused variables.
      6141
      	(pfr_phy_font_load): Extract useful information from the auxiliary
      6142
      	bytes.
      6143
       
      6144
      	* src/pfr/pfrobjs.c (pfr_face_done): Set pointers to NULL.
      6145
      	(pfr_face_init): Provide fallback values for `family_name' and
      6146
      	`style_name'.
      6147
      	Handle strikes.
      6148
      	(pfr_slot_load): Handle FT_LOAD_SBITS_ONLY.
      6149
      	* src/pfr/pfrtypes.h (PFR_PhyFontRec): Add fields `ascent',
      6150
      	`descent', `leading', `family_name', and `style_name'.
      6151
       
      6152
      	* src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a rounding bug
      6153
      	when computing the scale factors for a given character size in
      6154
      	points with resolution.
      6155
       
      6156
      	* devel/ft2build.h, devel/ftoption.h: New files (in a new directory)
      6157
      	which are special development versions of include/ft2build.h and
      6158
      	include/freetype/config/ftoption.h, respectively.
      6159
       
      6160
      2003-02-18  David Turner  
      6161
       
      6162
      	Fixing the slight distortion problem that occurred due to the latest
      6163
      	auto-hinter changes.
      6164
       
      6165
      	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Fix rounding.
      6166
       
      6167
      	* src/truetype/ttdriver.c (Set_Char_Sizes): New variable `metrics2'.
      6168
      	[!TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Removed.
      6169
       
      6170
      	* src/truetype/ttobjs.h (TT_SizeRec): New field `metrics'.
      6171
      	* src/truetype/ttobjs.c (Reset_Outline_Size): Fix initialization of
      6172
      	`metrics'.
      6173
      	[FT_CONFIG_CHESTER_ASCENDER]: Code removed.
      6174
      	(Reset_SBit_Size): Fix initialization of `metrics'.
      6175
       
      6176
      	* src/truetype/ttinterp.c (TT_Load_Context): Fix initialization of
      6177
      	`exec->metrics'.
      6178
       
      6179
      	* src/autohint/ahhint.c (ah_hinter_load): Disabled the advance width
      6180
      	`correction' which seemed to provide more trouble than benefits.
      6181
       
      6182
      2003-02-13  Graham Asher  
      6183
       
      6184
      	Changed the incremental loading interface in a way that makes it
      6185
      	simpler and allows glyph metrics to be changed (e.g., by adding a
      6186
      	constant, as required by CFF fonts) rather than just overridden.
      6187
      	This was required to make the GhostScript-to-FreeType bridge work.
      6188
       
      6189
      	* src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_INCREMENTAL]:
      6190
      	Allow metrics to be overridden.
      6191
      	* src/cid/cidgload.c (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL]:
      6192
      	Ditto.
      6193
       
      6194
      	* src/truetype/ttgload.c (load_truetype_glyph)
      6195
      	[FT_CONFIG_OPTION_INCREMENTAL]: Simplify.
      6196
      	(compute_glyph_metrics) [FT_CONFIG_OPTION_INCREMENTAL]: Code block
      6197
      	moved down.
      6198
       
      6199
      	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
      6200
      	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
      6201
       
      6202
      	* include/freetype/ftincrem.h: Updated.
      6203
       
      6204
      2003-01-31  David Turner  
      6205
       
      6206
      	* docs/CHANGES, docs/VERSION.DLL, docs/TODO: Updating documentation
      6207
      	for the 2.1.4 release.
      6208
       
      6209
      	* builds/win32/visualc/freetype.dsp,
      6210
      	builds/win32/visualc/index.html: Updating the project file for
      6211
      	2.1.4.
      6212
       
      6213
      	* src/gzip/adler32.c, src/gzip/ftgzip.c, src/gzip/infblock.c,
      6214
      	src/gzip/infcodes.c, src/gzip/inflate.c, src/gzip/inftrees.c,
      6215
      	src/gzip/infutil.c: Removed old-style (K&R)function definitions.
      6216
      	This avoids warnings with Visual C++ at its most pedantic mode.
      6217
       
      6218
      	* src/pfr/pfrsbit.c: Removed compiler warnings.
      6219
       
      6220
      	* src/cache/ftccmap.c (ftc_cmap_family_init): Changed an FT_ERROR
      6221
      	into an FT_TRACE1 since it caused `ftview' and others to dump too
      6222
      	much junk when trying to display a waterfall with a font without a
      6223
      	Unicode charmap (e.g.  SYMBOL.TTF).
      6224
       
      6225
      	Implemented FT_CONFIG_CHESTER_BLUE_SCALE, corresponding to the last
      6226
      	patch from David Chester, but with a much simpler (and saner)
      6227
      	implementation.
      6228
       
      6229
      	* src/autohint/ahhint.c (ah_hinter_load_glyph)
      6230
      	[FT_CONFIG_CHESTER_BLUE_SCALE]: Try to optimize the y_scale so that
      6231
      	the top of non-capital letters is aligned on a pixel boundary
      6232
      	whenever possible.
      6233
       
      6234
      	* src/base/ftobjs.c (FT_Set_Char_Size)
      6235
      	[FT_CONFIG_CHESTER_BLUE_SCALE]: Round differently.
      6236
      	* src/truetype/ttdriver.c (Set_Char_Sizes)
      6237
      	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Do some rounding only
      6238
      	if this macro is defined.
      6239
       
      6240
      	* src/truetype/ttobjs.c (Reset_Outline_Size)
      6241
      	[FT_CONFIG_CHESTER_ASCENDER]: Round differently.
      6242
       
      6243
      	* src/pshinter/pshalgo3.c: Improved the Postscript hinter.  Getting
      6244
      	rid of stem snapping seems to work well here (though the stems are
      6245
      	still slightly moved to increase contrast).
      6246
      	(psh3_dimension_quantize_len): Commented out.
      6247
      	(psh3_hint_align_light): New function.
      6248
      	(psh3_hint_align): Comment out some code.
      6249
       
      6250
      	THIS IMPROVES ANTI-ALIASED RENDERING, BUT MONOCHROME AND LCD MODES
      6251
      	STILL SUCK.
      6252
       
      6253
      2003-01-22  David Chester  
      6254
       
      6255
      	* src/autohint/ahhint.c (ah_compute_stem_width): Small fix to the
      6256
      	stem width optimization.
      6257
       
      6258
      2003-01-22  David Turner  
      6259
       
      6260
      	Adding a new API `FT_Get_BDF_Property' to retrieve the BDF
      6261
      	properties of a given PCF or BDF font.
      6262
       
      6263
      	* include/freetype/ftbdf.h (FT_PropertyType): New enumeration.
      6264
      	(BDF_Property, BDF_PropertyRec): New structure.
      6265
      	FT_Get_BDF_Property): New function.
      6266
      	* include/freetype/internal/bdftypes.h: Include FT_BDF_H.
      6267
      	(BDF_GetPropertyFunc): New function pointer.
      6268
       
      6269
      	* src/base/ftbdf.c (test_font_type): New helper function.
      6270
      	(FT_Get_BDF_Charset_ID): Use `test_font_type'.
      6271
      	(FT_Get_BDF_Property): New function.
      6272
       
      6273
      	* src/bdf/bdfdrivr.c: Include FT_BDF_H.
      6274
      	(bdf_get_bdf_property, bdf_driver_requester): New functions.
      6275
      	(bdf_driver_class): Use `bdf_driver_requester'.
      6276
       
      6277
      	* src/pcf/pcfdrivr.c: Include FT_BDF_H.
      6278
      	(pcf_get_bdf_property, pdc_driver_requester): New functions
      6279
      	(pcf_driver_class): Use `pcf_driver_requester'.
      6280
       
      6281
      	* src/pcf/pcfread.c: Include `pcfread.h'.
      6282
      	(pcf_find_property): Decorate it with FT_LOCAL_DEF.
      6283
      	* src/pcf/pcfread.h: New file, providing `pcf_find_property'.
      6284
       
      6285
      	* src/sfnt/ttload.c (sfnt_dir_check): Relaxed the `head' table size
      6286
      	verification to accept a few broken fonts who pad the size
      6287
      	incorrectly (the table should be padded, but its `size' field
      6288
      	shouldn't according to the specification).
      6289
       
      6290
      2003-01-18  Werner Lemberg  
      6291
       
      6292
      	* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
      6293
      	--copy' from libtool 1.4.3.
      6294
      	* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
      6295
      	automake 1.7.1.
      6296
      	* builds/unix/configure: Regenerated with autoconf 2.54.
      6297
      	* builds/unix/config.guess, builds/unix/config.sub: Updated from
      6298
      	`config' CVS module at subversions.gnu.org.
      6299
      	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
      6300
      	`automake' CVS module at subversions.gnu.org.
      6301
       
      6302
      2003-01-15  David Turner  
      6303
       
      6304
      	* include/freetype/freetype.h: Fixed documentation for
      6305
      	FT_Size_Metrics.
      6306
       
      6307
      2003-01-15  James Su  
      6308
       
      6309
      	* src/gzip/ftgzip.c (ft_gzip_check_header): Bugfix: couldn't read
      6310
      	certain gzip-ed font files (typo: `&&' -> `&').
      6311
       
      6312
      2003-01-15  Huw D M Davies  
      6313
       
      6314
      	Added a Windows .FNT specific API (mostly for Wine).  Also fixed a
      6315
      	nasty bug in the header loader which would cause invalid memory
      6316
      	overwrites.
      6317
       
      6318
      	* include/freetype/config/ftheader.h (FT_WINFONTS_H): New macro
      6319
      	for ftwinfnt.h.
      6320
      	* include/freetype/internal/fnttypes.h: Include FT_WINFONTS_H.
      6321
      	(FNT_FontRec): Updated.
      6322
      	Move Windows FNT definition to...
      6323
      	* include/freetype/ftwinfnt.h: This new file.
      6324
      	(FT_WinFNT_HeaderRec): Rename `reserved2' to `reserved1'.
      6325
      	* src/base/ftwinfnt.c: New file, providing `FT_Get_WinFNT_Header'.
      6326
      	* src/winfonts/winfnt.c (winfnt_header_fields): Updated.
      6327
      	Rename `reserved2' to `reserved1'.
      6328
      	(fnt_font_load): Updated.
      6329
       
      6330
      	* src/base/Jamfile, src/base/descrip.mms, src/base/rules.mk:
      6331
      	Updated.
      6332
       
      6333
      2003-01-14  Graham Asher  
      6334
       
      6335
      	* include/freetype/ftglyph.h, src/base/ftglyph.c: Added `const' to
      6336
      	the type of the first argument to FT_Matrix_Multiply, which isn't
      6337
      	changed -- this adds documentation and convenience.
      6338
       
      6339
      2003-01-13  Graham Asher  
      6340
       
      6341
      	* src/sfnt/ttload.c (tt_face_load_metrics)
      6342
      	[FT_CONFIG_OPTION_INCREMENTAL]: TrueType typefaces without
      6343
      	horizontal metrics (without the `hmtx' table) are now tolerated if
      6344
      	an incremental interface has been specified that has a
      6345
      	get_glyph_metrics function, implying that metrics will be supplied
      6346
      	from outside.  This happens for certain Type 42 fonts passed from
      6347
      	GhostScript.
      6348
       
      6349
      2003-01-11  David Chester  
      6350
       
      6351
      	Patches to the auto-hinter in order to slightly improve the output.
      6352
      	Note that everything is controlled through the new
      6353
      	FT_CONFIG_OPTION_CHESTER_HINTS defined in `ftoption.h'.  There are
      6354
      	also individual FT_CONFIG_CHESTER_XXX macros to control individual
      6355
      	`features'.
      6356
       
      6357
      	Note that all improvements are enabled by default, but can be
      6358
      	tweaked for optimization and testing purposes.  The configuration
      6359
      	macros will most likely disappear in the short future.
      6360
       
      6361
      	* include/freetype/config/ftoption.h
      6362
      	(FT_CONFIG_OPTION_CHESTER_HINTS): New macro.
      6363
      	(FT_CONFIG_CHESTER_{SMALL_F,ASCENDER,SERIF,STEM,BLUE_SCALE})
      6364
      	[FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual
      6365
      	features.
      6366
       
      6367
      	* src/autohint/ahglobal.c (blue_chars) [FT_CONFIG_CHESTER_SMALL_F]:
      6368
      	Add blue zone for `fijkdbh'.
      6369
      	* src/autohint/ahglobal.h (AH_IS_TOP_BLUE)
      6370
      	[FT_CONFIG_CHESTER_SMALL_F]: Use `AH_BLUE_SMALL_F_TOP'.
      6371
      	* src/autohint/ahglyph.c (ah_outline_compute_edges)
      6372
      	[FT_CONFIG_CHESTER_SERIF]: Use `AH_EDGE_SERIF'.
      6373
      	(ah_outline_compute_blue_edges) [FT_CONFIG_CHESTER_SMALL_F]:
      6374
      	Increase threshold for `best_dist'.
      6375
      	* src/autohint/ahhint.c (ah_compute_stem_width)
      6376
      	[FT_CONFIG_CHESTER_SERIF]: Provide new version for improved serif
      6377
      	handling.
      6378
      	(ah_align_linked_edge) [FT_CONFIG_CHESTER_SERIF]: Use special
      6379
      	version of `ah_compute_stem_width'.
      6380
      	(ah_hint_edges_3) [FT_CONFIG_CHESTER_STEM]: A new algorithm for stem
      6381
      	alignment when stem widths are less than 1.5 pixels wide centers the
      6382
      	stem slightly off-center of the center of a pixel (this increases
      6383
      	sharpness and consistency).
      6384
      	[FT_CONFIG_CHESTER_SERIF]: Use special version of
      6385
      	`ah_compute_stem_width'.
      6386
      	* src/autohint/ahtypes.h [FT_CONFIG_CHESTER_SMALL_F]: Add
      6387
      	`AH_BLUE_SMALL_F_TOP'.
      6388
       
      6389
      2003-01-11  David Turner  
      6390
       
      6391
      	* include/freetype/internal/fnttypes.h (WinFNT_HeaderRec): Increase
      6392
      	size of `reserved2' to avoid memory overwrites.
      6393
       
      6394
      2003-01-08  Huw Davies  
      6395
       
      6396
      	* src/winfonts/winfnt.c (winfnt_header_fields): Read 16 bytes into
      6397
      	`reserved2', not `reserved'.
      6398
       
      6399
      	* src/base/ftobjs.c (find_unicode_charmap): Fixed the error code
      6400
      	returned when the font doesn't contain a Unicode charmap.  This
      6401
      	allows FT2 to load `symbol.ttf' and a few others correctly since the
      6402
      	last release.
      6403
      	(open_face): Fix return value.
      6404
       
      6405
      2003-01-08  Owen Taylor  
      6406
       
      6407
      	Implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and
      6408
      	postscript hinters.
      6409
       
      6410
      	* src/autohint/ahtypes.h (AH_HinterRec): Add `do_stem_adjust'.
      6411
      	* src/autohint/ahhint.c (ah_compute_stem_width): Handle
      6412
      	hinter->do_stem_adjust.
      6413
      	(ah_hinter_load_glyph): Set hinter->do_stem_adjust.
      6414
       
      6415
      	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add `do_stem_adjust'.
      6416
      	* src/pshinter/pshalgo3.c (psh3_hint_align): Use `do_stem_adjust'.
      6417
      	(ps3_hints_apply): Handle FT_RENDER_MODE_LIGHT.
      6418
       
      6419
      	* include/freetype/freetype.h (FT_Render_Mode): Add
      6420
      	FT_RENDER_MODE_LIGHT.
      6421
       
      6422
      	* src/truetype/ttgload.c: Fixing the TrueType loader to handle
      6423
      	invalid composites correctly by limiting the recursion depth.
      6424
      	(TT_MAX_COMPOSITE_RECURSE): New macro.
      6425
      	(load_truetype_glyph): Add argument `recurse_count'.
      6426
      	Load a composite only if the numbers of contours is -1, emit error
      6427
      	otherwise.
      6428
      	(TT_Load_Glyph): Updated.
      6429
       
      6430
      2003-01-08  David Turner  
      6431
       
      6432
      	* Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: Small changes to
      6433
      	support the compilation of FreeType 2 as part of larger projects
      6434
      	with their own configuration options (only with Jam).
      6435
       
      6436
      2003-01-07  David Turner  
      6437
       
      6438
      	* src/base/ftstroker.c: Probably the last bug-fixes to the stroker;
      6439
      	the API is likely to change, however.
      6440
      	(ft_stroke_border_close): Don't record empty paths.
      6441
      	(ft_stroke_border_get_counts): Increase `num_points' also in for loop.
      6442
      	(ft_stroke_border_export): Don't increase `write' twice in for loops.
      6443
      	(ft_stroker_outside): Handle `phi' together with `theta'.
      6444
      	(FT_Stroker_ParseOutline): New function.
      6445
       
      6446
      	* src/base/fttrigon.c (FT_Angle_Diff): Fixing function: It returned
      6447
      	invalid values for large negative angle differences (resulting in
      6448
      	incorrect stroker computations, among other things).
      6449
       
      6450
      	* src/cache/ftccache.c (ftc_node_hash_unlink): Removing incorrect
      6451
      	assertion, and changing code to avoid hash table size contraction.
      6452
       
      6453
      	* src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: Adding
      6454
      	`ftstroker' to default build, as optional component.
      6455
       
      6456
      2002-12-26  David Turner  
      6457
       
      6458
      	* src/gzip/adler32.c, src/gzip/infblock.c, src/gzip/inflate.c,
      6459
      	src/gzip/inftrees.c, src/gzip/zconf.h, src/gzip/zlib.h,
      6460
      	src/gzip/zutil.h: Updates to allow compilation without compiler
      6461
      	warnings with LCC-Win32.
      6462
       
      6463
      	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
      6464
      	* builds/unix/configure.ac (version_info): Increased to 9:3:3.
      6465
      	* builds/unix/configure: Regenerated.
      6466
      	* docs/VERSION.DLL: Updated.
      6467
       
      6468
      2002-12-23  Anthony Fok  
      6469
       
      6470
      	* builds/unix/configure.ac, builds/unix/unix-cc.in (LINK_LIBRARY),
      6471
      	builds/unix/unix-def.in (SYSTEM_ZLIB): Small fix to configure
      6472
      	sub-system on Unix to allow other programs to correctly link with
      6473
      	zlib when needed.
      6474
       
      6475
      2002-12-19  David Turner  
      6476
       
      6477
      	* include/freetype/internal/sfnt.h (SFNT_Load_Table_Func): New
      6478
      	function pointer.
      6479
       
      6480
      	* include/freetype/tttables.h (FT_Load_Sfnt_Table): New function.
      6481
      	* src/base/ftobjs.c: Implement it.
      6482
       
      6483
      	* src/sfnt/sfdriver.c (sfnt_get_interface): Handle `load_sfnt'
      6484
      	module request.
      6485
       
      6486
      2002-12-17  David Turner  
      6487
       
      6488
      	* src/base/ftobjs.c (find_unicode_charmap): Added some comments to
      6489
      	better explain what's happening there.
      6490
      	(open_face): Included Graham Asher's fix to prevent faces without
      6491
      	Unicode charmaps from loading.
      6492
       
      6493
      	* src/winfonts/winfnt.c: Included George Williams's fix to support
      6494
      	version 2 fonts correctly.
      6495
      	(winfnt_header_fields): Updated.
      6496
      	(fnt_font_load): Handle version 2 fonts.
      6497
      	(FNT_Load_Glyph): Updated.
      6498
       
      6499
      2002-12-16  David Turner  
      6500
       
      6501
      	* docs/VERSION.DLL: Updating document to better explain the
      6502
      	differences between the three version numbers being used on Unix, as
      6503
      	well as providing an autoconf fragment provided by Lars Clausen.
      6504
       
      6505
      	* src/smooth/ftgrays.c (gray_render_conic): Fixed small bug that
      6506
      	prevented Bézier arcs with negative vertical coordinates to be
      6507
      	rendered appropriately.
      6508
       
      6509
      2002-12-02  Antoine Leca  
      6510
       
      6511
      	* src/base/ftobjs.c: Modified the logic to get Unicode charmaps.
      6512
      	Now it loads UCS-4 charmaps when there is one.
      6513
      	(find_unicode_charmap): New function.
      6514
      	(open_face): Refer to the above one.
      6515
      	(FT_Select_Charmap): Idem.
      6516
       
      6517
      2002-11-29  Antoine Leca  
      6518
       
      6519
      	* include/freetype/ftgzip.h: Correct the name of the controlling
      6520
      	macro (was __FTXF86_H__ ...).
      6521
       
      6522
      2002-11-27  Vincent Caron  
      6523
       
      6524
      	* builds/unix/unix-def.in, builds/unix/freetype-config.in,
      6525
      	builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c
      6526
      	[FT_CONFIG_OPTION_SYSTEM_ZLIB]: Adding support for system zlib
      6527
      	installations if available on the target platform (Unix only).
      6528
       
      6529
      2002-11-23  David Turner  
      6530
       
      6531
      	* src/cff/cffload.c (cff_charset_load, cff_encoding_load): Modified
      6532
      	charset loader to accept pre-defined charsets, even when the font
      6533
      	contains fewer glyphs.  Also enforced more checks to ensure that we
      6534
      	never overflow the character codes array in the encoding.
      6535
       
      6536
      2002-11-22  Antoine Leca  
      6537
       
      6538
      	* include/freetype/ttnameid.h: Updated to latest OpenType
      6539
      	specification.
      6540
       
      6541
      2002-11-18  David Turner  
      6542
       
      6543
       
      6544
      	* Version 2.1.3 released.
      6545
      	=========================
      6546
       
      6547
       
      6548
      2002-11-07  David Turner  
      6549
       
      6550
      	* src/cache/ftcsbit.c (ftc_sbit_node_load): Fixed a small bug that
      6551
      	caused problems with embedded bitmaps.
      6552
       
      6553
      	* src/otlayout/otlayout.h, src/otlyaout/otlconf.h,
      6554
      	src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
      6555
      	src/otlayout/otlparse.c, src/otlayout/otlparse.h,
      6556
      	src/otlayout/otlutils.h: Updating the OpenType Layout code, adding
      6557
      	support for the first GSUB lookups.  Nothing that really compiles
      6558
      	for now though.
      6559
       
      6560
      	* src/autohint/ahhint.c (ah_align_serif_edge): Disabled serif stem
      6561
      	width quantization.  It produces slightly better shapes though this
      6562
      	is not distinguishable with many fonts.
      6563
      	Remove other dead code.
      6564
       
      6565
      	* src/Jamfile, src/*/Jamfile: Simplified.
      6566
      	Use $(FT2_SRC_DIR).
      6567
       
      6568
      2002-11-06  David Turner  
      6569
       
      6570
      	* include/freetype/freetype.h (FT_LOAD_TARGET_LIGHT): New macro.
      6571
      	(FT_LOAD_TARGET, FT_LOAD_TARGET_MODE): Use `& 15' instead of `& 7'.
      6572
       
      6573
      2002-11-05  David Turner  
      6574
       
      6575
      	* include/freetype/config/ftoption.h, src/gzip/ftgzip.c: Added
      6576
      	support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify
      6577
      	the use of system-wide zlib.
      6578
       
      6579
      	Note that this macro, as well as
      6580
      	TT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore.
      6581
      	This allows the build system to define them depending on the
      6582
      	configuration (typically by adding -D flags at compile time).
      6583
       
      6584
      	* src/sfnt/ttcmap0.c (tt_face_build_cmaps): Removed compiler
      6585
      	warnings in optimized mode relative to the `volatile' local
      6586
      	variables.  This was not a compiler bug after all, but the fact that
      6587
      	a pointer to a volatile variable is not the same as a volatile
      6588
      	pointer to a variable :-)
      6589
       
      6590
      	The fix was to change
      6591
      	  `volatile FT_Byte* p'
      6592
      	into
      6593
      	  `FT_Byte* volatile p'.
      6594
       
      6595
      	* src/pfr/pfrload.c (pfr_phy_font_load), src/pfr/pfrdrivr.c
      6596
      	(pfr_get_metrics), src/gzip/inftrees.c: Removed compiler warnings in
      6597
      	optimized modes.
      6598
       
      6599
      	* src/gzip/*.[hc]: Modified our zlib copy in order to prevent
      6600
      	exporting any zlib function names outside of the component.  This
      6601
      	prevents linking problems on some platforms, when applications want
      6602
      	to link FreeType _and_ zlib together.
      6603
       
      6604
      2002-11-05  Juliusz  
      6605
       
      6606
      	* src/psaux/psobjs.c (ps_table_add): Modified increment loop in
      6607
      	order to implement exponential behaviour.
      6608
       
      6609
      2002-11-01  David Turner  
      6610
       
      6611
      	Added PFR-specific public API.  Fixed the kerning retrievel routine
      6612
      	(it returned invalid values when the outline and metrics resolution
      6613
      	differ).
      6614
       
      6615
      	* include/freetype/ftpfr.h, include/freetype/internal/pfr.h: New
      6616
      	files.
      6617
       
      6618
      	* include/freetype/internal/internal.h (FT_INTERNAL_PFR_H): New
      6619
      	macro for pfr.h.
      6620
       
      6621
      	* src/base/ftpfr.c: New file.
      6622
      	* src/base/Jamfile, src/base/descrip.mms: Updated.
      6623
       
      6624
      	* src/pfr/pfrdrivr.c: Include FT_INTERNAL_PFR_H.
      6625
      	(pfr_get_kerning, pfr_get_advance, pfr_get_metrics): New functions.
      6626
      	(pfr_service_rec): New format interface.
      6627
      	(pfr_driver_class): Use `pfr_service_rec'.
      6628
      	Replace `pfr_face_get_kerning' with `pfr_get_kerning'.
      6629
      	* src/pfr/pfrobjs.c: Remove dead code.
      6630
       
      6631
      	* src/base/ftobjs.c (ft_glyphslot_clear): Small internal fix to
      6632
      	better support bitmap-based font formats.
      6633
       
      6634
      	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix handling of
      6635
      	`scale'.
      6636
      	Fix arguments to `FT_Vector_From_Polar'.
      6637
       
      6638
      2002-10-31  David Turner  
      6639
       
      6640
      	Add support for automatic handling of gzip-compressed PCF files.
      6641
       
      6642
      	* src/gzip/*: New files, taken from the zlib package (except
      6643
      	ftgzip.c).
      6644
       
      6645
      	* include/freetype/ftgzip.h, src/gzip/ftgzip.c: New files.
      6646
      	* include/freetype/config/ftheader.h (FT_GZIP_H): New macro for
      6647
      	`ftgzip.h'.
      6648
       
      6649
      	* src/pcf/pcfdriver.c: Include FT_GZIP_H and FT_ERRORS_H.
      6650
      	(PCF_Face_Init): If normal open fails, try to open gzip stream.
      6651
      	(PCF_Face_Done): Close gzip stream.
      6652
       
      6653
      	* include/freetype/internal/pcftypes.h (PCF_Public_FaceRec),
      6654
      	src/pcf/pcf.h (PCF_FaceRec): Add `gzip_stream' and `gzip_source'.
      6655
       
      6656
      	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_ZLIB):
      6657
      	New macro.
      6658
      	(T1_CONFIG_OPTION_DISABLE_HINTER, FT_CONFIG_OPTION_USE_CMAPS
      6659
      	FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS,
      6660
      	FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS): Removed.
      6661
       
      6662
      	(FT_EXPORT, FT_EXPORT_DEF, FT_DEBUG_LEVEL_ERROR,
      6663
      	FT_DEBUG_LEVEL_TRACE, FT_DEBUG_MEMORY): Comment out definitions so
      6664
      	that platform specific configuration file can override.
      6665
       
      6666
      	* include/freetype/internal/ftstream.h: Include FT_SYSTEM_H.
      6667
       
      6668
      2002-10-30  David Turner  
      6669
       
      6670
      	* FreeType 2.1.3rc3 released.
      6671
       
      6672
      2002-10-25  David Turner  
      6673
       
      6674
      	* include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro.
      6675
      	(FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG.
      6676
       
      6677
      2002-10-22  Giuseppe Ghibò  
      6678
       
      6679
      	* include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2.
      6680
       
      6681
      2002-10-07  Werner Lemberg  
      6682
       
      6683
      	* include/freetype/freetype.h (FT_Open_Face): Use `const' for `args'
      6684
      	(suggested by Graham).
      6685
      	* src/base/ftobjs.c (FT_Open_Face): Updated.
      6686
      	(ft_input_stream_new): Ditto.
      6687
       
      6688
      2002-10-05  David Turner  
      6689
       
      6690
      	Adding support for embedded bitmaps to the PFR driver, and rewriting
      6691
      	its kerning loader/handler to use all kerning pairs in a physical
      6692
      	font (and not just the first item).
      6693
       
      6694
      	* src/pfr/pfr.c: Include `pfrsbit.c'.
      6695
      	* src/pfr/pfrgload.c: Include `pfrsbit.h'.
      6696
      	* src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten.
      6697
      	(pfr_phy_font_done, pfr_phy_font_load): Updated.
      6698
      	* src/pfr/pfrobks.c: Include `pfrsbit.h'.
      6699
      	(pfr_face_init): Handle kerning and embedded bitmaps.
      6700
      	(pfr_slot_load): Load embedded bitmaps.
      6701
      	(PFR_KERN_INDEX): Removed.
      6702
      	(pfr_face_get_kerning): Rewritten.
      6703
      	* src/pfr/pfrsbit.c, src/pfr/pfrsbit.h: New files.
      6704
      	* src/pfr/pfrtypes.h (PFR_KernItemRec): New structure.
      6705
      	(PFR_KERN_INDEX): New macro.
      6706
      	(PFR_PhyFontRec): Add items for kerning and embedded bitmaps.
      6707
      	* src/pfr/Jamfile (_sources) [FT2_MULTI]: Add `pfrsbit'.
      6708
       
      6709
      	* src/base/ftobjs.c (FT_Load_Glyph): Don't load bitmap fonts if
      6710
      	FT_LOAD_NO_RECURSE is set.
      6711
      	Load embedded bitmaps only if FT_LOAD_NO_BITMAP isn't set.
      6712
       
      6713
      	* src/tools/docmaker/content.py, src/tools/docmaker/sources.py,
      6714
      	src/tools/docmaker/tohtml.py: Fixing a few nasty bugs.
      6715
       
      6716
      	* src/sfnt/ttcmap0.c (tt_cmap4_validate): The validator for format 4
      6717
      	sub-tables is now capable of dealing with invalid `length' fields at
      6718
      	the start of the sub-table.  This allows fonts like `mg______.ttf'
      6719
      	(i.e.  Marriage) to return accurate charmaps.
      6720
       
      6721
      	* docs/CHANGES: Updated.
      6722
       
      6723
      2002-10-05  Werner Lemberg  
      6724
       
      6725
      	* src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
      6726
      	Update all callers.
      6727
      	(TRUNC): Add cast to `TCoord'.
      6728
      	Update all callers.
      6729
      	(TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
      6730
      	last_ey.
      6731
      	Update all casts.
      6732
      	(gray_render_line): Fix casts for `p' and `first'.
      6733
       
      6734
      2002-10-02  Detlef Würkner  
      6735
       
      6736
      	* src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t
      6737
      	structure with FT_ALLOC instead of using the stack.
      6738
       
      6739
      2002-09-27  Werner Lemberg  
      6740
       
      6741
      	* src/include/freetype/internal/tttypes.h (num_sbit_strikes,
      6742
      	num_sbit_scales): Use `FT_ULong'.
      6743
      	* src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
      6744
      	* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
      6745
      	(find_sbit_image): Remove cast.
      6746
      	* src/raster/ftrend1.c (ft_raster1_render): Fix cast.
      6747
       
      6748
      2002-09-27  Wolfgang Domröse  
      6749
       
      6750
      	* src/sfnt/ttload.c (tt_face_load_names): Use cast.
      6751
      	* src/sfnt/ttcmap.c (code_to_next2): Use long constant.
      6752
      	(code_to_index4): Use cast.
      6753
      	(code_to_index8_12): Fix cast.
      6754
      	* src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
      6755
      	tt_cmap12_char_index): Use cast for `result'.
      6756
      	(tt_face_build_cmaps): Use cast.
      6757
      	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
      6758
      	`code'.
      6759
      	(sfnt_load_face): Use FT_Int32 for `flags'.
      6760
       
      6761
      	* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
      6762
      	gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
      6763
      	to `TCoord' and `int'.
      6764
      	More 16bit fixes.
      6765
      	s/FT_Pos/TPos/.
      6766
      	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
      6767
       
      6768
      2002-09-26  Werner Lemberg  
      6769
       
      6770
      	* src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names,
      6771
      	tt_face_get_ps_name): Replace switch statement with if clauses to
      6772
      	make it more portable.
      6773
       
      6774
      	* src/cff/cffobjs.c (cff_face_init): Ditto.
      6775
       
      6776
      	* include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for
      6777
      	`module_size'.
      6778
      	* include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for
      6779
      	`glyph_size'.
      6780
       
      6781
      	* src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to
      6782
      	`FT_Render_Mode'.
      6783
      	(FT_Render_Glyph_Internal): Change third parameter to
      6784
      	`FT_Render_Mode'.
      6785
      	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter
      6786
      	to `FT_Render_Mode'.
      6787
       
      6788
      	* src/raster/ftrend1.c (ft_raster1_render): Change third parameter
      6789
      	to `FT_Render_Mode'.
      6790
      	* src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd,
      6791
      	ft_smooth_render_lcd_v): Ditto.
      6792
      	(ft_smooth_render_generic): Change third and fifth parameter to
      6793
      	`FT_Render_Mode'.
      6794
       
      6795
      	* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
      6796
      	include/freetype/ftglyph.h: Updated.
      6797
       
      6798
      	* src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c
      6799
      	(PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load),
      6800
      	src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c
      6801
      	(T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change
      6802
      	fourth parameter to `FT_Int32'.
      6803
       
      6804
      	* src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters
      6805
      	and declare them as unused.
      6806
       
      6807
      	* src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'.
      6808
       
      6809
      	* src/psnames/psnames.h (PS_Unicode_Value_Func): Change return
      6810
      	value to FT_UInt32.
      6811
      	* src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table):
      6812
      	Updated accordingly.
      6813
       
      6814
      2002-09-26  Wolfgang Domröse  
      6815
       
      6816
      	* src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'.
      6817
      	(cff_get_glyph_name): Use cast for result of ft_strlen.
      6818
      	* src/cff/cffparse.c (cff_parse_real): User cast for assigning
      6819
      	`exp'.
      6820
      	* src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for
      6821
      	some local variables.
      6822
      	(cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some
      6823
      	switch statements.
      6824
      	(cff_font_load): Use cast in call to CFF_Load_FD_Select.
      6825
      	* src/cff/cffobjs.c (cff_size_init): Use more casts.
      6826
      	(cff_face_init): Use FT_Int32 for `flags'.
      6827
      	* src/cff/cffgload.c (cff_operator_seac): Use cast for assigning
      6828
      	`adx' and `ady'.
      6829
      	(cff_decoder_parse_charstrings): Use FT_ULong for third parameter.
      6830
      	Use more casts.
      6831
      	* src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'.
      6832
       
      6833
      	* src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'.
      6834
      	* src/cid/cidgload.c (cid_load_glyph): Add missing cast for
      6835
      	`cid_get_offset'.
      6836
       
      6837
      	* src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use
      6838
      	cast for `num_points'.
      6839
      	(t1_decoder_init): Use cast for assigning `decoder->num_glyphs'.
      6840
       
      6841
      	* src/base/ftdebug.c (ft_debug_init): Use FT_Int.
      6842
      	* include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use
      6843
      	`FT_Int32' for fourth parameter.
      6844
      	* src/base/ftobjs.c (open_face): Use cast for calling
      6845
      	clazz->init_face.
      6846
       
      6847
      	* src/raster/ftraster.c (Set_High_Precision): Use `1' instead of
      6848
      	`1L'.
      6849
      	(Finalize_Profile_Table, Line_Up, ft_black_init): Use casts.
      6850
      	* src/raster/ftrend1.c (ft_raster1_render): Ditto.
      6851
       
      6852
      	* src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long
      6853
      	constant.
      6854
       
      6855
      2002-09-26  Detlef Würkner  
      6856
       
      6857
      	* builds/amiga/include/freetype/config/ftmodule.h: Updated.
      6858
       
      6859
      2002-09-25  David Turner  
      6860
       
      6861
      	* src/autohint/ahtypes.h (AH_HINT_METRICS): Disabling metrics
      6862
      	hinting in the auto-hinter.  This produces much better anti-aliased
      6863
      	text.
      6864
       
      6865
      	* docs/CHANGES: Updating the changes documentation.
      6866
       
      6867
      2002-09-25  Anthony Fok  
      6868
       
      6869
      	* src/sfnt/ttcmap0.c (tt_cmap4_validate, tt_cmap4_char_index,
      6870
      	tt_cmap4_char_next): Added support for opens___.ttf (it contains a
      6871
      	charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
      6872
      	missing glyph).
      6873
       
      6874
      2002-09-21  Wolfgang Domröse  
      6875
       
      6876
      	* src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
      6877
      	FT_Int32.
      6878
      	* src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
      6879
      	Ditto.
      6880
       
      6881
      2002-09-19  Wolfgang Domröse  
      6882
       
      6883
      	More 16bit fixes.
      6884
       
      6885
      	* src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
      6886
      	(ah_hinter_compute_widths): Use FT_Pos for `dist'.
      6887
      	Use AH_MAX_WIDTHS.
      6888
      	* src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
      6889
      	for `delta'.
      6890
      	(ah_outline_compute_edges): Replace some ints with FT_Int and
      6891
      	FT_Pos.
      6892
      	(ah_test_extrema): Clean up code.
      6893
      	(ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
      6894
      	hold indices.
      6895
      	* src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
      6896
      	to FT_Pos.
      6897
       
      6898
      2002-09-19  Werner Lemberg  
      6899
       
      6900
      	* builds/unix/config.guess, builds/unix/config.sub: Updated to
      6901
      	recent versions.
      6902
       
      6903
      2002-09-18  David Turner  
      6904
       
      6905
      	* src/base/ftobjs.c (FT_Library_Version): Bugfix.
      6906
       
      6907
      	* FreeType 2.1.3rc2 (release candidate 2) is released!
      6908
       
      6909
      2002-09-17  David Turner  
      6910
       
      6911
      	* include/freetype/freetype.h, include/freetype/ftimage.h,
      6912
      	include/freetype/ftstroker.h, include/freetype/ftsysio.h,
      6913
      	include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating
      6914
      	the in-source documentation.
      6915
       
      6916
      	* src/tools/docmaker/tohtml.py: Updating the HTML formatter in the
      6917
      	DocMaker tool.
      6918
       
      6919
      	* src/tools/docmaker.py: Removed.
      6920
       
      6921
      2002-09-17  Werner Lemberg  
      6922
       
      6923
      	More 16bit fixes.
      6924
       
      6925
      	* src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for
      6926
      	second parameter.
      6927
       
      6928
      2002-09-16  Werner Lemberg  
      6929
       
      6930
      	16bit fixes from Wolfgang Domröse.
      6931
       
      6932
      	* src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
      6933
      	and `private_len' to FT_Long.
      6934
      	* src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
      6935
      	`private_len'.
      6936
      	* src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
      6937
      	Use FT_PtrDist where appropriate.
      6938
      	(parse_encoding): Use FT_Long for `count' and `n'.
      6939
      	(read_binary_data): Use FT_Long* for second parameter.
      6940
      	* src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.
      6941
       
      6942
      	* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
      6943
      	* src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
      6944
       
      6945
      2002-09-14  Werner Lemberg  
      6946
       
      6947
      	Making ftgrays.c compile stand-alone again.
      6948
       
      6949
      	* include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
      6950
      	isn't defined.
      6951
      	* src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
      6952
      	FT_BEGIN_HEADER, FT_END_HEADER.
      6953
      	(FT_MEM_ZERO): Define.
      6954
      	(TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
      6955
      	(gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
      6956
      	Don't cast with `FT_Byte'.
      6957
      	(grays_init_gamma): Don't use `FT_UInt'.
      6958
       
      6959
      2002-09-14  Werner Lemberg  
      6960
       
      6961
      	* src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
      6962
      	* src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
      6963
      	* include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
      6964
      	to 32.
      6965
       
      6966
      2002-09-10  Werner Lemberg  
      6967
       
      6968
      	* builds/unix/configure.ac (version_info): Set to 9:2:3.
      6969
      	* builds/unix/configure: Regenerated.
      6970
      	* docs/VERSION.DLL: Updated.
      6971
       
      6972
      2002-09-09  David Turner  
      6973
       
      6974
      	* src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
      6975
      	src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
      6976
      	to prevent seg fault when hints are provided in an empty glyph.
      6977
       
      6978
      	* src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
      6979
      	Removed conditional code.  This fixes a bug that prevented
      6980
      	compilation in debug mode of template instantiation.
      6981
       
      6982
      	* include/freetype/ftimage.h: Removed incorrect `zft_' definitions
      6983
      	and updated constants documentation comments.
      6984
       
      6985
      	* src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader.
      6986
      	It didn't accept empty arrays, and this prevented the loading of
      6987
      	certain fonts.
      6988
       
      6989
      	* include/freetype/freetype.h (FT_FaceRec): Updating documentation
      6990
      	comment.  The `descender' value is always *negative*, not positive.
      6991
       
      6992
      2002-09-09  Owen Taylor  
      6993
       
      6994
      	* src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation
      6995
      	of bitmap metrics.
      6996
       
      6997
      2002-09-08  David Turner  
      6998
       
      6999
      	Various updates to correctly support sub-pixel rendering.
      7000
       
      7001
      	* include/freetype/config/ftmodule.h: Add two renderers for LCD.
      7002
       
      7003
      	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
      7004
       
      7005
      	* src/smooth/ftsmooth.c (ft_smooth_render_lcd,
      7006
      	ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and
      7007
      	FT_PIXEL_MODE_LCD_V, respectively.
      7008
       
      7009
      	* include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New
      7010
      	structure.
      7011
      	Updated all users.
      7012
      	(FTC_ImageDesc): Removed.
      7013
      	(FTC_ImageCache_Lookup): Second parameter is now of type
      7014
      	`FTC_ImageType'.
      7015
      	Updated all users.
      7016
      	(FTC_IMAGE_DESC_COMPARE): Updated and renamed to...
      7017
      	(FTC_IMAGE_TYPE_COMPARE): This.
      7018
      	(FTC_IMAGE_DESC_HASH): Updated and renamed to...
      7019
      	(FTC_IMAGE_TYPE_HASH): This.
      7020
       
      7021
      	* include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays'
      7022
      	replaced with `max_grays'.
      7023
      	`pitch' is now FT_Short.
      7024
      	(FTC_SBitCache_Lookup): Second parameter is now of type
      7025
      	`FTC_ImageType'.
      7026
      	Updated all users.
      7027
       
      7028
      	* src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec):
      7029
      	Updated.
      7030
      	(ftc_image_node_init): Updated.
      7031
      	Moved code to convert type flags to load flags to...
      7032
      	(FTC_Image_Cache_Lookup): This function.
      7033
      	(ftc_image_family_init): Updated.
      7034
       
      7035
      	* src/cache/ftcsbit.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
      7036
      	Updated.
      7037
      	(ftc_sbit_node_load): Updated.
      7038
      	Moved code to convert type flags to load flags to...
      7039
      	(FTC_SBitCache_Lookup): This function.
      7040
       
      7041
      	* src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with
      7042
      	`do_*_snapping'.
      7043
      	Update all users (with negation).
      7044
      	* src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for
      7045
      	`dist' for `delta' < 40.
      7046
       
      7047
      	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with
      7048
      	`do_*_snapping'.
      7049
      	Update all users (with negation).
      7050
      	* src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New
      7051
      	function.
      7052
      	(psh3_hint_align): Use it.
      7053
      	Improve hinting code.
      7054
      	[STRONGER]: Removed.
      7055
      	(STRONGER): Removed.
      7056
       
      7057
      	* include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*):
      7058
      	Removed.
      7059
       
      7060
      2002-09-05  Werner Lemberg  
      7061
       
      7062
      	* src/cid/cidobjs.c (CID_Size_Init): Renamed to...
      7063
      	(cid_size_init): This.
      7064
      	* src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
      7065
      	(t1_builder_add_point1): This.
      7066
       
      7067
      	Updated all affected code.
      7068
       
      7069
      	* src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
      7070
      	* src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.
      7071
       
      7072
      2002-09-04  David Turner  
      7073
       
      7074
      	* include/freetype/freetype.h: Corrected the definition of
      7075
      	ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
      7076
      	the erroneous FT_ENCODING_SYMBOL).
      7077
       
      7078
      	* builds/unix/unix-def.in (datadir): Initialize it (thanks to
      7079
      	Anthony Fok).
      7080
       
      7081
      2002-08-29  David Turner  
      7082
       
      7083
      	Slight modification to the Postscript hinter to slightly increase
      7084
      	the contrast of smooth hinting.  This is very similar to what the
      7085
      	auto-hinter does when it comes to stem width computations.  However,
      7086
      	it produces better results with well-hinted fonts.
      7087
       
      7088
      	* include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint
      7089
      	mode to `init' member function.
      7090
      	(T1_DecoderRec): Add hint mode.
      7091
      	* include/freetype/internal/pshints (T1_Hints_ApplyFunc,
      7092
      	T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'.
      7093
      	* src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument.
      7094
      	* src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not
      7095
      	hint flags.
      7096
      	* src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto.
      7097
      	* src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto.
      7098
      	(STRONGER): New macro.
      7099
      	(psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead
      7100
      	of `hint_flags'.
      7101
      	Implement announced changes.
      7102
      	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control
      7103
      	vertical and horizontal hints and snapping.
      7104
       
      7105
      	* README, docs/CHANGES: Updating for the 2.1.3 release.
      7106
       
      7107
      2002-08-27  David Turner  
      7108
       
      7109
      	* Massive re-formatting changes to many, many source files.  I don't
      7110
      	want to list them all here.  The operations performed were all
      7111
      	logical transformations of the sources:
      7112
       
      7113
      	- trying to convert all enums and constants to CAPITALIZED_STYLE,
      7114
      	  #with define definitions like
      7115
       
      7116
      	    #define my_old_constants   MY_NEW_CONSTANT
      7117
       
      7118
      	- big, big update of the documentation comments
      7119
       
      7120
      	* include/freetype/freetype.h, src/base/ftobjs.c,
      7121
      	src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support
      7122
      	for LCD-optimized rendering though the new constants/enums:
      7123
       
      7124
      	  FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
      7125
      	  FT_PIXEL_MODE_LCD,  FT_PIXEL_MODE_LCD_V
      7126
       
      7127
      	This is still work in progress, don't expect everything to work
      7128
      	correctly though most of the features have been implemented.
      7129
       
      7130
      	* Adding new FT_LOAD_XXX flags, used to specify both hinting and
      7131
      	rendering targets:
      7132
       
      7133
      	  FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
      7134
      	  FT_LOAD_TARGET_MONO   :: monochrome bitmaps
      7135
      	  FT_LOAD_TARGET_LCD    :: horizontal RGB/BGR decimated
      7136
      	                           hinting & rendering
      7137
      	  FT_LOAD_TARGET_LCD_V  :: vertical RGB/BGR decimated
      7138
      	                           hinting & rendering
      7139
       
      7140
      	Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
      7141
      	behaviour of the font engine is _unchanged_.
      7142
       
      7143
      	* include/freetype/ftimage.h
      7144
      	(FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to...
      7145
      	(FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This.
      7146
      	(FT_Raster_Span_Func): Renamed to ...
      7147
      	(FT_SpanFunc): This.
      7148
      	(FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ...
      7149
      	(FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This.
      7150
       
      7151
      	Updated all affected code.
      7152
       
      7153
      	* include/freetype/ftrender.h
      7154
      	(FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed
      7155
      	to ...
      7156
      	(FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This.
      7157
      	(FTRenderer_{render,transform,getCBox,setMode}): Renamed to ...
      7158
      	(FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SeteModeFunc}):
      7159
      	This.
      7160
       
      7161
      	Updated all affected code.
      7162
       
      7163
      	* src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals,
      7164
      	AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now
      7165
      	pointers to the corresponding `*Rec' structures.  All source files
      7166
      	have been updated accordingly.
      7167
       
      7168
      	* src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter.
      7169
      	* src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element.
      7170
       
      7171
      	* src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to...
      7172
      	(cid_face_compute_max_advance): This.
      7173
      	(CID_Load_Glyph): Renamed to...
      7174
      	(cid_slot_load_glyph): This.
      7175
      	* src/cid/cidload.c (CID_Open_Face): Renamed to...
      7176
      	(cid_face_open): This.
      7177
      	* src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to...
      7178
      	(cid_slot_{done,init}): This.
      7179
      	(CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to...
      7180
      	(cid_size_{get_globals_funcs,done,reset): This.
      7181
      	(CID_Face_{Done,Init}): Renamed to...
      7182
      	(cid_face_{done,init}): This.
      7183
      	(CID_Driver_{Done,Init}: Renamed to...
      7184
      	(cid_driver_{done,init}: This.
      7185
      	* src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to...
      7186
      	(cid_parser_{new,done}): This.
      7187
      	* src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to...
      7188
      	(cid_parser_skip_{spaces,alpha}): This.
      7189
      	(CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed
      7190
      	to...
      7191
      	(cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}):
      7192
      	This.
      7193
      	(CID_Load_{Field,Field_Table): Renamed to...
      7194
      	(cid_parser_load_{field,field_table}): This.
      7195
      	* src/cid/cidriver.c (CID_Get_Interface): Renamed to...
      7196
      	(cid_get_interface): This.
      7197
       
      7198
      	Updated all affected code.
      7199
       
      7200
      	* src/psaux/psobjs.c (PS_Table_*): Renamed to...
      7201
      	(ps_table_*): This.
      7202
      	(T1_Builder_*): Renamed to...
      7203
      	(t1_builder_*): This.
      7204
      	* src/psaux/t1decode.c (T1_Decoder_*): Renamed to...
      7205
      	(t1_decoder_*): This.
      7206
       
      7207
      	* src/psnames/psmodule.c (PS_*): Renamed to...
      7208
      	(ps_*): This.
      7209
       
      7210
      	Updated all affected code.
      7211
       
      7212
      	* src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to...
      7213
      	(sfnt_get_interface): This.
      7214
      	* src/sfnt/sfobjs.c (SFNT_*): Renamed to...
      7215
      	(sfnt_*): This.
      7216
      	* src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to...
      7217
      	(tt_face_{load,free}_charmap): This.
      7218
      	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to...
      7219
      	(tt_face_build_cmaps): This.
      7220
      	* src/sfnt/ttload.c (TT_*): Renamed to...
      7221
      	(tt_face_*): This.
      7222
      	* src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to...
      7223
      	(tt_post_default_names): This.
      7224
      	(Load_*): Renamed to...
      7225
      	(load_*): This.
      7226
      	(TT_*): Renamed to...
      7227
      	(tt_face_*): This.
      7228
      	* src/sfnt/ttsbit.c (TT_*): Renamed to...
      7229
      	(tt_face_*): This.
      7230
      	({Find,Load,Crop}_*): Renamed to...
      7231
      	({find,load,crop}_*): This.
      7232
       
      7233
      	Updated all affected code.
      7234
       
      7235
      	* src/smooth/ftsmooth.c (ft_smooth_render): Renamed to...
      7236
      	(ft_smooth_render_generic): This.
      7237
      	Make function more generic by adding vertical and horizontal scaling
      7238
      	factors.
      7239
      	(ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v):
      7240
      	New functions.
      7241
       
      7242
      	(ft_smooth_locd_renderer_class, ft_smooth_lcdv_renderer_class): New
      7243
      	classes.
      7244
       
      7245
      	* src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to...
      7246
      	(tt_glyphzone_{done,new}): This.
      7247
      	(TT_{Face,Size,Driver}_*): Renamed to...
      7248
      	(tt_{face,size,driver}_*): This.
      7249
      	* src/truetype/ttpload.c (TT_Load_Locations): Renamed to...
      7250
      	(tt_face_load_loca): This.
      7251
      	(TT_Load_Programs): Renamed to...
      7252
      	(tt_face_load_fpgm): This.
      7253
      	(TT_*): Renamed to...
      7254
      	(tt_face_*): This.
      7255
       
      7256
      2002-08-27  Werner Lemberg  
      7257
       
      7258
      	* docs/VERSION.DLL: New file.
      7259
       
      7260
      2002-08-23  Graham Asher  
      7261
       
      7262
      	* src/cff/cffgload.c (cff_operator_seac)
      7263
      	[FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not
      7264
      	incremental in the case of CFF but just using callbacks to get glyph
      7265
      	recipes) pass the character code, not the glyph index, to the
      7266
      	get_glyph_data function; they have no valid charset table.
      7267
       
      7268
      	* src/cff/cffload.c (cff_font_load): Removed special cases for
      7269
      	FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF
      7270
      	fonts provided via the incremental interface now have to conform
      7271
      	more closely to the CFF font format.
      7272
       
      7273
      	* src/cff/cffload.h (cff_font_load): Removed argument now unneeded.
      7274
       
      7275
      	* src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load
      7276
      	to conform with new signature.
      7277
       
      7278
      2002-08-22  David Turner  
      7279
       
      7280
      	* src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c,
      7281
      	src/bdf/bdfdrivr.c: Removed compiler warnings.
      7282
       
      7283
      2002-08-21  Werner Lemberg  
      7284
       
      7285
      	* src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections,
      7286
      	psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix
      7287
      	compiler warnings and resolve shadowing of local variables.
      7288
       
      7289
      2002-08-21  David Turner  
      7290
       
      7291
      	The automatic and Postscript hinter now automatically detect
      7292
      	inflection points in glyph outlines and treats them specially.  This
      7293
      	is very useful to prevent nasty effect like the disappearing
      7294
      	diagonals of `S' and `s' in many, many fonts.
      7295
       
      7296
      	* src/autohint/ahtypes.h (ah_flag_inflection): New macro.
      7297
      	* src/autohint/ahangles.c (ah_angle_diff): New function.
      7298
      	* src/autohint/ahangles.h: Updated.
      7299
      	* src/autohint/ahglyph.c (ah_outline_compute_inflections): New
      7300
      	function.
      7301
      	(ah_outline_detect_features): Use it.
      7302
      	* src/autohint/ahhint.c (ah_hinter_align_strong_points)
      7303
      	[!AH_OPTION_NO_WEAK_INTERPOLATION]: Handle inflection.
      7304
       
      7305
      	* src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py,
      7306
      	src/tools/docmaker/tohtml.py: Updating the DocMaker tool.
      7307
       
      7308
      	* include/freetype/freetype.h: Changing the type of the `load_flags'
      7309
      	parameter from `FT_Int' to `FT_Int32', this in order to support more
      7310
      	options.  This should only break binary and/or source compatibility
      7311
      	on 16-bit platforms (Atari?).
      7312
      	(FT_LOAD_NO_AUTOHINT): New macro.
      7313
       
      7314
      	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
      7315
      	Handle FT_LOAD_NO_AUTOHINT.
      7316
      	(FT_Load_Char): Updated.
      7317
       
      7318
      	* src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c,
      7319
      	src/autohint/ahglyph.c, include/freetype/freetype.h: Fixing typos
      7320
      	and removing compiler warnings.
      7321
       
      7322
      2002-08-20  Werner Lemberg  
      7323
       
      7324
      	* src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
      7325
       
      7326
      2002-08-20  David Turner  
      7327
       
      7328
      	* src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
      7329
      	src/pshinter/pshglob.c, src/pshinter/pshrec.c,
      7330
      	src/autohint/ahmodule.c [DEBUG_HINTER]: Removing compiler warnings
      7331
      	(only used in development builds anyway).
      7332
       
      7333
      	Improve support of local extrema and stem edge points.
      7334
       
      7335
      	* src/pshinter/pshalgo3.h (PSH3_Hint_TableRec): Use PSH3_ZoneRec
      7336
      	for `zones'.
      7337
      	(PSH3_DIR_UP, PSH3_DIR_DOWN): Exchange values.
      7338
      	(PSH3_DIR_HORIZONTAL, PSH3_DIR_VERTICAL): New macros.
      7339
      	(PSH3_DIR_COMPARE, PSH3_DIR_IS_HORIZONTAL, PSH3_IS_VERTICAL): New
      7340
      	macros.
      7341
      	(PSH3_POINT_INFLEX): New enum.
      7342
      	(psh3_point_{is,set}_{off,inflex}): New macros.
      7343
      	(PSH3_POINT_{EXTREMUM,POSITIVE,NEGATIVE,EDGE_MIN,EDGE_MAX): New
      7344
      	enum values.
      7345
      	(psh3_point_{is,set}_{extremum,positive,negative,edge_min,edge_max}):
      7346
      	New macros.
      7347
      	(PSH3_PointRec): New members `flags2' and `org_v'.
      7348
      	(PSH3_POINT_EQUAL_ARG, PSH3_POINT_ANGLE): New macros.
      7349
       
      7350
      	* src/pshinter/pshalgo3.c [DEBUG_HINTER]: Removing compiler
      7351
      	warnings.
      7352
      	(COMPUTE_INFLEXS): New macro.
      7353
      	(psh3_hint_align): Simplify some basic arithmetic computations.
      7354
      	(psh3_point_is_extremum): Removed.
      7355
      	(psh3_glyph_compute_inflections) [COMPUTE_INFLEXS]: New function.
      7356
      	(psh3_glyph_init) [COMPUTE_INFLEXS]: Use it.
      7357
      	(psh3_glyph_compute_extrema): New function.
      7358
      	(PSH3_STRONG_THRESHOLD): Increased to 30.
      7359
      	(psh3_hint_table_find_strong_point): Improved.
      7360
      	(psh3_glyph_find_strong_points,
      7361
      	psh3_glyph_interpolate_strong_points): Updated.
      7362
      	(psh3_hints_apply): Use psh3_glyph_compute_extrema.
      7363
       
      7364
      	* test/gview.c (draw_ps3_hint, ps3_draw_control_points): New
      7365
      	functions.
      7366
      	Other small updates.
      7367
       
      7368
      	* Jamfile: Small updates.
      7369
       
      7370
      2002-08-18  Arkadiusz Miskiewicz  
      7371
       
      7372
      	* builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to
      7373
      	make life easier for package maintainers.
      7374
       
      7375
      2002-08-18  Werner Lemberg  
      7376
       
      7377
      	* src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
      7378
      	horiBearingX.
      7379
      	* src/bdf/bdfdrivr.c (BDF_GlyphLoad): Fix computation of
      7380
      	horiBearingY.
      7381
       
      7382
      2002-08-16  George Williams  
      7383
       
      7384
      	Add support for Apple composite glyphs.
      7385
       
      7386
      	* include/freetype/config/ftoption.h
      7387
      	(TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.
      7388
       
      7389
      	* src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
      7390
      	UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
      7391
      	glyph loading flags.
      7392
      	(load_truetype_glyph): Implement it.
      7393
       
      7394
      2002-08-16  Werner Lemberg  
      7395
       
      7396
      	* src/cff/cffgload.c (cff_free_glyph_data),
      7397
      	src/cff/cffload.c (cff_font_load): Use FT_UNUSED.
      7398
       
      7399
      2002-08-15  Werner Lemberg  
      7400
       
      7401
      	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'.
      7402
      	* src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
      7403
       
      7404
      2002-08-15  Graham Asher  
      7405
       
      7406
      	Implemented the incremental font loading system for the CFF driver.
      7407
      	Tested using the GhostScript-to-FreeType bridge (under development).
      7408
       
      7409
      	* src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): New
      7410
      	functions.
      7411
      	(cff_operator_seac, cff_compute_max_advance, cff_slot_load): Use
      7412
      	them.
      7413
      	* src/cff/cffload.c (cff_font_load): Add `face' parameter.
      7414
      	Load charset and encoding only if there are glyphs.
      7415
      	[FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts don't need
      7416
      	character recipes.
      7417
      	* src/cff/cffload.h, src/cff/cffobjs.c: Updated.
      7418
       
      7419
      	* src/cid/cidgload.c (cid_load_glyph)
      7420
      	[FT_CONFIG_OPTION_INCREMENTAL]: Corrected the incremental font
      7421
      	loading implementation to use the new system introduced on
      7422
      	2002-08-01.
      7423
       
      7424
      2002-08-06  Werner Lemberg  
      7425
       
      7426
      	* src/cff/cffcmap.c: Remove compiler warnings.
      7427
      	* src/cache/ftccache.c, src/cache/ftccache.i,
      7428
      	src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
      7429
      	* src/cff/cffload.c: s/select/fdselect/.
      7430
      	* src/raster/ftraster.c: s/wait/waiting/.
      7431
       
      7432
      2002-08-01  Graham Asher  
      7433
       
      7434
      	* src/type1/t1load.c (T1_Open_Face): Tolerate a face with no
      7435
      	charstrings if there is an incremental loading interface.  Type 1
      7436
      	faces supplied by PostScript interpreters like GhostScript will
      7437
      	typically not provide any charstrings at load time, so this is
      7438
      	essential if they are to work.
      7439
       
      7440
      2002-08-01  Graham Asher  
      7441
       
      7442
      	Modified incremental loading interface to be closer to David's
      7443
      	preferences.  The header freetype.h is not now affected, the
      7444
      	interface is specified via an FT_Parameter, the pointer to the
      7445
      	interface is hidden in an internal part of the face record, and all
      7446
      	the definitions are in ftincrem.h.
      7447
       
      7448
      	* include/freetype/freetype.h [FT_CONFIG_OPTION_INCREMENTAL]:
      7449
      	Removed.
      7450
      	* include/freetype/internal/ftobjs.h [FT_CONFIG_OPTION_INCREMENTAL]:
      7451
      	Include FT_INCREMENTAL_H.
      7452
      	(FT_Face_InternalRec) [FT_CONFIG_OPTION_INCREMENTAL]: Add
      7453
      	`incremental_interface'.
      7454
       
      7455
      	* src/base/ftobjs.c (open_face, FT_Open_Face)
      7456
      	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
      7457
      	* src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
      7458
      	Updated.
      7459
       
      7460
      	* src/truetype/ttgload.c (load_truetype_glyph)
      7461
      	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
      7462
      	Free loaded glyph data properly.
      7463
      	(compute_glyph_metrics, TT_Load_Glyph)
      7464
      	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
      7465
      	* src/truetype/ttobjs.c (TT_Face_Init)
      7466
      	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
      7467
       
      7468
      	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
      7469
      	[FT_CONFIG_OPTION_INCREMENTAL]: Updated.
      7470
      	(T1_Parse_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
      7471
      	Free loaded glyph data properly.
      7472
      	(T1_Load_Glyph): Updated.
      7473
      	[FT_CONFIG_OPTION_INCREMENTAL]: Free loaded glyph data properly.
      7474
       
      7475
      2002-07-30  David Turner  
      7476
       
      7477
      	* include/freetype/ftincrem.h: Adding new experimental header file
      7478
      	to demonstrate a `cleaner' API to support incremental font loading.
      7479
       
      7480
      	* include/freetype/config/ftheader.h (FT_INCREMENTAL_H): New macro.
      7481
       
      7482
      	* src/tools/docmaker/*: Adding new (more advanced) version of
      7483
      	the DocMaker tool, using Python's sophisticated regexps.
      7484
       
      7485
      2002-07-28  Werner Lemberg  
      7486
       
      7487
      	s/ft_memset/FT_MEM_SET/.
      7488
      	s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
      7489
       
      7490
      2002-07-27  Werner Lemberg  
      7491
       
      7492
      	* src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs.
      7493
       
      7494
      2002-07-26  Werner Lemberg  
      7495
       
      7496
      	* src/truetype/ttgload.c (load_truetype_glyph)
      7497
      	[FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.
      7498
       
      7499
      	* src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
      7500
      	* src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
      7501
      	* src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
      7502
      	variable.
      7503
      	* src/truetype/ttgload.c (load_truetype_glyph): Remove statement
      7504
      	without effect.
      7505
      	* src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
      7506
       
      7507
      	* src/pshinter/pshalgo3.c (psh3_hint_table_record,
      7508
      	psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error
      7509
      	message.
      7510
       
      7511
      2002-07-24  Graham Asher  
      7512
       
      7513
      	* src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann
      7514
      	[sven@gimp.org] on the FreeType development forum: `If
      7515
      	FT_CONFIG_OPTION_INCREMENTAL is undefined (this is the default), the
      7516
      	TrueType loader crashes in line 852 of src/truetype/ttgload.c when
      7517
      	it tries to access face->glyph_locations.'
      7518
       
      7519
      2002-07-18  Graham Asher  
      7520
       
      7521
      	Added types and structures to support incremental typeface loading.
      7522
      	The FT_Incremental_Interface structure, defined in freetype.h, is
      7523
      	designed to be passed to FT_Open_Face to provide callback functions
      7524
      	to obtain glyph recipes and metrics, for fonts like those passed
      7525
      	from PostScript that do not necessarily provide all, or any, glyph
      7526
      	information, when first opened.
      7527
       
      7528
      	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
      7529
      	New configuration macro to enable incremental face loading.  By
      7530
      	default it is not defined.
      7531
       
      7532
      	* include/freetype/freetype.h (FT_Basic_Glyph_Metrics,
      7533
      	FT_Get_Glyph_Data_Func, FT_Get_Glyph_Metrics_Func,
      7534
      	FT_Incremental_Interface_Funcs, FT_Incremental_Interface)
      7535
      	[FT_CONFIG_OPTION_INCREMENTAL]: New.
      7536
      	(FT_Open_Args, FT_FaceRec) [FT_CONFIG_OPTION_INCREMENTAL]: New field
      7537
      	`incremental_interface'.
      7538
      	(FT_Open_Flags) [FT_CONFIG_OPTION_INCREMENTAL]: New enum
      7539
      	`ft_open_incremental'.
      7540
       
      7541
      	* include/freetype/fttypes.h: Include FT_CONFIG_CONFIG_H.
      7542
      	(FT_Data): New structure to represent binary data.
      7543
       
      7544
      	* src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]:
      7545
      	Add parameter for incremental loading.
      7546
      	(FT_Open_Face) [FT_CONFIG_OPTION_INCREMENTAL]: Use incremental
      7547
      	interface.
      7548
       
      7549
      	* src/truetype/ttgload.c (load_truetype_glyph)
      7550
      	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
      7551
      	for the TrueType driver.
      7552
      	(compute_glyph_metrics): Return FT_Error.
      7553
      	[FT_CONFIG_OPTION_INCREMENTAL]: Check for overriding metrics.
      7554
      	(TT_Load_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Don't look for
      7555
      	the glyph table while handling an incremental font.
      7556
      	Get glyph offset.
      7557
       
      7558
      	* src/truetype/ttobjs.c (TT_Face_Init)
      7559
      	[FT_CONFIG_OPTION_INCOREMENTAL]: Added the incremental loading
      7560
      	system for the TrueType driver.
      7561
       
      7562
      	* src/cid/cidgload.c (cid_load_glyph)
      7563
      	[FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
      7564
      	for the CID driver.
      7565
       
      7566
      	* src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
      7567
      	Changes to support incremental Type 42 fonts: Assume a font has
      7568
      	glyphs if it has an incremental interface object.
      7569
       
      7570
      	* src/type1/t1gload.c (T1_Parse_Glyph): Renamed to...
      7571
      	(T1_Parse_Glyph_And_Get_Char_String): This.
      7572
      	[FT_CONFIG_OPTION_INCREMENTAL]: Added support for incrementally
      7573
      	loaded Type 1 faces.
      7574
      	(T1_Parse_Glyph): New function.
      7575
      	(T1_Load_Glyph): Updated.
      7576
       
      7577
      2002-07-17  David Turner  
      7578
       
      7579
      	Cleaning up the cache sub-system code; linear hashing is now the
      7580
      	default.
      7581
       
      7582
      	* include/freetype/cache/ftccache.h, src/cache/ftccache.i,
      7583
      	src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed.
      7584
      	(FTC_CACHE_USE_LINEAR_HASHING: Removed also.
      7585
       
      7586
      	FT_CONFIG_OPTION_USE_CMAPS is now the default.
      7587
       
      7588
      	* include/freetype/internal/ftdriver.h (FT_Driver_ClassRec): Remove
      7589
      	`get_char_index' and `get_next_char'.
      7590
       
      7591
      	* include/freetype/config/ftoption.h,
      7592
      	include/freetype/internal/tttypes.h, src/base/ftobjs.c,
      7593
      	src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c,
      7594
      	src/pfr/pfrdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
      7595
      	src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c,
      7596
      	src/type42/t42objs.c, src/winfonts/winfnt.c
      7597
      	[!FT_CONFIG_OPTION_USE_CMAPS]: Removed.  The new cmap code is now
      7598
      	the default.
      7599
       
      7600
      	* src/type42/t42objs.c (T42_CMap_CharIndex, T42_CMap_CharNext):
      7601
      	Removed.
      7602
      	* src/type42/t42objs.h: Updated.
      7603
       
      7604
      	* src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char):
      7605
      	Removed.
      7606
      	(t1_cid_driver_class): Updated.
      7607
      	* src/truetype/ttdriver.c (tt_driver_class): Updated.
      7608
      	* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed
      7609
      	(t1_driver_class): Updated.
      7610
      	* src/type42/t42drivr.c (t42_driver_class): Updated.
      7611
       
      7612
      	* src/base/ftobjs.c (open_face): Select Unicode cmap by default.
      7613
       
      7614
      	* src/sfnt/ttload.c (TT_Load_SFNT_Header): Fixed a recent bug that
      7615
      	prevented OpenType fonts to be recognized by FreeType.
      7616
       
      7617
      2002-07-11  David Turner  
      7618
       
      7619
      	Changing the SFNT loader to check for SFNT-based font files
      7620
      	differently.  We now ignore the range `helper' fields and check the
      7621
      	`head' table's magic number instead.
      7622
       
      7623
      	* include/freetype/internal/tttypes.h (SFNT_HeaderRec): Add `offset'
      7624
      	field.
      7625
       
      7626
      	* src/sfnt/ttload.c (sfnt_dir_check): New function.
      7627
      	(TT_Load_SFNT_HeaderRec): Renamed to...
      7628
      	(TT_Load_SFNT_Header): This.
      7629
      	Implement new functionality.
      7630
      	* src/sfnt/ttload.h: Updated.
      7631
      	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
      7632
       
      7633
      	* src/base/ftobject.c, src/base/fthash.c: Updated object sub-system
      7634
      	and dynamic hash table implementation (still experimental, don't
      7635
      	use).
      7636
      	* include/freetype/internal/fthash.h: Updated.
      7637
      	* include/freetype/internal/ftobjs.h (FT_LibraryRec): New member
      7638
      	`meta_class'.
      7639
       
      7640
      	Fixing a bug in the Type 1 loader that prevented valid font bounding
      7641
      	boxes to be loaded from multiple master fonts.
      7642
       
      7643
      	* include/freetype/t1tables.h (PS_BlendRec): Add `bboxes' field.
      7644
       
      7645
      	* include/freetype/internal/psaux.h (T1_FieldType): Add
      7646
      	`T1_FIELD_TYPE_BBOX'.
      7647
      	(T1_FieldLocation): Add `T1_FIELD_LOCATION_BBOX'.
      7648
      	(T1_FIELD_BBOX): New macro.
      7649
       
      7650
      	* src/psaux/psobjs.c (PS_Parser_LoadField): Handle T1_FIELD_TYPE_BBOX.
      7651
      	* src/type1/t1load.c (t1_allocate_blend): Create blend->bboxes.
      7652
      	(T1_Done_Blend): Free blend->bboxes.
      7653
      	(t1_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
      7654
      	(parse_font_bbox): Commented out.
      7655
      	(t1_keywords): Comment out `parse_font_bbox'.
      7656
      	* src/type1/t1tokens.h: Define `FontBBox' field.
      7657
       
      7658
      2002-07-10  David Turner  
      7659
       
      7660
      	* src/cff/cffobjs.c: Small fix to select the Unicode charmap by
      7661
      	default when needed.
      7662
      	Small fix to allow OpenType fonts to support Adobe charmaps when
      7663
      	needed.
      7664
       
      7665
      	* src/cff/cffcmap.c, src/cff/cffcmap.h: New files to support
      7666
      	charmaps for CFF fonts.
      7667
       
      7668
      	* src/cff/cff.c, src/cff/Jamfile, src/cff/rules.mk: Updated.
      7669
       
      7670
      	* include/freetype/internal/cfftypes.h (CFF_EncodingRec): Use
      7671
      	fixed-length arrays for `sids' and `codes'.  Add `count' member.
      7672
      	(CFF_FontRec): Add `psnames' member.
      7673
       
      7674
      	* src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffload.h,
      7675
      	src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
      7676
      	src/cffparse.h, src/cff/cffgload.c, src/cff/cffgload.h: Adding
      7677
      	support for CFF charmaps, reformatting the sources, and removing
      7678
      	some bugs in the Encoding and Charset loaders.
      7679
      	Many fonts renamed to use lowercase only:
      7680
       
      7681
      	  CFF_Builder_Init -> cff_builder_init
      7682
      	  CFF_Builder_Done -> cff_builder_done
      7683
      	  CFF_Init_Decoder -> cff_decoder_init
      7684
      	  CFF_Parse_CharStrings -> cff_decoder_parse_charstrings
      7685
      	  CFF_Load_Glyph -> cff_slot_load
      7686
      	  CFF_Init_Decoder -> cff_decoder_init
      7687
      	  CFF_Prepare_Decoder -> cff_decoder_prepare
      7688
      	  CFF_Get_Standard_Encoding -> cff_get_standard_encoding
      7689
      	  CFF_Access_Element -> cff_index_access_element
      7690
      	  CFF_Forget_Element -> cff_index_forget_element
      7691
      	  CFF_Get_Name -> cff_index_get_name
      7692
      	  CFF_Get_String -> cff_index_get_sid_string
      7693
      	  CFF_Get_FD -> cff_fd_select_get
      7694
      	  CFF_Done_Charset -> cff_charset_done
      7695
      	  CFF_Load_Charset -> cff_charset_load
      7696
      	  CFF_Done_Encoding -> cff_encoding_done
      7697
      	  CFF_Load_Encoding -> cff_encoding_load
      7698
      	  CFF_Done_SubFont -> cff_subfont_done
      7699
      	  CFF_Load_Font -> cff_font_load
      7700
      	  CFF_Done_Font -> cff_font_done
      7701
      	  CFF_Size_Get_Global_Funcs -> cff_size_get_global_funcs
      7702
      	  CFF_Size_Done -> cff_size_done
      7703
      	  CFF_Size_Init -> cff_size_init
      7704
      	  CFF_Size_Reset -> cff_size_reset
      7705
      	  CFF_GlyphSlot_Done -> cff_slot_done
      7706
      	  CFF_GlyphSlot_Init -> cff_slot_init
      7707
      	  CFF_StrCopy -> cff_strcpy
      7708
      	  CFF_Face_Init -> cff_face_init
      7709
      	  CFF_Face_Done -> cff_face_done
      7710
      	  CFF_Driver_Init -> cff_driver_init
      7711
      	  CFF_Driver_Done -> cff_driver_done
      7712
      	  CFF_Parser_Init -> cff_parser_init
      7713
      	  CFF_Parser_Run -> cff_parser_run
      7714
       
      7715
      	  add_point -> cff_builder_add_point
      7716
      	  add_point1 -> cff_builder_add_point1
      7717
      	  add_contour -> cff_builder_add_contour
      7718
      	  close_contour -> cff_builder_close_contour
      7719
      	  cff_explicit_index -> cff_index_get_pointers
      7720
       
      7721
      2002-07-09  Owen Taylor  
      7722
       
      7723
      	* src/pshinter/pshglob.c (psh_globals_new): Fixed a bug that
      7724
      	prevented the hinter from using correct standard width and height
      7725
      	values, resulting in hinting bugs with certain fonts (e.g. Utopia).
      7726
       
      7727
      2002-07-07  David Turner  
      7728
       
      7729
      	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Added code to return
      7730
      	successfully when the function is called with a bitmap glyph (the
      7731
      	previous code simply returned with an error).
      7732
       
      7733
      	* docs/DEBUG.TXT: Adding debugging support documentation.
      7734
       
      7735
      	* src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c
      7736
      	(ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): Changed
      7737
      	the syntax of the FT2_DEBUG environment variable used to control
      7738
      	debugging output (i.e. logging and error messages).  It must now
      7739
      	look like:
      7740
       
      7741
      	  any:6 memory:4 io:3   or
      7742
      	  any:6,memory:4,io:3   or
      7743
      	  any:6;memory:4;io:3
      7744
       
      7745
      2002-07-07  Owen Taylor  
      7746
       
      7747
      	* src/pshinter/pshglob.c (psh_blues_snap_stem): Adding support for
      7748
      	blue fuzz.
      7749
      	* src/pshinter/pshglob.h (PSH_BluesRec): Add `blue_fuzz' field.
      7750
      	* src/type1/t1load.c (T1_Open_Face): Initialize `blue_fuzz'.
      7751
       
      7752
      	Adding support for hinter-specific bit flags, and the new
      7753
      	FT_Set_Hint_Flags high-level API.
      7754
       
      7755
      	* include/freetype/freetype.h (FT_Set_Hint_Flags): New function.
      7756
      	(FT_HINT_NO_INTEGER_STEM, FT_HINT_NO_HSTEM_ALIGN,
      7757
      	FT_HINT_NO_VSTEM_ALIGN): New macros.
      7758
       
      7759
      	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
      7760
      	`hint_flags' member.
      7761
       
      7762
      	* src/base/ftobjs.c (FT_Set_Hint_Flags): New function.
      7763
       
      7764
      	* include/freetype/internal/psaux.h (T1_DecoderRec): Add `hint_flags'
      7765
      	member.
      7766
       
      7767
      	* include/freetype/internal/pshints.h (T1_Hints_ApplyFunc,
      7768
      	T2_Hints_ApplyFunc): Add parameter to pass hint flags.
      7769
       
      7770
      	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings,
      7771
      	T1_Decoder_Init): Use decoder->hint_flags.
      7772
      	* src/cff/cffgload.h (CFF_Builder): Add `hint_flags' field.
      7773
      	* src/cff/cffgload.c (CFF_Builder_Init): Set builder->hint_flags.
      7774
      	(CFF_Parse_CharStrings): Updated.
      7775
      	* src/pshinter/pshalgo1.c (ps1_hints_apply): Add parameter to handle
      7776
      	hint flags (unused).
      7777
      	* src/pshinter/pshalgo1.h: Updated.
      7778
      	* src/pshinter/pshalgo2.c (ps2_hints_apply): Add parameter to handle
      7779
      	hint flags (unused).
      7780
      	* src/pshinter/pshalgo2.h: Updated.
      7781
      	* src/pshinter/pshalgo3.c (ps3_hints_apply): Add parameter to handle
      7782
      	hint flags.
      7783
      	* src/pshinter/pshalgo3.h: Updated.
      7784
       
      7785
      2002-07-04  David Turner  
      7786
       
      7787
      	* src/pfr/pfrobjs.c (pfr_slot_load): Fixed a small bug that returned
      7788
      	incorrect advances when the outline resolution was different from
      7789
      	the metrics resolution.
      7790
       
      7791
      	* src/autohint/ahhint.c: Removing compiler warnings.
      7792
       
      7793
      	* src/autohint/ahglyph.c: s/FT_MEM_SET/FT_ZERO/ where appropriate.
      7794
      	(ah_outline_link_segments): Slight improvements to the serif
      7795
      	detection code.  More work is needed though.
      7796
       
      7797
      2002-07-03  David Turner  
      7798
       
      7799
      	Small improvements to the automatic hinter.  Uneven stem-widths have
      7800
      	now disappeared and everything looks much better, even if there are
      7801
      	still issues with serifed fonts.
      7802
       
      7803
      	* src/autohint/ahtypes.h (AH_Globals): Added `stds' array.
      7804
      	* src/autohint/ahhint.c (OPTIM_STEM_SNAP): New #define.
      7805
      	(ah_snap_width): Commented out.
      7806
      	(ah_align_linked_edge): Renamed to...
      7807
      	(ah_compute_stem_width): This.
      7808
      	Don't allow uneven stem-widths.
      7809
      	(ah_align_linked_edge): New function.
      7810
      	(ah_align_serifed_edge): Don't strengthen serifs.
      7811
      	(ah_hint_edges_3, ah_hinter_scale_globals): Updated.
      7812
       
      7813
      2002-07-03  Owen Taylor  
      7814
       
      7815
      	Adding new algorithm based on Owen Taylor's recent work.
      7816
       
      7817
      	* src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: New files.
      7818
      	* src/pshinter/pshalgo.h: Updated.
      7819
      	Use pshalgo3 by default.
      7820
      	* src/pshinter/pshinter.c: Include pshalgo3.c.
      7821
       
      7822
      	* src/pshinter/Jamfile, src/pshinter/rules.mk: Updated.
      7823
       
      7824
      2002-07-01  Owen Taylor  
      7825
       
      7826
      	* src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points): Fix a bug
      7827
      	where, if a glyph has more than hint mask, the second mask gets
      7828
      	applied to points that should have been covered by the first mask.
      7829
       
      7830
      2002-07-01  Keith Packard  
      7831
       
      7832
      	* src/sfnt/ttcmap0.c (tt_cmap8_char_next, tt_cmap12_char_next):
      7833
      	Fixing the cmap 8 and 12 parsing routines.
      7834
       
      7835
      2002-07-01  David Turner  
      7836
       
      7837
      	* src/base/ftsynth.c: Include FT_TRIGONOMETRY_H.
      7838
      	(FT_Outline_Embolden): Renamed to...
      7839
      	(FT_GlyphSlot_Embolden): This.
      7840
      	Updated to new trigonometric functions.
      7841
      	(FT_Outline_Oblique): Renamed to...
      7842
      	(FT_GlyphSlot_Oblique): This.
      7843
      	(ft_norm): Removed.
      7844
      	* include/freetype/ftsynth.h: Updated.
      7845
       
      7846
      2002-06-26  David Turner  
      7847
       
      7848
      	* include/freetype/internal/ftobject.h: Updating the object
      7849
      	sub-system definitions (still experimental).
      7850
       
      7851
      	* src/base/fthash.c (ft_hash_remove): Fixing a small reallocation
      7852
      	bug.
      7853
       
      7854
      	* src/base/fttrigon.c (FT_Vector_From_Polar, FT_Angle_Diff): New
      7855
      	functions.
      7856
      	* include/freetype/fttrigon.h: Updated.
      7857
       
      7858
       
      7859
      	Adding path stroker component (work in progress).
      7860
       
      7861
      	* include/freetype/ftstroker.h, src/base/ftstroker.c: New files.
      7862
      	* src/base/Jamfile: Updated.
      7863
       
      7864
      	* include/freetype/config/ftheader.h (FT_STROKER_H): New macro.
      7865
       
      7866
       
      7867
      	* src/truetype/ttgload.c (TT_Load_Composite_Glyph),
      7868
      	src/base/ftoutln.c (FT_Vector_Transform): Fixed Werner's latest fix.
      7869
      	FT_Vector_Transform wasn't buggy, the TrueType composite loader was.
      7870
       
      7871
      2002-06-24  Werner Lemberg  
      7872
       
      7873
      	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
      7874
       
      7875
      2002-06-21  David Turner  
      7876
       
      7877
       
      7878
      	* Version 2.1.2 released.
      7879
      	=========================
      7880
       
      7881
       
      7882
      2002-06-21  Roberto Alameda  .
      7883
       
      7884
      	* include/freetype/internal/t42types.h (T42_Font): Removed since
      7885
      	it is already in t42objs.h.
      7886
      	(T42_Face): Use T1_FontRec.
      7887
       
      7888
      	* src/base/fttype1.c (FT_Get_PS_Font_Info): Updated.
      7889
      	(FT_Has_PS_Glyph_Names): Check for type42 driver name also.
      7890
      	* src/type42/t42objs.h: Include FT_INTERNAL_TYPE42_TYPES_H.
      7891
      	(T42_Face): Removed since it is already in t42types.h.
      7892
       
      7893
      2002-06-21  Detlef Würkner  
      7894
       
      7895
      	* src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite
      7896
      	glyphs.
      7897
       
      7898
      2002-06-21  Sven Neumann  
      7899
       
      7900
      	* src/prf/pfrtypes.h (PFR_KernPair): New structure.
      7901
      	(PFR_PhyFont): Use it.
      7902
      	(PFR_KernFlags): New enumeration.
      7903
      	* src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New
      7904
      	function.
      7905
      	(pfr_phy_font_extra_items): Use it.
      7906
      	(pfr_phy_font_done): Updated.
      7907
      	* src/pfr/pfrobjs.c (pfr_face_init): Set kerning flag conditionally.
      7908
      	(pfr_face_get_kerning): New function.
      7909
      	* src/pfr/pfrobjs.h: Updated.
      7910
      	* src/pfr/pfrdrivr.c (pfr_driver_class): Updated.
      7911
       
      7912
      2002-06-21  David Turner  
      7913
       
      7914
      	* README, docs/CHANGES: Preparing the 2.1.2 release.
      7915
       
      7916
      2002-06-19  Detlef Würkner  
      7917
       
      7918
      	* src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H.
      7919
      	(t1_face_check_cast): Removed.
      7920
      	(FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers
      7921
      	also.
      7922
       
      7923
      2002-06-19  Sebastien BARRE  
      7924
       
      7925
      	* src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
      7926
       
      7927
      2002-06-19  Werner Lemberg  
      7928
       
      7929
      	* src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
      7930
      	(xy <-> yx).
      7931
      	* src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
      7932
      	`||' to make code easier to read.
      7933
       
      7934
      2002-06-18  Roberto Alameda  .
      7935
       
      7936
      	* src/type42/t42objs.c (t42_check_size_change): Removed.
      7937
      	(T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size
      7938
      	instead.
      7939
      	(T42_GlyphSlot_Load): Remove call to t42_check_size_change.
      7940
       
      7941
      2002-06-18  Detlef Würkner  
      7942
       
      7943
      	* src/psaux/t1cmap.c (t1_cmap_custom_char_index,
      7944
      	t1_cmap_custom_char_next): Fix index computation -- indices start
      7945
      	with 0 and not with cmap->first.
      7946
       
      7947
      	Provide default charmaps.
      7948
       
      7949
      	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
      7950
      	(PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init),
      7951
      	src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c
      7952
      	(FNT_Face_Init): Implement it.
      7953
       
      7954
      2002-06-17  Sven Neumann  
      7955
       
      7956
      	* src/pfr/pfrobjs.c (pfr_face_init): Fix typo.
      7957
       
      7958
      2002-06-16  Leonard Rosenthol  
      7959
       
      7960
      	Updated Win32/VC++ projects to include the new PFR driver.
      7961
       
      7962
      	* builds/win32/visualc/freetype.dsp: Updated.
      7963
       
      7964
      2002-06-16  Anthony Fok  
      7965
       
      7966
      	Install freetype2.m4.
      7967
       
      7968
      	* builds/unix/install.mk (install, uninstall): Handle it.
      7969
       
      7970
      2002-06-16  Detlef Würkner  
      7971
       
      7972
      	Same fix for PFR driver.
      7973
       
      7974
      	* src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next):
      7975
      	Increase return value by 1.
      7976
      	* src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1.
      7977
       
      7978
      2002-06-15  Detlef Würkner  
      7979
       
      7980
      	Fix glyph indices to make index zero always the undefined glyph.
      7981
       
      7982
      	* src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease
      7983
      	cmap->num_encodings.
      7984
      	(bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index):
      7985
      	Increase result by 1 for normal cases.
      7986
      	(BDF_Glyph_Load): Decrease index by 1.
      7987
       
      7988
      	* src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next,
      7989
      	PCF_Char_Get_Index): Increase result by 1 for normal cases.
      7990
      	(PCF_Glyph_Load): Decrease index by 1.
      7991
      	* src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for
      7992
      	allocating `encoding'.
      7993
       
      7994
      	* src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix
      7995
      	bounding tests.
      7996
       
      7997
      2002-06-14  Detlef Würkner  
      7998
       
      7999
      	Add new cmap support to BDF driver.
      8000
       
      8001
      	* src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]:
      8002
      	New structure.
      8003
      	(bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index,
      8004
      	bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions.
      8005
      	(BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only
      8006
      	conditionally.
      8007
      	(BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords.
      8008
      	Implement new cmap handling.
      8009
      	(bdf_driver_class): Updated.
      8010
       
      8011
      2002-06-14  Werner Lemberg  
      8012
       
      8013
      	* Makefile, configure, */*.mk, builds/unix/unix-def.in,
      8014
      	docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/.
      8015
       
      8016
      2002-06-12  Werner Lemberg  
      8017
       
      8018
      	* src/bdf/bdflib.c: s/FT_Short/short/ for consistency.
      8019
       
      8020
      2002-06-11  David Turner  
      8021
       
      8022
      	* builds/win32/ftdebug.c: Added a missing #endif.
      8023
       
      8024
      	* src/sfnt/ttload.c, src/bdf/bdflib.c: Removing compiler warnings.
      8025
       
      8026
      	Removed the bug in Type 42 driver that prevented un-hinted outlines
      8027
      	to be loaded.
      8028
       
      8029
      	* src/type42/t42objs.c (T42_Face_Init): Call FT_Done_Size.
      8030
      	(T42_Size_Init): Call FT_Activate_Size.
      8031
      	(t42_check_size_change): New function.
      8032
      	(T42_Size_SetChars, T42_Size_SetPixels): Use it.
      8033
      	(ft_glyphslot_clear): Replace FT_MEM_SET with FT_ZERO.
      8034
      	(T42_GlyphSlot_Load): Use t42_check_size_change.
      8035
      	Initialize more fields of `glyph'.
      8036
       
      8037
      	* builds/win32/visualc/freetype.dsp: Updated.
      8038
       
      8039
      2002-06-09  David Turner  
      8040
       
      8041
       
      8042
      	* Version 2.1.1 released.
      8043
      	=========================
      8044
       
      8045
       
      8046
      2002-06-08  Juliusz Chroboczek  
      8047
       
      8048
      	* include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
      8049
      	src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: Don't
      8050
      	use `setjmp', `longjmp', and `jmp_buf' but `ft_setjmp', `ft_longjmp',
      8051
      	and `ft_jmp_buf'.
      8052
      	Removed direct references to  and  when
      8053
      	appropriate, to eventually replace them with a
      8054
      	FT_CONFIG_STANDARD_LIBRARY_H.  Useful for the XFree86 Font Server
      8055
      	backend based on FT2.
      8056
       
      8057
      	* src/base/fttype1.c (FT_Has_PS_Glyph_Names): Fix return value.
      8058
       
      8059
      2002-06-08  David Turner  
      8060
       
      8061
      	* src/pcf/pcfdriver.c (pcf_cmap_char_next): Fixed a bug that caused
      8062
      	the function to return invalid values.
      8063
       
      8064
      	* src/cache/ftccache.i: Removing a typo that prevented
      8065
      	the source's compilation.
      8066
       
      8067
      	* src/cache/ftccache.c (ftc_node_hash_unlink): Fixed a
      8068
      	bug that caused nasty memory overwrites.  The hash table's
      8069
      	buckets array wasn't correctly resized when shrunk.
      8070
       
      8071
      2002-06-08  Detlef Würkner  
      8072
       
      8073
      	* builds/amiga/smakefile, builds/amiga/makefile: Updated.
      8074
       
      8075
      2002-06-08  Werner Lemberg  
      8076
       
      8077
      	* src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
      8078
      	[FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
      8079
      	Fix debugging messages.
      8080
      	* src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of
      8081
      	`family' and `hash' up to make it compilable with g++.
      8082
       
      8083
      	* src/type42/t42error.h: New file.
      8084
      	* src/type42/t42drivr.c, src/type42/t42objs.c,
      8085
      	src/type42/t42parse.c: Use t42 error codes.
      8086
      	* src/type42/rules.mk: Updated.
      8087
       
      8088
      	* src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.
      8089
       
      8090
      2002-06-08  David Turner  
      8091
       
      8092
      	* src/cache/ftccmap.c: GEN_CACHE_FAMILY_COMPARE,
      8093
      	GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
      8094
      	New macros.
      8095
      	(ftc_cmap_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
      8096
      	ftc_cache_lookup.
      8097
      	(FTC_CMapCache_Lookup): Updated.
      8098
       
      8099
      	Adding various experimental optimizations to the cache manager.
      8100
       
      8101
      	* include/freetype/cache/ftccache.h (FTC_CACHE_USE_INLINE,
      8102
      	FTC_CACHE_USE_LINEAR_HASHING): New options.
      8103
      	(FTC_CacheRec) [FTC_CACHE_USE_LINEAR_HASHING]: New elements `p',
      8104
      	`mask', and `slack'.
      8105
       
      8106
      	* src/cache/ftccache.c (FTC_HASH_MAX_LOAD, FTC_HASH_MIN_LOAD,
      8107
      	FTC_HASH_SUB_LOAD) [FTC_CACHE_USE_LINEAR_HASHING,
      8108
      	FTC_HASH_INITIAL_SIZE]: New macros.
      8109
      	(ftc_node_mru_link, ftc_node_mru_up): Optimized.
      8110
      	(ftc_node_hash_unlink, ftc_node_hash_link)
      8111
      	[FTC_CACHE_USE_LINEAR_HASHING]: New variants.
      8112
      	(FTC_PRIMES_MIN, FTC_PRIMES_MAX, ftc_primes, ftc_prime_closest,
      8113
      	FTC_CACHE_RESIZE_TEST, ftc_cache_resize)
      8114
      	[!FTC_CACHE_USE_LINEAR_HASHING]: Define it conditionally.
      8115
      	(ftc_cache_init, ftc_cache_clear) [FTC_CACHE_USE_LINEAR_HASHING]:
      8116
      	Updated.
      8117
      	(ftc_cache_lookup) [FTC_CACHE_USE_LINEAR_HASHING]: Implement it.
      8118
       
      8119
      	* src/cache/ftccache.i: New file.
      8120
       
      8121
      	* src/cache/ftcsbits.c (GEN_CACHE_FAMILY_COMPARE,
      8122
      	GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
      8123
      	New macros.
      8124
      	(ftc_sbit_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
      8125
      	ftc_cache_lookup.
      8126
      	(FTC_SBitCache_Lookup): Updated.
      8127
       
      8128
      	* src/type42/t42parse.c: Removing duplicate function.
      8129
       
      8130
      2002-06-07  Graham Asher  
      8131
       
      8132
      	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Changed definition
      8133
      	from FT_EXPORT_DEF to FT_BASE_DEF.
      8134
       
      8135
      2002-06-07  David Turner  
      8136
       
      8137
      	Fixed the bug that prevented the correct display of fonts with
      8138
      	`ftview'.
      8139
       
      8140
      	* src/type42/t42drivr.c: Split into...
      8141
      	* src/type42/t42drivr.h, src/type42/t42parse.c,
      8142
      	src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c,
      8143
      	src/type42/type42.c: New files.
      8144
       
      8145
      	(t42_get_glyph_name, t42_get_ps_name, t42_get_name_index): Use
      8146
      	`face->type1'.
      8147
       
      8148
      	(Get_Interface): Renamed to...
      8149
      	(T42_Get_Interface): This.
      8150
      	Updated.
      8151
      	(T42_Open_Face, T42_Face_Done): Updated.
      8152
      	(T42_Face_Init): Add new cmap support.
      8153
      	Updated.
      8154
      	(T42_Driver_Init, T42_Driver_Done, T42_Size_Init, T42_Size_Done,
      8155
      	T42_GlyphSlot_Init, T42_GlyphSlot_Done): Updated.
      8156
      	(Get_Char_Index, Get_Next_Char): Renamed to...
      8157
      	(T42_CMap_CharIndex, T42_CMap_CharNext): This.
      8158
      	Updated.
      8159
      	(T42_Char_Size, T42_Pixel_Size): Renamed to...
      8160
      	(T42_Size_SetChars, T42_Size_SetPixels): This.
      8161
      	(T42_Load_Glyph): Renamed to...
      8162
      	(T42_GlyphSlot_Load): This.
      8163
       
      8164
      	(t42_init_loader, t42_done_loader): Renamed to...
      8165
      	(t42_loader_init, t42_loader_done): This.
      8166
      	(T42_New_Parser, T42_Finalize_Parser): Renamed to...
      8167
      	(t42_parser_init, t42_parser_done): This.
      8168
      	(parse_dict): Renamed to...
      8169
      	(t42_parse_dict): This.
      8170
      	(is_alpha, is_space, hexval): Renamed to...
      8171
      	(t42_is_alpha, t42_is_space, t42_hexval): This.
      8172
      	(parse_font_name, parse_font_bbox, parse_font_matrix,
      8173
      	parse_encoding, parse_sfnts, parse_charstrings, parse_dict):
      8174
      	Renamed to...
      8175
      	(t42_parse_font_name, t42_parse_font_bbox, t42_parse_font_matrix,
      8176
      	t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings,
      8177
      	t42_parse_dict): This.
      8178
      	Updated.
      8179
       
      8180
      	(t42_keywords): Updated.
      8181
       
      8182
      	* src/type42/Jamfile, src/type42/descrip.mms: Updated.
      8183
       
      8184
      2002-06-03  Werner Lemberg  
      8185
       
      8186
      	Add 8bpp support to BDF driver.
      8187
       
      8188
      	* src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp.
      8189
      	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto.
      8190
      	* src/bdf/README: Updated.
      8191
       
      8192
      2002-06-02  Detlef Würkner  
      8193
       
      8194
      	* src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
      8195
       
      8196
      2002-05-29  Detlef Würkner  
      8197
       
      8198
      	* src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically.
      8199
      	(_bdf_parse_glyphs): Use correct size for allocating
      8200
      	`font->unencoded'.
      8201
      	(bdf_load_font): Free array conditionally.
      8202
      	Return proper error code in case of failure.
      8203
      	* src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against
      8204
      	unusual fonts.
      8205
       
      8206
      2002-05-29  Werner Lemberg  
      8207
       
      8208
      	* src/bdf/descrip.mms, src/type42/descrip.mms: New files.
      8209
      	* descrip.mms (all): Updated.
      8210
       
      8211
      	* src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
      8212
      	compilation.
      8213
      	* src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
      8214
       
      8215
      2002-05-28  Detlef Würkner  
      8216
       
      8217
      	* builds/amiga/makefile, builds/amiga/smakefile,
      8218
      	amiga/include/freetype/config/ftmodule.h: Updated to include
      8219
      	support for BDF and Type42 drivers.
      8220
       
      8221
      	* docs/modules.txt: Updated.
      8222
       
      8223
      2005-05-28  David Turner  
      8224
       
      8225
      	* docs/CHANGES: Updating file for next release (2.1.1).
      8226
       
      8227
      	* src/bdf/bdflib.c: Removing compiler warnings.
      8228
       
      8229
      	* include/freetype/ftxf86.h, src/base/ftxf86.c: New files.
      8230
      	They provide a new API (FT_Get_X11_Font_Format) to retrieve an
      8231
      	X11-compatible string describing the font format of a given face.
      8232
      	This was put in a new optional base source file, corresponding to a
      8233
      	new public header (named FT_XFREE86_H since this function should
      8234
      	only be used within the XFree86 font server IMO).
      8235
       
      8236
      	* include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not
      8237
      	documented yet).
      8238
       
      8239
      	* src/base/fttype1.c: New file, providing two new API functions
      8240
      	(FT_Get_PS_Font_Info and FT_Has_PS_Glyph_Names).
      8241
      	* include/freetype/t1tables.h: Updated.
      8242
       
      8243
      	* src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:
      8244
      	Updating build control files for the new files `ftxf86.c' and
      8245
      	`fttype1.c' in src/base.
      8246
       
      8247
      	* src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that
      8248
      	prevented family blue zones substitution from hapenning correctly.
      8249
       
      8250
      	* include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding
      8251
      	documentation comment.
      8252
       
      8253
      2002-05-28  Werner Lemberg  
      8254
       
      8255
      	* src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT
      8256
      	but FT_STREAM_READ.
      8257
      	Declare `stream' variable.
      8258
       
      8259
      	* src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math
      8260
      	with calls to `FT_MulDiv'.
      8261
       
      8262
      2002-05-28  David Turner  
      8263
       
      8264
      	Fixing the SFNT name table loader to support various buggy fonts.
      8265
      	It now ignores empty name entries, entries with invalid pointer
      8266
      	Offsets and certain fonts containing tables with broken
      8267
      	`storageOffset' fields.
      8268
       
      8269
      	Name strings are now loaded on demand, which reduces the memory
      8270
      	requirements for a given FT_Face tremendously (for example, the name
      8271
      	table of Arial.ttf is about 10Kb and contains 70 names).
      8272
       
      8273
      	This is a temporary fix.  The whole name table loader and interface
      8274
      	will be rewritten in a much more cleanly way shortly, once CSEH have
      8275
      	been introduced in the sources.
      8276
       
      8277
      	* include/freetype/internal/tttypes.h (TT_NameEntryRec): Change
      8278
      	type of `stringOffset' to FT_ULong.
      8279
      	(TT_NameTableRec): Change type of `numNameRecords' and
      8280
      	`storageOffset' to FT_UInt.
      8281
      	Replace `storage' with `stream'.
      8282
      	* src/base/ftnames.c (FT_Get_Sfnt_Name): Load name on demand.
      8283
      	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
      8284
      	Make code more robust.
      8285
      	* src/sfnt/sfobjs.c (TT_NameEntry_ConvertFunc): New typedef.
      8286
      	(tt_face_get_name): Use it.
      8287
      	Make code more robust.
      8288
      	* src/sfnt/ttload.c (TT_Load_Names): Use `static' for arrays.
      8289
      	Handle invalid `storageOffset' data better.
      8290
      	Set length fields to zero for invalid or ignored data.
      8291
      	Remove code within FT_DEBUG_LEVEL_TRACE.
      8292
      	(TT_Free_Names): Updated.
      8293
       
      8294
      2002-05-24  Tim Mooney  
      8295
       
      8296
      	* builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and
      8297
      	FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be
      8298
      	rebuilt from sources.  Set macro serial to 1, and use third argument
      8299
      	to AC_DEFINE for our two custom symbols, so ftconfig.in could one day
      8300
      	be rebuilt with autoheader (not recommended now, ftconfig.in is a
      8301
      	custom source file)
      8302
       
      8303
      2002-05-22  Werner Lemberg  
      8304
       
      8305
      	* include/freetype/config/ftheader.h (FT_BEZIER_H): Removed.
      8306
      	(FT_BDF_H): New macro for accessing `ftbdf.h'.
      8307
       
      8308
      	* src/type42/t42drivr.c (hexval): Fix typo.
      8309
       
      8310
      2002-05-21  Martin Muskens  
      8311
       
      8312
      	* src/psaux/psobjs.c (T1Radix): New function.
      8313
      	(t1_toint): Use it to handle numbers in radix format.
      8314
       
      8315
      	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy
      8316
      	for undocumented, obsolete opcode 15.
      8317
       
      8318
      2002-05-21  David Turner  
      8319
       
      8320
      	* src/bdf/bdflib.c: Removed compiler warning, and changed all tables
      8321
      	to the `static const' storage specifier (instead of simply
      8322
      	`static').
      8323
       
      8324
      	* src/type42/t42drivr.c (hexval): Use more efficient code.
      8325
      	Removing compiler warnings.
      8326
      	* src/bdf/bdfdrivr.c: Removing compiler warnings.
      8327
       
      8328
      	* include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
      8329
      	src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk
      8330
      	(FT_Get_BDF_Charset_ID): New API to retrieve BDF-specific strings
      8331
      	from a face.  This is much cleaner than accessing the internal types
      8332
      	`BDF_Public_Face' defined in FT_INTERNAL_BDF_TYPES_H.
      8333
       
      8334
      2002-05-21  Werner Lemberg  
      8335
       
      8336
      	* src/bdf/README: Mention Microsoft's SBIT tool.
      8337
       
      8338
      	* src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c,
      8339
      	src/truetype/ttdriver.c, src/type1/t1driver.c,
      8340
      	src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c
      8341
      	[FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed.  It has
      8342
      	been never used.
      8343
       
      8344
      2002-05-21  Roberto Alameda  .
      8345
       
      8346
      	* src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/.
      8347
      	(parse_font_matrix): Remove unnecessary code.
      8348
      	(parse_sfnts): Initialize some variables.
      8349
      	(t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use
      8350
      	ft_module_driver_has_hinter conditionally.
      8351
      	Moved some type 42 specific structure definitions to...
      8352
      	* include/freetype/internal/t42types.h: New file.
      8353
      	* include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H):
      8354
      	New macro.
      8355
       
      8356
      2002-05-20  Werner Lemberg  
      8357
       
      8358
      	* include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field
      8359
      	`num_grays' for specifying the number of used gray levels.
      8360
      	* src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it.
      8361
       
      8362
      2002-05-19  Werner Lemberg  
      8363
       
      8364
      	Adding a driver for BDF fonts written by Francesco Zappa Nardelli
      8365
      	.  Heavily modified by me to
      8366
      	better adapt it to FreeType, removing unneeded stuff.  Additionally,
      8367
      	it now supports Mark Leisher's BDF extension for anti-aliased
      8368
      	bitmap glyphs with 2 and 4 bpp.
      8369
       
      8370
      	* src/bdf/*: New driver.
      8371
      	* include/freetype/internal/bdftypes.h: New file.
      8372
      	* include/freetype/internal/fttrace.h: Added BDF driver components.
      8373
      	* include/freetype/fterrdef.h: Added error codes for BDF driver.
      8374
      	* include/freetype/config/ftmodule.h, src/Jamfile: Updated.
      8375
      	* include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H):
      8376
      	New macro.
      8377
       
      8378
      	* include/freetype/config/ftstdlib.h (ft_sprintf): New alias for
      8379
      	sprintf.
      8380
       
      8381
      2002-05-18  Werner Lemberg  
      8382
       
      8383
      	* include/freetype/internal/fttrace.h: Added Type 42 driver
      8384
      	component.
      8385
      	* src/type42/t42drivr.c: Use it.
      8386
       
      8387
      	* include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H):
      8388
      	New macro.
      8389
       
      8390
      2002-05-17  Werner Lemberg  
      8391
       
      8392
      	* src/type42/Jamfile: New file.
      8393
       
      8394
      2002-05-14  Werner Lemberg  
      8395
       
      8396
      	Adding a driver for Type42 fonts written by Roberto Alameda
      8397
      	.
      8398
       
      8399
      	* src/type42/*: New driver.
      8400
      	* include/freetype/config/ftmodule.h, src/Jamfile: Updated.
      8401
      	* include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp,
      8402
      	ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively.
      8403
       
      8404
      2002-05-12  Owen Taylor  
      8405
       
      8406
      	* src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables
      8407
      	with a zero length value.
      8408
       
      8409
      2002-05-12  Michael Pfeiffer  
      8410
       
      8411
      	* builds/beos/beos.mk: Include `link-std.mk'.
      8412
       
      8413
      2002-05-12  Werner Lemberg  
      8414
       
      8415
      	* src/type1/t1load.h (T1_Loader): Renamed to...
      8416
      	(T1_LoaderRec): This.
      8417
      	(T1_Loader): Now pointer to T1_LoaderRec.
      8418
      	* src/type1/t1load.c: Updated.
      8419
       
      8420
      	* include/freetype/internal/t1types.h, src/type1/t1load.c,
      8421
      	src/type1/t1objs.c:
      8422
      	s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/.
      8423
       
      8424
      2002-05-06  Werner Lemberg  
      8425
       
      8426
      	* README: Add a note regarding libttf vs. libfreetype.
      8427
       
      8428
      2002-05-05  Werner Lemberg  
      8429
       
      8430
      	FreeType 2 can now be built in an external directory with the
      8431
      	configure script also.
      8432
       
      8433
      	* builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.
      8434
       
      8435
      	* builds/unix/detect.mk (have_mk): New variable to test for
      8436
      	external build.
      8437
      	(unix-def.mk): Defined according to value of `have_mk'.
      8438
      	* builds/unix/unix.mk (have_mk): New variable to test for
      8439
      	external build.
      8440
      	Select include paths for unix-def.mk and unix-cc.mk according
      8441
      	to value of `have_mk'.
      8442
      	* builds/unix/unix-def.in (OBJ_BUILD): New variable.
      8443
      	(DISTCLEAN): Use it.
      8444
      	* builds/unix/unix-cc.in (LIBTOOL): Define default value only
      8445
      	if not yet defined.
      8446
      	* builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
      8447
      	freetype-config.
      8448
       
      8449
      	* configure: Don't depend on bash features.
      8450
      	(ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
      8451
      	partially taken from Autoconf).
      8452
      	Build a dummy Makefile if not building in source tree.
      8453
       
      8454
      	* docs/INSTALL: Document it.
      8455
       
      8456
      2002-05-04  David Turner  
      8457
       
      8458
      	* src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
      8459
      	bug that prevented FreeType 2.x and FreeType 1.x to produce
      8460
      	bit-by-bit identical monochrome glyph bitmaps with native TrueType
      8461
      	hinting.  The culprit was a single-bit flag that wasn't set
      8462
      	correctly by the TrueType glyph loader.
      8463
       
      8464
      	* src/otlayout/otlayout.h, src/otlayout/otlbase.c,
      8465
      	src/otlayout/otlbase.h, src/otlayout/otlconf.h,
      8466
      	src/otlayout/otlgdef.c, src/otlayout/otlgdef.h,
      8467
      	src/otlayout/otlgpos.c, src/otlayout/otlgpos.h,
      8468
      	src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
      8469
      	src/otlayout/otljstf.c, src/otlayout/otljstf.h,
      8470
      	src/otlayout/otltable.c, src/otlayout/otltable.h,
      8471
      	src/otlayout/otltags.h: New OpenType Layout source files.  The
      8472
      	module is still incomplete.
      8473
       
      8474
      2002-05-02  Werner Lemberg  
      8475
       
      8476
      	* src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo
      8477
      	(0xFFFU -> 0xFFFFU).
      8478
       
      8479
      2002-05-01  Werner Lemberg  
      8480
       
      8481
      	* docs/INSTALL: Fix URL of makepp.
      8482
       
      8483
      2002-05-01  David Turner  
      8484
       
      8485
      	* src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused
      8486
      	FreeType to crash when certain broken fonts (e.g. `hya6gb.ttf')
      8487
      	were opened.
      8488
       
      8489
      	* src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to
      8490
      	manage fonts containing a broken name table (e.g. `hya6gb.ttf').
      8491
       
      8492
      	* src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive
      8493
      	validation test.  The charmap validator now accepts overlapping
      8494
      	ranges in format 4 charmaps.
      8495
       
      8496
      	* src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary
      8497
      	search algorithm.  Certain fonts contain more than 170 distinct
      8498
      	segments!
      8499
       
      8500
      	* include/freetype/config/ftstdlib.h: Adding an alias for the `exit'
      8501
      	function.  This will be used in the near future to panic in case of
      8502
      	unexpected exception (which shouldn't happen in theory).
      8503
       
      8504
      	* include/freetype/internal/fthash.h, src/base/fthash.c: New files.
      8505
      	This is generic implementation of dynamic hash tables using a linear
      8506
      	algorithm (to get rid of `stalls' during resizes).  In the future
      8507
      	this will be used in at least three parts of the library: the cache
      8508
      	sub-system, the object sub-system, and the memory debugger.
      8509
       
      8510
      	* src/base/Jamfile: Updated.
      8511
       
      8512
      	* include/freetype/internal/internal.h (FT_INTERNAL_HASH_H,
      8513
      	FT_INTERNAL_OBJECT_H): New macros.
      8514
       
      8515
      	* include/freetype/internal/ftcore.h: New file to group all new
      8516
      	definitions related to exception handling and memory management.  It
      8517
      	is very likely that this file will disappear or be renamed in the
      8518
      	future.
      8519
       
      8520
      	* include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h:
      8521
      	Adding comments to better explain the object sub-system as well as
      8522
      	the new memory manager interface.
      8523
       
      8524
      2002-04-30  Wenlin Institute (Tom Bishop)  
      8525
       
      8526
      	* src/base/ftmac.c (p2c_str): Removed.
      8527
      	(file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
      8528
      	OS X.
      8529
      	(is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
      8530
      	Handle `nameLen' <= 6 also.
      8531
      	(parse_fond): Remove unused variable `name_table'.
      8532
      	Use functionality of old p2c_str directly.
      8533
      	Add safety checks.
      8534
      	(read_lwfn): Initialize `size_p'.
      8535
      	Check for size_p == NULL.
      8536
      	(new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
      8537
      	(FT_New_Face_From_LWFN): Remove unused variable `memory'.
      8538
      	Remove some dead code.
      8539
      	(FT_New_Face_From_SFNT): Remove unused variable `stream'.
      8540
      	(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
      8541
      	OS X.
      8542
      	(FT_New_Face_From_FOND): Remove unused variable `error'.
      8543
      	(ResourceForkSize): New function.
      8544
      	(FT_New_Face): Use it.
      8545
      	Handle empty resource forks.
      8546
      	Conditionalize some code for OS X.
      8547
      	Add code to call normal loader as a fallback.
      8548
       
      8549
      2002-04-30  Werner Lemberg  
      8550
       
      8551
      	`interface' is reserved on the Mac.
      8552
       
      8553
      	* include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
      8554
      	src/base/ftoutln.c: s/interface/func_interface/.
      8555
      	* src/base/ftbbox.c (FT_Outline_Get_BBox):
      8556
      	s/interface/bbox_interface/.
      8557
      	* src/cff/cffdrivr.c: s/interface/module_interface/.
      8558
      	* src/cff/cffload.c, src/cff/cffload.h:
      8559
      	s/interface/psnames_interface/.
      8560
      	* src/cid/cidriver.c: s/interface/cid_interface/.
      8561
      	* src/sfnt/sfdriver.c: s/interface/module_interface/.
      8562
      	* src/smooth/ftgrays.c: s/interface/func_interface/.
      8563
      	* src/truetype/ttdriver.c: s/interface/tt_interface/.
      8564
      	* src/type1/t1driver.c: s/interface/t1_interface/.
      8565
       
      8566
      	Some more variable renames to avoid troubles on the Mac.
      8567
       
      8568
      	* src/raster/ftraster.c:
      8569
      	s/Unknown|Ascending|Descending|Flat/\1_State/.
      8570
      	* src/smooth/ftgrays.c: s/TScan/TCoord/.
      8571
       
      8572
      	Other changes for the Mac.
      8573
       
      8574
      	* include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
      8575
      	Mac platforms.
      8576
      	* src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.
      8577
       
      8578
      	* src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
      8579
      	an even number.
      8580
       
      8581
      2002-04-29  Jouk Jansen  
      8582
       
      8583
      	* descrip.mms (all): Add pfr driver.
      8584
       
      8585
      2002-04-28  Werner Lemberg  
      8586
       
      8587
      	* src/pfr/pfrerror.h: New file.
      8588
      	* include/freetype/ftmoderr.h: Add PFR error codes.
      8589
      	* src/pfr/pfrgload.c: Include pfrerror.h.
      8590
      	Use PCF error codes.
      8591
      	(pfr_extra_item_load_stem_snaps): Fix debug message.
      8592
      	* src/pfr/pfrgload.c: Include pfrerror.h.
      8593
      	Use PCF error codes.
      8594
      	(pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple,
      8595
      	pfr_glyph_load_compound): Fix debug message.
      8596
      	* src/pfr/pfrobjs.c: Include pfrerror.h.
      8597
      	Use PCF error codes.
      8598
      	(pfr_face_init): Return PFR_Err_Unknown_File_Format.
      8599
      	* src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h.
      8600
       
      8601
      	* src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]:
      8602
      	`root' -> `face->root'.
      8603
      	* src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]:
      8604
      	Removed.
      8605
      	* src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for
      8606
      	FT_CONFIG_OPTION_USE_CMAPS.
      8607
       
      8608
      2002-04-27  Werner Lemberg  
      8609
       
      8610
      	* src/cache/ftccache.c (ftc_cache_lookup),
      8611
      	src/cache/ftccmap.c (ftc_cmap_family_init),
      8612
      	src/cache/ftcmanag.c (ftc_family_table_alloc),
      8613
      	src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
      8614
      	src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
      8615
      	(FTC_ImageCache_Lookup): Fix handling of invalid arguments.
      8616
       
      8617
      2002-04-22  Werner Lemberg  
      8618
       
      8619
      	* builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2
      8620
      	version 2.0.9 has 9:0:3).
      8621
      	* builds/unix/configure: Regenerated (using autoconf 2.53).
      8622
       
      8623
      2002-04-19  Werner Lemberg  
      8624
       
      8625
      	* src/pfr/pfrload.c (pfr_extra_items_farse): Fix debug message.
      8626
      	(pfr_phy_font_load): s/size/Size/ for local variable to avoid
      8627
      	compiler warning.
      8628
      	* src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
      8629
      	(pfr_slot_load): Remove redundant local variable.
      8630
       
      8631
      2002-04-19  David Turner  
      8632
       
      8633
      	Adding a PFR font driver to the FreeType sources.  Note that it
      8634
      	doesn't support embedded bitmaps or kerning tables yet.
      8635
       
      8636
      	src/pfr/*: New files.
      8637
       
      8638
      	* include/freetype/config/ftmodule.h,
      8639
      	include/freetype/internal/fttrace.h, src/Jamefile: Updated.
      8640
       
      8641
      	* src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c
      8642
      	(T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback
      8643
      	function.
      8644
       
      8645
      	* include/freetype/internal/ftmemory.h (FT_MEM_ZERO, FT_ZERO): New
      8646
      	macros.
      8647
       
      8648
      	* include/freetype/internal/ftstream.h (FT_NEXT_OFF3, FT_NEXT_UOFF3,
      8649
      	FT_NEXT_OFF3_LE, FT_NEXT_UOFF3_LE): New macros to parse in-memory
      8650
      	24-bit integers.
      8651
       
      8652
      2002-04-18  David Turner  
      8653
       
      8654
      	* src/base/ftobjs.c, builds/win32/ftdebug.c,
      8655
      	builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked
      8656
      	against applications in Win32 and Amiga builds due to changes to
      8657
      	`src/base/ftdebug.c' that were not properly propagated to
      8658
      	`builds/win32' and `builds/amiga'.  This has been fixed.
      8659
       
      8660
      	* include/freetype/internal/ftobject.h,
      8661
      	include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h,
      8662
      	include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c:
      8663
      	New experimental files.
      8664
       
      8665
      2002-04-17  David Turner  
      8666
       
      8667
       
      8668
      	* Version 2.1.0 released.
      8669
      	=========================
      8670
       
      8671
       
      8672
      2002-04-17  Michael Jansson  
      8673
       
      8674
      	* src/type1/t1gload.c (T1_Compute_Max_Advance): Fixed a small bug
      8675
      	that prevented the function to return the correct value.
      8676
       
      8677
      2002-04-16  Francesco Zappa Nardelli  
      8678
       
      8679
      	* src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
      8680
      	tables.
      8681
       
      8682
      2002-04-15  David Turner  
      8683
       
      8684
      	* docs/FTL.txt: Formatting.
      8685
       
      8686
      	* include/freetype/config/ftoption.h: Reduce the size of the
      8687
      	render pool from 32kByte to 16kByte.
      8688
       
      8689
      	* src/pcf/pcfread.c (pcf_seek_to_table_type): Remove compiler
      8690
      	warning.
      8691
       
      8692
      	* include/freetype/config/ftoption.h (FT_MAX_EXTENSIONS): Removed.
      8693
       
      8694
      	* docs/CHANGES: Preparing 2.1.0 release.
      8695
       
      8696
      2002-04-13  Werner LEMBERG  
      8697
       
      8698
      	* src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
      8699
      	compiler warning.
      8700
       
      8701
      2002-04-12  David Turner  
      8702
       
      8703
      	* README.UNX: Updated the Unix-specific quick-compilation guide to
      8704
      	warn about the GNU Make requirement at compile time.
      8705
       
      8706
      	* include/freetype/config/ftstdlib.h,
      8707
      	include/freetype/config/ftconfig.h,
      8708
      	include/freetype/config/ftheader.h,
      8709
      	include/freetype/internal/ftmemory.h,
      8710
      	include/freetype/internal/ftobjs.h,
      8711
       
      8712
      	src/autohint/ahoptim.c,
      8713
       
      8714
      	src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c,
      8715
      	src/base/ftobjs.c, src/base/ftsystem.c,
      8716
       
      8717
      	src/cache/ftcimage.c, src/cache/ftcsbits.c,
      8718
       
      8719
      	src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
      8720
       
      8721
      	src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
      8722
       
      8723
      	src/pcf/pcfdriver.c, src/pcf/pcfread.c,
      8724
       
      8725
      	src/psaux/t1cmap.c, src/psaux/t1decode.c,
      8726
       
      8727
      	src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
      8728
      	src/pshinter/pshrec.c,
      8729
       
      8730
      	src/psnames/psmodule.c,
      8731
       
      8732
      	src/raster/ftraster.c,
      8733
       
      8734
      	src/sfnt/sfdriver.c, src/sfnt/ttload.c,
      8735
       
      8736
      	src/smooth/ftgrays.c,
      8737
       
      8738
      	src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
      8739
      	src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c,
      8740
       
      8741
      	builds/unix/ftconfig.in, builds/vms/ftconfig.h,
      8742
       
      8743
      	builds/amiga/src/base/ftdebug.c:
      8744
       
      8745
      	Added the new configuration file `ftstdlib.h' used to define
      8746
      	aliases for all ISO C library functions used by the engine
      8747
      	(e.g. strlen, qsort, setjmp, etc.).
      8748
       
      8749
      	This eases the porting of FreeType 2 to environments like
      8750
      	XFree86 modules/extensions.
      8751
       
      8752
      	Also removed many #include , #include , etc.
      8753
      	from the engine's sources where they are not needed.
      8754
       
      8755
      	* src/sfnt/ttpost.c: Use macro name for psnames.h.
      8756
       
      8757
      2002-04-12  Vincent Caron  
      8758
       
      8759
      	* configure, builds/detect.mk: Updated the build system to print
      8760
      	a warning message in case GNU Make isn't used to build the library.
      8761
       
      8762
      2002-04-11  David Turner  
      8763
       
      8764
      	* README, docs/CHANGES, Jamfile.in: Updates for the 2.1.0 release.
      8765
       
      8766
      	* docs/FTL.txt: Updated license text to provide a preferred
      8767
      	disclaimer and adjust copyright dates/extents.
      8768
       
      8769
      	* include/freetype/cache/ftcglyph.h: Removing obsolete (and
      8770
      	confusing) comment.
      8771
       
      8772
      	* Jamfile.in: New file.
      8773
       
      8774
      2002-04-11  Maxim Shemanarev  
      8775
       
      8776
      	* src/smooth/ftgrays.c (gray_hline): Minor optimization.
      8777
       
      8778
      2002-04-02  Werner Lemberg  
      8779
       
      8780
      	Fixes from the stable branch:
      8781
       
      8782
      	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS):
      8783
      	Removed.
      8784
      	[FT_CONFIG_OPTION_OLD_CALCS]: Removed.
      8785
      	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
      8786
      	[FT_CONFIG_OPTION_OLD_CALCS]: Removed.
      8787
       
      8788
      	* src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match
      8789
      	output of FreeType 1.
      8790
       
      8791
      	* src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small
      8792
      	bug that created un-even stem widths when hinting Postscript fonts.
      8793
       
      8794
      	* src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
      8795
       
      8796
      2002-04-01  Werner Lemberg  
      8797
       
      8798
      	* src/truetype/ttgload.c: 16bit fixes.
      8799
      	(TT_Load_Simple_Glyph): Improve debug messages.
      8800
      	(load_truetype_glyph): Remove dead code.
      8801
      	* src/truetype/ttinterp.c: 16bit fixes.
      8802
      	* src/truetype/ttobjs.c: Ditto.
      8803
       
      8804
      	* include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
      8805
      	src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
      8806
      	src/sfnt/ttpost.h: s/index/idx/.
      8807
       
      8808
      2002-03-31  Yao Zhang  
      8809
       
      8810
      	* src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
      8811
       
      8812
      2002-03-31  Werner Lemberg  
      8813
       
      8814
      	* src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/.
      8815
      	* src/psaux/t1cmap.c: Ditto.
      8816
      	* src/sfnt/ttcmap0.c: Ditto.
      8817
       
      8818
      	* include/freetype/internal/tttypes.h,
      8819
      	include/freetype/internal/sfnt.h (TT_Goto_Table_Func): Renamed to ...
      8820
      	(TT_Loader_GotoTableFunc): This.
      8821
      	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug
      8822
      	messages.
      8823
      	* src/psnames/psmodule.c (psnames_interface)
      8824
      	[!FT_CONFIG_OPTION_ADOBE_GLYPH_LIST]: Fix typo.
      8825
      	* src/sfnt/sfdriver.c (get_sfnt_table): 16bit fix.
      8826
      	* src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
      8827
      	* src/sfnt/ttcmap0.c: 16bit fixes.
      8828
      	(TT_Build_CMaps): Simplify debug messages.
      8829
      	(tt_cmap12_char_next): Fix offset.
      8830
      	* src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
      8831
      	messages.
      8832
      	(TT_Load_OS2): 16bit fix.
      8833
       
      8834
      2002-03-30  David Turner  
      8835
       
      8836
      	* include/freetype/internal/tttypes.h: Adding comments to some of
      8837
      	the TT_FaceRec fields.
      8838
       
      8839
      	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings.
      8840
       
      8841
      	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_{utf16,ucs4,other}:
      8842
      	New functions.
      8843
      	(tt_face_get_name): Use them to properly extract an ascii font name.
      8844
       
      8845
      2002-03-30  Werner Lemberg  
      8846
       
      8847
      	* include/freetype/t1tables.h (t1_blend_max): Fix typo.
      8848
      	* src/base/ftstream.c: Simplify FT_ERROR calls.
      8849
      	* src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
      8850
       
      8851
      	* src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
      8852
      	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
      8853
      	* src/cff/sfobjs.c (SFNT_Load_Face)
      8854
      	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
      8855
      	* src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
      8856
      	[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
      8857
       
      8858
      	* src/truetype/ttdriver.c, src/truetype/ttobjs.c,
      8859
      	src/truetype/ttobjs.h: Renaming driver functions to the
      8860
      	FT__ scheme:
      8861
       
      8862
      	  TT_Init_Driver => TT_Driver_Init
      8863
      	  TT_Done_Driver => TT_Driver_Done
      8864
      	  TT_Init_Face   => TT_Face_Init
      8865
      	  TT_Done_Face   => TT_Face_Done
      8866
      	  TT_Init_Size   => TT_Size_Init
      8867
      	  TT_Done_Size   => TT_Size_Done
      8868
      	  TT_Reset_Size  => TT_Size_Reset
      8869
       
      8870
      2002-03-29  Werner Lemberg  
      8871
       
      8872
      	* builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
      8873
      	FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
      8874
      	files.
      8875
      	* builds/unix/ftconfig.in: Add argument to FT_LOCAL and
      8876
      	FT_LOCAL_DEF.
      8877
      	* src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
      8878
      	* builds/unix/configure.ac: Temporarily deactivate creation of
      8879
      	../../Jamfile.
      8880
      	* builds/unix/configure: Updated.
      8881
       
      8882
      2002-03-28  KUSANO Takayuki  
      8883
       
      8884
      	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos.
      8885
       
      8886
      2002-03-28  Werner Lemberg  
      8887
       
      8888
      	* include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
      8889
      	compiler warnings.
      8890
      	* include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
      8891
      	some members.
      8892
      	* src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
      8893
      	* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
      8894
      	cast.
      8895
      	(t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
      8896
      	`FT_CALLBACK_TABLE_DEF'.
      8897
      	* src/psaux/t1cmap.h: Updated.
      8898
      	* src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
      8899
      	instead of zero.
      8900
      	* src/type1/t1objs.c (T1_Face_Init): Use casts.
      8901
       
      8902
      2002-03-26  David Turner  
      8903
       
      8904
      	* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
      8905
      	Fixed a small bug in the FT_CMaps support code.
      8906
       
      8907
      2002-03-25  David Turner  
      8908
       
      8909
      	* src/truetype/ttinterp.c (Norm): Replaced with...
      8910
      	(TT_VecLen): This.
      8911
      	(TT_MulFix14, TT_DotFix14): New functions.
      8912
      	(Project, Dual_Project, Free_Project, Compute_Point_Displacement,
      8913
      	Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them.
      8914
      	[FT_CONFIG_OPTION_OLD_CALCS]: Removed all code.
      8915
       
      8916
      2002-03-22  David Turner  
      8917
       
      8918
      	* src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
      8919
      	Various fixes to make the FT_CMaps support work correctly (more
      8920
      	tests are still needed).
      8921
       
      8922
      	* include/freetype/internal/ftobjs.h, src/sfnt/Jamfile,
      8923
      	src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
      8924
      	src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
      8925
      	the SFNT charmap support to use FT_CMaps.
      8926
       
      8927
      	* include/freetype/fterrdef.h: New file.
      8928
      	* include/freetype/fterrors.h: Include it.  It contains all error
      8929
      	codes.
      8930
      	* include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New
      8931
      	macro.
      8932
       
      8933
      	* include/freetype/internal/ftmemory.h, and a lot of other files:
      8934
      	Changed the names of memory macros.  Examples:
      8935
       
      8936
      	  MEM_Set   => FT_MEM_SET
      8937
      	  MEM_Copy  => FT_MEM_COPY
      8938
      	  MEM_Move  => FT_MEM_MOVE
      8939
       
      8940
      	  ALLOC     => FT_ALLOC
      8941
      	  FREE      => FT_FREE
      8942
      	  REALLOC   = >FT_REALLOC
      8943
       
      8944
      	FT_NEW was introduced to allocate a new object from a _typed_
      8945
      	pointer.
      8946
       
      8947
      	Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by
      8948
      	FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
      8949
      	arguments.
      8950
       
      8951
      	This results in _lots_ of sources being changed, but makes the code
      8952
      	more generic and less error-prone.
      8953
       
      8954
      	* include/freetype/internal/ftstream.h, src/base/ftstream.c,
      8955
      	src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c,
      8956
      	src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
      8957
      	src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c,
      8958
      	src/winfonts/winfnt.c: Changed the definitions of stream macros.
      8959
      	Examples:
      8960
       
      8961
      	  NEXT_Byte     => FT_NEXT_BYTE
      8962
      	  NEXT_Short    => FT_NEXT_SHORT
      8963
      	  NEXT_UShortLE => FT_NEXT_USHORT_LE
      8964
      	  READ_Short    => FT_READ_SHORT
      8965
      	  GET_Long      => FT_GET_LONG
      8966
      	  etc.
      8967
       
      8968
      	Also introduced the FT_PEEK_XXXX functions.
      8969
       
      8970
      	* src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented
      8971
      	out function.
      8972
      	(find_encoding): Removed.
      8973
      	(CFF_Face_Init): Remove charmap support.
      8974
       
      8975
      	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS,
      8976
      	TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune
      8977
      	support of cmaps.
      8978
       
      8979
      2002-03-21  David Turner  
      8980
       
      8981
      	* src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
      8982
      	to new FT_CMap definitions.
      8983
       
      8984
      	* src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
      8985
      	src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support
      8986
      	from `src/type1' to `src/psaux' since it is going to be shared by
      8987
      	the Type 1 and CID font drivers.
      8988
       
      8989
      	* src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
      8990
      	src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support
      8991
      	for Type 1 FT_CMaps.
      8992
       
      8993
      2002-03-20  David Turner  
      8994
       
      8995
      	* src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a
      8996
      	memory allocation bug that was due to un-careful renaming of the
      8997
      	FT_SubGlyph type.
      8998
       
      8999
      	* src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that
      9000
      	caused the library to crash with Electric Fence when memory
      9001
      	debugging is used.
      9002
       
      9003
      	* Renaming stream macros.  Examples:
      9004
       
      9005
      	  FILE_Skip    => FT_STREAM_SKIP
      9006
      	  FILE_Read    => FT_STREAM_READ
      9007
      	  ACCESS_Frame => FT_FRAME_ENTER
      9008
      	  FORGET_Frame => FT_FRAME_EXIT
      9009
      	  etc.
      9010
       
      9011
      	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak.
      9012
       
      9013
      	* include/freetype/internal/ftobjs.h: Changing the definition of
      9014
      	FT_CMap_CharNextFunc slightly.
      9015
       
      9016
      	* src/cff/*.c: Updating CFF type definitions.
      9017
       
      9018
      2002-03-14  David Turner  
      9019
       
      9020
      	* include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
      9021
      	src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions
      9022
      	for the auto-hinter module.
      9023
       
      9024
      	  FT_AutoHinter_Interface  => FT_AutoHinter_ServiceRec
      9025
      	  FT_AutoHinter_Interface* => FT_AutoHinter_Service
      9026
      	  etc.
      9027
       
      9028
      	  FT_AutoHinter_Get_Global_Func  => FT_AutoHinter_GlobalGetFunc
      9029
      	  FT_AutoHinter_Done_Global_Func => FT_AutoHinter_GlobalDoneFunc
      9030
      	  etc.
      9031
       
      9032
      	* ahloader.h [_STANDALONE_]: Removed all conditional code.
      9033
       
      9034
      	* include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the
      9035
      	type definitions of the CFF font driver.
      9036
       
      9037
      	  CFF_Font  => CFF_FontRec
      9038
      	  CFF_Font* => CFF_Font
      9039
      	  etc.
      9040
       
      9041
      	* include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating
      9042
      	type definitions of the Windows FNT font driver.
      9043
       
      9044
      	* include/freetype/internal/ftdriver.h,
      9045
      	include/freetype/internal/ftobjs.h, src/base/ftapi.c,
      9046
      	src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h,
      9047
      	src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c,
      9048
      	src/pcf/pcfdriver.h, src/truetype/ttdriver.c,
      9049
      	src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h,
      9050
      	src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type
      9051
      	definitions for font drivers.
      9052
       
      9053
      	  FTDriver_initFace      => FT_Face_InitFunc
      9054
      	  FTDriver_initGlyphSlot => FT_Slot_InitFunc
      9055
      	  etc.
      9056
       
      9057
      	* src/cid/cidobjs.c (CID_Face_Init): Remove dead code.
      9058
       
      9059
      	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c: Updated a
      9060
      	few face method definitions:
      9061
       
      9062
      	  FT_PSName_Requester     => FT_Face_GetPostscriptNameFunc
      9063
      	  FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
      9064
      	  FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
      9065
       
      9066
      	* src/base/ftapi.c: New file.  It contains backwards compatibility
      9067
      	functions.
      9068
       
      9069
      	* include/freetype/internal/psaux.h, src/cid/cidload.c,
      9070
      	src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
      9071
      	src/psaux/t1decode.c, stc/type1/t1load.c, src/type1/t1tokens.h:
      9072
      	Updated common PostScript type definitions.
      9073
      	Renamed all enumeration values like to uppercase variants:
      9074
       
      9075
      	  t1_token_any      => T1_TOKEN_TYPE_ANY
      9076
      	  t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO
      9077
      	  etc.
      9078
       
      9079
      	* include/freetype/internal/psglobals.h: Removed.
      9080
      	* include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
      9081
      	Updated.
      9082
       
      9083
      	* include/freetype/internal/tttypes.h,
      9084
      	include/freetype/internal/sfnt.h, src/base/ftnames.c,
      9085
      	src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: Updated
      9086
      	SFNT/TrueType type definitions.
      9087
       
      9088
      	* include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
      9089
      	Updating type definitions for the glyph loader.
      9090
       
      9091
      2002-03-13  Antoine Leca  
      9092
       
      9093
      	* include/freetype/config/ftoption.h: Changed the automatic
      9094
      	detection of Microsoft C compilers to automatically support 64-bit
      9095
      	integers only since revision 9.00 (i.e. >= Visual C++ 2.0).
      9096
       
      9097
      2002-03-08  Werner Lemberg  
      9098
       
      9099
      	* src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
      9100
       
      9101
      2002-03-07  Werner Lemberg  
      9102
       
      9103
      	* src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
      9104
      	ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
      9105
      	ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
      9106
      	FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
      9107
      	* src/base/ftcalc.c (FT_MulFix): Ditto.
      9108
      	* src/cff/cffdrivr.c (cff_get_name_index): Ditto.
      9109
      	* src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init,
      9110
      	CFF_GlyphSlot_Init): Ditto.
      9111
      	* src/cid/cidobjs.c (CID_GlyphSlot_Init,
      9112
      	CID_Size_Get_Globals_Funcs): Ditto.
      9113
      	* src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
      9114
      	Ditto.
      9115
      	* src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
      9116
      	* src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
      9117
      	variables.
      9118
       
      9119
      	* include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
      9120
      	to...
      9121
      	(T1_Builder_FuncsRec): This.
      9122
      	(T1_Builder_Funcs): New typedef.
      9123
      	(PSAux_Interface): Remove compiler warnings.
      9124
      	* src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
      9125
      	(t1_builder_funcs): Updated.
      9126
       
      9127
      	* src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
      9128
      	(PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
      9129
      	(PSH_AlignmentRec): Updated.
      9130
       
      9131
      	* include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
      9132
      	typo.
      9133
      	* include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
      9134
      	* src/base/ftstream (FT_Get_Char): Rename to...
      9135
      	(FT_Stream_Get_Char): This.
      9136
       
      9137
      	* src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
      9138
      	a built-in function in gcc, causing warning messages with gcc 3.0.
      9139
      	* src/autohint/ahglyph.c (ah_outline_load): Ditto.
      9140
      	* src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
      9141
      	* src/cache/ftcmanag.c (ftc_family_table_alloc,
      9142
      	ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
      9143
      	Ditto.
      9144
      	* src/cff/cffload.c (cff_new_index, cff_done_index,
      9145
      	cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
      9146
      	CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
      9147
      	CFF_Done_Font): Ditto.
      9148
      	* src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
      9149
      	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
      9150
      	* src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
      9151
      	ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
      9152
      	* src/pshinter/pshalgo1.c (psh1_hint_table_record,
      9153
      	psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
      9154
      	* src/pshinter/pshalgo2.c (psh2_hint_table_record,
      9155
      	psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
      9156
      	* src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
      9157
      	TT_Get_PS_Name): Ditto.
      9158
      	* src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
      9159
      	load_truetype_glyph): Ditto.
      9160
      	* src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
      9161
      	* src/type1/t1afm.c (T1_Get_Kerning): Ditto.
      9162
      	* include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
      9163
       
      9164
      2002-03-06  David Turner  
      9165
       
      9166
      	* src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c
      9167
      	(CID_Face_Init): Fixed another bug related to the
      9168
      	ascender/descender/text height of Postscript fonts.
      9169
       
      9170
      	* src/pshinter/pshalgo2.c (print_zone): Renamed to ...
      9171
      	(psh2_print_zone): This.
      9172
      	* src/pshinter/pshalgo1.c (print_zone): Renamed to ...
      9173
      	(psh1_print_zone): This.
      9174
       
      9175
      	* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
      9176
      	src/base/ftobjs.c: Adding the new FT_Library_Version API to return
      9177
      	the library's current version in dynamic links.
      9178
      	* src/base/ftinit.c (FT_Init_FreeType): Updated.
      9179
       
      9180
      2002-03-06  Werner Lemberg  
      9181
       
      9182
      	* src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/.
      9183
      	* src/pshinter/pshglob.c (psh_global_scale_widths,
      9184
      	psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
      9185
      	Ditto.
      9186
       
      9187
      2002-03-05  David Turner  
      9188
       
      9189
      	* src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c
      9190
      	(CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug
      9191
      	that returned global BBox values in 16.16 fixed format (instead of
      9192
      	integer font units).
      9193
       
      9194
      	* src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that
      9195
      	caused the CID driver to return Postscript font names with a leading
      9196
      	slash (`/') as in `/MOEKai-Regular'.
      9197
       
      9198
      	* src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
      9199
      	src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
      9200
      	that it accepts broken fonts like `foxjump.ttf', which made FreeType
      9201
      	crash when trying to load them.
      9202
       
      9203
      	Also improved the name table parser to be able to load
      9204
      	Windows-encoded entries before Macintosh or Unicode ones, since it
      9205
      	seems some fonts don't have reliable values here anyway.
      9206
       
      9207
      	* include/freetype/internal/psnames.h: Add typedef for
      9208
      	`PSNames_Service'.
      9209
       
      9210
      2002-03-05  Werner Lemberg  
      9211
       
      9212
      	* builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
      9213
      	1.4.2.
      9214
      	Apply a small patch for AIX to make shared libraries work (this
      9215
      	patch is already in the CVS version of libtool).
      9216
       
      9217
      	* builds/unix/config.sub, builds/unix/config.guess: Updated to
      9218
      	recent versions.
      9219
       
      9220
      	* builds/unix/configure.ac: Fix typo
      9221
      	(AC_CONFIG_FILE->AC_CONFIG_FILES).
      9222
       
      9223
      	* builds/unix/configure: Regenerated.
      9224
       
      9225
      2002-02-28  David Turner  
      9226
       
      9227
      	* include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
      9228
      	`FT_LOCAL( xxxx )' everywhere in the source.  The same goes for
      9229
      	`FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'.
      9230
       
      9231
      	* include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH):
      9232
      	Changing version to 2.1.0 to indicate an unstable branch.
      9233
      	Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
      9234
       
      9235
      	* src/base/ftobjs.c: Implement FT_Get_First_Char and
      9236
      	FT_Get_Next_Char.
      9237
       
      9238
      	* include/freetype/t1tables.h: Renaming structure types.  This
      9239
       
      9240
      	  typedef  T1_Struct_
      9241
      	  {
      9242
      	  } T1_Struct;
      9243
       
      9244
      	becomes
      9245
       
      9246
      	  typedef  PS_StructRec_
      9247
      	  {
      9248
      	  } PS_StructRec, *PS_Struct;
      9249
       
      9250
      	  typedef PS_StructRec  T1_Struct;  /* backwards-compatibility */
      9251
       
      9252
      	Hence, we increase the coherency of the source code by effectively
      9253
      	using the `Rec' prefix for structure types.
      9254
       
      9255
      2002-02-27  David Turner  
      9256
       
      9257
      	* src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the
      9258
      	names table loader.  Invalid individual name entries are now handled
      9259
      	correctly.  This allows the loading of very buggy fonts like
      9260
      	`foxjump.ttf' without allocating tons of memory and causing crashes.
      9261
       
      9262
      	* src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still
      9263
      	experimental) code for OpenType Layout tables validation and
      9264
      	parsing.
      9265
       
      9266
      	* src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still
      9267
      	experimental) code for Type 1 charmap processing.
      9268
       
      9269
      	* src/sfnt/ttcmap0.c: New file.  It contains a new, still
      9270
      	experimental SFNT charmap processing support.
      9271
       
      9272
      	* include/freetype/internal/ftobjs.h: Adding validation support as
      9273
      	well as internal charmap object definitions (FT_CMap != FT_CharMap).
      9274
       
      9275
      2002-02-24  David Turner  
      9276
       
      9277
      	* Renaming stream functions to the FT__ scheme:
      9278
       
      9279
      	  FT_Seek_Stream    => FT_Stream_Seek
      9280
      	  FT_Skip_Stream    => FT_Stream_Skip
      9281
      	  FT_Read_Stream    => FT_Stream_Read
      9282
      	  FT_Read_Stream_At => FT_Stream_Read_At
      9283
      	  FT_Access_Frame   => FT_Stream_Enter_Frame
      9284
      	  FT_Forget_Frame   => FT_Stream_Exit_Frame
      9285
      	  FT_Extract_Frame  => FT_Stream_Extract_Frame
      9286
      	  FT_Release_Frame  => FT_Stream_Release_Frame
      9287
      	  FT_Get_XXXX       => FT_Stream_Get_XXXX
      9288
      	  FT_Read_XXXX      => FT_Stream_Read_XXXX
      9289
       
      9290
      	  FT_New_Stream( filename, stream ) =>
      9291
      	    FT_Stream_Open( stream, filename )
      9292
       
      9293
      	    (The function doesn't create the FT_Stream structure, it simply
      9294
      	    initializes it for reading.)
      9295
       
      9296
      	  FT_New_Memory_Stream( library, FT_Byte*  base, size, stream ) =>
      9297
      	    FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
      9298
       
      9299
      	  FT_Done_Stream  => FT_Stream_Close
      9300
      	  FT_Stream_IO    => FT_Stream_IOFunc
      9301
      	  FT_Stream_Close => FT_Stream_CloseFunc
      9302
       
      9303
      	  ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only)
      9304
      	  ft_io_stream    => ft_ansi_stream_io    (in base/ftsystem.c only)
      9305
       
      9306
      	* src/base/ftutil.c: New file.  Contains all memory and list
      9307
      	management code (previously in `ftobjs.c' and `ftlist.c',
      9308
      	respectively).
      9309
       
      9310
      	* include/freetype/internal/ftobjs.h: Moving all code related to
      9311
      	glyph loaders to ...
      9312
      	* include/freetype/internal/ftgloadr.h: This new file.
      9313
      	`FT_GlyphLoader' is now a pointer to the structure
      9314
      	`FT_GlyphLoaderRec'.
      9315
      	(ft_glyph_own_bitmap): Renamed to ...
      9316
      	(FT_GLYPH_OWN_BITMAP): This.
      9317
      	* src/base/ftobjs.c: Moving all code related to glyph loaders
      9318
      	to ...
      9319
      	* src/base/ftgloadr.c: This new file.
      9320
       
      9321
      2002-02-22  Werner Lemberg  
      9322
       
      9323
      	* include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
      9324
      	enum to avoid compiler warnings.
      9325
       
      9326
      2002-02-21  David Turner  
      9327
       
      9328
      	Modified the debug sub-system initialization.  Trace levels can now
      9329
      	be specified within the `FT2_DEBUG' environment variable.  See the
      9330
      	comments within `ftdebug.c' for more details.
      9331
       
      9332
      	* src/base/ftdebug.c: (FT_SetTraceLevel): Removed.
      9333
      	(ft_debug_init): New function.
      9334
      	(ft_debug_dummy): Removed.
      9335
      	Updated to changes in ftdebug.h
      9336
       
      9337
      	* include/freetype/internal/ftdebug.h: Always define
      9338
      	FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE is defined.
      9339
      	(FT_Assert): Renamed to ...
      9340
      	(FT_ASSERT): This.
      9341
      	Some stuff from ftdebug.h has been moved to ...
      9342
       
      9343
      	* include/freetype/internal/fttrace.h: New file, to define the trace
      9344
      	levels used for debugging.  It is used both to define enums and
      9345
      	toggle names for FT2_DEBUG.
      9346
       
      9347
      	* include/freetype/internal/internal.h: Updated.
      9348
       
      9349
      	* src/base/ftobjs.c, src/base/ftstream.c: Updated.
      9350
       
      9351
      	* include/freetype/internal/ftextend.h, src/base/ftextend.c:
      9352
      	Removed.  Both files are now completely obsolete.
      9353
      	* src/base/Jamfile, src/base/rules.mk: Updated.
      9354
       
      9355
      	* include/freetype/fterrors.h: Adding `#undef FT_ERR_CAT' and
      9356
      	`#undef FT_ERR_XCAT' to avoid warnings with certain compilers (like
      9357
      	LCC).
      9358
       
      9359
      	* src/pshinter/pshalgo2.c (print_zone): Renamed to ...
      9360
      	(psh2_print_zone): This to avoid errors during compilation of debug
      9361
      	library.
      9362
       
      9363
      	* src/smooth/ftgrays.c (FT_COMPONENT): Change definition to as
      9364
      	`trace_smooth'.
      9365
       
      9366
      2002-02-20  David Turner  
      9367
       
      9368
      	* README: Adding `devel@freetype.org' address for bug reports.
      9369
       
      9370
      2002-02-20  Werner Lemberg  
      9371
       
      9372
      	* builds/unix/install.mk (check): New dummy target.
      9373
      	(.PHONY): Add it.
      9374
       
      9375
      2002-02-19  Werner Lemberg  
      9376
       
      9377
      	* builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
      9378
       
      9379
      	* src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
      9380
      	to avoid compiler warning.
      9381
      	* src/cff/cffload.c (CFF_Get_String): Ditto.
      9382
      	* src/cff/cffobjs.c (CFF_StrCopy): Ditto.
      9383
      	* src/psaux/psobjs.c (PS_Table_Done): Ditto.
      9384
      	* src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
      9385
      	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
      9386
      	(pcf_get_bitmaps): The same for `sizebitmaps'.
      9387
      	* src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for
      9388
      	`orig_y'.
      9389
      	(t1operator_seac): Comment out more dead code.
      9390
      	* src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
      9391
      	conditional.
      9392
      	* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
      9393
      	load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
      9394
      	conditional.
      9395
       
      9396
      2002-02-18  Werner Lemberg  
      9397
       
      9398
      	* src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
      9399
      	variables.
      9400
      	* src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
      9401
      	of UNUSED.
      9402
      	* src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
      9403
      	* src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
      9404
      	swapping code.
      9405
      	* src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
      9406
      	* src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
      9407
      	* src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
      9408
      	* src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
      9409
      	* include/freetype/internal/ftobjs.h (UNUSED): Removed.
      9410
       
      9411
      2002-02-10  Roberto Alameda  
      9412
       
      9413
      	Add support for ISOLatin1 PS encoding.
      9414
       
      9415
      	* include/freetype/freetype.h (ft_encoding_latin_1): New tag
      9416
      	(`lat1').
      9417
      	* include/freetype/internal/t1types.h (T1_Encoding_Type): Add
      9418
      	`t1_encoding_isolatin1'.
      9419
      	* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
      9420
      	ft_encoding_latin_1.
      9421
      	* src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
      9422
      	* src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
      9423
       
      9424
      ----------------------------------------------------------------------------
      9425
       
      9426
      Copyright 2002, 2003, 2004, 2005, 2007, 2008 by
      9427
      David Turner, Robert Wilhelm, and Werner Lemberg.
      9428
       
      9429
      This file is part of the FreeType project, and may only be used, modified,
      9430
      and distributed under the terms of the FreeType project license,
      9431
      LICENSE.TXT.  By continuing to use, modify, or distribute this file you
      9432
      indicate that you have read the license and understand and accept it
      9433
      fully.
      9434
       
      9435
       
      9436
      Local Variables:
      9437
      version-control: never
      9438
      coding: utf-8
      9439
      End: