Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4349 Serge 1
2002-02-09  Werner Lemberg  
2
 
3
	* README: Fix typo.
4
	* docs/CHANGES: Minor fixes.
5
 
6
 
7
	* Version 2.0.8 released.
8
	=========================
9
 
10
 
11
2002-02-08  David Turner  
12
 
13
	* docs/CHANGES: Updating for 2.0.8.
14
 
15
	* include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and
16
	removing `FT_Get_Next_Char' from the API (temporarily).
17
 
18
	* include/freetype/freetype.h: Adding comments to FT_Get_Next_Char;
19
	note that this function might temporarily be removed for the 2.0.8
20
	release.
21
 
22
2002-02-07  David Turner  
23
 
24
	* src/pcf/pcfread.c (pcf_load_font): Removed immature support of
25
	the AVERAGE_WIDTH property.
26
 
27
2002-02-06  David Turner  
28
 
29
	* src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in
30
	PDF documents do not include 'cmap', 'post' and 'name' tables, the
31
	SFNT face loader has been changed to not immediately report an
32
	error if these are not present.
33
 
34
	Note that the specification _requires_ these tables, but Adobe
35
	seems to ignore it completely.
36
 
37
	* src/sfnt/ttcmap.c: Removing compiler warnings.
38
 
39
	* src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt.
40
	(pcf_parse_metric, pcf_parse_compressed_metric): Removed.  Code
41
	is now in ...
42
	(pcf_get_metric): Here.
43
	(pcfSeekToType): Renamed to ...
44
	(pcf_seek_to_table_type): This.
45
	Use FT_Int.
46
	(pcfHasType): Renamed to ...
47
	(pcf_has_table_type): This.
48
	Use FT_Int.
49
	(find_property): Renamed to ...
50
	(pcf_find_property): This.
51
	Use FT_Int.
52
	(pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts
53
	better (delaying format checks out of FT_Access_Frame ..
54
	FT_Forget_Frame blocks to avoid leaving the stream in an incorrect
55
	state when encountering an invalid PCF font).
56
 
57
	* src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ...
58
	(PCF_Face_Done): This.
59
	(PCF_Init_Face): Renamed to ...
60
	(PCF_Face_Init): This.
61
	(PCF_Get_Char_Index): Renamed to ...
62
	(PCF_Char_Get_Index): This.
63
	(PCF_Get_Next_Char): Renamed to ...
64
	(PCF_Char_Get_Next): This.
65
	(pcf_driver_class): Updated.
66
 
67
	* src/pcf/pcf.h (PCF_Done_Face): Removed.
68
 
69
2002-02-06  Detlef Würkner  
70
 
71
	* src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak.
72
 
73
	* src/pcf/pcfread.c (pcf_load_font): Now handles the `AVERAGE_WIDTH'
74
	property to return correct character pixel (width/height) pairs for
75
	embedded bitmaps.
76
 
77
2002-02-04  Keith Packard  
78
 
79
	Adding the function `FT_Get_Next_Char', doing the obvious thing
80
	w.r.t. the selected charmap.
81
 
82
	* include/freetype/freetype.h: Add prototype.
83
	* include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
84
	typedef.
85
	(FT_Driver_Class): Use it.
86
	* include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
87
	typedef.
88
	(PSNames_Interface): Use it.
89
	* include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
90
	typedef.
91
	(TT_CMapTable): Use it.
92
 
93
	* src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
94
	high-level API.
95
	* src/cff/cffdrivr.c (cff_get_next_char): New function.
96
	(cff_driver_class): Add it.
97
	* src/cid/cidriver.c (Cid_Get_Next_Char): New function.
98
	(t1cid_driver_class): Add it.
99
	* src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
100
	(pcf_driver_class): Add it.
101
	* src/psnames/psmodule.c (PS_Next_Unicode): New function.
102
	(psnames_interface): Add it.
103
	* src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
104
	code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
105
	functions.
106
	(TT_CharMap_Load): Use them.
107
	* src/truetype/ttdriver.c (Get_Next_Char): New function.
108
	(tt_driver_class): Add it.
109
	* src/type1/t1driver.c (Get_Next_Char): New function.
110
	(t1_driver_class): Add it.
111
	* src/winfonts/winfnt.c (FNT_Get_Next_Char): New function.
112
	(winfnt_driver_class): Add it.
113
 
114
	* src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
115
	Unicode and Latin 1 encodings.
116
 
117
2002-02-02  Keith Packard  
118
 
119
	* builds/unix/freetype-config.in: Add missing `fi'.
120
 
121
 
122
	* Version 2.0.7 released.
123
	=========================
124
 
125
 
126
2002-02-01  David Turner  
127
 
128
	* include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
129
	for the new release.
130
 
131
2002-01-31  David Turner  
132
 
133
	* README, README.UNX, docs/CHANGES: Updating documentation for the
134
	2.0.7 release.
135
 
136
2002-01-30  David Turner  
137
 
138
	* INSTALL: Moved to ...
139
	* docs/INSTALL: Here to avoid conflicts with the `install' script on
140
	Windows, where the filesystem doesn't preserve case.
141
 
142
2002-01-29  David Turner  
143
 
144
	* configure: Fixed the script.  It previously didn't accept more
145
	than one argument correctly.  For example, when typing:
146
 
147
	  ./configure --disable-shared --disable-nls
148
 
149
	the `--disable-nls' was incorrectly sent to the `make' program.
150
 
151
2002-01-29  Werner Lemberg  
152
 
153
	* README.UNX: Fix typo.
154
	* builds/unix/install.mk (uninstall): Fix library name for libtool.
155
 
156
2002-01-28  Francesco Zappa Nardelli  
157
 
158
	* src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
159
	the face object (face->toc.tables, face->root.family_name,
160
	face->root.available_size, face->charset_encoding,
161
	face->charset_registry are now freed).  Thanks to Niels Moseley.
162
 
163
2002-01-28  Roberto Alameda  
164
 
165
	* src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
166
 
167
2002-01-28  Werner Lemberg  
168
 
169
	* src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
170
	of `base' string for decrypting to not modify the original data.
171
	Based on a patch by Jakub Bogusz .
172
 
173
2002-01-27  Giuliano Pochini  
174
 
175
	* src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
176
	bad rendering of thin lines (less than one pixel thick).
177
 
178
2002-01-25  Werner Lemberg  
179
 
180
	* src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
181
	actually.
182
 
183
2002-01-25  Martin Zinser  
184
 
185
	* src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
186
	compilation warnings.
187
	* src/base/descrip.mms (OBJS): Add `ftmm.obj'.
188
	* src/cache/descrip.mms (ftcache.obj): Dependencies added.
189
 
190
2002-01-25  WANG Yi  
191
 
192
	* src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
193
 
194
2002-01-21  Antoine Leca  
195
 
196
	* docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in
197
	the URL for the online resource.
198
 
199
2002-01-18  Ian Brown  
200
 
201
	* builds/win32/ftdebug.c: New file.
202
	* builds/win32/visualc/freetype.dsp: Updated.
203
 
204
2002-01-18  Detlef Würkner  
205
 
206
	* builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
207
	* builds/amiga/README: Updated.
208
 
209
2002-01-18  Ian Brown  
210
 
211
	* builds/win32/visualc/freetype.dsp: Updated.
212
 
213
2002-01-13  Werner Lemberg  
214
 
215
	* builds/unix/freetype2.a4: The script was still buggy.
216
	* builds/unix/freetype-config.in: Make it really work for any install
217
	prefix.
218
 
219
2002-01-10  Werner Lemberg  
220
 
221
	* builds/unix/freetype2.a4: Fix some serious bugs.
222
 
223
2002-01-09  David Turner  
224
 
225
	* builds/unix/configure.ac: Build top-level Jamfile.
226
 
227
2002-01-09  Maxim Shemanarev  
228
 
229
	* src/smooth/ftgrays.c (gray_render_line): Small optimization to
230
	the smooth anti-aliased renderer that deals with vertical segments.
231
	This results in a 5-7% speedup in rendering speed.
232
 
233
2002-01-08  David Turner  
234
 
235
	Added some wrapper scripts to make the installation more
236
	Unix-friendly.
237
 
238
	* configure, install: New files.
239
 
240
	* INSTALL, README.UNX: Updated installation documentation to use the
241
	new 'configure' and 'install' scripts.
242
 
243
2002-01-07  David Turner  
244
 
245
 
246
	* Version 2.0.6 released.
247
	=========================
248
 
249
 
250
	* docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release.
251
 
252
	* src/tools/docmaker.py: Fixed HTML quoting in sources.
253
	(html_format): Replaced with ...
254
	(html_quote): New function.
255
	(html_quote0): New function.
256
	(DocCode::dump_html): Small improvement.
257
	(DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote.
258
 
259
	* include/freetype/config/ftoption.h: Setting default options for
260
	a release build (debugging off, bytecode interpreter off).
261
 
262
	* src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
263
	src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
264
	src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler
265
	warnings (in pedantic compilation modes).
266
 
267
2002-01-05  David Turner  
268
 
269
	* src/autohint/ahhint.c (ah_align_linked_edge): Modified computation
270
	of auto-hinted stem widths; this avoids color fringes in
271
	`ClearType-like' rendering.
272
 
273
	* src/truetype/ttgload.c (TT_Load_Glyph_Header,
274
	TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph):
275
	Modified the TrueType loader to make it more paranoid; this avoids
276
	nasty buffer overflows in the case of invalid glyph data (as
277
	encountered in the output of some buggy font converters).
278
 
279
2002-01-04  David Turner  
280
 
281
	* README.UNX: Added special README file for Unix users.
282
 
283
	* builds/unix/ftsystem.c (FT_New_Stream): Fixed typo.
284
 
285
	* src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid
286
	of compiler warnings.
287
 
288
	* src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning.
289
 
290
2002-01-03  Werner Lemberg  
291
 
292
	* src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
293
	warning.
294
 
295
2002-01-03  Keith Packard  
296
 
297
	* builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that
298
	all FreeType input streams are closed in child processes of a `fork'
299
	on Unix systems.  This is important to avoid (potential) access
300
	control issues.
301
 
302
2002-01-03  David Turner  
303
 
304
	* src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the
305
	library when dealing with certain weird fonts like `Stalingrad', in
306
	`sadn.pfb' (this font has no full font name entry).
307
 
308
	* src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check):
309
	New function to check the consistency of outline data.
310
 
311
	* src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to
312
	ensure that loaded glyphs are valid.  This allows certain fonts like
313
	`tt1095m_.ttf' to be loaded even though it appears they contain
314
	really funky glyphs.
315
 
316
	There still is a bug there, though.
317
 
318
	* src/truetype/ttgload.c (load_truetype_glyph): Fix error condition.
319
 
320
2001-12-30  David Turner  
321
 
322
	* src/autohint/ahhint.c (ah_hinter_load): Fix advance width
323
	computation of auto-hinted glyphs.  This noticeably improves the
324
	spacing of letters in KDE and Gnome.
325
 
326
2001-12-25  Antoine Leca  
327
 
328
	* builds/dos/detect.mk: Correcting the order for Borland compilers:
329
	16-bit bcc was never selected, always overridden by 32-bit bcc32.
330
 
331
2001-12-22  Francesco Zappa Nardelli  
332
 
333
	* src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
334
	and fix incorrect computation of `available_sizes'.
335
 
336
2001-12-22  David Turner  
337
 
338
	* src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an
339
	incorrect glyph advance in the case of mono-width fonts (like
340
	Courier, Andale Mono, and others).
341
 
342
2001-12-22  Detlef Würkner  
343
 
344
	* builds/amiga/*: Adaptations to latest changes.
345
	Support added for MorphOS.
346
 
347
2001-12-22  Werner Lemberg  
348
 
349
	* src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
350
	(ps_mask_table_merge, ps_hints_open, ps_hints_stem,
351
	ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
352
	FT_ERROR messages.
353
	* src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
354
	`trace_pshalgo1'.
355
	* src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
356
	`trace_pshalgo2'.
357
	* include/freetype/internal/ftdebug.h (FT_Trace): Updated.
358
 
359
	* docs/modules.txt: New file.
360
 
361
2001-12-21  David Turner  
362
 
363
	* src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter):
364
	Ignore invalid `hintmask' and `cntrmask' operators (instead of
365
	returning an error).  Glyph 2028 of the CFF font `MSung-Light-Acro'
366
	couldn't be rendered otherwise (it seems its charstring is buggy,
367
	though this requires more analysis).
368
	(FT_COMPONENT): Define.
369
 
370
	* src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c
371
	(T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a
372
	bug where the X and Y axis where inverted in the postscript hinter.
373
	This caused problem when displaying on non-square surfaces.
374
 
375
	* src/pshinter/pshalgo2.c: s/vertical/dimension/.
376
 
377
	* src/pshinter/pshglob.c (psh_globals_new): Replaced a floating
378
	point constant with a fixed-float equivalent.  For some reasons not
379
	all compilers are capable of directly computing a floating pointer
380
	constant casted to FT_Fixed, and will link a math library instead.
381
 
382
2001-12-20  Werner Lemberg  
383
 
384
	* src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
385
	tracing strings.
386
	* src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
387
	* src/cache/ftcmanag.c (ftc_family_table_alloc,
388
	ftc_family_table_free, FTC_Manager_Check): Ditto.
389
	* src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
390
 
391
	* src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
392
 
393
2001-12-20  David Turner  
394
 
395
	Added PostScript hinter support to the CFF and CID drivers.
396
 
397
	* include/freetype/internal/cfftypes.h (CFF_Font): New member
398
	`pshinter'.
399
	* src/cff/cffload.c (CFF_Get_Standard_Encoding): New function.
400
	* src/cff/cffload.h: Updated.
401
	* src/cff/cffgload.c (CFF_Init_Builder): Renamed to ...
402
	(CFF_Builder_Init): This.
403
	Added new argument `hinting'.
404
	(CFF_Done_Builder): Renamed to ...
405
	(CFF_Builder_Done): This.
406
	(CFF_Init_Decoder): Added new argument `hinting'.
407
	(CFF_Parse_CharStrings): Implement vstem support.
408
	(CFF_Load_Glyph): Updated.
409
	Add hinting support.
410
	(cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding().
411
	(cff_argument_counts): Updated.
412
	* src/cff/cffgload.h: Updated.
413
	* src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
414
	(CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init,
415
	CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GLyphSlot_Init): New
416
	functions.
417
	(CFF_Init_Face): Renamed to ...
418
	(CFF_Face_Init): This.
419
	Add hinter support.
420
	(CFF_Done_Face): Renamed to ...
421
	(CFF_Face_Done): This.
422
	(CFF_Init_Driver): Renamed to ...
423
	(CFF_Driver_Init): This.
424
	(CFF_Done_Driver): Renamed to ...
425
	(CFF_Driver_Done): This.
426
	* src/cff/cffobjs.h: Updated.
427
	* src/cff/cffdrivr.c (cff_driver_class): Updated.
428
 
429
	* include/freetype/internal/t1types.h (CID_FaceRec): New member
430
	`pshinter'.
431
	* src/cid/cidgload.c (CID_Load_Glyph): Add hinter support.
432
	* src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
433
	(CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs,
434
	CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions.
435
	(CID_Done_Face): Renamed to ...
436
	(CID_Face_Done): This.
437
	(CID_Init_Face): Renamed to ...
438
	(CID_Face_Init): This.
439
	Add hinting support.
440
	(CID_Init_Driver): Renamed to ...
441
	(CID_Driver_Init): This.
442
	(CID_Done_Driver): Renamed to ...
443
	(CID_Driver_Done): This.
444
	* src/cid/cidobjs.h: Updated.
445
	* src/cidriver.c: Updated.
446
 
447
	* src/pshinter/pshrec.c (t2_hint_stems): Fixed.
448
 
449
	* src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that
450
	crashed the library on exit.
451
 
452
	* src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix
453
	transformation of hinted glyphs.
454
 
455
	* src/cid/cidload.c (cid_read_subrs): Fix error condition.
456
 
457
	* src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs
458
	routines were never released when CID faces were destroyed.
459
 
460
	* src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated
461
	to move the definition of encoding tables back within `cffload.c'
462
	instead of making them part of a shared header (causing problems in
463
	`multi' builds).  This reverts change 2001-08-08.
464
 
465
	* docs/CHANGES: Updated for 2.0.6 release.
466
	* docs/TODO: Added `stem3 and counter hints support' to the TODO
467
	list for the Postscript hinter.
468
	* docs/BUGS: Closed the AUTOHINT-NO-SBITS bug.
469
 
470
2001-12-19  David Turner  
471
 
472
	* include/freetype/cache/ftcache.h: Added comments to indicate that
473
	some of the exported functions should only be used by applications
474
	that need to implement custom cache types.
475
 
476
	* src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug
477
	that prevented composites from loading correctly, due to missing
478
	parentheses around macro parameters.
479
 
480
	* src/sfnt/sfobjs.c (SFNT_Load_Face): Make the `post' and `name'
481
	tables optional to load PCL fonts properly.
482
 
483
	* src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
484
	(FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY):
485
	`Fixed' the bug that prevented embedded bitmaps to be loaded when
486
	the auto-hinter is used.  This actually is a hack but will be enough
487
	until the internal re-design scheduled for FreeType 2.1.
488
 
489
	* src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline
490
	shifting bug in the monochrome renderer.
491
 
492
	* README: Updated version numbers to 2.0.6.
493
 
494
2001-12-17  Werner Lemberg  
495
 
496
	* src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
497
	glyph header.
498
 
499
2001-12-15  Werner Lemberg  
500
 
501
	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning.
502
	* include/freetype/ftcache.h (FTC_Node_Unref): Removed.  It is
503
	already in ftcmanag.h.
504
	* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
505
	`gfam'.
506
	* src/cache/ftcmanag.c (ftc_family_table_alloc,
507
	* ftc_family_table_free): Use FT_EXPORT_DEF.
508
	* include/freetype/cache/ftcmanag.h: Updated.
509
	* src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
510
	* src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
511
	`cfam'.
512
	Remove compiler warning.
513
	(FTC_CMapCache_Lookup): Remove compiler warnings.
514
	(ftc_cmap_family_init): Ditto.
515
	(FTC_CMapCache_Lookup): Ditto.
516
 
517
	* builds/unix/configure.ac: Increase `version_info' to 8:0:2.
518
	* builds/unix/configure: Regenerated.
519
 
520
2001-12-14  Werner Lemberg  
521
 
522
	* builds/mac/README: Updated.
523
 
524
2001-12-14  Scott Long  
525
 
526
	* src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
527
	dealing with invalid fonts (i.e. glyph size < 10 bytes).
528
 
529
2001-12-14  Sam Latinga  
530
 
531
	* builds/mac/freetype.make: A new Makefile to build with MPW on
532
	MacOS classic.
533
 
534
2001-12-14  David Turner  
535
 
536
	* src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
537
	(T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph),
538
	src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to
539
	all font drivers (the advance width was never hinted when it
540
	should).
541
 
542
	* include/freetype/freetype.h (FREETYPE_PATCH): New macro.
543
	* src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't
544
	use `extern' keyword.
545
 
546
2001-12-12  David Turner  
547
 
548
	* src/pshinter/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem
549
	psh_globals_new): Adding correct BlueScale/BlueShift support, plus
550
	family blues processing.
551
	* src/pshinter/pshglob.h (PSH_BluesRec): Updated.
552
 
553
	Started adding support for the Postscript hinter in the CFF module.
554
 
555
	* src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
556
	(CFF_Parse_CharStrings): Implement it.
557
	* src/cff/cffgload.h: Updated.
558
 
559
2001-12-12  Werner Lemberg  
560
 
561
	* builds/unix/freetype2.m4: Some portability fixes.
562
 
563
2001-12-11  Jouk Jansen  
564
 
565
	* src/base/descrip.mms (OBJS): Add ftdebug.obj.
566
 
567
2001-12-11  Werner Lemberg  
568
 
569
	* src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
570
 
571
2001-12-11  David Turner  
572
 
573
	* builds/unix/freetype-config.in: Modified the script to prevent
574
	passing `-L/usr/lib' to gcc.
575
 
576
	* docs/FTL.TXT: Simple fix (change `LICENSE.TXT' to `FTL.TXT').
577
 
578
	* builds/unix/freetype2.m4: New file for checking configure paths.
579
	We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I
580
	didn't modify builds/unix/install.mk yet.
581
 
582
	* INSTALL: Updated the instructions to build shared libraries with
583
	Jam.  They were simply wrong.
584
 
585
	* src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused
586
	slightly improper results for `FT_Cos' and `FT_Sin' (example:
587
	FT_Sin(0) == -1!).
588
 
589
2001-12-11  Detlef Würkner  
590
 
591
	* include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
592
	Fixed incorrect argument types.
593
 
594
2001-12-10  Francesco Zappa Nardelli  
595
 
596
	* src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts
597
	by setting the `face->metrics.max_advance' correctly.
598
 
599
2001-12-07  David Turner  
600
 
601
	* include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new
602
	charmap cache.
603
	* src/cache/ftcache.c: Updated.
604
 
605
	* src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/.
606
 
607
2001-12-06  Leonard Rosenthol  
608
 
609
	Added support for reading .dfont files on Mac OS X.  Also added a
610
	new routine which looks up a given font by name in the Mac OS and
611
	returns the disk file where it resides.
612
 
613
	* src/base/ftmac.c: Include  and .
614
	(is_dfont): New auxiliary function.
615
	(FT_New_Face_From_dfont): New function.
616
	(FT_GetFile_From_Mac_Name): New exported function.
617
	(FT_New_Face): Updated.
618
	* include/freetype/ftmac.h: Updated.
619
 
620
2001-12-06  David Turner  
621
 
622
	* src/cache/Jamfile, src/cache/rules.mk: Updated.
623
 
624
2001-12-06  Werner Lemberg  
625
 
626
	* INSTALL: Small update.
627
 
628
2001-12-05  David Turner  
629
 
630
	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for
631
	debugging purposes.
632
	Comment out use of `origin'.
633
 
634
	* src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug
635
	where outline shifting wasn't correctly undone after bitmap
636
	rasterization.  This created problems with certain glyphs (like '"'
637
	of certain fonts) and the cache system.
638
 
639
	* src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo.
640
	* src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo.
641
	(ps2_hints_apply): Small fix.
642
 
643
2001-12-05  David Turner  
644
 
645
	* src/pshinter/pshalgo2.c (psh2_hint_table_init),
646
	src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler
647
	warnings.
648
 
649
	* include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*:
650
	Yet another massive rewrite of the caching sub-system in order to
651
	both increase performance and allow simpler cache sub-classing.  As
652
	an example, the code for the image and sbit caches is now much
653
	simpler.
654
 
655
	I still need to update the documentation in
656
	www/freetype2/docs/cache.html to reflect the new design though.
657
 
658
	* include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New
659
	macro.
660
	(FT_CACHE_INTERNAL_CACHE_H): Updated.
661
 
662
2001-12-05  David Krause  
663
 
664
	* docs/license.txt: s/X Windows/X Window System/.
665
 
666
2001-12-04  Werner Lemberg  
667
 
668
	* src/raster/ftraster.c: Fix definition condition of MEM_Set().
669
	* src/smooth/ftgrays.c (M_Y): Change value to 192.
670
	* src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
671
	Remove unused variable.
672
	* src/cache/ftcimage.c (ftc_image_node_init,
673
	ftc_image_node_compare): Remove unused variables.
674
	* src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
675
	variable.
676
	* src/raster/ftraster.c (MEM_Set): Move definition down to avoid
677
	compiler warning.
678
	* src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
679
	avoid compiler warnings.
680
	* src/pcf/pcfread.c (tableNames): Use `const'.
681
	(pcf_read_TOC): Change counter name to avoid compiler warning.
682
	Use `const'.
683
	* src/pshinter/pshrec.c (ps_hints_close): Remove redundant
684
	declaration.
685
	* src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
686
	to avoid shadowing.
687
	* src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
688
	* src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
689
	and `T1_Size_Done()'.
690
 
691
2001-11-20  Antoine Leca  
692
 
693
	* include/freetype/ttnameid.h: Added some new Microsoft language
694
	codes and LCIDs as found in MSDN (Passport SDK).  Also added
695
	comments about the meaning of bit 57 of the `OS/2' table
696
	(TT_UCR_SURROGATES) which (with OpenType v.1.3) now means `there is
697
	a character beyond 0xFFFF in this font'.  Thanks to Detlef Würkner
698
	 for noticing this.
699
 
700
2001-11-20  David Turner  
701
 
702
	* src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting
703
	routine that created nasty alignment artefacts.
704
 
705
	* src/pshinter/pshrec.c, tests/gview.c: Debugging updates.
706
 
707
	* src/smooth/ftgrays.c: De-activated experimental gamma support.
708
	Apparently, `optimal' gamma tables depend on the monitor type,
709
	resolution and general karma, so it's better to compute them outside
710
	of the rasterizer itself.
711
	(gray_convert_glyph): Use `volatile' keyword.
712
 
713
2001-10-29  David Turner  
714
 
715
	Adding experimental `gamma' support.  This produces smoother glyphs
716
	at small sizes for very little cost.
717
 
718
	* src/smooth/ftgrays.c (grays_init_gamma): New function.
719
	(gray_raster_new): Use it.
720
 
721
	Various fixes to the auto-hinter.  They merely improve the output of
722
	sans-serif fonts.  Note that there are still problems with serifed
723
	fonts and composites (accented characters).
724
 
725
	* src/autohint/ahglyph.c (ah_outline_load,
726
	ah_outline_link_segments): Implement it.
727
	Fix typos.
728
	(ah_outline_save, ah_outline_compute_segments): Fix typos.
729
	* src/autohint/ahhint.c (ah_align_serif_edge): New argument
730
	`vertical'.  Implement improvement.
731
	(ah_hint_edges_3, ah_hinter_hint_edges): Implement it.
732
	Fix typos.
733
	(ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix
734
	typos.
735
	(ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined.
736
	* src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro.
737
	* src/autohint/ahtypes.h: Ditto.
738
	(AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges'
739
	(making them global as `ah_debug_disable_horz' and
740
	`ah_debug_disable_vert').
741
	Fix typos.
742
 
743
	* tests/gview.c: Updated the debugging glyph viewer to show the
744
	hints generated by the `autohint' module.
745
 
746
2001-10-27  David Turner  
747
 
748
	* src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that
749
	considerably lowered the performance of the abstract chunk cache.
750
 
751
2001-10-26  David Turner  
752
 
753
	* include/freetype/ftcache.h, include/freetype/cache/*.h,
754
	src/cache/*.c: Major re-design of the cache sub-system to provide
755
	better performance as well as an `Acquire'/`Release' API.  Seems to
756
	work well here, but probably needs a bit more testing.
757
 
758
2001-10-26  Leonard Rosenthol  
759
 
760
	* builds/mac/README: Updated to reflect my taking over the project
761
	and that is now being actively maintained.
762
 
763
	* src/base/ftmac.c (parse_fond): Applied patches from Paul Miller
764
	 to support loading a face other than the
765
	first from a FOND resource.
766
	(FT_New_Face_From_FOND): Updated.
767
 
768
2001-10-25  Leonard Rosenthol  
769
 
770
	* builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac
771
	OS for latest version (7) of CWPro and for recent changes to the FT
772
	source tree.
773
 
774
2001-10-25  David Turner  
775
 
776
	* include/freetype/config/ftoption.h: Updated comments to explain
777
	precisely how to use project-specific macro definitions without
778
	modifying this file manually.
779
 
780
	(FT_CONFIG_FORCE_INT64): Define.
781
 
782
	(FT_DEBUG_MEMORY): New macro.
783
 
784
2001-10-24  Tom Kacvinsky  
785
 
786
	* builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
787
 
788
2001-10-23  David Turner  
789
 
790
	* include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
791
	Improvements to the memory debugger to report more information in
792
	case of errors.  Also, some allocations that occurred through REALLOC
793
	couldn't be previously caught correctly.
794
 
795
	* src/autohint/ahglyph.c (ah_outline_compute_segments,
796
	ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new),
797
	src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced
798
	liberal uses of memset() by the MEM_Set() macro.
799
 
800
2001-10-23  David Turner  
801
 
802
	* src/raster/ftraster.c (Update): Removed to be inlined in ...
803
	(Sort): Updated.
804
 
805
2001-10-22  David Turner  
806
 
807
	* builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory),
808
	builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory),
809
	builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory),
810
	src/base/ftdbgmem.c: Updated the memory debugger and
811
	platform-specific implementations of `ftsystem' in order to be able
812
	to debug memory allocations on Unix, VMS and Amiga too!
813
 
814
	* src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed
815
	some bogus warnings.
816
 
817
	* include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
818
	Modified the debugging memory manager to report the location (source
819
	file name + line number) where leaked memory blocks are allocated in
820
	the source file.
821
 
822
	* src/base/ftdbgmem.c: New debugging memory manager.  You must
823
	define the FT_DEBUG_MEMORY macro in `ftoption.h' to enable it.  It
824
	will record every memory block allocated and report simple errors
825
	like memory leaks and double deletes.
826
 
827
	* src/base/Jamfile: Include ftdbgmem.
828
	* src/base/rules.mk: Ditto.
829
	* src/base/ftbase.c: Include ftdbgmem.c.
830
 
831
	* include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY
832
	macro definition.
833
 
834
	* src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the
835
	base component to use the debugging memory manager when the macro
836
	FT_DEBUG_MEMORY is defined.
837
 
838
2001-10-21  Tom Kacvinsky  
839
 
840
	* src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
841
	we are working with a CID keyed CFF font.  Otherwise, a variable
842
	that was never allocated memory might freed.  This is a correction
843
	to the previous patch for freeing subfonts.
844
 
845
2001-10-21  Tom Kacvinsky  
846
 
847
	* src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
848
	avoid a memory leak.
849
 
850
2001-10-21  David Turner  
851
 
852
	* src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c,
853
	src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes
854
	(in multi-object compilation mode, mainly).
855
 
856
2001-10-20  Tom Kacvinsky  
857
 
858
	* src/type1/t1load.c (parse_encoding): Add a test to make sure
859
	that custom encodings (i.e., neither StandardEncoding nor
860
	ExpertEncoding) are not loaded twice when the Type 1 font is
861
	synthetic.
862
 
863
	* src/type1/t1load.c (parse_font_name, parse_subrs): Added a test
864
	for when loading synthetic fonts to make sure that the font name
865
	and subroutines are not loaded twice.  This is to remove a memory
866
	leak that occurred because the original memory blocks for these
867
	objects were not deallocated when the objects were parsed the
868
	second time.
869
 
870
2001-10-19  David Turner  
871
 
872
	* src/smooth/ftgrays.c, src/pshinter/pshglob.h,
873
	src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of
874
	compiler warnings.
875
 
876
	* src/pshinter/module.mk, src/pshinter/rules.mk: Adding control
877
	files to build the PostScript hinter with the `old' build system.
878
 
879
2001-10-19  Jacob Jansen  
880
 
881
	* descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build
882
	files.
883
 
884
2001-10-18  David Turner  
885
 
886
	* src/psnames/pstables.h, src/tools/glnames.py: Rewrote the
887
	`glnames.py' script used to generate the `pstables.h' header file.
888
	The old one contained a serious bug that made FreeType return
889
	incorrect glyph names for certain glyphs.
890
 
891
	* src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of
892
	pixel size from character size to use rounding.  This is an
893
	experiment to see whether this gives values similar to Windows for
894
	scaled ascent/descent/etc.
895
 
896
	* src/base/ftcalc.c (FT_Div64by32): Changed the implementation
897
	slightly since the original code was mis-compiled on Mac machines
898
	using the MPW C compiler.
899
 
900
	* src/base/ftobjs.c (FT_Realloc): When a memory block was grown
901
	through FT_Realloc(), the new bytes were not set to 0, which created
902
	some strange bugs in the PostScript hinter.
903
	(destroy_face): Don't deallocate unconditionally.
904
 
905
	* src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph):
906
	Adding support to new PostScript hinter.
907
 
908
	* include/freetype/internal/psglobal.h,
909
	include/freetype/internal/pshints.h,
910
	include/freetype/config/ftmodule.h, src/pshinter/Jamfile,
911
	src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h,
912
	src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h,
913
	src/pshinter/pshalgo2.c, src/pshinter/pshglob.h,
914
	src/pshinter/pshglob.c, src/pshinter/pshinter.c,
915
	src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c,
916
	src/pshinter/pshrec.h: Adding new PostScript hinter module.
917
 
918
	* include/freetype/internal/ftobjs.h,
919
	include/freetype/internal/internal.h,
920
	include/freetype/internal/psaux.h,
921
	include/freetype/internal/t1types.h, src/psaux/psobjs.c,
922
	src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c,
923
	src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c,
924
	src/type1/t1objs.h: Updates to use the new PostScript hinter.
925
 
926
	* tests/Jamfile, tests/gview.c: Adding a new glyph hinting
927
	viewer/debugger to the source tree.  Note that you will _not_ be
928
	able to compile it since it depends on an unavailable graphics
929
	library named `Nirvana' to render vector images.
930
 
931
2001-10-17  David Turner  
932
 
933
 
934
	* Version 2.0.5 released.
935
	=========================
936
 
937
 
938
	* include/freetype/freetype.h, include/internal/ftobjs.h,
939
	src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named
940
	'FT_Get_Postscript_Name' to retrieve the PostScript name of a given
941
	font.  Should work with all formats except pure CFF/CEF fonts (this
942
	will be added soon).
943
 
944
	* src/cid/cidriver (cid_get_postscript_name): New function.
945
	(CID_Get_Interface): Handle `postscript_name' interface.
946
 
947
	* src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function.
948
	(SFNT_Get_Interface): Handle `postscript_name' interface.
949
 
950
	* src/type1/t1driver.c (t1_get_ps_name): New function.
951
	(Get_Interface): Handle `postscript_name' interface.
952
 
953
	* README, docs/CHANGES: Updated for 2.0.5 release.
954
 
955
2001-10-08  David Turner  
956
 
957
	Fixed a bug in `glnames.py' that prevented it from generating
958
	correct glyph names tables.  This resulted in the unavailability of
959
	certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
960
	charmaps, even if these were present in the font (causing problems
961
	for Polish users).
962
 
963
	* src/tools/glnames.py (mac_standard_names): Fixed.
964
	(t1_standard_strings): Some fixes and renamed to ...
965
	(sid_standard_names): This.
966
	(t1_expert_encoding): Fixed.
967
	(the_adobe_glyph_list): Renamed to ...
968
	(adobe_glyph_names): This.
969
	(the_adobe_glyphs): Renamed to ...
970
	(adobe_glyph_values): This.
971
	(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
972
	Updated.
973
	* src/psnames/pstables.h: Regenerated.
974
	* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
975
	Fix return value.
976
	Use `sid_standard_table' and `ps_names_to_unicode' instead of
977
	`t1_standard_glyphs' and `names_to_unicode'.
978
	(PS_Macintosh_Name): Use `ps_glyph_names' instead of
979
	`standard_glyph_names'.
980
	(PS_Standard_Strings): Use `sid_standard_names' instead of
981
	`t1_standard_glyphs'.
982
 
983
	* doc/BUGS, doc/TODO: New documents.
984
 
985
2001-10-07  Richard Barber  
986
 
987
	* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
988
	correct LRU behaviour.
989
 
990
2001-10-07  David Turner  
991
 
992
	setjmp() and longjmp() are now used for rollback (i.e. when memory
993
	pool overflow occurs).
994
 
995
	Function names are now all uniformly prefixed with `gray_'.
996
 
997
	* src/smooth/ftgrays.c: Include .
998
	(ErrRaster_MemoryOverflow): New macro.
999
	(TArea): New type to store area values in each cell (using `int' was
1000
	too small on 16-bit systems).   is included to properly
1001
	get the needed data type.
1002
	(TCell, TRaster): Use it.
1003
	(TRaster): New element `jump_buffer'.
1004
	(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
1005
	`outline' from it.
1006
	(gray_record_cell): Use longjmp().
1007
	(gray_set_cell): Use gray_record_cell() for error handling.
1008
	(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
1009
	(gray_convert_glyph_inner): New function, using setjmp().
1010
	(gray_convert_glyph): Use it.
1011
 
1012
2001-10-07  David Turner  
1013
 
1014
	Provide a public API to manage multiple size objects for a given
1015
	FT_Face in the new header file `ftsizes.h'.
1016
 
1017
	* include/freetype/ftsizes.h: New header file,
1018
	* include/freetype/internal/ftobjs.h: Use it.
1019
	Remove declarations of FT_New_Size and FT_Done_Size (moved to
1020
	ftsizes.h).
1021
	* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
1022
	* src/base/ftobjs.c (FT_Activate_Size): New function.
1023
	* src/cache/ftcmanag.c: Include ftsizes.h.
1024
	(ftc_manager_init_size, ftc_manager_flush_size): Use
1025
	FT_Activate_Size.
1026
 
1027
2001-09-20  Detlef Würkner  
1028
 
1029
	* builds/amiga/*: Added port to Amiga with the SAS/C compiler.
1030
 
1031
2001-09-15  Detlef Würkner  
1032
 
1033
	* src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
1034
 
1035
2001-09-10  Yao Zhang  
1036
 
1037
	* src/sfnt/ttcmap.c (code_to_index2): Handle code values with
1038
	hi-byte == 0 correctly.
1039
 
1040
2001-09-10  Werner Lemberg  
1041
 
1042
	* builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
1043
 
1044
2001-08-30  Martin Muskens  
1045
 
1046
	* src/type1/t1load.c (parse_font_matrix): A new way to compute the
1047
	units per EM with greater accuracy (important for embedded T1 fonts
1048
	in PDF documents that were automatically generated from TrueType
1049
	ones).
1050
 
1051
	* src/type1/t1load.c (is_alpha): Now supports `+' in font names;
1052
	this is used in embedded fonts.
1053
 
1054
	* src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that
1055
	generated a dangling pointer reference.
1056
 
1057
2001-08-30  Anthony Feik  
1058
 
1059
	* src/type1/t1afm.c (T1_Read_Afm): Now correctly sets the flag
1060
	FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files.
1061
 
1062
2001-08-25  Werner Lemberg  
1063
 
1064
	* src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of
1065
	`cmap_rec_fields'.
1066
 
1067
	* include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]:
1068
	Undefine FT_ERR_BASE before defining again.
1069
 
1070
2001-08-22  Werner Lemberg  
1071
 
1072
	* src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
1073
 
1074
2001-08-21  Werner Lemberg  
1075
 
1076
	* builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
1077
 
1078
2001-08-21  David Turner  
1079
 
1080
	* include/freetype/config/ftoption.h: Changed the default setting
1081
	for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks
1082
	source compatibility in a few cases.  Updated the comment to explain
1083
	that too.
1084
 
1085
2001-08-17  Martin Muskens  
1086
 
1087
	* src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
1088
 
1089
2001-08-12  Werner Lemberg  
1090
 
1091
	Updating to OpenType 1.3.
1092
 
1093
	* include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4,
1094
	TT_CMap6): Adding field `language'.
1095
	(TT_CMapTable): Removing field `language'.
1096
	Type of `length' field changed to FT_ULong.
1097
	Adding fields for cmaps format 8, 10, and 12.
1098
	(TT_CMapGroup): New auxiliary structure.
1099
	(TT_CMap8_12, TT_CMap10): New structures.
1100
	* include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader):
1101
	Removed last element of `Reserved' array.
1102
	* include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4,
1103
	TT_NAME_ID_CID_FINDFONT_NAME): New macros.
1104
 
1105
	* src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language'
1106
	field to the new structures.
1107
	Fixed freeing of arrays in case of unsuccessful loads.
1108
	Added support for loading format 8, 10, and 12 cmaps.
1109
	(TT_CharMap_Free): Added support for freeing format 8, 10, and 12
1110
	cmaps.
1111
	(code_to_index4): Small improvement.
1112
	(code_to_index6): Ditto.
1113
	(code_to_index8_12, code_to_index10): New functions.
1114
	* src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new
1115
	structure.
1116
	(TT_Load_CMap): Ditto.
1117
 
1118
	* src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
1119
	Unicode).
1120
 
1121
2001-08-11  Werner Lemberg  
1122
 
1123
	* src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
1124
 
1125
2001-08-09  Tom Kacvinsky  
1126
 
1127
	* src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to
1128
	cff_get_glyph_name for consistency.
1129
 
1130
	(cff_get_glyph_index): Minor documentation change.
1131
 
1132
	* src/type1/t1driver.c (t1_get_name_index): New function used in
1133
	Get_Interface as the function returned when the `name_index'
1134
	function is requested.
1135
 
1136
	(get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency.
1137
 
1138
2001-08-08  Tom Kacvinsky  
1139
 
1140
	* src/cff/cffload.c: Removed definitions of cff_isoadobe_charset,
1141
	cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
1142
	and cff_expert_encoding arrays to cffload.h.
1143
 
1144
	* src/cff/cffload.h: Added definitions of cff_isoadobe_charset,
1145
	cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
1146
	and cff_expert_encoding arrays.
1147
 
1148
	* src/cff/cffdrivr.c (cff_get_name_index): New function, returned
1149
	when `cff_get_interface' is called with a request for the
1150
	`name_index' function.
1151
 
1152
	(cff_get_interface): Modified so that it returns the function
1153
	`cff_get_name_index' when the `name_index' function is requested.
1154
 
1155
	* src/base/ftobjs.c (FT_Get_Name_Index): New function, used to
1156
	return a glyph index for a given glyph name only if the driver
1157
	supports glyph names.
1158
 
1159
	* include/freetype/internal/ftobjs.h (FT_Name_Index_Requester):
1160
	New function pointer type definition used in the function
1161
	FT_Get_Name_Index.
1162
 
1163
	* include/freetype/freetype.h (FT_Get_Name_Index): Added
1164
	documentation and prototype.
1165
 
1166
2001-07-26  Werner Lemberg  
1167
 
1168
	* builds/cygwin/*: Removed.  Use the unix stuff instead.
1169
 
1170
2001-07-26  Jouk Jansen  
1171
 
1172
	* builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
1173
	2001-06-27.
1174
 
1175
2001-07-17  Werner Lemberg  
1176
 
1177
	* include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
1178
	`cursor' and `capacity'.
1179
	* src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second
1180
	parameter.
1181
	(PS_Table_Add): Use FT_Offset for `new_size'.
1182
 
1183
	Add support for version 0.5 maxp tables.
1184
 
1185
	* src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it.
1186
	(TT_Load_OS2): Initialize some values.
1187
 
1188
2001-07-13  Werner Lemberg  
1189
 
1190
	* src/base/ftsynth.c: Include ftcalc.h unconditionally.
1191
 
1192
2001-07-07  David Turner  
1193
 
1194
	* src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread:
1195
	Removed pedantic compiler warnings when the bytecode interpreter is
1196
	compiled in.
1197
 
1198
2001-07-03  Werner Lemberg  
1199
 
1200
	* src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove
1201
	unused variable `edges'.
1202
	(ah_hinter_load): Remove unused variables `old_width' and
1203
	`new_width'.
1204
	* src/cid/cidload.c (cid_decrypt): Use `U' for constant (again).
1205
	* src/psaux/psobjs.c (T1_Decrypt): Ditto.
1206
	* src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
1207
 
1208
2001-06-28  David Turner  
1209
 
1210
	* include/internal/ftstream.h: Modified the definitions
1211
	of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness.
1212
 
1213
2001-06-26  Werner Lemberg  
1214
 
1215
	* src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset
1216
	instead of FT_Int as type for `length' parameter.
1217
	* include/freetype/internal/psaux.h (PSAux_Interface): Updated.
1218
 
1219
2001-06-27  Wolfgang Domröse  
1220
 
1221
	* src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset
1222
	instead of FT_Int as type for `length' parameter.
1223
 
1224
 
1225
	* Version 2.0.4 released.
1226
	=========================
1227
 
1228
 
1229
2001-06-27  David Turner  
1230
 
1231
	* builds/unix/ftconfig.in: Changed the definition of the
1232
	FT_CALLBACK_DEF macro.
1233
 
1234
	* include/freetype/ftconfig.h, src/*/*.c: Changed the definition and
1235
	use of the FT_CALLBACK_DEF macro in order to support 16-bit
1236
	compilers.
1237
 
1238
	* builds/unix/ftconfig.in: Changed the definition of the
1239
	FT_CALLBACK_DEF macro.
1240
 
1241
	* src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures
1242
	that the kerning table is correctly sorted (some problem fonts don't
1243
	have a correct kern table).
1244
 
1245
2001-06-26  Wolfgang Domröse  
1246
 
1247
	* include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
1248
 
1249
2001-06-24  David Turner  
1250
 
1251
	* src/base/ftcalc.c (ft_div64by32): Fixed the source to work
1252
	correctly on 16-bit systems.
1253
 
1254
2001-06-23  Anthony Fok  
1255
 
1256
	* debian/*: Added Debian package build directory for 2.0.4.
1257
 
1258
2001-06-22  David Turner  
1259
 
1260
	* docs/PATENTS: Added patents disclaimer.  This one was missing!
1261
 
1262
	* docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release.
1263
 
1264
2001-06-20  Werner Lemberg  
1265
 
1266
	* include/freetype/config/ftconfig.h: Add two more `L's to
1267
	constants.
1268
	Add missing semicolons.
1269
 
1270
	* builds/toplevel.mk: Do similar change as for
1271
	builds/unix/detect.mk.
1272
 
1273
	* include/freetype/freetype.h (FT_ENC_TAG): New version to make it
1274
	easier to redefine.
1275
	* include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto.
1276
 
1277
	* src/pcf/pcfread.c (pcf_get_encodings): Add cast.
1278
 
1279
2001-06-19  David Turner  
1280
 
1281
	* builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
1282
	Updated the Visual C++ project (for the 2.0.4 release).
1283
 
1284
	* builds/unix/detect.mk: Added rule for AIX detection (which uses
1285
	/usr/sbin/init instead of /sbin/init).
1286
 
1287
	* include/freetype/fterrors.h, src/*/*err*.h: Updated some of the
1288
	error macros to simplify handling of new error scheme.
1289
 
1290
2001-06-19  Werner Lemberg  
1291
 
1292
	* include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
1293
 
1294
2001-06-19  David Turner  
1295
 
1296
	Removing _lots_ of compiler warnings when the most pedantic warning
1297
	levels of Visual C++ and Borland C++ are used.  Too many files to be
1298
	listed here, but FT2 now compiles without warnings with VC++ and the
1299
	`/W4' warning level (lint-style).
1300
 
1301
	* include/freetype/freetype.h (FT_New_Memory_Face): Updated
1302
	documentation.
1303
	* include/freetype/fttypes.h (FT_BOOL): New macro.
1304
	* include/freetype/internal/ftdebug.h: Add #pragma for Visual C++
1305
	to suppress warning.
1306
	* include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE},
1307
	FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros.
1308
	(NEXT_*): Use them.
1309
	* src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H.
1310
	(FT_New_Memory_Face): Add `const' to function declaration.
1311
 
1312
2001-06-18  Werner Lemberg  
1313
 
1314
	Minor cleanups to remove compiler warnings.
1315
 
1316
	* include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
1317
	`L' for constant.
1318
	* include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
1319
	* src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
1320
	* src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
1321
	* src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
1322
	* src/base/ftobjs.c (FT_Done_Size): Fix return value.
1323
	(FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
1324
	unused `memory' variable.
1325
	* src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
1326
	* src/autohint/ahhint.c (ah_hint_edges_3,
1327
	ah_hinter_align_edge_points): Remove unused `before' and `after'
1328
	variables.
1329
	(ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
1330
	(ah_hinter_load): Remove unused `new_advance', `start_contour',
1331
	and `metrics' variables.
1332
	* src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
1333
	compiler warning.
1334
	* src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
1335
	variable.
1336
	* src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
1337
	`outline' variable.
1338
	(cff_compute_bias): Use `U' for constant.
1339
	* src/cid/cidload.c (cid_decrypt): Ditto.
1340
	* src/psaux/psobjs.c (T1_Decrypt): Ditto.
1341
	* src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
1342
	* src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
1343
	variable.
1344
	* src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
1345
	variable.
1346
	* src/truetype/ttgload.c (load_truetype_glyph): Remove unused
1347
	`num_contours' and `ins_offset' variables.
1348
	(compute_glyph_metrics): Remove unused `Top' and `x_scale'
1349
	variables.
1350
	(TT_Load_Glyph): Remove unused `memory' variable.
1351
	* src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
1352
 
1353
2001-06-18  Werner Lemberg  
1354
 
1355
	Make the new error scheme source compatible with older FT versions
1356
	by introducing another layer.
1357
 
1358
	* include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
1359
	macros.
1360
	(FT_NOERRORDEF): Removed.
1361
	* include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
1362
 
1363
2001-06-16  Werner Lemberg  
1364
 
1365
	* include/freetype/freetype.h (FT_ENC_TAG): New macro.
1366
	(FT_Encoding_): Use it.
1367
	* include/freetype/ftimage.h (FT_IMAGE_TAG): Define it
1368
	conditionally.
1369
 
1370
2001-06-14  David Turner  
1371
 
1372
	Modified the TrueType interpreter to let it use the new
1373
	trigonometric functions provided in `fttrigon.h'.  This gets rid of
1374
	some old 64-bit computation routines, as well as many warnings when
1375
	compiling the library with the `long long' 64-bit integer type.
1376
 
1377
	* include/freetype/config/ftoption.h: Undefine
1378
	FT_CONFIG_OPTION_OLD_CALCS.
1379
	* include/freetype/internal/ftcalc.h: Rearrange use of
1380
	FT_CONFIG_OPTION_OLD_CALCS.
1381
	* src/base/ftcalc.c: Add declaration of FT_Int64 if
1382
	FT_CONFIG_OPTION_OLD_CALCS isn't defined.
1383
	* src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H.
1384
	(Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't
1385
	defined.
1386
	(Current_Ratio, Normalize): Simplify code.
1387
 
1388
2001-06-11  Mike Owens  
1389
 
1390
	* src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
1391
	compiler warnings.
1392
 
1393
2001-06-08  Werner Lemberg  
1394
 
1395
	* builds/unix/configure.in: Renamed to ...
1396
	* builds/unix/configure.ac: This to make sure that autoconf 2.50 is
1397
	needed.
1398
	Run `autoupdate' on it.
1399
	Increase `version_info' to 7:0:1.
1400
	* builds/unix/configure: Regenerated.
1401
 
1402
2001-06-08  David Turner  
1403
 
1404
	* src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that
1405
	corrupted transformed glyphs that were auto-hinted (the transform
1406
	was applied twice).
1407
 
1408
	Fixed a bug that returned an invalid linear width for composite
1409
	TrueType glyphs.
1410
 
1411
	* include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
1412
	and `linear_def'.
1413
	* src/truetype/ttgload.c (load_truetype_glyph,
1414
	compute_glyph_metrics): Use it.
1415
 
1416
	* include/fttypes.h (FT_ERROR_BASE): New macro.
1417
	* src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
1418
	to make source code work with the new error scheme implemented by
1419
	Werner.
1420
	* src/base/ftoutln.c (FT_Outline_Render): Ditto.
1421
 
1422
2001-06-07  Werner Lemberg  
1423
 
1424
	Updating to libtool 1.4.0 and autoconf 2.50.
1425
 
1426
	* builds/unix/ltconfig: Removed.
1427
	* builds/unix/ltmain.sh, builds/unix/configure.in,
1428
	builds/unix/aclocal.m4: Updated.
1429
	* builds/unix/configure: Regenerated.
1430
 
1431
2001-06-06  Werner Lemberg  
1432
 
1433
	Complete redesign of error codes.  Please check ftmoderr.h for more
1434
	details.
1435
 
1436
	* include/freetype/internal/cfferrs.h,
1437
	include/freetype/internal/tterrors.h,
1438
	include/freetype/internal/t1errors.h: Removed.  Replaced with files
1439
	local to the module.  All extra error codes have been moved to
1440
	`fterrors.h'.
1441
 
1442
	* src/sfnt/ttpost.h: Move error codes to `fterrors.h'.
1443
 
1444
	* src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
1445
	src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
1446
	src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
1447
	src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
1448
	src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
1449
	error names for the module it belongs to.
1450
 
1451
	* include/freetype/ftmoderr.h: New file, defining the module error
1452
	offsets.  Its structure is similar to `fterrors.h'.
1453
 
1454
	* include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
1455
	(FT_ERRORDEF): Redefined to use module error offsets.
1456
	All internal error codes are now public; unused error codes have
1457
	been removed, some are new.
1458
 
1459
	* include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
1460
	macro.
1461
	* include/freetype/config/ftoption.h
1462
	(FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.
1463
 
1464
	All other source files have been updated to use the new error codes;
1465
	some already existing (internal) error codes local to a module have
1466
	been renamed to give them the same name as in the base module.
1467
 
1468
	All make files have been updated to include the local error files.
1469
 
1470
2001-06-06  Werner Lemberg  
1471
 
1472
	* src/cid/cidtokens.h: Replaced with...
1473
	* src/cid/cidtoken.h: This file for 8+3 consistency.
1474
 
1475
	* src/raster/ftraster.c: Use macros for header file names.
1476
 
1477
	* src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_):
1478
	Fix length of `Reserved' array.  Note that this isn't the real fix
1479
	since recent OpenType specs have introduced a `CaretOffset' field
1480
	instead of the first reserved byte.
1481
 
1482
2001-05-29  Werner Lemberg  
1483
 
1484
	* INSTALL: Minor fixes.
1485
 
1486
 
1487
	* Version 2.0.3 released.
1488
	=========================
1489
 
1490
 
1491
2001-05-29  David Turner  
1492
 
1493
	* INSTALL, docs/CHANGES: Updated.
1494
 
1495
2001-05-25  David Turner  
1496
 
1497
	Moved several documents from the top-level to the `docs' directory.
1498
 
1499
	* src/base/ftcalc.c (FT_DivFix): Small fix to return value.
1500
 
1501
2001-05-16  David Turner  
1502
 
1503
	* src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the
1504
	composite loader.  Spotted by Keith Packard.
1505
	* src/base/ftobjs.c (FT_GlyphLoader_Check_Points,
1506
	FT_GlyphLoader_Check_Subglyphs): Ditto.
1507
 
1508
2001-05-14  David Turner  
1509
 
1510
	Fixed the incorrect blue zone computations, and improved the
1511
	composite support.  Note that these changes result in improved
1512
	rendering, while sometimes introducing their own artefacts.  This is
1513
	probably the last big change to the autohinter before the
1514
	introduction of a complete replacement.
1515
 
1516
	* src/autohint/ahglobal.c (sort_values): Fix loop.
1517
	* src/autohint/ahglyph.c: Removed some obsolete code.
1518
	(ah_outline_compute_edges): Modify code to set the ah_edge_round
1519
	flag.
1520
	(ah_outline_compute_blue_edges): Add code to compute active blue
1521
	zones.
1522
	* src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags
1523
	value.
1524
 
1525
	* src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that
1526
	created incorrect scale factors!
1527
	(FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements.
1528
 
1529
2001-05-12  Werner Lemberg  
1530
 
1531
	* include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__.
1532
	* include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ ->
1533
	__FTTRIGON_H__.
1534
	Include FT_FREETYPE_H.
1535
	Beautified; added copyright.
1536
	* src/base/fttrigon.c: Beautified; added copyright.
1537
 
1538
2001-05-11  David Turner  
1539
 
1540
	* src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
1541
	(parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed
1542
	the incorrect EM size computation.
1543
 
1544
	* include/freetype/fttrigon.h, src/base/fttrigon.c: New files,
1545
	adding trigonometric functions to the core API (using Cordic
1546
	algorithms).
1547
	* src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them.
1548
 
1549
	* builds/newline: New file.
1550
	* builds/top_level.mk, builds/detect.mk: Use it.  This fixes
1551
	problems with Make on Windows 2000, as well as problems when `make
1552
	distclean' is invoked on a non-Unix platform when there is no
1553
	`config.mk' in the current directory.
1554
 
1555
	* builds/freetype.mk: Fixed a problem with object deletions under
1556
	Dos/Windows/OS/2 systems.
1557
 
1558
	Added new directory to hold tools and test programs.
1559
 
1560
	* docs/docmaker.py, docs/glnames.py: Moved to...
1561
	* src/tools/docmaker.py, src/tools/glnames.py: This place.
1562
	* src/tools/cordic.py: New file used to compute arctangent table
1563
	needed by fttrigon.c.
1564
	* src/tools/test_bbox.c, src/tools/test_trig.c: New test files.
1565
 
1566
	* src/tools/docmaker.py: Improved the script to add the current date
1567
	at the footer of each web page (useful to distinguish between
1568
	versions).
1569
 
1570
	* Jamfile: Fixed incorrect HDRMACRO argument.
1571
 
1572
	* TODO: Removed the cubic arc bbox computation note, since it has been
1573
	fixed recently.
1574
	* src/base/ftbbox.c (test_cubic_zero): Renamed to...
1575
	(test_cubic_extrema): This function.  Use `UL' for unsigned long
1576
	constants.
1577
 
1578
	* include/freetype/t1tables.h, include/freetype/config/ftoption.h:
1579
	Formatting.
1580
 
1581
2001-05-10  David Turner  
1582
 
1583
	* src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak
1584
	which happened when trying to open 0-size font files!
1585
 
1586
2001-05-09  Werner Lemberg  
1587
 
1588
	* include/freetype/internal/ftcalc.h: Move declaration of
1589
	FT_SqrtFixed() out of `#ifdef FT_LONG64'.
1590
 
1591
2001-05-08  Francesco Zappa Nardelli  
1592
 
1593
	* src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width
1594
	computation.
1595
 
1596
2001-05-08  David Turner  
1597
 
1598
	* docs/docmaker.py: Updated the DocMaker script in order to add
1599
	command line options (--output,--prefix,--title), fix the erroneous
1600
	line numbers reported during errors and warnings, and other
1601
	formatting issues.
1602
 
1603
	* src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny
1604
	fixes related to rounding in 64-bits routines and
1605
	pseudo-`optimizations'.
1606
 
1607
2001-04-27  David Turner  
1608
 
1609
	* src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient
1610
	normalization algorithm (invalid final bit position, and invalid
1611
	shift computation).
1612
 
1613
2001-04-26  Werner Lemberg  
1614
 
1615
	* builds/unix/config.guess, builds/unix/config.sub: Updated to
1616
	latest versions from gnu.org.
1617
 
1618
	* builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.
1619
 
1620
	* include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
1621
	unconditionally.
1622
	* src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
1623
	Fix compiler warnings.
1624
	* src/base/ftcalc.c: Fix (potential) compiler warnings.
1625
 
1626
2001-04-26  David Turner  
1627
 
1628
	* src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
1629
	fixed-point square root computation.  It is now used even with
1630
	64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
1631
 
1632
	* src/base/ftbbox.c: Removed invalid `#include FT_BEZIER_H' line.
1633
 
1634
2001-04-25  David Turner  
1635
 
1636
	* src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use
1637
	direct computations with 16.16 values instead of sub-divisions.  It
1638
	is now slower, but proves a point :-)
1639
 
1640
	* src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c:
1641
	Fixed the Bézier stack depths.
1642
 
1643
	* src/base/ftcalc.c (FT_MulFix): Minor rounding fix.
1644
 
1645
	* builds/beos: Added BeOS-specific files to the old build system
1646
	(no changes were necessary to support BeOS in the Jamfile though).
1647
 
1648
2001-04-20  David Turner  
1649
 
1650
	* ftconfig.h, ftoption.h: Updated `ftconfig.h' to detect 64-bit int
1651
	types on platforms where Autoconf is not available).  Also removed
1652
	FTCALC_USE_LONG_LONG and replaced it with
1653
	FT_CONFIG_OPTION_FORCE_INT64.
1654
 
1655
	* builds/win32/freetype.dsp: Updated the Visual C++ project file.
1656
	Doesn't create a DLL yet.
1657
 
1658
	* cffgload.c: Removed a compilation warning.
1659
 
1660
2001-04-10  Tom Kacvinsky  
1661
 
1662
	* t1load.c (parse_charstrings): Changed code for placing .notdef
1663
	glyph into slot 0 so that we no longer have a memory access
1664
	violation.
1665
 
1666
	* t1load.h: In structure T1_Loader, added swap_table (of type
1667
	PS_Table) to facilitate placing the .notdef glyph into slot 0.
1668
 
1669
2001-04-10  Francesco Zappa Nardelli  
1670
 
1671
	* src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
1672
 
1673
2001-04-09  Laurence Withers  
1674
 
1675
	* builds/dos/detect.mk: Add support for bash.
1676
 
1677
2001-04-05  Werner Lemberg  
1678
 
1679
	* builds/os2/*.mk: These files have been forgotten to update to
1680
	the structure of similar makefiles.
1681
	* builds/dos/*.mk: Ditto.
1682
	* builds/ansi/*.mk: Ditto.
1683
 
1684
	* builds/win32/win32-def.mk (BUILD): Fix typo.
1685
 
1686
	* builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
1687
	This is already used in the link_*.mk files.
1688
 
1689
2001-04-03  Werner Lemberg  
1690
 
1691
	* src/*/Jamfile: Slight changes	to make files more cryptic.
1692
 
1693
2001-04-03  Werner Lemberg  
1694
 
1695
	* Jamfile, src/Jamfile, src/*/Jamfile: Formatted.  Slight changes
1696
	to give files identical structure.
1697
 
1698
2001-04-02  Werner Lemberg  
1699
 
1700
	* CHANGES: Reformatted, minor fixes.
1701
	* TODO: Updated.
1702
	* README: Formatting.
1703
	* include/freetype/freetype.h: Formatting.
1704
 
1705
	* Jamfile: Fix typo.
1706
 
1707
	* src/cff/cffparse.c: Move error code #defines to...
1708
	* include/freetype/internal/cfferrs.h: This file.
1709
	* src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced
1710
	`FT_Err_*' with `CFF_Err_*'.
1711
	* src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
1712
	* src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
1713
	* src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
1714
	`TT_Err_*'.
1715
	* src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
1716
	* src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
1717
	src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.
1718
 
1719
	* include/freetype/internal/cfferrs.h: Add
1720
	`CFF_Err_Unknown_File_Format'.
1721
	* include/freetype/internal/t1errors.h: Add
1722
	`T1_Err_Unknown_File_Format'.
1723
	* include/freetype/internal/tterrors.h: Add
1724
	`TT_Err_Unknown_File_Format'.
1725
 
1726
	* src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
1727
	references.
1728
	* src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
1729
 
1730
	* src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
1731
	FT_LOCAL_DEF.
1732
	* src/cid/cidobjs.c (CID_Done_Driver): Ditto.
1733
	* src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
1734
	Ditto.
1735
	* src/type1/t1objs.c (T1_Done_Driver): Ditto.
1736
	* src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
1737
	* src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
1738
 
1739
2001-04-02  Tom Kacvinsky  
1740
 
1741
	* src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer
1742
	dereference.  Submitted by Herbert Duerr .
1743
 
1744
2001-03-26  Tom Kacvinsky  
1745
 
1746
	* include/freetype/config/ftconfig.h: Changed hexadecimal
1747
	constants to use suffix U to avoid problems with HP-UX's c89
1748
	compiler.  Submitted by G.W. Lucas .
1749
 
1750
2001-03-24  David Turner  
1751
 
1752
	* Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to
1753
	the source tree.  See www.freetype.org/jam/index.html for details.
1754
 
1755
 
1756
	* Version 2.0.2 released.
1757
	=========================
1758
 
1759
 
1760
2001-03-20  Werner Lemberg  
1761
 
1762
	* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
1763
 
1764
2001-03-20  David Turner  
1765
 
1766
	* include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
1767
	Renamed `ftnames.h' to `ftsnames.h', and FT_NAMES_H to
1768
	FT_SFNT_NAMES_H.
1769
 
1770
	* docs/docmaker.py: Added generation of INDEX link in table of
1771
	contents.
1772
 
1773
	* INSTALL, docs/BUILD: Updated documentation to indicate that the
1774
	compilation process has changed slightly (no more `src' required in
1775
	the include path).
1776
 
1777
	* builds/*/*-def.mk: Changed the objects directory from `obj' to
1778
	`objs'.
1779
 
1780
	* include/freetype/config/ftheader.h: Removed obsolete macros like
1781
	FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
1782
	were previously defined in .  Added comments to
1783
	be included in a new API Reference section.
1784
 
1785
	* src/*/*: Removed the use of FT_SOURCE_FILE, etc.  Now, each
1786
	component needs to add its own directory to the include path at
1787
	compile time.  Modified all `rules.mk' and `descrip.mms'
1788
	accordingly.
1789
 
1790
2001-03-20  Werner Lemberg  
1791
 
1792
	* builds/unix/configure.in: Add $ft_version.
1793
	* builds/unix/freetype-config.in: Use it.
1794
	* builds/unix/configure: Updated.
1795
 
1796
2001-03-19  Tom Kacvinsky  
1797
 
1798
	* src/type1/t1load.c (parse_font_matrix): Assign the units per em
1799
	value an unsigned short value, first by shifting right 16 bits,
1800
	then by casting the results to FT_UShort.
1801
 
1802
	* src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
1803
	value an unsigned short value, first by shifting right 16 bits,
1804
	then by casting the results to FT_UShort.
1805
 
1806
2001-03-17  David Turner  
1807
 
1808
	* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
1809
	src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
1810
	compiler warnings in pedantic modes.
1811
 
1812
	* include/config/ft2build.h, include/config/ftheader.h: The file
1813
	`ft2build.h' was renamed to `ftheader.h' to avoid conflicts with the
1814
	top-level .
1815
 
1816
	* include/config/ftheader.h: Added new section describing the #include
1817
	macros.
1818
 
1819
2001-03-17  Tom Kacvinsky  
1820
 
1821
	* src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
1822
	values for the bounding box numbers.
1823
 
1824
	* src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font,
1825
	set `root->ascender' (`root->descender') to the integer part of
1826
	`root->bbox.yMax' (`root->bbox.yMin', respectively).
1827
 
1828
2001-03-16  Tom Kacvinsky  
1829
 
1830
	* src/cff/cffdrivr.c (get_cff_glyph_name):  New function.  Used in
1831
	cff_get_interface to facilitate getting a glyph name for glyph index
1832
	via FT_Get_Glyph_Name().
1833
 
1834
	(cff_get_interface): Added support for getting a glyph name via the
1835
	`glyph_name' module interface.  Uses the new function
1836
	get_cff_glyph_name().
1837
	Submitted by Sander van der Wal .
1838
 
1839
	* src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with
1840
	FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is
1841
	not defined.  This is to add support for getting a glyph name from a
1842
	glyph index via FT_Get_Glyph_Name().
1843
	Submitted by Sander van der Wal .
1844
 
1845
	* src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
1846
	deprecated operator `dotsection'.
1847
	Submitted by Sander van der Wal .
1848
 
1849
2001-03-12  Werner Lemberg  
1850
 
1851
	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
1852
	messages.
1853
 
1854
	* INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
1855
 
1856
2001-03-12  Tom Kacvinsky  
1857
 
1858
	* include/freetype/internal/psaux.h:  Changed the lenIV member of
1859
	the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt.
1860
 
1861
	* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings):  Adjust
1862
	for lenIV seed bytes at the start of a decrypted subroutine.
1863
 
1864
	* src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only
1865
	if lenIV >= 0.
1866
 
1867
	* src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
1868
	if lenIV >= 0.
1869
 
1870
2001-03-11  Werner Lemberg  
1871
 
1872
	* TODO: Updated.
1873
 
1874
	* src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
1875
	avoid compiler warnings.
1876
 
1877
2001-03-10  Tom Kacvinsky  
1878
 
1879
	* TODO: New file.
1880
 
1881
	* include/freetype/freetype.h: Added prototypes and notes for
1882
	three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix.
1883
	* src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added
1884
	implementation code.
1885
 
1886
	* src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM,
1887
	and if that is not available, default to 1000 units per EM.  Changed
1888
	assignment code for ascender and descender values.
1889
	* src/cid/cidload.c (parse_font_matrix): Added units_per_EM
1890
	processing.
1891
	(parse_font_bbox): Changed to use FT_Fixed number handling.
1892
 
1893
	* src/type1/t1objs.c (T1_Init_Face): Changed the assignment code
1894
	for ascender, descender, and max_advance_width.
1895
	* src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed
1896
	number handling.
1897
 
1898
2001-03-10  Henrik Grubbström  
1899
 
1900
	* src/*/*.c: Added many casts to make code more 64bit-safe.
1901
 
1902
2001-03-07  Werner Lemberg  
1903
 
1904
	* INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
1905
 
1906
2001-03-07  Tom Kacvinsky  
1907
 
1908
	* src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
1909
	until parse_font_bbox is changed before we use logical shift rights
1910
	in the assignments of `root->ascender', `root->descender', and
1911
	`root->max_advance_width'.
1912
 
1913
	(T1_Done_Face): Free `char_name' table to avoid a memory leak.
1914
	Submitted by Sander van der Wal .
1915
 
1916
2001-03-05  Tom Kacvinsky  
1917
 
1918
	* src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
1919
	the Type 2 glyph charstring (used by conversion programs).
1920
	Submitted by Ha Shao .
1921
 
1922
2001-03-04  Antoine Leca  
1923
 
1924
	* include/freetype/ttnameid.h: Correct a stupid typo which prevented
1925
	correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
1926
 
1927
2001-03-04  Werner Lemberg  
1928
 
1929
	* src/autohint/ahtypes.h (AH_Hinter): Add elements
1930
	`disable_horz_edges', `disable_vert_edges'.
1931
	* src/autohint/ahhint.c	(ah_hint_edges_3, ah_hinter_hint_edges): Use
1932
	them (and remove static variables with the same names).
1933
	* src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
1934
	* docs/glnames.py: Updated to latest pstables.h changes.
1935
 
1936
	* builds/unix/detect.mk: Add test for Hurd.
1937
	* builds/hurd/detect.mk: Removed.
1938
 
1939
2001-03-04  Sander van der Wal  
1940
 
1941
	* src/psnames/pstables.h: Add more `const'.
1942
	* src/pcf/pcfutil.c: Ditto.
1943
 
1944
2001-03-04  Werner Lemberg  
1945
 
1946
	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
1947
	(FT_Glyph_Done -> FT_Done_Glyph).
1948
 
1949
2001-03-01  Antoine Leca  
1950
 
1951
	* include/freetype/ttnameid.h: Added some new Microsoft language
1952
	codes and LCIDs as found in Office Xp.
1953
 
1954
2001-02-28  David Turner  
1955
 
1956
	* builds/hurd/detect.mk: New file.  Added support to detect the GNU
1957
	Hurd operating system as Unix-like.  Fix submitted by Anthony Fok
1958
	.
1959
 
1960
	* src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
1961
	the Type 1 glyph charstring (used by conversion programs).
1962
	Submitted by Ha Shao .
1963
 
1964
2001-02-22  David Turner  
1965
 
1966
	* src/base/ftgrays.c (grays_sweep): The function didn't exit
1967
	immediately if `num_cells' was 0 as it should.  Thanks to Boris for
1968
	finding this out.
1969
 
1970
	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
1971
	bitmap rendering fails (thanks to Graham Asher).
1972
 
1973
2001-02-13  Werner Lemberg  
1974
 
1975
	* docs/docmaker.py (DocSection::add_element): Use
1976
	`self.print_error()'.
1977
 
1978
	* builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org).
1979
 
1980
2001-02-13  David Turner  
1981
 
1982
	* docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
1983
	script to support chapters and section block ordering.  Updated the
1984
	public header files accordingly.
1985
 
1986
	* src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
1987
	were not correctly copied.
1988
 
1989
2001-02-08  Tom Kacvinsky  
1990
 
1991
	* src/cff/cffparse.c (cff_parse_font_matrix): Removed an
1992
	unnecessary fprintf( stderr, ... ).
1993
 
1994
2001-02-07  Tom Kacvinsky  
1995
 
1996
	* src/type1/t1objs.c (T1_Init_Face): Added code to get the
1997
	units_per_EM from the value assigned in parse_font_matrix, if
1998
	available.  Default to 1000 if not available.
1999
 
2000
	* src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get
2001
	the units_per_EM from the FontMatrix.
2002
 
2003
	(cff_parse_fixed_thousand): New function.  Gets a real number from
2004
	the CFF font, but multiplies by 1000 (this is to avoid rounding
2005
	errors when placing this real number into a 16.16 fixed number).
2006
 
2007
	(cff_parse_real): Added code so that the integer part is moved
2008
	into the high sixteen bits of the 16.16 fixed number.
2009
 
2010
	* src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units
2011
	per EM from the CFF dictionary, if available.
2012
 
2013
	* include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_,
2014
	added a units_per_em member to facilitate passing of units_per_em
2015
	from function cff_parse_font_matrix.
2016
 
2017
	* src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric
2018
	character.  This is so that font names with `-' are fully parsed,
2019
	etc...
2020
 
2021
2001-02-02  Werner Lemberg  
2022
 
2023
	* src/psaux/psobjs.c (shift_elements): Remove if clause (which is
2024
	obsolete now).
2025
 
2026
	(reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC()
2027
	+ MEM_Copy() to avoid a memory bug.
2028
 
2029
2001-02-01  David Turner  
2030
 
2031
	* docs/docmaker.py: Improved the index sorting routine to place
2032
	capital letters before small ones.  Added the `' marker to
2033
	section blocks in order to give the order of blocks.
2034
 
2035
2001-01-30  Antoine Leca  
2036
 
2037
	* include/freetype/ttnameid.h: Latest updates to Microsoft language
2038
	ID codes.
2039
 
2040
2001-01-24  Tom Kacvinsky  
2041
 
2042
	* src/cff/t1load.c (parse_font_matrix): Added heuristic to get
2043
	units_per_EM from the font matrix.
2044
 
2045
	(parse_dict): Deleted test to see whether the FontInfo keyword has
2046
	been seen.  Deletion of this test allows fonts without FontInfo
2047
	dictionaries to be parsed by the Type 1 driver.
2048
 
2049
	(T1_Open_Face): Deleted empty subroutines array test to make sure
2050
	fonts with no subroutines still are parsed.
2051
 
2052
2001-01-17  Francesco Zappa Nardelli  
2053
 
2054
	* src/pcfread.c (pcf_get_properties, pcf_get_metrics,
2055
	pcf_get_bitmaps): Fix compiler errors.
2056
 
2057
2001-01-11  David Turner  
2058
 
2059
	* src/pcf/pcfread.c: Removed some compilation warnings related
2060
	to comparison of signed vs. unsigned integers.
2061
 
2062
	* include/freetype/internal/ftdebug.h: Changed the debug trace
2063
	constants from trace_t2xxxx to trace_cffxxxx to be able to compile
2064
	the CFF driver in debug mode.
2065
 
2066
2001-01-11  Matthew Crosby  
2067
 
2068
	* builds/unix/freetype-config.in: Fix problems with separate
2069
	--prefix and --exec-prefix.
2070
 
2071
2001-01-11  David Turner  
2072
 
2073
	* docs/docmaker.py: Added cross-references generation as well as
2074
	more robust handling of pathname wildcard matching.
2075
 
2076
2001-01-10  Werner Lemberg  
2077
 
2078
	* docs/docmaker.py: Minor improvements to reduce unwanted spaces
2079
	and empty lines in output.
2080
 
2081
2001-01-09  David Turner  
2082
 
2083
	* docs/docmaker.py: Improved script to generate table of contents
2084
	and index pages.  It also supports wildcards on non Unix systems.
2085
 
2086
	* include/freetype/*.h, include/freetype/cache/*.h: Updated comments
2087
	to include section definitions/delimitations for the API Reference
2088
	generator.
2089
 
2090
	* include/freetype/freetype.h: Moved declaration of
2091
	`FT_Generic_Finalizer' and the `FT_Generic' structure to...
2092
	* include/freetype/fttypes.h: here.
2093
 
2094
2001-01-04  Werner Lemberg  
2095
 
2096
	* include/freetype/ttnameid.h: Updated Unicode code range comments.
2097
 
2098
2001-01-03  Tom Kacvinsky  
2099
 
2100
	* src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
2101
 
2102
	* include/freetype/internal/internal.h: Changed to use cfftypes.h
2103
	(cfferrs.h) instead of t2types.h (t2errors.h, respectively).
2104
 
2105
	* include/freetype/internal/cfftypes.h: Merged in changes from
2106
	t2types.h and made this the canonical `types' header for the CFF
2107
	driver.
2108
 
2109
	* include/freetype/internal/t2types.h: This file was merged with
2110
	cfftypes.h and is no longer necessary.
2111
 
2112
	* include/freetype/internal/t2errors.h:	Renamed to cfferrs.h.
2113
 
2114
	* src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
2115
	src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
2116
	src/cff/cffgload.c, src/cff/cffgload.h: Changed to use
2117
	cffgload.{c,h} instead of t2gload.{c,h}.  All occurrences of t2_
2118
	(T2_) were replaced with cff_ (CFF_, respectively).
2119
 
2120
	* src/cff/t2gload.h: Renamed cffgload.h.
2121
 
2122
	* src/cff/t2gload.c: Renamed cffgload.c
2123
 
2124
2000-01-02  Jouk Jansen  
2125
 
2126
	* builds/vms: Support files for VMS architecture added.
2127
	* descrip.mms, src/*/descrip.mms: VMS makefiles added.
2128
	* README.VMS: New file.
2129
 
2130
2000-01-01  Werner Lemberg  
2131
 
2132
	* LICENSE.TXT: Added info about PCF driver license.
2133
 
2134
2001-01-01  Francesco Zappa Nardelli  
2135
 
2136
	* src/pcf/*: New driver module for PCF font format (used in
2137
	X Window System).
2138
	* include/freetype/internal/ftdebug.h (FT_Trace): Added values for
2139
	PCF driver.
2140
	* include/freetype/internal/pcftypes.h: New file.
2141
	* include/freetype/config/ftmodule.h: Added PCF driver module.
2142
 
2143
2001-01-01  Werner Lemberg  
2144
 
2145
	* src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
2146
 
2147
2000-12-31  Werner Lemberg  
2148
 
2149
	* builds/modules.mk (clean_module_list): Fixed deletion of module
2150
	file in case `make make_module_list' is called before `make setup'.
2151
 
2152
2000-12-30  Werner Lemberg  
2153
 
2154
	* src/cff/cffload.c (CFF_Load_Charset): Improved error messages.
2155
	(CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable
2156
	definition.
2157
 
2158
2000-12-30  Tom Kacvinsky  
2159
 
2160
	* include/freetype/internal/t2types.h,
2161
	include/freetype/internal/cfftypes.h: Changed the structures for
2162
	CFF_Encoding and CFF_Encoding for the new implementations of the
2163
	charset and encoding parsers in the CFF driver.
2164
 
2165
	* src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
2166
	t2_operator_seac): Added these functions for use in implementing the
2167
	seac emulation provided by the Type 2 endchar operator.
2168
	(T2_Parse_CharStrings): Added seac emulation for the endchar
2169
	operator.
2170
 
2171
	* src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
2172
	CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
2173
	charset/encoding tables, and free the memory used by them when the
2174
	CFF driver is finished with them.  Added tables
2175
 
2176
	    cff_isoadobe_charset
2177
	    cff_expert_charset
2178
	    cff_expertsubset_charset
2179
	    cff_standard_encoding
2180
	    cff_expert_encoding
2181
 
2182
	so that the encoding/charset parser can handle predefined encodings and
2183
	charsets.
2184
 
2185
2000-12-24  Tom Kacvinsky  
2186
 
2187
	* src/cff/t2gload.c (T2_Load_Glyph): Added code	so that the font
2188
	transform is applied.
2189
 
2190
	* src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
2191
	the font matrix numbers	are scaled by 1/(matrix->yy).  Also, the
2192
	offset vector now contains integer values instead of 16.16 fixed
2193
	numbers.
2194
 
2195
2000-12-22  Tom Kacvinsky  
2196
 
2197
	* src/autohint/ahhint.c (ah_hinter_load_glyph):
2198
	Removed unnecessary comments and commented-out code.
2199
 
2200
2000-12-21  David Turner  
2201
 
2202
	* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
2203
	we'll work on supporting CID AFM files later I guess :-)
2204
 
2205
2000-12-21  Tom Kacvinsky  
2206
 
2207
	* src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
2208
	Changed so that fonts with a non-standard FontMatrix render
2209
	correctly.  Previously, the first glyph rendered from such a
2210
	font did not have the transformation matrix applied.
2211
 
2212
2000-12-17  Werner Lemberg  
2213
 
2214
	* *.mk: Added lots of `.PHONY' targets.
2215
 
2216
2000-12-17  Karsten Fleischer  
2217
 
2218
	* *.mk: Implemented `platform' target to disable auto-detection.
2219
 
2220
2000-12-14  Werner Lemberg  
2221
 
2222
	* docs/design/modules.html: Removed.  Covered by design-*.html.
2223
 
2224
	* INSTALL: Added info about makepp.
2225
 
2226
2000-12-14  David Turner  
2227
 
2228
	Added support for clipped direct rendering in the smooth renderer.
2229
	This should not break binary compatibility of existing applications.
2230
 
2231
	* include/freetype/fttypes.h, include/freetype/ftimage.h: Move
2232
	definition of the FT_BBox structure from the former to the latter.
2233
	* include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
2234
	FT_Raster_Flag enumeration.
2235
	Add `clip_box' element to FT_Raster_Params structure.
2236
	* src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
2237
 
2238
	* INSTALL: Updated installation instructions on Win32, listing the
2239
	new `make setup list' target used to list supported
2240
	compilers/targets.
2241
 
2242
	* src/raster/ftraster.c (ft_black_render): Test for unsupported
2243
	direct rendering before testing arguments.
2244
 
2245
2000-12-13  David Turner  
2246
 
2247
	* include/freetype/config/ft2build.h,
2248
	include/freetype/internal/internal.h: Fixed header inclusion macros
2249
	to use direct definitions.  This is the only way to do these things
2250
	in a portable way :-(  The rest of the code should follow shortly
2251
	though everything compiles now.
2252
 
2253
	* builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
2254
 
2255
	* builds/win32/detect.mk: Added support for the Intel C/C++
2256
	compiler, as well as _preliminary_ (read: doesn't work!) support for
2257
	Watcom.  Also added a new setup target.  Type `make setup list' for
2258
	a list of supported command-line compilers on Win32.
2259
 
2260
	* src/base/ftdebug.c: Added dummy symbol to avoid empty file if
2261
	conditionals are off.
2262
 
2263
2000-12-13  Werner Lemberg  
2264
 
2265
	* builds/unix/ftsystem.c: Fixed typos.  Fixed inclusion of wrong
2266
	ftconfig.h file.
2267
 
2268
2000-12-12  Werner Lemberg  
2269
 
2270
	* include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
2271
	Removed.  ANSI C doesn't (explicitly) allow macro expansion in
2272
	arguments using `##'.
2273
	(FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
2274
	names directly.  Make them configurable.  Use `##' to strip leading
2275
	and trailing spaces from arguments.
2276
 
2277
	* builds/unix/ft2unix.h: Adapted.
2278
 
2279
	* src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
2280
	ft_close_stream): Use FT_CALLBACK_DEF.
2281
 
2282
	* builds/unix/ftsystem.c: Use new header scheme.
2283
	(FT_Done_Memory): Use free() from FT_Memory structure.
2284
 
2285
	* src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
2286
 
2287
2000-12-11  Werner Lemberg  
2288
 
2289
	* include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
2290
	FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
2291
	FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
2292
 
2293
2000-12-09  Werner Lemberg  
2294
 
2295
	* builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
2296
 
2297
2000-12-08  Werner Lemberg  
2298
 
2299
	* */*.h: Changed body inclusion macro names to start and end with
2300
	`__' (those which haven't converted yet).  Fixed minor conversion
2301
	issues.
2302
 
2303
	* src/winfonts/winfnt.c: Updated to new header inclusion scheme.
2304
 
2305
	* src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
2306
 
2307
2000-12-07  David Turner  
2308
 
2309
	* */*.[ch]: Changed source files to adhere to the new
2310
	header inclusion scheme.  Not completely tested but works for now
2311
	here.
2312
 
2313
	* src/cff/t2driver.c: Renamed and updated to...
2314
	* src/cff/cffdrivr.c: New file.
2315
	* src/cff/t2driver.h: Renamed and updated to...
2316
	* src/cff/cffdrivr.h: New file.
2317
	* src/cff/t2load.c: Renamed and updated to...
2318
	* src/cff/cffload.c: New file.
2319
	* src/cff/t2load.h: Renamed and updated to...
2320
	* src/cff/cffload.h: New file.
2321
	* src/cff/t2objs.c: Renamed and updated to...
2322
	* src/cff/cffobjs.c: New file.
2323
	* src/cff/t2objs.h: Renamed and updated to...
2324
	* src/cff/cffobjs.h: New file.
2325
	* src/cff/t2parse.c: Renamed and updated to...
2326
	* src/cff/cffparse.c: New file.
2327
	* src/cff/t2parse.h: Renamed and updated to...
2328
	* src/cff/cffparse.h: New file.
2329
	* src/cff/t2tokens.h: Renamed and updated to...
2330
	* src/cff/cfftoken.h: New file.
2331
 
2332
	* src/cff/cff.c, src/cff/rules.mk: Updated.
2333
 
2334
2000-12-06  David Turner  
2335
 
2336
	* src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
2337
 
2338
2000-12-06  Werner Lemberg  
2339
 
2340
	* builds/module.mk: Replaced `xxx #' with `xxx$(space).
2341
	* builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
2342
	avoid trailing spaces in variable.
2343
	* builds/freetype.mk: Use $(D) instead of $D to make statement more
2344
	readable.
2345
 
2346
	* docs/docmaker.py: Formatting.
2347
 
2348
2000-12-05  David Turner  
2349
 
2350
	* src/psaux/psauxmod.c: Fixed a broken inclusion of component
2351
	header files (an FT_FLAT_COMPILE test was missing).
2352
 
2353
	* src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
2354
	an occasional crash when the function was called (due to a dangling
2355
	pointer).
2356
 
2357
	* src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
2358
	The ANSI `free()' function was called instead of `memory->free()'.
2359
 
2360
	* docs/docmaker.py: Added section filtering, multi-page generation
2361
	(index page generation is still missing though).
2362
 
2363
2000-12-04  David Turner  
2364
 
2365
	* builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h'
2366
	is now installed as  for Unix systems.  Note that we
2367
	still use the `freetype2/freetype' installation path for now.
2368
 
2369
	* */*.[ch]: Now using  as the default build and setup
2370
	configuration file in all public headers.  Internal source files
2371
	still need some changes though.
2372
 
2373
	* builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
2374
	directory to hold all development options for both the Unix and
2375
	Win32 developer builds.
2376
 
2377
	* builds/win32/detect.mk, builds/win32/w32-bccd.mk,
2378
	builds/win32/w32-dev.mk: Changed the developer build targets to
2379
	`devel-gcc' and `devel-bcc' in order to be able to develop with the
2380
	Borland C++ compiler.
2381
 
2382
2000-12-01  David Turner  
2383
 
2384
 
2385
	* Version 2.0.1 released.
2386
	=========================
2387
 
2388
 
2389
	* builds/unix/configure.in, builds/unix/configure,
2390
	builds/cygwin/configure.in, builds/cygwin/configure: Setting
2391
	`version_info' to 6:1:0 for the 2.0.1 release.
2392
 
2393
	* CHANGES: Added a summary of changes between 2.0.1 and 2.0.
2394
 
2395
	* builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes
2396
	to allow compilation under Unix with the Unix-specific config
2397
	files.
2398
 
2399
2000-12-01  Werner Lemberg  
2400
 
2401
	* INSTALL: Revised.
2402
	* builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
2403
	builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
2404
	builds/win32/w32-bccd.mk: Revised.
2405
	* include/freetype/config/ftbuild.h,
2406
	include/freetype/internal/internal.h: Revised.
2407
	* include/freetype/ftimage.h: Updated to new header inclusion scheme.
2408
 
2409
2000-11-30  Werner Lemberg  
2410
 
2411
	* builds/toplevel.mk (.PHONY): Adding `distclean'.
2412
	* builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
2413
	`setup'.
2414
 
2415
2000-11-30  David Turner  
2416
 
2417
	* INSTALL: Slightly updated the quick starter documentation to
2418
	include IDE compilation, prevent against BSD Make, and specify `make
2419
	setup' instead of a single `make' for build configuration.
2420
 
2421
	* include/config/ftbuild.h, include/internal/internal.h: Added new
2422
	configuration files used to determine the location of all public,
2423
	configuration, and internal header files for FreeType 2.  Modified
2424
	all headers under `include/freetype' to reflect this change.  Note
2425
	that we still need to change the library source files themselves
2426
	though.
2427
 
2428
	* builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
2429
	builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
2430
	builds/win32/detect.mk: Added new files to support compilation with
2431
	the free Borland C++ command-line compiler.  Modified the detection
2432
	rules to recognize the new `bcc32' target in `make setup bcc32'.
2433
 
2434
	* src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
2435
	src/truetype/ttobjs.c, src/truetype/ttgload.c,
2436
	src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
2437
	didn't really like.  Basically, this compiler complains when FT_UInt
2438
	is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
2439
	in these cases).
2440
 
2441
2000-11-30  Tom Kacvinsky  
2442
 
2443
	* t2objs.c (T2_Init_Face): Added calculation of `face->height' for
2444
	pure CFF fonts.
2445
 
2446
	* t1objs.c (T1_Init_Face): Fixed computation of `face->height'.
2447
 
2448
2000-11-29  David Turner  
2449
 
2450
	* src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid
2451
	bug in the formula used to compute the conic Bézier extrema
2452
	of non-monotonous arcs.
2453
 
2454
2000-11-29  Werner Lemberg  
2455
 
2456
	* src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
2457
	(FT_Set_Renderer): Use FT_EXPORT_DEF.
2458
	* src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
2459
	src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
2460
	FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
2461
	FTC_Manager_Register_Cache), src/cache/ftcsbits.c
2462
	(FTC_SBit_Cache_Lookup): Ditto.
2463
 
2464
	* src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
2465
	src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
2466
 
2467
2000-11-29  Werner Lemberg  
2468
 
2469
	* src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
2470
	conditionally.
2471
 
2472
	* src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
2473
	`size->strike_index' only conditionally.
2474
 
2475
	* src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
2476
	conditionally.
2477
 
2478
	* src/winfonts/winfnt.h: Move all type definitions to...
2479
	* src/include/freetype/internal/fnttypes.h: New file.
2480
	* src/winfonts/winfnt.c: Use it.
2481
 
2482
2000-11-29  ??? ???  
2483
 
2484
	* include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
2485
	with a direct solution (which also satisfies picky compilers).
2486
 
2487
2000-11-28  YAMANO-UCHI Hidetoshi  
2488
 
2489
	* src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with
2490
	disabled interpreter also.
2491
 
2492
	* src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect
2493
	parentheses.
2494
 
2495
2000-11-26  Tom Kacvinsky  
2496
 
2497
	* src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph
2498
	width setting code to take into account even/odd argument counts
2499
	and glyph width operand before endchar/hmoveto/vmoveto.
2500
 
2501
2000-11-26  Werner Lemberg  
2502
 
2503
	* builds/ansi/ansi.mk: Fix inclusion order of files.
2504
 
2505
2000-11-26  Keith Packard  
2506
 
2507
	* src/type1/t1objs.c (T1_Init_Face): Compute style flags.
2508
 
2509
2000-11-26  Werner Lemberg  
2510
 
2511
	* builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
2512
	conditional.
2513
 
2514
2000-11-23  Werner Lemberg  
2515
 
2516
	* src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
2517
	function from PSAux module.
2518
 
2519
	* src/type1/t1parse.c (T1_Done_Parse): Renamed to...
2520
	(T1_Finalize_Parser): New function (to avoid name clash with a
2521
	function in the PSAux module).
2522
	(T1_Decrypt): Removed since it is duplicated in the PSAux module.
2523
	(T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
2524
	function from PSAux module.
2525
 
2526
	* src/type1/t1parse.h: Adapted.
2527
 
2528
2000-11-22  Tom Kacvinsky  
2529
 
2530
	* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
2531
	`root->num_faces' to `cff->num_faces' and set `units_per_EM'
2532
	to 1000.
2533
 
2534
	* src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
2535
	loop.
2536
 
2537
	* src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
2538
	sid that was off by one.
2539
 
2540
2000-11-16  David Turner  
2541
 
2542
	* src/autohint/ahtypes.h (AH_Hinter): Added new fields to control
2543
	auto-hinting of synthetic Type 1 fonts.
2544
 
2545
	* src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
2546
	Added auto-hinting support of synthetic Type 1 fonts.
2547
 
2548
2000-11-12  Tom Kacvinsky  
2549
 
2550
	* src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change
2551
	tracing output.
2552
 
2553
	* src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable
2554
	`has-outline' to true only if the font has a `glyf' or `CFF ' table.
2555
 
2556
2000-11-11  Werner Lemberg  
2557
 
2558
	* builds/win32/visualc/freetype.dsp: Fix raster1->raster and
2559
	type1z->type1.
2560
 
2561
2000-11-11  Tom Kacvinsky  
2562
 
2563
	* builds/unix/freetype-config.in, builds/cygwin/freetype-config.in:
2564
	Added a --libtool option.  When freetype-config --libtool is
2565
	invoked, the absolute path to the libtool convenience library
2566
	is returned.
2567
 
2568
2000-11-11  Werner Lemberg  
2569
 
2570
	* builds/cygwin/cygwin-def.in: Same fix as previous.
2571
 
2572
2000-11-10  Tom Kacvinsky  
2573
 
2574
	* builds/unix/unix-def.in: Add
2575
 
2576
	    INSTALL_PROGRAM := @INSTALL_PROGRAM@
2577
	    INSTALL_SCRIPT  := @INSTALL_SCRIPT@
2578
 
2579
	so that installation of freetype-config does not fail.
2580
 
2581
2000-11-10  Werner Lemberg  
2582
 
2583
	* builds/cygwin/freetype-config.in, builds/unix/freetype-config.in:
2584
	Move test down for empty --exec-prefix.
2585
	Fix --version.
2586
 
2587
	* builds/cygwin/install.mk, builds/unix/install.mk: Use
2588
	$(INSTALL_SCRIPT) for installation of freetype-config.
2589
 
2590
	* builds/cygwin/install.mk: Fix clean target names.
2591
 
2592
2000-11-09  David Turner  
2593
 
2594
 
2595
	* Version 2.0 released.
2596
	=======================
2597
 
2598
----------------------------------------------------------------------------
2599
 
2600
Copyright 2000, 2001, 2002, 2007 by
2601
David Turner, Robert Wilhelm, and Werner Lemberg.
2602
 
2603
This file is part of the FreeType project, and may only be used, modified,
2604
and distributed under the terms of the FreeType project license,
2605
LICENSE.TXT.  By continuing to use, modify, or distribute this file you
2606
indicate that you have read the license and understand and accept it
2607
fully.
2608
 
2609
 
2610
Local Variables:
2611
version-control: never
2612
coding: utf-8
2613
End: