msvc: use our version of the .vcproj
[crawl:crawl-freetype.git] / ChangeLog.20
1 2002-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
11 2002-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
22 2002-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
27 2002-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
69 2002-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
77 2002-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
117 2002-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
126 2002-02-01  David Turner  <david@freetype.org>
127
128         * include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
129         for the new release.
130
131 2002-01-31  David Turner  <david@freetype.org>
132
133         * README, README.UNX, docs/CHANGES: Updating documentation for the
134         2.0.7 release.
135
136 2002-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
142 2002-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
151 2002-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
156 2002-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
163 2002-01-28  Roberto Alameda  <ojancano@geekmail.de>
164
165         * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
166
167 2002-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
173 2002-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
178 2002-01-25  Werner Lemberg  <wl@gnu.org>
179
180         * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
181         actually.
182
183 2002-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
190 2002-01-25  WANG Yi  <wangyi@founder.com.cn>
191
192         * src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
193
194 2002-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
199 2002-01-18  Ian Brown  <ian.brown@printsoft.de>
200
201         * builds/win32/ftdebug.c: New file.
202         * builds/win32/visualc/freetype.dsp: Updated.
203
204 2002-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
209 2002-01-18  Ian Brown  <ian.brown@printsoft.de>
210
211         * builds/win32/visualc/freetype.dsp: Updated.
212
213 2002-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
219 2002-01-10  Werner Lemberg  <wl@gnu.org>
220
221         * builds/unix/freetype2.a4: Fix some serious bugs.
222
223 2002-01-09  David Turner  <david@freetype.org>
224
225         * builds/unix/configure.ac: Build top-level Jamfile.
226
227 2002-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
233 2002-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
243 2002-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
267 2002-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
279 2002-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
290 2002-01-03  Werner Lemberg  <wl@gnu.org>
291
292         * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
293         warning.
294
295 2002-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
302 2002-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
320 2001-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
326 2001-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
331 2001-12-22  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
332
333         * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
334         and fix incorrect computation of `available_sizes'.
335
336 2001-12-22  David Turner  <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
342 2001-12-22  Detlef Würkner  <TetiSoft@apg.lahn.de>
343
344         * builds/amiga/*: Adaptations to latest changes.
345         Support added for MorphOS.
346
347 2001-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
361 2001-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
382 2001-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
393 2001-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
470 2001-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
494 2001-12-17  Werner Lemberg  <wl@gnu.org>
495
496         * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
497         glyph header.
498
499 2001-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
520 2001-12-14  Werner Lemberg  <wl@gnu.org>
521
522         * builds/mac/README: Updated.
523
524 2001-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
529 2001-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
534 2001-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
546 2001-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
559 2001-12-12  Werner Lemberg  <wl@gnu.org>
560
561         * builds/unix/freetype2.m4: Some portability fixes.
562
563 2001-12-11  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>
564
565         * src/base/descrip.mms (OBJS): Add ftdebug.obj.
566
567 2001-12-11  Werner Lemberg  <wl@gnu.org>
568
569         * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
570
571 2001-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
589 2001-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
594 2001-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
599 2001-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
607 2001-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
620 2001-12-06  David Turner  <david@freetype.org>
621
622         * src/cache/Jamfile, src/cache/rules.mk: Updated.
623
624 2001-12-06  Werner Lemberg  <wl@gnu.org>
625
626         * INSTALL: Small update.
627
628 2001-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
643 2001-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
662 2001-12-05  David Krause  <freetype@davidkrause.com>
663
664         * docs/license.txt: s/X Windows/X Window System/.
665
666 2001-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
691 2001-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
700 2001-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
713 2001-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
746 2001-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
751 2001-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
758 2001-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
768 2001-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
774 2001-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
784 2001-10-24  Tom Kacvinsky  <tkacvins@freetype.org>
785
786         * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
787
788 2001-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
800 2001-10-23  David Turner  <david@freetype.org>
801
802         * src/raster/ftraster.c (Update): Removed to be inlined in ...
803         (Sort): Updated.
804
805 2001-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
838 2001-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
845 2001-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
850 2001-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
856 2001-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
870 2001-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
879 2001-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
884 2001-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
931 2001-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
955 2001-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
985 2001-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
990 2001-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
1012 2001-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
1027 2001-09-20  Detlef Würkner  <TetiSoft@apg.lahn.de>
1028
1029         * builds/amiga/*: Added port to Amiga with the SAS/C compiler.
1030
1031 2001-09-15  Detlef Würkner  <TetiSoft@apg.lahn.de>
1032
1033         * src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
1034
1035 2001-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
1040 2001-09-10  Werner Lemberg  <wl@gnu.org>
1041
1042         * builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
1043
1044 2001-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
1057 2001-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
1062 2001-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
1070 2001-08-22  Werner Lemberg  <wl@gnu.org>
1071
1072         * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
1073
1074 2001-08-21  Werner Lemberg  <wl@gnu.org>
1075
1076         * builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
1077
1078 2001-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
1085 2001-08-17  Martin Muskens  <mmuskens@aurelon.com>
1086
1087         * src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
1088
1089 2001-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
1121 2001-08-11  Werner Lemberg  <wl@gnu.org>
1122
1123         * src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
1124
1125 2001-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
1138 2001-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
1166 2001-07-26  Werner Lemberg  <wl@gnu.org>
1167
1168         * builds/cygwin/*: Removed.  Use the unix stuff instead.
1169
1170 2001-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
1175 2001-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/psobjc.c (reallocate_t1_table): Use FT_Long for second
1180         parameter.
1181         (PS_Table_Add): Use FT_Offset for `new_size'.
1182
1183         Add support for version 0.5 maxp tables.
1184
1185         * src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it.
1186         (TT_Load_OS2): Initialize some values.
1187
1188 2001-07-13  Werner Lemberg  <wl@gnu.org>
1189
1190         * src/base/ftsynth.c: Include ftcalc.h unconditionally.
1191
1192 2001-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
1198 2001-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
1208 2001-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
1213 2001-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
1219 2001-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
1229 2001-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
1245 2001-06-26  Wolfgang Domröse  <porthos.domroese@harz.de>
1246
1247         * include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
1248
1249 2001-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
1254 2001-06-23  Anthony Fok  <fok@debian.org>
1255
1256         * debian/*: Added Debian package build directory for 2.0.4.
1257
1258 2001-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
1264 2001-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
1279 2001-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
1290 2001-06-19  Werner Lemberg  <wl@gnu.org>
1291
1292         * include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
1293
1294 2001-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
1312 2001-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
1353 2001-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
1363 2001-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
1370 2001-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
1388 2001-06-11  Mike Owens  <MOwens@amtdatasouth.com>
1389
1390         * src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
1391         compiler warnings.
1392
1393 2001-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
1402 2001-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
1422 2001-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
1431 2001-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
1470 2001-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
1482 2001-05-29  Werner Lemberg  <wl@gnu.org>
1483
1484         * INSTALL: Minor fixes.
1485
1486
1487         * Version 2.0.3 released.
1488         =========================
1489
1490
1491 2001-05-29  David Turner  <david@freetype.org>
1492
1493         * INSTALL, docs/CHANGES: Updated.
1494
1495 2001-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
1501 2001-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
1508 2001-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_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements.
1528
1529 2001-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
1538 2001-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
1581 2001-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
1586 2001-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
1591 2001-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
1596 2001-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
1607 2001-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
1613 2001-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
1626 2001-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
1634 2001-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
1648 2001-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
1660 2001-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
1669 2001-04-10  Francesco Zappa Nardelli  <francesco.zappa.nardelli@ens.fr>
1670
1671         * src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
1672
1673 2001-04-09  Laurence Withers  <lwithers@lwithers.demon.co.uk>
1674
1675         * builds/dos/detect.mk: Add support for bash.
1676
1677 2001-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
1689 2001-04-03  Werner Lemberg  <wl@gnu.org>
1690
1691         * src/*/Jamfile: Slight changes to make files more cryptic.
1692
1693 2001-04-03  Werner Lemberg  <wl@gnu.org>
1694
1695         * Jamfile, src/Jamfile, src/*/Jamfile: Formatted.  Slight changes
1696         to give files identical structure.
1697
1698 2001-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/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
1714         `TT_Err_*'.
1715         * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
1716         * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
1717         src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.
1718
1719         * include/freetype/internal/cfferrs.h: Add
1720         `CFF_Err_Unknown_File_Format'.
1721         * include/freetype/internal/t1errors.h: Add
1722         `T1_Err_Unknown_File_Format'.
1723         * include/freetype/internal/tterrors.h: Add
1724         `TT_Err_Unknown_File_Format'.
1725
1726         * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
1727         references.
1728         * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
1729
1730         * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
1731         FT_LOCAL_DEF.
1732         * src/cid/cidobjs.c (CID_Done_Driver): Ditto.
1733         * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
1734         Ditto.
1735         * src/type1/t1objs.c (T1_Done_Driver): Ditto.
1736         * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
1737         * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
1738
1739 2001-04-02  Tom Kacvinsky  <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
1744 2001-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
1750 2001-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
1760 2001-03-20  Werner Lemberg  <wl@gnu.org>
1761
1762         * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
1763
1764 2001-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
1790 2001-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
1796 2001-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
1806 2001-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
1819 2001-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
1828 2001-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
1849 2001-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
1856 2001-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
1870 2001-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
1877 2001-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
1898 2001-03-10  Henrik Grubbström  <grubba@roxen.com>
1899
1900         * src/*/*.c: Added many casts to make code more 64bit-safe.
1901
1902 2001-03-07  Werner Lemberg  <wl@gnu.org>
1903
1904         * INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
1905
1906 2001-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
1916 2001-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
1922 2001-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
1927 2001-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
1939 2001-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
1944 2001-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
1949 2001-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
1954 2001-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
1964 2001-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
1973 2001-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
1980 2001-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
1989 2001-02-08  Tom Kacvinsky  <tkacvins@freetype.org>
1990
1991         * src/cff/cffparse.c (cff_parse_font_matrix): Removed an
1992         unnecessary fprintf( stderr, ... ).
1993
1994 2001-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
2021 2001-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
2029 2001-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
2035 2001-01-30  Antoine Leca  <Antoine.Leca@renault.fr>
2036
2037         * include/freetype/ttnameid.h: Latest updates to Microsoft language
2038         ID codes.
2039
2040 2001-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
2052 2001-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
2057 2001-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
2066 2001-01-11  Matthew Crosby  <mcrosby@marthon.org>
2067
2068         * builds/unix/freetype-config.in: Fix problems with separate
2069         --prefix and --exec-prefix.
2070
2071 2001-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
2076 2001-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
2081 2001-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
2094 2001-01-04  Werner Lemberg  <wl@gnu.org>
2095
2096         * include/freetype/ttnameid.h: Updated Unicode code range comments.
2097
2098 2001-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
2124 2000-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
2130 2000-01-01  Werner Lemberg  <wl@gnu.org>
2131
2132         * LICENSE.TXT: Added info about PCF driver license.
2133
2134 2001-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
2143 2001-01-01  Werner Lemberg  <wl@gnu.org>
2144
2145         * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
2146
2147 2000-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
2152 2000-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
2158 2000-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_Encoding and CFF_Encoding for the new implementations of the
2163         charset and encoding parsers in the CFF driver.
2164
2165         * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
2166         t2_operator_seac): Added these functions for use in implementing the
2167         seac emulation provided by the Type 2 endchar operator.
2168         (T2_Parse_CharStrings): Added seac emulation for the endchar
2169         operator.
2170
2171         * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
2172         CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
2173         charset/encoding tables, and free the memory used by them when the
2174         CFF driver is finished with them.  Added tables
2175
2176             cff_isoadobe_charset
2177             cff_expert_charset
2178             cff_expertsubset_charset
2179             cff_standard_encoding
2180             cff_expert_encoding
2181
2182         so that the encoding/charset parser can handle predefined encodings and
2183         charsets.
2184
2185 2000-12-24  Tom Kacvinsky  <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
2195 2000-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
2200 2000-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
2205 2000-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
2212 2000-12-17  Werner Lemberg  <wl@gnu.org>
2213
2214         * *.mk: Added lots of `.PHONY' targets.
2215
2216 2000-12-17  Karsten Fleischer  <kfleisc1@ford.com>
2217
2218         * *.mk: Implemented `platform' target to disable auto-detection.
2219
2220 2000-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
2226 2000-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
2245 2000-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
2263 2000-12-13  Werner Lemberg  <wl@gnu.org>
2264
2265         * builds/unix/ftsystem.c: Fixed typos.  Fixed inclusion of wrong
2266         ftconfig.h file.
2267
2268 2000-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
2287 2000-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
2293 2000-12-09  Werner Lemberg  <wl@gnu.org>
2294
2295         * builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
2296
2297 2000-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
2307 2000-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
2334 2000-12-06  David Turner  <david.turner@freetype.org>
2335
2336         * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
2337
2338 2000-12-06  Werner Lemberg  <wl@gnu.org>
2339
2340         * builds/module.mk: Replaced `xxx #' with `xxx$(space).
2341         * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
2342         avoid trailing spaces in variable.
2343         * builds/freetype.mk: Use $(D) instead of $D to make statement more
2344         readable.
2345
2346         * docs/docmaker.py: Formatting.
2347
2348 2000-12-05  David Turner  <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
2363 2000-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
2382 2000-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
2399 2000-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
2409 2000-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
2415 2000-11-30  David Turner  <david.turner@freetype.ogr>
2416
2417         * INSTALL: Slightly updated the quick starter documentation to
2418         include IDE compilation, prevent against BSD Make, and specify `make
2419         setup' instead of a single `make' for build configuration.
2420
2421         * include/config/ftbuild.h, include/internal/internal.h: Added new
2422         configuration files used to determine the location of all public,
2423         configuration, and internal header files for FreeType 2.  Modified
2424         all headers under `include/freetype' to reflect this change.  Note
2425         that we still need to change the library source files themselves
2426         though.
2427
2428         * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
2429         builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
2430         builds/win32/detect.mk: Added new files to support compilation with
2431         the free Borland C++ command-line compiler.  Modified the detection
2432         rules to recognize the new `bcc32' target in `make setup bcc32'.
2433
2434         * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
2435         src/truetype/ttobjs.c, src/truetype/ttgload.c,
2436         src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
2437         didn't really like.  Basically, this compiler complains when FT_UInt
2438         is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
2439         in these cases).
2440
2441 2000-11-30  Tom Kacvinsky  <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
2448 2000-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
2454 2000-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
2467 2000-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
2482 2000-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
2487 2000-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
2495 2000-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
2501 2000-11-26  Werner Lemberg  <wl@gnu.org>
2502
2503         * builds/ansi/ansi.mk: Fix inclusion order of files.
2504
2505 2000-11-26  Keith Packard  <keithp@keithp.com>
2506
2507         * src/type1/t1objs.c (T1_Init_Face): Compute style flags.
2508
2509 2000-11-26  Werner Lemberg  <wl@gnu.org>
2510
2511         * builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
2512         conditional.
2513
2514 2000-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
2528 2000-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
2540 2000-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
2548 2000-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
2556 2000-11-11  Werner Lemberg  <wl@gnu.org>
2557
2558         * builds/win32/visualc/freetype.dsp: Fix raster1->raster and
2559         type1z->type1.
2560
2561 2000-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
2568 2000-11-11  Werner Lemberg  <wl@gnu.org>
2569
2570         * builds/cygwin/cygwin-def.in: Same fix as previous.
2571
2572 2000-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
2581 2000-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
2592 2000-11-09  David Turner  <david@freetype.org>
2593
2594
2595         * Version 2.0 released.
2596         =======================
2597
2598 ----------------------------------------------------------------------------
2599
2600 Copyright 2000, 2001, 2002, 2007 by
2601 David Turner, Robert Wilhelm, and Werner Lemberg.
2602
2603 This file is part of the FreeType project, and may only be used, modified,
2604 and distributed under the terms of the FreeType project license,
2605 LICENSE.TXT.  By continuing to use, modify, or distribute this file you
2606 indicate that you have read the license and understand and accept it
2607 fully.
2608
2609
2610 Local Variables:
2611 version-control: never
2612 coding: utf-8
2613 End: