Merge 25584, 25588.
[reactos.git] / reactos / dll / 3rdparty / freetype / 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 inversed 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 catched 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 subrotuines 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 defintion 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 uncoditionally.
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 tranformation 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 satifies 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 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: