source: trunk/third/freetype/ChangeLog @ 18171

Revision 18171, 186.4 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18170, which included commits to RCS files with non-trunk default branches.
Line 
12002-11-07  David Turner  <david@freetype.org>
2
3        * src/cache/ftcsbit.c (ftc_sbit_node_load): fixed a small bug that caused
4        problems with embedded bitmaps
5
6        * src/otlayout/otlayout.h, src/otlyaout/otlconf.h,
7        src/otlayout/otlgsub.c, src/otlayout/otlgsub.h, src/otlayout/otlparse.c,
8        src/otlayout/otlparse.h, src/otlayout/otlutils.h:
9
10          updating the OpenType Layout code, adding support fot the first
11          GSUB lookups. Nothing that really compiles for now though
12
13        * src/autohint/ahhint.c: disabled serif stem width quantization. It
14        produces slightly better shapes though this is not distinguishable
15        with many fonts.
16
172002-11-05  David Turner  <david@freetype.org>
18
19        * include/freetype/config/ftoption.h, src/gzip/ftgzip.c: added
20        support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify
21        the use of system-wide zlib.
22
23        Note that this macro, as well as FT_CONFIG_OPTION_BYTECODE_INTERPRETER,
24        is not #undef-ed anymore. This allows the build system to define them
25        depending on the configuration (typically by adding -D flags at
26        compile time).
27
28        * src/sfnt/ttcmap0.c (tt_face_build_cmaps): removed compiler warnings
29        in optimized mode relative to the "volatile" local variables. This was
30        not a compiler bug after all, but the fact that a pointer to a volatile
31        variable is not the same than a volatile pointer to a variable :-)
32
33        the fix was to change  "volatile FT_Byte*  p"
34        into                   "FT_Byte* volatile  p"
35
36        * src/pfr/pfrload.c, src/pfr/pfrdrivr.c, src/gzip/inftrees.c: removed
37        compiler warnings in optimized modes
38
39        * src/gzip/*.[hc]: modified our ZLib copy in order to prevent exporting
40        any zlib function names outside of the component. This prevents linking
41        problems on some platforms, when applications want to link FreeType
42        _and_ ZLib together.
43
44
452002-11-05  Juliusz  <jch@pps.jussieu.fr>
46
47        * src/psaux/psobjs.c (ps_table_add): modified increment loop in
48        order to implement exponential behaviour
49
502002-10-31  David Turner  <david@freetype.org>
51
52        * include/freetype/ftgzip.h, src/gzip/ftgzip.c:
53        adding support for gzip compressed streams !!
54
55        * src/pcf/pcfdriver.c: adding automatic support for gzip-compressed
56        PCF files
57
582002-10-30  David Turner  <david@freetype.org>
59
60        * FreeType 2.1.3rc3 released
61
622002-10-25  David Turner  <david@freetype.org>
63
64        * include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro.
65        (FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG.
66
672002-10-22  Giuseppe Ghibò <ghibo@mandrakesoft.com>
68
69        * include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2.
70
712002-10-07  Werner Lemberg  <wl@gnu.org>
72
73        * include/freetype/freetype.h (FT_Open_Face): Use `const' for `args'
74        (suggested by Graham).
75        * src/base/ftobjs.c (FT_Open_Face): Updated.
76        (ft_input_stream_new): Ditto.
77
782002-10-05  David Turner  <david@freetype.org>
79
80        Adding support for embedded bitmaps to the PFR driver, and rewriting
81        its kerning loader/handler to use all kerning pairs in a physical
82        font (and not just the first item).
83
84        * src/pfr/pfr.c: Include `pfrsbit.c'.
85        * src/pfr/pfrgload.c: Include `pfrsbit.h'.
86        * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten.
87        (pfr_phy_font_done, pfr_phy_font_load): Updated.
88        * src/pfr/pfrobks.c: Include `pfrsbit.h'.
89        (pfr_face_init): Handle kerning and embedded bitmaps.
90        (pfr_slot_load): Load embedded bitmaps.
91        (PFR_KERN_INDEX): Removed.
92        (pfr_face_get_kerning): Rewritten.
93        * src/pfr/pfrsbit.c, src/pfr/pfrsbit.h: New files.
94        * src/pfr/pfrtypes.h (PFR_KernItemRec): New structure.
95        (PFR_KERN_INDEX): New macro.
96        (PFR_PhyFontRec): Add items for kerning and embedded bitmaps.
97        * src/pfr/Jamfile (_sources) [FT2_MULTI]: Add `pfrsbit'.
98
99        * src/base/ftobjs.c (FT_Load_Glyph): Don't load bitmap fonts if
100        FT_LOAD_NO_RECURSE is set.
101        Load embedded bitmaps only if FT_LOAD_NO_BITMAP isn't set.
102
103        * src/tools/docmaker/content.py, src/tools/docmaker/sources.py,
104        src/tools/docmaker/tohtml.py: Fixing a few nasty bugs.
105
106        * src/sfnt/ttcmap0.c (tt_cmap4_validate): The validator for format 4
107        sub-tables is now capable of dealing with invalid "length" fields at
108        the start of the sub-table.  This allows fonts like "mg______.ttf"
109        (i.e.  Marriage) to return accurate charmaps.
110
111        * docs/CHANGES: Updated.
112
1132002-10-05  Werner Lemberg  <wl@gnu.org>
114
115        * src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
116        Update all callers.
117        (TRUNC): Add cast to `TCoord'.
118        Update all callers.
119        (TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
120        last_ey.
121        Update all casts.
122        (gray_render_line): Fix casts for `p' and `first'.
123
1242002-10-02  Detlef Würkner  <TetiSoft@apg.lahn.de>
125
126        * src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t
127        structure with FT_ALLOC instead of using the stack.
128
1292002-09-27  Werner Lemberg  <wl@gnu.org>
130
131        * src/include/freetype/internal/tttypes.h (num_sbit_strikes,
132        num_sbit_scales): Use `FT_ULong'.
133        * src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
134        * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
135        (find_sbit_image): Remove cast.
136        * src/raster/ftrend1.c (ft_raster1_render): Fix cast.
137
1382002-09-27  Wolfgang Domröse  <porthos.domroese@harz.de>
139
140        * src/sfnt/ttload.c (tt_face_load_names): Use cast.
141        * src/sfnt/ttcmap.c (code_to_next2): Use long constant.
142        (code_to_index4): Use cast.
143        (code_to_index8_12): Fix cast.
144        * src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
145        tt_cmap12_char_index): Use cast for `result'.
146        (tt_face_build_cmaps): Use cast.
147        * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
148        `code'.
149        (sfnt_load_face): Use FT_Int32 for `flags'.
150
151        * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
152        gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
153        to `TCoord' and `int'.
154        More 16bit fixes.
155        s/FT_Pos/TPos/.
156        * src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
157
1582002-09-26  Werner Lemberg  <wl@gnu.org>
159
160        * src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names,
161        tt_face_get_ps_name): Replace switch statement with if clauses to
162        make it more portable.
163
164        * src/cff/cffobjs.c (cff_face_init): Ditto.
165
166        * include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for
167        `module_size'.
168        * include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for
169        `glyph_size'.
170
171        * src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to
172        `FT_Render_Mode'.
173        (FT_Render_Glyph_Internal): Change third parameter to
174        `FT_Render_Mode'.
175        * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter
176        to `FT_Render_Mode'.
177
178        * src/raster/ftrend1.c (ft_raster1_render): Change third parameter
179        to `FT_Render_Mode'.
180        * src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd,
181        ft_smooth_render_lcd_v): Ditto.
182        (ft_smooth_render_generic): Change third and fifth parameter to
183        `FT_Render_Mode'.
184
185        * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
186        include/freetype/ftglyph.h: Updated.
187
188        * src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c
189        (PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load),
190        src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c
191        (T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change
192        fourth parameter to `FT_Int32'.
193
194        * src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters
195        and declare them as unused.
196
197        * src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'.
198
199        * src/psnames/psnames.h (PS_Unicode_Value_Func): Change return
200        value to FT_UInt32.
201        * src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table):
202        Updated accordingly.
203
2042002-09-26  Wolfgang Domröse  <porthos.domroese@harz.de>
205
206        * src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'.
207        (cff_get_glyph_name): Use cast for result of ft_strlen.
208        * src/cff/cffparse.c (cff_parse_real): User cast for assigning
209        `exp'.
210        * src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for
211        some local variables.
212        (cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some
213        switch statements.
214        (cff_font_load): Use cast in call to CFF_Load_FD_Select.
215        * src/cff/cffobjs.c (cff_size_init): Use more casts.
216        (cff_face_init): Use FT_Int32 for `flags'.
217        * src/cff/cffgload.c (cff_operator_seac): Use cast for assigning
218        `adx' and `ady'.
219        (cff_decoder_parse_charstrings): Use FT_ULong for third parameter.
220        Use more casts.
221        * src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'.
222
223        * src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'.
224        * src/cid/cidgload.c (cid_load_glyph): Add missing cast for
225        `cid_get_offset'.
226
227        * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use
228        cast for `num_points'.
229        (t1_decoder_init): Use cast for assigning `decoder->num_glyphs'.
230
231        * src/base/ftdebug.c (ft_debug_init): Use FT_Int.
232        * include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use
233        `FT_Int32' for fourth parameter.
234        * src/base/ftobjs.c (open_face): Use cast for calling
235        clazz->init_face.
236
237        * src/raster/ftraster.c (Set_High_Precision): Use `1' instead of
238        `1L'.
239        (Finalize_Profile_Table, Line_Up, ft_black_init): Use casts.
240        * src/raster/ftrend1.c (ft_raster1_render): Ditto.
241
242        * src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long
243        constant.
244
2452002-09-26  Detlef Würkner  <TetiSoft@apg.lahn.de>
246
247        * builds/amiga/include/freetype/config/ftmodule.h: Updated.
248
2492002-09-25  David Turner  <david@freetype.org>
250
251        * src/autohint/ahtypes.h (AH_HINT_METRICS): Disabling metrics
252        hinting in the auto-hinter.  This produces much better anti-aliased
253        text.
254
255        * docs/CHANGES: Updating the changes documentation.
256
2572002-09-25  Anthony Fok  <anthony@thizlinux.com>
258
259        * src/sfnt/ttcmap0.c (tt_cmap4_validate, tt_cmap4_char_index,
260        tt_cmap4_char_next): Added support for opens___.ttf (it contains a
261        charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
262        missing glyph).
263
2642002-09-21  Wolfgang Domröse  <porthos.domroese@harz.de>
265
266        * src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
267        FT_Int32.
268        * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
269        Ditto.
270
2712002-09-19  Wolfgang Domröse  <porthos.domroese@harz.de>
272
273        More 16bit fixes.
274
275        * src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
276        (ah_hinter_compute_widths): Use FT_Pos for `dist'.
277        Use AH_MAX_WIDTHS.
278        * src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
279        for `delta'.
280        (ah_outline_compute_edges): Replace some ints with FT_Int and
281        FT_Pos.
282        (ah_test_extrema): Clean up code.
283        (ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
284        hold indices.
285        * src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
286        to FT_Pos.
287
2882002-09-19  Werner Lemberg  <wl@gnu.org>
289
290        * builds/unix/config.guess, builds/unix/config.sub: Updated to
291        recent versions.
292
2932002-09-18  David Turner  <david@freetype.org>
294
295        * src/base/ftobjs.c (FT_Library_Version): Bugfix.
296
297        * FreeType 2.1.3rc2 (release candidate 2) is released!
298
2992002-09-17  David Turner  <david@freetype.org>
300
301        * include/freetype/freetype.h, include/freetype/ftimage.h,
302        include/freetype/ftstroker.h, include/freetype/ftsysio.h,
303        include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating
304        the in-source documentation.
305
306        * src/tools/docmaker/tohtml.py: Updating the HTML formatter in the
307        DocMaker tool.
308
309        * src/tools/docmaker.py: Removed.
310
3112002-09-17  Werner Lemberg  <wl@gnu.org>
312
313        More 16bit fixes.
314
315        * src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for
316        second parameter.
317
3182002-09-16  Werner Lemberg  <wl@gnu.org>
319
320        16bit fixes from Wolfgang Domröse.
321
322        * src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
323        and `private_len' to FT_Long.
324        * src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
325        `private_len'.
326        * src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
327        Use FT_PtrDist where appropriate.
328        (parse_encoding): Use FT_Long for `count' and `n'.
329        (read_binary_data): Use FT_Long* for second parameter.
330        * src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.
331
332        * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
333        * src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
334
3352002-09-14  Werner Lemberg  <wl@gnu.org>
336
337        Making ftgrays.c compile stand-alone again.
338
339        * include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
340        isn't defined.
341        * src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
342        FT_BEGIN_HEADER, FT_END_HEADER.
343        (FT_MEM_ZERO): Define.
344        (TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
345        (gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
346        Don't cast with `FT_Byte'.
347        (grays_init_gamma): Don't use `FT_UInt'.
348
3492002-09-14  Werner Lemberg  <wl@gnu.org>
350
351        * src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
352        * src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
353        * include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
354        to 32.
355
3562002-09-10  Werner Lemberg  <wl@gnu.org>
357
358        * builds/unix/configure.ac (version_info): Set to 9:2:3.
359        * builds/unix/configure: Regenerated.
360        * docs/VERSION.DLL: Updated.
361
3622002-09-09  David Turner  <david@freetype.org>
363
364        * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
365        src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
366        to prevent seg fault when hints are provided in an empty glyph.
367
368        * src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
369        Removed conditional code.  This fixes a bug that prevented
370        compilation in debug mode of template instantiation.
371
372        * include/freetype/ftimage.h: Removed incorrect "zft_" definitions
373        and updated constants documentation comments.
374
375        * src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader.
376        It didn't accept empty arrays, and this prevented the loading of
377        certain fonts.
378
379        * include/freetype/freetype.h (FT_FaceRec): Updating documentation
380        comment.  The "descender" value is always *negative*, not positive.
381
3822002-09-09  Owen Taylor  <owen@redhat.com>
383
384        * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation
385        of bitmap metrics.
386
3872002-09-08  David Turner  <david@freetype.org>
388
389        Various updates to correctly support sub-pixel rendering.
390
391        * include/freetype/config/ftmodule.h: Add two renderers for LCD.
392
393        * src/base/ftobjs.c (FT_Load_Glyph): Updated.
394
395        * src/smooth/ftsmooth.c (ft_smooth_render_lcd,
396        ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and
397        FT_PIXEL_MODE_LCD_V, respectively.
398
399        * include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New
400        structure.
401        Updated all users.
402        (FTC_ImageDesc): Removed.
403        (FTC_ImageCache_Lookup): Second parameter is now of type
404        `FTC_ImageType'.
405        Updated all users.
406        (FTC_IMAGE_DESC_COMPARE): Updated and renamed to...
407        (FTC_IMAGE_TYPE_COMPARE): This.
408        (FTC_IMAGE_DESC_HASH): Updated and renamed to...
409        (FTC_IMAGE_TYPE_HASH): This.
410
411        * include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays'
412        replaced with `max_grays'.
413        `pitch' is now FT_Short.
414        (FTC_SBitCache_Lookup): Second parameter is now of type
415        `FTC_ImageType'.
416        Updated all users.
417
418        * src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec):
419        Updated.
420        (ftc_image_node_init): Updated.
421        Moved code to convert type flags to load flags to...
422        (FTC_Image_Cache_Lookup): This function.
423        (ftc_image_family_init): Updated.
424
425        * src/cache/ftcsbit.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
426        Updated.
427        (ftc_sbit_node_load): Updated.
428        Moved code to convert type flags to load flags to...
429        (FTC_SBitCache_Lookup): This function.
430
431        * src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with
432        `do_*_snapping'.
433        Update all users (with negation).
434        * src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for
435        `dist' for `delta' < 40.
436
437        * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with
438        `do_*_snapping'.
439        Update all users (with negation).
440        * src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New
441        function.
442        (psh3_hint_align): Use it.
443        Improve hinting code.
444        [STRONGER]: Removed.
445        (STRONGER): Removed.
446
447        * include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*):
448        Removed.
449
4502002-09-05  Werner Lemberg  <wl@gnu.org>
451
452        * src/cid/cidobjs.c (CID_Size_Init): Renamed to...
453        (cid_size_init): This.
454        * src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
455        (t1_builder_add_point1): This.
456
457        Updated all affected code.
458
459        * src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
460        * src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.
461
4622002-09-04  David Turner  <david@freetype.org>
463
464        * include/freetype/freetype.h: Corrected the definition of
465        ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
466        the erroneous FT_ENCODING_SYMBOL).
467
468        * builds/unix/unix-def.in (datadir): Initialize it (thanks to
469        Anthony Fok).
470
4712002-08-29  David Turner  <david@freetype.org>
472
473        Slight modification to the Postscript hinter to slightly increase
474        the contrast of smooth hinting.  This is very similar to what the
475        auto-hinter does when it comes to stem width computations.  However,
476        it produces better results with well-hinted fonts.
477
478        * include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint
479        mode to `init' member function.
480        (T1_DecoderRec): Add hint mode.
481        * include/freetype/internal/pshints (T1_Hints_ApplyFunc,
482        T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'.
483        * src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument.
484        * src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not
485        hint flags.
486        * src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto.
487        * src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto.
488        (STRONGER): New macro.
489        (psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead
490        of `hint_flags'.
491        Implement announced changes.
492        * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control
493        vertical and horizontal hints and snapping.
494
495        * README, docs/CHANGES: Updating for the 2.1.3 release.
496
4972002-08-27  David Turner  <david@freetype.org>
498
499        * Massive re-formatting changes to many, many source files.  I don't
500        want to list them all here.  The operations performed were all
501        logical transformations of the sources:
502
503        - trying to convert all enums and constants to CAPITALIZED_STYLE,
504          #with define definitions like
505
506            #define my_old_constants   MY_NEW_CONSTANT
507
508        - big, big update of the documentation comments
509
510        * include/freetype/freetype.h, src/base/ftobjs.c,
511        src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support
512        for LCD-optimized rendering though the new constants/enums:
513
514          FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
515          FT_PIXEL_MODE_LCD,  FT_PIXEL_MODE_LCD_V
516
517        This is still work in progress, don't expect everything to work
518        correctly though most of the features have been implemented.
519
520        * Adding new FT_LOAD_XXX flags, used to specify both hinting and
521        rendering targets:
522
523          FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
524          FT_LOAD_TARGET_MONO   :: monochrome bitmaps
525          FT_LOAD_TARGET_LCD    :: horizontal RGB/BGR decimated
526                                   hinting & rendering
527          FT_LOAD_TARGET_LCD_V  :: vertical RGB/BGR decimated
528                                   hinting & rendering
529
530        Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
531        behaviour of the font engine is _unchanged_.
532
533        * include/freetype/ftimage.h
534        (FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to...
535        (FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This.
536        (FT_Raster_Span_Func): Renamed to ...
537        (FT_SpanFunc): This.
538        (FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ...
539        (FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This.
540
541        Updated all affected code.
542
543        * include/freetype/ftrender.h
544        (FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed
545        to ...
546        (FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This.
547        (FTRenderer_{render,transform,getCBox,setMode}): Renamed to ...
548        (FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SeteModeFunc}):
549        This.
550
551        Updated all affected code.
552
553        * src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals,
554        AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now
555        pointers to the corresponding `*Rec' structures.  All source files
556        have been updated accordingly.
557
558        * src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter.
559        * src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element.
560
561        * src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to...
562        (cid_face_compute_max_advance): This.
563        (CID_Load_Glyph): Renamed to...
564        (cid_slot_load_glyph): This.
565        * src/cid/cidload.c (CID_Open_Face): Renamed to...
566        (cid_face_open): This.
567        * src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to...
568        (cid_slot_{done,init}): This.
569        (CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to...
570        (cid_size_{get_globals_funcs,done,reset): This.
571        (CID_Face_{Done,Init}): Renamed to...
572        (cid_face_{done,init}): This.
573        (CID_Driver_{Done,Init}: Renamed to...
574        (cid_driver_{done,init}: This.
575        * src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to...
576        (cid_parser_{new,done}): This.
577        * src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to...
578        (cid_parser_skip_{spaces,alpha}): This.
579        (CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed
580        to...
581        (cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}):
582        This.
583        (CID_Load_{Field,Field_Table): Renamed to...
584        (cid_parser_load_{field,field_table}): This.
585        * src/cid/cidriver.c (CID_Get_Interface): Renamed to...
586        (cid_get_interface): This.
587
588        Updated all affected code.
589
590        * src/psaux/psobjs.c (PS_Table_*): Renamed to...
591        (ps_table_*): This.
592        (T1_Builder_*): Renamed to...
593        (t1_builder_*): This.
594        * src/psaux/t1decode.c (T1_Decoder_*): Renamed to...
595        (t1_decoder_*): This.
596
597        * src/psnames/psmodule.c (PS_*): Renamed to...
598        (ps_*): This.
599
600        Updated all affected code.
601
602        * src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to...
603        (sfnt_get_interface): This.
604        * src/sfnt/sfobjs.c (SFNT_*): Renamed to...
605        (sfnt_*): This.
606        * src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to...
607        (tt_face_{load,free}_charmap): This.
608        * src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to...
609        (tt_face_build_cmaps): This.
610        * src/sfnt/ttload.c (TT_*): Renamed to...
611        (tt_face_*): This.
612        * src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to...
613        (tt_post_default_names): This.
614        (Load_*): Renamed to...
615        (load_*): This.
616        (TT_*): Renamed to...
617        (tt_face_*): This.
618        * src/sfnt/ttsbit.c (TT_*): Renamed to...
619        (tt_face_*): This.
620        ({Find,Load,Crop}_*): Renamed to...
621        ({find,load,crop}_*): This.
622
623        Updated all affected code.
624
625        * src/smooth/ftsmooth.c (ft_smooth_render): Renamed to...
626        (ft_smooth_render_generic): This.
627        Make function more generic by adding vertical and horizontal scaling
628        factors.
629        (ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v):
630        New functions.
631
632        (ft_smooth_locd_renderer_class, ft_smooth_lcdv_renderer_class): New
633        classes.
634
635        * src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to...
636        (tt_glyphzone_{done,new}): This.
637        (TT_{Face,Size,Driver}_*): Renamed to...
638        (tt_{face,size,driver}_*): This.
639        * src/truetype/ttpload.c (TT_Load_Locations): Renamed to...
640        (tt_face_load_loca): This.
641        (TT_Load_Programs): Renamed to...
642        (tt_face_load_fpgm): This.
643        (TT_*): Renamed to...
644        (tt_face_*): This.
645
6462002-08-27  Werner Lemberg  <wl@gnu.org>
647
648        * docs/VERSION.DLL: New file.
649
6502002-08-23  Graham Asher  <graham.asher@btinternet.com>
651
652        * src/cff/cffgload.c (cff_operator_seac)
653        [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not
654        incremental in the case of CFF but just using callbacks to get glyph
655        recipes) pass the character code, not the glyph index, to the
656        get_glyph_data function; they have no valid charset table.
657
658        * src/cff/cffload.c (cff_font_load): Removed special cases for
659        FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF
660        fonts provided via the incremental interface now have to conform
661        more closely to the CFF font format.
662
663        * src/cff/cffload.h (cff_font_load): Removed argument now unneeded.
664
665        * src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load
666        to conform with new signature.
667
6682002-08-22  David Turner  <david@freetype.org>
669
670        * src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c,
671        src/bdf/bdfdrivr.c: Removed compiler warnings.
672
6732002-08-21  Werner Lemberg  <wl@gnu.org>
674
675        * src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections,
676        psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix
677        compiler warnings and resolve shadowing of local variables.
678
6792002-08-21  David Turner  <david@freetype.org>
680
681        The automatic and Postscript hinter now automatically detect
682        inflection points in glyph outlines and treats them specially.  This
683        is very useful to prevent nasty effect like the disappearing
684        diagonals of "S" and "s" in many, many fonts.
685
686        * src/autohint/ahtypes.h (ah_flag_inflection): New macro.
687        * src/autohint/ahangles.c (ah_angle_diff): New function.
688        * src/autohint/ahangles.h: Updated.
689        * src/autohint/ahglyph.c (ah_outline_compute_inflections): New
690        function.
691        (ah_outline_detect_features): Use it.
692        * src/autohint/ahhint.c (ah_hinter_align_strong_points)
693        [!AH_OPTION_NO_WEAK_INTERPOLATION]: Handle inflection.
694
695        * src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py,
696        src/tools/docmaker/tohtml.py: Updating the DocMaker tool.
697
698        * include/freetype/freetype.h: Changing the type of the "load_flags"
699        parameter from "FT_Int" to "FT_Int32", this in order to support more
700        options.  This should only break binary and/or source compatibility
701        on 16-bit platforms (Atari?).
702        (FT_LOAD_NO_AUTOHINT): New macro.
703
704        * src/base/ftobjs.c (FT_Load_Glyph): Updated.
705        Handle FT_LOAD_NO_AUTOHINT.
706        (FT_Load_Char): Updated.
707
708        * src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c,
709        src/autohint/ahglyph.c, include/freetype/freetype.h: Fixing typos
710        and removing compiler warnings.
711
7122002-08-20  Werner Lemberg  <wl@gnu.org>
713
714        * src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
715
7162002-08-20  David Turner  <david@freetype.org>
717
718        * src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
719        src/pshinter/pshglob.c, src/pshinter/pshrec.c,
720        src/autohint/ahmodule.c [DEBUG_HINTER]: Removing compiler warnings
721        (only used in development builds anyway).
722
723        Improve support of local extrema and stem edge points.
724
725        * src/pshinter/pshalgo3.h (PSH3_Hint_TableRec): Use PSH3_ZoneRec
726        for `zones'.
727        (PSH3_DIR_UP, PSH3_DIR_DOWN): Exchange values.
728        (PSH3_DIR_HORIZONTAL, PSH3_DIR_VERTICAL): New macros.
729        (PSH3_DIR_COMPARE, PSH3_DIR_IS_HORIZONTAL, PSH3_IS_VERTICAL): New
730        macros.
731        (PSH3_POINT_INFLEX): New enum.
732        (psh3_point_{is,set}_{off,inflex}): New macros.
733        (PSH3_POINT_{EXTREMUM,POSITIVE,NEGATIVE,EDGE_MIN,EDGE_MAX): New
734        enum values.
735        (psh3_point_{is,set}_{extremum,positive,negative,edge_min,edge_max}):
736        New macros.
737        (PSH3_PointRec): New members `flags2' and `org_v'.
738        (PSH3_POINT_EQUAL_ARG, PSH3_POINT_ANGLE): New macros.
739
740        * src/pshinter/pshalgo3.c [DEBUG_HINTER]: Removing compiler
741        warnings.
742        (COMPUTE_INFLEXS): New macro.
743        (psh3_hint_align): Simplify some basic arithmetic computations.
744        (psh3_point_is_extremum): Removed.
745        (psh3_glyph_compute_inflections) [COMPUTE_INFLEXS]: New function.
746        (psh3_glyph_init) [COMPUTE_INFLEXS]: Use it.
747        (psh3_glyph_compute_extrema): New function.
748        (PSH3_STRONG_THRESHOLD): Increased to 30.
749        (psh3_hint_table_find_strong_point): Improved.
750        (psh3_glyph_find_strong_points,
751        psh3_glyph_interpolate_strong_points): Updated.
752        (psh3_hints_apply): Use psh3_glyph_compute_extrema.
753
754        * test/gview.c (draw_ps3_hint, ps3_draw_control_points): New
755        functions.
756        Other small updates.
757
758        * Jamfile: Small updates.
759
7602002-08-18  Arkadiusz Miskiewicz  <misiek@pld.ORG.PL>
761
762        * builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to
763        make life easier for package maintainers.
764
7652002-08-18  Werner Lemberg  <wl@gnu.org>
766
767        * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
768        horiBearingX.
769        * src/bdf/bdfdrivr.c (BDF_GlyphLoad): Fix computation of
770        horiBearingY.
771
7722002-08-16  George Williams  <gww@silcom.com>
773
774        Add support for Apple composite glyphs.
775
776        * include/freetype/config/ftoption.h
777        (TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.
778
779        * src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
780        UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
781        glyph loading flags.
782        (load_truetype_glyph): Implement it.
783
7842002-08-16  Werner Lemberg  <wl@gnu.org>
785
786        * src/cff/cffgload.c (cff_free_glyph_data),
787        src/cff/cffload.c (cff_font_load): Use FT_UNUSED.
788
7892002-08-15  Werner Lemberg  <wl@gnu.org>
790
791        * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'.
792        * src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
793
7942002-08-15  Graham Asher  <graham.asher@btinternet.com>
795
796        Implemented the incremental font loading system for the CFF driver.
797        Tested using the GhostScript-to-FreeType bridge (under development).
798
799        * src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): New
800        functions.
801        (cff_operator_seac, cff_compute_max_advance, cff_slot_load): Use
802        them.
803        * src/cff/cffload.c (cff_font_load): Add `face' parameter.
804        Load charset and encoding only if there are glyphs.
805        [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts don't need
806        character recipes.
807        * src/cff/cffload.h, src/cff/cffobjs.c: Updated.
808
809        * src/cid/cidgload.c (cid_load_glyph)
810        [FT_CONFIG_OPTION_INCREMENTAL]: Corrected the incremental font
811        loading implementation to use the new system introduced on
812        2002-08-01.
813
8142002-08-06  Werner Lemberg  <wl@gnu.org>
815
816        * src/cff/cffcmap.c: Remove compiler warnings.
817        * src/cache/ftccache.c, src/cache/ftccache.i,
818        src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
819        * src/cff/cffload.c: s/select/fdselect/.
820        * src/raster/ftraster.c: s/wait/waiting/.
821
8222002-08-01  Graham Asher  <graham.asher@btinternet.com>
823
824        * src/type1/t1load.c (T1_Open_Face): Tolerate a face with no
825        charstrings if there is an incremental loading interface.  Type 1
826        faces supplied by PostScript interpreters like GhostScript will
827        typically not provide any charstrings at load time, so this is
828        essential if they are to work.
829
8302002-08-01  Graham Asher  <graham.asher@btinternet.com>
831
832        Modified incremental loading interface to be closer to David's
833        preferences.  The header freetype.h is not now affected, the
834        interface is specified via an FT_Parameter, the pointer to the
835        interface is hidden in an internal part of the face record, and all
836        the definitions are in ftincrem.h.
837
838        * include/freetype/freeetype.h [FT_CONFIG_OPTION_INCREMENTAL]:
839        Removed.
840        * include/freetype/internal/ftobjs.h [FT_CONFIG_OPTION_INCREMENTAL]:
841        Include FT_INCREMENTAL_H.
842        (FT_Face_InternalRec) [FT_CONFIG_OPTION_INCREMENTAL]: Add
843        `incremental_interface'.
844
845        * src/base/ftobjs.c (open_face, FT_Open_Face)
846        [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
847        * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
848        Updated.
849
850        * src/truetype/ttgload.c (load_truetype_glyph)
851        [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
852        Free loaded glyph data properly.
853        (compute_glyph_metrics, TT_Load_Glyph)
854        [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
855        * src/truetype/ttobjs.c (TT_Face_Init)
856        [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
857
858        * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
859        [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
860        (T1_Parse_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
861        Free loaded glyph data properly.
862        (T1_Load_Glyph): Updated.
863        [FT_CONFIG_OPTION_INCREMENTAL]: Free loaded glyph data properly.
864
8652002-07-30  David Turner  <david@freetype.org>
866
867        * include/freetype/ftincrem.h: Adding new experimental header file
868        to demonstrate a "cleaner" API to support incremental font loading.
869
870        * include/freetype/config/ftheader.h (FT_INCREMENTAL_H): New macro.
871
872        * src/tools/docmaker/*: Adding new (more advanced) version of
873        the DocMaker tool, using Python's sophisticated regexps.
874
8752002-07-28  Werner Lemberg  <wl@gnu.org>
876
877        s/ft_memset/FT_MEM_SET/.
878        s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
879
8802002-07-27  Werner Lemberg  <wl@gnu.org>
881
882        * src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs.
883
8842002-07-26  Werner Lemberg  <wl@gnu.org>
885
886        * src/truetype/ttgload.c (load_truetype_glyph)
887        [FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.
888
889        * src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
890        * src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
891        * src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
892        variable.
893        * src/truetype/ttgload.c (load_truetype_glyph): Remove statement
894        without effect.
895        * src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
896
897        * src/pshinter/pshalgo3.c (psh3_hint_table_record,
898        psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error
899        message.
900
9012002-07-24  Graham Asher  <graham.asher@btinternet.com>
902
903        * src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann
904        [sven@gimp.org] on the FreeType development forum: "If
905        FT_CONFIG_OPTION_INCREMENTAL is undefined (this is the default), the
906        TrueType loader crashes in line 852 of src/truetype/ttgload.c when
907        it tries to access face->glyph_locations."
908
9092002-07-18  Graham Asher  <graham.asher@btinternet.com>
910
911        Added types and structures to support incremental typeface loading.
912        The FT_Incremental_Interface structure, defined in freetype.h, is
913        designed to be passed to FT_Open_Face to provide callback functions
914        to obtain glyph recipes and metrics, for fonts like those passed
915        from PostScript that do not necessarily provide all, or any, glyph
916        information, when first opened.
917
918        * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
919        New configuration macro to enable incremental face loading.  By
920        default it is not defined.
921
922        * include/freetype/freetype.h (FT_Basic_Glyph_Metrics,
923        FT_Get_Glyph_Data_Func, FT_Get_Glyph_Metrics_Func,
924        FT_Incremental_Interface_Funcs, FT_Incremental_Interface)
925        [FT_CONFIG_OPTION_INCREMENTAL]: New.
926        (FT_Open_Args, FT_FaceRec) [FT_CONFIG_OPTION_INCREMENTAL]: New field
927        `incremental_interface'.
928        (FT_Open_Flags) [FT_CONFIG_OPTION_INCREMENTAL]: New enum
929        `ft_open_incremental'.
930
931        * include/freetype/fttypes.h: Include FT_CONFIG_CONFIG_H.
932        (FT_Data): New structure to represent binary data.
933
934        * src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]:
935        Add parameter for incremental loading.
936        (FT_Open_Face) [FT_CONFIG_OPTION_INCREMENTAL]: Use incremental
937        interface.
938
939        * src/truetype/ttgload.c (load_truetype_glyph)
940        [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
941        for the TrueType driver.
942        (compute_glyph_metrics): Return FT_Error.
943        [FT_CONFIG_OPTION_INCREMENTAL]: Check for overriding metrics.
944        (TT_Load_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Don't look for
945        the glyph table while handling an incremental font.
946        Get glyph offset.
947
948        * src/truetype/ttobjs.c (TT_Face_Init)
949        [FT_CONFIG_OPTION_INCOREMENTAL]: Added the incremental loading
950        system for the TrueType driver.
951
952        * src/cid/cidgload.c (cid_load_glyph)
953        [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
954        for the CID driver.
955
956        * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
957        Changes to support incremental Type 42 fonts: Assume a font has
958        glyphs if it has an incremental interface object.
959
960        * src/type1/t1gload.c (T1_Parse_Glyph): Renamed to...
961        (T1_Parse_Glyph_And_Get_Char_String): This.
962        [FT_CONFIG_OPTION_INCREMENTAL]: Added support for incrementally
963        loaded Type 1 faces.
964        (T1_Parse_Glyph): New function.
965        (T1_Load_Glyph): Updated.
966
9672002-07-17  David Turner  <david@freetype.org>
968
969        Cleaning up the cache sub-system code; linear hashing is now the
970        default.
971
972        * include/freetype/cache/ftccache.h, src/cache/ftccache.i,
973        src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed.
974        (FTC_CACHE_USE_LINEAR_HASHING: Removed also.
975
976        FT_CONFIG_OPTION_USE_CMAPS is now the default.
977
978        * include/freetype/internal/ftdriver.h (FT_Driver_ClassRec): Remove
979        `get_char_index' and `get_next_char'.
980
981        * include/freetype/config/ftoption.h,
982        include/freetype/internal/tttypes.h, src/base/ftobjs.c,
983        src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c,
984        src/pfr/pfrdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
985        src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c,
986        src/type42/t42objs.c, src/winfonts/winfnt.c
987        [!FT_CONFIG_OPTION_USE_CMAPS]: Removed.  The new cmap code is now
988        the default.
989
990        * src/type42/t42objs.c (T42_CMap_CharIndex, T42_CMap_CharNext):
991        Removed.
992        * src/type42/t42objs.h: Updated.
993
994        * src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char):
995        Removed.
996        (t1_cid_driver_class): Updated.
997        * src/truetype/ttdriver.c (tt_driver_class): Updated.
998        * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed
999        (t1_driver_class): Updated.
1000        * src/type42/t42drivr.c (t42_driver_class): Updated.
1001
1002        * src/base/ftobjs.c (open_face): Select Unicode cmap by default.
1003
1004        * src/sfnt/ttload.c (TT_Load_SFNT_Header): Fixed a recent bug that
1005        prevented OpenType fonts to be recognized by FreeType.
1006
10072002-07-11  David Turner  <david@freetype.org>
1008
1009        Changing the SFNT loader to check for SFNT-based font files
1010        differently.  We now ignore the range "helper" fields and check the
1011        "head" table's magic number instead.
1012
1013        * include/freetype/internal/tttypes.h (SFNT_HeaderRec): Add `offset'
1014        field.
1015
1016        * src/sfnt/ttload.c (sfnt_dir_check): New function.
1017        (TT_Load_SFNT_HeaderRec): Renamed to...
1018        (TT_Load_SFNT_Header): This.
1019        Implement new functionality.
1020        * src/sfnt/ttload.h: Updated.
1021        * src/sfnt/sfdriver.c (sfnt_interface): Updated.
1022
1023        * src/base/ftobject.c, src/base/fthash.c: Updated object sub-system
1024        and dynamic hash table implementation (still experimental, don't
1025        use).
1026        * include/freetype/internal/fthash.h: Updated.
1027        * include/freetype/internal/ftobjs.h (FT_LibraryRec): New member
1028        `meta_class'.
1029
1030        Fixing a bug in the Type 1 loader that prevented valid font bounding
1031        boxes to be loaded from multiple master fonts.
1032
1033        * include/freetype/t1tables.h (PS_BlendRec): Add `bboxes' field.
1034
1035        * include/freetype/internal/psaux.h (T1_FieldType): Add
1036        `T1_FIELD_TYPE_BBOX'.
1037        (T1_FieldLocation): Add `T1_FIELD_LOCATION_BBOX'.
1038        (T1_FIELD_BBOX): New macro.
1039
1040        * src/psaux/psobjs.c (PS_Parser_LoadField): Handle T1_FIELD_TYPE_BBOX.
1041        * src/type1/t1load.c (t1_allocate_blend): Create blend->bboxes.
1042        (T1_Done_Blend): Free blend->bboxes.
1043        (t1_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
1044        (parse_font_bbox): Commented out.
1045        (t1_keywords): Comment out `parse_font_bbox'.
1046        * src/type1/t1tokens.h: Define `FontBBox' field.
1047
10482002-07-10  David Turner  <david@freetype.org>
1049
1050        * src/cff/cffobjs.c: Small fix to select the Unicode charmap by
1051        default when needed.
1052        Small fix to allow OpenType fonts to support Adobe charmaps when
1053        needed.
1054
1055        * src/cff/cffcmap.c, src/cff/cffcmap.h: New files to support
1056        charmaps for CFF fonts.
1057
1058        * src/cff/cff.c, src/cff/Jamfile, src/cff/rules.mk: Updated.
1059
1060        * include/freetype/internal/cfftypes.h (CFF_EncodingRec): Use
1061        fixed-length arrays for `sids' and `codes'.  Add `count' member.
1062        (CFF_FontRec): Add `psnames' member.
1063
1064        * src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffload.h,
1065        src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
1066        src/cffparse.h, src/cff/cffgload.c, src/cff/cffgload.h: Adding
1067        support for CFF charmaps, reformatting the sources, and removing
1068        some bugs in the Encoding and Charset loaders.
1069        Many fonts renamed to use lowercase only:
1070
1071          CFF_Builder_Init -> cff_builder_init
1072          CFF_Builder_Done -> cff_builder_done
1073          CFF_Init_Decoder -> cff_decoder_init
1074          CFF_Parse_CharStrings -> cff_decoder_parse_charstrings
1075          CFF_Load_Glyph -> cff_slot_load
1076          CFF_Init_Decoder -> cff_decoder_init
1077          CFF_Prepare_Decoder -> cff_decoder_prepare
1078          CFF_Get_Standard_Encoding -> cff_get_standard_encoding
1079          CFF_Access_Element -> cff_index_access_element
1080          CFF_Forget_Element -> cff_index_forget_element
1081          CFF_Get_Name -> cff_index_get_name
1082          CFF_Get_String -> cff_index_get_sid_string
1083          CFF_Get_FD -> cff_fd_select_get
1084          CFF_Done_Charset -> cff_charset_done
1085          CFF_Load_Charset -> cff_charset_load
1086          CFF_Done_Encoding -> cff_encoding_done
1087          CFF_Load_Encoding -> cff_encoding_load
1088          CFF_Done_SubFont -> cff_subfont_done
1089          CFF_Load_Font -> cff_font_load
1090          CFF_Done_Font -> cff_font_done
1091          CFF_Size_Get_Global_Funcs -> cff_size_get_global_funcs
1092          CFF_Size_Done -> cff_size_done
1093          CFF_Size_Init -> cff_size_init
1094          CFF_Size_Reset -> cff_size_reset
1095          CFF_GlyphSlot_Done -> cff_slot_done
1096          CFF_GlyphSlot_Init -> cff_slot_init
1097          CFF_StrCopy -> cff_strcpy
1098          CFF_Face_Init -> cff_face_init
1099          CFF_Face_Done -> cff_face_done
1100          CFF_Driver_Init -> cff_driver_init
1101          CFF_Driver_Done -> cff_driver_done
1102          CFF_Parser_Init -> cff_parser_init
1103          CFF_Parser_Run -> cff_parser_run
1104
1105          add_point -> cff_builder_add_point
1106          add_point1 -> cff_builder_add_point1
1107          add_contour -> cff_builder_add_contour
1108          close_contour -> cff_builder_close_contour
1109          cff_explicit_index -> cff_index_get_pointers
1110
11112002-07-09  Owen Taylor  <owen@redhat.com>
1112
1113        * src/pshinter/pshglob.c (psh_globals_new): Fixed a bug that
1114        prevented the hinter from using correct standard width and height
1115        values, resulting in hinting bugs with certain fonts (e.g. Utopia).
1116
11172002-07-07  David Turner  <david@freetype.org>
1118
1119        * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Added code to return
1120        successfully when the function is called with a bitmap glyph (the
1121        previous code simply returned with an error).
1122
1123        * docs/DEBUG.TXT: Adding debugging support documentation.
1124
1125        * src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c
1126        (ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): Changed
1127        the syntax of the FT2_DEBUG environment variable used to control
1128        debugging output (i.e. logging and error messages).  It must now
1129        look like:
1130
1131          any:6 memory:4 io:3   or
1132          any:6,memory:4,io:3   or
1133          any:6;memory:4;io:3
1134
11352002-07-07  Owen Taylor  <owen@redhat.com>
1136
1137        * src/pshinter/pshglob.c (psh_blues_snap_stem): Adding support for
1138        blue fuzz.
1139        * src/pshinter/pshglob.h (PSH_BluesRec): Add `blue_fuzz' field.
1140        * src/type1/t1load.c (T1_Open_Face): Initialize `blue_fuzz'.
1141
1142        Adding support for hinter-specific bit flags, and the new
1143        FT_Set_Hint_Flags high-level API.
1144
1145        * include/freetype/freetype.h (FT_Set_Hint_Flags): New function.
1146        (FT_HINT_NO_INTEGER_STEM, FT_HINT_NO_HSTEM_ALIGN,
1147        FT_HINT_NO_VSTEM_ALIGN): New macros.
1148
1149        * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
1150        `hint_flags' member.
1151
1152        * src/base/ftobjs.c (FT_Set_Hint_Flags): New function.
1153
1154        * include/freetype/internal/psaux.h (T1_DecoderRec): Add `hint_flags'
1155        member.
1156
1157        * include/freetype/internal/pshints.h (T1_Hints_ApplyFunc,
1158        T2_Hints_ApplyFunc): Add parameter to pass hint flags.
1159
1160        * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings,
1161        T1_Decoder_Init): Use decoder->hint_flags.
1162        * src/cff/cffgload.h (CFF_Builder): Add `hint_flags' field.
1163        * src/cff/cffgload.c (CFF_Builder_Init): Set builder->hint_flags.
1164        (CFF_Parse_CharStrings): Updated.
1165        * src/pshinter/pshalgo1.c (ps1_hints_apply): Add parameter to handle
1166        hint flags (unused).
1167        * src/pshinter/pshalgo1.h: Updated.
1168        * src/pshinter/pshalgo2.c (ps2_hints_apply): Add parameter to handle
1169        hint flags (unused).
1170        * src/pshinter/pshalgo2.h: Updated.
1171        * src/pshinter/pshalgo3.c (ps3_hints_apply): Add parameter to handle
1172        hint flags.
1173        * src/pshinter/pshalgo3.h: Updated.
1174
11752002-07-04  David Turner  <david@freetype.org>
1176
1177        * src/pfr/pfrobjs.c (pfr_slot_load): Fixed a small bug that returned
1178        incorrect advances when the outline resolution was different from
1179        the metrics resolution.
1180
1181        * src/autohint/ahhint.c: Removing compiler warnings.
1182
1183        * src/autohint/ahglyph.c: s/FT_MEM_SET/FT_ZERO/ where appropriate.
1184        (ah_outline_link_segments): Slight improvements to the serif
1185        detection code.  More work is needed though.
1186
11872002-07-03  David Turner  <david@freetype.org>
1188
1189        Small improvements to the automatic hinter.  Uneven stem-widths have
1190        now disappeared and everything looks much better, even if there are
1191        still issues with serifed fonts.
1192
1193        * src/autohint/ahtypes.h (AH_Globals): Added `stds' array.
1194        * src/autohint/ahhint.c (OPTIM_STEM_SNAP): New #define.
1195        (ah_snap_width): Commented out.
1196        (ah_align_linked_edge): Renamed to...
1197        (ah_compute_stem_width): This.
1198        Don't allow uneven stem-widths.
1199        (ah_align_linked_edge): New function.
1200        (ah_align_serifed_edge): Don't strengthen serifs.
1201        (ah_hint_edges_3, ah_hinter_scale_globals): Updated.
1202
12032002-07-03  Owen Taylor  <owen@redhat.com>
1204
1205        Adding new algorithm based on Owen Taylor's recent work.
1206
1207        * src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: New files.
1208        * src/pshinter/pshalgo.h: Updated.
1209        Use pshalgo3 by default.
1210        * src/pshinter/pshinter.c: Include pshalgo3.c.
1211
1212        * src/pshinter/Jamfile, src/pshinter/rules.mk: Updated.
1213
12142002-07-01  Owen Taylor  <owen@redhat.com>
1215
1216        * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points): Fix a bug
1217        where, if a glyph has more than hint mask, the second mask gets
1218        applied to points that should have been covered by the first mask.
1219
12202002-07-01  Keith Packard  <keithp@keithp.com>
1221
1222        * src/sfnt/ttcmap0.c (tt_cmap8_char_next, tt_cmap12_char_next):
1223        Fixing the cmap 8 and 12 parsing routines.
1224
12252002-07-01  David Turner  <david@freetype.org>
1226
1227        * src/base/ftsynth.c: Include FT_TRIGONOMETRY_H.
1228        (FT_Outline_Embolden): Renamed to...
1229        (FT_GlyphSlot_Embolden): This.
1230        Updated to new trigonometric functions.
1231        (FT_Outline_Oblique): Renamed to...
1232        (FT_GlyphSlot_Oblique): This.
1233        (ft_norm): Removed.
1234        * include/freetype/ftsynth.h: Updated.
1235
12362002-06-26  David Turner  <david@freetype.org>
1237
1238        * include/freetype/internal/ftobject.h: Updating the object
1239        sub-system definitions (still experimental).
1240
1241        * src/base/fthash.c (ft_hash_remove): Fixing a small reallocation
1242        bug.
1243
1244        * src/base/fttrigon.c (FT_Vector_From_Polar, FT_Angle_Diff): New
1245        functions.
1246        * include/freetype/fttrigon.h: Updated.
1247
1248
1249        Adding path stroker component (work in progress).
1250
1251        * include/freetype/ftstroker.h, src/base/ftstroker.c: New files.
1252        * src/base/Jamfile: Updated.
1253
1254        * include/freetype/config/ftheader.h (FT_STROKER_H): New macro.
1255
1256
1257        * src/truetype/ttgload.c (TT_Load_Composite_Glyph),
1258        src/base/ftoutln.c (FT_Vector_Transform): Fixed Werner's latest fix.
1259        FT_Vector_Transform wasn't buggy, the TrueType composite loader was.
1260
12612002-06-24  Werner Lemberg  <wl@gnu.org>
1262
1263        * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
1264
12652002-06-21  David Turner  <david@freetype.org>
1266
1267
1268        * Version 2.1.2 released.
1269        =========================
1270
1271
12722002-06-21  Roberto Alameda  <ojancano@geekmail.de>.
1273
1274        * include/freetype/internal/t42types.h (T42_Font): Removed since
1275        it is already in t42objs.h.
1276        (T42_Face): Use T1_FontRec.
1277
1278        * src/base/fttype1.c (FT_Get_PS_Font_Info): Updated.
1279        (FT_Has_PS_Glyph_Names): Check for type42 driver name also.
1280        * src/type42/t42objs.h: Include FT_INTERNAL_TYPE42_TYPES_H.
1281        (T42_Face): Removed since it is already in t42types.h.
1282
12832002-06-21  Detlef Würkner  <TetiSoft@apg.lahn.de>
1284
1285        * src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite
1286        glyphs.
1287
12882002-06-21  Sven Neumann  <sven@convergence.de>
1289
1290        * src/prf/pfrtypes.h (PFR_KernPair): New structure.
1291        (PFR_PhyFont): Use it.
1292        (PFR_KernFlags): New enumeration.
1293        * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New
1294        function.
1295        (pfr_phy_font_extra_items): Use it.
1296        (pfr_phy_font_done): Updated.
1297        * src/pfr/pfrobjs.c (pfr_face_init): Set kerning flag conditionally.
1298        (pfr_face_get_kerning): New function.
1299        * src/pfr/pfrobjs.h: Updated.
1300        * src/pfr/pfrdrivr.c (pfr_driver_class): Updated.
1301
13022002-06-21  David Turner  <david@freetype.org>
1303
1304        * README, docs/CHANGES: Preparing the 2.1.2 release.
1305
13062002-06-19  Detlef Würkner  <TetiSoft@apg.lahn.de>
1307
1308        * src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H.
1309        (t1_face_check_cast): Removed.
1310        (FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers
1311        also.
1312
13132002-06-19  Sebastien BARRE  <sebastien@barre.nom.fr>
1314
1315        * src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
1316
13172002-06-19  Werner Lemberg  <wl@gnu.org>
1318
1319        * src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
1320        (xy <-> yx).
1321        * src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
1322        `||' to make code easier to read.
1323
13242002-06-18  Roberto Alameda  <ojancano@geekmail.de>.
1325
1326        * src/type42/t42objs.c (t42_check_size_change): Removed.
1327        (T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size
1328        instead.
1329        (T42_GlyphSlot_Load): Remove call to t42_check_size_change.
1330
13312002-06-18  Detlef Würkner  <TetiSoft@apg.lahn.de>
1332
1333        * src/psaux/t1cmap.c (t1_cmap_custom_char_index,
1334        t1_cmap_custom_char_next): Fix index computation -- indices start
1335        with 0 and not with cmap->first.
1336
1337        Provide default charmaps.
1338
1339        * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
1340        (PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init),
1341        src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c
1342        (FNT_Face_Init): Implement it.
1343
13442002-06-17  Sven Neumann  <sven@gimp.org>
1345
1346        * src/pfr/pfrobjs.c (pfr_face_init): Fix typo.
1347
13482002-06-16  Leonard Rosenthol  <leonardr@lazerware.com>
1349
1350        Updated Win32/VC++ projects to include the new PFR driver.
1351
1352        * builds/win32/visualc/freetype.dsp: Updated.
1353
13542002-06-16  Anthony Fok  <fok@debian.org>
1355
1356        Install freetype2.m4.
1357
1358        * builds/unix/install.mk (install, uninstall): Handle it.
1359
13602002-06-16  Detlef Würkner  <TetiSoft@apg.lahn.de>
1361
1362        Same fix for PFR driver.
1363
1364        * src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next):
1365        Increase return value by 1.
1366        * src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1.
1367
13682002-06-15  Detlef Würkner  <TetiSoft@apg.lahn.de>
1369
1370        Fix glyph indices to make index zero always the undefined glyph.
1371
1372        * src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease
1373        cmap->num_encodings.
1374        (bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index):
1375        Increase result by 1 for normal cases.
1376        (BDF_Glyph_Load): Decrease index by 1.
1377
1378        * src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next,
1379        PCF_Char_Get_Index): Increase result by 1 for normal cases.
1380        (PCF_Glyph_Load): Decrease index by 1.
1381        * src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for
1382        allocating `encoding'.
1383
1384        * src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix
1385        bounding tests.
1386
13872002-06-14  Detlef Würkner  <TetiSoft@apg.lahn.de>
1388
1389        Add new cmap support to BDF driver.
1390
1391        * src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]:
1392        New structure.
1393        (bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index,
1394        bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions.
1395        (BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only
1396        conditionally.
1397        (BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords.
1398        Implement new cmap handling.
1399        (bdf_driver_class): Updated.
1400
14012002-06-14  Werner Lemberg  <wl@gnu.org>
1402
1403        * Makefile, configure, */*.mk, builds/unix/unix-def.in,
1404        docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/.
1405
14062002-06-12  Werner Lemberg  <wl@gnu.org>
1407
1408        * src/bdf/bdflib.c: s/FT_Short/short/ for consistency.
1409
14102002-06-11  David Turner  <david@freetype.org>
1411
1412        * builds/win32/ftdebug.c: Added a missing #endif.
1413
1414        * src/sfnt/ttload.c, src/bdf/bdflib.c: Removing compiler warnings.
1415
1416        Removed the bug in Type 42 driver that prevented un-hinted outlines
1417        to be loaded.
1418
1419        * src/type42/t42objs.c (T42_Face_Init): Call FT_Done_Size.
1420        (T42_Size_Init): Call FT_Activate_Size.
1421        (t42_check_size_change): New function.
1422        (T42_Size_SetChars, T42_Size_SetPixels): Use it.
1423        (ft_glyphslot_clear): Replace FT_MEM_SET with FT_ZERO.
1424        (T42_GlyphSlot_Load): Use t42_check_size_change.
1425        Initialize more fields of `glyph'.
1426
1427        * builds/win32/visualc/freetype.dsp: Updated.
1428
14292002-06-09  David Turner  <david@freetype.org>
1430
1431
1432        * Version 2.1.1 released.
1433        =========================
1434
1435
14362002-06-08  Juliusz Chroboczek  <jch@pps.jussieu.fr>
1437
1438        * include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
1439        src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: Don't
1440        use `setjmp', `longjmp', and `jmp_buf' but `ft_setjmp', `ft_longjmp',
1441        and `ft_jmp_buf'.
1442        Removed direct references to <stdio.h> and <setjmp.h> when
1443        appropriate, to eventually replace them with a
1444        FT_CONFIG_STANDARD_LIBRARY_H.  Useful for the XFree86 Font Server
1445        backend based on FT2.
1446
1447        * src/base/fttype1.c (FT_Has_PS_Glyph_Names): Fix return value.
1448
14492002-06-08  David Turner  <david@freetype.org>
1450
1451        * src/pcf/pcfdriver.c (pcf_cmap_char_next): Fixed a bug that caused
1452        the function to return invalid values.
1453
1454        * src/cache/ftccache.i: Removing a typo that prevented
1455        the source's compilation.
1456
1457        * src/cache/ftccache.c (ftc_node_hash_unlink): Fixed a
1458        bug that caused nasty memory overwrites.  The hash table's
1459        buckets array wasn't correctly resized when shrinked.
1460
14612002-06-08  Detlef Würkner  <TetiSoft@apg.lahn.de>
1462
1463        * builds/amiga/smakefile, builds/amiga/makefile: Updated.
1464
14652002-06-08  Werner Lemberg  <wl@gnu.org>
1466
1467        * src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
1468        [FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
1469        Fix debugging messages.
1470        * src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of
1471        `family' and `hash' up to make it compilable with g++.
1472
1473        * src/type42/t42error.h: New file.
1474        * src/type42/t42drivr.c, src/type42/t42objs.c,
1475        src/type42/t42parse.c: Use t42 error codes.
1476        * src/type42/rules.mk: Updated.
1477
1478        * src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.
1479
14802002-06-08  David Turner  <david@freetype.org>
1481
1482        * src/cache/ftccmap.c: GEN_CACHE_FAMILY_COMPARE,
1483        GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
1484        New macros.
1485        (ftc_cmap_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
1486        ftc_cache_lookup.
1487        (FTC_CMapCache_Lookup): Updated.
1488
1489        Adding various experimental optimizations to the cache manager.
1490
1491        * include/freetype/cache/ftccache.h (FTC_CACHE_USE_INLINE,
1492        FTC_CACHE_USE_LINEAR_HASHING): New options.
1493        (FTC_CacheRec) [FTC_CACHE_USE_LINEAR_HASHING]: New elements `p',
1494        `mask', and `slack'.
1495
1496        * src/cache/ftccache.c (FTC_HASH_MAX_LOAD, FTC_HASH_MIN_LOAD,
1497        FTC_HASH_SUB_LOAD) [FTC_CACHE_USE_LINEAR_HASHING,
1498        FTC_HASH_INITIAL_SIZE]: New macros.
1499        (ftc_node_mru_link, ftc_node_mru_up): Optimized.
1500        (ftc_node_hash_unlink, ftc_node_hash_link)
1501        [FTC_CACHE_USE_LINEAR_HASHING]: New variants.
1502        (FTC_PRIMES_MIN, FTC_PRIMES_MAX, ftc_primes, ftc_prime_closest,
1503        FTC_CACHE_RESIZE_TEST, ftc_cache_resize)
1504        [!FTC_CACHE_USE_LINEAR_HASHING]: Define it conditionally.
1505        (ftc_cache_init, ftc_cache_clear) [FTC_CACHE_USE_LINEAR_HASHING]:
1506        Updated.
1507        (ftc_cache_lookup) [FTC_CACHE_USE_LINEAR_HASHING]: Implement it.
1508
1509        * src/cache/ftccache.i: New file.
1510
1511        * src/cache/ftcsbits.c (GEN_CACHE_FAMILY_COMPARE,
1512        GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
1513        New macros.
1514        (ftc_sbit_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
1515        ftc_cache_lookup.
1516        (FTC_SBitCache_Lookup): Updated.
1517
1518        * src/type42/t42parse.c: Removing duplicate function.
1519
15202002-06-07  Graham Asher  <graham.asher@btinternet.com>
1521
1522        * src/base/ftobjs.c (FT_Render_Glyph_Internal): Changed definition
1523        from FT_EXPORT_DEF to FT_BASE_DEF.
1524
15252002-06-07  David Turner  <david@freetype.org>
1526
1527        Fixed the bug that prevented the correct display of fonts with
1528        "ftview".
1529
1530        * src/type42/t42drivr.c: Split into...
1531        * src/type42/t42drivr.h, src/type42/t42parse.c,
1532        src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c,
1533        src/type42/type42.c: New files.
1534
1535        (t42_get_glyph_name, t42_get_ps_name, t42_get_name_index): Use
1536        `face->type1'.
1537
1538        (Get_Interface): Renamed to...
1539        (T42_Get_Interface): This.
1540        Updated.
1541        (T42_Open_Face, T42_Face_Done): Updated.
1542        (T42_Face_Init): Add new cmap support.
1543        Updated.
1544        (T42_Driver_Init, T42_Driver_Done, T42_Size_Init, T42_Size_Done,
1545        T42_GlyphSlot_Init, T42_GlyphSlot_Done): Updated.
1546        (Get_Char_Index, Get_Next_Char): Renamed to...
1547        (T42_CMap_CharIndex, T42_CMap_CharNext): This.
1548        Updated.
1549        (T42_Char_Size, T42_Pixel_Size): Renamed to...
1550        (T42_Size_SetChars, T42_Size_SetPixels): This.
1551        (T42_Load_Glyph): Renamed to...
1552        (T42_GlyphSlot_Load): This.
1553
1554        (t42_init_loader, t42_done_loader): Renamed to...
1555        (t42_loader_init, t42_loader_done): This.
1556        (T42_New_Parser, T42_Finalize_Parser): Renamed to...
1557        (t42_parser_init, t42_parser_done): This.
1558        (parse_dict): Renamed to...
1559        (t42_parse_dict): This.
1560        (is_alpha, is_space, hexval): Renamed to...
1561        (t42_is_alpha, t42_is_space, t42_hexval): This.
1562        (parse_font_name, parse_font_bbox, parse_font_matrix,
1563        parse_encoding, parse_sfnts, parse_charstrings, parse_dict):
1564        Renamed to...
1565        (t42_parse_font_name, t42_parse_font_bbox, t42_parse_font_matrix,
1566        t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings,
1567        t42_parse_dict): This.
1568        Updated.
1569
1570        (t42_keywords): Updated.
1571
1572        * src/type42/Jamfile, src/type42/descrip.mms: Updated.
1573
15742002-06-03  Werner Lemberg  <wl@gnu.org>
1575
1576        Add 8bpp support to BDF driver.
1577
1578        * src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp.
1579        * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto.
1580        * src/bdf/README: Updated.
1581
15822002-06-02  Detlef Würkner  <TetiSoft@apg.lahn.de>
1583
1584        * src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
1585
15862002-05-29  Detlef Würkner  <TetiSoft@apg.lahn.de>
1587
1588        * src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically.
1589        (_bdf_parse_glyphs): Use correct size for allocating
1590        `font->unencoded'.
1591        (bdf_load_font): Free array conditionally.
1592        Return proper error code in case of failure.
1593        * src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against
1594        unusual fonts.
1595
15962002-05-29  Werner Lemberg  <wl@gnu.org>
1597
1598        * src/bdf/descrip.mms, src/type42/descrip.mms: New files.
1599        * descrip.mms (all): Updated.
1600
1601        * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
1602        compilation.
1603        * src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
1604
16052002-05-28  Detlef Würkner  <TetiSoft@apg.lahn.de>
1606
1607        * builds/amiga/makefile, builds/amiga/smakefile,
1608        amiga/include/freetype/config/ftmodule.h: Updated to include
1609        support for BDF and Type42 drivers.
1610
1611        * docs/modules.txt: Updated.
1612
16132005-05-28  David Turner  <david@freetype.org>
1614
1615        * docs/CHANGES: Updating file for next release (2.1.1).
1616
1617        * src/bdf/bdflib.c: Removing compiler warnings.
1618
1619        * include/freetype/ftxf86.h, src/base/ftxf86.c: New files.
1620        They provide a new API (FT_Get_X11_Font_Format) to retrieve an
1621        X11-compatible string describing the font format of a given face.
1622        This was put in a new optional base source file, corresponding to a
1623        new public header (named FT_XFREE86_H since this function should
1624        only be used within the XFree86 font server IMO).
1625
1626        * include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not
1627        documented yet).
1628
1629        * src/base/fttype1.c: New file, provoding two new API functions
1630        (FT_Get_PS_Font_Info and FT_Has_PS_Glyph_Names).
1631        * include/freetype/t1tables.h: Updated.
1632
1633        * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:
1634        Updating build control files for the new files "ftxf86.c" and
1635        "fttype1.c" in src/base.
1636
1637        * src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that
1638        prevented family blue zones substitution from hapenning correctly.
1639
1640        * include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding
1641        documentation comment.
1642
16432002-05-28  Werner Lemberg  <wl@gnu.org>
1644
1645        * src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT
1646        but FT_STREAM_READ.
1647        Declare `stream' variable.
1648
1649        * src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math
1650        with calls to `FT_MulDiv'.
1651
16522002-05-28  David Turner  <david@freetype.org>
1653
1654        Fixing the SFNT name table loader to support various buggy fonts.
1655        It now ignores empty name entries, entries with invalid pointer
1656        Offsets and certain fonts containing tables with broken
1657        "storageOffset" fields.
1658
1659        Name strings are now loaded on demand, which reduces the memory
1660        requirements for a given FT_Face tremendously (for example, the name
1661        table of Arial.ttf is about 10Kb and contains 70 names).
1662
1663        This is a temporary fix.  The whole name table loader and interface
1664        will be rewritten in a much more cleanly way shortly, once CSEH have
1665        been introduced in the sources.
1666
1667        * include/freetype/internal/tttypes.h (TT_NameEntryRec): Change
1668        type of `stringOffset' to FT_ULong.
1669        (TT_NameTableRec): Change type of `numNameRecords' and
1670        `storageOffset' to FT_UInt.
1671        Replace `storage' with `stream'.
1672        * src/base/ftnames.c (FT_Get_Sfnt_Name): Load name on demand.
1673        * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
1674        Make code more robust.
1675        * src/sfnt/sfobjs.c (TT_NameEntry_ConvertFunc): New typedef.
1676        (tt_face_get_name): Use it.
1677        Make code more robust.
1678        * src/sfnt/ttload.c (TT_Load_Names): Use `static' for arrays.
1679        Handle invalid `storageOffset' data better.
1680        Set length fields to zero for invalid or ignored data.
1681        Remove code within FT_DEBUG_LEVEL_TRACE.
1682        (TT_Free_Names): Updated.
1683
16842002-05-24  Tim Mooney  <enchanter@users.sourceforge.net>
1685
1686        * builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and
1687        FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be
1688        rebuilt from sources.  Set macro serial to 1, and use third argument
1689        to AC_DEFINE for our two custom symbols, so ftconfig.in could one day
1690        be rebuilt with autoheader (not recommended now, ftconfig.in is a
1691        custom source file)
1692
16932002-05-22  Werner Lemberg  <wl@gnu.org>
1694
1695        * include/freetype/config/ftheader.h (FT_BEZIER_H): Removed.
1696        (FT_BDF_H): New macro for accessing `ftbdf.h'.
1697
1698        * src/type42/t42drivr.c (hexval): Fix typo.
1699
17002002-05-21  Martin Muskens  <mmuskens@aurelon.com>
1701
1702        * src/psaux/psobjs.c (T1Radix): New function.
1703        (t1_toint): Use it to handle numbers in radix format.
1704
1705        * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy
1706        for undocumented, obsolete opcode 15.
1707
17082002-05-21  David Turner  <david@freetype.org>
1709
1710        * src/bdf/bdflib.c: Removed compiler warning, and changed all tables
1711        to the "static const" storage specifier (instead of simply
1712        `static').
1713
1714        * src/type42/t42drivr.c (hexval): Use more efficient code.
1715        Removing compiler warnings.
1716        * src/bdf/bdfdrivr.c: Removing compiler warnings.
1717
1718        * include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
1719        src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk
1720        (FT_Get_BDF_Charset_ID): New API to retrieve BDF-specific strings
1721        from a face.  This is much cleaner than accessing the internal types
1722        "BDF_Public_Face" defined in FT_INTERNAL_BDF_TYPES_H.
1723
17242002-05-21  Werner Lemberg  <wl@gnu.org>
1725
1726        * src/bdf/README: Mention Microsoft's SBIT tool.
1727
1728        * src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c,
1729        src/truetype/ttdriver.c, src/type1/t1driver.c,
1730        src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c
1731        [FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed.  It has
1732        been never used.
1733
17342002-05-21  Roberto Alameda  <ojancano@geekmail.de>.
1735
1736        * src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/.
1737        (parse_font_matrix): Remove unnecessary code.
1738        (parse_sfnts): Initialize some variables.
1739        (t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use
1740        ft_module_driver_has_hinter conditionally.
1741        Moved some type 42 specific structure definitions to...
1742        * include/freetype/internal/t42types.h: New file.
1743        * include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H):
1744        New macro.
1745
17462002-05-20  Werner Lemberg  <wl@gnu.org>
1747
1748        * include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field
1749        `num_grays' for specifying the number of used gray levels.
1750        * src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it.
1751
17522002-05-19  Werner Lemberg  <wl@gnu.org>
1753
1754        Adding a driver for BDF fonts written by Francesco Zappa Nardelli
1755        <Francesco.Zappa.Nardelli@ens.fr>.  Heavily modified by me to
1756        better adapt it to FreeType, removing unneeded stuff.  Additionally,
1757        it now supports Mark Leisher's BDF extension for anti-aliased
1758        bitmap glyphs with 2 and 4 bpp.
1759
1760        * src/bdf/*: New driver.
1761        * include/freetype/internal/bdftypes.h: New file.
1762        * include/freetype/internal/fttrace.h: Added BDF driver components.
1763        * include/freetype/fterrdef.h: Added error codes for BDF driver.
1764        * include/freetype/config/ftmodule.h, src/Jamfile: Updated.
1765        * include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H):
1766        New macro.
1767
1768        * include/freetype/config/ftstdlib.h (ft_sprintf): New alias for
1769        sprintf.
1770
17712002-05-18  Werner Lemberg  <wl@gnu.org>
1772
1773        * include/freetype/internal/fttrace.h: Added Type 42 driver
1774        component.
1775        * src/type42/t42drivr.c: Use it.
1776
1777        * include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H):
1778        New macro.
1779
17802002-05-17  Werner Lemberg  <wl@gnu.org>
1781
1782        * src/type42/Jamfile: New file.
1783
17842002-05-14  Werner Lemberg  <wl@gnu.org>
1785
1786        Adding a driver for Type42 fonts written by Roberto Alameda
1787        <ojancano@geekmail.de>.
1788
1789        * src/type42/*: New driver.
1790        * include/freetype/config/ftmodule.h, src/Jamfile: Updated.
1791        * include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp,
1792        ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively.
1793
17942002-05-12  Owen Taylor  <otaylor@redhat.com>
1795
1796        * src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables
1797        with a zero length value.
1798
17992002-05-12  Michael Pfeiffer  <michael.pfeiffer@utanet.at>
1800
1801        * builds/beos/beos.mk: Include `link-std.mk'.
1802
18032002-05-12  Werner Lemberg  <wl@gnu.org>
1804
1805        * src/type1/t1load.h (T1_Loader): Renamed to...
1806        (T1_LoaderRec): This.
1807        (T1_Loader): Now pointer to T1_LoaderRec.
1808        * src/type1/t1load.c: Updated.
1809
1810        * include/freetype/internal/t1types.h, src/type1/t1load.c,
1811        src/type1/t1objs.c:
1812        s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/.
1813
18142002-05-06  Werner Lemberg  <wl@gnu.org>
1815
1816        * README: Add a note regarding libttf vs. libfreetype.
1817
18182002-05-05  Werner Lemberg  <wl@gnu.org>
1819
1820        FreeType 2 can now be built in an external directory with the
1821        configure script also.
1822
1823        * builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.
1824
1825        * builds/unix/detect.mk (have_mk): New variable to test for
1826        external build.
1827        (unix-def.mk): Defined according to value of `have_mk'.
1828        * builds/unix/unix.mk (have_mk): New variable to test for
1829        external build.
1830        Select include paths for unix-def.mk and unix-cc.mk according
1831        to value of `have_mk'.
1832        * builds/unix/unix-def.in (OBJ_BUILD): New variable.
1833        (DISTCLEAN): Use it.
1834        * builds/unix/unix-cc.in (LIBTOOL): Define default value only
1835        if not yet defined.
1836        * builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
1837        freetype-config.
1838
1839        * configure: Don't depend on bash features.
1840        (ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
1841        partially taken from Autoconf).
1842        Build a dummy Makefile if not building in source tree.
1843
1844        * docs/INSTALL: Document it.
1845
18462002-05-04  David Turner  <david@freetype.org>
1847
1848        * src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
1849        bug that prevented FreeType 2.x and FreeType 1.x to produce
1850        bit-by-bit identical monochrome glyph bitmaps with native TrueType
1851        hinting.  The culprit was a single-bit flag that wasn't set
1852        correctly by the TrueType glyph loader.
1853
1854        * src/otlayout/otlayout.h, src/otlayout/otlbase.c,
1855        src/otlayout/otlbase.h, src/otlayout/otlconf.h,
1856        src/otlayout/otlgdef.c, src/otlayout/otlgdef.h,
1857        src/otlayout/otlgpos.c, src/otlayout/otlgpos.h,
1858        src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
1859        src/otlayout/otljstf.c, src/otlayout/otljstf.h,
1860        src/otlayout/otltable.c, src/otlayout/otltable.h,
1861        src/otlayout/otltags.h: New OpenType Layout source files.  The
1862        module is still incomplete.
1863
18642002-05-02  Werner Lemberg  <wl@gnu.org>
1865
1866        * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo
1867        (0xFFFU -> 0xFFFFU).
1868
18692002-05-01  Werner Lemberg  <wl@gnu.org>
1870
1871        * docs/INSTALL: Fix URL of makepp.
1872
18732002-05-01  David Turner  <david@freetype.org>
1874
1875        * src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused
1876        FreeType to crash when certain broken fonts (e.g. "hya6gb.ttf")
1877        were opened.
1878
1879        * src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to
1880        manage fonts containing a broken name table (e.g. "hya6gb.ttf").
1881
1882        * src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive
1883        validation test.  The charmap validator now accepts overlapping
1884        ranges in format 4 charmaps.
1885
1886        * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary
1887        search algorithm.  Certain fonts contain more than 170 distinct
1888        segments!
1889
1890        * include/freetype/config/ftstdlib.h: Adding an alias for the `exit'
1891        function.  This will be used in the near future to panic in case of
1892        unexpected exception (which shouldn't happen in theory).
1893
1894        * include/freetype/internal/fthash.h, src/base/fthash.c: New files.
1895        This is generic implementation of dynamic hash tables using a linear
1896        algorithm (to get rid of `stalls' during resizes).  In the future
1897        this will be used in at least three parts of the library: the cache
1898        sub-system, the object sub-system, and the memory debugger.
1899
1900        * src/base/Jamfile: Updated.
1901
1902        * include/freetype/internal/internal.h (FT_INTERNAL_HASH_H,
1903        FT_INTERNAL_OBJECT_H): New macros.
1904
1905        * include/freetype/internal/ftcore.h: New file to group all new
1906        definitions related to exception handling and memory management.  It
1907        is very likely that this file will disappear or be renamed in the
1908        future.
1909
1910        * include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h:
1911        Adding comments to better explain the object sub-system as well as
1912        the new memory manager interface.
1913
19142002-04-30  Wenlin Institute (Tom Bishop)  <wenlin@wenlin.com>
1915
1916        * src/base/ftmac.c (p2c_str): Removed.
1917        (file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
1918        OS X.
1919        (is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
1920        Handle `nameLen' <= 6 also.
1921        (parse_fond): Remove unused variable `name_table'.
1922        Use functionality of old p2c_str directly.
1923        Add safety checks.
1924        (read_lwfn): Initialize `size_p'.
1925        Check for size_p == NULL.
1926        (new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
1927        (FT_New_Face_From_LWFN): Remove unused variable `memory'.
1928        Remove some dead code.
1929        (FT_New_Face_From_SFNT): Remove unused variable `stream'.
1930        (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
1931        OS X.
1932        (FT_New_Face_From_FOND): Remove unused variable `error'.
1933        (ResourceForkSize): New function.
1934        (FT_New_Face): Use it.
1935        Handle empty resource forks.
1936        Conditionalize some code for OS X.
1937        Add code to call normal loader as a fallback.
1938
19392002-04-30  Werner Lemberg  <wl@gnu.org>
1940
1941        `interface' is reserved on the Mac.
1942
1943        * include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
1944        src/base/ftoutln.c: s/interface/func_interface/.
1945        * src/base/ftbbox.c (FT_Outline_Get_BBox):
1946        s/interface/bbox_interface/.
1947        * src/cff/cffdrivr.c: s/interface/module_interface/.
1948        * src/cff/cffload.c, src/cff/cffload.h:
1949        s/interface/psnames_interface/.
1950        * src/cid/cidriver.c: s/interface/cid_interface/.
1951        * src/sfnt/sfdriver.c: s/interface/module_interface/.
1952        * src/smooth/ftgrays.c: s/interface/func_interface/.
1953        * src/truetype/ttdriver.c: s/interface/tt_interface/.
1954        * src/type1/t1driver.c: s/interface/t1_interface/.
1955
1956        Some more variable renames to avoid troubles on the Mac.
1957
1958        * src/raster/ftraster.c:
1959        s/Unknown|Ascending|Descending|Flat/\1_State/.
1960        * src/smooth/ftgrays.c: s/TScan/TCoord/.
1961
1962        Other changes for the Mac.
1963
1964        * include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
1965        Mac platforms.
1966        * src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.
1967
1968        * src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
1969        an even number.
1970
19712002-04-29  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>
1972
1973        * descrip.mms (all): Add pfr driver.
1974
19752002-04-28  Werner Lemberg  <wl@gnu.org>
1976
1977        * src/pfr/pfrerror.h: New file.
1978        * include/freetype/ftmoderr.h: Add PFR error codes.
1979        * src/pfr/pfrgload.c: Include pfrerror.h.
1980        Use PCF error codes.
1981        (pfr_extra_item_load_stem_snaps): Fix debug message.
1982        * src/pfr/pfrgload.c: Include pfrerror.h.
1983        Use PCF error codes.
1984        (pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple,
1985        pfr_glyph_load_compound): Fix debug message.
1986        * src/pfr/pfrobjs.c: Include pfrerror.h.
1987        Use PCF error codes.
1988        (pfr_face_init): Return PFR_Err_Unknown_File_Format.
1989        * src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h.
1990
1991        * src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]:
1992        `root' -> `face->root'.
1993        * src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]:
1994        Removed.
1995        * src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for
1996        FT_CONFIG_OPTION_USE_CMAPS.
1997
19982002-04-27  Werner Lemberg  <wl@gnu.org>
1999
2000        * src/cache/ftccache.c (ftc_cache_lookup),
2001        src/cache/ftccmap.c (ftc_cmap_family_init),
2002        src/cache/ftcmanag.c (ftc_family_table_alloc),
2003        src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
2004        src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
2005        (FTC_ImageCache_Lookup): Fix handling of invalid arguments.
2006
20072002-04-22  Werner Lemberg  <wl@gnu.org>
2008
2009        * builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2
2010        version 2.0.9 has 9:0:3).
2011        * builds/unix/configure: Regenerated (using autoconf 2.53).
2012
20132002-04-19  Werner Lemberg  <wl@gnu.org>
2014
2015        * src/pfr/pfrload.c (pfr_extra_items_farse): Fix debug message.
2016        (pfr_phy_font_load): s/size/Size/ for local variable to avoid
2017        compiler warning.
2018        * src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
2019        (pfr_slot_load): Remove redundant local variable.
2020
20212002-04-19  David Turner  <david@freetype.org>
2022
2023        Adding a PFR font driver to the FreeType sources.  Note that it
2024        doesn't support embedded bitmaps or kerning tables yet.
2025
2026        src/pfr/*: New files.
2027
2028        * include/freetype/config/ftmodule.h,
2029        include/freetype/internal/fttrace.h, src/Jamefile: Updated.
2030
2031        * src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c
2032        (T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback
2033        function.
2034
2035        * include/freetype/internal/ftmemory.h (FT_MEM_ZERO, FT_ZERO): New
2036        macros.
2037
2038        * include/freetype/internal/ftstream.h (FT_NEXT_OFF3, FT_NEXT_UOFF3,
2039        FT_NEXT_OFF3_LE, FT_NEXT_UOFF3_LE): New macros to parse in-memory
2040        24-bit integers.
2041
20422002-04-18  David Turner  <david@freetype.org>
2043
2044        * src/base/ftobjs.c, builds/win32/ftdebug.c,
2045        builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked
2046        against applications in Win32 and Amiga builds due to changes to
2047        "src/base/ftdebug.c" that were not properly propagated to
2048        "builds/win32" and "builds/amiga".  This has been fixed.
2049
2050        * include/freetype/internal/ftobject.h,
2051        include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h,
2052        include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c:
2053        New experimental files.
2054
20552002-04-17  David Turner  <david@freetype.org>
2056
2057
2058        * Version 2.1.0 released.
2059        =========================
2060
2061
20622002-04-17  Michael Jansson  <mjan@em2-solutions.com>
2063
2064        * src/type1/t1gload.c (T1_Compute_Max_Advance): Fixed a small bug
2065        that prevented the function to return the correct value.
2066
20672002-04-16  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
2068
2069        * src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
2070        tables.
2071
20722002-04-15  David Turner  <david@freetype.org>
2073
2074        * docs/FTL.txt: Formatting.
2075
2076        * include/freetype/config/ftoption.h: Reduce the size of the
2077        render pool from 32kByte to 16kByte.
2078
2079        * src/pcf/pcfread.c (pcf_seek_to_table_type): Remove compiler
2080        warning.
2081
2082        * include/freetype/config/ftoption.h (FT_MAX_EXTENSIONS): Removed.
2083
2084        * docs/CHANGES: Preparing 2.1.0 release.
2085
20862002-04-13  Werner LEMBERG  <wl@gnu.org>
2087
2088        * src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
2089        compiler warning.
2090
20912002-04-12  David Turner  <david@freetype.org>
2092
2093        * README.UNX: Updated the Unix-specific quick-compilation guide to
2094        warn about the GNU Make requirement at compile time.
2095
2096        * include/freetype/config/ftstdlib.h,
2097        include/freetype/config/ftconfig.h,
2098        include/freetype/config/ftheader.h,
2099        include/freetype/internal/ftmemory.h,
2100        include/freetype/internal/ftobjs.h,
2101
2102        src/autohint/ahoptim.c,
2103
2104        src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c,
2105        src/base/ftobjs.c, src/base/ftsystem.c,
2106
2107        src/cache/ftcimage.c, src/cache/ftcsbits.c,
2108
2109        src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
2110
2111        src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
2112
2113        src/pcf/pcfdriver.c, src/pcf/pcfread.c,
2114
2115        src/psaux/t1cmap.c, src/psaux/t1decode.c,
2116
2117        src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
2118        src/pshinter/pshrec.c,
2119
2120        src/psnames/psmodule.c,
2121
2122        src/raster/ftraster.c,
2123
2124        src/sfnt/sfdriver.c, src/sfnt/ttload.c,
2125
2126        src/smooth/ftgrays.c,
2127
2128        src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
2129        src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c,
2130
2131        builds/unix/ftconfig.in, builds/vms/ftconfig.h,
2132
2133        builds/amiga/src/base/ftdebug.c:
2134
2135        Added the new configuration file "ftstdlib.h" used to define
2136        aliases for all ISO C library functions used by the engine
2137        (e.g. strlen, qsort, setjmp, etc.).
2138
2139        This eases the porting of FreeType 2 to environments like
2140        XFree86 modules/extensions.
2141
2142        Also removed many #include <string.h>, #include <stdlib.h>, etc.
2143        from the engine's sources where they are not needed.
2144
2145        * src/sfnt/ttpost.c: Use macro name for psnames.h.
2146
21472002-04-12  Vincent Caron  <v.caron@zerodeux.net>
2148
2149        * configure, builds/detect.mk: Updated the build system to print
2150        a warning message in case GNU Make isn't used to build the library.
2151
21522002-04-11  David Turner  <david@freetype.org>
2153
2154        * README, docs/CHANGES, Jamfile.in: Updates for the 2.1.0 release.
2155
2156        * docs/FTL.txt: Updated license text to provide a preferred
2157        disclaimer and adjust copyright dates/extents.
2158
2159        * include/freetype/cache/ftcglyph.h: Removing obsolete (and
2160        confusing) comment.
2161
2162        * Jamfile.in: New file.
2163
21642002-04-11  Maxim Shemanarev  <mcseemagg@yahoo.com>
2165
2166        * src/smooth/ftgrays.c (gray_hline): Minor optimization.
2167
21682002-04-02  Werner Lemberg  <wl@gnu.org>
2169
2170        Fixes from the stable branch:
2171
2172        * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS):
2173        Removed.
2174        [FT_CONFIG_OPTION_OLD_CALCS]: Removed.
2175        * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
2176        [FT_CONFIG_OPTION_OLD_CALCS]: Removed.
2177
2178        * src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match
2179        output of FreeType 1.
2180
2181        * src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small
2182        bug that created un-even stem widths when hinting Postscript fonts.
2183
2184        * src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
2185
21862002-04-01  Werner Lemberg  <wl@gnu.org>
2187
2188        * src/truetype/ttgload.c: 16bit fixes.
2189        (TT_Load_Simple_Glyph): Improve debug messages.
2190        (load_truetype_glyph): Remove dead code.
2191        * src/truetype/ttinterp.c: 16bit fixes.
2192        * src/truetype/ttobjs.c: Ditto.
2193
2194        * include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
2195        src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
2196        src/sfnt/ttpost.h: s/index/idx/.
2197
21982002-03-31  Yao Zhang  <yaoz@vidar.niaaa.nih.gov>
2199
2200        * src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
2201
22022002-03-31  Werner Lemberg  <wl@gnu.org>
2203
2204        * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/.
2205        * src/psaux/t1cmap.c: Ditto.
2206        * src/sfnt/ttcmap0.c: Ditto.
2207
2208        * include/freetype/internal/tttypes.h,
2209        include/freetype/internal/sfnt.h (TT_Goto_Table_Func): Renamed to ...
2210        (TT_Loader_GotoTableFunc): This.
2211        * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug
2212        messages.
2213        * src/psnames/psmodule.c (psnames_interface)
2214        [!FT_CONFIG_OPTION_ADOBE_GLYPH_LIST]: Fix typo.
2215        * src/sfnt/sfdriver.c (get_sfnt_table): 16bit fix.
2216        * src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
2217        * src/sfnt/ttcmap0.c: 16bit fixes.
2218        (TT_Build_CMaps): Simplify debug messages.
2219        (tt_cmap12_char_next): Fix offset.
2220        * src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
2221        messages.
2222        (TT_Load_OS2): 16bit fix.
2223
22242002-03-30  David Turner  <david@freetype.org>
2225
2226        * include/freetype/internal/tttypes.h: Adding comments to some of
2227        the TT_FaceRec fields.
2228
2229        * src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings.
2230
2231        * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_{utf16,ucs4,other}:
2232        New functions.
2233        (tt_face_get_name): Use them to properly extract an ascii font name.
2234
22352002-03-30  Werner Lemberg  <wl@gnu.org>
2236
2237        * include/freetype/t1tables.h (t1_blend_max): Fix typo.
2238        * src/base/ftstream.c: Simplify FT_ERROR calls.
2239        * src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
2240
2241        * src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
2242        [TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
2243        * src/cff/sfobjs.c (SFNT_Load_Face)
2244        [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
2245        * src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
2246        [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
2247
2248        * src/truetype/ttdriver.c, src/truetype/ttobjs.c,
2249        src/truetype/ttobjs.h: Renaming driver functions to the
2250        FT_<Subject>_<Action> scheme:
2251
2252          TT_Init_Driver => TT_Driver_Init
2253          TT_Done_Driver => TT_Driver_Done
2254          TT_Init_Face   => TT_Face_Init
2255          TT_Done_Face   => TT_Face_Done
2256          TT_Init_Size   => TT_Size_Init
2257          TT_Done_Size   => TT_Size_Done
2258          TT_Reset_Size  => TT_Size_Reset
2259
22602002-03-29  Werner Lemberg  <wl@gnu.org>
2261
2262        * builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
2263        FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
2264        files.
2265        * builds/unix/ftconfig.in: Add argument to FT_LOCAL and
2266        FT_LOCAL_DEF.
2267        * src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
2268        * builds/unix/configure.ac: Temporarily deactivate creation of
2269        ../../Jamfile.
2270        * builds/unix/configure: Updated.
2271
22722002-03-28  KUSANO Takayuki  <AE5T-KSN@asahi-net.or.jp>
2273
2274        * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos.
2275
22762002-03-28  Werner Lemberg  <wl@gnu.org>
2277
2278        * include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
2279        compiler warnings.
2280        * include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
2281        some members.
2282        * src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
2283        * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
2284        cast.
2285        (t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
2286        `FT_CALLBACK_TABLE_DEF'.
2287        * src/psaux/t1cmap.h: Updated.
2288        * src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
2289        instead of zero.
2290        * src/type1/t1objs.c (T1_Face_Init): Use casts.
2291
22922002-03-26  David Turner  <david@freetype.org>
2293
2294        * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
2295        Fixed a small bug in the FT_CMaps support code.
2296
22972002-03-25  David Turner  <david@freetype.org>
2298
2299        * src/truetype/ttinterp.c (Norm): Replaced with...
2300        (TT_VecLen): This.
2301        (TT_MulFix14, TT_DotFix14): New functions.
2302        (Project, Dual_Project, Free_Project, Compute_Point_Displacement,
2303        Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them.
2304        [FT_CONFIG_OPTION_OLD_CALCS]: Removed all code.
2305
23062002-03-22  David Turner  <david@freetype.org>
2307
2308        * src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
2309        Various fixes to make the FT_CMaps support work correctly (more
2310        tests are still needed).
2311
2312        * include/freetype/internal/ftobjs.h, src/sfnt/Jamfile,
2313        src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
2314        src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
2315        the SFNT charmap support to use FT_CMaps.
2316
2317        * include/freetype/fterrdef.h: New file.
2318        * include/freetype/fterrors.h: Include it.  It contains all error
2319        codes.
2320        * include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New
2321        macro.
2322
2323        * include/freetype/internal/ftmemory.h, and a lot of other files:
2324        Changed the names of memory macros.  Examples:
2325
2326          MEM_Set   => FT_MEM_SET
2327          MEM_Copy  => FT_MEM_COPY
2328          MEM_Move  => FT_MEM_MOVE
2329
2330          ALLOC     => FT_ALLOC
2331          FREE      => FT_FREE
2332          REALLOC   = >FT_REALLOC
2333
2334        FT_NEW was introduced to allocate a new object from a _typed_
2335        pointer.
2336
2337        Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by
2338        FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
2339        arguments.
2340
2341        This results in _lots_ of sources being changed, but makes the code
2342        more generic and less error-prone.
2343
2344        * include/freetype/internal/ftstream.h, src/base/ftstream.c,
2345        src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c,
2346        src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
2347        src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c,
2348        src/winfonts/winfnt.c: Changed the definitions of stream macros.
2349        Examples:
2350
2351          NEXT_Byte     => FT_NEXT_BYTE
2352          NEXT_Short    => FT_NEXT_SHORT
2353          NEXT_UShortLE => FT_NEXT_USHORT_LE
2354          READ_Short    => FT_READ_SHORT
2355          GET_Long      => FT_GET_LONG
2356          etc.
2357
2358        Also introduced the FT_PEEK_XXXX functions.
2359
2360        * src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented
2361        out function.
2362        (find_encoding): Removed.
2363        (CFF_Face_Init): Remove charmap support.
2364
2365        * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS,
2366        TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune
2367        support of cmaps.
2368
23692002-03-21  David Turner  <david@freetype.org>
2370
2371        * src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
2372        to new FT_CMap definitions.
2373
2374        * src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
2375        src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support
2376        from "src/type1" to "src/psaux" since it is going to be shared by
2377        the Type 1 and CID font drivers.
2378
2379        * src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
2380        src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support
2381        for Type 1 FT_CMaps.
2382
23832002-03-20  David Turner  <david@freetype.org>
2384
2385        * src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a
2386        memory allocation bug that was due to un-careful renaming of the
2387        FT_SubGlyph type.
2388
2389        * src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that
2390        caused the library to crash with Electric Fence when memory
2391        debugging is used.
2392
2393        * Renaming stream macros.  Examples:
2394
2395          FILE_Skip    => FT_STREAM_SKIP
2396          FILE_Read    => FT_STREAM_READ
2397          ACCESS_Frame => FT_FRAME_ENTER
2398          FORGET_Frame => FT_FRAME_EXIT
2399          etc.
2400
2401        * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak.
2402
2403        * include/freetype/internal/ftobjs.h: Changing the definition of
2404        FT_CMap_CharNextFunc slightly.
2405
2406        * src/cff/*.c: Updating CFF type definitions.
2407
24082002-03-14  David Turner  <david@freetype.org>
2409
2410        * include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
2411        src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions
2412        for the auto-hinter module.
2413
2414          FT_AutoHinter_Interface  => FT_AutoHinter_ServiceRec
2415          FT_AutoHinter_Interface* => FT_AutoHinter_Service
2416          etc.
2417
2418          FT_AutoHinter_Get_Global_Func  => FT_AutoHinter_GlobalGetFunc
2419          FT_AutoHinter_Done_Global_Func => FT_AutoHinter_GlobalDoneFunc
2420          etc.
2421
2422        * ahloader.h [_STANDALONE_]: Removed all conditional code.
2423
2424        * include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the
2425        type definitions of the CFF font driver.
2426
2427          CFF_Font  => CFF_FontRec
2428          CFF_Font* => CFF_Font
2429          etc.
2430
2431        * include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating
2432        type definitions of the Windows FNT font driver.
2433
2434        * include/freetype/internal/ftdriver.h,
2435        include/freetype/internal/ftobjs.h, src/base/ftapi.c,
2436        src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h,
2437        src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c,
2438        src/pcf/pcfdriver.h, src/truetype/ttdriver.c,
2439        src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h,
2440        src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type
2441        definitions for font drivers.
2442
2443          FTDriver_initFace      => FT_Face_InitFunc
2444          FTDriver_initGlyphSlot => FT_Slot_InitFunc
2445          etc.
2446
2447        * src/cid/cidobjs.c (CID_Face_Init): Remove dead code.
2448
2449        * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: Updated a
2450        few face method definitions:
2451
2452          FT_PSName_Requester     => FT_Face_GetPostscriptNameFunc
2453          FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
2454          FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
2455
2456        * src/base/ftapi.c: New file.  It contains backwards compatibility
2457        functions.
2458
2459        * include/freetype/internal/psaux.h, src/cid/cidload.c,
2460        src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
2461        src/psaux/t1decode.c, stc/type1/t1load.c, src/type1/t1tokens.h:
2462        Updated common PostScript type definitions.
2463        Renamed all enumeration values like to uppercase variants:
2464
2465          t1_token_any      => T1_TOKEN_TYPE_ANY
2466          t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO
2467          etc.
2468
2469        * include/freetype/internal/psglobals.h: Removed.
2470        * include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
2471        Updated.
2472
2473        * include/freetype/internal/tttypes.h,
2474        include/freetype/internal/sfnt.h, src/base/ftnames.c,
2475        src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: Updated
2476        SFNT/TrueType type definitions.
2477
2478        * include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
2479        Updating type defintiions for the glyph loader.
2480
24812002-03-13  Antoine Leca  <antoine@oriolnet.com>
2482
2483        * include/freetype/config/ftoption.h: Changed the automatic
2484        detection of Microsoft C compilers to automatically support 64-bit
2485        integers only since revision 9.00 (i.e. >= Visual C++ 2.0).
2486
24872002-03-08  Werner Lemberg  <wl@gnu.org>
2488
2489        * src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
2490
24912002-03-07  Werner Lemberg  <wl@gnu.org>
2492
2493        * src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
2494        ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
2495        ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
2496        FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
2497        * src/base/ftcalc.c (FT_MulFix): Ditto.
2498        * src/cff/cffdrivr.c (cff_get_name_index): Ditto.
2499        * src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init,
2500        CFF_GlyphSlot_Init): Ditto.
2501        * src/cid/cidobjs.c (CID_GlyphSlot_Init,
2502        CID_Size_Get_Globals_Funcs): Ditto.
2503        * src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
2504        Ditto.
2505        * src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
2506        * src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
2507        variables.
2508
2509        * include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
2510        to...
2511        (T1_Builder_FuncsRec): This.
2512        (T1_Builder_Funcs): New typedef.
2513        (PSAux_Interface): Remove compiler warnings.
2514        * src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
2515        (t1_builder_funcs): Updated.
2516
2517        * src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
2518        (PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
2519        (PSH_AlignmentRec): Updated.
2520
2521        * include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
2522        typo.
2523        * include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
2524        * src/base/ftstream (FT_Get_Char): Rename to...
2525        (FT_Stream_Get_Char): This.
2526
2527        * src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
2528        a built-in function in gcc, causing warning messages with gcc 3.0.
2529        * src/autohint/ahglyph.c (ah_outline_load): Ditto.
2530        * src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
2531        * src/cache/ftcmanag.c (ftc_family_table_alloc,
2532        ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
2533        Ditto.
2534        * src/cff/cffload.c (cff_new_index, cff_done_index,
2535        cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
2536        CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
2537        CFF_Done_Font): Ditto.
2538        * src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
2539        * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
2540        * src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
2541        ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
2542        * src/pshinter/pshalgo1.c (psh1_hint_table_record,
2543        psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
2544        * src/pshinter/pshalgo2.c (psh2_hint_table_record,
2545        psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
2546        * src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
2547        TT_Get_PS_Name): Ditto.
2548        * src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
2549        load_truetype_glyph): Ditto.
2550        * src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
2551        * src/type1/t1afm.c (T1_Get_Kerning): Ditto.
2552        * include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
2553
25542002-03-06  David Turner  <david@freetype.org>
2555
2556        * src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c
2557        (CID_Face_Init): Fixed another bug related to the
2558        ascender/descender/text height of Postscript fonts.
2559
2560        * src/pshinter/pshalgo2.c (print_zone): Renamed to ...
2561        (psh2_print_zone): This.
2562        * src/pshinter/pshalgo1.c (print_zone): Renamed to ...
2563        (psh1_print_zone): This.
2564
2565        * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
2566        src/base/ftobjs.c: Adding the new FT_Library_Version API to return
2567        the library's current version in dynamic links.
2568        * src/base/ftinit.c (FT_Init_FreeType): Updated.
2569
25702002-03-06  Werner Lemberg  <wl@gnu.org>
2571
2572        * src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/.
2573        * src/pshinter/pshglob.c (psh_global_scale_widths,
2574        psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
2575        Ditto.
2576
25772002-03-05  David Turner  <david@freetype.org>
2578
2579        * src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c
2580        (CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug
2581        that returned global BBox values in 16.16 fixed format (instead of
2582        integer font units).
2583
2584        * src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that
2585        caused the CID driver to return Postscript font names with a leading
2586        slash ("/") as in "/MOEKai-Regular".
2587
2588        * src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
2589        src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
2590        that it accepts broken fonts like "foxjump.ttf", which made FreeType
2591        crash when trying to load them.
2592
2593        Also improved the name table parser to be able to load
2594        Windows-encoded entries before Macintosh or Unicode ones, since it
2595        seems some fonts don't have reliable values here anyway.
2596
2597        * include/freetype/internal/psnames.h: Add typedef for
2598        `PSNames_Service'.
2599
26002002-03-05  Werner Lemberg  <wl@gnu.org>
2601
2602        * builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
2603        1.4.2.
2604        Apply a small patch for AIX to make shared libraries work (this
2605        patch is already in the CVS version of libtool).
2606
2607        * builds/unix/config.sub, builds/unix/config.guess: Updated to
2608        recent versions.
2609
2610        * builds/unix/configure.ac: Fix typo
2611        (AC_CONFIG_FILE->AC_CONFIG_FILES).
2612
2613        * builds/unix/configure: Regenerated.
2614
26152002-02-28  David Turner  <david@freetype.org>
2616
2617        * include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
2618        `FT_LOCAL( xxxx )' everywhere in the source.  The same goes for
2619        `FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'.
2620
2621        * include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH):
2622        Changing version to 2.1.0 to indicate an unstable branch.
2623        Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
2624
2625        * src/base/ftobjs.c: Implement FT_Get_First_Char and
2626        FT_Get_Next_Char.
2627
2628        * include/freetype/t1tables.h: Renaming structure types.  This
2629
2630          typedef  T1_Struct_
2631          {
2632          } T1_Struct;
2633
2634        becomes
2635
2636          typedef  PS_StructRec_
2637          {
2638          } PS_StructRec, *PS_Struct;
2639
2640          typedef PS_StructRec  T1_Struct;  /* backwards-compatibility */
2641
2642        Hence, we increase the coherency of the source code by effectively
2643        using the `Rec' prefix for structure types.
2644
26452002-02-27  David Turner  <david@freetype.org>
2646
2647        * src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the
2648        names table loader.  Invalid individual name entries are now handled
2649        correctly.  This allows the loading of very buggy fonts like
2650        "foxjump.ttf" without allocating tons of memory and causing crashes.
2651
2652        * src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still
2653        experimental) code for OpenType Layout tables validation and
2654        parsing.
2655
2656        * src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still
2657        experimental) code for Type 1 charmap processing.
2658
2659        * src/sfnt/ttcmap0.c: New file.  It contains a new, still
2660        experimental SFNT charmap processing support.
2661
2662        * include/freetype/internal/ftobjs.h: Adding validation support as
2663        well as internal charmap object definitions (FT_CMap != FT_CharMap).
2664
26652002-02-24  David Turner  <david@freetype.org>
2666
2667        * Renaming stream functions to the FT_<Subject>_<Action> scheme:
2668
2669          FT_Seek_Stream    => FT_Stream_Seek
2670          FT_Skip_Stream    => FT_Stream_Skip
2671          FT_Read_Stream    => FT_Stream_Read
2672          FT_Read_Stream_At => FT_Stream_Read_At
2673          FT_Access_Frame   => FT_Stream_Enter_Frame
2674          FT_Forget_Frame   => FT_Stream_Exit_Frame
2675          FT_Extract_Frame  => FT_Stream_Extract_Frame
2676          FT_Release_Frame  => FT_Stream_Release_Frame
2677          FT_Get_XXXX       => FT_Stream_Get_XXXX
2678          FT_Read_XXXX      => FT_Stream_Read_XXXX
2679
2680          FT_New_Stream( filename, stream ) =>
2681            FT_Stream_Open( stream, filename )
2682
2683            (The function doesn't create the FT_Stream structure, it simply
2684            initializes it for reading.)
2685
2686          FT_New_Memory_Stream( library, FT_Byte*  base, size, stream ) =>
2687            FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
2688
2689          FT_Done_Stream  => FT_Stream_Close
2690          FT_Stream_IO    => FT_Stream_IOFunc
2691          FT_Stream_Close => FT_Stream_CloseFunc
2692
2693          ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only)
2694          ft_io_stream    => ft_ansi_stream_io    (in base/ftsystem.c only)
2695
2696        * src/base/ftutil.c: New file.  Contains all memory and list
2697        management code (previously in "ftobjs.c" and "ftlist.c",
2698        respectively).
2699
2700        * include/freetype/internal/ftobjs.h: Moving all code related to
2701        glyph loaders to ...
2702        * include/freetype/"internal/ftgloadr.h: This new file.
2703        "FT_GlyphLoader" is now a pointer to the structure
2704        "FT_GlyphLoaderRec".
2705        (ft_glyph_own_bitmap): Renamed to ...
2706        (FT_GLYPH_OWN_BITMAP): This.
2707        * src/base/ftobjs.c: Moving all code related to glyph loaders
2708        to ...
2709        * src/base/ftgloadr.c: This new file.
2710
27112002-02-22  Werner Lemberg  <wl@gnu.org>
2712
2713        * include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
2714        enum to avoid compiler warnings.
2715
27162002-02-21  David Turner  <david@freetype.org>
2717
2718        Modified the debug sub-system initialization.  Trace levels can now
2719        be specified within the "FT2_DEBUG" environment variable.  See the
2720        comments within "ftdebug.c" for more details.
2721
2722        * src/base/ftdebug.c: (FT_SetTraceLevel): Removed.
2723        (ft_debug_init): New function.
2724        (ft_debug_dummy): Removed.
2725        Updated to changes in ftdebug.h
2726
2727        * include/freetype/internal/ftdebug.h: Always define
2728        FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE is defined.
2729        (FT_Assert): Renamed to ...
2730        (FT_ASSERT): This.
2731        Some stuff from ftdebug.h has been moved to ...
2732
2733        * include/freetype/internal/fttrace.h: New file, to define the trace
2734        levels used for debugging.  It is used both to define enums and
2735        toggle names for FT2_DEBUG.
2736
2737        * include/freetype/internal/internal.h: Updated.
2738
2739        * src/base/ftobjs.c, src/base/ftstream.c: Updated.
2740
2741        * include/freetype/internal/ftextend.h, src/base/ftextend.c:
2742        Removed.  Both files are now completely obsolete.
2743        * src/base/Jamfile, src/base/rules.mk: Updated.
2744
2745        * include/freetype/fterrors.h: Adding "#undef FT_ERR_CAT" and
2746        `#undef FT_ERR_XCAT" to avoid warnings with certain compilers (like
2747        LCC).
2748
2749        * src/pshinter/pshalgo2.c (print_zone): Renamed to ...
2750        (psh2_print_zone): This to avoid errors during compilation of debug
2751        library.
2752
2753        * src/smooth/ftgrays.c (FT_COMPONENT): Change definition to as
2754        `trace_smooth'.
2755
27562002-02-20  David Turner  <david@freetype.org>
2757
2758        * README: Adding "devel@freetype.org" address for bug reports.
2759
27602002-02-20  Werner Lemberg  <wl@gnu.org>
2761
2762        * builds/unix/install.mk (check): New dummy target.
2763        (.PHONY): Add it.
2764
27652002-02-19  Werner Lemberg  <wl@gnu.org>
2766
2767        * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
2768
2769        * src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
2770        to avoid compiler warning.
2771        * src/cff/cffload.c (CFF_Get_String): Ditto.
2772        * src/cff/cffobjs.c (CFF_StrCopy): Ditto.
2773        * src/psaux/psobjs.c (PS_Table_Done): Ditto.
2774        * src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
2775        * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
2776        (pcf_get_bitmaps): The same for `sizebitmaps'.
2777        * src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for
2778        `orig_y'.
2779        (t1operator_seac): Comment out more dead code.
2780        * src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
2781        conditional.
2782        * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
2783        load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
2784        conditional.
2785
27862002-02-18  Werner Lemberg  <wl@gnu.org>
2787
2788        * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
2789        variables.
2790        * src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
2791        of UNUSED.
2792        * src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
2793        * src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
2794        swapping code.
2795        * src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
2796        * src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
2797        * src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
2798        * src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
2799        * include/freetype/internal/ftobjs.h (UNUSED): Removed.
2800
28012002-02-10  Roberto Alameda  <ojancano@geekmail.de>
2802
2803        Add support for ISOLatin1 PS encoding.
2804
2805        * include/freetype/freetype.h (ft_encoding_latin_1): New tag
2806        (`lat1').
2807        * include/freetype/internal/t1types.h (T1_Encoding_Type): Add
2808        `t1_encoding_isolatin1'.
2809        * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
2810        ft_encoding_latin_1.
2811        * src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
2812        * src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
2813
28142002-02-09  Werner Lemberg  <wl@gnu.org>
2815
2816        * README: Fix typo.
2817        * docs/CHANGES: Minor fixes.
2818
2819
2820        * Version 2.0.8 released.
2821        =========================
2822
2823
28242002-02-08  David Turner  <david@freetype.org>
2825
2826        * docs/CHANGES: Updating for 2.0.8.
2827
2828        * include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and
2829        removing `FT_Get_Next_Char' from the API (temporarily).
2830
2831        * include/freetype/freetype.h: Adding comments to FT_Get_Next_Char;
2832        note that this function might temporarily be removed for the 2.0.8
2833        release.
2834
28352002-02-07  David Turner  <david@freetype.org>
2836
2837        * src/pcf/pcfread.c (pcf_load_font): Removed immature support of
2838        the AVERAGE_WIDTH property.
2839
28402002-02-06  David Turner  <david@freetype.org>
2841
2842        * src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in
2843        PDF documents do not include 'cmap', 'post' and 'name' tables, the
2844        SFNT face loader has been changed to not immediately report an
2845        error if these are not present.
2846
2847        Note that the specification _requires_ these tables, but Adobe
2848        seems to ignore it completely.
2849
2850        * src/sfnt/ttcmap.c: Removing compiler warnings.
2851
2852        * src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt.
2853        (pcf_parse_metric, pcf_parse_compressed_metric): Removed.  Code
2854        is now in ...
2855        (pcf_get_metric): Here.
2856        (pcfSeekToType): Renamed to ...
2857        (pcf_seek_to_table_type): This.
2858        Use FT_Int.
2859        (pcfHasType): Renamed to ...
2860        (pcf_has_table_type): This.
2861        Use FT_Int.
2862        (find_property): Renamed to ...
2863        (pcf_find_property): This.
2864        Use FT_Int.
2865        (pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts
2866        better (delaying format checks out of FT_Access_Frame ..
2867        FT_Forget_Frame blocks to avoid leaving the stream in an incorrect
2868        state when encountering an invalid PCF font).
2869
2870        * src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ...
2871        (PCF_Face_Done): This.
2872        (PCF_Init_Face): Renamed to ...
2873        (PCF_Face_Init): This.
2874        (PCF_Get_Char_Index): Renamed to ...
2875        (PCF_Char_Get_Index): This.
2876        (PCF_Get_Next_Char): Renamed to ...
2877        (PCF_Char_Get_Next): This.
2878        (pcf_driver_class): Updated.
2879
2880        * src/pcf/pcf.h (PCF_Done_Face): Removed.
2881
28822002-02-06  Detlef Würkner  <TetiSoft@apg.lahn.de>
2883
2884        * src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak.
2885
2886        * src/pcf/pcfread.c (pcf_load_font): Now handles the "AVERAGE_WIDTH"
2887        property to return correct character pixel (width/height) pairs for
2888        embedded bitmaps.
2889
28902002-02-04  Keith Packard  <keithp@keithp.com>
2891
2892        Adding the function `FT_Get_Next_Char', doing the obvious thing
2893        w.r.t. the selected charmap.
2894
2895        * include/freetype/freetype.h: Add prototype.
2896        * include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
2897        typedef.
2898        (FT_Driver_Class): Use it.
2899        * include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
2900        typedef.
2901        (PSNames_Interface): Use it.
2902        * include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
2903        typedef.
2904        (TT_CMapTable): Use it.
2905
2906        * src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
2907        high-level API.
2908        * src/cff/cffdrivr.c (cff_get_next_char): New function.
2909        (cff_driver_class): Add it.
2910        * src/cid/cidriver.c (Cid_Get_Next_Char): New function.
2911        (t1cid_driver_class): Add it.
2912        * src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
2913        (pcf_driver_class): Add it.
2914        * src/psnames/psmodule.c (PS_Next_Unicode): New function.
2915        (psnames_interface): Add it.
2916        * src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
2917        code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
2918        functions.
2919        (TT_CharMap_Load): Use them.
2920        * src/truetype/ttdriver.c (Get_Next_Char): New function.
2921        (tt_driver_class): Add it.
2922        * src/type1/t1driver.c (Get_Next_Char): New function.
2923        (t1_driver_class): Add it.
2924        * src/winfnt/winfnt.c (FNT_Get_Next_Char): New function.
2925        (winfnt_driver_class): Add it.
2926
2927        * src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
2928        Unicode and Latin 1 encodings.
2929
29302002-02-02  Keith Packard  <keithp@keithp.com>
2931
2932        * builds/unix/freetype-config.in: Add missing `fi'.
2933
2934
2935        * Version 2.0.7 released.
2936        =========================
2937
2938
29392002-02-01  David Turner  <david@freetype.org>
2940
2941        * include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
2942        for the new release.
2943
29442002-01-31  David Turner  <david@freetype.org>
2945
2946        * README, README.UNX, docs/CHANGES: Updating documentation for the
2947        2.0.7 release.
2948
29492002-01-30  David Turner  <david@freetype.org>
2950
2951        * INSTALL: Moved to ...
2952        * docs/INSTALL: Here to avoid conflicts with the "install" script on
2953        Windows, where the filesystem doesn't preserve case.
2954
29552002-01-29  David Turner  <david@freetype.org>
2956
2957        * configure: Fixed the script.  It previously didn't accept more
2958        than one argument correctly.  For example, when typing:
2959
2960          ./configure --disable-shared --disable-nls
2961
2962        the "--disable-nls" was incorrectly sent to the "make" program.
2963
29642002-01-29  Werner Lemberg  <wl@gnu.org>
2965
2966        * README.UNX: Fix typo.
2967        * builds/unix/install.mk (uninstall): Fix library name for libtool.
2968
29692002-01-28  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
2970
2971        * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
2972        the face object (face->toc.tables, face->root.family_name,
2973        face->root.available_size, face->charset_encoding,
2974        face->charset_registry are now freed).  Thanks to Niels Moseley.
2975
29762002-01-28  Roberto Alameda  <ojancano@geekmail.de>
2977
2978        * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
2979
29802002-01-28  Werner Lemberg  <wl@gnu.org>
2981
2982        * src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
2983        of `base' string for decrypting to not modify the original data.
2984        Based on a patch by Jakub Bogusz <qboosh@pld.org.pl>.
2985
29862002-01-27  Giuliano Pochini  <pochini@shiny.it>
2987
2988        * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
2989        bad rendering of thin lines (less than one pixel thick).
2990
29912002-01-25  Werner Lemberg  <wl@gnu.org>
2992
2993        * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
2994        actually.
2995
29962002-01-25  Martin Zinser  <zinser@decus.de>
2997
2998        * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
2999        compilation warnings.
3000        * src/base/descrip.mms (OBJS): Add `ftmm.obj'.
3001        * src/cache/descrip.mms (ftcache.obj): Dependencies added.
3002
30032002-01-25  WANG Yi  <wangyi@founder.com.cn>
3004
3005        * src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
3006
30072002-01-21  Antoine Leca  <Antoine-Freetype@Leca-Marti.org>
3008
3009        * docs/PATENTS: Typo fixed (thanks to Detlef "Hawkeye" Würkner) in
3010        the URL for the online resource.
3011
30122002-01-18  Ian Brown  <ian.brown@printsoft.de>
3013
3014        * builds/win32/ftdebug.c: New file.
3015        * builds/win32/visualc/freetype.dsp: Updated.
3016
30172002-01-18  Detlef Würkner  <TetiSoft@apg.lahn.de>
3018
3019        * builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
3020        * builds/amiga/README: Updated.
3021
30222002-01-18  Ian Brown  <ian.brown@printsoft.de>
3023
3024        * builds/win32/visualc/freetype.dsp: Updated.
3025
30262002-01-13  Werner Lemberg  <wl@gnu.org>
3027
3028        * builds/unix/freetype2.a4: The script was still buggy.
3029        * builds/unix/freetype-config.in: Make it really work for any install
3030        prefix.
3031
30322002-01-10  Werner Lemberg  <wl@gnu.org>
3033
3034        * builds/unix/freetype2.a4: Fix some serious bugs.
3035
30362002-01-09  David Turner  <david@freetype.org>
3037
3038        * builds/unix/configure.ac: Build top-level Jamfile.
3039
30402002-01-09  Maxim Shemanarev  <mcseemagg@yahoo.com>
3041
3042        * src/smooth/ftgrays.c (gray_render_line): Small optimization to
3043        the smooth anti-aliased renderer that deals with vertical segments.
3044        This results in a 5-7% speedup in rendering speed.
3045
30462002-01-08  David Turner  <david@freetype.org>
3047
3048        Added some wrapper scripts to make the installation more
3049        Unix-friendly.
3050
3051        * configure, install: New files.
3052
3053        * INSTALL, README.UNX: Updated installation documentation to use the
3054        new 'configure' and 'install' scripts.
3055
30562002-01-07  David Turner  <david@freetype.org>
3057
3058
3059        * Version 2.0.6 released.
3060        =========================
3061
3062
3063        * docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release.
3064
3065        * src/tools/docmaker.py: Fixed HTML quoting in sources.
3066        (html_format): Replaced with ...
3067        (html_quote): New function.
3068        (html_quote0): New function.
3069        (DocCode::dump_html: Small improvement.
3070        (DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote.
3071
3072        * include/freetype/config/ftoption.h: Setting default options for
3073        a release build (debugging off, bytecode interpreter off).
3074
3075        * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
3076        src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
3077        src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler
3078        warnings (in pedantic compilation modes).
3079
30802002-01-05  David Turner  <david@freetype.org>
3081
3082        * src/autohint/ahhint.c (ah_align_linked_edge): Modified computation
3083        of auto-hinted stem widths; this avoids color fringes in
3084        "ClearType-like" rendering.
3085
3086        * src/truetype/ttgload.c (TT_Load_Glyph_Header,
3087        TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph):
3088        Modified the TrueType loader to make it more paranoid; this avoids
3089        nasty buffer overflows in the case of invalid glyph data (as
3090        encountered in the output of some buggy font converters).
3091
30922002-01-04  David Turner  <david@freetype.org>
3093
3094        * README.UNX: Added special README file for Unix users.
3095
3096        * builds/unix/ftsystem.c (FT_New_Stream): Fixed typo.
3097
3098        * src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid
3099        of compiler warnings.
3100
3101        * src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning.
3102
31032002-01-03  Werner Lemberg  <wl@gnu.org>
3104
3105        * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
3106        warning.
3107
31082002-01-03  Keith Packard  <keithp@keithp.com>
3109
3110        * builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that
3111        all FreeType input streams are closed in child processes of a "fork"
3112        on Unix systems.  This is important to avoid (potential) access
3113        control issues.
3114
31152002-01-03  David Turner  <david@freetype.org>
3116
3117        * src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the
3118        library when dealing with certain weird fonts like "Stalingrad", in
3119        "sadn.pfb" (this font has no full font name entry).
3120
3121        * src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check):
3122        New function to check the consistency of outline data.
3123
3124        * src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to
3125        ensure that loaded glyphs are valid.  This allows certain fonts like
3126        "tt1095m_.ttf" to be loaded even though it appears they contain
3127        really funky glyphs.
3128
3129        There still is a bug there, though.
3130
3131        * src/truetype/ttgload.c (load_truetype_glyph): Fix error condition.
3132
31332001-12-30  David Turner  <david@freetype.org>
3134
3135        * src/autohint/ahhint.c (ah_hinter_load): Fix advance width
3136        computation of auto-hinted glyphs.  This noticeably improves the
3137        spacing of letters in KDE and Gnome.
3138
31392001-12-25  Antoine Leca <Antoine-Freetype@Leca-Marti.org>
3140
3141        * builds/dos/detect.mk: Correcting the order for Borland compilers:
3142        16-bit bcc was never selected, always overridden by 32-bit bcc32.
3143
31442001-12-22  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
3145
3146        * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
3147        and fix incorrect computation of `available_sizes'.
3148
31492001-12-22  David Turner  <david@freetype.org>
3150
3151        * src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an
3152        incorrect glyph advance in the case of mono-width fonts (like
3153        Courier, Andale Mono, and others).
3154
31552001-12-22  Detlef Würkner  <TetiSoft@apg.lahn.de>
3156
3157        * builds/amiga/*: Adaptations to latest changes.
3158        Support added for MorphOS.
3159
31602001-12-22  Werner Lemberg  <wl@gnu.org>
3161
3162        * src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
3163        (ps_mask_table_merge, ps_hints_open, ps_hints_stem,
3164        ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
3165        FT_ERROR messages.
3166        * src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
3167        `trace_pshalgo1'.
3168        * src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
3169        `trace_pshalgo2'.
3170        * include/freetype/internal/ftdebug.h (FT_Trace): Updated.
3171
3172        * docs/modules.txt: New file.
3173
31742001-12-21  David Turner  <david@freetype.org>
3175
3176        * src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter):
3177        Ignore invalid "hintmask" and "cntrmask" operators (instead of
3178        returning an error).  Glyph 2028 of the CFF font "MSung-Light-Acro"
3179        couldn't be rendered otherwise (it seems its charstring is buggy,
3180        though this requires more analysis).
3181        (FT_COMPONENT): Define.
3182
3183        * src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c
3184        (T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a
3185        bug where the X and Y axis where inversed in the postscript hinter.
3186        This caused problem when displaying on non-square surfaces.
3187
3188        * src/pshinter/pshalgo2.c: s/vertical/dimension/.
3189
3190        * src/pshinter/pshglob.c (psh_globals_new): Replaced a floating
3191        point constant with a fixed-float equivalent.  For some reasons not
3192        all compilers are capable of directly computing a floating pointer
3193        constant casted to FT_Fixed, and will link a math library instead.
3194
31952001-12-20  Werner Lemberg  <wl@gnu.org>
3196
3197        * src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
3198        tracing strings.
3199        * src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
3200        * src/cache/ftcmanag.c (ftc_family_table_alloc,
3201        ftc_family_table_free, FTC_Manager_Check): Ditto.
3202        * src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
3203
3204        * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
3205
32062001-12-20  David Turner  <david@freetype.org>
3207
3208        Added PostScript hinter support to the CFF and CID drivers.
3209
3210        * include/freetype/internal/cfftypes.h (CFF_Font): New member
3211        `pshinter'.
3212        * src/cff/cffload.c (CFF_Get_Standard_Encoding): New function.
3213        * src/cff/cffload.h: Updated.
3214        * src/cff/cffgload.c (CFF_Init_Builder): Renamed to ...
3215        (CFF_Builder_Init): This.
3216        Added new argument `hinting'.
3217        (CFF_Done_Builder): Renamed to ...
3218        (CFF_Builder_Done): This.
3219        (CFF_Init_Decoder): Added new argument `hinting'.
3220        (CFF_Parse_CharStrings): Implement vstem support.
3221        (CFF_Load_Glyph): Updated.
3222        Add hinting support.
3223        (cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding().
3224        (cff_argument_counts): Updated.
3225        * src/cff/cffgload.h: Updated.
3226        * src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
3227        (CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init,
3228        CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GLyphSlot_Init): New
3229        functions.
3230        (CFF_Init_Face): Renamed to ...
3231        (CFF_Face_Init): This.
3232        Add hinter support.
3233        (CFF_Done_Face): Renamed to ...
3234        (CFF_Face_Done): This.
3235        (CFF_Init_Driver): Renamed to ...
3236        (CFF_Driver_Init): This.
3237        (CFF_Done_Driver): Renamed to ...
3238        (CFF_Driver_Done): This.
3239        * src/cff/cffobjs.h: Updated.
3240        * src/cff/cffdrivr.c (cff_driver_class): Updated.
3241
3242        * include/freetype/internal/t1types.h (CID_FaceRec): New member
3243        `pshinter'.
3244        * src/cid/cidgload.c (CID_Load_Glyph): Add hinter support.
3245        * src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
3246        (CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs,
3247        CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions.
3248        (CID_Done_Face): Renamed to ...
3249        (CID_Face_Done): This.
3250        (CID_Init_Face): Renamed to ...
3251        (CID_Face_Init): This.
3252        Add hinting support.
3253        (CID_Init_Driver): Renamed to ...
3254        (CID_Driver_Init): This.
3255        (CID_Done_Driver): Renamed to ...
3256        (CID_Driver_Done): This.
3257        * src/cid/cidobjs.h: Updated.
3258        * src/cidriver.c: Updated.
3259
3260        * src/pshinter/pshrec.c (t2_hint_stems): Fixed.
3261
3262        * src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that
3263        crashed the library on exit.
3264
3265        * src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix
3266        transformation of hinted glyphs.
3267
3268        * src/cid/cidload.c (cid_read_subrs): Fix error condition.
3269
3270        * src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs
3271        routines were never released when CID faces were destroyed.
3272
3273        * src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated
3274        to move the definition of encoding tables back within "cffload.c"
3275        instead of making them part of a shared header (causing problems in
3276        "multi" builds).  This reverts change 2001-08-08.
3277
3278        * docs/CHANGES: Updated for 2.0.6 release.
3279        * docs/TODO: Added "stem3 and counter hints support" to the TODO
3280        list for the Postscript hinter.
3281        * docs/BUGS: Closed the AUTOHINT-NO-SBITS bug.
3282
32832001-12-19  David Turner  <david@freetype.org>
3284
3285        * include/freetype/cache/ftcache.h: Added comments to indicate that
3286        some of the exported functions should only be used by applications
3287        that need to implement custom cache types.
3288
3289        * src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug
3290        that prevented composites from loading correctly, due to missing
3291        parentheses around macro parameters.
3292
3293        * src/sfnt/sfobjs.c (SFNT_Load_Face): Make the "post" and "name"
3294        tables optional to load PCL fonts properly.
3295
3296        * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
3297        (FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY):
3298        "Fixed" the bug that prevented embedded bitmaps to be loaded when
3299        the auto-hinter is used.  This actually is a hack but will be enough
3300        until the internal re-design scheduled for FreeType 2.1.
3301
3302        * src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline
3303        shifting bug in the monochrome renderer.
3304
3305        * README: Updated version numbers to 2.0.6.
3306
33072001-12-17  Werner Lemberg  <wl@gnu.org>
3308
3309        * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
3310        glyph header.
3311
33122001-12-15  Werner Lemberg  <wl@gnu.org>
3313
3314        * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning.
3315        * include/freetype/ftcache.h (FTC_Node_Unref): Removed.  It is
3316        already in ftcmanag.h.
3317        * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
3318        `gfam'.
3319        * src/cache/ftcmanag.c (ftc_family_table_alloc,
3320        * ftc_family_table_free): Use FT_EXPORT_DEF.
3321        * include/freetype/cache/ftcmanag.h: Updated.
3322        * src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
3323        * src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
3324        `cfam'.
3325        Remove compiler warning.
3326        (FTC_CMapCache_Lookup): Remove compiler warnings.
3327        (ftc_cmap_family_init): Ditto.
3328        (FTC_CMapCache_Lookup): Ditto.
3329
3330        * builds/unix/configure.ac: Increase `version_info' to 8:0:2.
3331        * builds/unix/configure: Regenerated.
3332
33332001-12-14  Werner Lemberg  <wl@gnu.org>
3334
3335        * builds/mac/README: Updated.
3336
33372001-12-14  Scott Long  <scott@swiftview.com>
3338
3339        * src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
3340        dealing with invalid fonts (i.e. glyph size < 10 bytes).
3341
33422001-12-14  Sam Latinga <slouken@devolution.com>
3343
3344        * builds/mac/freetype.make: A new Makefile to build with MPW on
3345        MacOS classic.
3346
33472001-12-14  David Turner  <david@freetype.org>
3348
3349        * src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
3350        (T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph),
3351        src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to
3352        all font drivers (the advance width was never hinted when it
3353        should).
3354
3355        * include/freetype/freetype.h (FREETYPE_PATCH): New macro.
3356        * src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't
3357        use `extern' keyword.
3358
33592001-12-12  David Turner  <david@freetype.org>
3360
3361        * src/pshint/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem
3362        psh_globals_new): Adding correct BlueScale/BlueShift support, plus
3363        family blues processing.
3364        * src/pshint/pshglob.h (PSH_BluesRec): Updated.
3365
3366        Started adding support for the Postscript hinter in the CFF module.
3367
3368        * src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
3369        (CFF_Parse_CharStrings): Implement it.
3370        * src/cff/cffgload.h: Updated.
3371
33722001-12-12  Werner Lemberg  <wl@gnu.org>
3373
3374        * builds/unix/freetype2.m4: Some portability fixes.
3375
33762001-12-11  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>
3377
3378        * src/base/descrip.mms (OBJS): Add ftdebug.obj.
3379
33802001-12-11  Werner Lemberg  <wl@gnu.org>
3381
3382        * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
3383
33842001-12-11  David Turner  <david@freetype.org>
3385
3386        * builds/unix/freetype-config.in: Modified the script to prevent
3387        passing "-L/usr/lib" to gcc.
3388
3389        * docs/FTL.TXT: Simple fix (change "LICENSE.TXT" to "FTL.TXT").
3390
3391        * builds/unix/freetype2.m4: New file for checking configure paths.
3392        We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I
3393        didn't modify builds/unix/install.mk yet.
3394
3395        * INSTALL: Updated the instructions to build shared libraries with
3396        Jam.  They were simply wrong.
3397
3398        * src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused
3399        slightly improper results for `FT_Cos' and `FT_Sin' (example:
3400        FT_Sin(0) == -1!).
3401
34022001-12-11  Detlef Würkner  <TetiSoft@apg.lahn.de>
3403
3404        * include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
3405        Fixed incorrect argument types.
3406
34072001-12-10  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
3408
3409        * src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts
3410        by setting the "face->metrics.max_advance" correctly.
3411
34122001-12-07  David Turner  <david@freetype.org>
3413
3414        * include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new
3415        charmap cache.
3416        * src/cache/ftcache.c: Updated.
3417
3418        * src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/.
3419
34202001-12-06  Leonard Rosenthol  <leonardr@lazerware.com>
3421
3422        Added support for reading .dfont files on Mac OS X.  Also added a
3423        new routine which looks up a given font by name in the Mac OS and
3424        returns the disk file where it resides.
3425
3426        * src/base/ftmac.c: Include <Files.h> and <TextUtils.h>.
3427        (is_dfont): New auxiliary function.
3428        (FT_New_Face_From_dfont): New function.
3429        (FT_GetFile_From_Mac_Name): New exported function.
3430        (FT_New_Face): Updated.
3431        * include/freetype/ftmac.h: Updated.
3432
34332001-12-06  David Turner  <david@freetype.org>
3434
3435        * src/cache/Jamfile, src/cache/rules.mk: Updated.
3436
34372001-12-06  Werner Lemberg  <wl@gnu.org>
3438
3439        * INSTALL: Small update.
3440
34412001-12-05  David Turner  <david@freetype.org>
3442
3443        * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for
3444        debugging purposes.
3445        Comment out use of `origin'.
3446
3447        * src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug
3448        where outline shifting wasn't correctly undone after bitmap
3449        rasterization.  This created problems with certain glyphs (like '"'
3450        of certain fonts) and the cache system.
3451
3452        * src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo.
3453        * src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo.
3454        (ps2_hints_apply): Small fix.
3455
34562001-12-05  David Turner  <david@freetype.org>
3457
3458        * src/pshinter/pshalgo2.c (psh2_hint_table_init),
3459        src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler
3460        warnings.
3461
3462        * include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*:
3463        Yet another massive rewrite of the caching sub-system in order to
3464        both increase performance and allow simpler cache sub-classing.  As
3465        an example, the code for the image and sbit caches is now much
3466        simpler.
3467
3468        I still need to update the documentation in
3469        www/freetype2/docs/cache.html to reflect the new design though.
3470
3471        * include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New
3472        macro.
3473        (FT_CACHE_INTERNAL_CACHE_H): Updated.
3474
34752001-12-05  David Krause  <freetype@davidkrause.com>
3476
3477        * docs/license.txt: s/X Windows/X Window System/.
3478
34792001-12-04  Werner Lemberg  <wl@gnu.org>
3480
3481        * src/raster/ftraster.c: Fix definition condition of MEM_Set().
3482        * src/smooth/ftgrays.c (M_Y): Change value to 192.
3483        * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
3484        Remove unused variable.
3485        * src/cache/ftcimage.c (ftc_image_node_init,
3486        ftc_image_node_compare): Remove unused variables.
3487        * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
3488        variable.
3489        * src/raster/ftraster.c (MEM_Set): Move definition down to avoid
3490        compiler warning.
3491        * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
3492        avoid compiler warnings.
3493        * src/pcf/pcfread.c (tableNames): Use `const'.
3494        (pcf_read_TOC): Change counter name to avoid compiler warning.
3495        Use `const'.
3496        * src/pshinter/pshrec.c (ps_hints_close): Remove redundant
3497        declaration.
3498        * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
3499        to avoid shadowing.
3500        * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
3501        * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
3502        and `T1_Size_Done()'.
3503
35042001-11-20  Antoine Leca  <antoineleca@multimania.com>
3505
3506        * include/freetype/ttnameid.h: Added some new Microsoft language
3507        codes and LCIDs as found in MSDN (Passport SDK).  Also added
3508        comments about the meaning of bit 57 of the `OS/2' table
3509        (TT_UCR_SURROGATES) which (with OpenType v.1.3) now means "there is
3510        a character beyond 0xFFFF in this font".  Thanks to Detlef Würkner
3511        <TetiSoft@apg.lahn.de> for noticing this.
3512
35132001-11-20  David Turner  <david@freetype.org>
3514
3515        * src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting
3516        routine that created nasty alignment artefacts.
3517
3518        * src/pshinter/pshrec.c, tests/gview.c: Debugging updates.
3519
3520        * src/smooth/ftgrays.c: De-activated experimental gamma support.
3521        Apparently, `optimal' gamma tables depend on the monitor type,
3522        resolution and general karma, so it's better to compute them outside
3523        of the rasterizer itself.
3524        (gray_convert_glyph): Use `volatile' keyword.
3525
35262001-10-29  David Turner  <david@freetype.org>
3527
3528        Adding experimental `gamma' support.  This produces smoother glyphs
3529        at small sizes for very little cost.
3530
3531        * src/smooth/ftgrays.c (grays_init_gamma): New function.
3532        (gray_raster_new): Use it.
3533
3534        Various fixes to the auto-hinter.  They merely improve the output of
3535        sans-serif fonts.  Note that there are still problems with serifed
3536        fonts and composites (accented characters).
3537
3538        * src/autohint/ahglyph.c (ah_outline_load,
3539        ah_outline_link_segments): Implement it.
3540        Fix typos.
3541        (ah_outline_save, ah_outline_compute_segments): Fix typos.
3542        * src/autohint/ahhint.c (ah_align_serif_edge): New argument
3543        `vertical'.  Implement improvement.
3544        (ah_hint_edges_3, ah_hinter_hint_edges): Implement it.
3545        Fix typos.
3546        (ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix
3547        typos.
3548        (ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined.
3549        * src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro.
3550        * src/autohint/ahtypes.h: Ditto.
3551        (AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges'
3552        (making them global as `ah_debug_disable_horz' and
3553        `ah_debug_disable_vert').
3554        Fix typos.
3555
3556        * tests/gview.c: Updated the debugging glyph viewer to show the
3557        hints generated by the "autohint" module.
3558
35592001-10-27  David Turner  <david@freetype.org>
3560
3561        * src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that
3562        considerably lowered the performance of the abstract chunk cache.
3563
35642001-10-26  David Turner  <david@freetype.org>
3565
3566        * include/freetype/ftcache.h, include/freetype/cache/*.h,
3567        src/cache/*.c: Major re-design of the cache sub-system to provide
3568        better performance as well as an "Acquire"/"Release" API.  Seems to
3569        work well here, but probably needs a bit more testing.
3570
35712001-10-26  Leonard Rosenthol  <leonardr@lazerware.com>
3572
3573        * builds/mac/README: Updated to reflect my taking over the project
3574        and that is now being actively maintained.
3575
3576        * src/base/ftmac.c (parse_fond): Applied patches from Paul Miller
3577        <paulm@profoundeffects.com> to support loading a face other than the
3578        first from a FOND resource.
3579        (FT_New_Face_From_FOND): Updated.
3580
35812001-10-25  Leonard Rosenthol  <leonardr@lazerware.com>
3582
3583        * builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac
3584        OS for latest version (7) of CWPro and for recent changes to the FT
3585        source tree.
3586
35872001-10-25  David Turner  <david@freetype.org>
3588
3589        * include/freetype/config/ftoption.h: Updated comments to explain
3590        precisely how to use project-specific macro definitions without
3591        modifying this file manually.
3592
3593        (FT_CONFIG_FORCE_INT64): Define.
3594
3595        (FT_DEBUG_MEMORY): New macro.
3596
35972001-10-24  Tom Kacvinsky  <tkacvins@freetype.org>
3598
3599        * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
3600
36012001-10-23  David Turner  <david@freetype.org>
3602
3603        * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
3604        Improvements to the memory debugger to report more information in
3605        case of errors.  Also, some allocations that occured through REALLOC
3606        couldn't be previously catched correctly.
3607
3608        * src/autohint/ahglyph.c (ah_outline_compute_segments,
3609        ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new),
3610        src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced
3611        liberal uses of memset() by the MEM_Set() macro.
3612
36132001-10-23  David Turner  <david@freetype.org>
3614
3615        * src/raster/ftraster.c (Update): Removed to be inlined in ...
3616        (Sort): Updated.
3617
36182001-10-22  David Turner  <david@freetype.org>
3619
3620        * builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory),
3621        builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory),
3622        builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory),
3623        src/base/ftdbgmem.c: Updated the memory debugger and
3624        platform-specific implementations of `ftsystem' in order to be able
3625        to debug memory allocations on Unix, VMS and Amiga too!
3626
3627        * src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed
3628        some bogus warnings.
3629
3630        * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
3631        Modified the debugging memory manager to report the location (source
3632        file name + line number) where leaked memory blocks are allocated in
3633        the source file.
3634
3635        * src/base/ftdbgmem.c: New debugging memory manager.  You must
3636        define the FT_DEBUG_MEMORY macro in "ftoption.h" to enable it.  It
3637        will record every memory block allocated and report simple errors
3638        like memory leaks and double deletes.
3639
3640        * src/base/Jamfile: Include ftdbgmem.
3641        * src/base/rules.mk: Ditto.
3642        * src/base/ftbase.c: Include ftdbgmem.c.
3643
3644        * include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY
3645        macro definition.
3646
3647        * src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the
3648        base component to use the debugging memory manager when the macro
3649        FT_DEBUG_MEMORY is defined.
3650
36512001-10-21  Tom Kacvinsky  <tkacvins@freetype.org>
3652
3653        * src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
3654        we are working with a CID keyed CFF font.  Otherwise, a variable
3655        that was never allocated memory might freed.  This is a correction
3656        to the previous patch for freeing subfonts.
3657
36582001-10-21  Tom Kacvinsky  <tkacvins@freetype.org>
3659
3660        * src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
3661        avoid a memory leak.
3662
36632001-10-21  David Turner  <david@freetype.org>
3664
3665        * src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c,
3666        src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes
3667        (in multi-object compilation mode, mainly).
3668
36692001-10-20  Tom Kacvinsky  <tkacvins@freetype.org>
3670
3671        * src/type1/t1load.c (parse_encoding): Add a test to make sure
3672        that custom encodings (i.e., neither StandardEncoding nor
3673        ExpertEncoding) are not loaded twice when the Type 1 font is
3674        synthetic.
3675
3676        * src/type1/t1load.c (parse_font_name, parse_subrs): Added a test
3677        for when loading synthetic fonts to make sure that the font name
3678        and subrotuines are not loaded twice.  This is to remove a memory
3679        leak that occured because the original memory blocks for these
3680        objects were not deallocated when the objects were parsed the
3681        second time.
3682
36832001-10-19  David Turner  <david@freetype.org>
3684
3685        * src/smooth/ftgrays.c, src/pshinter/pshglob.h,
3686        src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of
3687        compiler warnings.
3688
3689        * src/pshinter/module.mk, src/pshinter/rules.mk: Adding control
3690        files to build the PostScript hinter with the "old" build system.
3691
36922001-10-19  Jacob Jansen  <joukj@hrem.stm.tudelft.nl>
3693
3694        * descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build
3695        files.
3696
36972001-10-18  David Turner  <david@freetype.org>
3698
3699        * src/psnames/pstables.h, src/tools/glnames.py: Rewrote the
3700        "glnames.py" script used to generate the "pstables.h" header file.
3701        The old one contained a serious bug that made FreeType return
3702        incorrect glyph names for certain glyphs.
3703
3704        * src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of
3705        pixel size from character size to use rounding.  This is an
3706        experiment to see whether this gives values similar to Windows for
3707        scaled ascent/descent/etc.
3708
3709        * src/base/ftcalc.c (FT_Div64by32): Changed the implementation
3710        slightly since the original code was mis-compiled on Mac machines
3711        using the MPW C compiler.
3712
3713        * src/base/ftobjs.c (FT_Realloc): When a memory block was grown
3714        through FT_Realloc(), the new bytes were not set to 0, which created
3715        some strange bugs in the PostScript hinter.
3716        (destroy_face): Don't deallocate unconditionally.
3717
3718        * src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph):
3719        Adding support to new PostScript hinter.
3720
3721        * include/freetype/internal/psglobal.h,
3722        include/freetype/internal/pshints.h,
3723        include/freetype/config/ftmodule.h, src/pshinter/Jamfile,
3724        src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h,
3725        src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h,
3726        src/pshinter/pshalgo2.c, src/pshinter/pshglob.h,
3727        src/pshinter/pshglob.c, src/pshinter/pshinter.c,
3728        src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c,
3729        src/pshinter/pshrec.h: Adding new PostScript hinter module.
3730
3731        * include/freetype/internal/ftobjs.h,
3732        include/freetype/internal/internal.h,
3733        include/freetype/internal/psaux.h,
3734        include/freetype/internal/t1types.h, src/psaux/psobjs.c,
3735        src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c,
3736        src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c,
3737        src/type1/t1objs.h: Updates to use the new PostScript hinter.
3738
3739        * tests/Jamfile, tests/gview.c: Adding a new glyph hinting
3740        viewer/debugger to the source tree.  Note that you will _not_ be
3741        able to compile it since it depends on an unavailable graphics
3742        library named "Nirvana" to render vector images.
3743
37442001-10-17  David Turner  <david@freetype.org>
3745
3746
3747        * Version 2.0.5 released.
3748        =========================
3749
3750
3751        * include/freetype/freetype.h, include/internal/ftobjs.h,
3752        src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named
3753        'FT_Get_Postscript_Name' to retrieve the PostScript name of a given
3754        font.  Should work with all formats except pure CFF/CEF fonts (this
3755        will be added soon).
3756
3757        * src/cid/cidriver (cid_get_postscript_name): New function.
3758        (CID_Get_Interface): Handle `postscript_name' interface.
3759
3760        * src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function.
3761        (SFNT_Get_Interface): Handle `postscript_name' interface.
3762
3763        * src/type1/t1driver.c (t1_get_ps_name): New function.
3764        (Get_Interface): Handle `postscript_name' interface.
3765
3766        * README, docs/CHANGES: Updated for 2.0.5 release.
3767
37682001-10-08  David Turner  <david@freetype.org>
3769
3770        Fixed a bug in `glnames.py' that prevented it from generating
3771        correct glyph names tables.  This resulted in the unavailability of
3772        certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
3773        charmaps, even if these were present in the font (causing problems
3774        for Polish users).
3775
3776        * src/tools/glnames.py (mac_standard_names): Fixed.
3777        (t1_standard_strings): Some fixes and renamed to ...
3778        (sid_standard_names): This.
3779        (t1_expert_encoding): Fixed.
3780        (the_adobe_glyph_list): Renamed to ...
3781        (adobe_glyph_names): This.
3782        (the_adobe_glyphs): Renamed to ...
3783        (adobe_glyph_values): This.
3784        (dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
3785        Updated.
3786        * src/psnames/pstables.h: Regenerated.
3787        * src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
3788        Fix return value.
3789        Use `sid_standard_table' and `ps_names_to_unicode' instead of
3790        `t1_standard_glyphs' and `names_to_unicode'.
3791        (PS_Macintosh_Name): Use `ps_glyph_names' instead of
3792        `standard_glyph_names'.
3793        (PS_Standard_Strings): Use `sid_standard_names' instead of
3794        `t1_standard_glyphs'.
3795
3796        * doc/BUGS, doc/TODO: New documents.
3797
37982001-10-07  Richard Barber  <rich@solutionuk.com>
3799
3800        * src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
3801        correct LRU behaviour.
3802
38032001-10-07  David Turner  <david@freetype.org>
3804
3805        setjmp() and longjmp() are now used for rollback (i.e. when memory
3806        pool overflow occurs).
3807
3808        Function names are now all uniformly prefixed with `gray_'.
3809
3810        * src/smooth/ftgrays.c: Include <setjmp.h>.
3811        (ErrRaster_MemoryOverflow): New macro.
3812        (TArea): New type to store area values in each cell (using `int' was
3813        too small on 16-bit systems).  <limits.h> is included to properly
3814        get the needed data type.
3815        (TCell, TRaster): Use it.
3816        (TRaster): New element `jump_buffer'.
3817        (gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
3818        `outline' from it.
3819        (gray_record_cell): Use longjmp().
3820        (gray_set_cell): Use gray_record_cell() for error handling.
3821        (gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
3822        (gray_convert_glyph_inner): New function, using setjmp().
3823        (gray_convert_glyph): Use it.
3824
38252001-10-07  David Turner  <david@freetype.org>
3826
3827        Provide a public API to manage multiple size objects for a given
3828        FT_Face in the new header file `ftsizes.h'.
3829
3830        * include/freetype/ftsizes.h: New header file,
3831        * include/freetype/internal/ftobjs.h: Use it.
3832        Remove declarations of FT_New_Size and FT_Done_Size (moved to
3833        ftsizes.h).
3834        * include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
3835        * src/base/ftobjs.c (FT_Activate_Size): New function.
3836        * src/cache/ftcmanag.c: Include ftsizes.h.
3837        (ftc_manager_init_size, ftc_manager_flush_size): Use
3838        FT_Activate_Size.
3839
38402001-09-20  Detlef Würkner  <TetiSoft@apg.lahn.de>
3841
3842        * builds/amiga/*: Added port to Amiga with the SAS/C compiler.
3843
38442001-09-15  Detlef Würkner  <TetiSoft@apg.lahn.de>
3845
3846        * src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
3847
38482001-09-10  Yao Zhang  <yzhang@sharemedia.com>
3849
3850        * src/sfnt/ttcmap.c (code_to_index2): Handle code values with
3851        hi-byte == 0 correctly.
3852
38532001-09-10  Werner Lemberg  <wl@gnu.org>
3854
3855        * builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
3856
38572001-08-30  Martin Muskens  <mmuskens@aurelon.com>
3858
3859        * src/type1/t1load.c (parse_font_matrix): A new way to compute the
3860        units per EM with greater accuracy (important for embedded T1 fonts
3861        in PDF documents that were automatically generated from TrueType
3862        ones).
3863
3864        * src/type1/t1load.c (is_alpha): Now supports "+" in font names;
3865        this is used in embedded fonts.
3866
3867        * src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that
3868        generated a dangling pointer reference.
3869
38702001-08-30  Anthony Feik  <afeick@hotmail.com>
3871
3872        * src/type1/t1afm.c (T1_Read_Afm): Now correctly sets the flag
3873        FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files.
3874
38752001-08-25  Werner Lemberg  <wl@gnu.org>
3876
3877        * src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of
3878        `cmap_rec_fields'.
3879
3880        * include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]:
3881        Undefine FT_ERR_BASE before defining again.
3882
38832001-08-22  Werner Lemberg  <wl@gnu.org>
3884
3885        * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
3886
38872001-08-21  Werner Lemberg  <wl@gnu.org>
3888
3889        * builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
3890
38912001-08-21  David Turner  <david@freetype.org>
3892
3893        * include/freetype/config/ftoption.h: Changed the default setting
3894        for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks
3895        source compatibility in a few cases.  Updated the comment to explain
3896        that too.
3897
38982001-08-17  Martin Muskens  <mmuskens@aurelon.com>
3899
3900        * src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
3901
39022001-08-12  Werner Lemberg  <wl@gnu.org>
3903
3904        Updating to OpenType 1.3.
3905
3906        * include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4,
3907        TT_CMap6): Adding field `language'.
3908        (TT_CMapTable): Removing field `language'.
3909        Type of `length' field changed to FT_ULong.
3910        Adding fields for cmaps format 8, 10, and 12.
3911        (TT_CMapGroup): New auxiliary structure.
3912        (TT_CMap8_12, TT_CMap10): New structures.
3913        * include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader):
3914        Removed last element of `Reserved' array.
3915        * include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4,
3916        TT_NAME_ID_CID_FINDFONT_NAME): New macros.
3917
3918        * src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language'
3919        field to the new structures.
3920        Fixed freeing of arrays in case of unsuccessful loads.
3921        Added support for loading format 8, 10, and 12 cmaps.
3922        (TT_CharMap_Free): Added support for freeing format 8, 10, and 12
3923        cmaps.
3924        (code_to_index4): Small improvement.
3925        (code_to_index6): Ditto.
3926        (code_to_index8_12, code_to_index10): New functions.
3927        * src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new
3928        structure.
3929        (TT_Load_CMap): Ditto.
3930
3931        * src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
3932        Unicode).
3933
39342001-08-11  Werner Lemberg  <wl@gnu.org>
3935
3936        * src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
3937
39382001-08-09  Tom Kacvinsky  <tkacvins@freetype.org>
3939
3940        * src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to
3941        cff_get_glyph_name for consistency.
3942
3943        (cff_get_glyph_index): Minor documentation change.
3944
3945        * src/type1/t1driver.c (t1_get_name_index): New function used in
3946        Get_Interface as the function returned when the "name_index"
3947        function is requested.
3948
3949        (get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency.
3950
39512001-08-08  Tom Kacvinsky  <tkacvins@freetype.org>
3952
3953        * src/cff/cffload.c: Removed definitions of cff_isoadobe_charset,
3954        cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
3955        and cff_expert_encoding arrays to cffload.h.
3956
3957        * src/cff/cffload.h: Added definitions of cff_isoadobe_charset,
3958        cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
3959        and cff_expert_encoding arrays.
3960
3961        * src/cff/cffdrivr.c (cff_get_name_index): New function, returned
3962        when `cff_get_interface' is called with a request for the
3963        "name_index" function.
3964
3965        (cff_get_interface): Modified so that it returns the function
3966        `cff_get_name_index' when the "name_index" function is requested.
3967
3968        * src/base/ftobjs.c (FT_Get_Name_Index): New function, used to
3969        return a glyph index for a given glyph name only if the driver
3970        supports glyph names.
3971
3972        * include/freetype/internal/ftobjs.h (FT_Name_Index_Requester):
3973        New function pointer type defintion used in the function
3974        FT_Get_Name_Index.
3975
3976        * include/freetype/freetype.h (FT_Get_Name_Index): Added
3977        documentation and prototype.
3978
39792001-07-26  Werner Lemberg  <wl@gnu.org>
3980
3981        * builds/cygwin/*: Removed.  Use the unix stuff instead.
3982
39832001-07-26  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>
3984
3985        * builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
3986        2001-06-27.
3987
39882001-07-17  Werner Lemberg  <wl@gnu.org>
3989
3990        * include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
3991        `cursor' and `capacity'.
3992        * src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second
3993        parameter.
3994        (PS_Table_Add): Use FT_Offset for `new_size'.
3995
3996        Add support for version 0.5 maxp tables.
3997
3998        * src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it.
3999        (TT_Load_OS2): Initialize some values.
4000
40012001-07-13  Werner Lemberg  <wl@gnu.org>
4002
4003        * src/base/ftsynth.c: Include ftcalc.h unconditionally.
4004
40052001-07-07  David Turner  <david@freetype.org>
4006
4007        * src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread:
4008        Removed pedantic compiler warnings when the bytecode interpreter is
4009        compiled in.
4010
40112001-07-03  Werner Lemberg  <wl@gnu.org>
4012
4013        * src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove
4014        unused variable `edges'.
4015        (ah_hinter_load): Remove unused variables `old_width' and
4016        `new_width'.
4017        * src/cid/cidload.c (cid_decrypt): Use `U' for constant (again).
4018        * src/psaux/psobjs.c (T1_Decrypt): Ditto.
4019        * src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
4020
40212001-06-28  David Turner <david@freetype.org>
4022
4023        * include/internal/ftstream.h: Modified the definitions
4024        of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness.
4025
40262001-06-26  Werner Lemberg  <wl@gnu.org>
4027
4028        * src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset
4029        instead of FT_Int as type for `length' parameter.
4030        * include/freetype/internal/psaux.h (PSAux_Interface): Updated.
4031
40322001-06-27  Wolfgang Domröse  <porthos.domroese@harz.de>
4033
4034        * src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset
4035        instead of FT_Int as type for `length' parameter.
4036
4037
4038        * Version 2.0.4 released.
4039        =========================
4040
4041
40422001-06-27  David Turner <david@freetype.org>
4043
4044        * builds/unix/ftconfig.in: Changed the definition of the
4045        FT_CALLBACK_DEF macro.
4046
4047        * include/freetype/ftconfig.h, src/*/*.c: Changed the definition and
4048        use of the FT_CALLBACK_DEF macro in order to support 16-bit
4049        compilers.
4050
4051        * builds/unix/ftconfig.in: Changed the definition of the
4052        FT_CALLBACK_DEF macro.
4053
4054        * src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures
4055        that the kerning table is correctly sorted (some problem fonts don't
4056        have a correct kern table).
4057
40582001-06-26  Wolfgang Domröse  <porthos.domroese@harz.de>
4059
4060        * include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
4061
40622001-06-24  David Turner  <david@freetype.org>
4063
4064        * src/base/ftcalc.c (ft_div64by32): Fixed the source to work
4065        correctly on 16-bit systems.
4066
40672001-06-23  Anthony Fok  <fok@debian.org>
4068
4069        * debian/*: Added Debian package build directory for 2.0.4.
4070
40712001-06-22  David Turner <david@freetype.org>
4072
4073        * docs/PATENTS: Added patents disclaimer.  This one was missing!
4074
4075        * docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release.
4076
40772001-06-20  Werner Lemberg  <wl@gnu.org>
4078
4079        * include/freetype/config/ftconfig.h: Add two more `L's to
4080        constants.
4081        Add missing semicolons.
4082
4083        * builds/toplevel.mk: Do similar change as for
4084        builds/unix/detect.mk.
4085
4086        * include/freetype/freetype.h (FT_ENC_TAG): New version to make it
4087        easier to redefine.
4088        * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto.
4089
4090        * src/pcf/pcfread.c (pcf_get_encodings): Add cast.
4091
40922001-06-19  David Turner  <david@freetype.org>
4093
4094        * builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
4095        Updated the Visual C++ project (for the 2.0.4 release).
4096
4097        * builds/unix/detect.mk: Added rule for AIX detection (which uses
4098        /usr/sbin/init instead of /sbin/init).
4099
4100        * include/freetype/fterrors.h, src/*/*err*.h: Updated some of the
4101        error macros to simplify handling of new error scheme.
4102
41032001-06-19  Werner Lemberg  <wl@gnu.org>
4104
4105        * include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
4106
41072001-06-19  David Turner  <david@freetype.org>
4108
4109        Removing _lots_ of compiler warnings when the most pedantic warning
4110        levels of Visual C++ and Borland C++ are used.  Too many files to be
4111        listed here, but FT2 now compiles without warnings with VC++ and the
4112        "/W4" warning level (lint-style).
4113
4114        * include/freetype/freetype.h (FT_New_Memory_Face): Updated
4115        documentation.
4116        * include/freetype/fttypes.h (FT_BOOL): New macro.
4117        * include/freetype/internal/ftdebug.h: Add #pragma for Visual C++
4118        to suppress warning.
4119        * include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE},
4120        FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros.
4121        (NEXT_*): Use them.
4122        * src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H.
4123        (FT_New_Memory_Face): Add `const' to function declaration.
4124
41252001-06-18  Werner Lemberg  <wl@gnu.org>
4126
4127        Minor cleanups to remove compiler warnings.
4128
4129        * include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
4130        `L' for constant.
4131        * include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
4132        * src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
4133        * src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
4134        * src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
4135        * src/base/ftobjs.c (FT_Done_Size): Fix return value.
4136        (FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
4137        unused `memory' variable.
4138        * src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
4139        * src/autohint/ahhint.c (ah_hint_edges_3,
4140        ah_hinter_align_edge_points): Remove unused `before' and `after'
4141        variables.
4142        (ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
4143        (ah_hinter_load): Remove unused `new_advance', `start_contour',
4144        and `metrics' variables.
4145        * src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
4146        compiler warning.
4147        * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
4148        variable.
4149        * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
4150        `outline' variable.
4151        (cff_compute_bias): Use `U' for constant.
4152        * src/cid/cidload.c (cid_decrypt): Ditto.
4153        * src/psaux/psobjs.c (T1_Decrypt): Ditto.
4154        * src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
4155        * src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
4156        variable.
4157        * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
4158        variable.
4159        * src/truetype/ttgload.c (load_truetype_glyph): Remove unused
4160        `num_contours' and `ins_offset' variables.
4161        (compute_glyph_metrics): Remove unused `Top' and `x_scale'
4162        variables.
4163        (TT_Load_Glyph): Remove unused `memory' variable.
4164        * src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
4165
41662001-06-18  Werner Lemberg  <wl@gnu.org>
4167
4168        Make the new error scheme source compatible with older FT versions
4169        by introducing another layer.
4170
4171        * include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
4172        macros.
4173        (FT_NOERRORDEF): Removed.
4174        * include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
4175
41762001-06-16  Werner Lemberg  <wl@gnu.org>
4177
4178        * include/freetype/freetype.h (FT_ENC_TAG): New macro.
4179        (FT_Encoding_): Use it.
4180        * include/freetype/ftimage.h (FT_IMAGE_TAG): Define it
4181        conditionally.
4182
41832001-06-14  David Turner  <david@freetype.org>
4184
4185        Modified the TrueType interpreter to let it use the new
4186        trigonometric functions provided in "fttrigon.h".  This gets rid of
4187        some old 64-bit computation routines, as well as many warnings when
4188        compiling the library with the "long long" 64-bit integer type.
4189
4190        * include/freetype/config/ftoption.h: Undefine
4191        FT_CONFIG_OPTION_OLD_CALCS.
4192        * include/freetype/internal/ftcalc.h: Rearrange use of
4193        FT_CONFIG_OPTION_OLD_CALCS.
4194        * src/base/ftcalc.c: Add declaration of FT_Int64 if
4195        FT_CONFIG_OPTION_OLD_CALCS isn't defined.
4196        * src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H.
4197        (Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't
4198        defined.
4199        (Current_Ratio, Normalize): Simplify code.
4200
42012001-06-11  Mike Owens  <MOwens@amtdatasouth.com>
4202
4203        * src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
4204        compiler warnings.
4205
42062001-06-08  Werner Lemberg  <wl@gnu.org>
4207
4208        * builds/unix/configure.in: Renamed to ...
4209        * builds/unix/configure.ac: This to make sure that autoconf 2.50 is
4210        needed.
4211        Run `autoupdate' on it.
4212        Increase `version_info' to 7:0:1.
4213        * builds/unix/configure: Regenerated.
4214
42152001-06-08  David Turner  <david@freetype.org>
4216
4217        * src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that
4218        corrupted transformed glyphs that were auto-hinted (the transform
4219        was applied twice).
4220
4221        Fixed a bug that returned an invalid linear width for composite
4222        TrueType glyphs.
4223
4224        * include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
4225        and `linear_def'.
4226        * src/truetype/ttgload.c (load_truetype_glyph,
4227        compute_glyph_metrics): Use it.
4228
4229        * include/fttypes.h (FT_ERROR_BASE): New macro.
4230        * src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
4231        to make source code work with the new error scheme implemented by
4232        Werner.
4233        * src/base/ftoutln.c (FT_Outline_Render): Ditto.
4234
42352001-06-07  Werner Lemberg  <wl@gnu.org>
4236
4237        Updating to libtool 1.4.0 and autoconf 2.50.
4238
4239        * builds/unix/ltconfig: Removed.
4240        * builds/unix/ltmain.sh, builds/unix/configure.in,
4241        builds/unix/aclocal.m4: Updated.
4242        * builds/unix/configure: Regenerated.
4243
42442001-06-06  Werner Lemberg  <wl@gnu.org>
4245
4246        Complete redesign of error codes.  Please check ftmoderr.h for more
4247        details.
4248
4249        * include/freetype/internal/cfferrs.h,
4250        include/freetype/internal/tterrors.h,
4251        include/freetype/internal/t1errors.h: Removed.  Replaced with files
4252        local to the module.  All extra error codes have been moved to
4253        `fterrors.h'.
4254
4255        * src/sfnt/ttpost.h: Move error codes to `fterrors.h'.
4256
4257        * src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
4258        src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
4259        src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
4260        src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
4261        src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
4262        error names for the module it belongs to.
4263
4264        * include/freetype/ftmoderr.h: New file, defining the module error
4265        offsets.  Its structure is similar to `fterrors.h'.
4266
4267        * include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
4268        (FT_ERRORDEF): Redefined to use module error offsets.
4269        All internal error codes are now public; unused error codes have
4270        been removed, some are new.
4271
4272        * include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
4273        macro.
4274        * include/freetype/config/ftoption.h
4275        (FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.
4276
4277        All other source files have been updated to use the new error codes;
4278        some already existing (internal) error codes local to a module have
4279        been renamed to give them the same name as in the base module.
4280
4281        All make files have been updated to include the local error files.
4282
42832001-06-06  Werner Lemberg  <wl@gnu.org>
4284
4285        * src/cid/cidtokens.h: Replaced with...
4286        * src/cid/cidtoken.h: This file for 8+3 consistency.
4287
4288        * src/raster/ftraster.c: Use macros for header file names.
4289
4290        * src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_):
4291        Fix length of `Reserved' array.  Note that this isn't the real fix
4292        since recent OpenType specs have introduced a `CaretOffset' field
4293        instead of the first reserved byte.
4294
42952001-05-29  Werner Lemberg  <wl@gnu.org>
4296
4297        * INSTALL: Minor fixes.
4298
4299
4300        * Version 2.0.3 released.
4301        =========================
4302
4303
43042001-05-29  David Turner  <david@freetype.org>
4305
4306        * INSTALL, docs/CHANGES: Updated.
4307
43082001-05-25  David Turner  <david@freetype.org>
4309
4310        Moved several documents from the top-level to the "docs" directory.
4311
4312        * src/base/ftcalc.c (FT_DivFix): Small fix to return value.
4313
43142001-05-16  David Turner  <david@freetype.org>
4315
4316        * src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the
4317        composite loader.  Spotted by Keith Packard.
4318        * src/base/ftobjs.c (FT_GlyphLoader_Check_Points,
4319        FT_GlyphLoader_Check_Subglyphs): Ditto.
4320
43212001-05-14  David Turner  <david@freetype.org>
4322
4323        Fixed the incorrect blue zone computations, and improved the
4324        composite support.  Note that these changes result in improved
4325        rendering, while sometimes introducing their own artefacts.  This is
4326        probably the last big change to the autohinter before the
4327        introduction of a complete replacement.
4328
4329        * src/autohint/ahglobal.c (sort_values): Fix loop.
4330        * src/autohint/ahglyph.c: Removed some obsolete code.
4331        (ah_outline_compute_edges): Modify code to set the ah_edge_round
4332        flag.
4333        (ah_outline_compute_blue_edges): Add code to compute active blue
4334        zones.
4335        * src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags
4336        value.
4337
4338        * src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that
4339        created incorrect scale factors!
4340        (FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements.
4341
43422001-05-12  Werner Lemberg  <wl@gnu.org>
4343
4344        * include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__.
4345        * include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ ->
4346        __FTTRIGON_H__.
4347        Include FT_FREETYPE_H.
4348        Beautified; added copyright.
4349        * src/base/fttrigon.c: Beautified; added copyright.
4350
43512001-05-11  David Turner  <david@freetype.org>
4352
4353        * src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
4354        (parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed
4355        the incorrect EM size computation.
4356
4357        * include/freetype/fttrigon.h, src/base/fttrigon.c: New files,
4358        adding trigonometric functions to the core API (using Cordic
4359        algorithms).
4360        * src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them.
4361
4362        * builds/newline: New file.
4363        * builds/top_level.mk, builds/detect.mk: Use it.  This fixes
4364        problems with Make on Windows 2000, as well as problems when "make
4365        distclean" is invoked on a non-Unix platform when there is no
4366        "config.mk" in the current directory.
4367
4368        * builds/freetype.mk: Fixed a problem with object deletions under
4369        Dos/Windows/OS/2 systems.
4370
4371        Added new directory to hold tools and test programs.
4372
4373        * docs/docmaker.py, docs/glnames.py: Moved to...
4374        * src/tools/docmaker.py, src/tools/glnames.py: This place.
4375        * src/tools/cordic.py: New file used to compute arctangent table
4376        needed by fttrigon.c.
4377        * src/tools/test_bbox.c, src/tools/test_trig.c: New test files.
4378
4379        * src/tools/docmaker.py: Improved the script to add the current date
4380        at the footer of each web page (useful to distinguish between
4381        versions).
4382
4383        * Jamfile: Fixed incorrect HDRMACRO argument.
4384
4385        * TODO: Removed the cubic arc bbox computation note, since it has been
4386        fixed recently.
4387        * src/base/ftbbox.c (test_cubic_zero): Renamed to...
4388        (test_cubic_extrema): This function.  Use `UL' for unsigned long
4389        constants.
4390
4391        * include/freetype/t1tables.h, include/freetype/config/ftoption.h:
4392        Formatting.
4393
43942001-05-10  David Turner  <david@freetype.org>
4395
4396        * src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak
4397        which happened when trying to open 0-size font files!
4398
43992001-05-09  Werner Lemberg  <wl@gnu.org>
4400
4401        * include/freetype/internal/ftcalc.h: Move declaration of
4402        FT_SqrtFixed() out of `#ifdef FT_LONG64'.
4403
44042001-05-08  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
4405
4406        * src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width
4407        computation.
4408
44092001-05-08  David Turner  <david@freetype.org>
4410
4411        * docs/docmaker.py: Updated the DocMaker script in order to add
4412        command line options (--output,--prefix,--title), fix the erroneous
4413        line numbers reported during errors and warnings, and other
4414        formatting issues.
4415
4416        * src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny
4417        fixes related to rounding in 64-bits routines and
4418        pseudo-"optimizations".
4419
44202001-04-27  David Turner  <david@freetype.org>
4421
4422        * src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient
4423        normalization algorithm (invalid final bit position, and invalid
4424        shift computation).
4425
44262001-04-26  Werner Lemberg  <wl@gnu.org>
4427
4428        * builds/unix/config.guess, builds/unix/config.sub: Updated to
4429        latest versions from gnu.org.
4430
4431        * builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.
4432
4433        * include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
4434        uncoditionally.
4435        * src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
4436        Fix compiler warnings.
4437        * src/base/ftcalc.c: Fix (potential) compiler warnings.
4438
44392001-04-26  David Turner  <david@freetype.org>
4440
4441        * src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
4442        fixed-point square root computation.  It is now used even with
4443        64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
4444
4445        * src/base/ftbbox.c: Removed invalid "#include FT_BEZIER_H" line.
4446
44472001-04-25  David Turner  <david@freetype.org>
4448
4449        * src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use
4450        direct computations with 16.16 values instead of sub-divisions.  It
4451        is now slower, but proves a point :-)
4452
4453        * src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c:
4454        Fixed the bezier stack depths.
4455
4456        * src/base/ftcalc.c (FT_MulFix): Minor rounding fix.
4457
4458        * builds/beos: Added BeOS-specific files to the old build system
4459        (no changes were necessary to support BeOS in the Jamfile though).
4460
44612001-04-20  David Turner  <david@freetype.org>
4462
4463        * ftconfig.h, ftoption.h: Updated "ftconfig.h" to detect 64-bit int
4464        types on platforms where Autoconf is not available).  Also removed
4465        FTCALC_USE_LONG_LONG and replaced it with
4466        FT_CONFIG_OPTION_FORCE_INT64.
4467
4468        * builds/win32/freetype.dsp: Updated the Visual C++ project file.
4469        Doesn't create a DLL yet.
4470
4471        * cffgload.c: Removed a compilation warning.
4472
44732001-04-10  Tom Kacvinsky  <tkacvins@freetype.org>
4474
4475        * t1load.c (parse_charstrings): Changed code for placing .notdef
4476        glyph into slot 0 so that we no longer have a memory access
4477        violation.
4478
4479        * t1load.h: In structure T1_Loader, added swap_table (of type
4480        PS_Table) to facilitate placing the .notdef glyph into slot 0.
4481
44822001-04-10  Francesco Zappa Nardelli  <francesco.zappa.nardelli@ens.fr>
4483
4484        * src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
4485
44862001-04-09  Laurence Withers  <lwithers@lwithers.demon.co.uk>
4487
4488        * builds/dos/detect.mk: Add support for bash.
4489
44902001-04-05  Werner Lemberg  <wl@gnu.org>
4491
4492        * builds/os2/*.mk: These files have been forgotten to update to
4493        the structure of similar makefiles.
4494        * builds/dos/*.mk: Ditto.
4495        * builds/ansi/*.mk: Ditto.
4496
4497        * builds/win32/win32-def.mk (BUILD): Fix typo.
4498
4499        * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
4500        This is already used in the link_*.mk files.
4501
45022001-04-03  Werner Lemberg  <wl@gnu.org>
4503
4504        * src/*/Jamfile: Slight changes to make files more cryptic.
4505
45062001-04-03  Werner Lemberg  <wl@gnu.org>
4507
4508        * Jamfile, src/Jamfile, src/*/Jamfile: Formatted.  Slight changes
4509        to give files identical structure.
4510
45112001-04-02  Werner Lemberg  <wl@gnu.org>
4512
4513        * CHANGES: Reformatted, minor fixes.
4514        * TODO: Updated.
4515        * README: Formatting.
4516        * include/freetype/freetype.h: Formatting.
4517
4518        * Jamfile: Fix typo.
4519
4520        * src/cff/cffparse.c: Move error code #defines to...
4521        * include/freetype/internal/cfferrs.h: This file.
4522        * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced
4523        `FT_Err_*' with `CFF_Err_*'.
4524        * src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
4525        * src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
4526        * src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
4527        `TT_Err_*'.
4528        * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
4529        * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
4530        src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.
4531
4532        * include/freetype/internal/cfferrs.h: Add
4533        `CFF_Err_Unknown_File_Format'.
4534        * include/freetype/internal/t1errors.h: Add
4535        `T1_Err_Unknown_File_Format'.
4536        * include/freetype/internal/tterrors.h: Add
4537        `TT_Err_Unknown_File_Format'.
4538
4539        * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
4540        references.
4541        * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
4542
4543        * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
4544        FT_LOCAL_DEF.
4545        * src/cid/cidobjs.c (CID_Done_Driver): Ditto.
4546        * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
4547        Ditto.
4548        * src/type1/t1objs.c (T1_Done_Driver): Ditto.
4549        * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
4550        * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
4551
45522001-04-02  Tom Kacvinsky  <tkacvins@freetype.org>
4553
4554        * src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer
4555        dereference.  Submitted by Herbert Duerr <duerr@sun.com>
4556
45572001-03-26  Tom Kacvinsky  <tkacvins@freetype.org>
4558
4559        * include/freetype/config/ftconfig.h: Changed hexadecimal
4560        constants to use suffix U to avoid problems with HP-UX's c89
4561        compiler.  Submitted by G.W. Lucas <glucas@sonalysts.com>
4562
45632001-03-24  David Turner  <david.turner@freetype.org>
4564
4565        * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to
4566        the source tree.  See www.freetype.org/jam/index.html for details.
4567
4568
4569        * Version 2.0.2 released.
4570        =========================
4571
4572
45732001-03-20  Werner Lemberg  <wl@gnu.org>
4574
4575        * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
4576
45772001-03-20  David Turner  <david.turner@freetype.org>
4578
4579        * include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
4580        Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to
4581        FT_SFNT_NAMES_H.
4582
4583        * docs/docmaker.py: Added generation of INDEX link in table of
4584        contents.
4585
4586        * INSTALL, docs/BUILD: Updated documentation to indicate that the
4587        compilation process has changed slightly (no more `src' required in
4588        the include path).
4589
4590        * builds/*/*-def.mk: Changed the objects directory from "obj" to
4591        "objs".
4592
4593        * include/freetype/config/ftheader.h: Removed obsolete macros like
4594        FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
4595        were previously defined in <freetype/ftcache.h>.  Added comments to
4596        be included in a new API Reference section.
4597
4598        * src/*/*: Removed the use of FT_SOURCE_FILE, etc.  Now, each
4599        component needs to add its own directory to the include path at
4600        compile time.  Modified all "rules.mk" and "descrip.mms"
4601        accordingly.
4602
46032001-03-20  Werner Lemberg  <wl@gnu.org>
4604
4605        * builds/unix/configure.in: Add $ft_version.
4606        * builds/unix/freetype-config.in: Use it.
4607        * builds/unix/configure: Updated.
4608
46092001-03-19  Tom Kacvinsky  <tkacvins@freetype.org>
4610
4611        * src/type1/t1load.c (parse_font_matrix): Assign the units per em
4612        value an unsigned short value, first by shifting right 16 bits,
4613        then by casting the results to FT_UShort.
4614
4615        * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
4616        value an unsigned short value, first by shifting right 16 bits,
4617        then by casting the results to FT_UShort.
4618
46192001-03-17  David Turner  <david.turner@freetype.org>
4620
4621        * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
4622        src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
4623        compiler warnings in pedantic modes.
4624
4625        * include/config/ft2build.h, include/config/ftheader.h: The file
4626        "ft2build.h" was renamed to "ftheader.h" to avoid conflicts with the
4627        top-level <ft2build.h>.
4628
4629        * include/config/ftheader.h: Added new section describing the #include
4630        macros.
4631
46322001-03-17  Tom Kacvinsky  <tkacvins@freetype.org>
4633
4634        * src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
4635        values for the bounding box numbers.
4636
4637        * src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font,
4638        set `root->ascender' (`root->descender') to the integer part of
4639        `root->bbox.yMax' (`root->bbox.yMin', respectively).
4640
46412001-03-16  Tom Kacvinsky  <tkacvins@freetype.org>
4642
4643        * src/cff/cffdrivr.c (get_cff_glyph_name):  New function.  Used in
4644        cff_get_interface to facilitate getting a glyph name for glyph index
4645        via FT_Get_Glyph_Name().
4646
4647        (cff_get_interface): Added support for getting a glyph name via the
4648        "glyph_name" module interface.  Uses the new function
4649        get_cff_glyph_name().
4650        Submitted by Sander van der Wal <svdwal@xs4all.nl>
4651
4652        * src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with
4653        FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is
4654        not defined.  This is to add support for getting a glyph name from a
4655        glyph index via FT_Get_Glyph_Name().
4656        Submitted by Sander van der Wal <svdwal@xs4all.nl>
4657
4658        * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
4659        deprecated operator "dotsection".
4660        Submitted by Sander van der Wal <svdwal@xs4all.nl>
4661
46622001-03-12  Werner Lemberg  <wl@gnu.org>
4663
4664        * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
4665        messages.
4666
4667        * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
4668
46692001-03-12  Tom Kacvinsky  <tkacvins@freetype.org>
4670
4671        * include/freetype/internal/psaux.h:  Changed the lenIV member of
4672        the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt.
4673
4674        * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings):  Adjust
4675        for lenIV seed bytes at the start of a decrypted subroutine.
4676
4677        * src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only
4678        if lenIV >= 0.
4679
4680        * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
4681        if lenIV >= 0.
4682
46832001-03-11  Werner Lemberg  <wl@gnu.org>
4684
4685        * TODO: Updated.
4686
4687        * src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
4688        avoid compiler warnings.
4689
46902001-03-10  Tom Kacvinsky  <tkacvins@freetype.org>
4691
4692        * TODO: New file.
4693
4694        * include/freetype/freetype.h: Added prototypes and notes for
4695        three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix.
4696        * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added
4697        implementation code.
4698
4699        * src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM,
4700        and if that is not available, default to 1000 units per EM.  Changed
4701        assignment code for ascender and descender values.
4702        * src/cid/cidload.c (parse_font_matrix): Added units_per_EM
4703        processing.
4704        (parse_font_bbox): Changed to use FT_Fixed number handling.
4705
4706        * src/type1/t1objs.c (T1_Init_Face): Changed the assignment code
4707        for ascender, descender, and max_advance_width.
4708        * src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed
4709        number handling.
4710
47112001-03-10  Henrik Grubbström  <grubba@roxen.com>
4712
4713        * src/*/*.c: Added many casts to make code more 64bit-safe.
4714
47152001-03-07  Werner Lemberg  <wl@gnu.org>
4716
4717        * INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
4718
47192001-03-07  Tom Kacvinsky  <tkacvins@freetype.org>
4720
4721        * src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
4722        until parse_font_bbox is changed before we use logical shift rights
4723        in the assignments of `root->ascender', `root->descender', and
4724        `root->max_advance_width'.
4725
4726        (T1_Done_Face): Free `char_name' table to avoid a memory leak.
4727        Submitted by Sander van der Wal <svdwal@xs4all.nl>.
4728
47292001-03-05  Tom Kacvinsky  <tkacvins@freetype.org>
4730
4731        * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
4732        the Type 2 glyph charstring (used by conversion programs).
4733        Submitted by Ha Shao <hashao@chinese.com>.
4734
47352001-03-04  Antoine Leca  <Antoine.Leca@renault.fr>
4736
4737        * include/freetype/ttnameid.h: Correct a stupid typo which prevented
4738        correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
4739
47402001-03-04  Werner Lemberg  <wl@gnu.org>
4741
4742        * src/autohint/ahtypes.h (AH_Hinter): Add elements
4743        `disable_horz_edges', `disable_vert_edges'.
4744        * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use
4745        them (and remove static variables with the same names).
4746        * src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
4747        * docs/glnames.py: Updated to latest pstables.h changes.
4748
4749        * builds/unix/detect.mk: Add test for Hurd.
4750        * builds/hurd/detect.mk: Removed.
4751
47522001-03-04  Sander van der Wal  <svdwal@xs4all.nl>
4753
4754        * src/psnames/pstables.h: Add more `const'.
4755        * src/pcf/pcfutil.c: Ditto.
4756
47572001-03-04  Werner Lemberg  <wl@gnu.org>
4758
4759        * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
4760        (FT_Glyph_Done -> FT_Done_Glyph).
4761
47622001-03-01  Antoine Leca  <Antoine.Leca@renault.fr>
4763
4764        * include/freetype/ttnameid.h: Added some new Microsoft language
4765        codes and LCIDs as found in Office Xp.
4766
47672001-02-28  David Turner  <david.turner@freetype.org>
4768
4769        * builds/hurd/detect.mk: New file.  Added support to detect the GNU
4770        Hurd operating system as Unix-like.  Fix submitted by Anthony Fok
4771        <foka@debian.org>.
4772
4773        * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
4774        the Type 1 glyph charstring (used by conversion programs).
4775        Submitted by Ha Shao <hashao@chinese.com>.
4776
47772001-02-22  David Turner  <david.turner@freetype.org>
4778
4779        * src/base/ftgrays.c (grays_sweep): The function didn't exit
4780        immediately if `num_cells' was 0 as it should.  Thanks to Boris for
4781        finding this out.
4782
4783        * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
4784        bitmap rendering fails (thanks to Graham Asher).
4785
47862001-02-13  Werner Lemberg  <wl@gnu.org>
4787
4788        * docs/docmaker.py (DocSection::add_element): Use
4789        `self.print_error()'.
4790
4791        * builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org).
4792
47932001-02-13  David Turner  <david.turner@freetype.org>
4794
4795        * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
4796        script to support chapters and section block ordering.  Updated the
4797        public header files accordingly.
4798
4799        * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
4800        were not correctly copied.
4801
48022001-02-08  Tom Kacvinsky  <tkacvins@freetype.org>
4803
4804        * src/cff/cffparse.c (cff_parse_font_matrix): Removed an
4805        unnecessary fprintf( stderr, ... ).
4806
48072001-02-07  Tom Kacvinsky  <tkacvins@freetype.org>
4808
4809        * src/type1/t1objs.c (T1_Init_Face): Added code to get the
4810        units_per_EM from the value assigned in parse_font_matrix, if
4811        available.  Default to 1000 if not available.
4812
4813        * src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get
4814        the units_per_EM from the FontMatrix.
4815
4816        (cff_parse_fixed_thousand): New function. Gets a real number from
4817        the CFF font, but multiplies by 1000 (this is to avoid rounding
4818        errors when placing this real number into a 16.16 fixed number).
4819
4820        (cff_parse_real): Added code so that the integer part is moved
4821        into the high sixteen bits of the 16.16 fixed number.
4822
4823        * src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units
4824        per EM from the CFF dictionary, if available.
4825
4826        * include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_,
4827        added a units_per_em member to facilitate passing of units_per_em
4828        from function cff_parse_font_matrix.
4829
4830        * src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric
4831        character.  This is so that font names with `-' are fully parsed,
4832        etc...
4833
48342001-02-02  Werner Lemberg  <wl@gnu.org>
4835
4836        * src/psaux/psobjs.c (shift_elements): Remove if clause (which is
4837        obsolete now).
4838
4839        (reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC()
4840        + MEM_Copy() to avoid a memory bug.
4841
48422001-02-01  David Turner  <david.turner@freetype.org>
4843
4844        * docs/docmaker.py: Improved the index sorting routine to place
4845        capital letters before small ones.  Added the "<order>" marker to
4846        section blocks in order to give the order of blocks.
4847
48482001-01-30  Antoine Leca  <Antoine.Leca@renault.fr>
4849
4850        * include/freetype/ttnameid.h: Latest updates to Microsoft language
4851        ID codes.
4852
48532001-01-24  Tom Kacvinsky  <tkacvins@freetype.org>
4854
4855        * src/cff/t1load.c (parse_font_matrix): Added heuristic to get
4856        units_per_EM from the font matrix.
4857
4858        (parse_dict): Deleted test to see whether the FontInfo keyword has
4859        been seen.  Deletion of this test allows fonts without FontInfo
4860        dictionaries to be parsed by the Type 1 driver.
4861
4862        (T1_Open_Face): Deleted empty subroutines array test to make sure
4863        fonts with no subroutines still are parsed.
4864
48652001-01-17  Francesco Zappa Nardelli  <francesco.zappa.nardelli@ens.fr>
4866
4867        * src/pcfread.c (pcf_get_properties, pcf_get_metrics,
4868        pcf_get_bitmaps): Fix compiler errors.
4869
48702001-01-11  David Turner  <david.turner@freetype.org>
4871
4872        * src/pcf/pcfread.c: Removed some compilation warnings related
4873        to comparison of signed vs. unsigned integers.
4874
4875        * include/freetype/internal/ftdebug.h: Changed the debug trace
4876        constants from trace_t2xxxx to trace_cffxxxx to be able to compile
4877        the CFF driver in debug mode.
4878
48792001-01-11  Matthew Crosby  <mcrosby@marthon.org>
4880
4881        * builds/unix/freetype-config.in: Fix problems with separate
4882        --prefix and --exec-prefix.
4883
48842001-01-11  David Turner  <david.turner@freetype.org>
4885
4886        * docs/docmaker.py: Added cross-references generation as well as
4887        more robust handling of pathname wildcard matching.
4888
48892001-01-10  Werner Lemberg  <wl@gnu.org>
4890
4891        * docs/docmaker.py: Minor improvements to reduce unwanted spaces
4892        and empty lines in output.
4893
48942001-01-09  David Turner  <david.turner@freetype.org>
4895
4896        * docs/docmaker.py: Improved script to generate table of contents
4897        and index pages.  It also supports wildcards on non Unix systems.
4898
4899        * include/freetype/*.h, include/freetype/cache/*.h: Updated comments
4900        to include section definitions/delimitations for the API Reference
4901        generator.
4902
4903        * include/freetype/freetype.h: Moved declaration of
4904        `FT_Generic_Finalizer' and the `FT_Generic' structure to...
4905        * include/freetype/fttypes.h: here.
4906
49072001-01-04  Werner Lemberg  <wl@gnu.org>
4908
4909        * include/freetype/ttnameid.h: Updated Unicode code range comments.
4910
49112001-01-03  Tom Kacvinsky  <tkacvins@freetype.org>
4912
4913        * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
4914
4915        * include/freetype/internal/internal.h: Changed to use cfftypes.h
4916        (cfferrs.h) instead of t2types.h (t2errors.h, respectively).
4917
4918        * include/freetype/internal/cfftypes.h: Merged in changes from
4919        t2types.h and made this the canonical `types' header for the CFF
4920        driver.
4921
4922        * include/freetype/internal/t2types.h: This file was merged with
4923        cfftypes.h and is no longer necessary.
4924
4925        * include/freetype/internal/t2errors.h: Renamed to cfferrs.h.
4926
4927        * src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
4928        src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
4929        src/cff/cffgload.c, src/cff/cffgload.h: Changed to use
4930        cffgload.{c,h} instead of t2gload.{c,h}.  All occurences of t2_
4931        (T2_) were replaced with cff_ (CFF_, respectively).
4932
4933        * src/cff/t2gload.h: Renamed cffgload.h.
4934
4935        * src/cff/t2gload.c: Renamed cffgload.c
4936
49372000-01-02  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>
4938
4939        * builds/vms: Support files for VMS architecture added.
4940        * descrip.mms, src/*/descrip.mms: VMS makefiles added.
4941        * README.VMS: New file.
4942
49432000-01-01  Werner Lemberg  <wl@gnu.org>
4944
4945        * LICENSE.TXT: Added info about PCF driver license.
4946
49472001-01-01  Francesco Zappa Nardelli  <francesco.zappa.nardelli@ens.fr>
4948
4949        * src/pcf/*: New driver module for PCF font format (used in
4950        X Window System).
4951        * include/freetype/internal/ftdebug.h (FT_Trace): Added values for
4952        PCF driver.
4953        * include/freetype/internal/pcftypes.h: New file.
4954        * include/freetype/config/ftmodule.h: Added PCF driver module.
4955
49562001-01-01  Werner Lemberg  <wl@gnu.org>
4957
4958        * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
4959
49602000-12-31  Werner Lemberg  <wl@gnu.org>
4961
4962        * builds/modules.mk (clean_module_list): Fixed deletion of module
4963        file in case `make make_module_list' is called before `make setup'.
4964
49652000-12-30  Werner Lemberg  <wl@gnu.org>
4966
4967        * src/cff/cffload.c (CFF_Load_Charset): Improved error messages.
4968        (CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable
4969        definition.
4970
49712000-12-30  Tom Kacvinsky  <tkacvins@freetype.org>
4972
4973        * include/freetype/internal/t2types.h,
4974        include/freetype/internal/cfftypes.h: Changed the structures for
4975        CFF_Encoding and CFF_Encoding for the new implementations of the
4976        charset and encoding parsers in the CFF driver.
4977
4978        * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
4979        t2_operator_seac): Added these functions for use in implementing the
4980        seac emulation provided by the Type 2 endchar operator.
4981        (T2_Parse_CharStrings): Added seac emulation for the endchar
4982        operator.
4983
4984        * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
4985        CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
4986        charset/encoding tables, and free the memory used by them when the
4987        CFF driver is finished with them.  Added tables
4988
4989            cff_isoadobe_charset
4990            cff_expert_charset
4991            cff_expertsubset_charset
4992            cff_standard_encoding
4993            cff_expert_encoding
4994
4995        so that the encoding/charset parser can handle predefined encodings and
4996        charsets.
4997
49982000-12-24  Tom Kacvinsky  <tkacvins@freetype.org>
4999
5000        * src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font
5001        transform is applied.
5002
5003        * src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
5004        the font matrix numbers are scaled by 1/(matrix->yy).  Also, the
5005        offset vector now contains integer values instead of 16.16 fixed
5006        numbers.
5007
50082000-12-22  Tom Kacvinsky  <tkacvins@freetype.org>
5009
5010        * src/autohint/ahhint.c (ah_hinter_load_glyph):
5011        Removed unnecessary comments and commented-out code.
5012
50132000-12-21  David Turner  <david.turner@freetype.org>
5014
5015        * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
5016        we'll work on supporting CID AFM files later I guess :-)
5017
50182000-12-21  Tom Kacvinsky  <tkacvins@freetype.org>
5019
5020        * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
5021        Changed so that fonts with a non-standard FontMatrix render
5022        correctly.  Previously, the first glyph rendered from such a
5023        font did not have the tranformation matrix applied.
5024
50252000-12-17  Werner Lemberg  <wl@gnu.org>
5026
5027        * *.mk: Added lots of `.PHONY' targets.
5028
50292000-12-17  Karsten Fleischer  <kfleisc1@ford.com>
5030
5031        * *.mk: Implemented `platform' target to disable auto-detection.
5032
50332000-12-14  Werner Lemberg  <wl@gnu.org>
5034
5035        * docs/design/modules.html: Removed.  Covered by design-*.html.
5036
5037        * INSTALL: Added info about makepp.
5038
50392000-12-14  David Turner  <david.turner@freetype.org>
5040
5041        Added support for clipped direct rendering in the smooth renderer.
5042        This should not break binary compatibility of existing applications.
5043
5044        * include/freetype/fttypes.h, include/freetype/ftimage.h: Move
5045        definition of the FT_BBox structure from the former to the latter.
5046        * include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
5047        FT_Raster_Flag enumeration.
5048        Add `clip_box' element to FT_Raster_Params structure.
5049        * src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
5050
5051        * INSTALL: Updated installation instructions on Win32, listing the
5052        new "make setup list" target used to list supported
5053        compilers/targets.
5054
5055        * src/raster/ftraster.c (ft_black_render): Test for unsupported
5056        direct rendering before testing arguments.
5057
50582000-12-13  David Turner  <david.turner@freetype.org>
5059
5060        * include/freetype/config/ft2build.h,
5061        include/freetype/internal/internal.h: Fixed header inclusion macros
5062        to use direct definitions.  This is the only way to do these things
5063        in a portable way :-(  The rest of the code should follow shortly
5064        though everything compiles now.
5065
5066        * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
5067
5068        * builds/win32/detect.mk: Added support for the Intel C/C++
5069        compiler, as well as _preliminary_ (read: doesn't work!) support for
5070        Watcom.  Also added a new setup target.  Type "make setup list" for
5071        a list of supported command-line compilers on Win32.
5072
5073        * src/base/ftdebug.c: Added dummy symbol to avoid empty file if
5074        conditionals are off.
5075
50762000-12-13  Werner Lemberg  <wl@gnu.org>
5077
5078        * builds/unix/ftsystem.c: Fixed typos.  Fixed inclusion of wrong
5079        ftconfig.h file.
5080
50812000-12-12  Werner Lemberg  <wl@gnu.org>
5082
5083        * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
5084        Removed.  ANSI C doesn't (explicitly) allow macro expansion in
5085        arguments using `##'.
5086        (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
5087        names directly.  Make them configurable.  Use `##' to strip leading
5088        and trailing spaces from arguments.
5089
5090        * builds/unix/ft2unix.h: Adapted.
5091
5092        * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
5093        ft_close_stream): Use FT_CALLBACK_DEF.
5094
5095        * builds/unix/ftsystem.c: Use new header scheme.
5096        (FT_Done_Memory): Use free() from FT_Memory structure.
5097
5098        * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
5099
51002000-12-11  Werner Lemberg  <wl@gnu.org>
5101
5102        * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
5103        FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
5104        FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
5105
51062000-12-09  Werner Lemberg  <wl@gnu.org>
5107
5108        * builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
5109
51102000-12-08  Werner Lemberg  <wl@gnu.org>
5111
5112        * */*.h: Changed body inclusion macro names to start and end with
5113        `__' (those which haven't converted yet).  Fixed minor conversion
5114        issues.
5115
5116        * src/winfonts/winfnt.c: Updated to new header inclusion scheme.
5117
5118        * src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
5119
51202000-12-07  David Turner  <david.turner@freetype.org>
5121
5122        * */*.[ch]: Changed source files to adhere to the new
5123        header inclusion scheme.  Not completely tested but works for now
5124        here.
5125
5126        * src/cff/t2driver.c: Renamed and updated to...
5127        * src/cff/cffdrivr.c: New file.
5128        * src/cff/t2driver.h: Renamed and updated to...
5129        * src/cff/cffdrivr.h: New file.
5130        * src/cff/t2load.c: Renamed and updated to...
5131        * src/cff/cffload.c: New file.
5132        * src/cff/t2load.h: Renamed and updated to...
5133        * src/cff/cffload.h: New file.
5134        * src/cff/t2objs.c: Renamed and updated to...
5135        * src/cff/cffobjs.c: New file.
5136        * src/cff/t2objs.h: Renamed and updated to...
5137        * src/cff/cffobjs.h: New file.
5138        * src/cff/t2parse.c: Renamed and updated to...
5139        * src/cff/cffparse.c: New file.
5140        * src/cff/t2parse.h: Renamed and updated to...
5141        * src/cff/cffparse.h: New file.
5142        * src/cff/t2tokens.h: Renamed and updated to...
5143        * src/cff/cfftoken.h: New file.
5144
5145        * src/cff/cff.c, src/cff/rules.mk: Updated.
5146
51472000-12-06  David Turner  <david.turner@freetype.org>
5148
5149        * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
5150
51512000-12-06  Werner Lemberg  <wl@gnu.org>
5152
5153        * builds/module.mk: Replaced `xxx #' with `xxx$(space).
5154        * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
5155        avoid trailing spaces in variable.
5156        * builds/freetype.mk: Use $(D) instead of $D to make statement more
5157        readable.
5158
5159        * docs/docmaker.py: Formatting.
5160
51612000-12-05  David Turner  <david.turner@freetype.org>
5162
5163        * src/psaux/psauxmod.c: Fixed a broken inclusion of component
5164        header files (an FT_FLAT_COMPILE test was missing).
5165
5166        * src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
5167        an occasional crash when the function was called (due to a dangling
5168        pointer).
5169
5170        * src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
5171        The ANSI "free()" function was called instead of "memory->free()".
5172
5173        * docs/docmaker.py: Added section filtering, multi-page generation
5174        (index page generation is still missing though).
5175
51762000-12-04  David Turner  <david.turner@freetype.org>
5177
5178        * builds/unix/install.mk, builds/unix/ft2unix.h: The file "ft2unix.h"
5179        is now installed as <ft2build.h> for Unix systems.  Note that we
5180        still use the "freetype2/freetype" installation path for now.
5181
5182        * */*.[ch]: Now using <ft2build.h> as the default build and setup
5183        configuration file in all public headers.  Internal source files
5184        still need some changes though.
5185
5186        * builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
5187        directory to hold all development options for both the Unix and
5188        Win32 developer builds.
5189
5190        * builds/win32/detect.mk, builds/win32/w32-bccd.mk,
5191        builds/win32/w32-dev.mk: Changed the developer build targets to
5192        "devel-gcc" and "devel-bcc" in order to be able to develop with the
5193        Borland C++ compiler.
5194
51952000-12-01  David Turner  <david.turner@freetype.org>
5196
5197
5198        * Version 2.0.1 released.
5199        =========================
5200
5201
5202        * builds/unix/configure.in, builds/unix/configure,
5203        builds/cygwin/configure.in, builds/cygwin/configure: Setting
5204        "version_info" to 6:1:0 for the 2.0.1 release.
5205
5206        * CHANGES: Added a summary of changes between 2.0.1 and 2.0.
5207
5208        * builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes
5209        to allow compilation under Unix with the Unix-specific config
5210        files.
5211
52122000-12-01  Werner Lemberg  <wl@gnu.org>
5213
5214        * INSTALL: Revised.
5215        * builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
5216        builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
5217        builds/win32/w32-bccd.mk: Revised.
5218        * include/freetype/config/ftbuild.h,
5219        include/freetype/internal/internal.h: Revised.
5220        * include/freetype/ftimage.h: Updated to new header inclusion scheme.
5221
52222000-11-30  Werner Lemberg  <wl@gnu.org>
5223
5224        * builds/toplevel.mk (.PHONY): Adding `distclean'.
5225        * builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
5226        `setup'.
5227
52282000-11-30  David Turner  <david.turner@freetype.ogr>
5229
5230        * INSTALL: Slightly updated the quick starter documentation to
5231        include IDE compilation, prevent against BSD Make, and specify "make
5232        setup" instead of a single "make" for build configuration.
5233
5234        * include/config/ftbuild.h, include/internal/internal.h: Added new
5235        configuration files used to determine the location of all public,
5236        configuration, and internal header files for FreeType 2.  Modified
5237        all headers under "include/freetype" to reflect this change.  Note
5238        that we still need to change the library source files themselves
5239        though.
5240
5241        * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
5242        builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
5243        builds/win32/detect.mk: Added new files to support compilation with
5244        the free Borland C++ command-line compiler.  Modified the detection
5245        rules to recognize the new "bcc32" target in "make setup bcc32".
5246
5247        * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
5248        src/truetype/ttobjs.c, src/truetype/ttgload.c,
5249        src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
5250        didn't really like.  Basically, this compiler complains when FT_UInt
5251        is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
5252        in these cases).
5253
52542000-11-30  Tom Kacvinsky  <tkacvins@freetype.org>
5255
5256        * t2objs.c (T2_Init_Face): Added calculation of `face->height' for
5257        pure CFF fonts.
5258
5259        * t1objs.c (T1_Init_Face): Fixed computation of `face->height'.
5260
52612000-11-29  David Turner  <david.turner@freetype.org>
5262
5263        * src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid
5264        bug in the formula used to compute the conic Bézier extrema
5265        of non-monotonous arcs.
5266
52672000-11-29  Werner Lemberg  <wl@gnu.org>
5268
5269        * src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
5270        (FT_Set_Renderer): Use FT_EXPORT_DEF.
5271        * src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
5272        src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
5273        FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
5274        FTC_Manager_Register_Cache), src/cache/ftcsbits.c
5275        (FTC_SBit_Cache_Lookup): Ditto.
5276
5277        * src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
5278        src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
5279
52802000-11-29  Werner Lemberg  <wl@gnu.org>
5281
5282        * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
5283        conditionally.
5284
5285        * src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
5286        `size->strike_index' only conditionally.
5287
5288        * src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
5289        conditionally.
5290
5291        * src/winfonts/winfnt.h: Move all type definitions to...
5292        * src/include/freetype/internal/fnttypes.h: New file.
5293        * src/winfonts/winfnt.c: Use it.
5294
52952000-11-29  ??? ???  <darin@eazel.com>
5296
5297        * include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
5298        with a direct solution (which also satifies picky compilers).
5299
53002000-11-28  YAMANO-UCHI Hidetoshi  <mer@din.or.jp>
5301
5302        * src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with
5303        disabled interpreter also.
5304
5305        * src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect
5306        parentheses.
5307
53082000-11-26  Tom Kacvinsky  <tkacvins@freetype.org>
5309
5310        * src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph
5311        width setting code to take into account even/odd argument counts
5312        and glyph width operand before endchar/hmoveto/vmoveto.
5313
53142000-11-26  Werner Lemberg  <wl@gnu.org>
5315
5316        * builds/ansi/ansi.mk: Fix inclusion order of files.
5317
53182000-11-26  Keith Packard  <keithp@keithp.com>
5319
5320        * src/type1/t1objs.c (T1_Init_Face): Compute style flags.
5321
53222000-11-26  Werner Lemberg  <wl@gnu.org>
5323
5324        * builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
5325        conditional.
5326
53272000-11-23  Werner Lemberg  <wl@gnu.org>
5328
5329        * src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
5330        function from PSAux module.
5331
5332        * src/type1/t1parse.c (T1_Done_Parse): Renamed to...
5333        (T1_Finalize_Parser): New function (to avoid name clash with a
5334        function in the PSAux module).
5335        (T1_Decrypt): Removed since it is duplicated in the PSAux module.
5336        (T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
5337        function from PSAux module.
5338
5339        * src/type1/t1parse.h: Adapted.
5340
53412000-11-22  Tom Kacvinsky  <tkacvins@freetype.org>
5342
5343        * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
5344        `root->num_faces' to `cff->num_faces' and set `units_per_EM'
5345        to 1000.
5346
5347        * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
5348        loop.
5349
5350        * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
5351        sid that was off by one.
5352
53532000-11-16  David Turner  <david@freetype.org>
5354
5355        * src/autohint/ahtypes.h (AH_Hinter): Added new fields to control
5356        auto-hinting of synthetic Type 1 fonts.
5357
5358        * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
5359        Added auto-hinting support of synthetic Type 1 fonts.
5360
53612000-11-12  Tom Kacvinsky  <tkacvins@freetype.org>
5362
5363        * src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change
5364        tracing output.
5365
5366        * src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable
5367        `has-outline' to true only if the font has a `glyf' or `CFF ' table.
5368
53692000-11-11  Werner Lemberg  <wl@gnu.org>
5370
5371        * builds/win32/visualc/freetype.dsp: Fix raster1->raster and
5372        type1z->type1.
5373
53742000-11-11  Tom Kacvinsky  <tkacvins@freetype.org>
5375
5376        * builds/unix/freetype-config.in, builds/cygwin/freetype-config.in:
5377        Added a --libtool option.  When freetype-config --libtool is
5378        invoked, the absolute path to the libtool convenience library
5379        is returned.
5380
53812000-11-11  Werner Lemberg  <wl@gnu.org>
5382
5383        * builds/cygwin/cygwin-def.in: Same fix as previous.
5384
53852000-11-10  Tom Kacvinsky  <tkacvins@freetype.org>
5386
5387        * builds/unix/unix-def.in: Add
5388
5389            INSTALL_PROGRAM := @INSTALL_PROGRAM@
5390            INSTALL_SCRIPT  := @INSTALL_SCRIPT@
5391
5392        so that installation of freetype-config does not fail.
5393
53942000-11-10  Werner Lemberg  <wl@gnu.org>
5395
5396        * builds/cygwin/freetype-config.in, builds/unix/freetype-config.in:
5397        Move test down for empty --exec-prefix.
5398        Fix --version.
5399
5400        * builds/cygwin/install.mk, builds/unix/install.mk: Use
5401        $(INSTALL_SCRIPT) for installation of freetype-config.
5402
5403        * builds/cygwin/install.mk: Fix clean target names.
5404
54052000-11-09  David Turner  <david@freetype.org>
5406
5407
5408        * Version 2.0 released.
5409        =======================
5410
5411
5412Local Variables:
5413version-control: never
5414coding: latin-1
5415End:
Note: See TracBrowser for help on using the repository browser.