Ignore:
Timestamp:
Jan 17, 2009, 10:45:05 AM (12 years ago)
Author:
Eugene Romanenko
Message:

PDF plugin: freetype library updated to version 2.3.8

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/poppler/freetype2/ChangeLog

    r209 r262  
     12009-01-14  Werner Lemberg  <wl@gnu.org>
     2
     3        * Version 2.3.8 released.
     4        =========================
     5
     6
     7        Tag sources with `VER-2-3-8'.
     8
     9        * docs/VERSION.DLL: Update documentation and bump version number to
     10        2.3.8.
     11
     12        * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
     13        builds/win32/visualc/freetype.dsp,
     14        builds/win32/visualc/freetype.vcproj,
     15        builds/win32/visualce/index.html,
     16        builds/win32/visualce/freetype.dsp,
     17        builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
     18
     19        * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
     20
     21        * builds/unix/configure.raw (version_info): Set to 9:19:3.
     22
     23        * docs/release: Updated.
     24
     252009-01-14  Werner Lemberg  <wl@gnu.org>
     26
     27        * builds/toplevel.mk (dist): Compress better.
     28
     292009-01-13  Werner Lemberg  <wl@gnu.org>
     30
     31        * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
     32        with C++.
     33
     342009-01-13  Werner Lemberg  <wl@gnu.org>
     35
     36        Don't use stdlib.h and friends directly.
     37        Reported by Mickey Gabel <mickey@monfort.co.il>.
     38
     39        * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
     40
     41        * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
     42        s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
     43
     44        * src/autofit/aftypes.h, src/autofit/afhints.c,
     45        src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
     46
     47        * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
     48
     492009-01-12  Werner Lemberg  <wl@gnu.org>
     50
     51        Avoid compiler warnings.
     52
     53        * */*: s/do ; while ( 0 )/do { } while ( 0 )/.
     54        Reported by Sean McBride <sean@rogue-research.com>.
     55
     562009-01-12  Werner Lemberg  <wl@gnu.org>
     57
     58        Fix stdlib dependencies.
     59
     60        Problem reported by Mickey Gabel <mickey@monfort.co.il>.
     61
     62        * include/freetype/config/ftstdlib.h (ft_exit): Removed.  Unused.
     63
     64        * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
     65        s/memcpy/ft_memcpy/.
     66        * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
     67
     682009-01-11  Werner Lemberg  <wl@gnu.org>
     69
     70        * docs/formats.txt: Add link to PCF specification.
     71
     72        * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
     73        documentation.
     74
     752009-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     76
     77        * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
     78        FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
     79        FT_Int32, to match with the flags for FT_Load_Glyph().
     80        * src/cff/cffdrivr.c (cff_get_advances): Ditto.
     81        * src/truetype/ttdriver.c (tt_get_advances): Ditto.
     82        * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
     83        Ditto.
     84        * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
     85        Ditto.
     86
     872009-01-09  Daniel Zimmermann  <netzimme@aol.com>
     88
     89        * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
     90        length check.  From Savannah patch #6682.
     91
     922009-01-09  Werner Lemberg  <wl@gnu.org>
     93
     94        Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
     95
     96        * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
     97        `count_offset' if it is zero (i.e., unused).  Otherwise, the first
     98        element of the structure which holds the data is erroneously
     99        modified.  Problem reported by Chi Nguyen <chint@necsv.com>.
     100
     1012009-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     102
     103        * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
     104        FT_Get_Advances): Extend the type of load_flags from FT_UInt to
     105        FT_UInt32, to pass 32-bit flags on 16bit platforms.
     106        * src/cff/cffdrivr.c (cff_get_advances): Ditto.
     107        * src/truetype/ttdriver.c (tt_get_advances): Ditto.
     108        * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
     109        Ditto.
     110        * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
     111        Ditto.
     112
     1132009-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     114
     115        * src/base/ftobjs.c (FT_Done_Library): Issue an error message when
     116        FT_Done_Face() cannot free all faces. If the list of the opened
     117        faces includes broken face which FT_Done_Face() cannot free,
     118        FT_Done_Library() retries FT_Done_Face() and it can fall into
     119        an endless loop. See the discussion:
     120        http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
     121        http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
     122
     1232009-01-07  Werner Lemberg  <wl@gnu.org>
     124
     125        * docs/CHANGES: Document new key `a' in ftdiff.
     126
     1272009-01-06  Werner Lemberg  <wl@gnu.org>
     128
     129        * autogen.sh: Don't use GNUisms while calling sed.  Problem reported
     130        by Sean McBride.
     131
     1322009-01-06  Werner Lemberg  <wl@gnu.org>
     133
     134        * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
     135        and FT_PIXEL_MODE_LCD_V.  Problem reported by Chi Nguyen
     136        <chint@necsv.com>.
     137
     1382009-01-06  Diego Pettenò  <flameeyes@gmail.com>
     139
     140        * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
     141        AC_CANONICAL_TARGET and use $host_os only.  A nice explanation for
     142        this change can be found at
     143        http://blog.flameeyes.eu/s/canonical-target.
     144
     145        From Savannah patch #6712.
     146
     1472009-01-06  Sean McBride  <sean@rogue-research.com>
     148
     149        * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
     150
     151        * src/base/ftmac.c: Remove some #undefs.
     152
     1532008-12-26  Werner Lemberg  <wl@gnu.org>
     154
     155        Set `face_index' field in FT_Face for all font formats.
     156
     157        * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
     158        sfnt/sfobjs.c (sfnt_init_face): Do it.
     159
     160        * docs/CHANGES: Document it.
     161
     1622008-12-22  Steve Grubb
     163
     164        * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
     165        Patch from Savannah bug #25151.
     166
     1672008-12-21  Werner Lemberg  <wl@gnu.org>
     168
     169        * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
     170        src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
     171        s/_Err_Bad_Argument/_Err_Invalid_Argument/.  The former is for
     172        errors in the bytecode interpreter only.
     173
     1742008-12-21  Werner Lemberg  <wl@gnu.org>
     175
     176        * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
     177        arguments.
     178        Fix return value for non-PFR fonts.  Both problems reported by Chi
     179        Nguyen <chint@necsv.com>.
     180
     1812008-12-21  anonymous
     182
     183        FT_USE_MODULE declares things as:
     184
     185          extern const FT_Module_Class
     186
     187        (or similar for C++).  However, the actual types of the variables
     188        being declared are often different, e.g., FT_Driver_ClassRec or
     189        FT_Renderer_Class.  (Some are, indeed, FT_Module_Class.)
     190
     191        This works with most C compilers (since those structs begin with an
     192        FT_Module_Class struct), but technically it's undefined behavior.
     193
     194        To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
     195        paragraph 2:
     196
     197          All declarations that refer to the same object or function shall
     198          have compatible type; otherwise, the behavior is undefined.
     199
     200        (And they are not compatible types.)
     201
     202        Most C compilers don't reject (or even detect!) code which has this
     203        issue, but the GCC LTO development branch compiler does.  (It
     204        outputs the types of the objects while generating .o files, along
     205        with a bunch of other information, then compares them when doing the
     206        final link-time code generation pass.)
     207
     208        Patch from Savannah bug #25133.
     209
     210        * src/base/ftinit.c (FT_USE_MODULE): Include variable type.
     211
     212        * builds/amiga/include/freetype/config/ftmodule.h,
     213        include/freetype/config/ftmodule.h, */module.mk: Updated to declare
     214        pass correct types to FT_USE_MODULE.
     215
     2162008-12-21  Hongbo Ni  <hongbo@njstar.com>
     217
     218        * src/autofit/aflatin.c (af_latin_hint_edges),
     219        src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
     220        (af_cjk_hint_edges): Protect against division by zero.  This fixes
     221        Savannah bug #25124.
     222
     2232008-12-18  Werner Lemberg  <wl@gnu.org>
     224
     225        * docs/CHANGES: Updated.
     226
     2272008-12-18  Bevan, David  <dbevan@emtex.com>
     228
     229        Provide API for accessing embedding and subsetting restriction
     230        information.
     231
     232        * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
     233        FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
     234        FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
     235        FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
     236        macros.
     237        (FT_Get_FSType_Flags): New function declaration.
     238
     239        * src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
     240
     241        * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
     242        (t42_keywords): Handle `FSType'.
     243
     244        * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
     245
     2462008-12-17  Werner Lemberg  <wl@gnu.org>
     247
     248        * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
     249        macros so that copying the source code into an application works
     250        out of the box.
     251
     2522008-12-17  Werner Lemberg  <wl@gnu.org>
     253
     254        * include/freetype/ftsynth.h, src/base/ftsynth.c: Move
     255        FT_GlyphSlot_Own_Bitmap to...
     256        * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
     257
     258        * docs/CHANGES: Document it.
     259
     2602008-12-10  Werner Lemberg  <wl@gnu.org>
     261
     262        Generalize the concept of `tricky' fonts by introducing
     263        FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
     264        engine is necessary for correct rendering.
     265
     266        At the same time, slightly modify the behaviour of tricky fonts:
     267        FT_LOAD_NO_HINTING is now ignored.  To really force raw loading
     268        of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
     269        FT_LOAD_NO_AUTOHINT must be used.
     270
     271        Finally, tricky TrueType fonts always use the bytecode interpreter
     272        even if the patented code is used.
     273
     274        * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
     275        New macros.
     276
     277        * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
     278        semantics as described above.
     279
     280        * src/truetype/ttobjs.c (tt_check_trickyness): New function, using
     281        code of ...
     282        (tt_face_init): This function, now simplified and updated to new
     283        semantics.
     284
     285        * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
     286        fonts.
     287
     288        * docs/CHANGES: Document it.
     289
     2902008-12-09  Werner Lemberg  <wl@gnu.org>
     291
     292        Really fix Savannah bug #25010: An SFNT font with neither outlines
     293        nor bitmaps can be considered as containing space `glyphs' only.
     294
     295        * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
     296        a `glyf' table is missing.
     297
     298        * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
     299        `glyf' table but a non-zero `loca' entry.
     300        (tt_loader_init): Handle missing `glyf' table.
     301
     302        * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
     303
     304        * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
     305        nor bitmaps is scalable.
     306
     3072008-12-05  Werner Lemberg  <wl@nu.org>
     308
     309        * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges.  This
     310        fixes Savannah bug #21190 which also provides a basic patch.
     311
     3122008-12-05  Werner Lemberg  <wl@nu.org>
     313
     314        * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
     315        0x100 instead of 0x10000; the latter value is already occupied by
     316        FT_LOAD_TARGET_LIGHT.  Bug reported by James Cloos.
     317
     318
     319        Handle SFNT with neither outlines nor bitmaps.  This fixes Savannah
     320        bug #25010.
     321
     322        * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
     323        outlines nor bitmaps.
     324
     325        * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
     326        is no table with glyphs.
     327
     328
     329        * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
     330        message.
     331
     3322008-12-01  Werner Lemberg  <wl@gnu.org>
     333
     334        GDEF tables need `glyph_count' too for validation.  Problem reported
     335        by Chi Nguyen <chint@necsv.com>.
     336
     337        * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
     338        (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
     339        `glyph_count'.
     340
     3412008-11-29  Werner Lemberg  <wl@gnu.org>
     342
     343        * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
     344        src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
     345        src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
     346        src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
     347        src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
     348        (Atari PureC).
     349
     3502008-11-29  James Cloos  <cloos@jhcloos.com>
     351
     352        * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
     353        it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
     354        in the /BlendDesignMap space).
     355
     3562008-11-29  James Cloos  <cloos@jhcloos.com>
     357
     358        * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
     359        whereas `design_points' is FT_Long*.  Therefore, return blend rather
     360        than design points.
     361
     3622008-11-27  Werner Lemberg  <wl@gnu.org>
     363
     364        * src/cff/cffparse.c (cff_parse_real): Handle more than nine
     365        significant digits correctly.  This fixes Savannah bug #24953.
     366
     3672008-11-25  Daniel Zimmermann  <netzimme@aol.com>
     368
     369        * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
     370        before the NULL check.  From Savannah patch #6681.
     371
     3722008-11-24  Werner Lemberg  <wl@gnu.org>
     373
     374        Fixes from the gnuwin32 port.
     375
     376        * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
     377
     378        * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
     379
     380        * src/psaux/psobjs.c (ps_table_add): Check `length'.
     381
     3822008-11-15  Werner Lemberg  <wl@gnu.org>
     383
     384        * src/truetype/ttinterp.c (tt_default_graphics_state): The default
     385        value for `scan_type' is zero, as confirmed by Greg Hitchcock from
     386        Microsoft.  Problem reported by Michal Nowakowski
     387        <miszka@limes.com.pl>.
     388
     3892008-11-12  Tor Andersson  <tor.andersson@gmail.com>
     390
     391        * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
     392        This fixes Savannah bug #24819.
     393
     3942008-11-08  Werner Lemberg  <wl@gnu.org>
     395
     396        * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
     397        since OpenType version 1.5 has been released.
     398
     399        * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
     400        TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
     401        (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
     402        TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
     403        TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
     404        TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
     405        TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
     406        TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
     407        TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
     408        TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
     409        TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
     410        TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
     411        TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
     412        macros for OpenType 1.5.
     413
     4142008-11-08  Wenlin Institute  <wenlin@wenlin.com>
     415
     416        * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
     417        slot->internal == NULL.  Reported by Graham Asher.
     418
     4192008-11-08  Werner Lemberg  <wl@gnu.org>
     420
     421        * src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
     422        code so that memory allocation problems can be distinguished from
     423        missing table entries.  Reported by Graham Asher.
     424        (GET_NAME): New macro.
     425        (sfnt_load_face): Use it.
     426
     4272008-11-05  Werner Lemberg  <wl@gnu.org>
     428
     429        * devel/ftoption.h, include/freetype/config/ftoption.h
     430        [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
     431        TT_CONFIG_OPTION_UNPATENTED_HINTING.  This fixes the return value of
     432        `FT_Get_TrueType_Engine_Type' (and makes it work as documented).
     433        Reported in bug #441638 of bugzilla.novell.com.
     434
     435        * docs/CHANGES: Document it.
     436
     4372008-11-03  Werner Lemberg  <wl@gnu.org>
     438
     439        * src/type1/t1load.c (parse_subrs): Use an endless loop.  There are
     440        fonts (like HELVI.PFB version 003.001, used on OS/2) which define
     441        some `subrs' elements more than once.  Problem reported by Peter
     442        Weilbacher <mozilla@weilbacher.org>.
     443
     4442008-10-15  Graham Asher  <graham.asher@btinternet.com>
     445
     446        * src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
     447
     4482008-10-15  David Turner  <david@freetype.org>
     449
     450        * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
     451        meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
     452
     4532008-10-14  Werner Lemberg  <wl@gnu.org>
     454
     455        * src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
     456        Suggested by Bram Tassyns in Savannah patch #6651.
     457
     4582008-10-12  Graham Asher  <graham.asher@btinternet.com>
     459
     460        * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
     461        `underline_position'.
     462
     4632008-10-12  Werner Lemberg  <wl@gnu.org>
     464
     465        * docs/CHANGES: Updated.
     466
     4672008-10-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     468
     469        Fix Savannah bug #24468.
     470
     471        According to include/freetype/internal/ftobjs.h, the appropriate
     472        type to interchange single character codepoint is FT_UInt32. It
     473        should be distinguished from FT_UInt which can be 16bit integer.
     474
     475        * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
     476        of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
     477        (tt_cmap4_char_map_binary): Ditto.
     478        (tt_cmap14_get_nondef_chars): Change the type of return value
     479        from FT_UInt* to FT_UInt32*.
     480
     4812008-10-08  John Tytgat  <John.Tytgat@esko.com>
     482
     483        Fix Savannah bug #24485.
     484
     485        * src/type1/t1load.c (parse_charstrings): Assure that we always have
     486        a .notdef glyph.
     487
     4882008-10-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     489
     490        * src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
     491        * builds/mac/ftmac.c: Ditto.
     492
     4932008-10-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     494
     495        * include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
     496        * src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
     497
     4982008-10-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     499
     500        * src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
     501        the beginning of sfnt container.
     502        * src/sfnt/ttload.c (check_table_dir): Return
     503        `SFNT_Err_Table_Missing' when sfnt table directory structure is
     504        correct but essential tables for TrueType fonts (`head', `bhed' or
     505        `SING') are missing.  Other errors are returned by
     506        SFNT_Err_Unknown_File_Format.
     507
     508        * src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
     509        `FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'.  It is
     510        enabled only when old mac font support is configured.
     511
     5122008-10-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     513
     514        * include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
     515        TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
     516        the repeated calculations of these values in ftobjs.c and ftmac.c.
     517        * src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
     518        * src/base/ftmac.c: Ditto.
     519        * builds/mac/ftmac.c: Ditto.
     520
     5212008-10-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     522
     523        * src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
     524        initialization of *is_sfnt_cid.
     525
     5262008-10-04  Werner Lemberg  <wl@gnu.org>
     527
     528        * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
     529        warnings.
     530
     5312008-10-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     532
     533        * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
     534        (ft_lookup_PS_in_sfnt_stream): This.
     535        (open_face_PS_from_sfnt_stream): New function.  It checks whether
     536        the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
     537        font, then try to open a face for given face_index.
     538        (Mac_Read_sfnt_Resource): Replace the combination of
     539        `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
     540        `open_face_PS_from_sfnt_stream'.
     541        * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
     542        * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
     543        * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
     544        `open_face_PS_from_sfnt_stream'.
     545
     5462008-10-03  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     547
     548        * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
     549        FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
     550
     5512008-10-03  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     552
     553        * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
     554        MrC compiler of MPW is used.  These compilers do not define the
     555        macro __APPLE__ by themselves.
     556        * builds/unix/ftconfig.in: Ditto.
     557        * builds/vms/ftconfig.h: Ditto.
     558        * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
     559        include ftmac.c if FreeType 2 is built by MPW.
     560        * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
     561        enable shared functions for ftmac.c if FreeType 2 is built by MPW.
     562
     563        * builds/mac/ftmac.c: Include ftbase.h.
     564        (memory_stream_close): Removed.
     565        (new_memory_stream): Ditto.
     566        (open_face_from_buffer): Removed.  Use the implementation in
     567        ftobjs.c.
     568        (ft_lookup_PS_in_sfnt): Ditto.
     569
     570        * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
     571        included part of ftbase.c, to share the functions in ftobjs.c.  The
     572        rule compiling ftmac.c separately is removed and the rule copying
     573        ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
     574        * builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
     575        * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
     576        * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
     577
     5782008-10-02  Bram Tassyns  <bramt@enfocus.be>
     579
     580        * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0.  This
     581        fixes Savannah bug #24430.
     582
     5832008-10-02  Werner Lemberg  <wl@gnu.org>
     584
     585        * builds/freetype.mk (BASE_H): Rename to...
     586        (INTERNAL_H): This.
     587        (FREETYPE_H): Updated.
     588        * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
     589        * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
     590        * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
     591        * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
     592        * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
     593        * src/type42/rules.mk (T42_DRV_H): Add t42types.h.
     594
     5952008-10-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     596
     597        * src/base/ftbase.h: New file to declare the private utility
     598        functions shared by the sources of base modules.  Currently,
     599        `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
     600        share between ftobjs.c and ftmac.c.
     601
     602        * src/base/rule.mk: Add ftbase.h.
     603
     604        * src/base/ftobjs.c: Include ftbase.h.
     605        (memory_stream_close): Build on any platform when old MacOS font
     606        support is enabled.
     607        (new_memory_stream): Ditto.
     608        (open_face_from_buffer): Build on any platform when old MacOS font
     609        support is enabled.  The counting of the face in a font file is
     610        slightly different between Carbon-dependent parser and Carbon-free
     611        parser.  They are merged with the platform-specific conditional.
     612        (ft_lookup_PS_in_sfnt): Ditto.
     613
     614        * src/base/ftmac.c: Include ftbase.h.
     615        (memory_stream_close): Removed.
     616        (new_memory_stream): Ditto.
     617        (open_face_from_buffer): Removed.  Use the implementation in
     618        ftobjs.c.
     619        (ft_lookup_PS_in_sfnt): Ditto.
     620
     6212008-10-02  Werner Lemberg  <wl@gnu.org>
     622
     623        * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
     624        if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
     625
     6262008-10-01  Werner Lemberg  <wl@gnu.org>
     627
     628        * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
     629        (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
     630        src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
     631        (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
     632        src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
     633        Reported by Graham Asher.
     634
     6352008-09-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     636
     637        * src/base/rules.mk: Add conditional source to BASE_SRC, for `make
     638        multi' on Mac OS X.  If the macro $(ftmac_c) is defined,
     639        $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC.  In a normal build, the
     640        lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
     641        ftmac.c.
     642        * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
     643        * builds/unix/configure.raw: Add procedure to set up appropriate
     644        value of $(ftmac_c) with the consideration of the availability of
     645        Carbon framework.
     646
     6472008-09-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     648
     649        * src/base/Jamfile: Add target for multi build by jam on Mac OS X.
     650        * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
     651        function for MPW building.  It is synchronized the condition to
     652        include ftmac.c source into ftbase.c.
     653
     6542008-09-22  Werner Lemberg  <wl@gnu.org>
     655
     656        * src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
     657        cff_decoder_parse_charstrings): Handle (invalid)
     658        `callothersubr' and `pop' instructions.
     659
     6602008-09-22  John Tytgat  <John.Tytgat@esko.com>
     661
     662        Fix Savannah bug #24307.
     663
     664        * include/freetype/internal/t1types.h (CID_FaceRec),
     665        src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
     666
     6672008-09-21  Werner Lemberg  <wl@gnu.org>
     668
     669        * src/smooth/ftgrays.c (gray_raster_render): Don't dereference
     670        `target_map' if FT_RASTER_FLAG_DIRECT is set.  Problem reported by
     671        Stephan T. Lavavej <stl@nuwen.net>.
     672
     6732008-09-21  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     674
     675        * src/otvalid/Jamfile: Add missing target `otvmath' for multi build
     676        by jam.
     677        * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
     678        jam.
     679
     6802008-09-20  Werner Lemberg  <wl@gnu.org>
     681
     682        * src/smooth/ftgrays.c (gray_find_cell): Fix threshold.  The values
     683        passed to this function are already `normalized'.  Problem reported
     684        by Stephan T. Lavavej <stl@nuwen.net>.
     685
     686        * docs/CHANGES: Document it.
     687
     6882008-09-20  Werner Lemberg  <wl@gnu.org>
     689
     690        * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
     691        (FT_Outline_Decompose): Decorate with tracing messages.
     692
     693        * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
     694        FT_DEBUG_LEVEL_TRACE.
     695        [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
     696        stdarg.h.
     697
     698        (FT_TRACE) [_STANDALONE_]: Remove.
     699        (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
     700        (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
     701        (FT_ERROR) [_STANDALONE_]: Updated.
     702
     703        (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
     704        Use FT_TRACE7.
     705        (gray_dump_cells): Make it `static void'.
     706        (gray_convert_glyph): Use FT_TRACE7.
     707
     708        (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
     709        ftoutln.c.
     710
     711        * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
     712        FT_ERROR_BASE.
     713
     714        * docs/formats.txt: Updated.
     715
     7162008-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     717
     718        * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
     719        CID-keyed font support.
     720        * builds/mac/ftmac.c: Ditto.
     721
     7222008-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     723
     724        * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
     725        sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
     726        `open_face_from_buffer' frees the passed buffer if it cannot open a
     727        face from the buffer, so the caller must not free it.
     728
     7292008-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     730
     731        * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
     732        for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
     733        (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
     734        table in sfnt table directory.  It is used before loading TrueType
     735        font driver.
     736
     737        * docs/CHANGES: Add note about the current status of sfnt-wrapped
     738        Type1 and sfnt-wrapped CID-keyed font support.
     739
     7402008-09-18  Werner Lemberg  <wl@gnu.org>
     741
     742        * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
     743        orthogonality (ft_free and ft_sfree could belong to different memory
     744        pools).  This fixes Savannah bug #24297.
     745
     7462008-09-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     747
     748        * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
     749        in ttags.h instead of numerical value 0x4F54544FL.
     750
     7512008-09-16  Werner Lemberg  <wl@gnu.org>
     752
     753        * src/cff/cffgload.h, src/cff/cffgload.c
     754        (cff_decoder_set_width_only): Eliminate function call.
     755
     7562008-09-15  George Williams  <gww@silcom.com>
     757
     758        Fix Savannah bug #24179, reported by Bram Tassyns.
     759
     760        * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
     761        of default values.
     762
     7632008-09-15  Werner Lemberg  <wl@gnu.org>
     764
     765        * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
     766        and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
     767        prevent unconditional definition.  This fixes Savannah bug #24241.
     768
     769        * src/psnames/pstables.h: Regenerated.
     770
     7712008-09-13  Werner Lemberg  <wl@gnu.org>
     772
     773        * autogen.sh, builds/unix/configure.raw,
     774        include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
     775        beautifying.
     776
     777        * include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
     778        include/freetype/ftlcdfil.h: Protect against FreeType 1.
     779        Some other minor fixes.
     780
     781        * devel/ftoption.h: Synchronize with
     782        include/freetype/config/ftoption.h.
     783
     7842008-09-11  Werner Lemberg  <wl@gnu.org>
     785
     786        * src/base/ftbase.c: Include ftadvanc.c.
     787
     7882008-09-11  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     789
     790        * builds/unix/ftconfig.in: Duplicate the cpp computation of
     791        FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
     792        (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro.  If defined, the cpp
     793        computation is disabled and the statically configured sizes are
     794        used.  This fixes Savannah bug #21250.
     795
     796        * builds/unix/configure.raw: Add the checks to compare the cpp
     797        computation results of the bit length of int and long versus the
     798        sizes detected by running `configure'.  If the results are
     799        different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
     800        results.
     801        New option --{enable|disable}-biarch-config is added to define or
     802        undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
     803
     8042008-09-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     805
     806        * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
     807        ApplicationService framework is missing.  Although this value is not
     808        used in building of FreeType2, it is written in `freetype2.pc' and
     809        `freetype-config'.
     810
     8112008-09-01  david turner  <david@freetype.org>
     812
     813        * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
     814        index to mean `use default cached FT_Face's charmap'.  This fixes
     815        Savannah bug #22625.
     816        * include/freetype/ftcache.h: Document it.
     817
     818
     819        Make FT_MulFix an inlined function.  This is done to speed up
     820        FreeType a little (on x86 3% when loading+hinting, 10% when
     821        rendering, ARM savings are more important though).  Disable this by
     822        undefining FT_CONFIG_OPTION_INLINE_MULFIX.
     823
     824        Use of assembler code can now be controlled with
     825        FT_CONFIG_OPTION_NO_ASSEMBLER.
     826
     827        * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
     828        [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
     829        implementation.
     830        [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
     831        implementation taken from `ftcalc.c'.
     832        [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
     833        which is defined to the platform-specific assembler implementation
     834        of FT_MulFix.
     835        [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
     836        (FT_MULFIX_INLINED): New macro.
     837
     838        * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
     839        FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
     840
     841        * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
     842
     843        * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
     844        FT_MULFIX_INLINED.
     845
     846
     847        Add a new header named FT_ADVANCES_H declaring some new APIs to
     848        extract the advances of one or more glyphs without necessarily
     849        loading their outlines.  Also provide `fast loaders' for the
     850        TrueType, Type1, and CFF font drivers (more to come later).
     851
     852        * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
     853
     854        * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
     855        * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
     856
     857        * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
     858        `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
     859        respectively.
     860
     861        * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
     862        ftadvanc.c.
     863
     864        * src/cff/cffdrivr.c (cff_get_advances): New function.
     865        (cff_driver_class): Register it.
     866
     867        * src/cff/cffgload.c (cff_decoder_set_width_only): New function.
     868        (cff_decoder_parse_charstrings): Handle `width_only'.
     869        (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
     870
     871        * src/cff/cffgload.h (cff_decoder): New element `width_only'.
     872        (cff_decoder_set_width_only): New declaration.
     873
     874        * src/truetype/ttdriver.c (tt_get_advances): New function.
     875        (tt_driver_class): Register it.
     876
     877        * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
     878        (TT_Get_HMetrics, TT_Get_VMetrics): This.
     879        Update callers.
     880        * src/truetype/ttgload.h: Declare them.
     881
     882        * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
     883        function.
     884        * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
     885
     886
     887        Add checks for minimum version of the `autotools' stuff.
     888
     889        * autogen.sh: Implement it.
     890        (get_major_version, get_minor_version, get_patch_version,
     891        compare_to_minimum_version, check_tool_version): New auxiliary
     892        functions.
     893
     894        * README.CVS: Document it.
     895
     8962008-08-29  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     897
     898        * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
     899        ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
     900
     9012008-08-28  Werner Lemberg  <wl@gnu.org>
     902
     903        * src/type1/t1load.c (parse_encoding): Protect against infinite
     904        loop.  This fixes Savannah bug #24150 (where a patch has been posted
     905        too).
     906
     9072008-08-23  Werner Lemberg  <wl@gnu.org>
     908
     909        * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
     910        (afm_compare_kern_pairs): Fix comparison.  This fixes Savannah bug
     911        #24119.
     912
     9132008-08-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     914
     915        * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
     916        even if passed library or arguments are invalid.  This fixes a bug
     917        that an uninitialized stream is freed when an invalid library handle
     918        is passed.  Originally proposed by Mike Fabian, 2008/08/18 on
     919        freetype-devel.
     920        (FT_Open_Face): Ditto (stream).
     921        (load_face_in_embedded_rfork): Ditto (stream2).
     922
     9232008-08-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     924
     925        * src/base/ftmac.c: Add a fallback to guess the availability of the
     926        `ResourceIndex' type.  It is used when built without configure
     927        (e.g., a build with Jam).
     928        * builds/mac/ftmac.c: Ditto.
     929        * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
     930        explicitly, even if `ResourceIndex' is unavailable.
     931
     9322008-08-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     933
     934        * builds/unix/configure.raw: In checking of Mac OS X features,
     935        all-in-one header file `Carbon.h' is replaced by the minimum
     936        header file `CoreServices.h', similar to current src/base/ftmac.c.
     937
     9382008-08-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     939
     940        * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
     941        sub-header when its code_count is 0.  Many Japanese Dynalab fonts
     942        include such an empty sub-header (code_count == 0, first_code == 0
     943        delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
     944
     9452008-08-04  Werner Lemberg  <wl@gnu.org>
     946
     947        * src/type1/t1tokens.h: Handle `ForceBold' keyword.  This fixes
     948        Savannah bug #23995.
     949
     950        * src/cid/cidload.c (parse_expansion_factor): New callback function.
     951        (cid_field_records): Use it for `ExpansionFactor'.
     952        * src/cod/cidtoken.h: Handle `ForceBold' keyword.
     953        Don't handle `ExpansionFactor'.
     954
     9552008-08-04  Bram Tassyns  <bramt@enfocus.be>
     956
     957        * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
     958        resulted in incorrect scaling.  This fixes Savannah bug #23973.
     959
     9602008-08-04  Werner Lemberg  <wl@gnu.org>
     961
     962        Be more tolerant w.r.t. invalid entries in SFNT table directory.
     963
     964        * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
     965        adjust table count.
     966        Add more trace messages.
     967        (tt_face_load_font_dir): Updated.
     968
     9692008-07-30  Werner Lemberg  <wl@gnu.org>
     970
     971        * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
     972        assume that the first argument on the stack is the bottom-most
     973        element.  Two reasons:
     974
     975          o According to people from Adobe it is missing in the Type 2
     976            specification that pushing of additional, superfluous arguments
     977            on the stack is prohibited.
     978
     979          o Acroread in general handles fonts differently, namely by popping
     980            the number of arguments needed for a particular operand (as a PS
     981            interpreter would do).  In case of buggy fonts this causes a
     982            different interpretation which of the elements on the stack are
     983            superfluous and which not.
     984
     985        Since there are CFF subfonts (embedded in PDFs) which rely on
     986        Acroread's behaviour, FreeType now does the same.
     987
     9882008-07-27  Werner Lemberg  <wl@gnu.org>
     989
     990        Add extra mappings for `Tcommaaccent' and `tcommaaccent'.  This
     991        fixes Savannah bug #23940.
     992
     993        * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
     994        (EXTRA_GLYPH_LIST_SIZE): This.
     995        Increase by 2.
     996        (ft_wgl_extra_unicodes): Rename to...
     997        (ft_extra_glyph_unicodes): This.
     998        Add two code values.
     999        (ft_wgl_extra_glyph_names): Rename to...
     1000        (ft_extra_glyph_names): This.
     1001        Add two glyphs.
     1002        (ft_wgl_extra_glyph_name_offsets): Rename to...
     1003        (ft_extra_glyph_name_offsets): This.
     1004        Add two offsets.
     1005
     1006        (ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
     1007        (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
     1008        Updated.
     1009        (ps_unicodes_init): Updated.
     1010
     10112008-07-26  Werner Lemberg  <wl@gnu.org>
     1012
     1013        * src/cff/cffgload.c (cff_decoder_prepare,
     1014        cff_decoder_parse_charstrings): Improve debug output.
     1015
     10162008-07-22  Martin McBride  <mmcbride@emtex.com>
     1017
     1018        * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
     1019        tt_cmap4_char_map_binary): Handle fonts which treat the last segment
     1020        specially.  According to the specification, such fonts would be
     1021        invalid but acroread accepts them.
     1022
     10232008-07-16  Jon Foster  <Jon.Foster@cabot.co.uk>
     1024
     1025        * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
     1026
     1027        * src/base/ftcalc.c (FT_MulFix): Fix portability issue.
     1028
     1029        * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
     1030        Fix compiler warning.
     1031
     10322008-07-16  Werner Lemberg  <wl@gnu.org>
     1033
     1034        Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
     1035
     1036        * src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
     1037        Invert sids table only if `pure_cff' is set.
     1038        * src/cff/cffload.h: Udpated.
     1039
     1040        * src/cff/cffobjs.c (cff_face_init): Updated.
     1041        Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
     1042
     1043        * docs/CHANGES: Updated.
     1044
     10452008-07-09  Werner Lemberg  <wl@gnu.org>
     1046
     1047        * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
     1048        where num_locations < num_glyphs.  Problem reported by Ding Li.
     1049
     10502008-07-05  Werner Lemberg  <wl@gnu.org>
     1051
     1052        Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
     1053        newer.  This fixes Savannah bug #23648.
     1054
     1055        * configure: zsh doesn't like ${1+"$@"}.
     1056        Update needed GNU make version.
     1057        * builds/toplevel.mk: Check for `$(eval ...)'.
     1058        * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
     1059        it.
     1060
     10612008-07-04  Werner Lemberg  <wl@gnu.org>
     1062
     1063        * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
     1064        pixel, only check for dropouts if neither start nor end point lies
     1065        on a pixel center.  This fixes Savannah bug #23762.
     1066
     10672008-06-29  Werner Lemberg  <wl@gnu.org>
     1068
     1069        * Version 2.3.7 released.
     1070        =========================
     1071
     1072
     1073        Tag sources with `VER-2-3-7'.
     1074
     1075        * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
     1076        version number to 2.3.7.
     1077
     1078        * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
     1079        builds/win32/visualc/freetype.dsp,
     1080        builds/win32/visualc/freetype.vcproj,
     1081        builds/win32/visualce/index.html,
     1082        builds/win32/visualce/freetype.dsp,
     1083        builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
     1084
     1085        * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
     1086
     1087        * builds/unix/configure.raw (version_info): Set to 9:18:3.
     1088
     1089        * docs/release: Updated.
     1090
     10912008-06-28  Werner Lemberg  <wl@gnu.org>
     1092
     1093        * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
     1094        * src/ftcalc.c: Here.  This fixes Savannah bug #23729.
     1095
     10962008-06-27  Werner Lemberg  <wl@gnu.org>
     1097
     1098        * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
     1099        Horizontal_Gray_Sweep_Drop): Test for intersections which
     1100        degenerate to a single point can be ignored; this has been confirmed
     1101        by Greg Hitchcock from Microsoft.  (This was commented out code.)
     1102
     11032008-06-26  Werner Lemberg  <wl@gnu.org>
     1104
     1105        Improve navigation in API reference.
     1106
     1107        * src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
     1108        (html_header_6): This.
     1109        (html_header_3, html_header_3i, html_header_4, html_header_5,
     1110        html_header_5t): New strings.
     1111        (toc_footer_start, toc_footer_end): New strings.
     1112        (HtmlFormatter::html_header): Updated.
     1113        (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
     1114        New strings.
     1115        (HtmlFormatter::index_enter): Use `html_index_header'.
     1116        (HtmlFormatter::index_exit): Print `html_footer'.
     1117        (HtmlFormatter::toc_enter): Use `html_toc_header'.
     1118        (HtmlFormatter::toc_exit): Print proper footer.
     1119
     1120        Convert ~ to non-breakable space.
     1121
     1122        * src/tools/docmaker/tohtml.py (make_html_para): Implement it.
     1123        Update header files accordingly.
     1124
     11252008-06-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1126
     1127        * builds/unix/configure.raw: Check type `ResourceIndex' explicitly
     1128        and define HAVE_TYPE_RESOURCE_INDEX if it is defined.  Mac OS X 10.5
     1129        bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
     1130        ResourceIndex type definition.  The macro does not inform the type
     1131        availability.
     1132        * src/base/ftmac.c: More parentheses are inserted to clarify the
     1133        conditionals to disable legacy APIs in `10.5 and later' cases.  If
     1134        HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
     1135
     11362008-06-24  Werner Lemberg  <wl@gnu.org>
     1137
     1138        * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
     1139        mode.
     1140
     1141        * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
     1142        Draw_Sweep): No-dropout mode is value 2, not value 0.
     1143        (Draw_Sweep): Really skip dropout handling for no-dropout mode.
     1144
     11452008-06-24  Werner Lemberg  <wl@gnu.org>
     1146
     1147        * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
     1148        if it consists of one point only.  Based on a patch from Savannah
     1149        bug #23683 (from John Tytgat).
     1150
     11512008-06-22  Werner Lemberg  <wl@gnu.org>
     1152
     1153        * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
     1154        with IS_HINTED.
     1155
     1156        * docs/CHANGES: Updated.
     1157
     11582008-06-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1159
     1160        * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
     1161        but LDFLAGS does not, import it to LDFLAGS.  The option is used to
     1162        specify non-default SDK on Mac OS X (e.g., universal binary SDK for
     1163        Mac OS X 10.4 on PowerPC platform).  Although Apple TechNote 2137
     1164        recommends to add the option only to CFLAGS, LDFLAGS should include
     1165        it because libfreetype.la is built with -no-undefined.  This fixes a
     1166        bug reported by Ryan Schmidt in MacPorts,
     1167        http://trac.macports.org/ticket/15331.
     1168
     11692008-06-21  Werner Lemberg  <wl@gnu.org>
     1170
     1171        Enable access to the various dropout rules of the B&W rasterizer.
     1172        Pass dropout rules from the TT bytecode interpreter to the
     1173        rasterizer.
     1174
     1175        * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
     1176        FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
     1177
     1178        * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
     1179        Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
     1180        OpenType specification.
     1181        Fix mode 4 computation.
     1182        (Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
     1183
     1184        * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
     1185        mode to FT_OUTLINE_XXX flags.
     1186
     1187        * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
     1188
     11892008-06-19  Werner Lemberg  <wl@gnu.org>
     1190
     1191        * src/cff/cffobjs.c (cff_face_init): Compute final
     1192        `dict->units_per_em' value before assigning it to
     1193        `cffface->units_per_EM'.  Otherwise, CFFs without subfonts are
     1194        scaled incorrectly if the font matrix is non-standard.  This fixes
     1195        Savannah bug #23630.
     1196
     1197        * docs/CHANGES: Updated.
     1198
     11992008-06-19  Werner Lemberg  <wl@gnu.org>
     1200
     1201        * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
     1202        from 2008-06-19.
     1203
     12042008-06-18  Werner Lemberg  <wl@gnu.org>
     1205
     1206        * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
     1207        Reported by Peter Weilbacher <mozilla@weilbacher.org>.
     1208
     1209        * docs/CHANGES: Updated.
     1210
     12112008-06-15  George Williams  <gww@silcom.com>
     1212
     1213        * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
     1214        `valid->extra2' to 1.  This is undocumented in the OpenType 1.5
     1215        specification.
     1216
     12172008-06-15  Werner Lemberg  <wl@gnu.org>
     1218
     1219        * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
     1220        from clobbering.  Patch from Savannah bug report #23556.
     1221
     1222        * docs/CHANGES: Document it.
     1223
     12242008-06-10  Werner Lemberg  <wl@gnu.org>
     1225
     1226        * autogen.sh: Add option `--install' to libtoolize.
     1227
     12282008-06-10  Werner Lemberg  <wl@gnu.org>
     1229
     1230        * Version 2.3.6 released.
     1231        =========================
     1232
     1233
     1234        Tag sources with `VER-2-3-6'.
     1235
     1236        * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
     1237        version number to 2.3.6.
     1238
     1239        * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
     1240        builds/win32/visualc/freetype.dsp,
     1241        builds/win32/visualc/freetype.vcproj,
     1242        builds/win32/visualce/index.html,
     1243        builds/win32/visualce/freetype.dsp,
     1244        builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
     1245
     1246        * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
     1247
     1248        * builds/unix/configure.raw (version_info): Set to 9:17:3.
     1249
     1250
     1251        * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
     1252        and `scale_y'.
     1253        * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
     1254
     1255
     1256        * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
     1257        * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
     1258
     12592008-06-10  Werner Lemberg  <wl@gnu.org>
     1260
     1261        * src/base/ftobjs.c (open_face): Check `clazz->init_face' and
     1262        `clazz->done_face'.
     1263
     12642008-06-09  VaDiM  <s_sliva@rambler.ru>
     1265
     1266        Support debugging on WinCE.  From Savannah patch #6536; this fixes
     1267        bug #23497.
     1268
     1269        * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
     1270        as a replacement for OutputDebugStringA (which WinCE doesn't have).
     1271        Update all callers.
     1272        (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
     1273        environment variables.
     1274
     12752008-06-09  Werner Lemberg  <wl@gnu.org>
     1276
     1277        * README.CVS: Updated.
     1278
     1279        * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
     1280        for newer versions of autoconf and friends.
     1281
     12822008-06-08  Werner Lemberg  <wl@gnu.org>
     1283
     1284        * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
     1285        `private_len' unsigned.
     1286
     1287        * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
     1288        it as such.
     1289        (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
     1290
     1291
     1292        * src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
     1293
     1294
     1295        * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
     1296        for sane value.
     1297        Fix typo.
     1298
     1299
     1300        * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
     1301
     1302
     1303        * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
     1304        `last_point'.
     1305
     1306
     1307        * src/sfnt/ttload.c (tt_face_load_max_profile): Limit
     1308        `maxTwilightPoints'.
     1309
     13102008-06-06  Werner Lemberg  <wl@gnu.org>
     1311
     1312        * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
     1313        correctly.  This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
     1314
     13152008-06-03  Werner Lemberg  <wl@gnu.org>
     1316
     1317        * include/freetype/ftcache.h (FTC_FaceID): Change type back to
     1318        FT_Pointer.  Reported by Ian Britten <britten@caris.com>.
     1319
     13202008-06-02  Werner Lemberg  <wl@gnu.org>
     1321
     1322        Emit header info for defined FreeType objects in reference.
     1323
     1324        * src/tools/docmaker/content.py (re_header_macro): New regexp.
     1325        (ContentProcessor::__init__): Initialize new dictionary `headers'.
     1326        (DocBlock::__init__): Collect macro header definitions.
     1327
     1328        * src/tools/docmaker/tohtml.py (header_location_header,
     1329        header_location_footer): New strings.
     1330        (HtmlFormatter::__init__): Pass `headers' dictionary.
     1331        (HtmlFormatter::print_html_field): Don't emit paragraph tags.
     1332        (HtmlFormatter::print_html_field_list): Emit empty paragraph.
     1333        (HtmlFormatter::block_enter): Emit header info.
     1334
     13352008-06-01  Werner Lemberg  <wl@gnu.org>
     1336
     1337        * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
     1338        FT_INCREMENTAL_H): Added.
     1339
     13402008-05-28  Werner Lemberg  <wl@gnu.org>
     1341
     1342        * src/tools/docmaker/sources.py (SourceBlock::__init__): While
     1343        looking for markup tags, return immediately as soon a single one is
     1344        found.
     1345
     13462008-05-28  Werner Lemberg  <wl@gnu.org>
     1347
     1348        * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
     1349        original, unscaled input values.  Confirmed by Greg Hitchcock from
     1350        Microsoft.
     1351
     13522008-05-27  Werner Lemberg  <wl@gnu.org>
     1353
     1354        * src/tools/docmaker/tohtml.py (block_footer_start,
     1355        block_footer_middle): Beautify output.
     1356
     13572008-05-25  Werner Lemberg  <wl@gnu.org>
     1358
     1359        * src/raster/ftraster.c (fc_black_render): Return 0 when we are
     1360        trying to render into a zero-width/height bitmap, not an error code.
     1361
     1362        * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
     1363        of the graphics state for subglyphs to...
     1364        (TT_Hint_Glyph): This function.
     1365        Hinting instructions for a composite glyph apparently refer to the
     1366        just hinted subglyphs, not the unhinted, unscaled outline.  This
     1367        seems to fix Savannah bugs #20973 and (at least partially) #23310.
     1368
     13692008-05-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1370
     1371        * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
     1372        `aface' is returned by FT_New_Face_From_FOND().  The patch was
     1373        proposed by an anonymous reporter of Savannah bug #23204.
     1374
     13752008-05-18  Werner Lemberg  <wl@gnu.org>
     1376
     1377        * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
     1378        correction for pixel boundary.  Without this patch, the effect can
     1379        be cumulative under certain circumstances, making glyphs taller and
     1380        taller after each call.  This fixes Savannah bug #19976.
     1381
     13822008-05-18  Werner Lemberg  <wl@gnu.org>
     1383
     1384        * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
     1385        This fixes Savannah bug #23280.
     1386
     1387        * docs/CHANGES: Updated.
     1388
     13892008-05-18  David Turner  <david@freetype.org>
     1390
     1391        * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
     1392        ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
     1393        ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
     1394        declarations non-global.
     1395
     1396        * src/type1/t1load.c: Add missing comment.
     1397
     13982008-05-17  Sam Hocevar  <samh>
     1399
     1400        * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
     1401        glyphs correctly.  Patch from Savannah bug #23277.
     1402
     14032008-05-16  Werner Lemberg  <wl@gnu.org>
     1404
     1405        * docs/CHANGES: Updated.
     1406
     14072008-05-16  Sergey Tolstov  <stolstov@esri.com>
     1408
     1409        Improve support for WGL4 encoded fonts.
     1410
     1411        * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
     1412        (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
     1413        ft_wgl_extra_glyph_name_offsets): New arrays.
     1414        (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
     1415        (ps_unicodes_init): Use them to add additional Unicode mappings.
     1416
     14172008-05-15  Werner Lemberg  <wl@gnu.org>
     1418
     1419        * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
     1420        <op_closepath>: `closepath' without a path is a no-op, not an error
     1421        (cf. the PS reference manual).
     1422
     1423        Reported by Martin McBride.
     1424
     14252008-05-15  Werner Lemberg  <wl@gnu.org>
     1426
     1427        * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
     1428
     14292008-05-15  Werner Lemberg  <wl@gnu.org>
     1430
     1431        * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
     1432        which contains a single but empty entry.  This is technically
     1433        invalid (since it must end with `return'), but...
     1434
     1435        Reported by Martin McBride.
     1436
     14372008-05-14  Werner Lemberg  <wl@gnu.org>
     1438
     1439        Finish fix of scaling bug of CID-keyed CFF subfonts.
     1440
     1441        * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
     1442        (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
     1443        functions.
     1444
     1445        * src/cff/cffobjs.h (CFF_Internal): New struct.  It is used to
     1446        provide global hinting data for both the top-font and all subfonts
     1447        (with proper scaling).
     1448
     1449        * src/cff/cffobjs.c (cff_make_private_dict): New function, using
     1450        code from `cff_size_init'.
     1451        (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
     1452        Use CFF_Internal and handle subfonts.
     1453        (cff_face_init): Handle top-dict and subfont matrices correctly;
     1454        apply some heuristic in case of unlikely matrix concatenation
     1455        results.  This has been discussed with people from Adobe (thanks
     1456        goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
     1457        and not correct.
     1458
     1459        * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
     1460
     1461        * src/cff/cffgload.c (cff_builder_init): Updated.
     1462        (cff_decoder_prepare): Handle hints globals for subfonts.
     1463        Update all callers.
     1464        (cff_slot_load): Handling scaling of subfonts properly.
     1465
     1466        * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
     1467        (cff_parse_font_matrix): Use it.
     1468
     1469        * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
     1470        FT_ULong.
     1471
     1472        * docs/CHANGES: Document it.
     1473
     14742008-05-13  Werner Lemberg  <wl@gnu.org>
     1475
     1476        * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
     1477        Handle case `face_index < 0'.
     1478        * docs/CHANGES: Document it.
     1479
     14802008-05-04  Werner Lemberg  <wl@gnu.org>
     1481
     1482        First steps to fix the scaling bug of CID-keyed CFF subfonts,
     1483        reported by Ding Li on 2008/03/28 on freetype-devel.
     1484
     1485        * src/base/cff/cffparse.c (power_tens): New array.
     1486        (cff_parse_real): Rewritten to introduce a fourth parameter which
     1487        returns the `scaling' of the real number so that we have no
     1488        precision loss.  This is not used yet.
     1489        Update all callers.
     1490        (cff_parse_fixed_thousand): Replace with...
     1491        (cff_parse_fixed_scaled): This function.  Update all callers.
     1492
     14932008-05-03  Werner Lemberg  <wl@gnu.org>
     1494
     1495        * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
     1496        transformation since it recursively calls FT_Load_Glyph.  This fixes
     1497        Savannah bug #23143.
     1498
     14992008-04-26  Werner Lemberg  <wl@gnu.org>
     1500
     1501        * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
     1502        and `scale_y' as obsolete since they aren't used.
     1503        * src/psaux/psobjs.c (t1_builder_init): Updated.
     1504
     1505        * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
     1506        obsolete since they aren't used.
     1507        * src/cff/cffgload.c (cff_builder_init): Updated.
     1508
     15092008-04-14  Werner Lemberg  <wl@gnu.org>
     1510
     1511        * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
     1512        `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'.  From Savannah
     1513        bug #22909.
     1514
     15152008-04-13  Werner Lemberg  <wl@gnu.org>
     1516
     1517        * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
     1518        integer part is zero.
     1519
     15202008-04-01  Werner Lemberg  <wl@gnu.org>
     1521
     1522        Fix compilation with g++ 4.1 (with both `single' and `multi'
     1523        targets).
     1524
     1525        * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
     1526        which is crossed by a `goto'.
     1527
     1528        * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
     1529
     15302008-03-31  Werner Lemberg  <wl@gnu.org>
     1531
     1532        Fix support for subsetted CID-keyed CFFs.
     1533
     1534        * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
     1535        FT_IS_CID_KEYED): New macros.
     1536
     1537        * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
     1538        maximum CID value in CID-keyed CFFs.
     1539        Handle FT_FACE_FLAG_CID_KEYED flag.
     1540
     1541        * docs/CHANGES: Document it.
     1542
     1543
     1544        Fix CFF font matrix calculation and improve precision.
     1545
     1546        * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
     1547        part is zero.
     1548        (cff_parse_font_matrix): Simplify computation of `units_per_em';
     1549        this prevents overflow also.
     1550
     1551
     1552        Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
     1553
     1554        * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
     1555        (cid_get_ros): New function.
     1556        (cid_service_cid_info): New service structure.
     1557        (cid_services): Register it.
     1558
     15592008-03-23  Werner Lemberg  <wl@gnu.org>
     1560
     1561        Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
     1562
     1563        * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
     1564        (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
     1565
     15662008-03-21  Laurence Darby  <ldarby>
     1567
     1568        * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'.  Patch from
     1569        Savannah bug #22675.
     1570
     15712008-03-13  Derek Clegg  <dclegg@apple.com>
     1572
     1573        * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
     1574        Patch from Savannah bug #22541.
     1575
     15762008-03-03  Masatoshi Kimura  <VYV03354@nifty.ne.jp>
     1577
     1578        * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
     1579        tt_cmap14_find_variant): Return correct value.
     1580        (tt_cmap14_variant_chars): Fix check for `di'.
     1581
     15822008-02-29  Wermer Lemberg  <wl@gnu.org>
     1583
     1584        * docs/CHANGES: Updated.
     1585
     15862008-02-29  Wolf
     1587
     1588        Add build support for symbian platform.  From Savannah bug #22440.
     1589
     1590        * builds/symbian/*: New files.
     1591
     15922008-02-21  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1593
     1594        * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
     1595        synthesis.  For any face of a specified FOND, always the name for
     1596        the first face was used.  Except of a FOND that refers multiple
     1597        Type1 font files, wrong synthesized font names are not used at all,
     1598        so this is an invisible bug.  A few limit checks are added too.
     1599
     1600        * builds/mac/ftmac.c: Ditto.
     1601
     16022008-02-21  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1603
     1604        * builds/unix/configure.raw: Split compiler option to link Carbon
     1605        frameworks to one option for CoreServices framework and another
     1606        option for ApplicationServices framework.  The split options can be
     1607        managed by GNU libtool to avoid unrequired duplication when FreeType
     1608        is linked with other applications.  Suggested by Daniel Macks,
     1609        Savannah bug #22366.
     1610
     16112008-02-18  Victor Stinner  <victor.stinner@haypocalc.com>
     1612
     1613        * src/truetype/ttinterp.c (Ins_IUP): Check number of points.  Fix
     1614        from Savannah bug #22356.
     1615
     16162008-02-17  Jonathan Blow  <jon@number-none.com>
     1617
     1618        * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
     1619        Check for valid callback pointers.
     1620
     16212008-02-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1622
     1623        * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
     1624        handle by its value instead of ResError(), fix provided by Deron
     1625        Kazmaier.  According to the Resource Manager Reference,
     1626        GetResource(), Get1Resource(), GetNamedResource(),
     1627        Get1NamedResource() and RGetResource() set noErr but return NULL
     1628        handle when they can not find the requested resource.  These
     1629        functions never return undefined values, so it is sufficient to
     1630        check if the handle is not NULL.
     1631
     1632        * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
     1633
     16342008-02-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1635
     1636        * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
     1637        inclusion styles.  Now it always includes src/base/ftmac.c;
     1638        builds/mac/ftmac.c is never included in any configuration.
     1639
     1640        * builds/unix/configure.raw: Print warning if configure is executed
     1641        with options to specify Carbon functionalities explicitly.
     1642
     1643        * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
     1644        included automatically and manual replacement is required.
     1645
     16462008-02-11  Werner Lemberg  <wl@gnu.org>
     1647
     1648        * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
     1649        (dos_setup), builds/freetype.mk (clean_project_dos,
     1650        distclean_project_dos): Don't use \ but $(SEP).  Reported by Duncan
     1651        Murdoch.
     1652
     16532008-01-18  Sylvain Pasche  <sylvain.pasche@gmail.com>
     1654
     1655        * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
     1656        mention intra-pixel algorithm.
     1657
     1658        * include/freetype/freetype.h (FT_Render_Mode): Mention that
     1659        FT_Library_SetLcdFilter can be used to reduce fringes.
     1660
     16612008-01-16  Werner Lemberg  <wl@gnu.org>
     1662
     1663        * src/raster/ftraster.c (ft_black_render): Check `outline' before
     1664        using it.  Reported by Allan Yang.
     1665
     16662008-01-12  Werner Lemberg  <wl@gnu.org>
     1667
     1668        * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
     1669
     16702008-01-12  Allan Yang, Jian Hua - SH  <Allan.Yang@fmc.fujitsu.com>
     1671
     1672        * src/raster/ftraster.c (ft_black_init)
     1673        [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
     1674
     16752008-01-10  Werner Lemberg  <wl@gnu.org>
     1676
     1677        * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
     1678        where the number of contours in a simple glyph is zero (and which
     1679        does contain an entry in the `glyf' table).  This fixes Savannah bug
     1680        #21990.
     1681
     16822008-01-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1683
     1684        Formatting suggested by Sean McBride.
     1685
     1686        * builds/mac/ftmac.c: Formatting (tab expanded).
     1687        * src/autofit/afindic.c: Ditto.
     1688        * src/base/ftcid.c: Ditto.
     1689        * src/base/ftmac.c: Ditto.
     1690
     16912007-12-30  Werner Lemberg  <wl@gnu.org>
     1692
     1693        * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
     1694        correctly.
     1695
     16962007-12-21  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1697
     1698        Improvement of POSIX resource-fork accessor to load unsorted
     1699        references in a resource.  In HelveLTMM (resource-fork PostScript
     1700        Type1 font bundled with Mac OS X since 10.3.x), the appearance order
     1701        of PFB chunks is not sorted; sorting the chunks by reference IDs is
     1702        required.
     1703
     1704        * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
     1705        type to store a pair of reference ID and offset to the chunk.
     1706
     1707        * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
     1708        sort FT_RFork_Ref by their reference IDs.
     1709
     1710        (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
     1711        sorted by reference ID.
     1712
     17132007-12-14  Werner Lemberg  <wl@gnu.org>
     1714
     1715        * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
     1716        division too early; otherwise the most significant digit(s) of the
     1717        final result are lost as the value is truncated to an integer.  This
     1718        fixes Savannah bug #21794 (where the patch has been posted too).
     1719
     17202007-12-06  Fix  <4d876b82@gmail.com>
     1721
     1722        Pass options from one configure script to another as-is (not
     1723        expanded).  This is needed for options like
     1724        --includedir='${prefix}/include'.
     1725
     1726        * builds/unix/detect.mk, configure: Prevent argument expansion in
     1727        call to the (real) `configure' script.
     1728
     17292007-12-06  Werner Lemberg  <wl@gnu.org>
     1730
     1731        * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
     1732        TT_USE_BYTECODE_INTERPRETER isn't defined.
     1733
     17342007-12-06  Werner Lemberg  <wl@gnu.org>
     1735
     1736        There exist CFFs which contain opcodes for the Type 1 operators
     1737        `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
     1738        However, it doesn't harm to support them.
     1739
     1740        * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
     1741        `cff_op_closepath.'
     1742        (cff_argument_counts): Ditto.
     1743
     1744        (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
     1745        and 13 (hsbw) which are invalid in Type 2 charstrings.
     1746
     17472007-12-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1748
     1749        * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
     1750        support new pathname syntax `..namedfork/rsrc' to access a resource
     1751        fork on Mac OS X.  The legacy syntax `/rsrc' does not work on
     1752        case-sensitive HFS+.
     1753        (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
     1754        buffer size to store a pathname.
     1755        * include/freetype/internal/ftrfork.h: Increment the number of
     1756        resource fork guessing rule.
     1757
     17582007-12-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1759
     1760        * builds/unix/configure.raw: Improve the compile tests to search
     1761        Carbon functions.
     1762        * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
     1763        proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
     1764
     17652007-12-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1766
     1767        The documents and comments for Mac OS X are improved by Sean
     1768        McBride.
     1769
     1770        * src/base/ftmac.c: Fix a comment.
     1771        * include/freetype/ftmac.h: Ditto.
     1772        * docs/INSTALL.MAC: Improve English and add comment on lowest
     1773        system version specified by MACOSX_DEPLOYMENT_TARGET.
     1774
     17752007-12-04  Werner Lemberg  <wl@gnu.org>
     1776
     1777        * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
     1778        concatenate error codes.
     1779        * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
     1780
     17812007-12-04  Graham Asher  <graham.asher@btinternet.com>
     1782
     1783        * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
     1784        concatenate error codes.
     1785
     17862007-12-04  Sean McBride  <sean@rogue-research.com>
     1787
     1788        * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
     1789        warning.
     1790
     17912007-11-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1792
     1793        Fix MacOS legacy font support by Masatake Yamato on Mac OS X.  It is
     1794        not working since 2.3.5.  In FT_Open_New(), if FT_New_Stream()
     1795        cannot mmap() the specified file and cannot seek to head of the
     1796        specified file, it returns NULL stream and FT_Open_New() returns the
     1797        error immediately.  On MacOS, most legacy MacOS fonts fall into such
     1798        a scenario because their data forks are zero-sized and cannot be
     1799        sought.  To proceed to guessing of resource fork fonts, the
     1800        functions for legacy MacOS font must properly handle the NULL stream
     1801        returned by FT_New_Stream().
     1802
     1803        * src/base/ftobjs.c (IsMacBinary): Return error
     1804        FT_Err_Invalid_Stream_Operation immediately when NULL stream is
     1805        passed.
     1806        (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
     1807        to fallback.  Originally, legacy MacOS font is tested in the cases
     1808        of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
     1809        or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
     1810        .dfont header is combined).  Now the case of
     1811        FT_Err_Cannot_Open_Stream is included.
     1812
     1813        * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
     1814        skip FT_Stream_Seek(), which seeks to the head of stream, and
     1815        proceed to unit testing of raccess_guess_XXX().  FT_Stream_Seek()
     1816        for a NULL stream causes a Bus error on Mac OS X.
     1817        (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
     1818        immediately if passed stream is NULL.
     1819        (raccess_guess_apple_single): Ditto.
     1820
     18212007-11-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1822
     1823        Fix for Carbon incompatibilities since Mac OS X 10.5,
     1824        proposed by Sean McBride.
     1825
     1826        * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
     1827
     1828        * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
     1829        FT_GetFilePath_From_Mac_ATS_Name.  Since Mac OS X 10.5, calling
     1830        Carbon functions from a forked process is classified as unsafe
     1831        by Apple.  All Carbon-dependent functions should be deprecated.
     1832
     1833        * src/base/ftmac.c: Use essential header files
     1834        <CoreServices/CoreServices.h> and
     1835        <ApplicationServices/ApplicationServices.h> instead of
     1836        all-in-one header file <Carbon/Carbon.h>.
     1837
     1838        Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
     1839        genuine macro PATH_MAX.
     1840
     1841        Add fallback macro for kATSOptionFlagsUnRestrictedScope which
     1842        is not found in Mac OS X 10.0.
     1843
     1844        Multi-character constants ('POST', 'sfnt' etc) are replaced by
     1845        64bit constants calculated by FT_MAKE_TAG() macro.
     1846
     1847        For the index in the segment of resource fork, new portable
     1848        type ResourceIndex is introduced for better compatibility.
     1849        This type is since Mac OS X 10.5, so it is defined as short
     1850        when built on older platforms.
     1851
     1852        (FT_ATSFontGetFileReference): If build target is only the systems
     1853        10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
     1854
     1855        (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
     1856        and newer or 64bit platform, because legacy type FSSpec type is
     1857        removed completely.
     1858
     1859        (FT_New_Face_From_FSSpec): Ditto.
     1860
     18612007-11-01  Werner Lemberg  <wl@gnu.org>
     1862
     1863        * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere.  This
     1864        fixes Savannah bug #21485.
     1865
     18662007-10-29  Daniel Svoboda  <dasvo@planeta@cz>
     1867
     1868        * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
     1869        can handle the font at all, then check `face_index'.  Otherwise, the
     1870        driver might return the wrong error code.  This fixes Savannah bug
     1871        #21468.
     1872
     18732007-10-21  Werner Lemberg  <wl@gnu.org>
     1874
     1875        * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
     1876        support for bit 8 of the `fsSelection' field in the `OS/2' table.
     1877        MS is already using this; hopefully, this becomes part of OpenType
     1878        1.5.
     1879        Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
     1880        (WWS_SUBFAMILY).
     1881
     18822007-10-20  Werner Lemberg  <wl@gnu.org>
     1883
     1884        * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
     1885        Add `td.left' element to CSS.
     1886        (toc_section_enter): Use it.
     1887
     18882007-10-18  David Turner  <david@freetype.org>
     1889
     1890        * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
     1891        functions related to cmap type 14 support to the
     1892        `FT_Object_ActionName' scheme:
     1893
     1894          FT_Get_Char_Variant_index     -> FT_Face_GetCharVariantIndex
     1895          FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
     1896          FT_Get_Variant_Selectors      -> FT_Face_GetVariantSelectors
     1897          FT_Get_Variants_Of_Char       -> FT_Face_GetVariantsOfChar
     1898          FT_Get_Chars_Of_Variant       -> FT_Face_GetCharsOfVariant
     1899
     1900        Update documentation accordingly.
     1901
     1902        * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
     1903        Make the code a little more consistent with FreeType coding
     1904        conventions and modify the cmap14 functions that returned a newly
     1905        allocated array to use a persistent vector from the TT_CMap14 object
     1906        instead.
     1907
     1908        (TT_CMap14Rec): Provide array and auxiliary data for result.
     1909        (tt_cmap14_done, tt_cmap14_ensure): New functions.
     1910
     1911        (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
     1912        tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
     1913        tt_cmap14_char_var_index, tt_cmap14_variants,
     1914        tt_cmap14_char_variants, tt_cmap14_def_char_count,
     1915        tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
     1916        tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
     1917
     19182007-10-15  George Williams  <gww@silcom.com>
     1919
     1920        Add support for cmap type 14.
     1921
     1922        * devel/ftoption.h, include/freetype/config/ftoption.h
     1923        (TT_CONFIG_CMAP_FORMAT_14): New macro.
     1924
     1925        * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
     1926        FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
     1927        FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
     1928        support function prototypes.
     1929        (FT_CMap_ClassRec): Add them.
     1930        Update all users.
     1931
     1932        * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
     1933        macro.
     1934
     1935        * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
     1936        FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
     1937        FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
     1938        functions.
     1939
     1940        * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
     1941        function.
     1942        (FT_Set_Charmap): Disallow cmaps of type 14.
     1943        (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
     1944        FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
     1945        FT_Get_Chars_Of_Variant): New API functions.
     1946
     1947        * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
     1948
     1949        (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
     1950        tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
     1951        tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
     1952        tt_cmap14_find_variant, tt_cmap14_char_var_index,
     1953        tt_cmap14_char_var_isdefault, tt_cmap14_variants,
     1954        tt_cmap14_char_variants, tt_cmap14_def_char_count,
     1955        tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
     1956        tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
     1957        structures for cmap 14 support.
     1958        (tt_cmap_classes): Register tt_cmap14_class_rec.
     1959        (tt_face_build_cmaps): One more error message.
     1960
     1961        * docs/CHANGES: Mention cmap 14 support.
     1962
     19632007-10-01  Werner Lemberg  <wl@gnu.org>
     1964
     1965        * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
     1966        charmap fails, do the loop again while searching a UCS-2 charmap.
     1967        This favours MS charmaps over Apple ones.
     1968
     19692007-08-29  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1970
     1971        * src/base/ftmac.c: Introduction of abstract `short' data types,
     1972        ResFileRefNum and ResID.  These types were introduced for Copland,
     1973        then backported to MPW.  The variables exchanged with FileManager
     1974        QuickDraw frameworks are redefined by these data types.  Patch was
     1975        proposed by Sean McBride.
     1976        * builds/mac/ftmac.c: Ditto.
     1977
     19782007-08-18  Werner Lemberg  <wl@gnu.org>
     1979
     1980        * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs.  Found
     1981        by Imran Yousaf.  Fixes Savannah bug #20773.
     1982
     1983        (otv_Lookup_validate): Correct handling of LookupType.  Found by
     1984        Imran Yousaf.  Fixes Savannah bug #20782.
     1985
     19862007-08-17  George Williams  <gww@silcom.com>
     1987
     1988        * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
     1989        SingleSubstFormat1.
     1990
     19912007-08-11  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     1992
     1993        * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
     1994        ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
     1995        Found by Ryan Hill.
     1996
     19972007-08-11  George Williams  <gww@silcom.com>
     1998
     1999        * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
     2000        (otv_Coverage_validate): Add fourth argument to pass an expected
     2001        count value.  Update all users.
     2002        Check glyph IDs.
     2003        (otv_ClassDef_validate): Check `StartGlyph'.
     2004
     2005        * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
     2006        checks.
     2007
     2008        * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
     2009        56 constants.
     2010        (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
     2011        Check glyph IDs.
     2012
     20132007-08-08  Werner Lemberg  <wl@gnu.org>
     2014
     2015        * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
     2016        src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
     2017        src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
     2018        appropriate.  Reported by George.
     2019
     2020        * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
     2021
     2022        * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
     2023
     2024        * docs/CHANGES: Updated.
     2025
     20262007-08-08  George Williams  <gww@silcom.com>
     2027
     2028        Add `MATH' validating support to otvalid module.
     2029
     2030        * include/freetype/tttags.h (TTAG_MATH): New macro.
     2031        * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
     2032        (FT_VALIDATE_OT): Updated.
     2033
     2034        * src/otvalid/otmath.c: New file.
     2035
     2036        * src/otvalid/otvalid.c: Include otvmath.c.
     2037        * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
     2038
     20392007-08-04  Werner Lemberg  <wl@gnu.org>
     2040
     2041        * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
     2042        Fixes Savannah bug #20686.
     2043
     20442007-08-03  Werner Lemberg  <wl@gnu.org>
     2045
     2046        * src/psnames/psmodule.c: Fix usage of
     2047        FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro.  Reported by Graham Asher.
     2048
     20492007-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
     2050
     2051        * src/base/ftmac.c (open_face_from_buffer): The argument
     2052        `driver_name' is typed as `const char*' to match with the
     2053        callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
     2054        This is same with open_face_from_buffer in src/base/ftobjs.c.
     2055        Found and fixed by Sean McBride.
     2056
     20572007-07-28  Werner Lemberg  <wl@gnu.org>
     2058
     2059        * src/raster/ftraster.c (count_table): Make it conditional.
     2060        * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
     2061        a preprocessor statement.
     2062
     20632007-07-27  Werner Lemberg  <wl@gnu.org>
     2064
     2065        * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
     2066        first usage.  From Savannah patch #6115.
     2067
     20682007-07-16  Werner Lemberg  <wl@gnu.org>
     2069
     2070        * docs/CHANGES: Updated.
     2071
     20722007-07-16  Derek Clegg  <dclegg@apple.com>
     2073
     2074        Add new service for getting the ROS from a CID font.
     2075
     2076        * include/freetype/config/ftheader.h (FT_CID_H): New macro.
     2077        * include/freetype/ftcid.h: New file.
     2078
     2079        * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
     2080        * include/freetype/internal/services/svcid.h: New file.
     2081
     2082        * src/base/ftcid.c: New file.
     2083
     2084        * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
     2085        (cff_get_ros): New function.
     2086        (cff_service_cid_info): New service structure.
     2087        (cff_services): Register it.
     2088
     2089        * src/cff/cffload.c (cff_font_done): Free registry and ordering.
     2090
     2091        * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
     2092
     2093        * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
     2094
     20952007-07-11  Derek Clegg  <dclegg@apple.com>
     2096
     2097        Add support for postscript name service to CFF driver.
     2098
     2099        * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
     2100        (cff_get_ps_name): New function.
     2101        (cff_service_ps_name): New service structure.
     2102        (cff_services): Register it.
     2103
     21042007-07-07  Werner Lemberg  <wl@gnu.org>
     2105
     2106        * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
     2107        `target'.  Reported by Sean McBride.
     2108
     21092007-07-06  Werner Lemberg  <wl@gnu.org>
     2110
     2111        * src/pfr/pfrcmap.c: Include pfrerror.h.
     2112
     2113        * src/autofit/afindic.c: Add some external declarations to pacify
     2114        `make multi' compilation.
     2115
     2116        * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
     2117
     2118        * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
     2119        (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
     2120        src/autofit/aflatin.c (af_latin_hints_compute_edges),
     2121        src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
     2122        (tt_face_get_metrics), src/base/ftobjs.c (open_face)
     2123        [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
     2124
     2125        * docs/release: Mention test compilation targets.
     2126
     21272007-07-04  Werner Lemberg  <wl@gnu.org>
     2128
     2129        * docs/PROBLEMS: Mention that some PS based fonts can't be
     2130        handled correctly by FreeType.
     2131
     2132        * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
     2133        recursion depth of 1.  This was the maximum value in TrueType 1.0,
     2134        and some older fonts don't set this field correctly.
     2135
     2136        * src/gxvalid/gxvmort1.c
     2137        (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
     2138
     21392007-07-03  Werner Lemberg  <wl@gnu.org>
     2140
     2141        * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
     2142        `round' to pacify compiler.
     2143
    121442007-07-02  Werner Lemberg  <wl@gnu.org>
    22145
     
    5652708        zero in case of error.  This fixes Savannah bug #19689.
    5662709
    567 2007-04-25  Boris Letocha <b.letocha@cz.gmc.net>
     27102007-04-25  Boris Letocha  <b.letocha@cz.gmc.net>
    5682711
    5692712        * src/truetype/ttobjs.c: Fix a typo that created a speed regression
     
    13643507        * src/base/ftmac.c: Specialized for Mac OS X only.
    13653508        * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
    1366         * builds/unix/configure.raw: Ditto. When explicit switches for
     3509        * builds/unix/configure.raw: Ditto.  When explicit switches for
    13673510        FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
    13683511        builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
     
    19234066        Fix miscellaneous compiler warnings.
    19244067
    1925         * freetype2/include/freetype/internal/ftobjs.h: Close comment with
    1926         `*/' to avoid `/* in comment' compiler warning.
    1927 
    1928         * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
     4068        * include/freetype/internal/ftobjs.h: Close comment with `*/' to
     4069        avoid `/* in comment' compiler warning.
     4070
     4071        * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
    19294072        `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
    19304073        64-bit platforms void* is larger than FT_UInt32.
    19314074
    1932         * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
     4075        * src/base/ftobjs.c (t_validator_error): Cast away
    19334076        volatileness of argument to ft_longjmp.  Spotted by Werner
    19344077        `Putzfrau' Lemberg.
    19354078
    1936         * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
     4079        * src/bdf/bdflib.c (bdf_load_font): Initialize local
    19374080        variable `lineno'.
    19384081
    1939         * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
    1940         variable `error' as volatile.
     4082        * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
     4083        `error' as volatile.
    19414084
    194240852006-08-27  Werner Lemberg  <wl@gnu.org>
     
    19514094        non-volatile pointers.
    19524095
    1953         * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
    1954         typedef a pointer to a volatile object.
    1955 
    1956         * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
    1957         argument `table' a pointer to a volatile object.
    1958 
    1959         * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
    1960         argument `table' a pointer to a volatile object.
     4096        * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
     4097        pointer to a volatile object.
     4098
     4099        * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
     4100        `table' a pointer to a volatile object.
     4101
     4102        * src/otvalid/otvmod.c (otv_load_table): Make function argument
     4103        `table' a pointer to a volatile object.
    19614104
    196241052006-08-18  Jens Claudius  <jens.claudius@yahoo.com>
    19634106
    1964         * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
    1965         variable `_sfnt' as volatile since it must keep its value across
    1966         a call to ft_setjmp.
     4107        * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
     4108        as volatile since it must keep its value across a call to ft_setjmp.
    19674109        (gxv_validate): Same for local variables `memory' and `valid'.
    19684110        (classic_kern_validate): Same for local variables `memory',
    19694111        `ckern', and `valid'.
    19704112
    1971         * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
    1972         parameter `face' and local variables `base', `gdef', `gpos', `gsub',
    1973         `jstf', and 'valid'.
    1974 
    1975         * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
    1976         local variable `cmap'.
     4113        * src/otvalid/otvmod.c (otv_validate): Same for function parameter
     4114        `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
     4115        and 'valid'.
     4116
     4117        * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
     4118        `cmap'.
    19774119
    197841202006-08-16  David Turner  <david@freetype.org>
     
    19854127
    19864128
    1987         Improvements to native TrueType hinting. This is a first try,
     4129        Improvements to native TrueType hinting.  This is a first try,
    19884130        controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
    19894131
     
    20334175        http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
    20344176
    2035         * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
    2036         `ft_setjmp'.  It reverts the change introduced on 2005-08-20.
    2037 
    2038         * freetype2/src/gxvalid/gxvmod.c: Ditto.
     4177        * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
     4178        It reverts the change introduced on 2005-08-20.
     4179
     4180        * src/gxvalid/gxvmod.c: Ditto.
    20394181
    204041822006-08-13  Jens Claudius  <jens.claudius@yahoo.com>
    20414183
    2042         * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
     4184        * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
    20434185        T1_TOKEN_TYPE_KEY.
    20444186        (T1_FieldRec): Add `dict'.
     
    20474189        keyword is expected as an additional argument.
    20484190
    2049         * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
    2050         invocations of T1_FIELD_XXX.
    2051 
    2052         * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
    2053 
    2054         * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
     4191        * src/cid/cidload.c: (cid_field_records): Adjust invocations of
     4192        T1_FIELD_XXX.
     4193
     4194        * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
     4195
     4196        * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
    20554197        (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
    20564198        not T1_TOKEN_TYPE_ANY.
     
    20594201        Avoid memory leak if a keyword has been already encountered and its
    20604202        value is overwritten.
    2061         * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
     4203        * src/type1/t1load.c: (t1_keywords): Adjust invocations of
    20624204        T1_FIELD_XXX.
    20634205        (parse_dict): Ignore keywords that occur in the wrong dictionary
    20644206        (e.g., in `Private' instead of `FontDict').
    20654207
    2066         * freetype2/src/type1/t1tokens.h: Adjust invocations of
     4208        * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
     4209
     4210        * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
    20674211        T1_FIELD_XXX.
    2068 
    2069         * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
    2070         invocations of T1_FIELD_XXX.
    20714212
    207242132006-07-18  Jens Claudius  <jens.claudius@yahoo.com>
     
    20794220        and `T1_Compute_Max_Advance'.
    20804221
    2081         * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
    2082         Remove field `face', add `len_buildchar'.
    2083 
    2084         * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
    2085         field `buildchar'.
    2086 
    2087         * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
    2088         finisher for T1_Decoder.
     4222        * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
     4223        `face', add `len_buildchar'.
     4224
     4225        * include/freetype/internal/t1types.h (T1_FaceRec): Add field
     4226        `buildchar'.
     4227
     4228        * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
     4229        for T1_Decoder.
    20894230        (cid_slot_load_glyph): Do not ignore failure when initializing the
    20904231        T1_Decoder.
    20914232
    2092         * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
    2093         Updated.
     4233        * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
    20944234        (t1_decoder_init): Remove initialization of fields `buildchar' and
    20954235        `len_buildchar'.
     
    21034243        case of error.
    21044244
    2105         * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
    2106         `buildchar' of T1_FaceRec.
    2107 
    2108         * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
    2109         `buildchar' of T1_FaceRec.
     4245        * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
     4246        of T1_FaceRec.
     4247
     4248        * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
     4249        T1_FaceRec.
    21104250
    211142512006-07-14  Jens Claudius  <jens.claudius@yahoo.com>
    21124252
    2113         * freetype2/include/freetype/internal/psaux.h: New macros
    2114         IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
    2115         IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
     4253        * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
     4254        IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
     4255        and IS_PS_BASE85 (from src/psaux/psconv.h).
    21164256        (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
    21174257        T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
     
    21194259        (IS_PS_TOKEN): New macro.
    21204260
    2121         * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
    2122         fields `ndv_idx', `cdv_idx', and `len_buildchar'.
    2123 
    2124         * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
     4261        * include/freetype/internal/t1types.h (T1_FaceRec): New fields
     4262        `ndv_idx', `cdv_idx', and `len_buildchar'.
     4263
     4264        * include/freetype/t1tables.h (PS_BlendRec): New fields
    21254265        `default_design_vector' and `num_default_design_vector'.
    21264266
    2127         * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
    2128         IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
    2129         and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
    2130 
    2131         * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
    2132         `token' argument to be NULL if we want only to count the number of
    2133         tokens.
     4267        * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
     4268        IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
     4269        IS_PS_BASE85 to include/freetype/internal/psaux.h.
     4270
     4271        * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
     4272        argument to be NULL if we want only to count the number of tokens.
    21344273        (ps_tocoordarray): Allow `coords' argument to be NULL if we just
    21354274        want to skip the array.
     
    21374276        want to skip the array.
    21384277
    2139         * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
    2140         support for (partially commented out) othersubrs 19-25, 27, and 28.
    2141         (t1_decoder_init): Initialize new fields `face' and `buildchar'.
     4278        * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
     4279        for (partially commented out) othersubrs 19-25, 27, and 28.
     4280        (t1_decoder_init): Initialize new fields `face' and `buildchar'. 
    21424281        (t1_decoder_done): Release new field `buildchar'.
    21434282
    2144         * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
     4283        * src/type1/t1load.c (parse_buildchar, parse_private): New
    21454284        functions.
    21464285        (t1_keywords): Register them.
     
    21574296        Remove `keywords_flags'.
    21584297
    2159         * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
     4298        * src/type1/t1load.h (T1_LoaderRect): New field
    21604299        `keywords_encountered'.
    21614300        (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
    21624301
    2163         * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
    2164         New entries for parsing /NDV, /CDV, and /DesignVector.
     4302        * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
     4303        entries for parsing /NDV, /CDV, and /DesignVector.
    21654304
    216643052006-07-07  Werner Lemberg  <wl@gnu.org>
     
    24424581----------------------------------------------------------------------------
    24434582
    2444 Copyright 2006, 2007 by
     4583Copyright 2006, 2007, 2008, 2009 by
    24454584David Turner, Robert Wilhelm, and Werner Lemberg.
    24464585
Note: See TracChangeset for help on using the changeset viewer.