12002-02-09  Werner Lemberg  <wl@gnu.org>
2
3	* README: Fix typo.
4	* docs/CHANGES: Minor fixes.
5
6
7	* Version 2.0.8 released.
8	=========================
9
10
112002-02-08  David Turner  <david@freetype.org>
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
222002-02-07  David Turner  <david@freetype.org>
23
24	* src/pcf/pcfread.c (pcf_load_font): Removed immature support of
25	the AVERAGE_WIDTH property.
26
272002-02-06  David Turner  <david@freetype.org>
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
692002-02-06  Detlef Würkner  <TetiSoft@apg.lahn.de>
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
772002-02-04  Keith Packard  <keithp@keithp.com>
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
1172002-02-02  Keith Packard  <keithp@keithp.com>
118
119	* builds/unix/freetype-config.in: Add missing `fi'.
120
121
122	* Version 2.0.7 released.
123	=========================
124
125
1262002-02-01  David Turner  <david@freetype.org>
127
128	* include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
129	for the new release.
130
1312002-01-31  David Turner  <david@freetype.org>
132
133	* README, README.UNX, docs/CHANGES: Updating documentation for the
134	2.0.7 release.
135
1362002-01-30  David Turner  <david@freetype.org>
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
1422002-01-29  David Turner  <david@freetype.org>
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
1512002-01-29  Werner Lemberg  <wl@gnu.org>
152
153	* README.UNX: Fix typo.
154	* builds/unix/install.mk (uninstall): Fix library name for libtool.
155
1562002-01-28  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
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
1632002-01-28  Roberto Alameda  <ojancano@geekmail.de>
164
165	* src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
166
1672002-01-28  Werner Lemberg  <wl@gnu.org>
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 <qboosh@pld.org.pl>.
172
1732002-01-27  Giuliano Pochini  <pochini@shiny.it>
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
1782002-01-25  Werner Lemberg  <wl@gnu.org>
179
180	* src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
181	actually.
182
1832002-01-25  Martin Zinser  <zinser@decus.de>
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
1902002-01-25  WANG Yi  <wangyi@founder.com.cn>
191
192	* src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
193
1942002-01-21  Antoine Leca  <Antoine-Freetype@Leca-Marti.org>
195
196	* docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in
197	the URL for the online resource.
198
1992002-01-18  Ian Brown  <ian.brown@printsoft.de>
200
201	* builds/win32/ftdebug.c: New file.
202	* builds/win32/visualc/freetype.dsp: Updated.
203
2042002-01-18  Detlef Würkner  <TetiSoft@apg.lahn.de>
205
206	* builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
207	* builds/amiga/README: Updated.
208
2092002-01-18  Ian Brown  <ian.brown@printsoft.de>
210
211	* builds/win32/visualc/freetype.dsp: Updated.
212
2132002-01-13  Werner Lemberg  <wl@gnu.org>
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
2192002-01-10  Werner Lemberg  <wl@gnu.org>
220
221	* builds/unix/freetype2.a4: Fix some serious bugs.
222
2232002-01-09  David Turner  <david@freetype.org>
224
225	* builds/unix/configure.ac: Build top-level Jamfile.
226
2272002-01-09  Maxim Shemanarev  <mcseemagg@yahoo.com>
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
2332002-01-08  David Turner  <david@freetype.org>
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
2432002-01-07  David Turner  <david@freetype.org>
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
2672002-01-05  David Turner  <david@freetype.org>
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
2792002-01-04  David Turner  <david@freetype.org>
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
2902002-01-03  Werner Lemberg  <wl@gnu.org>
291
292	* src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
293	warning.
294
2952002-01-03  Keith Packard  <keithp@keithp.com>
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
3022002-01-03  David Turner  <david@freetype.org>
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
3202001-12-30  David Turner  <david@freetype.org>
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
3262001-12-25  Antoine Leca  <Antoine-Freetype@Leca-Marti.org>
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
3312001-12-22  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
332
333	* src/pcf/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
334	and fix incorrect computation of `available_sizes'.
335
3362001-12-22  David Turner  <david@freetype.org>
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
3422001-12-22  Detlef Würkner  <TetiSoft@apg.lahn.de>
343
344	* builds/amiga/*: Adaptations to latest changes.
345	Support added for MorphOS.
346
3472001-12-22  Werner Lemberg  <wl@gnu.org>
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
3612001-12-21  David Turner  <david@freetype.org>
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
3822001-12-20  Werner Lemberg  <wl@gnu.org>
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
3932001-12-20  David Turner  <david@freetype.org>
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
4702001-12-19  David Turner  <david@freetype.org>
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
4942001-12-17  Werner Lemberg  <wl@gnu.org>
495
496	* src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
497	glyph header.
498
4992001-12-15  Werner Lemberg  <wl@gnu.org>
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
5202001-12-14  Werner Lemberg  <wl@gnu.org>
521
522	* builds/mac/README: Updated.
523
5242001-12-14  Scott Long  <scott@swiftview.com>
525
526	* src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
527	dealing with invalid fonts (i.e. glyph size < 10 bytes).
528
5292001-12-14  Sam Latinga  <slouken@devolution.com>
530
531	* builds/mac/freetype.make: A new Makefile to build with MPW on
532	MacOS classic.
533
5342001-12-14  David Turner  <david@freetype.org>
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
5462001-12-12  David Turner  <david@freetype.org>
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
5592001-12-12  Werner Lemberg  <wl@gnu.org>
560
561	* builds/unix/freetype2.m4: Some portability fixes.
562
5632001-12-11  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>
564
565	* src/base/descrip.mms (OBJS): Add ftdebug.obj.
566
5672001-12-11  Werner Lemberg  <wl@gnu.org>
568
569	* src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
570
5712001-12-11  David Turner  <david@freetype.org>
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
5892001-12-11  Detlef Würkner  <TetiSoft@apg.lahn.de>
590
591	* include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
592	Fixed incorrect argument types.
593
5942001-12-10  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
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
5992001-12-07  David Turner  <david@freetype.org>
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
6072001-12-06  Leonard Rosenthol  <leonardr@lazerware.com>
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 <Files.h> and <TextUtils.h>.
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
6202001-12-06  David Turner  <david@freetype.org>
621
622	* src/cache/Jamfile, src/cache/rules.mk: Updated.
623
6242001-12-06  Werner Lemberg  <wl@gnu.org>
625
626	* INSTALL: Small update.
627
6282001-12-05  David Turner  <david@freetype.org>
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
6432001-12-05  David Turner  <david@freetype.org>
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
6622001-12-05  David Krause  <freetype@davidkrause.com>
663
664	* docs/license.txt: s/X Windows/X Window System/.
665
6662001-12-04  Werner Lemberg  <wl@gnu.org>
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
6912001-11-20  Antoine Leca  <antoineleca@multimania.com>
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	<TetiSoft@apg.lahn.de> for noticing this.
699
7002001-11-20  David Turner  <david@freetype.org>
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
7132001-10-29  David Turner  <david@freetype.org>
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
7462001-10-27  David Turner  <david@freetype.org>
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
7512001-10-26  David Turner  <david@freetype.org>
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
7582001-10-26  Leonard Rosenthol  <leonardr@lazerware.com>
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	<paulm@profoundeffects.com> to support loading a face other than the
765	first from a FOND resource.
766	(FT_New_Face_From_FOND): Updated.
767
7682001-10-25  Leonard Rosenthol  <leonardr@lazerware.com>
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
7742001-10-25  David Turner  <david@freetype.org>
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
7842001-10-24  Tom Kacvinsky  <tkacvins@freetype.org>
785
786	* builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
787
7882001-10-23  David Turner  <david@freetype.org>
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
8002001-10-23  David Turner  <david@freetype.org>
801
802	* src/raster/ftraster.c (Update): Removed to be inlined in ...
803	(Sort): Updated.
804
8052001-10-22  David Turner  <david@freetype.org>
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
8382001-10-21  Tom Kacvinsky  <tkacvins@freetype.org>
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
8452001-10-21  Tom Kacvinsky  <tkacvins@freetype.org>
846
847	* src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
848	avoid a memory leak.
849
8502001-10-21  David Turner  <david@freetype.org>
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
8562001-10-20  Tom Kacvinsky  <tkacvins@freetype.org>
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
8702001-10-19  David Turner  <david@freetype.org>
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
8792001-10-19  Jacob Jansen  <joukj@hrem.stm.tudelft.nl>
880
881	* descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build
882	files.
883
8842001-10-18  David Turner  <david@freetype.org>
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
9312001-10-17  David Turner  <david@freetype.org>
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
9552001-10-08  David Turner  <david@freetype.org>
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
9852001-10-07  Richard Barber  <rich@solutionuk.com>
986
987	* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
988	correct LRU behaviour.
989
9902001-10-07  David Turner  <david@freetype.org>
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 <setjmp.h>.
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).  <limits.h> 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
10122001-10-07  David Turner  <david@freetype.org>
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
10272001-09-20  Detlef Würkner  <TetiSoft@apg.lahn.de>
1028
1029	* builds/amiga/*: Added port to Amiga with the SAS/C compiler.
1030
10312001-09-15  Detlef Würkner  <TetiSoft@apg.lahn.de>
1032
1033	* src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
1034
10352001-09-10  Yao Zhang  <yzhang@sharemedia.com>
1036
1037	* src/sfnt/ttcmap.c (code_to_index2): Handle code values with
1038	hi-byte == 0 correctly.
1039
10402001-09-10  Werner Lemberg  <wl@gnu.org>
1041
1042	* builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
1043
10442001-08-30  Martin Muskens  <mmuskens@aurelon.com>
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
10572001-08-30  Anthony Feik  <afeick@hotmail.com>
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
10622001-08-25  Werner Lemberg  <wl@gnu.org>
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
10702001-08-22  Werner Lemberg  <wl@gnu.org>
1071
1072	* src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
1073
10742001-08-21  Werner Lemberg  <wl@gnu.org>
1075
1076	* builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
1077
10782001-08-21  David Turner  <david@freetype.org>
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
10852001-08-17  Martin Muskens  <mmuskens@aurelon.com>
1086
1087	* src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
1088
10892001-08-12  Werner Lemberg  <wl@gnu.org>
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
11212001-08-11  Werner Lemberg  <wl@gnu.org>
1122
1123	* src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
1124
11252001-08-09  Tom Kacvinsky  <tkacvins@freetype.org>
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
11382001-08-08  Tom Kacvinsky  <tkacvins@freetype.org>
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
11662001-07-26  Werner Lemberg  <wl@gnu.org>
1167
1168	* builds/cygwin/*: Removed.  Use the unix stuff instead.
1169
11702001-07-26  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>
1171
1172	* builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
1173	2001-06-27.
1174
11752001-07-17  Werner Lemberg  <wl@gnu.org>
1176
1177	* include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
1178	`cursor' and `capacity'.
1179	* src/psaux/psobjs.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
11882001-07-13  Werner Lemberg  <wl@gnu.org>
1189
1190	* src/base/ftsynth.c: Include ftcalc.h unconditionally.
1191
11922001-07-07  David Turner  <david@freetype.org>
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
11982001-07-03  Werner Lemberg  <wl@gnu.org>
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
12082001-06-28  David Turner  <david@freetype.org>
1209
1210	* include/internal/ftstream.h: Modified the definitions
1211	of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness.
1212
12132001-06-26  Werner Lemberg  <wl@gnu.org>
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
12192001-06-27  Wolfgang Domröse  <porthos.domroese@harz.de>
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
12292001-06-27  David Turner  <david@freetype.org>
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
12452001-06-26  Wolfgang Domröse  <porthos.domroese@harz.de>
1246
1247	* include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
1248
12492001-06-24  David Turner  <david@freetype.org>
1250
1251	* src/base/ftcalc.c (ft_div64by32): Fixed the source to work
1252	correctly on 16-bit systems.
1253
12542001-06-23  Anthony Fok  <fok@debian.org>
1255
1256	* debian/*: Added Debian package build directory for 2.0.4.
1257
12582001-06-22  David Turner  <david@freetype.org>
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
12642001-06-20  Werner Lemberg  <wl@gnu.org>
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
12792001-06-19  David Turner  <david@freetype.org>
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
12902001-06-19  Werner Lemberg  <wl@gnu.org>
1291
1292	* include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
1293
12942001-06-19  David Turner  <david@freetype.org>
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
13122001-06-18  Werner Lemberg  <wl@gnu.org>
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
13532001-06-18  Werner Lemberg  <wl@gnu.org>
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
13632001-06-16  Werner Lemberg  <wl@gnu.org>
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
13702001-06-14  David Turner  <david@freetype.org>
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
13882001-06-11  Mike Owens  <MOwens@amtdatasouth.com>
1389
1390	* src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
1391	compiler warnings.
1392
13932001-06-08  Werner Lemberg  <wl@gnu.org>
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
14022001-06-08  David Turner  <david@freetype.org>
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
14222001-06-07  Werner Lemberg  <wl@gnu.org>
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
14312001-06-06  Werner Lemberg  <wl@gnu.org>
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
14702001-06-06  Werner Lemberg  <wl@gnu.org>
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
14822001-05-29  Werner Lemberg  <wl@gnu.org>
1483
1484	* INSTALL: Minor fixes.
1485
1486
1487	* Version 2.0.3 released.
1488	=========================
1489
1490
14912001-05-29  David Turner  <david@freetype.org>
1492
1493	* INSTALL, docs/CHANGES: Updated.
1494
14952001-05-25  David Turner  <david@freetype.org>
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
15012001-05-16  David Turner  <david@freetype.org>
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
15082001-05-14  David Turner  <david@freetype.org>
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_RoundFix, FT_CeilFix, FT_FloorFix): Minor improvements.
1528
15292001-05-12  Werner Lemberg  <wl@gnu.org>
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
15382001-05-11  David Turner  <david@freetype.org>
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
15812001-05-10  David Turner  <david@freetype.org>
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
15862001-05-09  Werner Lemberg  <wl@gnu.org>
1587
1588	* include/freetype/internal/ftcalc.h: Move declaration of
1589	FT_SqrtFixed() out of `#ifdef FT_LONG64'.
1590
15912001-05-08  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
1592
1593	* src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width
1594	computation.
1595
15962001-05-08  David Turner  <david@freetype.org>
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
16072001-04-27  David Turner  <david@freetype.org>
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
16132001-04-26  Werner Lemberg  <wl@gnu.org>
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
16262001-04-26  David Turner  <david@freetype.org>
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
16342001-04-25  David Turner  <david@freetype.org>
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
16482001-04-20  David Turner  <david@freetype.org>
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
16602001-04-10  Tom Kacvinsky  <tkacvins@freetype.org>
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
16692001-04-10  Francesco Zappa Nardelli  <francesco.zappa.nardelli@ens.fr>
1670
1671	* src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
1672
16732001-04-09  Laurence Withers  <lwithers@lwithers.demon.co.uk>
1674
1675	* builds/dos/detect.mk: Add support for bash.
1676
16772001-04-05  Werner Lemberg  <wl@gnu.org>
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
16892001-04-03  Werner Lemberg  <wl@gnu.org>
1690
1691	* src/*/Jamfile: Slight changes to make files more cryptic.
1692
16932001-04-03  Werner Lemberg  <wl@gnu.org>
1694
1695	* Jamfile, src/Jamfile, src/*/Jamfile: Formatted.  Slight changes
1696	to give files identical structure.
1697
16982001-04-02  Werner Lemberg  <wl@gnu.org>
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/sfobjs.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/truetype/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
17392001-04-02  Tom Kacvinsky  <tkacvins@freetype.org>
1740
1741	* src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer
1742	dereference.  Submitted by Herbert Duerr <duerr@sun.com>.
1743
17442001-03-26  Tom Kacvinsky  <tkacvins@freetype.org>
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 <glucas@sonalysts.com>.
1749
17502001-03-24  David Turner  <david.turner@freetype.org>
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
17602001-03-20  Werner Lemberg  <wl@gnu.org>
1761
1762	* builds/win32/detect.mk: Fix .PHONY target for Intel compiler.
1763
17642001-03-20  David Turner  <david.turner@freetype.org>
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 <freetype/ftcache.h>.  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
17902001-03-20  Werner Lemberg  <wl@gnu.org>
1791
1792	* builds/unix/configure.in: Add $ft_version.
1793	* builds/unix/freetype-config.in: Use it.
1794	* builds/unix/configure: Updated.
1795
17962001-03-19  Tom Kacvinsky  <tkacvins@freetype.org>
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
18062001-03-17  David Turner  <david.turner@freetype.org>
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 <ft2build.h>.
1815
1816	* include/config/ftheader.h: Added new section describing the #include
1817	macros.
1818
18192001-03-17  Tom Kacvinsky  <tkacvins@freetype.org>
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
18282001-03-16  Tom Kacvinsky  <tkacvins@freetype.org>
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 <svdwal@xs4all.nl>.
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 <svdwal@xs4all.nl>.
1844
1845	* src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
1846	deprecated operator `dotsection'.
1847	Submitted by Sander van der Wal <svdwal@xs4all.nl>.
1848
18492001-03-12  Werner Lemberg  <wl@gnu.org>
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
18562001-03-12  Tom Kacvinsky  <tkacvins@freetype.org>
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
18702001-03-11  Werner Lemberg  <wl@gnu.org>
1871
1872	* TODO: Updated.
1873
1874	* src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
1875	avoid compiler warnings.
1876
18772001-03-10  Tom Kacvinsky  <tkacvins@freetype.org>
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
18982001-03-10  Henrik Grubbström  <grubba@roxen.com>
1899
1900	* src/*/*.c: Added many casts to make code more 64bit-safe.
1901
19022001-03-07  Werner Lemberg  <wl@gnu.org>
1903
1904	* INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
1905
19062001-03-07  Tom Kacvinsky  <tkacvins@freetype.org>
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 <svdwal@xs4all.nl>.
1915
19162001-03-05  Tom Kacvinsky  <tkacvins@freetype.org>
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 <hashao@chinese.com>.
1921
19222001-03-04  Antoine Leca  <Antoine.Leca@renault.fr>
1923
1924	* include/freetype/ttnameid.h: Correct a stupid typo which prevented
1925	correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
1926
19272001-03-04  Werner Lemberg  <wl@gnu.org>
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
19392001-03-04  Sander van der Wal  <svdwal@xs4all.nl>
1940
1941	* src/psnames/pstables.h: Add more `const'.
1942	* src/pcf/pcfutil.c: Ditto.
1943
19442001-03-04  Werner Lemberg  <wl@gnu.org>
1945
1946	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
1947	(FT_Glyph_Done -> FT_Done_Glyph).
1948
19492001-03-01  Antoine Leca  <Antoine.Leca@renault.fr>
1950
1951	* include/freetype/ttnameid.h: Added some new Microsoft language
1952	codes and LCIDs as found in Office Xp.
1953
19542001-02-28  David Turner  <david.turner@freetype.org>
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	<foka@debian.org>.
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 <hashao@chinese.com>.
1963
19642001-02-22  David Turner  <david.turner@freetype.org>
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
19732001-02-13  Werner Lemberg  <wl@gnu.org>
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
19802001-02-13  David Turner  <david.turner@freetype.org>
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
19892001-02-08  Tom Kacvinsky  <tkacvins@freetype.org>
1990
1991	* src/cff/cffparse.c (cff_parse_font_matrix): Removed an
1992	unnecessary fprintf( stderr, ... ).
1993
19942001-02-07  Tom Kacvinsky  <tkacvins@freetype.org>
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
20212001-02-02  Werner Lemberg  <wl@gnu.org>
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
20292001-02-01  David Turner  <david.turner@freetype.org>
2030
2031	* docs/docmaker.py: Improved the index sorting routine to place
2032	capital letters before small ones.  Added the `<order>' marker to
2033	section blocks in order to give the order of blocks.
2034
20352001-01-30  Antoine Leca  <Antoine.Leca@renault.fr>
2036
2037	* include/freetype/ttnameid.h: Latest updates to Microsoft language
2038	ID codes.
2039
20402001-01-24  Tom Kacvinsky  <tkacvins@freetype.org>
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
20522001-01-17  Francesco Zappa Nardelli  <francesco.zappa.nardelli@ens.fr>
2053
2054	* src/pcfread.c (pcf_get_properties, pcf_get_metrics,
2055	pcf_get_bitmaps): Fix compiler errors.
2056
20572001-01-11  David Turner  <david.turner@freetype.org>
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
20662001-01-11  Matthew Crosby  <mcrosby@marthon.org>
2067
2068	* builds/unix/freetype-config.in: Fix problems with separate
2069	--prefix and --exec-prefix.
2070
20712001-01-11  David Turner  <david.turner@freetype.org>
2072
2073	* docs/docmaker.py: Added cross-references generation as well as
2074	more robust handling of pathname wildcard matching.
2075
20762001-01-10  Werner Lemberg  <wl@gnu.org>
2077
2078	* docs/docmaker.py: Minor improvements to reduce unwanted spaces
2079	and empty lines in output.
2080
20812001-01-09  David Turner  <david.turner@freetype.org>
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
20942001-01-04  Werner Lemberg  <wl@gnu.org>
2095
2096	* include/freetype/ttnameid.h: Updated Unicode code range comments.
2097
20982001-01-03  Tom Kacvinsky  <tkacvins@freetype.org>
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
21242000-01-02  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>
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
21302000-01-01  Werner Lemberg  <wl@gnu.org>
2131
2132	* LICENSE.TXT: Added info about PCF driver license.
2133
21342001-01-01  Francesco Zappa Nardelli  <francesco.zappa.nardelli@ens.fr>
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
21432001-01-01  Werner Lemberg  <wl@gnu.org>
2144
2145	* src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
2146
21472000-12-31  Werner Lemberg  <wl@gnu.org>
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
21522000-12-30  Werner Lemberg  <wl@gnu.org>
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
21582000-12-30  Tom Kacvinsky  <tkacvins@freetype.org>
2159
2160	* include/freetype/internal/t2types.h,
2161	include/freetype/internal/cfftypes.h: Changed the structures for
2162	CFF_Charset 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
21852000-12-24  Tom Kacvinsky  <tkacvins@freetype.org>
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
21952000-12-22  Tom Kacvinsky  <tkacvins@freetype.org>
2196
2197	* src/autohint/ahhint.c (ah_hinter_load_glyph):
2198	Removed unnecessary comments and commented-out code.
2199
22002000-12-21  David Turner  <david.turner@freetype.org>
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
22052000-12-21  Tom Kacvinsky  <tkacvins@freetype.org>
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
22122000-12-17  Werner Lemberg  <wl@gnu.org>
2213
2214	* *.mk: Added lots of `.PHONY' targets.
2215
22162000-12-17  Karsten Fleischer  <kfleisc1@ford.com>
2217
2218	* *.mk: Implemented `platform' target to disable auto-detection.
2219
22202000-12-14  Werner Lemberg  <wl@gnu.org>
2221
2222	* docs/design/modules.html: Removed.  Covered by design-*.html.
2223
2224	* INSTALL: Added info about makepp.
2225
22262000-12-14  David Turner  <david.turner@freetype.org>
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
22452000-12-13  David Turner  <david.turner@freetype.org>
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
22632000-12-13  Werner Lemberg  <wl@gnu.org>
2264
2265	* builds/unix/ftsystem.c: Fixed typos.  Fixed inclusion of wrong
2266	ftconfig.h file.
2267
22682000-12-12  Werner Lemberg  <wl@gnu.org>
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
22872000-12-11  Werner Lemberg  <wl@gnu.org>
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
22932000-12-09  Werner Lemberg  <wl@gnu.org>
2294
2295	* builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
2296
22972000-12-08  Werner Lemberg  <wl@gnu.org>
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
23072000-12-07  David Turner  <david.turner@freetype.org>
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
23342000-12-06  David Turner  <david.turner@freetype.org>
2335
2336	* src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
2337
23382000-12-06  Werner Lemberg  <wl@gnu.org>
2339
2340	* builds/module.mk: Replaced `xxx #' with `xxx$(space).
2341	* builds/os2/detect.mk, builds/win32/detect.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
23482000-12-05  David Turner  <david.turner@freetype.org>
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
23632000-12-04  David Turner  <david.turner@freetype.org>
2364
2365	* builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h'
2366	is now installed as <ft2build.h> for Unix systems.  Note that we
2367	still use the `freetype2/freetype' installation path for now.
2368
2369	* */*.[ch]: Now using <ft2build.h> 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
23822000-12-01  David Turner  <david.turner@freetype.org>
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
23992000-12-01  Werner Lemberg  <wl@gnu.org>
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
24092000-11-30  Werner Lemberg  <wl@gnu.org>
2410
2411	* builds/toplevel.mk (.PHONY): Adding `distclean'.
2412	* builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
2413	`setup'.
2414
24152000-11-30  David Turner  <david.turner@freetype.org>
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
24412000-11-30  Tom Kacvinsky  <tkacvins@freetype.org>
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
24482000-11-29  David Turner  <david.turner@freetype.org>
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
24542000-11-29  Werner Lemberg  <wl@gnu.org>
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
24672000-11-29  Werner Lemberg  <wl@gnu.org>
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
24822000-11-29  ??? ???  <darin@eazel.com>
2483
2484	* include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
2485	with a direct solution (which also satisfies picky compilers).
2486
24872000-11-28  YAMANO-UCHI Hidetoshi  <mer@din.or.jp>
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
24952000-11-26  Tom Kacvinsky  <tkacvins@freetype.org>
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
25012000-11-26  Werner Lemberg  <wl@gnu.org>
2502
2503	* builds/ansi/ansi.mk: Fix inclusion order of files.
2504
25052000-11-26  Keith Packard  <keithp@keithp.com>
2506
2507	* src/type1/t1objs.c (T1_Init_Face): Compute style flags.
2508
25092000-11-26  Werner Lemberg  <wl@gnu.org>
2510
2511	* builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
2512	conditional.
2513
25142000-11-23  Werner Lemberg  <wl@gnu.org>
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
25282000-11-22  Tom Kacvinsky  <tkacvins@freetype.org>
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
25402000-11-16  David Turner  <david@freetype.org>
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
25482000-11-12  Tom Kacvinsky  <tkacvins@freetype.org>
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
25562000-11-11  Werner Lemberg  <wl@gnu.org>
2557
2558	* builds/win32/visualc/freetype.dsp: Fix raster1->raster and
2559	type1z->type1.
2560
25612000-11-11  Tom Kacvinsky  <tkacvins@freetype.org>
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
25682000-11-11  Werner Lemberg  <wl@gnu.org>
2569
2570	* builds/cygwin/cygwin-def.in: Same fix as previous.
2571
25722000-11-10  Tom Kacvinsky  <tkacvins@freetype.org>
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
25812000-11-10  Werner Lemberg  <wl@gnu.org>
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
25922000-11-09  David Turner  <david@freetype.org>
2593
2594
2595	* Version 2.0 released.
2596	=======================
2597
2598----------------------------------------------------------------------------
2599
2600Copyright (C) 2000-2019 by
2601David Turner, Robert Wilhelm, and Werner Lemberg.
2602
2603This file is part of the FreeType project, and may only be used, modified,
2604and distributed under the terms of the FreeType project license,
2605LICENSE.TXT.  By continuing to use, modify, or distribute this file you
2606indicate that you have read the license and understand and accept it
2607fully.
2608
2609
2610Local Variables:
2611version-control: never
2612coding: utf-8
2613End:
2614