accent offset.
Update code similarly to the seac support for Type 1 fonts.
(cff_decoder_parse_charstrings) <cff_op_endchar>: Fix magnitude
of accent offset.
Don't hint glyphs twice if seac is emulated.
<cff_op_flex>: Assign correct point tags.
* docs/CHANGES: Updated.
* src/type1/t1parse.c (T1_Get_Private_Dict): Use FT_MEM_MOVE, not
FT_MEM_COPY, for copying the private dict.
* src/type1/t1load.c (parse_subrs): Assign number of subrs only
in first run.
(parse_charstrings): Parse /CharStrings in second run without
assigning values.
(parse_dict): Skip all /CharStrings arrays but the first. We need
this for non-standard fonts like `Optima' which have different
outlines depending on the resolution. Note that there is no
guarantee that we get fitting /Subrs and /CharStrings arrays; this
can only be done by a real PS interpreter.
started with `StartData' in CID-keyed Type 1 fonts.
* include/freetype/internal/t1types.h (CID_FaceRec): Add new
members `binary_data' and `cid_stream'.
* src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'.
(cid_hex_to_binary): New auxiliary function.
(cid_face_open): Add new argument `face_index' to return quickly
if less than zero. Updated all callers.
Call `cid_hex_to_binary', then open and assign memory stream to
`face->cid_stream' if `parser->binary_length' is non-zero.
* src/cid/cidload.h: Updated.
* src/cid/cidobjs.c (cid_face_done): Free `binary_data' and
`cid_stream'.
* src/cid/cidparse.c (cid_parser_new): Check arguments to
`StartData' and set parser->binary_length accordingly.
* src/cid/cidparse.h (CID_Parser): New member `binary_length'.
* src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'.
* docs/CHANGES: Updated.
include/freetype/config/ftstdlib.h (ft_atoi): Replaced with...
(ft_atol): This.
* src/base/ftdbgmem.c: s/atol/ft_atol/.
* src/type42/t42drivr.c: s/ft_atoi/ft_atol/.
FT_INTERNAL_OBJECTS_H.
* src/base/ftstroke.c (FT_Outline_GetInsideBorder,
FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with
C++ compilers.
* src/cache/ftcmru.c, include/freetype/cache/ftcmru.h:
s/select/selection/ to avoid compiler warning.
* src/cff/cffload.h: s/select/ftselect/ to avoid potential
compiler warning.
Formatting.
to describe the `charset' field in FT_WinFNT_HeaderRec.
* src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to
FT_ENCODING_NONE except for FT_WinFNT_ID_MAC.
* include/freetype/freetype.h (FT_Encoding): Improve comment,
based on work by Detlef Würkner <TetiSoft@apg.lahn.de>.
* docs/CHANGES: Updated.
`cid_count' to `FT_ULong'.
* src/cff/cffgload.c (cff_slot_load): Take care of empty `cids'
array.
* src/cff/cffload.c (cff_charset_done): Free `cids' array.
(cff_font_load): Create cids array only for CID-keyed fonts which
are subsetted.
* src/cff/cffobjs.c (cff_face_init): Check the availability of
the PSNames modules for non-pure CFFs also.
Set FT_FACE_FLAG_GLYPH_NAMES for a non-pure CFF also if it isn't
CID-keyed.
* src/cff/rules.mk (CFF_DRV_H): Add cfftypes.h.
(cff_get_name_index): Return if no PSNames service is available.
(cff_ps_has_glyph_names): Handle CID-keyed fonts correctly.
* src/cff/cfftypes.h (CFF_CharsetRec): New field `cids', used for
CID-keyed fonts. This is the inverse mapping of `sids'.
* src/cff/cffload.c (cff_charset_load): New argument `invert'.
Initialize charset->cids if `invert' is set.
(cff_font_load): In call to cff_charset_load, set `invert' to true
for CID-keyed fonts.
* src/cff/cffgload.c (cff_slot_load): Handle glyph index as CID
and map it to the real glyph index.
* docs/CHANGES: Updated.
=========================
* builds/unix/ft2unix.h: Fix comments.
* builds/unix/ftconfig.in: Synchronized with ANSI version.
Use `#undef' in templates as recommended in the autoconf
documentation.
Since real `#undef' lines don't survive during configuration, use
`/undef' instead; the postprocessing facility of the
AC_CONFIG_HEADERS autoconf macro converts them to `#undef'.
* builds/unix/install.mk (install): Install Unix version of
`ftconfig.h'.
* builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro
to include the correct `ftconfig.h' file.
* builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed.
(FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59.
* builds/unix/freetype2.m4: Updated syntax to autoconf 2.59.
* builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of
AC_CONFIG_HEADER to create ftconfig.h, and use second argument
to replace `/undef' with `#undef'.
Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap.
Use AS_HELP_STRING in AC_ARG_WITH.
Update syntax to autoconf 2.59.
* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
--copy' from libtool 1.5.
* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
automake 1.7.8.
* builds/unix/configure: Regenerated with autoconf 2.59.
* builds/unix/config.guess, builds/unix/config.sub: Updated from
`config' CVS module at subversions.gnu.org
* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
`texinfo' CVS module at subversions.gnu.org.
* builds/vms/ftconfig.h: Synchronized with ANSI version.
* docs/CUSTOMIZE: Fix documentation error.
* docs/CHANGES, docs/VERSION.DLL, docs/release: Updated.
* builds/freetype.mk (refdoc): Updated --title.
docs/CHANGES, include/freetype/freetype.h:
updating version numbers for 2.1.6, and removing obsolete
warnings in the documentation
* include/freetype/internal/ftcore.h,
include/freetype/internal/ftexcept.h,
include/freetype/internal/fthash.h,
include/freetype/internal/ftobject.h:
removing obsolete files
FT_MEM_MOVE.
* include/freetype/freetype.h (FT_ENCODING_SJIS, FT_ENCODING_GB2312,
FT_ENCODING_BIG5, FT_ENCODING_WANSUNG, FT_ENCODING_JOHAB): New
enumerations of FT_Encoding. The FT_ENCODING_MS_* variants except
FT_ENCODING_MS_SYMBOL are now deprecated.
Updated all users.
* docs/CHANGES: Document it.
* builds/unix/configure: Updated.
* docs/CHANGES, docs/VERSION.DLL: Updated.
* include/freetype/freetype.h (FT_GlyphSlot): Change 2003-06-16
also breaks binary compatibility. Reintroduce an unsigned integer
at the old position of `flags' called `reserved'.
* include/freetype/internal/ftobjs.h, src/base/ftobjs.c, src/bdf/bdfdrivr.c,
src/pcf/pcfdriver.c, src/pfr/pfrsbit.c, src/sfnt/ttsbit.c,
src/type42/t42objs.c, src/winfonts/winfnt.c: introduced three new functions
to deal with glyph bitmaps within FT_GlyphSlot objects. these are:
ft_glyphslot_free_bitmap
ft_glyphslot_alloc_bitmap
ft_glyphslot_set_bitmap
these are much more convenient to use than managing the FT_GLYPH_OWN_BITMAP
flag manually. the font drivers have been modified to use them as well.
* src/cache/ftlru.c: fixed an invalid assertion check
* src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: updated
to mode the definition of encoding tables within "cffload.c" instead
of making them part of a shared header (causing problems in "multi"
builds)
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.