summaryrefslogtreecommitdiff
path: root/components/external
diff options
context:
space:
mode:
authorMing, Bai <[email protected]>2013-01-08 23:09:34 +0800
committerMing, Bai <[email protected]>2013-01-08 23:09:34 +0800
commit86623c945f610a0ecdba732a899d2db3c9dcb906 (patch)
tree13013661bb931f2889799d13492ff5a3db2b9dbf /components/external
parent85d0f410670c41690a94eb4c046dc0259e398b19 (diff)
Update CRLF
Diffstat (limited to 'components/external')
-rw-r--r--components/external/freetype/.gitignore2
-rw-r--r--components/external/freetype/ChangeLog15896
-rw-r--r--components/external/freetype/ChangeLog.205226
-rw-r--r--components/external/freetype/ChangeLog.2118878
-rw-r--r--components/external/freetype/ChangeLog.225674
-rw-r--r--components/external/freetype/Jamrules142
-rw-r--r--components/external/freetype/README128
-rw-r--r--components/external/freetype/README.git92
-rw-r--r--components/external/freetype/builds/amiga/README220
-rw-r--r--components/external/freetype/builds/amiga/makefile.os4594
-rw-r--r--components/external/freetype/builds/amiga/smakefile594
-rw-r--r--components/external/freetype/builds/atari/FNames.SIC74
-rw-r--r--components/external/freetype/builds/atari/FREETYPE.PRJ64
-rw-r--r--components/external/freetype/builds/atari/deflinejoiner.awk362
-rw-r--r--components/external/freetype/builds/mac/README806
-rw-r--r--components/external/freetype/builds/newline2
-rw-r--r--components/external/freetype/builds/symbian/freetype.mmp284
-rw-r--r--components/external/freetype/builds/unix/.gitignore32
-rw-r--r--components/external/freetype/builds/unix/config.guess3004
-rw-r--r--components/external/freetype/builds/unix/config.sub3428
-rw-r--r--components/external/freetype/builds/unix/configure.ac1368
-rw-r--r--components/external/freetype/builds/unix/configure.raw1368
-rw-r--r--components/external/freetype/builds/unix/install-sh1040
-rw-r--r--components/external/freetype/builds/unix/mkinstalldirs322
-rw-r--r--components/external/freetype/builds/win32/visualc/freetype.sln66
-rw-r--r--components/external/freetype/builds/win32/visualc/freetype.vcproj4824
-rw-r--r--components/external/freetype/configure240
-rw-r--r--components/external/freetype/docs/CHANGES6792
-rw-r--r--components/external/freetype/docs/CUSTOMIZE300
-rw-r--r--components/external/freetype/docs/DEBUG404
-rw-r--r--components/external/freetype/docs/INSTALL182
-rw-r--r--components/external/freetype/docs/INSTALL.ANY302
-rw-r--r--components/external/freetype/docs/INSTALL.CROSS270
-rw-r--r--components/external/freetype/docs/INSTALL.GNU318
-rw-r--r--components/external/freetype/docs/INSTALL.MAC64
-rw-r--r--components/external/freetype/docs/INSTALL.UNIX192
-rw-r--r--components/external/freetype/docs/INSTALL.VMS124
-rw-r--r--components/external/freetype/docs/MAKEPP10
-rw-r--r--components/external/freetype/docs/PATENTS54
-rw-r--r--components/external/freetype/docs/PROBLEMS154
-rw-r--r--components/external/freetype/docs/TODO80
-rw-r--r--components/external/freetype/docs/TRUETYPE80
-rw-r--r--components/external/freetype/docs/UPGRADE.UNIX274
-rw-r--r--components/external/freetype/docs/VERSION.DLL276
-rw-r--r--components/external/freetype/docs/reference/.gitignore2
-rw-r--r--components/external/freetype/docs/reference/README10
-rw-r--r--components/external/freetype/docs/release390
-rw-r--r--components/external/freetype/modules.cfg500
-rw-r--r--components/external/freetype/objs/.gitignore18
-rw-r--r--components/external/freetype/objs/README4
-rw-r--r--components/external/freetype/src/bdf/README296
-rw-r--r--components/external/freetype/src/gxvalid/README1064
-rw-r--r--components/external/freetype/src/pcf/README228
-rw-r--r--components/external/freetype/src/tools/docmaker/.gitignore2
-rw-r--r--components/external/freetype/src/tools/ftrandom/README96
-rw-r--r--components/external/freetype/version.sed10
56 files changed, 38613 insertions, 38613 deletions
diff --git a/components/external/freetype/.gitignore b/components/external/freetype/.gitignore
index f86e720416..aee2e4ce16 100644
--- a/components/external/freetype/.gitignore
+++ b/components/external/freetype/.gitignore
@@ -1 +1 @@
-config.mk
+config.mk
diff --git a/components/external/freetype/ChangeLog b/components/external/freetype/ChangeLog
index 4f9849375a..83a7d53c6d 100644
--- a/components/external/freetype/ChangeLog
+++ b/components/external/freetype/ChangeLog
@@ -1,7948 +1,7948 @@
-2010-02-13 Werner Lemberg <[email protected]>
-
- * Version 2.3.12 released.
- ==========================
-
-
- Tag sources with `VER-2-3-12'.
-
- * docs/CHANGES: Updated.
-
- * docs/VERSION.DLL: Update documentation and bump version number to
- 2.3.12.
-
- * README, Jamfile (RefDoc),
- builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
- builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2005-ce/index.html,
- builds/wince/vc2008-ce/freetype.vcproj,
- builds/wince/vc2008-ce/index.html: s/2.3.11/2.3.12/, s/2311/2312/.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
-
- * builds/unix/configure.raw (version_info): Set to 10:0:4.
-
-2010-02-12 suzuki toshiya <[email protected]>
-
- Improve autotool version checking to work with beta releases.
-
- * autogen.sh (check_tool_version): Improve the extraction of version
- number from "tool --version" output. Some beta releases of
- autotools have extra strings before version number.
-
-2010-02-12 suzuki toshiya <[email protected]>
-
- Fix overallocating bug in FT_Outline_New_Internal().
-
- * src/base/ftoutln.c (FT_Outline_New_Internal): The length of
- FT_Outline->points[] should be numPoints, not 2 * numPoints.
- Found by Paul Messmer, see
- http://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html
-
-2010-02-10 Ken Sharp <[email protected]>
-
- Really fix Savannah bug #28678 (part 2).
-
- Since we consider `sbw' for the horizontal direction only, we still have
- to synthesize vertical metrics if the user wants to use the vertical
- writing direction.
-
- * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
- (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph):
- Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is
- set.
-
-2010-02-10 Ken Sharp <[email protected]>
-
- Really fix Savannah bug #28678 (part 1).
-
- After long discussion, we now consider the character width vector
- (wx,wy) returned by the `sbw' Type 1 operator as being part of *one*
- direction only. For example, if you are using the horizontal
- writing direction, you get the horizontal and vertical components of
- the advance width for this direction. Note that OpenType and CFF fonts
- don't have such a vertical component; instead, the GPOS table can be
- used to generate two-dimensional advance widths (but this isn't
- handled by FreeType).
-
- * include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add
- `advance_v' field to hold the vertical component of the advance
- value.
-
- * src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c
- (cff_slot_load), src/type1/t1gload.c
- (T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c
- (cid_load_glyph): Use it.
-
-2010-02-08 Werner Lemberg <[email protected]>
-
- * devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define.
-
-2010-02-04 suzuki toshiya <[email protected]>
-
- Prevent NULL pointer dereference passed to FT_Module_Requester.
-
- * src/sfnt/sfdriver.c (sfnt_get_interface): Don't use `module'.
- * src/psnames/psmodule.c (psnames_get_interface): Ditto.
-
- * src/cff/cffdrivr.c (cff_get_interface): Check NULL `driver'.
- * src/truetype/ttdriver.c (tt_get_interface): Ditto.
-
-2010-01-29 suzuki toshiya <[email protected]>
-
- Fix memory leaks in previous patch.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Don't overwrite the strings
- allocated for face->root.family_name and style_name.
-
-2010-01-29 suzuki toshiya <[email protected]>
-
- New parameters for FT_Open_Face() to ignore preferred family names.
-
- Preferred family names should be used for legacy systems that
- can hold only a few faces (<= 4) for a family name. Suggested by
- Andreas Heinrich.
- http://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html
-
- * include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
- FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define.
-
- * src/sfnt/sfobjs.h (sfnt_load_face): Check the arguments and
- ignore preferred family and subfamily names if requested.
-
-2010-01-27 Ken Sharp <[email protected]>
-
- Fix Savannah bug #28678.
-
- * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
- (cid_load_glyph): Handle vertical metrics correctly.
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle
- vertical metrics correctly.
- (T1_Load_Glyph): Don't synthesize vertical metrics.
-
-2010-01-14 Werner Lemberg <[email protected]>
-
- Make FT_Set_Transform work if no renderer is available.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation
- if no renderer is compiled into the library.
-
-2010-01-14 Werner Lemberg <[email protected]>
-
- Fix compilation warning.
-
- * src/base/ftbase.h: s/LOCAL_DEF/LOCAL/.
- * src/base/ftobjc.s: Include ftbase.h conditionally.
-
-2010-01-11 Kwang Yul Seo <[email protected]>
-
- Provide inline assembly code for RVCT compiler.
- This is Savannah patch #7059.
-
- * include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER,
- FT_MulFix_arm) [__CC_ARM || __ARM_CC]: Define.
-
-2010-01-08 Ken Sharp <[email protected]>
-
- Fix Savannah bug #28521.
-
- Issue #28226 involved a work-around for a font which used the
- `setcurrentpoint' operator in an invalid way; this operator is only
- supposed to be used with the result of OtherSubrs, and the font used
- it directly. The supplied patch removed the block of code which
- checked this usage entirely.
-
- This turns out to be a Bad Thing. If `setcurrentpoint' is being
- used correctly it should reset the flex flag in the decoder. If we
- don't do this then the flag never gets reset and we omit any further
- contours from the glyph (at least until we close the path or
- similar).
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
- <op_setcurrentpoint>: Handle `flex_state' correctly.
-
-2010-01-05 Werner Lemberg <[email protected]>
-
- Apply reports from clang static analyzer.
-
- * src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c
- (FT_Stroker_ParseOutline), src/base/ftsynth.c
- (FT_GlyphSlot_Embolden): Remove dead code.
-
- * src/base/ftpatent.c (_tt_check_patents_in_table): Initialize
- `offset_i' and `length_i'.
-
-2010-01-05 Ralph Giles <[email protected]>
-
- Enable the incremental font interface by default.
-
- Ghostscript requires the incremental font interface for handling
- some Postscript documents. It is moving to using FreeType as its
- primary renderer; supporting this in the default build makes it
- Ghostscript to be linked against the system FreeType when one is
- available.
-
- * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
- Uncomment.
-
-2010-01-05 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #28395.
-
- * src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c
- (T1_Loada_Glyph): Don't check `num_glyphs' if incremental interface
- is used.
-
-2010-01-05 Ken Sharp <[email protected]>
-
- Make Type 1 `seac' operator work with incremental interface.
- This fixes Savannah bug #28480.
-
- * src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names'
- if incremental interface is used.
-
-2010-01-04 Ken Sharp <[email protected]>
-
- Make incremental interface work with TrueType fonts.
- This fixes Savannah bug #28478.
-
- * src/truetype/ttgload.c (load_truetype_glyph): Don't check
- `glyf_offset' if incremental interface is used.
-
-2009-12-31 Lars Abrahamsson <[email protected]>
-
- Make compilation with FT_CONFIG_OPTION_PIC work again.
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]:
- Declare `library' for FT_BITMAP_GLYPH_CLASS_GET.
-
- * src/base/ftinit.c (ft_destroy_default_module_classes,
- ft_create_default_module_classes): Use proper casts (needed for C++
- compilation).
-
- * src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP.
-
-2009-12-22 Marc Kleine-Budde <[email protected]>
-
- Make freetype-config aware of $SYSROOT.
- This is Savannah patch #7040.
-
- * builds/unix/freetype-config.in: Decorate with ${SYSROOT} where
- appropriate.
-
-2009-12-20 Werner Lemberg <[email protected]>
-
- Fix compiler warning.
- Reported by Sean.
-
- * src/base/ftdbgmem.c [!FT_DEBUG_MEMORY]: ANSI C doesn't like empty
- source files; however, some compilers warn about an unused variable
- declaration. This is now replaced with a typedef.
-
-2009-12-18 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #28320.
-
- There exist corrupt, subsetted fonts (embedded in PDF files) which
- contain a private dict that ends with an unterminated floating point
- number (no operator following). We now ignore this error (as
- acrobat does).
-
- * src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for
- unterminated floating point numbers.
-
-2009-12-16 Werner Lemberg <[email protected]>
-
- Really fix compiler warnings.
- Reported by Sean.
-
- * src/truetype/ttgxvar.c (GX_PT_POINTS_ARE_WORDS,
- GX_PT_POINT_RUN_COUNT_MASK): Convert enum values to macros.
-
-2009-12-16 suzuki toshiya <[email protected]>
-
- Improve configure.raw to copy some options from CFLAGS to LDFLAGS.
- The linker of Mac OS X 10.6 is sensitive to the architecture. If
- the architectures are specified explicitly for the C compiler, the
- linker requires the architecture specifications too.
-
- * builds/unix/configure.raw: Replace `-isysroot' option parser by
- more generic argument parser.
-
-2009-12-15 Werner Lemberg <[email protected]>
-
- Fix compiler warnings.
- Reported by Sean.
-
- * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data
- type.
-
-2009-12-14 Ken Sharp <[email protected]>
-
- Ignore invalid `setcurrentpoint' operations in Type 1 fonts.
- This fixes Savannah bug #28226.
-
- At least two wild PostScript files of unknown provenance contain
- Type 1 fonts, apparently converted from TrueType fonts in earlier
- PDF versions of the files, which use the `setcurrentpoint' operator
- inappropriately.
-
- FreeType currently throws an error in this case, but Ghostscript and
- Adobe Distiller both accept the fonts and ignore the problem. This
- commit #ifdefs out the check so PostScript interpreters using
- FreeType can render these files.
-
- The specification says `setcurrentpoint' should only be used to set
- the point after a `Subr' call, but these fonts use it to set the
- initial point to (0,0). Unnecessarily so, as they correctly use an
- `hsbw' operation which implicitly sets the initial point.
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
- <op_setcurrentpoint>: Comment out code.
-
-2009-12-14 Bram Tassyns <[email protected]>
-
- Fix parsing of /CIDFontVersion.
- This fixes Savannah bug #28287.
-
- * src/cid/cidtoken.h: `cid_version' in CID_FaceInfoRec (in
- t1tables.h) is of type FT_Fixed.
-
-2009-12-14 Werner Lemberg <[email protected]>
-
- Trace glyph index in CID module.
- Suggested in Savannah patch #7023.
-
- * src/cid/cidgload.c (cid_load_glyph): Add tracing message.
-
-2009-12-03 Werner Lemberg <[email protected]>
-
- Fix compiler warnings.
-
- * src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the
- proper preprocessor conditional.
- * src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc.
-
-2009-11-25 John Tytgat <[email protected]>
-
- Better handling of start of `eexec' section.
- This fixes Savannah bug #28090.
-
- * src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace
- characters before start of `eexec' section.
-
-2009-11-20 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #27742.
-
- * src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by
- zero, using a threshold for `theta'.
-
-2009-11-20 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #28036.
-
- * src/type1/t1afm.c (t1_get_index): Fix comparison.
-
-2009-11-16 Werner Lemberg <[email protected]>
-
- Fix compiler warnings.
- Reported by Kevin Blenkinsopp <[email protected]>.
-
- * src/sfnt/ttload.c (check_table_dir): Use proper data type.
-
-2009-11-15 Werner Lemberg <[email protected]>
-
- Really fix FreeDesktop bug #21197.
- This also fixes Savannah bug #28021.
-
- * src/autofit/aflatin.c (af_latin_metrics_check_digits),
- src/autofit/aflatin2.c (af_latin2_metrics_check_digits): Fix loop.
-
-2009-11-15 Werner Lemberg <[email protected]>
-
- Add tracing messages for advance values.
-
- * src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c
- (TT_Get_HMetrics, TT_Get_VMetrics): Do it.
-
-2009-11-08 Werner Lemberg <[email protected]>
-
- Fix compiler warning.
- Reported by Jeremy Manson <[email protected]>.
-
- * src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'.
-
-2009-11-04 Werner Lemberg <[email protected]>
-
- Remove compiler warning.
- Reported by Sean McBride <[email protected]>.
-
- * src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to
- `int', as specified in the printf(3) man page.
-
-2009-11-04 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #27921.
-
- * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
- (cid_face_init), src/type1/t1afm.c (T1_Read_Metrics),
- src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant
- values for rounding if the argument can be negative.
-
-2009-11-03 Bram Tassyns <[email protected]>
-
- Add basic support for Type1 charstrings in CFF.
- This fixes Savannah bug #27922.
-
- * src/cff/cffgload.c (CFF_Operator, cff_argument_counts): Handle
- `seac', `sbw', and `setcurrentpoint' opcodes.
- (cff_compute_bias): Add parameter to indicate the charstring type.
- Update all callers.
- (cff_operator_seac): Add parameter for side bearing.
- (cff_decoder_parse_charstrings): Updated for more Type1 support.
-
-2009-11-03 Werner Lemberg <[email protected]>
-
- Return correct `linearHoriAdvance' value for embedded TT bitmaps too.
- Reported by Jeremy Manson <[email protected]>.
-
- src/truetype/ttgload.c (load_truetype_glyph): Add parameter to
- quickly load the glyph header only.
- Update all callers.
- (tt_loader_init): Add parameter to quickly load the `glyf' table
- only.
- Update all callers.
- (TT_Load_Glyph): Compute linear advance values for embedded bitmap
- glyphs too.
-
-2009-11-03 Werner Lemberg <[email protected]>
-
- Improve code readability.
-
- * src/ttgload.c (load_truetype_glyph): Move metrics calculation
- to...
- (tt_get_metrics): This new function.
-
-2009-10-26 Bram Tassyns <[email protected]>
-
- Fix Savannah bug #27811.
-
- * src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix
- signed/unsigned mismatch.
-
-2009-10-19 Ning Dong <[email protected]>
-
- Fix handling of `get' and `put' CFF instructions.
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_get,
- cff_op_put>: Appendix B of Adobe Technote #5177 limits the number of
- elements for the `get' and `put' operators to 32.
- * src/cff/cffgload.h (CFF_MAX_TRANS_ELEMENTS): Define.
- (CFF_Decoder): Use it for `buildchar' and remove `len_buildchar'.
-
-2009-10-18 Werner Lemberg <[email protected]>
-
- Fix handling of `dup' CFF instruction.
- Problem and solution reported by Ning Dong <[email protected]>.
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>:
- Increase `args' by 2, not 1.
-
-2009-10-10 Werner Lemberg <[email protected]>
-
- * Version 2.3.11 released.
- ==========================
-
-
- Tag sources with `VER-2-3-11'.
-
- * docs/VERSION.DLL: Update documentation and bump version number to
- 2.3.11.
-
- * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj: s/2.3.10/2.3.11/, s/2310/2311/.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
-
- * builds/unix/configure.raw (version_info): Set to 9:22:3.
-
-2009-10-10 Werner Lemberg <[email protected]>
-
- * docs/CHANGES, docs/release: Updated.
-
-2009-10-10 suzuki toshiya <[email protected]>
-
- * src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops
- truncation. Reported by Martin von Gagern and Peter Volkov.
- https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256
-
-2009-10-06 Werner Lemberg <[email protected]>
-
- * Version 2.3.10 released.
- ==========================
-
-
- Tag sources with `VER-2-3-10'.
-
- * builds/toplevel.mk (major, minor, patch): Fix regexp to allow more
- than a single digit.
- (dist): We now use git.
-
- * docs/VERSION.DLL: Update documentation and bump version number to
- 2.3.10.
-
- * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
-
- * builds/unix/configure.raw (version_info): Set to 9:21:3.
-
-2009-10-06 Werner Lemberg <[email protected]>
-
- Fix `make multi'.
-
- * src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define.
-
- * src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H.
-
-2009-09-27 suzuki toshiya <[email protected]>
-
- [cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582.
- Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed.
- Now these functions should be called with FTC_Node or FTC_MruNode
- variable, and the caller should cast them to appropriate pointers to
- concrete data. These tricky casts can GCC-4.4 optimizer (-O2)
- confused and the crashing binaries are generated.
-
- * src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast.
- Now the 4th argument `node' of this function should be typed as
- FTC_MruNode.
-
- * src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline
- implementation, new temporal variable FTC_MruNode `_mrunode' to take
- the pointer from FTC_MRULIST_LOOKUP_CMP(). For non-inline
- implementation, tricky cast is dropped.
-
- * src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting
- to FTC_SizeNode.
- (FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode
- `mrunode', and FTC_SIZE_NODE() is inserted.
- (FTC_FACE_NODE): New macro casting to FTC_FaceNode.
- (FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode
- `mrunode', and FTC_FACE_NODE() is inserted.
-
- * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of
- `node' from FTC_INode to FTC_Node. Extra casting macro FTC_NODE()
- is dropped.
- (FTC_ImageCache_LookupScaler): Ditto.
- (FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to
- FTC_Node. Extra casting macro FTC_NODE() is dropped. FTC_SNODE()
- is inserted.
- (FTC_SBitCache_LookupScaler): Ditto.
-
- * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of
- `node' from FTC_CMapNode to FTC_Node. Extra casting macro
- FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted.
-
-2009-09-25 suzuki toshiya <[email protected]>
-
- [cache, psaux, type1] Fix for multi build.
- In multi build, some cpp functions are left as unresolved symbols.
-
- * src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1().
-
- * src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for
- FIXED_TO_INT().
- * src/type1/t1gload.c: Ditto.
- * src/type1/t1objs.c: Ditto.
-
-2009-09-25 suzuki toshiya <[email protected]>
-
- [autofit] Fix for multi build.
-
- * src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use
- FT_DECLARE_MODULE() macro in multi build.
-
- * src/autofit/aflatin.c: Include <ft2build.h> to handle
- FT_ADVANCES_H correctly in multi build.
-
-2009-09-24 suzuki toshiya <[email protected]>
-
- [cache] Check the face filled by FTC_Manager_LookupFace().
-
- * src/cache/ftcbasic.c (ftc_basic_family_get_count): Return
- immediately if FTC_Manager_LookupFace() fills face by NULL. Such
- case can occur when the code is optimized by GCC-4.2.x.
-
-2009-09-23 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2009-09-12 Werner Lemberg <[email protected]>
-
- [raster] Fix 5-levels grayscale output.
- This was broken since version 2.3.0.
-
- * src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which
- were then computed dynamically).
- (Vertical_Gray_Sweep_Step): Updated.
-
- (ft_black_render): Initialize `worker->gray_lines' (problem found by
- valgrind).
-
- (FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just
- comment out.
-
-2009-09-12 suzuki toshiya <[email protected]>
-
- Improve configure.raw for cross build.
-
- * builds/unix/configure.raw: Remove temporal files created by the
- suffix checking for CC_BUILD. Set XX_ANSIFLAGS and XX_CFLAGS when
- cross compiler is GCC. AC_PROG_CC checks whether the cross compiler
- is GCC, its result is stored in GCC.
-
-2009-09-12 suzuki toshiya <[email protected]>
-
- [BDF] Modify hash API to take size_t value instead of void *.
-
- The hash API in BDF driver is designed to be generic, it takes
- void * typed data. But BDF driver always gives an unsigned long
- integer (the index to a property). To reduce non-essential
- casts from unsigned long to void* and from void* to unsigned
- long, the hash API is changed to take size_t integer.
- The issue of incompatible cast between unsigned long and void*
- on LLP64 platform is reported by NightStrike from MinGW-Win64
- project. See
- http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
-
- * src/bdf/bdf.h: The type of hashnode->data is changed from
- void* to size_t.
-
- * src/bdf/bdflib.c (hash_insert): Get size_t data, instead of
- void* data.
- (bdf_create_property): Get the name length of new property by
- size_t variable, with a cut-off at FT_ULONG_MAX.
- (_bdf_set_default_spacing): Get the name length of the face by
- size_t variable, with a cut-off at 256.
- (bdf_get_property): Get the property id by size_t variable to
- reduce the casts between 32-bit prop ID & hashnode->data during
- simple copying.
- (_bdf_add_property): Ditto.
- (_bdf_parse_start): Calculate the index to the property array
- by size_t variable.
- (bdf_get_font_property): Drop a cast to unsigned long.
-
-2009-09-10 suzuki toshiya <[email protected]>
-
- [Win64] Improve the computation of random seed from stack address.
-
- On LLP64 platform, the conversion from pointer to FT_Fixed need
- to drop higher 32-bit. Explict casts are required. Reported by
- NightStrike from MinGW-w64 project. See
- http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
-
- * src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly.
-
- * src/psaux/t1decode.c: Ditto.
-
-
-2009-09-03 Werner Lemberg <[email protected]>
-
- [raster] Improvements for stand-alone mode.
-
- * src/raster/rules.mk: Don't handle ftmisc.h. It is needed for
- stand-alone mode only.
-
- * src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func,
- FT_Realloc_Func): Copy declarations from ftsystem.h.
-
-2009-09-02 Bram Tassyns <[email protected]>
-
- Improve vertical metrics calculation (Savannah bug #27364).
-
- The calculation of `vertBearingX' is not defined in the OTF font
- spec so FreeType does a `best effort' attempt. However, this value
- is defined in the PDF and PostScript specs, and that algorithm is
- better than the one FreeType currently uses:
-
- FreeType: Use the middle of the bounding box as the X coordinate
- of the vertical origin.
-
- Adobe PDF spec: Use the middle of the horizontal advance vector as
- the X coordinate of the vertical origin.
-
- FreeType's algorithm goes wrong if you have a really small glyph
- (like the full-width, circle-like dot at the end of the sentence, as
- used in CJK scripts) with large bearings. With the FreeType
- algorithm this dot gets centered on the baseline; with the PDF
- algorithm it gets the correct location (in the top right). Note
- that this is a serious issue, it's like printing the dot at the end
- of a Roman sentence at the center of the textline instead of on the
- baseline like it should. So i believe the PDF spec's algorithm
- should be used in FreeType as well.
-
- The `vertBearingY' value for such small glyphs is also very strange
- if no `vmtx' information is present, since the height of the bbox is
- not representable for the height of the glyph visually (the
- whitespace up to the baseline is part of the glyph). The fix also
- includes some code for a better estimate of `vertBearingY'.
-
- * src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX'
- is now calculated as described by the Adobe PDF Spec. Estimate for
- `vertBearingY' now works better for small glyphs completely above or
- below the baseline into account.
-
- * src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now
- calculated as described by the Adobe PDF Spec. Vertical metrics
- information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS
- was not defined.
-
- * src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is
- now calculated as described by the Adobe PDF Spec.
-
-2009-09-01 John Tytgat <[email protected]>
-
- Fix custom cmap for empty Type 1 font (Savannah bug #27294).
-
- * include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update
- comment to reflect revised code_last meaning.
- * src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c
- (T42_Open_Face): Assign max_char as highest character code + 1 and
- use this for T1_EncodingRecRec_::code_last.
- * src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised
- T1_EncodingRecRec_::code_last meaning.
-
-2009-08-25 Werner Lemberg <[email protected]>
-
- Fix rendering of horizontally compressed CFFs.
- Bug reported by Ivan Nincic <[email protected]>.
-
- * src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of
- `font_matrix' also.
-
- * docs/CHANGES: Updated.
-
-2009-08-03 [email protected]
-
- Don't call `ft_fseek' every time when executing `ft_fread'.
-
- * src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c
- (ft_ansi_stream_io): Implement it.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Cast a charcode to 32-bit in cmap format 14 parser.
-
- * src/sfnt/ttcmap.c (tt_cmap14_char_var_index,
- tt_cmap14_char_var_isdefault, tt_cmap14_char_variants,
- tt_cmap14_variant_chars): Correct mismatches from
- FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments
- are replaced by FT_UInt32 arguments.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Cast a charcode to 32-bit in cmap format 12 parser.
-
- * src/sfnt/ttcmap.c (tt_cmap12_char_next):
- Insert explicit cast from FT_UFast to FT_UInt32
- for return value.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- psaux: Fix a few casts to FT_Int32 value.
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings):
- Fix a few casts setting `value' from FT_Long to FT_Int32,
- because `value' is typed as FT_Int32 since 2009-06-22.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Fix a data type mismatching with its source.
-
- * src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the
- type of `gindex' from FT_ULong to FT_UInt because
- it is set by FT_UInt tt_cmap13_char_map_binary() or
- TT_CMap13->cur_gindex.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Extend a few local variables to load 32-bit values.
-
- * src/sfnt/ttkern.c (tt_face_load_kern): Extend `count'
- and `kern' to load 32-bit values.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pfr: Extend `num_aux' to take 32-bit value.
-
- * src/pfr/pfrload.c (pfr_phy_font_load): Extend
- `num_aux' to load 32-bit value.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
-
- * src/pcf/pcfread.c (pcf_get_properties): Load `nprops'
- as FT_ULong value from PCF file, but truncate it as
- int to fit PCF_Face->nprops. The number of truncated
- properties is shown in the trace message.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- gxvalid: Extend a few local variables to reduce the casts.
-
- * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
- Extend `type' and `rest' to take FT_ULong values.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- gxvalid: Extend `settingTable' to take 32-bit offset.
-
- * src/gxvalid/gxvfeat.c (gxv_feat_name_validate):
- Extend `settingTable' to take 32-bit offset.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- autofit: Cast FT_Long glyph_count to compare with FT_UInt GID.
-
- * src/autofit/afglobal.c (af_face_globals_is_digit,
- af_face_globals_compute_script_coverage): Cast FT_Long
- globals->glyph_count to FT_ULong, to compare with FT_UInt
- gindex.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- smooth: Exclude 16-bit system in invalid pitch/height check.
-
- * src/smooth/ftsmooth.c (ft_smooth_render_generic):
- pitch and height are typed as FT_UInt but checked to fit
- 16-bit range, to avoid the overflows. On 16-bit system,
- this checking inserts a conditional that never occurs.
-
-2009-07-03 suzuki toshiya <[email protected]>
-
- cff: Type large constants > 0x7FFF as long for 16-bit systems.
-
- * src/cff/cffload.c (cff_charset_load): Type large
- constants > 0x7FFF as long, because normal constants
- are typed signed integer that is less than 0x8000 on
- 16-bit systems.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- base: Remove an unused variable.
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an
- unused variable `library'. glyph->library is used.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cache: Check higher bits in flags for non ILP32 systems.
-
- 4 public functions ought to take FT_ULong flags, but take
- FT_UInt flags. To keep binary compatibility, we drop higher
- bits on non ILP32 platforms,
- ILP64 systems: No drop occurs.
- LP64 systems: Higher bits are not used.
- 16-bit systems: Drop can occur.
- See
- http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html
- These functions will be refined to take FT_ULong flags in
- next bump with incompatible API change.
-
- * src/cache/ftcbasic.c (FTC_ImageCache_Lookup):
- Check `flags' in `type', the 2nd argument.
- (FTC_SBitCache_Lookup): Ditto.
- (FTC_ImageCache_LookupScaler): Check `load_flags',
- the 3rd argument.
- (FTC_SBitCache_LookupScaler): Ditto.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Ignore invalid GIDs in glyph name lookup.
-
- * include/freetype/internal/fttrace.h:
- New trace module for sfdriver.c is added.
-
- * src/sfnt/sfdriver.c (sfnt_get_name_index):
- Restrict glyph name lookup to FT_UInt GID.
- Genuine TrueType can hold 16-bit glyphs.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pcf: Fix a comparison between FT_Long and FT_ULong.
-
- * src/pcf/pcfread.c (pcf_get_bitmaps): Return an error
- if PCF_Face->nemetrics is negative.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- gxvalid: Guarantee `nFeatureFlags' size up to 32-bit.
-
- * src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate):
- Extend the 3rd argument `nFeatureFlags' to FT_ULong.
- * src/gxvalid/gxvmort.h: Ditto.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Insert explicit cast for LP64 system.
-
- * src/sfnt/ttkern.c (tt_face_load_kern): Insert
- cast from unsigned long to FT_UInt32.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- gxvalid: Guarantee `just' table size upto 32-bit.
-
- * src/gxvalid/gxvjust.c (gxv_just_validate):
- The type of `offset' is changed from FT_UInt to
- FT_Offset, for 16-bit platforms.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- gxvalid: Guarantee `trak' table size upto 32-bit.
-
- * src/gxvalid/gxvtrak.c (gxv_trak_validate):
- The type of `offset' is changed from FT_UInt to
- FT_Offset, for 16-bit platforms.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- type1: Fix a data type mismatching with its source.
-
- * include/freetype/internal/t1types.h: The type of
- T1_Face->buildchar is matched with T1_Decorder->top.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pfr: Fix a data type mismatching with its source.
-
- * src/pfr/pfrtypes.h: The type of PFR_KernItem->offset
- is extended from FT_UInt32 to FT_Offset, because it is
- calculated with the pointer difference, in
- pfr_extra_item_load_kerning_pairs().
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pfr: Fix a data type mismatching with its source.
-
- * src/pfr/pfrtypes.h: The type of PFR_PhysFont->chars_offset
- is extended from FT_UInt32 to FT_Offset, because it is
- calculated with the pointer difference in pfr_phy_font_load().
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pfr: Fix a data type mismatching with its source.
-
- * src/pfr/pfrtypes.h: The type of PFR_PhyFont->bct_offset
- is extended from FT_UInt32 to FT_Long, because it is
- loaded by FT_STREAM_POS() in pfr_phy_font_load().
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- smooth: Improve the format in debug message.
-
- * src/smooth/ftgrays.c (gray_dump_cells): Improve the
- format specifications to dump variables.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Fix a data type mismatching with its source.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): The type of
- local `flags' is matched with FT_Face->face_flags.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- psaux: Fix a data type mismatching with its source.
-
- * include/freetype/internal/psaux.h: The type of
- T1_DecorderRec.buildchar is matched with
- T1_DecorderRec.top.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- truetype: Extend TrueType GX packed deltas to FT_Offset.
-
- * src/truetype/ttgxvar.c (ft_var_readpackeddeltas):
- The type of 2nd argument `delta_cnt' is changed from
- FT_Int to FT_Offset, because its source can be cvt
- table size calculated from stream position.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- truetype: Extend mmvar_len to hold size_t values.
-
- * src/truetype/ttgxvar.h: The type of
- GX_BlendRec.mmvar_len is changed from FT_Int to
- FT_Offset, because TT_Get_MM_Var() calculates it
- by sizeof() results.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- truetype: Check invalid function number in IDEF instruction.
-
- * src/truetype/ttinterp.c (Ins_IDEF): Check
- if the operand fits to 8-bit opcode limitation.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- truetype: Check invalid function number in FDEF instruction.
-
- * src/truetype/ttinterp.c (Ins_FDEF): Check
- if the operand fits 16-bit function number.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- truetype: Truncate the deltas of composite glyph at 16-bit values.
-
- * src/truetype/ttgload.c (load_truetype_glyph):
- Insert cast from FT_Long (deltas[i].{x,y}) to
- FT_Int16 in the summation of deltas[] for composite
- glyphs. Because deltas[i] is typed as FT_Pos,
- its component x, y are typed as FT_Long, but
- their sources are always FT_Int16 when they are
- loaded by ft_var_readpackeddeltas(). However,
- the limitation about the summed deltas is unclear.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- truetype: Truncate the instructions upto 16-bit per a glyph.
-
- * src/truetype/ttgload.c (TT_Hint_Glyph): Truncate
- the instructions upto 16-bit length per a glyph.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- truetype: Cast the numerical operands to 32-bit for LP64 systems.
-
- * src/truetype/ttinterp.c (Ins_SPHIX, INS_MIAP,
- Ins_MIRP): Insert cast from long (args[], the
- operands passed to TrueType operator) to FT_Int32
- (the argument of TT_MulFix14()).
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- truetype: Cast the project vector to 32-bit for LP64 system.
-
- * src/truetype/ttinterp.c (Project, DualProject):
- Insert casts from FT_Pos (the arguments `dx', `dy')
- to FT_UInt32 (the argument to TT_DotFix14()).
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- truetype: Cast the scaling params to 32-bit for LP64 system.
-
- * src/truetype/ttgload.c (TT_Process_Composite_Component):
- Insert casts from long (return value of FT_MulFix()) to
- FT_Int32 (the argument to FT_SqrtFixed()).
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Cast a character code to FT_UInt32 for LP64 system.
-
- * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
- tt_cmap14_variants, tt_cmap14_char_variants,
- tt_cmap14_def_char_count, tt_cmap14_get_def_chars,
- tt_cmap14_get_nondef_chars, tt_cmap14_variant_chars)
- Insert casts when FT_UInt32 variable is loaded by
- TT_NEXT_{UINT24|ULONG}. Because most of them are
- compared with FT_UInt32 values in public API, replacing
- FT_UFast is not recommended.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Cast a character code to FT_UInt32 for LP64 system.
-
- * src/sfnt/ttcmap.c (tt_cmap4_init, tt_cmap4_next):
- Insert the casts from unsigned long constant to
- FT_UInt32.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.
-
- * include/freetype/internal/tttypes.h: The type
- of TT_BDF->string_size is extended from FT_UInt32
- to FT_ULong, because BDF specification does not
- restrict the length of string.
- * src/sfnt/ttbdf.c: The scratch variable `strings'
- to load TT_BDF->string_size is matched with
- TT_BDF->string_size.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- psaux: Handle the string length by FT_Offset variables.
-
- * src/psaux/afmparse.c (afm_parser_next_key,
- afm_tokenize, afm_parse_track_kern,
- afm_parse_kern_pairs, afm_parse_kern_data,
- afm_parser_skip_section, afm_parser_parse):
- The length of key is handled by FT_Offset,
- instead of FT_UInt. Although the length of
- PostScript strings or name object is 16-bit,
- AFM_STREAM_KEY_LEN() calculates the length
- from the pointer difference.
-
- * src/psaux/afmparse.h (afm_parser_next_key):
- Ditto.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pcf: Fix some data types mismatching with their sources.
-
- * src/pcf/pcfread.c (pcf_get_bitmaps): The types
- of `nbitmaps', `i', `sizebitmaps' are matched with
- the type of area FT_Bitmap.pitch * FT_Bitmap.rows.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pcf: Handle the string length by size_t variables.
-
- * src/pcf/pcfread.c (pcf_interpret_style): The types
- of nn, len, lengths[4] are changed to size_t, because
- they are loaded by (or compared with) ft_strlen().
-
- * src/pcf/pcfutil.c (BitOrderInvert, TwoByteSwap,
- FourByteSwap): The type of the 2nd argument `nbytes'
- is changed to size_t, for similarity with ANSI C
- string functions.
-
- * src/pcf/pcfdrivr.c (PCF_Glyph_Load): The type of
- `bytes' is changed to FT_Offset, because it is passed
- to FT_ALLOC(), via ft_glyphslot_alloc_bitmap(). At
- least, using unsigned type is better.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pcf: Fix some data types mismatching with their sources.
-
- * src/pcf/pcfread.c (pcf_seek_to_table_type,
- pcf_has_table_type): The type of 3rd argument
- `ntables' is matched with PCF_Toc->count.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- otvalid: Truncate the glyph index to 16-bit.
-
- * src/otvalid/otvalid.c (otv_validate): Checks
- face->num_glyphs does not exceed 16-bit limit,
- pass FT_UInt num_glyphs to backend functions
- otv_{GPOS|GSUB|GDEF|JSTF|MATH}_validate().
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cache: Insert explict casts for LP64 systems.
-
- * src/cache/ftcbasic.c (FTC_ImageCache_Lookup,
- FTC_SBitCache_Lookup): The type of FTC_ImageType->width
- is FT_Int, so the cast to unsigned larger type FT_ULong
- is introduced for the comparisons with 0x10000L for
- LP64 platform.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cache: Fix some data types mismatching with their sources.
-
- * src/cache/ftccache.h: The type of return value
- by FTC_Node_WeightFunc function is changed to
- FT_Offset. The type of FTC_CacheClass->cache_size
- is changed to FT_Offset, too.
-
- * src/cache/ftccback.h (ft_inode_weight,
- ftc_snode_weight): Ditto.
-
- * src/cache/ftccmap.c (ftc_cmap_node_weight): Ditto.
-
- * src/cache/ftcimage.c (ftc_inode_weight,
- FTC_INode_Weight): Ditto.
-
- * src/cache/ftcsbits.c (ftc_snode_weight,
- FTC_SNode_Weight): Ditto.
-
- * src/cache/ftcmru.h: The type of
- FTC_MruListClass->node_size is changed to FT_Offset,
- because it is passed to FT_ALLOC() to specify the
- size of buffer.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- XXX_cmap_encoding_char_next() return FT_UInt32 values.
-
- * include/freetype/internal/services/svpscmap.h:
- The size of the charcode value returned by
- the function typed PS_Unicodes_CharNextFunc is
- matched with its input charcode value.
-
- * src/cff/cffmap.c (cff_cmap_encoding_char_next,
- cff_cmap_unicode_char_next): Ditto.
-
- * src/pfr/pfrmap.c (pfr_cmap_encoding_char_next):
- Ditto.
-
- * src/psaux/t1cmap.c (t1_cmap_std_char_next,
- t1_cmap_custom_char_next, t1_cmap_unicode_char_next):
- Ditto.
-
- * src/psnames/psmodule.c (ps_unicodes_char_next):
- Ditto.
-
- * src/winfonts/winfnt.c (fnt_cmap_char_next):
- Ditto.
-
- * src/sfnt/ttcmap.c (tt_cmap0_char_next,
- tt_cmap2_char_next, tt_cmap4_char_next,
- tt_cmap6_char_next, tt_cmap10_char_next,
- tt_cmap12_char_next, tt_cmap13_char_next): Ditto.
- (tt_cmap14_char_variants): Handle base unicode
- codepoint by FT_UInt32 variable to avoid overflow
- on 16-bit platforms.
- (tt_cmap14_ensure): The type of `num_results' is
- extend to FT_UInt32, to cover unsigned 32-bit
- `numVarSelectorRecords' in cmap14 table header.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- truetype: Extend TT_Face->num_locations for broken TTFs.
-
- * include/freetype/internal/tttypes.h:
- TT_Face->num_locations are extended from FT_UInt
- to FT_ULong, to stand with broken huge loca table.
- Some people insists there are broken TTF including
- the glyphs over 16-bit limitation, in PRC market.
- * src/truetype/ttpload.c (tt_face_load_loca):
- Remove unrequired 16-bit truncation for FT_UInt
- TT_Face->num_locations.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- smooth: Fix some data types mismatching with their sources.
-
- * src/smooth/ftgrays.c: The type of `TCoord' is
- matched to `TPos', because they are mixed in
- gray_set_cell(). The type of TCell->x is extended
- to `TPos', because gray_find_cell() sets it by
- TWorker.ex. The type of TCell->cover is extended
- to `TCoord', because gray_render_scanline() adds
- TCoord value to it. The type of TWork.cover is matched
- with TCell->cover. The types of
- TWork.{max_cells,num_cells} are changed to FT_PtrDist,
- because they are calculated from the memory addresses.
- The type of TWork.ycount is changed to TPos, because
- it is calculated from TPos variables.
- (gray_find_cell): The type of `x' is matched with
- its initial value ras.ex.
- (gray_render_scanline): The types of `mod', `lift'
- and `rem' are changed to TCoord, because their values
- are set with explicit casts to TCoord. When ras.area
- is updated by the differential values including
- `delta', they are explicitly cast to TArea, because
- the type of `delta' is not TArea but TCoord.
- (gray_render_line): The type of `mod' is extended
- from int to TCoord, because (TCoord)dy is added to mod.
- (gray_hline): The argument `acount' is extended to
- TCoord, to match with the parameters in the callers.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cff: Fix some data types mismatching with their sources.
-
- * src/cff/cffobjs.c (cff_face_init): The type of
- `scaling' is matched with the scaling parameter
- in FT_Matrix_Multiply_Scaled() and
- FT_Vector_Transform_Scaled().
-
- * src/cff/cffparse.c (cff_parse_real): The type of
- `power_ten', `scaling', `exponent_add',
- `integer_length', `fraction_length',
- `new_fraction_length' and `shift' are matched with
- the type of `exponent' to avoid unexpected truncation.
- (cff_parse_fixed_scaled): The type of `scaling' is
- matched with the `scaling' argument to
- cff_parse_real().
- (cff_parse_fixed_dynamic): Ditto.
- (cff_parse_font_matrix): The type of `scaling' is
- matched with the `scaling' argument to
- cff_parse_dynamic().
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- autofit: Fix some data types mismatching with their sources.
-
- * src/autofit/afglobal.c: Correct the type of
- AF_FaceGlobalsRec.glyph_count to match with
- FT_Face->num_glyphs.
- (af_face_globals_compute_script_coverage):
- Insert explicit cast to compare
- FT_Long AF_FaceGlobalsRec.glyph_count versus
- FT_UInt gindex. The type of `nn' is changed
- to scan glyph index upto AF_FaceGlobalsRec.glyph_count.
- (af_face_globals_get_metrics): The type of `script_max'
- is changed to cover size_t value. Insert explicit cast
- to compare FT_Long AF_FaceGlobalsRec.glyph_count versus
- FT_UInt gindex.
-
- * src/autofit/afhints.c (af_axis_hints_new_segment):
- Insert explicit cast to calculate `big_max' from
- integer and size_t values.
- (af_axis_hints_new_edge): Ditto.
-
- * src/autofit/aflatin.c (af_latin_metrics_init_blues):
- The type of `best_y' is matched to FT_Vector.y.
- (af_latin_compute_stem_width): The type of `delta' is
- matched to `dist' and `org_dist'.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- autofit: Count the size of the memory object by ptrdiff_t.
-
- * src/autofit/afcjk.c (af_cjk_hint_edges): The
- number of edges `n_edges' should be counted by
- FT_PtrDist variable instead of FT_Int.
-
- * src/autofit/aflatin.c (af_latin_hint_edges):
- Ditto.
-
- * src/autofit/aftypes.h: In AF_ScriptClassRec,
- the size of metric `script_metrics_size' should
- be counted by FT_Offset variable instead of FT_UInt.
-
- * src/autofit/afhints.c
- (af_glyph_hints_align_strong_points): The cursors
- for the edges `min', `max', `mid' in the memory
- buffer should be typed FT_PtrDist.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- autofit: Fix for unused variable `first'.
-
- * src/autofit/afhints.c (af_glyph_hints_reload): Insert
- FT_UNUSED() to hide the unused variable warning.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- Improve bitmap size or pixel variables for 16-bit systems.
-
- * include/freetype/config/ftstdlib.h: Introduce
- FT_INT_MIN, to use in signed integer overflow in
- 16-bit and 64-bit platforms.
-
- * include/freetype/internal/fttrace.h: Add a tracer
- to ftsynth.c.
-
- * src/base/ftbitmap.c (FT_Bitmap_Embolden): Check
- invalid strength causing integer overflow on 16-bit
- platform.
-
- * src/base/ftcalc.c (ft_corner_orientation): Change
- the internal calculation from FT_Int to FT_Long, to
- avoid an overflow on 16-bit platforms. The caller of
- this function should use only the sign of result,
- so the cast to FT_Int is acceptable.
-
- * src/base/ftsynth.c: Introduce a tracer for synth module.
- (FT_GlyphSlot_Embolden): Check invalid strength causing
- integer overflow on 16-bit platform.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index
- in FT2 API is typed as FT_UInt, although BDF driver
- can handle unsigned long glyph index internally. To
- avoid integer overflow on 16-bit platform, too large
- glyph index should be excluded.
- (BDF_Glyph_Load): The glyph pitch in FT2 is typed as
- FT_UInt, although BDF driver can handle unsigned long
- glyph pitch internally. To avoid integer overflow on
- 16-bit platform, too large glyph pitch should not be
- returned.
-
- * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph
- pitch in FT2 is typed as FT_UInt, although PFR font
- format can include huge bitmap glyph with 24-bit pitch
- (however, a glyph spends 16.7 pixel, it's not realistic).
- To avoid integer overflow on 16-bit platform, huge
- bitmap glyph should be excluded.
-
- * src/smooth/ftgrays.c (gray_hline): As FT_Span.x is
- truncated to fit its type (16-bit short), FT_Span.y
- should be truncated to fit its type (FT_Int).
-
- * src/cff/cffdrivr.c (cff_get_ros): CFF specification
- defines the supplement in ROS as a real number.
- Truncate it to fit public FT2 API.
-
- * src/cff/cffparse.c (cff_parse_cid_ros): Warn the
- supplement if it is truncated or rounded in cff_get_ros().
-
- * src/cff/cfftypes.h: Change the type of internal variable
- `supplement' from FT_Long to FT_ULong to fit the signedness
- to the type in public API.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- psaux: Prevent invalid arguments to afm_parser_read_vals().
-
- * src/psaux/afmparse.c (afm_parser_read_vals): Change
- the type of `n' to prevent negative number how many
- arguments should be parsed.
-
- * src/psaux/afmparse.h (afm_parser_read_vals): Ditto.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- base: Prevent some overflows on LP64 systems.
-
- * src/base/ftadvance.c (FT_Get_Advances): Cast the
- unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32
- for LP64 platforms.
-
- * src/base/ftcalc.c (FT_Sqrt32): All internal variables
- are changed to FT_UInt32 from FT_ULong.
- (FT_MulDiv): Insert casts to FT_Int32 for LP64 platforms.
- This function is designed for 32-bit integer, although
- their arguments and return value are FT_Long.
-
- * src/base/ftobjs.c (FT_Get_Char_Index): Check `charcode'
- is within unsigned 32-bit integer for LP64 platforms.
- (FT_Face_GetCharVariantIndex): Check `charcode' and
- `variantSelector' are within 32-bit integer for LP64
- platforms.
- (FT_Face_GetCharsOfVariant): Check `variantSelector' is
- within unsigned 32-bit integer for LP64 platforms.
-
- * src/base/fttrigon.c (ft_trig_downscale): The FT_Fixed
- variable `val' and unsigned long constant FT_TRIG_SCALE
- are cast to FT_UInt32, when calculates FT_UInt32.
- (FT_Vector_Rotate): The long constant 1L is cast to
- FT_Int32 to calculate FT_Int32 `half'.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cff: Cast the long variables to 32-bit for LP64 systems.
-
- * src/cff/cffdrivr.c (cff_get_advances): Insert
- explicit cast to modify a 32-bit flag by unsigned
- long constant.
-
- * src/cff/cffobjs.c (cff_face_init): Ditto.
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings):
- Replace the casts to FT_Long by the casts to FT_Int32
- for LP64 platforms.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pcf: Improve PCF_PropertyRec.value names on LP64 platforms.
-
- * src/pcf/pcf.h: In PCF_PropertyRec.value, the member
- `integer' is replaced by `l', `cardinal' is replaced
- by `ul', to fix the difference between the name and
- the types on LP64 platforms.
-
- * src/pcf/pcfdrivr.c (pcf_get_bdf_property): Reflect
- PCF_PropertyRec.value change, with appropriate casts
- to FT_Int32/FT_UInt32. Their destinations
- BDF_PropertyRec.{integer|cardinal} are public and
- explicitly defined as FT_Int32/FT_UInt32.
-
- * src/pcf/pcfread.c (pcf_get_properties, pcf_load_font):
- Reflect PCF_PropertyRec.value change.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- pcf: Fix some data types mismatching with their sources.
-
- * src/pcf/pcfdrivr.c (pcf_cmap_char_index): The type of
- `code' is matched to PCF_Encoding->enc.
- (pcf_cmap_char_next): The type of `charcode' is matched
- to PCF_Encoding->enc. When *acharcode is set by charcode,
- an overflow is checked and cast to unsigned 32-bit
- integer.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- bdf: Improve bdf_property_t.value names for LP64 platforms.
-
- * src/bdf/bdf.h: In bdf_property_t.value, the member
- `int32' is replaced by `l', `card32' is replaced by
- `ul', to fix the difference between the name and the
- types on LP64 platforms.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Reflect
- bdf_property_t.value change.
- (bdf_get_bdf_property): Reflect bdf_property_t.value
- change, with appropriate casts to FT_Int32/FT_UInt32.
- Their destinations BDF_PropertyRec.{integer|cardinal}
- are public and explicitly defined as FT_Int32/FT_UInt32.
-
- * src/bdf/bdflib.c (_bdf_add_property): Reflect
- bdf_property_t.value change.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- bdf: Fix some data types mismatching with their sources.
-
- * src/bdf/bdrdrivr.c (bdf_cmap_char_index): The type
- of `code' is matched with BDF_encoding_el->enc.
- (bdf_cmap_char_next): The type of `charcode' is
- matched with BDF_encoding_el->enc. When *acharcode
- is set by charcode, an overflow is checked and
- cast to unsigned 32-bit integer.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- autofit: Improve Unicode range definitions.
-
- * src/autofit/aftypes.h (AF_UNIRANGE_REC): New macro
- to declare a range by two unsigned 32-bit integer,
- to avoid 64-bit range definition on LP64 platforms.
-
- * src/autofit/aflatin.c (af_latin_uniranges): Ditto.
-
- * src/autofit/aflatin2.c (af_latin2_uniranges): Ditto.
-
- * src/autofit/afindic.c (af_indic_uniranges): Ditto.
-
- * src/autofit/afcjk.c (af_cjk_uniranges): Declare
- the ranges by AF_UNIRANGE_REC.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- smooth: Fix a data type mismatching with its source.
-
- * src/smooth/ftgrays.c (gray_sweep): The type of
- `area' is matched with the 3rd argument `area'
- of gray_hline().
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- smooth: Fix a data type mismatching with its source.
-
- * src/smooth/ftgrays.c (gray_render_line): The type
- of `area' is matched with TWorker.area.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cache: Disable the legacy compatibility if 16-bit system.
-
- * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Exclude
- the legacy behaviour from 16-bit platform, because the
- current hack cannot detect the caller uses this function
- via legacy convension.
- (FTC_SBitCache_Lookup): Ditto.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cache: Check 32-bit glyph index on 16-bit systems.
-
- * src/cache/ftcbasic.c (ftc_basic_family_get_count):
- Check overflow caused by the face including large
- number of glyphs > 64k.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cache: Fix some data types mismatching with their sources.
-
- * src/cache/ftccache.c (ftc_cache_resize): The types of
- `p', `mask', `count' are matched with FTC_Cache->{p,mask}.
- (FTC_Cache_Clear): The type of `old_index' is matched to
- FTC_Cache->{p,mask}.
-
- * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): The type
- of `_idx' is matched with FTC_Cache->{p,mask}.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cache: Fix some data types mismatching with their sources.
-
- * src/cache/ftcsbits.c (ftc_snode_load): The types
- of `xadvance' and `yadvance' are matched with
- FT_GlyphSlot->advance.{x|y}.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cache: Cast NULL to a required function type explicitly.
-
- * src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID):
- Insert explicit cast from NULL to function type.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- fttypes.h: Cast FT_MAKE_TAG output to FT_Tag exlicitly.
-
- * include/freetype/fttypes.h (FT_MAKE_TAG):
- Cast the result to FT_Tag.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- psnames: Handle Unicode codepoints by FT_UInt32 variables.
-
- * src/psnames/psmodule.c (BASE_GLYPH): Cast the result
- to unsigned 32-bit integer for LP64 platform.
- (ps_unicode_value): Return the value by unsigned 32-bit
- integer instead of unsigned long.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- psaux: Use size_t variable to pass the buffer size.
-
- * src/psaux/psaux.h (to_bytes): The type of `max_bytes'
- (the argument to pass the buffer size) is changed to
- size_t, to match with ANSI C string functions.
-
- * src/psaux/psconv.h (PS_Conv_StringDecode,
- PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
-
- * src/psaux/psconv.c (PS_Conv_StringDecode,
- PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
-
- * src/psaux/psobjs.h (ps_parser_to_bytes): Ditto.
-
- * src/psaux/psobjs.c (ps_parser_to_bytes): Ditto.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- type1: Use size_t variable to pass the string length.
-
- * psaux.h: The type of `len' (the argument to pass
- the buffer size to the function in AFM_ParserRec)
- is changed to size_t, to match with ANSI C string
- functions.
-
- * t1afm.c (t1_get_index): Ditto.
-
- * test_afm.c (dummy_get_index): Ditto.
-
- * afmparse.c (afm_parser_read_vals): To call
- AFM_ParserRec.get_index, the length of token
- `len' is cast to size_t.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cid: Fix some data types mismatching with their sources.
-
- * src/cid/cidparse.c (cid_parser_new): The types of
- `read_len' and `stream_len' are matched to
- FT_Stream->size. Unrequired cast is removed.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cff: Fix for unused variable `rest'.
-
- * src/cff/cffparse.c (cff_parse_real): Insert
- FT_UNUSED() to hide the unused variable warning.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- cff: Fix some data types mismatching with their sources.
-
- * src/cff/cffgload.c (cff_slot_load): The types of
- `top_upm' and `sub_upm' are matched with
- CFF_FontRecDict->units_per_em.
-
- * src/cff/cffobjs.c (cff_size_select): Ditto.
- (cff_size_request): Ditto.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- bdf: Fix some data types mismatching with their sources.
-
- * bdflib.c (_bdf_list_ensure): The type of `num_items'
- is matched with _bdf_list_t.used. Also the types of
- `oldsize', `newsize', `bigsize' are matched too.
- (_bdf_readstream): `cursor' is used as an offset to
- the pointer, it should be typed as FT_Offset. Also
- the types of `bytes', `start', `end', `avail' are matched.
-
- * bdfdrivr.c: The type of BDF_CMap->num_encodings is
- matched with FT_CMap->clazz->size.
- (bdf_cmap_char_index): The types of `min', `max', `mid'
- are matched with BDF_CMap->num_encodings. The type of
- `result' is matched with encoding->glyph.
- (bdf_cmap_char_next): Ditto, the type of `code' is
- matched with BDF_encoding_el.enc.
- (bdf_interpret_style): The type of `lengths' is changed
- to size_t, to take the value by ft_strlen(). Also the
- types of `len', `nn', `mm' are matched.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- sfnt: Count the size of the memory object by ptrdiff_t.
-
- * src/sfnt/ttbdf.c (tt_face_find_bdf_prop): The type of
- `peroperty_len' is changed from FT_UInt to FT_Offset,
- to match with size_t, which is appropriate type for the
- object in the memory buffer.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- lzw: Count the size of the memory object by ptrdiff_t.
-
- * src/lzw/ftzopen.h: The types of FT_LzwState->{buf_total,
- stack_size} are changed from FT_UInt to FT_Offset, to match
- with size_t, which is appropriate type for the object in
- the memory buffer.
-
- * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): The types of
- `old_size' and `new_size' are changed from FT_UInt to
- FT_Offset, to match with size_t, which is appropriate type
- for the object in the memory buffer.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- otvalid: Count the table size on memory by ptrdiff_t.
-
- * src/otvalid/otvgpos.c (otv_ValueRecord_validate):
- Change the type of table size from FT_UInt to
- FT_PtrDist because it is calculated by the memory
- addresses.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- otvalid: Prevent an overflow by GPOS/GSUB 32b-bit offset.
-
- * src/otvalid/otvgpos.c (otv_ExtensionPos_validate):
- Extend ExtensionOffset from FT_UInt to FT_ULong, to
- cover 32-bit offset on 16-bit platform.
-
- * src/otvalid/otvgsub.c (otv_ExtensionSubst_validate):
- Ditto.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- ftobjs.c: Prevent an overflow in glyph index handling.
-
- * src/base/ftobjs.c (FT_Face_GetCharsOfVariant):
- Improve the cast in comparison to avoid the truncation.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- Improve the variable types in raccess_make_file_name().
-
- * src/base/ftrfork.c (raccess_make_file_name):
- Change the type of cursor variable `tmp' to const char*,
- to prevent the unexpected modification of original pathname.
- (raccess_make_file_name): Change the type of new_length
- to size_t.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- ftpatent.c: Fix for unused variable `error'.
-
- * src/base/ftpatent.c (_tt_check_patents_in_range):
- Fix warning for unused variable `error'.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- type1: Check invalid string longer than PostScript limit.
-
- * src/type1/t1afm.c (t1_get_index): Check invalid string
- which exceeds the limit of PostScript string/name objects.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default.
-
- * src/gzip/ftgzip.c (zcalloc, zcfree): Disable all
- zcalloc() & zfree() by zlib in zutil.c, those in
- ftgzip.c by FT2 are enabled by default. To use
- zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC.
- See discussion:
- http://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- gzip: Distinguish PureC from TurboC on MSDOS.
-
- * src/gzip/zutil.c (zcalloc, zcfree): Enable only for
- MSDOS platform.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- gxvalid: Insert PureC pragma to allow unevaluated variables.
-
- * builds/atari/ATARI.H: Insert PureC pragma not to
- warn against set-but-unevaluated variable in gxvalid
- module.
-
-2009-07-31 suzuki toshiya <[email protected]>
-
- gxvalid: Pass the union by the pointer instead of the value.
-
- * src/gxvalid/gxvcommn.h:
- - Declare new type `GXV_LookupValueCPtr'.
- - Update the type of the 2nd argument to pass GXV_LookupValueDesc
- data to the function prototyped as GXV_Lookup_Value_Validate_Func,
- from GXV_LookupValueDesc to GXV_LookupValueCPtr.
- - Likewise for the function prototyped as
- GXV_Lookup_Fmt4_Transit_Func.
-
- - Declare new type `GXV_StateTable_GlyphOffsetCPtr'.
- - Update the type of the 3rd argument to pass
- GXV_StateTable_GlyphOffsetDesc data to the function prototyped
- as GXV_StateTable_Entry_Validate_Func, from
- GXV_StateTable_GlyphOffsetDesc to GXV_StateTable_GlyphOffsetCPtr.
-
- - Declare new type `GXV_XStateTable_GlyphOffsetCPtr'.
- - Update the type of the 3rd argument to pass
- GXV_XStateTable_GlyphOffsetDesc data to the function prototyped
- as GXV_XStateTable_Entry_Validate_Func,
- from GXV_XStateTable_GlyphOffsetDesc
- to GXV_XStateTable_GlyphOffsetCPtr.
-
- * src/gxvalid/gxvcommn.c (gxv_LookupTable_fmt0_validate,
- gxv_XClassTable_lookupval_validate,
- gxv_XClassTable_lookupfmt4_transit):
- Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
-
- * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
- gxv_bsln_LookupFmt4_transit): Ditto.
-
- * src/gxvalid/gxvjust.c
- (gxv_just_pcTable_LookupValue_entry_validate,
- gxv_just_classTable_entry_validate,
- gxv_just_wdcTable_LookupValue_validate): Ditto.
-
- * src/gxvalid/gxvkern.c
- (gxv_kern_subtable_fmt1_entry_validate): Ditto.
-
- * src/gxvalid/gxvlcar.c (gxv_lcar_LookupValue_validate,
- gxv_lcar_LookupFmt4_transit): Ditto.
-
- * src/gxvalid/gxvopbd.c (gxv_opbd_LookupValue_validate,
- gxv_opbd_LookupFmt4_transit): Ditto.
-
- * src/gxvalid/gxvprop.c (gxv_prop_LookupValue_validate,
- gxv_prop_LookupFmt4_transit): Ditto.
-
- * src/gxvalid/gxvmort4.c
- (gxv_mort_subtable_type4_lookupval_validate): Ditto.
-
- * src/gxvalid/gxvmort0.c
- (gxv_mort_subtable_type0_entry_validate): Update
- from GXV_StateTable_GlyphOffsetDesc
- to GXV_StateTable_GlyphOffsetCPtr.
-
- * src/gxvalid/gxvmort1.c
- (gxv_mort_subtable_type1_entry_validate): Ditto.
-
- * src/gxvalid/gxvmort2.c
- (gxv_mort_subtable_type2_entry_validate): Ditto.
-
- * src/gxvalid/gxvmort5.c
- (gxv_mort_subtable_type5_entry_validate): Ditto.
-
- * src/gxvalid/gxvmorx2.c
- (gxv_morx_subtable_type2_entry_validate): Ditto.
-
- * src/gxvalid/gxvmorx5.c
- (gxv_morx_subtable_type5_entry_validate): Ditto.
-
- * src/gxvalid/gxvmorx1.c
- (gxv_morx_subtable_type1_entry_validate): Ditto.
- (gxv_morx_subtable_type1_LookupValue_validate,
- gxv_morx_subtable_type1_LookupFmt4_transit):
- Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
-
- * src/gxvalid/gxvmorx0.c
- (gxv_morx_subtable_type0_entry_validate): Update
- from GXV_XStateTable_GlyphOffsetDesc
- to GXV_XStateTable_GlyphOffsetCPtr.
-
-2009-07-29 Fabrice Bellet <[email protected]>
-
- Fix Redhat bugzilla #513582 and Savannah bug #26849.
-
- * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) <FTC_INLINE>: Fix
- aliasing bug.
-
-2009-07-19 Werner Lemberg <[email protected]>
-
- Document recent library changes.
-
- * docs/CHANGES: Do it.
-
-2009-07-17 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #23786.
-
- * src/truetype/ttobjs.c (tt_size_init_bytecode): Don't reset x_ppem
- and y_ppem. Otherwise the `*_CVT_Stretched' functions in ttinterp.c
- get never called.
- An anonymous guy suggested this change on Savannah, and it seems to
- be the right solution.
-
-2009-07-15 Werner Lemberg <[email protected]>
-
- * docs/release: Updated.
-
-2009-07-15 Werner Lemberg <[email protected]>
-
- README.CVS -> README.git
-
- * README.CVS: Renamed to...
- * README.git: This.
- Updated.
-
-2009-07-15 suzuki toshiya <[email protected]>
-
- Borland C++ compiler patch proposed by Mirco Babin.
- http://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html.
-
- * builds/exports.mk: Delete unused flags, CCexe_{CFLAGS,LDFLAGS}.
- Fix APINAMES_C and APINAMES_EXE pathnames to reflect the platform
- specific pathname syntax.
- * builds/compiler/bcc.mk: Remove unused flag, CCexe_LDFLAGS.
- Define TE = `-e' separately (bcc32 cannot specify the pathname of
- binary executable by T = `-o').
- Extend the large page size in linking freetype.lib.
- Add extra CLEAN target to delete bcc specific temporary files.
- * builds/compiler/bcc-dev.mk: Ditto.
-
-2009-07-14 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #27026.
-
- * builds/win32/vc2005/freetype.sln: Use correct version number.
-
-2009-07-12 suzuki toshiya <[email protected]>
-
- Add a script to check the undefined and unused trace macros.
-
- * src/tools/chktrcmp.py: A script to check trace_XXXX macros
- that are used in C source but undefined in fttrace.h, or
- defined in fttrace.h but unused in C sources. See
- http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html.
- * docs/DEBUG: Mention on chktrcmp.py.
- * docs/release: Ditto.
-
-2009-07-09 Werner Lemberg <[email protected]>
-
- [ftraster] Make it compile again with -D_STANDALONE_.
-
- * src/raster/ftraster.c [_STANDALONE_]: Define
- FT_CONFIG_STANDARD_LIBRARY_H.
- Include `string.h'.
- Don't include `rastpic.h'.
- Define FT_DEFINE_RASTER_FUNCS.
-
-2009-07-09 suzuki toshiya <[email protected]>
-
- smooth: Check glyph size by width/height, instead of pitch/height.
- Suggested by der Mouse <[email protected]>.
-
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Improve
- the check for too large glyph. Replace the pair of `pitch' and
- `height' by the pair of `width' and `height'. `pitch' cannot
- be greater than `height'. The required is checking the product
- `pitch' * `height' <= FT_ULONG_MAX, but we use cheap checks for
- the realistic case only.
-
-2009-07-09 suzuki toshiya <[email protected]>
-
- Register 2 missing trace components, t1afm and ttbdf.
-
- * include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( t1afm )
- and FT_TRACE_DEF( ttbdf ). See
- http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html
-
-2009-07-09 suzuki toshiya <[email protected]>
-
- Register a trace component for ftgloadr.c.
-
- * include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( gloader ).
- The macro `trace_gloader' was already used in the initial version
- on 2002-02-24.
-
-2009-07-08 suzuki toshiya <[email protected]>
-
- Prevent the overflows by a glyph with too many points or contours.
- The bug is reported by Boris Letocha <[email protected]>. See
- http://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html
- http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html
-
- * include/freetype/ftimage.h (FT_OUTLINE_CONTOURS_MAX,
- FT_OUTLINE_POINTS_MAX): New macros to declare the maximum
- values of FT_Outline.{n_contours,n_points}.
- * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Check the
- total numbers of points and contours cause no overflows in
- FT_Outline.{n_contours,n_points}.
-
- * include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
- FT_GLYPHLOADER_CHECK_C): Compare the numbers of points and
- contours as unsigned long number, instead of signed int, to
- prevent the overflows on 16-bit systems.
-
-2009-07-05 Bram Tassyns <[email protected]>
-
- Improve compatibility to Acroread.
- This fixes Savannah bug #26944.
-
- * src/cff/cffload.c (cff_charset_compute_cids): For multiple GID to
- single CID mappings, make the lowest value win.
-
-2009-06-28 suzuki toshiya <[email protected]>
-
- ftpatent: Fix a bug by wrong usage of service->table_info().
- http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html
-
- * include/freetype/internal/services/svsfnt.h: Extend
- FT_SFNT_TableInfoFunc() to take new argument to obtain the offset
- to the specified table.
- * src/sfnt/sfdriver.c (sfnt_table_info): Extend to return the
- table-offset to the caller function.
- * src/base/ftpatent.c (_tt_check_patents_in_table): Use new
- service->table_info().
- * src/base/ftobjs.c (FT_Sfnt_Table_Info): Synchronize to new
- service->table_info().
-
-2009-06-28 Werner Lemberg <[email protected]>
-
- [psaux, cff] Protect against nested `seac' calls.
-
- * include/freetype/internal/psaux.h (T1_Decoder), src/cff/cffgload.h
- (CFF_Decoder): Add `seac' boolean variable.
-
- * src/cff/cffgload.c (cff_operator_seac), src/psaux/t1decode.c
- (t1operator_seac): Use it.
-
-2009-06-28 Werner Lemberg <[email protected]>
-
- Thinko.
-
- * src/psaux/t1decode.c (t1operator_seac)
- [FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental
- interface.
-
-2009-06-28 Werner Lemberg <[email protected]>
-
- * devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define.
-
-2009-06-27 suzuki toshiya <[email protected]>
-
- Add tools to preprocess the source files for AtariST PureC.
-
- * builds/atari/deflinejoiner.awk: New file to filter C source files
- for broken C preprocessor of PureC compiler.
-
- * builds/atari/gen-purec-patch.sh: New file to generate a patch set
- for PureC, by using deflinejoiner.awk.
-
-2009-06-27 suzuki toshiya <[email protected]>
-
- Keep existing modules.cfg in the building tree.
-
- * configure: If `configure' is executed outside of the source tree,
- an existing `modules.cfg' file in the build directory should be
- kept, not overwritten by the version in the source tree.
-
-2009-06-27 suzuki toshiya <[email protected]>
-
- Filter --srcdir= option before invoking builds/unix/configure.
-
- * configure: If builds/unix/configure is invoked with --srcdir
- option, the option should take `builds/unix' directory instead of
- the top source directory. Thus the configure script in the top
- directory should modify the --srcdir= option if
- `builds/unix/configure' is invoked.
-
-2009-06-27 suzuki toshiya <[email protected]>
-
- Improve configure.raw for cross-building on exe-suffixed systems.
-
- * builds/unix/configure.raw: Fix a bug in sed script to extract
- native suffix for binary executables, patch by Peter Breitenlohner.
- http://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html
-
-2009-06-26 Werner Lemberg <[email protected]>
-
- [truetype] Remove TT_SubGlyphRec.
-
- * src/truetype/ttobjs.h (TT_SubGlyphRec): Removed, unused.
-
-2009-06-26 Werner Lemberg <[email protected]>
-
- * */*: For warning messages, replace FT_ERROR with FT_TRACE0.
-
- FT_ERROR is now used only if a function produces a non-zero `error'
- value.
-
- Formatting, improving and harmonizing debug strings.
-
-2009-06-25 Werner Lemberg <[email protected]>
-
- Provide version information better.
-
- * src/base/ftinit.c (FT_Init_FreeType): Don't set version here
- but...
- * src/base/ftobjs.c (FT_New_Library): Here.
-
-2009-06-22 Werner Lemberg <[email protected]>
-
- Use 16.16 format while parsing Type 1 charstrings.
- This fixes Savannah bug #26867.
-
- Previously, only integers have been used which can lead to serious
- rounding errors.
-
- However, fractional values are only used internally; after the
- charstrings (of either Type 1 or 2) have been processed, the
- resulting coordinates get rounded to integers currently -- before
- applying scaling. This should be fixed; at the same time a new load
- flag should be introduced, to be used in combination with
- FT_LOAD_NO_SCALE, which indicates that font units are returned in
- 16.16 format. Similarly, the incremental interface should be
- extended to allow fractional values for metrics.
-
- * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift'
- field.
- * include/freetype/internal/pshints.h (T1_Hints_SetStemFunc,
- T1_Hints_SetStem3Func): Use FT_Fixed for coordinates.
-
- * src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H.
- (t1_build_add_point): Always convert fixed to integer.
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings):
- Use 16.16 format everywhere (except for large integers followed by a
- `div').
- [CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate
- code uncoditionally.
- Add support for random numbers and update remaining code
- accordingly; this should work now.
- (t1_operator_seac): Updated.
- * src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H.
- (ps_hints_t1stem3, t1_hints_stem): Updated.
-
- * src/cid/cidgload.c: Include FT_INTERNAL_CALC_H.
- (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL],
- (cid_face_compute_max_advance, cid_slot_load_glyph): Updated.
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
- [FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph):
- Updated.
- * src/type1/t1load.c: Include FT_INTERNAL_CALC_H.
- * src/type1/t1objs.c (T1_Face_Init): Updated.
-
-2009-06-21 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshrec.c: Use PSH_Err_Ok.
-
-2009-06-21 Werner Lemberg <[email protected]>
-
- Code beautification.
-
- * src/type1/t1load.c (FT_INT_TO_FIXED): Removed.
- Replace everywhere with INT_TO_FIXED.
- (FT_FIXED_TO_INT): Move to ...
- * include/freetype/internal/ftcalc.h (FIXED_TO_INT): Here.
- Update all users.
-
-2009-06-20 Werner Lemberg <[email protected]>
-
- Remove unused variables.
-
- * include/freetype/internal/psaux.h (T1_BuilderRec),
- src/cff/cffgload.h (CFF_Builder): Remove `last'.
- Update all users.
-
-2009-06-20 Werner Lemberg <[email protected]>
-
- [psaux] Check large integers while parsing charstrings.
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Large
- integers must be followed by a `div' operator.
-
-2009-06-20 Werner Lemberg <[email protected]>
-
- [cff] Revert last change.
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings): Do it.
- Next time, don't confuse Type 2 charstring opcodes with TOP DICT
- values...
-
-2009-06-20 Werner Lemberg <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_metrics_check_digits): Fix
- compiler warning.
-
-2009-06-20 Werner Lemberg <[email protected]>
-
- * builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6.
-
-2009-06-19 Werner Lemberg <[email protected]>
-
- [cff] Fix handling of reserved byte 0xFF.
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings): Abort if byte
- 0xFF is encountered.
-
-2009-06-19 Werner Lemberg <[email protected]>
-
- Improve debug messages for Type1 charstrings.
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Emit newlines
- after instructions.
- Prettify output.
-
-2009-06-19 Werner Lemberg <[email protected]>
-
- More ftgray fixes for FT_STATIC_RASTER.
- Problems reported by [email protected].
-
- * src/smooth/ftgrays.c (gray_move_to, gray_raster_render): Use
- RAS_VAR.
-
-2009-06-18 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2009-06-18 Werner Lemberg <[email protected]>
-
- Fix B/W rasterization of subglyphs with different drop-out modes.
-
- Normally, the SCANMODE instruction (if present) to set the drop-out
- mode in a TrueType font is located in the `prep' table only and thus
- valid for all glyphs. However, there are fonts like `pala.ttf'
- which additionally contain this instruction in the hinting code of
- some glyphs (but not all). As a result it can happen that a
- composite glyph needs multiple drop-out modes for its subglyphs
- since the rendering state gets reset for each subglyph.
-
- FreeType collects the hinted outlines from all subglyphs, then it
- sends the data to the rasterizer. It also sends the drop-out mode
- -- after hinting has been applied -- and here is the error: It sends
- the drop-out mode of the last subglyph only; drop-out modes of all
- other subglyphs are lost.
-
- This patch fixes the problem; it adds a second, alternative
- mechanism to pass the drop-out mode: For each contour, the
- rasterizer now checks the first `tags' array element. If bit 2 is
- set, bits 5-7 contain the contour's drop-out mode, overriding the
- global drop-out mode.
-
- * include/freetype/ftimage.h (FT_CURVE_TAG_HAS_SCANMODE): New macro.
-
- * src/truetype/ttgload.c (TT_Hint_Glyph): Store drop-out mode in
- `tags[0]'.
-
- * src/raster/ftraster.c (Flow_Up, Overshoot_Top, Overshoot_Bottom):
- Use bits 3-5 instead of 0-2.
- (New_Profile): Set the drop-out mode in the profile's `flags' field.
- (Decompose_Curve): Check `tags[0]' and set `dropOutControl' if
- necessary.
- (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
- Horizontal_Gray_Sweep_Drop, Draw_Sweep): Use the profile's drop-out
- mode.
-
-2009-06-16 Werner Lemberg <[email protected]>
-
- Improve scan conversion rules 4 and 6.
-
- Two new constraints are introduced to better identify a `stub' -- a
- concept which is only vaguely described in the OpenType
- specification. The old code was too rigorous and suppressed more
- pixel than it should.
-
- . The intersection of the two profiles with the scanline is less
- than a half pixel. Code related to this was already present in
- the sources but has been commented out.
-
- . The endpoint of the original contour forming a profile has a
- distance (`overshoot') less than half a pixel to the scanline.
-
- Note that the two additional conditions fix almost all differences
- to the Windows rasterizer, but some problematic cases remain.
-
- * src/raster/ftraster.c (Overshoot_Top, Overshoot_Bottom): New
- macros for the `flags' field in the `TProfile' structure.
- (IS_BOTTOM_OVERSHOOT, IS_TOP_OVERSHOOT): New macros.
- (New_Profile, End_Profile): Pass overshoot flag as an argument and
- set it accordingly.
- Update callers.
- (Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement the two new
- constraints.
-
-2009-06-11 Werner Lemberg <[email protected]>
-
- Increase precision for B/W rasterizer.
-
- * src/raster/ftraster.c (Set_High_Precision): Add two more bits to
- the precision. This corrects rendering of some small glyphs, for
- example, glyph `xi' in verdana.ttf at 13 ppem. Testing with ftbench
- on my GNU/Linux box I don't see a performance degradation.
-
-2009-06-08 Michael Zucchi <[email protected]>
-
- Handle FT_STROKER_LINECAP_BUTT.
- This fixes Savannah bug #26757.
-
- * src/base/ftstroke.c (ft_stroker_cap): Implement it.
-
-2009-06-07 Harald Fernengel <[email protected]>
-
- Fix some potential out-of-memory crashes.
-
- * src/base/ftobjs.c (ft_glyphslot_done): Check `slot->internal'.
- * src/base/ftstream.c (FT_Stream_ReleaseFrame): Check `stream'.
- * src/truetype/ttinterp.c (TT_New_Context): Avoid double-free of
- `exec' in case of failure.
-
-2009-06-07 Werner Lemberg <[email protected]>
-
- Simplify math.
- Suggested by Alexei Podtelezhnikov <[email protected]>.
-
- * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
- Horizontal_Gray_Sweep_Drop): Do it.
-
-2009-06-04 Werner Lemberg <[email protected]>
-
- Preparation for fixing scan conversion rules 4 and 6.
-
- * src/raster/ftraster.c (TFlow): Replace enumeration with...
- (Flow_Up): This macro.
- (TProfile): Replace `flow' member with `flags' bit field.
- Update all affected code.
-
-2009-05-29 James Cloos <[email protected]>
-
- Enable autohinting for glyphs rotated by multiples of 90°.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Alter check for permitted
- matrices to allow rotations by multiples of 90°, not only unrotated,
- possibly slanted matrices.
-
-2009-05-28 Werner Lemberg <[email protected]>
-
- Remove compiler warning.
- Reported by Krzysztof Kowalczyk <[email protected]>.
-
- * src/autofit/aflatin2.c (af_latin2_hint_edges): Move declaration of
- `n_edges' into `#if' block.
-
-2009-05-28 Werner Lemberg <[email protected]>
-
- Make compilation work with FT_CONFIG_OPTION_USE_ZLIB not defined.
- Reported by Krzysztof Kowalczyk <[email protected]>.
-
- * src/pcf/pcfdrivr.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_ZLIB]:
- Make it work.
- Simplify #ifdef logic.
-
-2009-05-22 Werner Lemberg <[email protected]>
-
- Improve b/w rasterizer.
- Problem reported by Krzysztof Kotlenga <[email protected]>.
-
- * src/raster/raster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
- Horizontal_Gray_Sweep_Drop): For smart drop-out mode, if
- intersections are equally distant relative to next pixel center,
- select the left pixel, not the right one.
-
-2009-05-19 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #26600.
-
- * src/type42/t42parse.c (t42_load_keyword): Handle
- T1_FIELD_LOCATION_FONT_EXTRA.
-
-2009-04-30 Werner Lemberg <[email protected]>
-
- Document recent changes to ftview.
-
- * docs/CHANGES: Do it.
-
-2009-04-27 Werner Lemberg <[email protected]>
-
- autohinter: Don't change digit widths if all widths are the same.
- This fixes FreeDesktop bug #21197.
-
- * src/autofit/afglobal.c (AF_DIGIT): New macro.
- (af_face_globals_compute_script_coverage): Mark ASCII digits in
- `glyph_scripts' array.
- (af_face_globals_get_metrics): Updated.
- (af_face_globals_is_digit): New function.
- * src/autofit/afglobal.h: Updated.
- (AF_ScriptMetricsRec): Add `digits_have_same_width' flag.
-
- * src/autofit/aflatin.c: Include FT_ADVANCES_H.
- (af_latin_metrics_check_digits): New function.
- (af_latin_metrics_init): Use it.
- * src/autofit/aflatin.h: Updated.
- * src/autofit/afcjk.c (af_cjk_metrics_init): Updated.
-
- * src/autofit/aflatin2.c: Similar changes as with aflatin.c.
-
- * src/autofit/afloader.c (af_loader_load_g): Test digit width.
-
- * docs/CHANGES: Document it.
-
-2009-04-26 Werner Lemberg <[email protected]>
-
- Make ftgrays compile with _STANDALONE_ and FT_STATIC_RASTER again.
- Problems reported by [email protected].
-
- * src/smooth/ftgrays.c (FT_DEFINE_OUTLINE_FUNCS,
- FT_DEFINE_RASTER_FUNCS) [_STANDALONE_]: Define.
- [!_STANDALONE_]: Include ftspic.h only here.
- (ras): Define/declare after definition of `TWorker'.
- Use `RAS_VAR_' where necessary.
-
-2009-04-21 Karl Berry <[email protected]>
-
- Fix AC_CHECK_FT2.
-
- * builds/unix/freetype2.m4: Only check PATH for freetype-config if
- we did not already find it from a prefix option.
-
-2009-04-05 Oran Agra <[email protected]>
-
- Add #error to modules and files that do not support PIC yet.
-
- When FT_CONFIG_OPTION_PIC is defined the following files will
- create #error:
- * src/bdf/bdfdrivr.h
- * src/cache/ftcmanag.c
- * src/cid/cidriver.h
- * src/gxvalid/gxvmod.h
- * src/gzip/ftgzip.c
- * src/lzw/ftlzw.c
- * src/otvalid/otvmod.h
- * src/pcf/pcfdrivr.h
- * src/pfr/pfrdrivr.h
- * src/psaux/psauxmod.h
- * src/type1/t1driver.h
- * src/type42/t42drivr.h
- * src/winfonts/winfnt.h
-
-2009-04-05 Oran Agra <[email protected]>
-
- Position Independent Code (PIC) support in autofit module.
-
- * include/freetype/internal/autohint.h add macros to init
- instances of FT_AutoHinter_ServiceRec.
-
- * src/autofit/afmodule.h declare autofit_module_class
- using macros from ftmodapi.h,
- when FT_CONFIG_OPTION_PIC is defined create and destroy
- functions will be declared.
- * src/autofit/afmodule.c when FT_CONFIG_OPTION_PIC is defined
- af_autofitter_service and autofit_module_class structs
- will have functions to init or create and destroy them
- instead of being allocated in the global scope.
- And macros will be used from afpic.h in order to access them.
-
- * src/autofit/aftypes.h add macros to init and declare
- instances of AF_ScriptClassRec.
-
- * src/autofit/afcjk.h declare af_cjk_script_class
- using macros from aftypes.h,
- when FT_CONFIG_OPTION_PIC is defined init function will be declared.
- * src/autofit/afcjk.c when FT_CONFIG_OPTION_PIC is defined
- af_cjk_script_class struct will have function to init it instead of
- being allocated in the global scope.
-
- * src/autofit/afdummy.h declare af_dummy_script_class
- using macros from aftypes.h,
- when FT_CONFIG_OPTION_PIC is defined init function will be declared.
- * src/autofit/afdummy.c when FT_CONFIG_OPTION_PIC is defined
- af_dummy_script_class struct will have function to init it instead of
- being allocated in the global scope.
-
- * src/autofit/afindic.h declare af_indic_script_class
- using macros from aftypes.h,
- when FT_CONFIG_OPTION_PIC is defined init function will be declared.
- * src/autofit/afindic.c when FT_CONFIG_OPTION_PIC is defined
- af_indic_script_class struct will have function to init it instead of
- being allocated in the global scope.
-
- * src/autofit/aflatin.h declare af_latin_script_class
- using macros from aftypes.h,
- when FT_CONFIG_OPTION_PIC is defined init function will be declared.
- * src/autofit/aflatin.c when FT_CONFIG_OPTION_PIC is defined
- af_latin_script_class struct will have function to init it instead of
- being allocated in the global scope.
- Change af_latin_blue_chars to be PIC-compatible by being a two
- dimentional array rather than array of pointers.
-
-
- * src/autofit/aflatin2.h declare af_latin2_script_class
- using macros from aftypes.h,
- when FT_CONFIG_OPTION_PIC is defined init function will be declared.
- * src/autofit/aflatin2.c when FT_CONFIG_OPTION_PIC is defined
- af_latin2_script_class struct will have function to init it instead of
- being allocated in the global scope.
- Change af_latin2_blue_chars to be PIC-compatible by being a two
- dimentional array rather than array of pointers.
-
- * src/autofit/afglobal.c when FT_CONFIG_OPTION_PIC is defined
- af_script_classes array initialization was moved to afpic.c and
- is later refered using macros defeined in afpic.h.
-
- New Files:
- * src/autofit/afpic.h declare struct to hold PIC globals for autofit
- module and macros to access them.
- * src/autofit/afpic.c implement functions to allocate, destroy and
- initialize PIC globals for autofit module.
-
- * src/autofit/autofit.c add new file to build: afpic.c.
- * src/autofit/jamfile add new files to FT2_MULTI build: afpic.c.
-
-2009-04-05 Oran Agra <[email protected]>
-
- Position Independent Code (PIC) support in pshinter module.
-
- * include/freetype/internal/pshints.h add macros to init
- instances of PSHinter_Interface.
-
- * src/pshinter/pshmod.h declare pshinter_module_class
- using macros from ftmodapi.h,
- when FT_CONFIG_OPTION_PIC is defined create and destroy
- functions will be declared.
- * src/pshinter/pshmod.c when FT_CONFIG_OPTION_PIC is defined
- pshinter_interface and pshinter_module_class structs
- will have functions to init or create and destroy them
- instead of being allocated in the global scope.
- And macros will be used from pshpic.h in order to access them.
-
- New Files:
- * src/pshinter/pshpic.h declare struct to hold PIC globals for pshinter
- module and macros to access them.
- * src/pshinter/pshpic.c implement functions to allocate, destroy and
- initialize PIC globals for pshinter module.
-
- * src/pshinter/pshinter.c add new file to build: pshpic.c.
- * src/pshinter/jamfile add new files to FT2_MULTI build: pshpic.c.
-
-2009-04-05 Oran Agra <[email protected]>
-
- Position Independent Code (PIC) support in psnames module.
-
- * include/freetype/internal/services/svpscmap.h add macros to init
- instances of FT_Service_PsCMapsRec.
-
- * src/psnames/psmodule.h declare psnames_module_class
- using macros from ftmodapi.h,
- when FT_CONFIG_OPTION_PIC is defined create and destroy
- functions will be declared.
- * src/psnames/psmodule.c when FT_CONFIG_OPTION_PIC is defined
- pscmaps_interface and pscmaps_services structs
- and psnames_module_class array
- will have functions to init or create and destroy them
- instead of being allocated in the global scope.
- And macros will be used from pspic.h in order to access them.
-
- New Files:
- * src/psnames/pspic.h declare struct to hold PIC globals for psnames
- module and macros to access them.
- * src/psnames/pspic.c implement functions to allocate, destroy and
- initialize PIC globals for psnames module.
-
- * src/psnames/psnames.c add new file to build: pspic.c.
- * src/psnames/jamfile add new files to FT2_MULTI build: pspic.c.
-
-2009-04-05 Oran Agra <[email protected]>
-
- Position Independent Code (PIC) support in raster renderer.
-
- * src/raster/ftrend1.h declare ft_raster1_renderer_class
- and ft_raster5_renderer_class
- using macros from ftrender.h,
- when FT_CONFIG_OPTION_PIC is defined create and destroy
- functions will be declared.
- * src/smooth/ftrend1.c when FT_CONFIG_OPTION_PIC is defined
- ft_raster1_renderer_class and ft_raster5_renderer_class structs
- will have functions to init or create and destroy them
- instead of being allocated in the global scope.
- Macros will be used from rastpic.h in order to access
- ft_standard_raster from the pic_container (allocated in ftraster.c).
- In ft_raster1_render when PIC is enabled, the last letter of
- module_name is used to verfy the renderer class rather than the
- class pointer.
-
- * src/raster/ftraster.c when FT_CONFIG_OPTION_PIC is defined
- ft_standard_raster struct will have function to init it
- instead of being allocated in the global scope.
-
- New Files:
- * src/raster/rastpic.h declare struct to hold PIC globals for raster
- renderer and macros to access them.
- * src/raster/rastpic.c implement functions to allocate, destroy and
- initialize PIC globals for raster renderer.
-
- * src/raster/raster.c add new file to build: rastpic.c.
- * src/raster/jamfile add new files to FT2_MULTI build: rastpic.c.
-
-2009-04-05 Oran Agra <[email protected]>
-
- Position Independent Code (PIC) support in smooth renderer.
-
- * src/smooth/ftsmooth.h declare ft_smooth_renderer_class,
- ft_smooth_lcd_renderer_class and ft_smooth_lcd_v_renderer_class
- using macros from ftrender.h,
- when FT_CONFIG_OPTION_PIC is defined create and destroy
- functions will be declared.
- * src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined
- the following structs:
- ft_smooth_renderer_class, ft_smooth_lcd_renderer_class
- and ft_smooth_lcd_v_renderer_class
- will have functions to init or create and destroy them
- instead of being allocated in the global scope.
- And macros will be used from ftspic.h in order to access
- ft_grays_raster from the pic_container (allocated in ftgrays.c).
-
- * src/smooth/ftgrays.h include FT_CONFIG_CONFIG_H
- * src/smooth/ftgrays.c when FT_CONFIG_OPTION_PIC is NOT defined
- func_interface was moved from gray_convert_glyph_inner function
- to the global scope.
- When FT_CONFIG_OPTION_PIC is defined
- func_interface and ft_grays_raster structs
- will have functions to init them
- instead of being allocated in the global scope.
- And func_interface will be allocated on the stack of
- gray_convert_glyph_inner.
-
- New Files:
- * src/smooth/ftspic.h declare struct to hold PIC globals for smooth
- renderer and macros to access them.
- * src/smooth/ftspic.c implement functions to allocate, destroy and
- initialize PIC globals for smooth renderer.
-
- * src/smooth/smooth.c add new file to build: ftspic.c.
- * src/smooth/jamfile add new files to FT2_MULTI build: ftspic.c.
-
-2009-04-05 Oran Agra <[email protected]>
-
- Position Independent Code (PIC) support in cff driver.
-
- * include/freetype/internal/services/svcid.h add macros to init
- instances of FT_Service_CIDRec.
- * include/freetype/internal/services/svpsinfo.h add macros to init
- instances of FT_Service_PsInfoRec.
-
- * src/cff/cffcmap.h declare cff_cmap_encoding_class_rec
- and cff_cmap_unicode_class_rec using macros from
- ftobjs.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
- functions will be declared.
- * src/cff/cffcmap.c when FT_CONFIG_OPTION_PIC is defined
- the following structs:
- cff_cmap_encoding_class_rec and cff_cmap_unicode_class_rec
- will have functions to init or create and destroy them
- instead of being allocated in the global scope.
-
- * src/cff/cffdrivr.h declare cff_driver_class using macros from
- ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
- functions will be declared.
- * src/cff/cffdrivr.c when FT_CONFIG_OPTION_PIC is defined
- the following structs:
- cff_service_glyph_dict, cff_service_ps_info, cff_service_ps_name
- cff_service_get_cmap_info, cff_service_cid_info, cff_driver_class,
- and cff_services array
- will have functions to init or create and destroy them
- instead of being allocated in the global scope.
- And macros will be used from cffpic.h in order to access them
- from the pic_container.
- Use macros from cffpic.h in order to access the
- structs allocated in cffcmap.c
-
- * src/cff/cffobjs.c Use macros from cffpic.h in order to access the
- structs allocated in cffcmap.c
-
- * src/cff/parser.c when FT_CONFIG_OPTION_PIC is defined
- implement functions to create and destroy cff_field_handlers array
- instead of being allocated in the global scope.
- And macros will be used from cffpic.h in order to access it
- from the pic_container.
-
- New Files:
- * src/cff/cffpic.h declare struct to hold PIC globals for cff
- driver and macros to access them.
- * src/cff/cffpic.c implement functions to allocate, destroy and
- initialize PIC globals for cff driver.
-
- * src/cff/cff.c add new file to build: cffpic.c.
- * src/cff/jamfile add new files to FT2_MULTI build: cffpic.c.
-
-2009-04-05 Oran Agra <[email protected]>
-
- Position Independent Code (PIC) support in sfnt driver.
-
- * include/freetype/internal/services/svbdf.h add macros to init
- instances of FT_Service_BDFRec.
- * include/freetype/internal/services/svgldict.h add macros to init
- instances of FT_Service_GlyphDictRec.
- * include/freetype/internal/services/svpostnm.h add macros to init
- instances of FT_Service_PsFontNameRec.
- * include/freetype/internal/services/svsfnt.h add macros to init
- instances of FT_Service_SFNT_TableRec.
- * include/freetype/internal/services/svttcmap.h add macros to init
- instances of FT_Service_TTCMapsRec.
- * include/freetype/internal/sfnt.h add macros to init
- instances of SFNT_Interface.
-
- * src/sfnt/sfdriver.h declare sfnt_module_class using macros from
- ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
- functions will be declared.
- * src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined
- the following structs:
- sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name
- tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface,
- sfnt_module_class, and sfnt_services array
- will have functions to init or create and destroy them
- instead of being allocated in the global scope.
- And macros will be used from sfntpic.h in order to access them
- from the pic_container.
-
- * src/sfnt/ttcmap.h add macros to init
- instances of TT_CMap_ClassRec.
- * src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined
- the following structs:
- tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec
- tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec,
- tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array
- will have functions to init or create and destroy them
- instead of being allocated in the global scope.
- And macros will be used from sfntpic.h in order to access them
- from the pic_container.
- The content of tt_cmap_classes is now described in the
- new file 'ttcmapc.h'.
-
- New Files:
- * src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt
- driver and macros to access them.
- * src/sfnt/sfntpic.c implement functions to allocate, destroy and
- initialize PIC globals for sfnt driver.
- * src/sfnt/ttcmapc.h describing the content of
- tt_cmap_classes allocated in ttcmap.c
-
- * src/sfnt/sfnt.c add new file to build: sfntpic.c.
- * src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c.
-
-2009-04-05 Oran Agra <[email protected]>
-
- Position Independent Code (PIC) support in truetype driver.
-
- * include/freetype/internal/services/svmm.h add macros to init
- instances of FT_Service_MultiMastersRec.
- * include/freetype/internal/services/svttglyf.h add macros to init
- instances of FT_Service_TTGlyfRec.
-
- * src/truetype/ttdriver.h declare tt_driver_class using macros from
- ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
- functions will be declared.
- * src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined
- the following structs:
- tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class
- and tt_services array,
- will have functions to init or create and destroy them
- instead of being allocated in the global scope.
- And macros will be used from ttpic.h in order to access them
- from the pic_container.
- * src/truetype/ttobjs.c change trick_names array to be
- PIC-compatible by being a two dimentional array rather than array
- of pointers.
-
- New Files:
- * src/truetype/ttpic.h declare struct to hold PIC globals for truetype
- driver and macros to access them.
- * src/truetype/ttpic.c implement functions to allocate, destroy and
- initialize PIC globals for truetype driver.
-
- * src/truetype/truetype.c add new file to build: ttpic.c.
- * src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c.
-
-2009-04-05 Oran Agra <[email protected]>
-
- Position Independent Code (PIC) support and infrastructure in base.
-
- * include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC
- * include/freetype/internal/ftobjs.h Add pic_container member to
- FT_LibraryRec.
- Add macros to declare and init instances of FT_CMap_ClassRec.
- Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs.
- Add macros to declare, allocate and initialize modules
- (FT_Module_Class).
- Add macros to declare, allocate and initialize renderers
- (FT_Renderer_Class).
- Add macro to init instances of FT_Glyph_Class.
- Add macros to declare, allocate and initialize drivers
- (FT_Driver_ClassRec).
- * include/freetype/internal/ftpic.h new file to declare the
- FT_PIC_Container struct and the functions to allocate and detroy it.
- * include/freetype/internal/ftserv.h add macros to allocate and
- destory arrays of FT_ServiceDescRec.
- * include/freetype/internal/internal.h define macro to include
- ftpic.h.
-
- New Files:
- * src/base/ftpic.c implement functions to allocate and destory the
- global pic_container.
- * src/base/basepic.h declare struct to hold PIC globals for base and
- macros to access them.
- * src/base/basepic.c implement functions to allocate, destroy and
- initialize PIC globals for base.
-
- * src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement
- functions that allocate and destroy ft_default_modules according to
- FT_CONFIG_MODULES_H in the pic_container instead of the global scope
- and use macro from basepic.h to access it.
- * src/base/ftobjs.c add calls to the functions that allocate and
- destroy the global pic_container when the library is created and
- destroyed.
-
- * src/base/jamfile add new files to FT2_MULTI build:
- ftpic.c and basepic.c.
- * src/base/ftbase.c add new files to build:
- ftpic.c and basepic.c.
-
- * src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined
- ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated
- in the pic_container instead of the global scope and use macros from
- basepic.h to access them.
- * src/base/ftbbox.c allocate bbox_interface stract on the stack
- instead of the global scope when FT_CONFIG_OPTION_PIC is defined.
- * src/base/ftstroke.c access ft_outline_glyph_class allocated in
- ftglyph.c via macros from basepic.h
-
-2009-04-05 Oran Agra <[email protected]>
-
- Preparing changes in cff parser later needed for PIC version.
-
- * src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c,
- src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to
- 'CFF_ParserRec' set by `cff_parser_init'.
- Route library pointer from 'cff_face_init' to 'cff_subfont_load'
- for `cff_parser_init'.
-
- * src/cff/cffparse.c (CFF_Field_Handler): Move it to...
- * src/cff/cffparse.h: This file, to be used by other C files.
-
-2009-04-05 Oran Agra <[email protected]>
-
- Minor change in ftstroke.c.
-
- * src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with
- `library' needed for PIC version.
- Update all callers.
-
-2009-04-04 Werner Lemberg <[email protected]>
-
- ftnames.c -> ftsnames.c
-
- * src/base/ftnames.c: Rename to...
- * src/base/ftsnames.c: This.
- * src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated.
-
-2009-04-04 Werner Lemberg <[email protected]>
-
- Add support for cmap type 13.
-
- * devel/ftoption.h, include/freetype/config/ftoption.h
- (TT_CONFIG_CMAP_FORMAT_13): New macro.
-
- * src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init,
- tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next,
- tt_cmap13_get_info, tt_cmap13_char_map_def_binary,
- tt_cmap14_class_rec): New functions and structures for cmap 13
- support.
- (tt_cmap_classes): Register tt_cmap13_class_rec.
-
- * docs/CHANGES: Mention cmap 13 support.
-
-2009-04-01 Werner Lemberg <[email protected]>
-
- Ignore empty contours in CFF glyphs.
-
- Problem reported by Albert Astals Cid <[email protected]>.
-
- * src/cff/cffgload.c (cff_builder_close_contour): Synchronize with
- t1_builder_close_contour.
-
-2009-03-21 Werner Lemberg <[email protected]>
-
- Another redundant header inclusion.
-
- * src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041.
-
-2009-03-21 Werner Lemberg <[email protected]>
-
- Remove redundant header inclusions.
-
- This covers many Ghostscript Coverity issues.
-
- * src/*: Do it.
-
-2009-03-21 Werner Lemberg <[email protected]>
-
- Fix Ghostscript Coverity issue #3904.
-
- * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
- invalid values of `runcnt'.
-
-2009-03-20 Werner Lemberg <[email protected]>
-
- Fix `make multi' run.
-
- * src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H.
-
-2009-03-20 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #25923.
-
- * src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo.
-
-2009-03-20 Werner Lemberg <[email protected]>
-
- Protect against too large glyphs.
-
- Problem reported by Tavis Ormandy <[email protected]>.
-
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow
- `pitch' or `height' to be larger than 0xFFFF.
-
-2009-03-20 Werner Lemberg <[email protected]>
- Tavis Ormandy <[email protected]>
-
- Fix validation for various cmap table formats.
-
- * src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
- tt_cmap12_validate): Check `length' correctly.
- (tt_cmap_14_validate): Check `length' and `numMappings' correctly.
-
-2009-03-20 Werner Lemberg <[email protected]>
-
- Protect against malformed compressed data.
-
- * src/lzw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is
- zero.
-
-2009-03-20 Werner Lemberg <[email protected]>
-
- Protect against invalid SID values in CFFs.
-
- Problem reported by Tavis Ormandy <[email protected]>.
-
- * src/cff/cffload.c (cff_charset_load): Reject SID values larger
- than 64999.
-
-2009-03-19 Vincent Richomme <[email protected]>
-
- Update WinCE Visual C project files.
-
- * builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension
- files.
-
-2009-03-19 Werner Lemberg <[email protected]>
-
- Remove unused Win32 code.
-
- * builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'.
- Since Win32 is handled separately this is no longer needed.
-
-2009-03-19 Vincent Richomme <[email protected]>
-
- Make `gzip' module compile on WinCE.
-
- * src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H.
-
-2009-03-19 Werner Lemberg <[email protected]>
-
- Remove unused WinCE code.
-
- * builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'.
- Since WinCE is handled separately this is no longer needed.
-
-2009-03-16 Werner Lemberg <[email protected]>
-
- docmaker: Don't ignore single-line code blocks.
-
- * src/tools/docmaker/content.py (DocBlock::_init__): Fix change from
- 2009-01-31.
-
-2009-03-15 Steve Langasek <[email protected]>
-
- Use __asm__ for declaring assembly instead of asm.
-
- * builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of
- asm on arm, fixing a build failure on armel with -pedantic.
-
-2009-03-14 Werner Lemberg <[email protected]>
-
- Fix valgrind warning.
-
- * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read
- past the end of the frame.
-
-2009-03-12 Werner Lemberg <[email protected]>
-
- * Version 2.3.9 released.
- =========================
-
-
- Tag sources with `VER-2-3-9'.
-
-2009-03-12 Werner Lemberg <[email protected]>
-
- * builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'.
-
-2009-03-12 Werner Lemberg <[email protected]>
-
- Fix some FreeType Coverity issues as reported for Ghostscript.
-
- * src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
- `args.stream' (#3874, #3875).
- (open_face_PS_from_sfnt_stream): Improve error management (#3786).
- * src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
- (#3870).
- * src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
- code (#3790).
- * src/base/ftrfork.c (raccess_guess_apple_generic): Check error
- value of `FT_Stream_Skip' (#3784).
-
- * src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
- it (#3872)
-
- * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
- it (#3871).
- * src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
- `pcf_get_metric' (#3789, #3782).
- (pcf_get_properties): Use FT_STREAM_SKIP (#3783).
-
- * src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
- `acache' (#3797)
-
- * src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
- (#3796).
- * src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795).
- * src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794).
-
- * src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
- (#3793).
- (_bdf_parse_start): Add comment (#3792).
-
- * src/raster/ftraster.c (Finalize_Profile_Table): Check
- `ras.fProfile' (#3791).
-
- * src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785).
-
- * src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
- seek error (#3781).
-
-2009-03-11 Michael Toftdal <[email protected]>
-
- Extend CID service functions to handle CID-keyed CFFs as CID fonts.
-
- * include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed,
- FT_Get_CID_From_Glyph_Index): New functions.
-
- * include/freetype/internal/services/svcid.h
- (FT_CID_GetIsInternallyCIDKeyedFunc,
- FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs.
- (CID Service): Use them.
-
- * src/base/ftcid.c: Include FT_CID_H.
- (FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index):
- New functions.
-
- * src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index):
- New functions.
- (cff_service_cid_info): Add them.
- * src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids'
- -- it is needed for access as a CID-keyed font. It gets deleted
- later on.
-
- * src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index):
- New functions.
- (cid_service_cid_info): Add them.
-
- * docs/CHANGES: Updated.
-
-2009-03-11 Bram Tassyns <[email protected]>
-
- Fix Savannah bug #25597.
-
- * src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length
- to become larger than 9.
-
-2009-03-11 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #25814.
-
- * builds/unix/freetype2.in: As suggested in the bug report, move
- @LIBZ@ to `Libs.private'.
-
-2009-03-11 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #25781.
- We now simply check for a valid `offset', no longer handling `delta
- = 1' specially.
-
- * src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for
- last segment.
- (tt_cmap4_set_range, tt_cmap4_char_map_linear,
- tt_cmap4_char_map_binary): Check offset.
-
-2009-03-11 Werner Lemberg <[email protected]>
-
- * src/base/Jamfile: Fix handling of ftadvanc.c.
- Reported by Oran Agra <[email protected]>.
-
-2009-03-10 Vincent Richomme <[email protected]>
-
- Restructure Win32 and Wince compiler support.
-
- * src/builds/win32: Remove files for WinCE.
- Move VC 2005 support to a separate directory.
- Add directory for VC 2008 support.
-
- * src/builds/wince: New directory hierarchy for WinCE compilers
- (VC 2005 and VC 2008).
-
-2009-03-09 Werner Lemberg <[email protected]>
-
- More preparations for 2.3.9 release.
-
- * docs/CHANGES: Updated.
-
- * Jamfile, README: s/2.3.8/2.3.9/, s/238/239/.
-
-2009-03-09 Werner Lemberg <[email protected]>
-
- * src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c.
-
-2009-03-09 Alexey Kryukov <[email protected]>
-
- Fix handling of EBDT formats 8 and 9 (part 2).
-
- This patch fixes the following problems in ttsbit0.c:
-
- . Bitmaps for compound glyphs were never allocated.
-
- . `SBitDecoder' refused to load metrics if some other metrics have
- already been loaded. This condition certainly makes no sense for
- recursive calls, so I've just disabled it. Another possibility
- would be resetting `decoder->metrics_loaded' to false before
- loading each composite component. However, we must restore the
- original metrics after finishing the recursion; otherwise we can
- get a misaligned glyph.
-
- . `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos',
- causing some glyph components to be shifted too far to the right
- (especially noticeable for small sizes).
-
- Note that support for grayscale bitmaps (not necessarily compound) is
- completely broken in ttsbit0.c.
-
- * src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics.
- (tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case
- of `h == height'.
- (tt_sbit_decoder_load_compound): Reset metrics after loading
- components.
- Allocate bitmap.
-
-2009-03-09 Werner Lemberg <[email protected]>
-
- * builds/unix/configure.raw (version_info): Set to 9:20:3.
-
-2009-03-03 David Turner <[email protected]>
-
- Protect SFNT kerning table parser against malformed tables.
-
- This closes Savannah BUG #25750.
-
- * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a
- bug where a malformed table would be successfully loaded but later
- crash the engine during parsing.
-
-2009-03-03 David Turner <[email protected]>
-
- Update documentation and bump version number to 2.3.9.
-
- * include/freetype/freetype.h: Bump patch version to 9.
- * docs/CHANGES: Document the ABI break in 2.3.8.
- * docs/VERSION.DLL: Update version numbers table for 2.3.9.
-
-2009-03-03 David Turner <[email protected]>
-
- Remove ABI-breaking field in public PS_InfoFontRec definition.
-
- Instead, we define a new internal PS_FontExtraRec structure to
- hold the additional field, then place it in various internal
- positions of the corresponding FT_Face derived objects.
-
- * include/freetype/t1tables.h (PS_FontInfoRec): Remove the
- `fs_type' field from the public structure.
- * include/freetype/internal/psaux.h (T1_FieldLocation): New
- enumeration `T1_FIELD_LOCATION_FONT_EXTRA'.
- * include/freetype/internal/t1types.h (PS_FontExtraRec): New
- structure.
- (T1_FontRec, CID_FaceRec): Add it.
-
- * src/cid/cidload.c (cid_load_keyword): Handle
- T1_FIELD_LOCATION_FONT_EXTRA.
- * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c:
- Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'.
- * src/type1/t1load.c (t1_load_keyword): Handle
- T1_FIELD_LOCATION_FONT_EXTRA.
-
- * include/freetype/internal/services/svpsinfo.h (PsInfo service):
- Add `PS_GetFontExtraFunc' function typedef.
-
- * src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and
- FT_SERVICE_POSTSCRIPT_INFO_H.
- (FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service.
-
- * src/cff/cffdrivr.c (cff_service_ps_info): Updated.
- * src/cid/cidriver.c (cid_ps_get_font_extra): New function.
- (cid_service_ps_info): Updated.
- * src/type1/t1driver.c (t1_ps_get_font_extra): New function.
- (t1_service_ps_info): Updated.
- * src/type42/t42drivr.c (t42_ps_get_font_extra): New function.
- (t42_service_ps_info): Updated.
-
-2009-03-02 Alexey Kryukov <[email protected]>
-
- Fix handling of EBDT formats 8 and 9.
-
- The main cycle in `blit_sbit' makes too many iterations: it actually
- needs the count of lines in the source bitmap rather than in the
- target image.
-
- * src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]:
- Add parameter `source_height' and use it for main loop.
- (Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
-
-2009-02-23 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #25669.
-
- * src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo.
-
- * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix
- scaling factor for non-scalable fonts.
-
- * src/cff/cffdrivr.c (cff_get_advances): Use correct advance width
- value to prevent incorrect scaling.
-
- * docs/CHANGES: Document it.
-
-2009-02-15 Matt Godbolt <[email protected]>
-
- Fix Savannah bug #25588.
-
- * builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for
- `orr' instruction.
-
-2009-02-11 Werner Lemberg <[email protected]>
-
- * src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.
- Reported by David Bevan <[email protected]>.
-
-2009-02-09 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #25495.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before
- setting metrics and bbox values. This ensures that the check for a
- font with neither a `glyf' table nor bitmap strikes can be performed
- early enough to set metrics and bbox values too.
-
-2009-02-04 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #25480.
-
- * builds/unix/freetype-config.in: For --ftversion, don't use $prefix
- but $includedir.
-
-2009-01-31 Werner Lemberg <[email protected]>
-
- Minor docmaker improvements.
-
- * src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty
- code blocks.
-
-2009-01-25 Werner Lemberg <[email protected]>
-
- Fix SCANCTRL handling in TTFs.
- Problem reported by Alexey Kryukov <[email protected]>.
-
- * src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
-
-2009-01-23 Werner Lemberg <[email protected]>
-
- Move FT_Get_FSType_Flags to a separate file.
- Problem reported by Mickey Gabel <[email protected]>.
-
- * src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
- * src/base/ftfstype.c: This new file.
-
- * modules.cfg (BASE_EXTENSION): Add ftfstype.c.
-
- * docs/INSTALL.ANY: Updated.
-
- * builds/mac/*.txt, builds/amiga/*makefile*,
- builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
- Updated.
-
-2009-01-22 suzuki toshiya <[email protected]>
-
- * builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error
- messages ending without "\n".
-
-2009-01-22 suzuki toshiya <[email protected]>
-
- Fix Savannah bug #25347.
-
- * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind
- the stream to the original position passed to this function,
- when ft_lookup_PS_in_sfnt_stream() failed.
- (Mac_Read_sfnt_Resource): Rewind the stream to the head of
- sfnt resource body, when open_face_PS_from_sfnt_stream()
- failed.
-
-2009-01-19 Michael Lotz <[email protected]>
-
- Fix Savannah bug #25355.
-
- * include/freetype/config/ftconfig.h (FT_MulFix_i386): Make
- assembler code work with gcc 2.95.3 (as used by the Haiku project).
- Add `cc' register to the clobber list.
-
-2009-01-18 Werner Lemberg <[email protected]>
-
- Protect FT_Get_Next_Char.
-
- * src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to
- change from 2008-07-22.
-
- Patch from Ronen Ghoshal <[email protected]>.
-
-2009-01-18 Werner Lemberg <[email protected]>
-
- Implement FT_Get_Name_Index for SFNT driver.
-
- * src/sfnt/sfdriver.c (sfnt_get_name_index): New function.
- (sfnt_service_glyph_dict): Use it.
-
- Problem reported by Truc Truong <[email protected]>.
-
-2009-01-18 Werner Lemberg <[email protected]>
-
- * include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix
- documentation. Problem reported by Truc Truong <[email protected]>.
-
- * docs/CHANGES: Updated.
-
-2009-01-14 Werner Lemberg <[email protected]>
-
- * Version 2.3.8 released.
- =========================
-
-
- Tag sources with `VER-2-3-8'.
-
- * docs/VERSION.DLL: Update documentation and bump version number to
- 2.3.8.
-
- * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
-
- * builds/unix/configure.raw (version_info): Set to 9:19:3.
-
- * docs/release: Updated.
-
-2009-01-14 Werner Lemberg <[email protected]>
-
- * builds/toplevel.mk (dist): Compress better.
-
-2009-01-13 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
- with C++.
-
-2009-01-13 Werner Lemberg <[email protected]>
-
- Don't use stdlib.h and friends directly.
- Reported by Mickey Gabel <[email protected]>.
-
- * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
-
- * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
- s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
-
- * src/autofit/aftypes.h, src/autofit/afhints.c,
- src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
-
- * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
-
-2009-01-12 Werner Lemberg <[email protected]>
-
- Avoid compiler warnings.
-
- * */*: s/do ; while ( 0 )/do { } while ( 0 )/.
- Reported by Sean McBride <[email protected]>.
-
-2009-01-12 Werner Lemberg <[email protected]>
-
- Fix stdlib dependencies.
-
- Problem reported by Mickey Gabel <[email protected]>.
-
- * include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused.
-
- * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
- s/memcpy/ft_memcpy/.
- * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
-
-2009-01-11 Werner Lemberg <[email protected]>
-
- * docs/formats.txt: Add link to PCF specification.
-
- * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
- documentation.
-
-2009-01-09 suzuki toshiya <[email protected]>
-
- * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
- FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
- FT_Int32, to match with the flags for FT_Load_Glyph().
- * src/cff/cffdrivr.c (cff_get_advances): Ditto.
- * src/truetype/ttdriver.c (tt_get_advances): Ditto.
- * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
- Ditto.
- * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
- Ditto.
-
-2009-01-09 Daniel Zimmermann <[email protected]>
-
- * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
- length check. From Savannah patch #6682.
-
-2009-01-09 Werner Lemberg <[email protected]>
-
- Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
-
- * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
- `count_offset' if it is zero (i.e., unused). Otherwise, the first
- element of the structure which holds the data is erroneously
- modified. Problem reported by Chi Nguyen <[email protected]>.
-
-2009-01-09 suzuki toshiya <[email protected]>
-
- * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
- FT_Get_Advances): Extend the type of load_flags from FT_UInt to
- FT_UInt32, to pass 32-bit flags on 16bit platforms.
- * src/cff/cffdrivr.c (cff_get_advances): Ditto.
- * src/truetype/ttdriver.c (tt_get_advances): Ditto.
- * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
- Ditto.
- * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
- Ditto.
-
-2009-01-09 suzuki toshiya <[email protected]>
-
- * src/base/ftobjs.c (FT_Done_Library): Issue an error message when
- FT_Done_Face() cannot free all faces. If the list of the opened
- faces includes broken face which FT_Done_Face() cannot free,
- FT_Done_Library() retries FT_Done_Face() and it can fall into
- an endless loop. See the discussion:
- http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
- http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
-
-2009-01-07 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Document new key `a' in ftdiff.
-
-2009-01-06 Werner Lemberg <[email protected]>
-
- * autogen.sh: Don't use GNUisms while calling sed. Problem reported
- by Sean McBride.
-
-2009-01-06 Werner Lemberg <[email protected]>
-
- * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
- and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen
-
-2009-01-06 Diego Pettenò <[email protected]>
-
- * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
- AC_CANONICAL_TARGET and use $host_os only. A nice explanation for
- this change can be found at
- http://blog.flameeyes.eu/s/canonical-target.
-
- From Savannah patch #6712.
-
-2009-01-06 Sean McBride <[email protected]>
-
- * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
-
- * src/base/ftmac.c: Remove some #undefs.
-
-2008-12-26 Werner Lemberg <[email protected]>
-
- Set `face_index' field in FT_Face for all font formats.
-
- * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
- sfnt/sfobjs.c (sfnt_init_face): Do it.
-
- * docs/CHANGES: Document it.
-
-2008-12-22 Steve Grubb
-
- * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
- Patch from Savannah bug #25151.
-
-2008-12-21 Werner Lemberg <[email protected]>
-
- * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
- src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
- s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for
- errors in the bytecode interpreter only.
-
-2008-12-21 Werner Lemberg <[email protected]>
-
- * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
- arguments.
- Fix return value for non-PFR fonts. Both problems reported by Chi
- Nguyen <[email protected]>.
-
-2008-12-21 anonymous
-
- FT_USE_MODULE declares things as:
-
- extern const FT_Module_Class
-
- (or similar for C++). However, the actual types of the variables
- being declared are often different, e.g., FT_Driver_ClassRec or
- FT_Renderer_Class. (Some are, indeed, FT_Module_Class.)
-
- This works with most C compilers (since those structs begin with an
- FT_Module_Class struct), but technically it's undefined behavior.
-
- To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
- paragraph 2:
-
- All declarations that refer to the same object or function shall
- have compatible type; otherwise, the behavior is undefined.
-
- (And they are not compatible types.)
-
- Most C compilers don't reject (or even detect!) code which has this
- issue, but the GCC LTO development branch compiler does. (It
- outputs the types of the objects while generating .o files, along
- with a bunch of other information, then compares them when doing the
- final link-time code generation pass.)
-
- Patch from Savannah bug #25133.
-
- * src/base/ftinit.c (FT_USE_MODULE): Include variable type.
-
- * builds/amiga/include/freetype/config/ftmodule.h,
- include/freetype/config/ftmodule.h, */module.mk: Updated to declare
- pass correct types to FT_USE_MODULE.
-
-2008-12-21 Hongbo Ni <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_hint_edges),
- src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
- (af_cjk_hint_edges): Protect against division by zero. This fixes
- Savannah bug #25124.
-
-2008-12-18 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2008-12-18 Bevan, David <[email protected]>
-
- Provide API for accessing embedding and subsetting restriction
- information.
-
- * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
- FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
- FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
- FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
- macros.
- (FT_Get_FSType_Flags): New function declaration.
-
- * src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
-
- * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
- (t42_keywords): Handle `FSType'.
-
- * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
-
-2008-12-17 Werner Lemberg <[email protected]>
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
- macros so that copying the source code into an application works
- out of the box.
-
-2008-12-17 Werner Lemberg <[email protected]>
-
- * include/freetype/ftsynth.h, src/base/ftsynth.c: Move
- FT_GlyphSlot_Own_Bitmap to...
- * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
-
- * docs/CHANGES: Document it.
-
-2008-12-10 Werner Lemberg <[email protected]>
-
- Generalize the concept of `tricky' fonts by introducing
- FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
- engine is necessary for correct rendering.
-
- At the same time, slightly modify the behaviour of tricky fonts:
- FT_LOAD_NO_HINTING is now ignored. To really force raw loading
- of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
- FT_LOAD_NO_AUTOHINT must be used.
-
- Finally, tricky TrueType fonts always use the bytecode interpreter
- even if the patented code is used.
-
- * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
- New macros.
-
- * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
- semantics as described above.
-
- * src/truetype/ttobjs.c (tt_check_trickyness): New function, using
- code of ...
- (tt_face_init): This function, now simplified and updated to new
- semantics.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
- fonts.
-
- * docs/CHANGES: Document it.
-
-2008-12-09 Werner Lemberg <[email protected]>
-
- Really fix Savannah bug #25010: An SFNT font with neither outlines
- nor bitmaps can be considered as containing space `glyphs' only.
-
- * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
- a `glyf' table is missing.
-
- * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
- `glyf' table but a non-zero `loca' entry.
- (tt_loader_init): Handle missing `glyf' table.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
- nor bitmaps is scalable.
-
-2008-12-05 Werner Lemberg <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This
- fixes Savannah bug #21190 which also provides a basic patch.
-
-2008-12-05 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
- 0x100 instead of 0x10000; the latter value is already occupied by
- FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos.
-
-
- Handle SFNT with neither outlines nor bitmaps. This fixes Savannah
- bug #25010.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
- outlines nor bitmaps.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
- is no table with glyphs.
-
-
- * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
- message.
-
-2008-12-01 Werner Lemberg <[email protected]>
-
- GDEF tables need `glyph_count' too for validation. Problem reported
- by Chi Nguyen <[email protected]>.
-
- * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
- (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
- `glyph_count'.
-
-2008-11-29 Werner Lemberg <[email protected]>
-
- * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
- src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
- src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
- src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
- src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
- (Atari PureC).
-
-2008-11-29 James Cloos <[email protected]>
-
- * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
- it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
- in the /BlendDesignMap space).
-
-2008-11-29 James Cloos <[email protected]>
-
- * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
- whereas `design_points' is FT_Long*. Therefore, return blend rather
- than design points.
-
-2008-11-27 Werner Lemberg <[email protected]>
-
- * src/cff/cffparse.c (cff_parse_real): Handle more than nine
- significant digits correctly. This fixes Savannah bug #24953.
-
-2008-11-25 Daniel Zimmermann <[email protected]>
-
- * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
- before the NULL check. From Savannah patch #6681.
-
-2008-11-24 Werner Lemberg <[email protected]>
-
- Fixes from the gnuwin32 port.
-
- * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
-
- * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
-
- * src/psaux/psobjs.c (ps_table_add): Check `length'.
-
-2008-11-15 Werner Lemberg <[email protected]>
-
- * src/truetype/ttinterp.c (tt_default_graphics_state): The default
- value for `scan_type' is zero, as confirmed by Greg Hitchcock from
- Microsoft. Problem reported by Michal Nowakowski
-
-2008-11-12 Tor Andersson <[email protected]>
-
- * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
- This fixes Savannah bug #24819.
-
-2008-11-08 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
- since OpenType version 1.5 has been released.
-
- * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
- TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
- (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
- TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
- TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
- TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
- TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
- TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
- TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
- TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
- TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
- TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
- TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
- macros for OpenType 1.5.
-
-2008-11-08 Wenlin Institute <[email protected]>
-
- * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
- slot->internal == NULL. Reported by Graham Asher.
-
-2008-11-08 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
- code so that memory allocation problems can be distinguished from
- missing table entries. Reported by Graham Asher.
- (GET_NAME): New macro.
- (sfnt_load_face): Use it.
-
-2008-11-05 Werner Lemberg <[email protected]>
-
- * devel/ftoption.h, include/freetype/config/ftoption.h
- [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
- TT_CONFIG_OPTION_UNPATENTED_HINTING. This fixes the return value of
- `FT_Get_TrueType_Engine_Type' (and makes it work as documented).
- Reported in bug #441638 of bugzilla.novell.com.
-
- * docs/CHANGES: Document it.
-
-2008-11-03 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_subrs): Use an endless loop. There are
- fonts (like HELVI.PFB version 003.001, used on OS/2) which define
- some `subrs' elements more than once. Problem reported by Peter
- Weilbacher <[email protected]>.
-
-2008-10-15 Graham Asher <[email protected]>
-
- * src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
-
-2008-10-15 David Turner <[email protected]>
-
- * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
- meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
-
-2008-10-14 Werner Lemberg <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
- Suggested by Bram Tassyns in Savannah patch #6651.
-
-2008-10-12 Graham Asher <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
- `underline_position'.
-
-2008-10-12 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2008-10-09 suzuki toshiya <[email protected]>
-
- Fix Savannah bug #24468.
-
- According to include/freetype/internal/ftobjs.h, the appropriate
- type to interchange single character codepoint is FT_UInt32. It
- should be distinguished from FT_UInt which can be 16bit integer.
-
- * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
- of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
- (tt_cmap4_char_map_binary): Ditto.
- (tt_cmap14_get_nondef_chars): Change the type of return value
- from FT_UInt* to FT_UInt32*.
-
-2008-10-08 John Tytgat <[email protected]>
-
- Fix Savannah bug #24485.
-
- * src/type1/t1load.c (parse_charstrings): Assure that we always have
- a .notdef glyph.
-
-2008-10-05 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
- * builds/mac/ftmac.c: Ditto.
-
-2008-10-05 suzuki toshiya <[email protected]>
-
- * include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
- * src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
-
-2008-10-05 suzuki toshiya <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
- the beginning of sfnt container.
- * src/sfnt/ttload.c (check_table_dir): Return
- `SFNT_Err_Table_Missing' when sfnt table directory structure is
- correct but essential tables for TrueType fonts (`head', `bhed' or
- `SING') are missing. Other errors are returned by
- SFNT_Err_Unknown_File_Format.
-
- * src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
- `FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'. It is
- enabled only when old mac font support is configured.
-
-2008-10-04 suzuki toshiya <[email protected]>
-
- * include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
- TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
- the repeated calculations of these values in ftobjs.c and ftmac.c.
- * src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
- * src/base/ftmac.c: Ditto.
- * builds/mac/ftmac.c: Ditto.
-
-2008-10-04 suzuki toshiya <[email protected]>
-
- * src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
- initialization of *is_sfnt_cid.
-
-2008-10-04 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
- warnings.
-
-2008-10-04 suzuki toshiya <[email protected]>
-
- * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
- (ft_lookup_PS_in_sfnt_stream): This.
- (open_face_PS_from_sfnt_stream): New function. It checks whether
- the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
- font, then try to open a face for given face_index.
- (Mac_Read_sfnt_Resource): Replace the combination of
- `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
- `open_face_PS_from_sfnt_stream'.
- * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
- * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
- * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
- `open_face_PS_from_sfnt_stream'.
-
-2008-10-03 suzuki toshiya <[email protected]>
-
- * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
- FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
-
-2008-10-03 suzuki toshiya <[email protected]>
-
- * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
- MrC compiler of MPW is used. These compilers do not define the
- macro __APPLE__ by themselves.
- * builds/unix/ftconfig.in: Ditto.
- * builds/vms/ftconfig.h: Ditto.
- * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
- include ftmac.c if FreeType 2 is built by MPW.
- * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
- enable shared functions for ftmac.c if FreeType 2 is built by MPW.
-
- * builds/mac/ftmac.c: Include ftbase.h.
- (memory_stream_close): Removed.
- (new_memory_stream): Ditto.
- (open_face_from_buffer): Removed. Use the implementation in
- ftobjs.c.
- (ft_lookup_PS_in_sfnt): Ditto.
-
- * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
- included part of ftbase.c, to share the functions in ftobjs.c. The
- rule compiling ftmac.c separately is removed and the rule copying
- ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
- * builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
- * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
- * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
-
-2008-10-02 Bram Tassyns <[email protected]>
-
- * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This
- fixes Savannah bug #24430.
-
-2008-10-02 Werner Lemberg <[email protected]>
-
- * builds/freetype.mk (BASE_H): Rename to...
- (INTERNAL_H): This.
- (FREETYPE_H): Updated.
- * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
- * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
- * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
- * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
- * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
- * src/type42/rules.mk (T42_DRV_H): Add t42types.h.
-
-2008-10-02 suzuki toshiya <[email protected]>
-
- * src/base/ftbase.h: New file to declare the private utility
- functions shared by the sources of base modules. Currently,
- `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
- share between ftobjs.c and ftmac.c.
-
- * src/base/rule.mk: Add ftbase.h.
-
- * src/base/ftobjs.c: Include ftbase.h.
- (memory_stream_close): Build on any platform when old MacOS font
- support is enabled.
- (new_memory_stream): Ditto.
- (open_face_from_buffer): Build on any platform when old MacOS font
- support is enabled. The counting of the face in a font file is
- slightly different between Carbon-dependent parser and Carbon-free
- parser. They are merged with the platform-specific conditional.
- (ft_lookup_PS_in_sfnt): Ditto.
-
- * src/base/ftmac.c: Include ftbase.h.
- (memory_stream_close): Removed.
- (new_memory_stream): Ditto.
- (open_face_from_buffer): Removed. Use the implementation in
- ftobjs.c.
- (ft_lookup_PS_in_sfnt): Ditto.
-
-2008-10-02 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
- if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
-
-2008-10-01 Werner Lemberg <[email protected]>
-
- * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
- (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
- src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
- (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
- src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
- Reported by Graham Asher.
-
-2008-09-30 suzuki toshiya <[email protected]>
-
- * src/base/rules.mk: Add conditional source to BASE_SRC, for `make
- multi' on Mac OS X. If the macro $(ftmac_c) is defined,
- $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the
- lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
- ftmac.c.
- * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
- * builds/unix/configure.raw: Add procedure to set up appropriate
- value of $(ftmac_c) with the consideration of the availability of
- Carbon framework.
-
-2008-09-30 suzuki toshiya <[email protected]>
-
- * src/base/Jamfile: Add target for multi build by jam on Mac OS X.
- * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
- function for MPW building. It is synchronized the condition to
- include ftmac.c source into ftbase.c.
-
-2008-09-22 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
- cff_decoder_parse_charstrings): Handle (invalid)
- `callothersubr' and `pop' instructions.
-
-2008-09-22 John Tytgat <[email protected]>
-
- Fix Savannah bug #24307.
-
- * include/freetype/internal/t1types.h (CID_FaceRec),
- src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
-
-2008-09-21 Werner Lemberg <[email protected]>
-
- * src/smooth/ftgrays.c (gray_raster_render): Don't dereference
- `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by
- Stephan T. Lavavej <[email protected]>.
-
-2008-09-21 suzuki toshiya <[email protected]>
-
- * src/otvalid/Jamfile: Add missing target `otvmath' for multi build
- by jam.
- * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
- jam.
-
-2008-09-20 Werner Lemberg <[email protected]>
-
- * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values
- passed to this function are already `normalized'. Problem reported
- by Stephan T. Lavavej <[email protected]>.
-
- * docs/CHANGES: Document it.
-
-2008-09-20 Werner Lemberg <[email protected]>
-
- * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
- (FT_Outline_Decompose): Decorate with tracing messages.
-
- * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
- FT_DEBUG_LEVEL_TRACE.
- [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
- stdarg.h.
-
- (FT_TRACE) [_STANDALONE_]: Remove.
- (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
- (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
- (FT_ERROR) [_STANDALONE_]: Updated.
-
- (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
- Use FT_TRACE7.
- (gray_dump_cells): Make it `static void'.
- (gray_convert_glyph): Use FT_TRACE7.
-
- (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
- ftoutln.c.
-
- * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
- FT_ERROR_BASE.
-
- * docs/formats.txt: Updated.
-
-2008-09-19 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
- CID-keyed font support.
- * builds/mac/ftmac.c: Ditto.
-
-2008-09-19 suzuki toshiya <[email protected]>
-
- * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
- sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
- `open_face_from_buffer' frees the passed buffer if it cannot open a
- face from the buffer, so the caller must not free it.
-
-2008-09-19 suzuki toshiya <[email protected]>
-
- * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
- for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
- (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
- table in sfnt table directory. It is used before loading TrueType
- font driver.
-
- * docs/CHANGES: Add note about the current status of sfnt-wrapped
- Type1 and sfnt-wrapped CID-keyed font support.
-
-2008-09-18 Werner Lemberg <[email protected]>
-
- * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
- orthogonality (ft_free and ft_sfree could belong to different memory
- pools). This fixes Savannah bug #24297.
-
-2008-09-18 suzuki toshiya <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
- in ttags.h instead of numerical value 0x4F54544FL.
-
-2008-09-16 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.h, src/cff/cffgload.c
- (cff_decoder_set_width_only): Eliminate function call.
-
-2008-09-15 George Williams <[email protected]>
-
- Fix Savannah bug #24179, reported by Bram Tassyns.
-
- * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
- of default values.
-
-2008-09-15 Werner Lemberg <[email protected]>
-
- * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
- and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
- prevent unconditional definition. This fixes Savannah bug #24241.
-
- * src/psnames/pstables.h: Regenerated.
-
-2008-09-13 Werner Lemberg <[email protected]>
-
- * autogen.sh, builds/unix/configure.raw,
- include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
- beautifying.
-
- * include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
- include/freetype/ftlcdfil.h: Protect against FreeType 1.
- Some other minor fixes.
-
- * devel/ftoption.h: Synchronize with
- include/freetype/config/ftoption.h.
-
-2008-09-11 Werner Lemberg <[email protected]>
-
- * src/base/ftbase.c: Include ftadvanc.c.
-
-2008-09-11 suzuki toshiya <[email protected]>
-
- * builds/unix/ftconfig.in: Duplicate the cpp computation of
- FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
- (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp
- computation is disabled and the statically configured sizes are
- used. This fixes Savannah bug #21250.
-
- * builds/unix/configure.raw: Add the checks to compare the cpp
- computation results of the bit length of int and long versus the
- sizes detected by running `configure'. If the results are
- different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
- results.
- New option --{enable|disable}-biarch-config is added to define or
- undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
-
-2008-09-05 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
- ApplicationService framework is missing. Although this value is not
- used in building of FreeType2, it is written in `freetype2.pc' and
- `freetype-config'.
-
-2008-09-01 david turner <[email protected]>
-
- * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
- index to mean `use default cached FT_Face's charmap'. This fixes
- Savannah bug #22625.
- * include/freetype/ftcache.h: Document it.
-
-
- Make FT_MulFix an inlined function. This is done to speed up
- FreeType a little (on x86 3% when loading+hinting, 10% when
- rendering, ARM savings are more important though). Disable this by
- undefining FT_CONFIG_OPTION_INLINE_MULFIX.
-
- Use of assembler code can now be controlled with
- FT_CONFIG_OPTION_NO_ASSEMBLER.
-
- * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
- [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
- implementation.
- [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
- implementation taken from `ftcalc.c'.
- [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
- which is defined to the platform-specific assembler implementation
- of FT_MulFix.
- [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
- (FT_MULFIX_INLINED): New macro.
-
- * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
- FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
-
- * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
-
- * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
- FT_MULFIX_INLINED.
-
-
- Add a new header named FT_ADVANCES_H declaring some new APIs to
- extract the advances of one or more glyphs without necessarily
- loading their outlines. Also provide `fast loaders' for the
- TrueType, Type1, and CFF font drivers (more to come later).
-
- * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
-
- * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
- * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
-
- * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
- `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
- respectively.
-
- * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
- ftadvanc.c.
-
- * src/cff/cffdrivr.c (cff_get_advances): New function.
- (cff_driver_class): Register it.
-
- * src/cff/cffgload.c (cff_decoder_set_width_only): New function.
- (cff_decoder_parse_charstrings): Handle `width_only'.
- (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
-
- * src/cff/cffgload.h (cff_decoder): New element `width_only'.
- (cff_decoder_set_width_only): New declaration.
-
- * src/truetype/ttdriver.c (tt_get_advances): New function.
- (tt_driver_class): Register it.
-
- * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
- (TT_Get_HMetrics, TT_Get_VMetrics): This.
- Update callers.
- * src/truetype/ttgload.h: Declare them.
-
- * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
- function.
- * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
-
-
- Add checks for minimum version of the `autotools' stuff.
-
- * autogen.sh: Implement it.
- (get_major_version, get_minor_version, get_patch_version,
- compare_to_minimum_version, check_tool_version): New auxiliary
- functions.
-
- * README.CVS: Document it.
-
-2008-08-29 suzuki toshiya <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
- ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
-
-2008-08-28 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_encoding): Protect against infinite
- loop. This fixes Savannah bug #24150 (where a patch has been posted
- too).
-
-2008-08-23 Werner Lemberg <[email protected]>
-
- * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
- (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug
- #24119.
-
-2008-08-19 suzuki toshiya <[email protected]>
-
- * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
- even if passed library or arguments are invalid. This fixes a bug
- that an uninitialized stream is freed when an invalid library handle
- is passed. Originally proposed by Mike Fabian, 2008/08/18 on
- freetype-devel.
- (FT_Open_Face): Ditto (stream).
- (load_face_in_embedded_rfork): Ditto (stream2).
-
-2008-08-18 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c: Add a fallback to guess the availability of the
- `ResourceIndex' type. It is used when built without configure
- (e.g., a build with Jam).
- * builds/mac/ftmac.c: Ditto.
- * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
- explicitly, even if `ResourceIndex' is unavailable.
-
-2008-08-18 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.raw: In checking of Mac OS X features,
- all-in-one header file `Carbon.h' is replaced by the minimum
- header file `CoreServices.h', similar to current src/base/ftmac.c.
-
-2008-08-18 suzuki toshiya <[email protected]>
-
- * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
- sub-header when its code_count is 0. Many Japanese Dynalab fonts
- include such an empty sub-header (code_count == 0, first_code == 0
- delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
-
-2008-08-04 Werner Lemberg <[email protected]>
-
- * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes
- Savannah bug #23995.
-
- * src/cid/cidload.c (parse_expansion_factor): New callback function.
- (cid_field_records): Use it for `ExpansionFactor'.
- * src/cod/cidtoken.h: Handle `ForceBold' keyword.
- Don't handle `ExpansionFactor'.
-
-2008-08-04 Bram Tassyns <[email protected]>
-
- * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
- resulted in incorrect scaling. This fixes Savannah bug #23973.
-
-2008-08-04 Werner Lemberg <[email protected]>
-
- Be more tolerant w.r.t. invalid entries in SFNT table directory.
-
- * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
- adjust table count.
- Add more trace messages.
- (tt_face_load_font_dir): Updated.
-
-2008-07-30 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
- assume that the first argument on the stack is the bottom-most
- element. Two reasons:
-
- o According to people from Adobe it is missing in the Type 2
- specification that pushing of additional, superfluous arguments
- on the stack is prohibited.
-
- o Acroread in general handles fonts differently, namely by popping
- the number of arguments needed for a particular operand (as a PS
- interpreter would do). In case of buggy fonts this causes a
- different interpretation which of the elements on the stack are
- superfluous and which not.
-
- Since there are CFF subfonts (embedded in PDFs) which rely on
- Acroread's behaviour, FreeType now does the same.
-
-2008-07-27 Werner Lemberg <[email protected]>
-
- Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This
- fixes Savannah bug #23940.
-
- * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
- (EXTRA_GLYPH_LIST_SIZE): This.
- Increase by 2.
- (ft_wgl_extra_unicodes): Rename to...
- (ft_extra_glyph_unicodes): This.
- Add two code values.
- (ft_wgl_extra_glyph_names): Rename to...
- (ft_extra_glyph_names): This.
- Add two glyphs.
- (ft_wgl_extra_glyph_name_offsets): Rename to...
- (ft_extra_glyph_name_offsets): This.
- Add two offsets.
-
- (ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
- (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
- Updated.
- (ps_unicodes_init): Updated.
-
-2008-07-26 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.c (cff_decoder_prepare,
- cff_decoder_parse_charstrings): Improve debug output.
-
-2008-07-22 Martin McBride <[email protected]>
-
- * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
- tt_cmap4_char_map_binary): Handle fonts which treat the last segment
- specially. According to the specification, such fonts would be
- invalid but acroread accepts them.
-
-2008-07-16 Jon Foster <[email protected]>
-
- * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
-
- * src/base/ftcalc.c (FT_MulFix): Fix portability issue.
-
- * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
- Fix compiler warning.
-
-2008-07-16 Werner Lemberg <[email protected]>
-
- Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
-
- * src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
- Invert sids table only if `pure_cff' is set.
- * src/cff/cffload.h: Udpated.
-
- * src/cff/cffobjs.c (cff_face_init): Updated.
- Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
-
- * docs/CHANGES: Updated.
-
-2008-07-09 Werner Lemberg <[email protected]>
-
- * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
- where num_locations < num_glyphs. Problem reported by Ding Li.
-
-2008-07-05 Werner Lemberg <[email protected]>
-
- Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
- newer. This fixes Savannah bug #23648.
-
- * configure: zsh doesn't like ${1+"$@"}.
- Update needed GNU make version.
- * builds/toplevel.mk: Check for `$(eval ...)'.
- * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
- it.
-
-2008-07-04 Werner Lemberg <[email protected]>
-
- * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
- pixel, only check for dropouts if neither start nor end point lies
- on a pixel center. This fixes Savannah bug #23762.
-
-2008-06-29 Werner Lemberg <[email protected]>
-
- * Version 2.3.7 released.
- =========================
-
-
- Tag sources with `VER-2-3-7'.
-
- * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
- version number to 2.3.7.
-
- * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
-
- * builds/unix/configure.raw (version_info): Set to 9:18:3.
-
- * docs/release: Updated.
-
-2008-06-28 Werner Lemberg <[email protected]>
-
- * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
- * src/ftcalc.c: Here. This fixes Savannah bug #23729.
-
-2008-06-27 Werner Lemberg <[email protected]>
-
- * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
- Horizontal_Gray_Sweep_Drop): Test for intersections which
- degenerate to a single point can be ignored; this has been confirmed
- by Greg Hitchcock from Microsoft. (This was commented out code.)
-
-2008-06-26 Werner Lemberg <[email protected]>
-
- Improve navigation in API reference.
-
- * src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
- (html_header_6): This.
- (html_header_3, html_header_3i, html_header_4, html_header_5,
- html_header_5t): New strings.
- (toc_footer_start, toc_footer_end): New strings.
- (HtmlFormatter::html_header): Updated.
- (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
- New strings.
- (HtmlFormatter::index_enter): Use `html_index_header'.
- (HtmlFormatter::index_exit): Print `html_footer'.
- (HtmlFormatter::toc_enter): Use `html_toc_header'.
- (HtmlFormatter::toc_exit): Print proper footer.
-
- Convert ~ to non-breakable space.
-
- * src/tools/docmaker/tohtml.py (make_html_para): Implement it.
- Update header files accordingly.
-
-2008-06-24 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.raw: Check type `ResourceIndex' explicitly
- and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5
- bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
- ResourceIndex type definition. The macro does not inform the type
- availability.
- * src/base/ftmac.c: More parentheses are inserted to clarify the
- conditionals to disable legacy APIs in `10.5 and later' cases. If
- HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
-
-2008-06-24 Werner Lemberg <[email protected]>
-
- * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
- mode.
-
- * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
- Draw_Sweep): No-dropout mode is value 2, not value 0.
- (Draw_Sweep): Really skip dropout handling for no-dropout mode.
-
-2008-06-24 Werner Lemberg <[email protected]>
-
- * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
- if it consists of one point only. Based on a patch from Savannah
- bug #23683 (from John Tytgat).
-
-2008-06-22 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
- with IS_HINTED.
-
- * docs/CHANGES: Updated.
-
-2008-06-22 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
- but LDFLAGS does not, import it to LDFLAGS. The option is used to
- specify non-default SDK on Mac OS X (e.g., universal binary SDK for
- Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
- recommends to add the option only to CFLAGS, LDFLAGS should include
- it because libfreetype.la is built with -no-undefined. This fixes a
- bug reported by Ryan Schmidt in MacPorts,
- http://trac.macports.org/ticket/15331.
-
-2008-06-21 Werner Lemberg <[email protected]>
-
- Enable access to the various dropout rules of the B&W rasterizer.
- Pass dropout rules from the TT bytecode interpreter to the
- rasterizer.
-
- * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
- FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
-
- * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
- Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
- OpenType specification.
- Fix mode 4 computation.
- (Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
-
- * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
- mode to FT_OUTLINE_XXX flags.
-
- * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
-
-2008-06-19 Werner Lemberg <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init): Compute final
- `dict->units_per_em' value before assigning it to
- `cffface->units_per_EM'. Otherwise, CFFs without subfonts are
- scaled incorrectly if the font matrix is non-standard. This fixes
- Savannah bug #23630.
-
- * docs/CHANGES: Updated.
-
-2008-06-19 Werner Lemberg <[email protected]>
-
- * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
- from 2008-06-19.
-
-2008-06-18 Werner Lemberg <[email protected]>
-
- * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
- Reported by Peter Weilbacher <[email protected]>.
-
- * docs/CHANGES: Updated.
-
-2008-06-15 George Williams <[email protected]>
-
- * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
- `valid->extra2' to 1. This is undocumented in the OpenType 1.5
- specification.
-
-2008-06-15 Werner Lemberg <[email protected]>
-
- * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
- from clobbering. Patch from Savannah bug report #23556.
-
- * docs/CHANGES: Document it.
-
-2008-06-10 Werner Lemberg <[email protected]>
-
- * autogen.sh: Add option `--install' to libtoolize.
-
-2008-06-10 Werner Lemberg <[email protected]>
-
- * Version 2.3.6 released.
- =========================
-
-
- Tag sources with `VER-2-3-6'.
-
- * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
- version number to 2.3.6.
-
- * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
-
- * builds/unix/configure.raw (version_info): Set to 9:17:3.
-
-
- * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
- and `scale_y'.
- * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
-
-
- * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
- * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
-
-2008-06-10 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (open_face): Check `clazz->init_face' and
- `clazz->done_face'.
-
-2008-06-09 VaDiM <[email protected]>
-
- Support debugging on WinCE. From Savannah patch #6536; this fixes
- bug #23497.
-
- * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
- as a replacement for OutputDebugStringA (which WinCE doesn't have).
- Update all callers.
- (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
- environment variables.
-
-2008-06-09 Werner Lemberg <[email protected]>
-
- * README.CVS: Updated.
-
- * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
- for newer versions of autoconf and friends.
-
-2008-06-08 Werner Lemberg <[email protected]>
-
- * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
- `private_len' unsigned.
-
- * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
- it as such.
- (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
-
-
- * src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
-
-
- * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
- for sane value.
- Fix typo.
-
-
- * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
-
-
- * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
- `last_point'.
-
-
- * src/sfnt/ttload.c (tt_face_load_max_profile): Limit
- `maxTwilightPoints'.
-
-2008-06-06 Werner Lemberg <[email protected]>
-
- * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
- correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
-
-2008-06-03 Werner Lemberg <[email protected]>
-
- * include/freetype/ftcache.h (FTC_FaceID): Change type back to
- FT_Pointer. Reported by Ian Britten <[email protected]>.
-
-2008-06-02 Werner Lemberg <[email protected]>
-
- Emit header info for defined FreeType objects in reference.
-
- * src/tools/docmaker/content.py (re_header_macro): New regexp.
- (ContentProcessor::__init__): Initialize new dictionary `headers'.
- (DocBlock::__init__): Collect macro header definitions.
-
- * src/tools/docmaker/tohtml.py (header_location_header,
- header_location_footer): New strings.
- (HtmlFormatter::__init__): Pass `headers' dictionary.
- (HtmlFormatter::print_html_field): Don't emit paragraph tags.
- (HtmlFormatter::print_html_field_list): Emit empty paragraph.
- (HtmlFormatter::block_enter): Emit header info.
-
-2008-06-01 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
- FT_INCREMENTAL_H): Added.
-
-2008-05-28 Werner Lemberg <[email protected]>
-
- * src/tools/docmaker/sources.py (SourceBlock::__init__): While
- looking for markup tags, return immediately as soon a single one is
- found.
-
-2008-05-28 Werner Lemberg <[email protected]>
-
- * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
- original, unscaled input values. Confirmed by Greg Hitchcock from
- Microsoft.
-
-2008-05-27 Werner Lemberg <[email protected]>
-
- * src/tools/docmaker/tohtml.py (block_footer_start,
- block_footer_middle): Beautify output.
-
-2008-05-25 Werner Lemberg <[email protected]>
-
- * src/raster/ftraster.c (fc_black_render): Return 0 when we are
- trying to render into a zero-width/height bitmap, not an error code.
-
- * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
- of the graphics state for subglyphs to...
- (TT_Hint_Glyph): This function.
- Hinting instructions for a composite glyph apparently refer to the
- just hinted subglyphs, not the unhinted, unscaled outline. This
- seems to fix Savannah bugs #20973 and (at least partially) #23310.
-
-2008-05-20 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
- `aface' is returned by FT_New_Face_From_FOND(). The patch was
- proposed by an anonymous reporter of Savannah bug #23204.
-
-2008-05-18 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
- correction for pixel boundary. Without this patch, the effect can
- be cumulative under certain circumstances, making glyphs taller and
- taller after each call. This fixes Savannah bug #19976.
-
-2008-05-18 Werner Lemberg <[email protected]>
-
- * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
- This fixes Savannah bug #23280.
-
- * docs/CHANGES: Updated.
-
-2008-05-18 David Turner <[email protected]>
-
- * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
- ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
- ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
- declarations non-global.
-
- * src/type1/t1load.c: Add missing comment.
-
-2008-05-17 Sam Hocevar <samh>
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
- glyphs correctly. Patch from Savannah bug #23277.
-
-2008-05-16 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2008-05-16 Sergey Tolstov <[email protected]>
-
- Improve support for WGL4 encoded fonts.
-
- * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
- (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
- ft_wgl_extra_glyph_name_offsets): New arrays.
- (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
- (ps_unicodes_init): Use them to add additional Unicode mappings.
-
-2008-05-15 Werner Lemberg <[email protected]>
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
- <op_closepath>: `closepath' without a path is a no-op, not an error
- (cf. the PS reference manual).
-
- Reported by Martin McBride.
-
-2008-05-15 Werner Lemberg <[email protected]>
-
- * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
-
-2008-05-15 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
- which contains a single but empty entry. This is technically
- invalid (since it must end with `return'), but...
-
- Reported by Martin McBride.
-
-2008-05-14 Werner Lemberg <[email protected]>
-
- Finish fix of scaling bug of CID-keyed CFF subfonts.
-
- * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
- (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
- functions.
-
- * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
- provide global hinting data for both the top-font and all subfonts
- (with proper scaling).
-
- * src/cff/cffobjs.c (cff_make_private_dict): New function, using
- code from `cff_size_init'.
- (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
- Use CFF_Internal and handle subfonts.
- (cff_face_init): Handle top-dict and subfont matrices correctly;
- apply some heuristic in case of unlikely matrix concatenation
- results. This has been discussed with people from Adobe (thanks
- goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
- and not correct.
-
- * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
-
- * src/cff/cffgload.c (cff_builder_init): Updated.
- (cff_decoder_prepare): Handle hints globals for subfonts.
- Update all callers.
- (cff_slot_load): Handling scaling of subfonts properly.
-
- * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
- (cff_parse_font_matrix): Use it.
-
- * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
- FT_ULong.
-
- * docs/CHANGES: Document it.
-
-2008-05-13 Werner Lemberg <[email protected]>
-
- * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
- Handle case `face_index < 0'.
- * docs/CHANGES: Document it.
-
-2008-05-04 Werner Lemberg <[email protected]>
-
- First steps to fix the scaling bug of CID-keyed CFF subfonts,
- reported by Ding Li on 2008/03/28 on freetype-devel.
-
- * src/base/cff/cffparse.c (power_tens): New array.
- (cff_parse_real): Rewritten to introduce a fourth parameter which
- returns the `scaling' of the real number so that we have no
- precision loss. This is not used yet.
- Update all callers.
- (cff_parse_fixed_thousand): Replace with...
- (cff_parse_fixed_scaled): This function. Update all callers.
-
-2008-05-03 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
- transformation since it recursively calls FT_Load_Glyph. This fixes
- Savannah bug #23143.
-
-2008-04-26 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
- and `scale_y' as obsolete since they aren't used.
- * src/psaux/psobjs.c (t1_builder_init): Updated.
-
- * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
- obsolete since they aren't used.
- * src/cff/cffgload.c (cff_builder_init): Updated.
-
-2008-04-14 Werner Lemberg <[email protected]>
-
- * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
- `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
- bug #22909.
-
-2008-04-13 Werner Lemberg <[email protected]>
-
- * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
- integer part is zero.
-
-2008-04-01 Werner Lemberg <[email protected]>
-
- Fix compilation with g++ 4.1 (with both `single' and `multi'
- targets).
-
- * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
- which is crossed by a `goto'.
-
- * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
-
-2008-03-31 Werner Lemberg <[email protected]>
-
- Fix support for subsetted CID-keyed CFFs.
-
- * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
- FT_IS_CID_KEYED): New macros.
-
- * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
- maximum CID value in CID-keyed CFFs.
- Handle FT_FACE_FLAG_CID_KEYED flag.
-
- * docs/CHANGES: Document it.
-
-
- Fix CFF font matrix calculation and improve precision.
-
- * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
- part is zero.
- (cff_parse_font_matrix): Simplify computation of `units_per_em';
- this prevents overflow also.
-
-
- Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
-
- * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
- (cid_get_ros): New function.
- (cid_service_cid_info): New service structure.
- (cid_services): Register it.
-
-2008-03-23 Werner Lemberg <[email protected]>
-
- Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
-
- * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
- (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
-
-2008-03-21 Laurence Darby <ldarby>
-
- * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
- Savannah bug #22675.
-
-2008-03-13 Derek Clegg <[email protected]>
-
- * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
- Patch from Savannah bug #22541.
-
-2008-03-03 Masatoshi Kimura <[email protected]>
-
- * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
- tt_cmap14_find_variant): Return correct value.
- (tt_cmap14_variant_chars): Fix check for `di'.
-
-2008-02-29 Wermer Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2008-02-29 Wolf
-
- Add build support for symbian platform. From Savannah bug #22440.
-
- * builds/symbian/*: New files.
-
-2008-02-21 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
- synthesis. For any face of a specified FOND, always the name for
- the first face was used. Except of a FOND that refers multiple
- Type1 font files, wrong synthesized font names are not used at all,
- so this is an invisible bug. A few limit checks are added too.
-
- * builds/mac/ftmac.c: Ditto.
-
-2008-02-21 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.raw: Split compiler option to link Carbon
- frameworks to one option for CoreServices framework and another
- option for ApplicationServices framework. The split options can be
- managed by GNU libtool to avoid unrequired duplication when FreeType
- is linked with other applications. Suggested by Daniel Macks,
- Savannah bug #22366.
-
-2008-02-18 Victor Stinner <[email protected]>
-
- * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
- from Savannah bug #22356.
-
-2008-02-17 Jonathan Blow <[email protected]>
-
- * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
- Check for valid callback pointers.
-
-2008-02-15 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
- handle by its value instead of ResError(), fix provided by Deron
- Kazmaier. According to the Resource Manager Reference,
- GetResource(), Get1Resource(), GetNamedResource(),
- Get1NamedResource() and RGetResource() set noErr but return NULL
- handle when they can not find the requested resource. These
- functions never return undefined values, so it is sufficient to
- check if the handle is not NULL.
-
- * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
-
-2008-02-14 suzuki toshiya <[email protected]>
-
- * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
- inclusion styles. Now it always includes src/base/ftmac.c;
- builds/mac/ftmac.c is never included in any configuration.
-
- * builds/unix/configure.raw: Print warning if configure is executed
- with options to specify Carbon functionalities explicitly.
-
- * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
- included automatically and manual replacement is required.
-
-2008-02-11 Werner Lemberg <[email protected]>
-
- * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
- (dos_setup), builds/freetype.mk (clean_project_dos,
- distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
- Murdoch.
-
-2008-01-18 Sylvain Pasche <[email protected]>
-
- * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
- mention intra-pixel algorithm.
-
- * include/freetype/freetype.h (FT_Render_Mode): Mention that
- FT_Library_SetLcdFilter can be used to reduce fringes.
-
-2008-01-16 Werner Lemberg <[email protected]>
-
- * src/raster/ftraster.c (ft_black_render): Check `outline' before
- using it. Reported by Allan Yang.
-
-2008-01-12 Werner Lemberg <[email protected]>
-
- * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
-
-2008-01-12 Allan Yang, Jian Hua - SH <[email protected]>
-
- * src/raster/ftraster.c (ft_black_init)
- [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
-
-2008-01-10 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
- where the number of contours in a simple glyph is zero (and which
- does contain an entry in the `glyf' table). This fixes Savannah bug
- #21990.
-
-2008-01-04 suzuki toshiya <[email protected]>
-
- Formatting suggested by Sean McBride.
-
- * builds/mac/ftmac.c: Formatting (tab expanded).
- * src/autofit/afindic.c: Ditto.
- * src/base/ftcid.c: Ditto.
- * src/base/ftmac.c: Ditto.
-
-2007-12-30 Werner Lemberg <[email protected]>
-
- * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
- correctly.
-
-2007-12-21 suzuki toshiya <[email protected]>
-
- Improvement of POSIX resource-fork accessor to load unsorted
- references in a resource. In HelveLTMM (resource-fork PostScript
- Type1 font bundled with Mac OS X since 10.3.x), the appearance order
- of PFB chunks is not sorted; sorting the chunks by reference IDs is
- required.
-
- * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
- type to store a pair of reference ID and offset to the chunk.
-
- * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
- sort FT_RFork_Ref by their reference IDs.
-
- (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
- sorted by reference ID.
-
-2007-12-14 Werner Lemberg <[email protected]>
-
- * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
- division too early; otherwise the most significant digit(s) of the
- final result are lost as the value is truncated to an integer. This
- fixes Savannah bug #21794 (where the patch has been posted too).
-
-2007-12-06 Fix <[email protected]>
-
- Pass options from one configure script to another as-is (not
- expanded). This is needed for options like
- --includedir='${prefix}/include'.
-
- * builds/unix/detect.mk, configure: Prevent argument expansion in
- call to the (real) `configure' script.
-
-2007-12-06 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
- TT_USE_BYTECODE_INTERPRETER isn't defined.
-
-2007-12-06 Werner Lemberg <[email protected]>
-
- There exist CFFs which contain opcodes for the Type 1 operators
- `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
- However, it doesn't harm to support them.
-
- * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
- `cff_op_closepath.'
- (cff_argument_counts): Ditto.
-
- (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
- and 13 (hsbw) which are invalid in Type 2 charstrings.
-
-2007-12-06 suzuki toshiya <[email protected]>
-
- * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
- support new pathname syntax `..namedfork/rsrc' to access a resource
- fork on Mac OS X. The legacy syntax `/rsrc' does not work on
- case-sensitive HFS+.
- (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
- buffer size to store a pathname.
- * include/freetype/internal/ftrfork.h: Increment the number of
- resource fork guessing rule.
-
-2007-12-06 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.raw: Improve the compile tests to search
- Carbon functions.
- * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
- proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
-
-2007-12-06 suzuki toshiya <[email protected]>
-
- The documents and comments for Mac OS X are improved by Sean
- McBride.
-
- * src/base/ftmac.c: Fix a comment.
- * include/freetype/ftmac.h: Ditto.
- * docs/INSTALL.MAC: Improve English and add comment on lowest
- system version specified by MACOSX_DEPLOYMENT_TARGET.
-
-2007-12-04 Werner Lemberg <[email protected]>
-
- * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
- concatenate error codes.
- * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
-
-2007-12-04 Graham Asher <[email protected]>
-
- * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
- concatenate error codes.
-
-2007-12-04 Sean McBride <[email protected]>
-
- * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
- warning.
-
-2007-11-20 suzuki toshiya <[email protected]>
-
- Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
- not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
- cannot mmap() the specified file and cannot seek to head of the
- specified file, it returns NULL stream and FT_Open_New() returns the
- error immediately. On MacOS, most legacy MacOS fonts fall into such
- a scenario because their data forks are zero-sized and cannot be
- sought. To proceed to guessing of resource fork fonts, the
- functions for legacy MacOS font must properly handle the NULL stream
- returned by FT_New_Stream().
-
- * src/base/ftobjs.c (IsMacBinary): Return error
- FT_Err_Invalid_Stream_Operation immediately when NULL stream is
- passed.
- (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
- to fallback. Originally, legacy MacOS font is tested in the cases
- of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
- or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
- .dfont header is combined). Now the case of
- FT_Err_Cannot_Open_Stream is included.
-
- * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
- skip FT_Stream_Seek(), which seeks to the head of stream, and
- proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
- for a NULL stream causes a Bus error on Mac OS X.
- (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
- immediately if passed stream is NULL.
- (raccess_guess_apple_single): Ditto.
-
-2007-11-16 suzuki toshiya <[email protected]>
-
- Fix for Carbon incompatibilities since Mac OS X 10.5,
- proposed by Sean McBride.
-
- * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
-
- * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
- FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
- Carbon functions from a forked process is classified as unsafe
- by Apple. All Carbon-dependent functions should be deprecated.
-
- * src/base/ftmac.c: Use essential header files
- <CoreServices/CoreServices.h> and
- <ApplicationServices/ApplicationServices.h> instead of
- all-in-one header file <Carbon/Carbon.h>.
-
- Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
- genuine macro PATH_MAX.
-
- Add fallback macro for kATSOptionFlagsUnRestrictedScope which
- is not found in Mac OS X 10.0.
-
- Multi-character constants ('POST', 'sfnt' etc) are replaced by
- 64bit constants calculated by FT_MAKE_TAG() macro.
-
- For the index in the segment of resource fork, new portable
- type ResourceIndex is introduced for better compatibility.
- This type is since Mac OS X 10.5, so it is defined as short
- when built on older platforms.
-
- (FT_ATSFontGetFileReference): If build target is only the systems
- 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
-
- (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
- and newer or 64bit platform, because legacy type FSSpec type is
- removed completely.
-
- (FT_New_Face_From_FSSpec): Ditto.
-
-2007-11-01 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
- fixes Savannah bug #21485.
-
-2007-10-29 Daniel Svoboda <dasvo@planeta@cz>
-
- * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
- can handle the font at all, then check `face_index'. Otherwise, the
- driver might return the wrong error code. This fixes Savannah bug
- #21468.
-
-2007-10-21 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
- support for bit 8 of the `fsSelection' field in the `OS/2' table.
- MS is already using this; hopefully, this becomes part of OpenType
- 1.5.
- Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
- (WWS_SUBFAMILY).
-
-2007-10-20 Werner Lemberg <[email protected]>
-
- * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
- Add `td.left' element to CSS.
- (toc_section_enter): Use it.
-
-2007-10-18 David Turner <[email protected]>
-
- * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
- functions related to cmap type 14 support to the
- `FT_Object_ActionName' scheme:
-
- FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
- FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
- FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
- FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
- FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
-
- Update documentation accordingly.
-
- * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
- Make the code a little more consistent with FreeType coding
- conventions and modify the cmap14 functions that returned a newly
- allocated array to use a persistent vector from the TT_CMap14 object
- instead.
-
- (TT_CMap14Rec): Provide array and auxiliary data for result.
- (tt_cmap14_done, tt_cmap14_ensure): New functions.
-
- (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
- tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
- tt_cmap14_char_var_index, tt_cmap14_variants,
- tt_cmap14_char_variants, tt_cmap14_def_char_count,
- tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
- tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
-
-2007-10-15 George Williams <[email protected]>
-
- Add support for cmap type 14.
-
- * devel/ftoption.h, include/freetype/config/ftoption.h
- (TT_CONFIG_CMAP_FORMAT_14): New macro.
-
- * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
- FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
- FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
- support function prototypes.
- (FT_CMap_ClassRec): Add them.
- Update all users.
-
- * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
- macro.
-
- * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
- FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
- FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
- functions.
-
- * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
- function.
- (FT_Set_Charmap): Disallow cmaps of type 14.
- (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
- FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
- FT_Get_Chars_Of_Variant): New API functions.
-
- * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
-
- (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
- tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
- tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
- tt_cmap14_find_variant, tt_cmap14_char_var_index,
- tt_cmap14_char_var_isdefault, tt_cmap14_variants,
- tt_cmap14_char_variants, tt_cmap14_def_char_count,
- tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
- tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
- structures for cmap 14 support.
- (tt_cmap_classes): Register tt_cmap14_class_rec.
- (tt_face_build_cmaps): One more error message.
-
- * docs/CHANGES: Mention cmap 14 support.
-
-2007-10-01 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
- charmap fails, do the loop again while searching a UCS-2 charmap.
- This favours MS charmaps over Apple ones.
-
-2007-08-29 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c: Introduction of abstract `short' data types,
- ResFileRefNum and ResID. These types were introduced for Copland,
- then backported to MPW. The variables exchanged with FileManager
- QuickDraw frameworks are redefined by these data types. Patch was
- proposed by Sean McBride.
- * builds/mac/ftmac.c: Ditto.
-
-2007-08-18 Werner Lemberg <[email protected]>
-
- * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
- by Imran Yousaf. Fixes Savannah bug #20773.
-
- (otv_Lookup_validate): Correct handling of LookupType. Found by
- Imran Yousaf. Fixes Savannah bug #20782.
-
-2007-08-17 George Williams <[email protected]>
-
- * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
- SingleSubstFormat1.
-
-2007-08-11 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
- ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
- Found by Ryan Hill.
-
-2007-08-11 George Williams <[email protected]>
-
- * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
- (otv_Coverage_validate): Add fourth argument to pass an expected
- count value. Update all users.
- Check glyph IDs.
- (otv_ClassDef_validate): Check `StartGlyph'.
-
- * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
- checks.
-
- * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
- 56 constants.
- (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
- Check glyph IDs.
-
-2007-08-08 Werner Lemberg <[email protected]>
-
- * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
- src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
- src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
- appropriate. Reported by George.
-
- * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
-
- * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
-
- * docs/CHANGES: Updated.
-
-2007-08-08 George Williams <[email protected]>
-
- Add `MATH' validating support to otvalid module.
-
- * include/freetype/tttags.h (TTAG_MATH): New macro.
- * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
- (FT_VALIDATE_OT): Updated.
-
- * src/otvalid/otmath.c: New file.
-
- * src/otvalid/otvalid.c: Include otvmath.c.
- * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
-
-2007-08-04 Werner Lemberg <[email protected]>
-
- * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
- Fixes Savannah bug #20686.
-
-2007-08-03 Werner Lemberg <[email protected]>
-
- * src/psnames/psmodule.c: Fix usage of
- FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
-
-2007-07-31 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c (open_face_from_buffer): The argument
- `driver_name' is typed as `const char*' to match with the
- callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
- This is same with open_face_from_buffer in src/base/ftobjs.c.
- Found and fixed by Sean McBride.
-
-2007-07-28 Werner Lemberg <[email protected]>
-
- * src/raster/ftraster.c (count_table): Make it conditional.
- * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
- a preprocessor statement.
-
-2007-07-27 Werner Lemberg <[email protected]>
-
- * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
- first usage. From Savannah patch #6115.
-
-2007-07-16 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2007-07-16 Derek Clegg <[email protected]>
-
- Add new service for getting the ROS from a CID font.
-
- * include/freetype/config/ftheader.h (FT_CID_H): New macro.
- * include/freetype/ftcid.h: New file.
-
- * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
- * include/freetype/internal/services/svcid.h: New file.
-
- * src/base/ftcid.c: New file.
-
- * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
- (cff_get_ros): New function.
- (cff_service_cid_info): New service structure.
- (cff_services): Register it.
-
- * src/cff/cffload.c (cff_font_done): Free registry and ordering.
-
- * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
-
- * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
-
-2007-07-11 Derek Clegg <[email protected]>
-
- Add support for postscript name service to CFF driver.
-
- * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
- (cff_get_ps_name): New function.
- (cff_service_ps_name): New service structure.
- (cff_services): Register it.
-
-2007-07-07 Werner Lemberg <[email protected]>
-
- * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
- `target'. Reported by Sean McBride.
-
-2007-07-06 Werner Lemberg <[email protected]>
-
- * src/pfr/pfrcmap.c: Include pfrerror.h.
-
- * src/autofit/afindic.c: Add some external declarations to pacify
- `make multi' compilation.
-
- * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
-
- * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
- (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
- src/autofit/aflatin.c (af_latin_hints_compute_edges),
- src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
- (tt_face_get_metrics), src/base/ftobjs.c (open_face)
- [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
-
- * docs/release: Mention test compilation targets.
-
-2007-07-04 Werner Lemberg <[email protected]>
-
- * docs/PROBLEMS: Mention that some PS based fonts can't be
- handled correctly by FreeType.
-
- * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
- recursion depth of 1. This was the maximum value in TrueType 1.0,
- and some older fonts don't set this field correctly.
-
- * src/gxvalid/gxvmort1.c
- (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
-
-2007-07-03 Werner Lemberg <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
- `round' to pacify compiler.
-
-2007-07-02 Werner Lemberg <[email protected]>
-
-
- * Version 2.3.5 released.
- =========================
-
-
- Tag sources with `VER-2-3-5'.
-
- * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
- version number to 2.3.5.
-
- * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
-
- * builds/unix/configure.raw (version_info): Set to 9:16:3.
-
-2007-07-01 David Turner <[email protected]>
-
- * include/freetype/freetype.h, src/base/ftpatent.c
- (FT_Face_SetUnpatentedHinting): New function to dynamically change
- the setting after a face is created.
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
- that created distortions in the bytecode interpreter results.
-
-2007-06-30 David Turner <[email protected]>
-
- * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
- initialization.
-
- * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
- infinite loop in the case of degenerate fonts.
-
-2007-06-26 Rahul Bhalerao <[email protected]>
-
- Add autofit module for Indic scripts. This currently just reuses
- the CJK-specific functions.
-
- * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
- macro.
- * devel/ftoption.h: Synchronize with
- include/freetype/config/ftoption.h.
-
- * src/autofit/afindic.c, src/autofit/afindic.h: New files.
-
- * src/autofit/afglobal.c, src/autofit/aftypes.h,
- src/autofit/autofit.c: Updated.
-
- * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
- (AUTOF_DRV_SRC): Updated.
-
-2007-06-23 David Turner <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
- 2007-06-16 that prevented the TrueType module from loading most
- glyphs.
-
-2007-06-20 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
- change.
-
-2007-06-19 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_encoding): Handle one more error.
-
-2007-06-19 Dmitry Timoshkov <[email protected]>
-
- * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
- FNT_Err_Invalid_File_Format if file format was recognized but
- the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
- Add verbose debug logs to make it easier to debug failing load
- attempts.
- (FNT_Face_Init): A single FNT font can't contain more than 1 face,
- so return an error if requested face index is > 0.
- Do not do further attempt to load fonts if a previous attempt has
- failed but returned error FNT_Err_Invalid_File_Format, i.e., the
- file format has been recognized but no fonts found in the file.
-
-2007-07-19 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c: Apply patches proposed by Sean McBride.
- (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
- the compiler warnings against unused arguments.
- (FT_ATSFontGetFileReference): Ditto.
- (FT_GetFile_From_Mac_ATS_Name): Ditto.
- (FT_New_Face_From_FSSpec): Ditto.
- (lookup_lwfn_by_fond): Fix wrong comment.
- Replace `const StringPtr' by more appropriate type
- `ConstStr255Param'.
- FSRefMakePathPath always returns UTF8 POSIX pathname in
- Mach-O, thus HFS pathname support is dropped.
- (count_faces): Remove HLock and HUnlock which is not
- required on Mac OS X anymore.
- (FT_New_Face_From_SFNT): Ditto.
- (FT_New_Face_From_FOND): Ditto.
- * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
- except of HFS pathname support and HLock/HUnlock.
- They are required on classic CFM environment.
-
-2007-06-18 Werner Lemberg <[email protected]>
-
- * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
- assertion.
- (ps_parser_to_bytes): Fix error message.
-
- * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
- * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
- Don't allow mixed binary and hex strings.
- Handle string_size == 0 and string_buf == 0.
- (t42_parse_encoding): Handle one more error.
-
-2007-06-18 Werner Lemberg <[email protected]>
-
- * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
- logic.
- (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
- correctly.
- (ps_parser_load_field_table): Use `fields->array_max' instead of
- T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
-
- * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
- 2007-06-06.
-
-2007-06-17 Werner Lemberg <[email protected]>
-
- * src/tools/ftrandom.c (font_size): New global variable.
- (TestFace): Use it.
- (main): Handle new option `--size' to set `font_size'.
- (Usage): Updated.
-
- * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
- invalid font.
- (FNT_Load_Glyph): Protect against invalid bitmap width.
-
-2007-06-16 David Turner <[email protected]>
-
- * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
- Prevent integer overflows when rendering very large outlines.
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
- well-formedness of the contours array when loading a glyph.
-
- * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
- and `zp2'.
- (Ins_IP): Check argument ranges to reject bogus operations properly.
- (IUP_WorkerRec): Add `max_points' member.
- (_iup_worker_interpolate): Check argument ranges.
- (Ins_IUP): Ignore empty outlines.
-
-2007-06-16 Dmitry Timoshkov <[email protected]>
-
- * src/winfonts/winfnt.h: Add necessary structures for PE resource
- parsing.
- (WinPE32_HeaderRec): New structure.
- (WinPE32_SectionRec): New structure.
- (WinPE_RsrcDirRec): New structure.
- (WinPE_RsrcDirEntryRec): New structure.
- (WinPE_RsrcDataEntryRec): New structure.
- (FNT_FontRec): Remove unused `size_shift' field.
-
- * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
- loading bitmap .fon files in PE format.
-
-2007-06-15 Dmitry Timoshkov <[email protected]>
-
- * builds/win32/ftdebug.c: Unify debug level handling with other
- platforms.
-
-2007-06-14 Dmitry Timoshkov <[email protected]>
-
- * builds/win32/ftdebug.c (FT_Message): Send debug output to the
- console as well as to the debugger.
-
-2007-06-14 Werner Lemberg <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
- cover all ranges which could possibly be handled by the aflatin
- module (since the default fallback for unknown ranges is now the
- afcjk module). It might be necessary to fine-tune this further by
- splitting off modules for Greek, Cyrillic, or other blocks.
-
-2007-06-11 David Turner <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
- incorrect segment linking computation. This was the root cause of
- Savannah bug #19565.
-
-
- * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
- to improve the Latin auto-hinter. Note that the new code is
- disabled by default since it is not stabilized yet.
-
- * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
- (disabled currently).
-
- * src/autofit/afhints.c: Remove dead code.
- (af_axis_hints_new_edge): Add argument to handle segment directions.
- (af_edge_flags_to_string): New function.
- (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
- option flags.
- (af_glyph_hints_reload): Add argument to handle inflections.
- Simplify.
- (af_direction_compute): Fine tuning.
- (af_glyph_hints_align_edge_points): Fix logic.
- (af_glyph_hints_align_strong_points): Do linear search for small
- edge counts.
- (af_glyph_hints_align_weak_points): Skip any touched neighbors.
- (af_iup_shift): Handle zero `delta'.
-
- * src/autofit/afhints.h: Updated.
- (AF_SORT_SEGMENTS): New macro (disabled).
- (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
-
- * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
- argument to pass option flags for handling scripts.
- * src/autofit/afglobal.h: Updated.
-
- * src/autofit/afcjk.c: Updated.
- * src/autofit/aflatin.c: Updated.
- (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
-
- (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
- (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
- Don't set `edge->dir'
- (af_latin_hint_edges): Add more logging.
-
- * src/autofit/afloader.c: Updated.
-
-2007-06-11 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
-
-2007-06-10 David Turner <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
- the TrueType glyph loader.
-
- * include/freetype/config/ftoption.h: Clarify documentation
- regarding unpatented hinting.
-
-
- Add new `FT_Face_CheckTrueTypePatents' API.
-
- * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
- declaration.
-
- * include/freetype/internal/services/svttglyf.h,
- src/base/ftpatent.c: New files.
-
- * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
- New macro.
-
- * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
- `ttpload.h'.
- (tt_service_truetype_glyf): New service structure.
- (tt_services): Register it.
-
- * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
- `ftpatent.c'.
-
-2007-06-08 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
- Fonts without a cmap must be handled correctly by FreeType (anything
- else would be a bug).
-
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
- [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
-
-2007-06-07 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
- tt_sbit_decoder_load_image): Protect against integer overflows.
-
-
- * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
- for `x_control' and `y_control'.
-
-2007-06-06 Werner Lemberg <[email protected]>
-
- * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
-
-
- * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
- FreeType error.
-
-
- * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
- `font_count'.
-
-
- * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
-
-
- * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
- `FT_Error'.
- Check `fd_index'.
- (cff_slot_load): Updated.
- * src/cff/cffgload.h: Updated.
-
-2007-06-05 Werner Lemberg <[email protected]>
-
- * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
- (pfr_glyph_load_simple): Convert assertion into normal FreeType
- error.
- Check `idx'.
- (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
- Convert assertion into normal FreeType error.
-
- * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
-
-
- * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
-
-
- * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
- in case of parsing error.
- (ps_parser_load_field): Updated.
-
- * src/type1/t1load.c (parse_font_matrix): Updated.
-
-2007-06-04 Werner Lemberg <[email protected]>
-
- * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
-
- * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
-
-2007-06-03 Werner Lemberg <[email protected]>
-
- * src/tools/ftrandom/*: Add the `ftrandom' test program written by
- George Williams (with some modifications).
-
-2007-06-03 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
- (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
- face == NULL. Suggested by Graham Asher.
-
-2007-06-03 Ismail Dönmez <[email protected]>
-
- * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
-
-2007-06-02 Werner Lemberg <[email protected]>
-
- * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
- FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
-
- * src/bdf/bdflib.c (bdf_load_font): Use them.
-
- * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
-
-2007-06-01 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
- (FTC_CMapCache_Lookup): Remove unused code.
-
-2007-06-01 Sean McBride <[email protected]>
-
- * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
- unused.
-
-2007-06-01 Werner Lemberg <[email protected]>
-
- * src/cid/cidparse.c (cid_parser_new): Don't continue second search
- pass for `StartData' if an error has occurred.
- Exit properly if no `StartData' has been seen at all.
-
- * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
- LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
-
-2007-05-30 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
- against too small binary data strings.
-
- * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
-
-2007-05-28 David Turner <[email protected]>
-
- * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
- transformation. This significantly reduces the loading time of CFF
- glyphs.
-
- * docs/CHANGES: Updated.
-
- * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
- hinting script to CJK, since it works well with more scripts than
- latin. Thanks to Rahul Bhalerao <[email protected]> for pointing
- this out!
-
-2007-05-25 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2007-05-24 Werner Lemberg <[email protected]>
-
- * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
- into TT_USE_BYTECODE_INTERPRETER preprocessor block.
-
-2007-05-24 Graham Asher <[email protected]>
-
- * src/truetype/ttobjs.c (tt_size_ready_bytecode)
- [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
-
-2007-05-22 David Turner <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
- avoid crashes in case the bytecode interpreter is not used.
-
-
- Avoid heap blowup with very large .Z font files. This fixes
- Savannah bug #19910.
-
- * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
- `in_limit', `pad', `pad_bits', and `in_buff' members.
- Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
- `buf_total' members.
-
- * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
- only one argument.
- (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
-
-2007-05-20 Ismail Dönmez <[email protected]>
-
- * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
- (ps_dimension_set_mask_bits): Remove `const'.
-
-2007-05-19 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttmtx.c (tt_face_get_metrics)
- [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
-
-2007-05-19 Derek Clegg <[email protected]>
-
- Savannah patch #5929.
-
- * include/freetype/tttables.h, src/base/ftobjcs.c
- (FT_Get_CMap_Format): New function.
-
- * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
- `format' member.
- * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
- cmap_info->format.
-
-2007-05-19 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
- before handling subglyphs so that it can be reinitialized each time.
- This fixes Savannah bug #19859.
-
-2007-05-16 Werner Lemberg <[email protected]>
-
- * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
- src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
- (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
- src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
- tt_face_get_metrics): Fix type-punning issues.
-
-2007-05-15 David Turner <[email protected]>
-
- * include/freetype/config/ftstdlib.h,
- include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
- ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
- instead on relying on the locale-dependent functions provided by
- <ctypes.h>.
-
-2007-05-15 Graham Asher <[email protected]>
-
- * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
- variable.
- * src/autofit/afloader.c (af_loader_load_g): Ditto.
-
- * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
- (open_face_from_buffer): Initialize `stream'.
- (FT_Request_Metrics): Remove unused variable.
- Remove redundant `break' statements.
- (FT_Get_Track_Kerning): Remove unused variable.
-
- * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
- afm_parse_kern_data): Remove redundant
- `break' statements.
- (afm_parser_parse): Ditto.
- Don't use uninitialized variables.
-
- * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
- Use `|' operator instead of `^' to set it.
- Update all users.
-
- * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
- * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
- comparison.
- (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
- (TT_Load_Glyph): Remove unused variable.
-
-2007-05-13 Derek Clegg <[email protected]>
-
- * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
- if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
-
-2007-05-11 David Turner <[email protected]>
-
- * src/cache/ftbasic.c, include/freetype/ftcache.h
- (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
- functions that allow us to look up glyphs using an FTC_Scaler object
- to specify the size, making it possible to use fractional pixel
- sizes.
-
- * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
- `size->cvt_ready'. Reported by Boris Letocha.
-
-2007-05-09 Graham Asher <[email protected]>
-
- * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
- (af_latin_metrics_scale_dim): Fix compiler warnings.
-
-2007-05-06 Werner Lemberg <[email protected]>
-
- * builds/win32/visualce/freetype.sln: Removed, as requested by
- Vincent.
-
-2007-05-04 Vincent RICHOMME <[email protected]>
-
- * builds/win32/visualce/*: Add Visual C++ project files for Pocket
- PC targets.
-
- * docs/CHANGES: Document them.
-
-2007-05-04 <[email protected]>
-
- * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
- mmap (which might happen on some RTOS). From Savannah patch #5909.
-
-2007-05-03 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
- * include/freetype/freetype.h (FT_Set_Char_Size): Update
- documentation.
-
-2007-04-28 Victor Stinner <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
- `cmap'.
-
-2007-04-27 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
- number of points in contours. Problem reported by Victor Stinner
- (TT_Process_Simple_Glyph): Synchronize variable types.
-
-2007-04-26 Werner Lemberg <[email protected]>
-
- * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
- zero in case of error. This fixes Savannah bug #19689.
-
-2007-04-25 Boris Letocha <[email protected]>
-
- * src/truetype/ttobjs.c: Fix a typo that created a speed regression
- in the TrueType bytecode loader.
-
-2007-04-10 Martin Horak <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
- Ignore `hhea' table. This fixes Savannah bug #19261.
-
-2007-04-09 Werner Lemberg <[email protected]>
-
-
- * Version 2.3.4 released.
- =========================
-
-
- Tag sources with `VER-2-3-4'.
-
- * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
- version number to 2.3.4.
-
- * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
-
- * builds/unix/configure.raw (version_info): Set to 9:15:3.
-
-2007-04-09 Martin Horak <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
- memory stream to avoid a crash with the incremental memory
- interface (Savannah bug #19260).
-
-2007-04-06 David Turner <[email protected]>
-
- * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
- (Savannah bug #19536).
-
-2007-04-04 Werner Lemberg <[email protected]>
-
-
- * Version 2.3.3 released.
- =========================
-
-
- Tag sources with `VER-2-3-3'.
-
- * docs/CHANGES: Mention CVE-2007-1351.
-
-2007-04-03 David Turner <[email protected]>
-
- * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
- if one of the resolution values is 0, treat it as if it were the
- same as the other value.
-
-2007-04-02 David Turner <[email protected]>
-
- Add special code to detect `extra-light' fonts and do not snap their
- stem widths too much to avoid bizarre hinting effects.
-
- * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
- `extra_light' members.
-
- * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
- them.
- (af_latin_metrics_scale_dim): Set `extra_light'.
- (af_latin_compute_stem_width): Use `extra_light'.
-
-2007-03-28 David Turner <[email protected]>
-
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
- padding.
-
-2007-03-28 Werner Lemberg <[email protected]>
-
- * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
- gracefully.
- (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
- issue an error for longer names. This fixes CVE-2007-1351.
- (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
- number of code points in Unicode.
-
- * builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
- s/232/233/.
-
- * docs/CHANGES: Mention ftdiff.
-
-2007-03-26 David Turner <[email protected]>
-
- * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
- corresponding code.
- (Ins_MD): Last regression fix.
-
- * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
- computations in order to ignore single-point contours. These are
- never rasterized and correspond in certain fonts to mark-attach
- points that are very far from the glyph's real outline, ruining the
- computation.
-
- * src/autofit/afloader.c (af_loader_load_g): In the case of
- monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
- Otherwise code that uses them will most certainly ruin the fixed
- advance property.
-
- * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
- documentation and bump version number to 2.3.3.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
-
- * builds/unix/configure.raw (version_info): Set to 9:14:3.
-
-2007-03-26 suzuki toshiya <[email protected]>
-
- * builds/unix/ftconfig.in: Disable Carbon framework dependency on
- 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
- * builds/vms/ftconfig.h: Ditto.
- * include/freetype/config/ftconfig.h: Ditto.
-
-2007-03-22 suzuki toshiya <[email protected]>
-
- * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
- 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
- proposed by Sean McBride:
- http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
-
-2007-03-22 suzuki toshiya <[email protected]>
-
- * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
- setjmp, proposed by Sean McBride:
- http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
-
-2007-03-19 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
- conftest.c, to avoid unexpected shell evaluation. Possibly it is a
- bug or undocumented behaviour of autoconf.
-
-2007-03-18 David Turner <[email protected]>
-
- * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
- fix; testing still needed.
-
- * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
-
-2007-03-17 David Turner <[email protected]>
-
- * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
- (undocumented) twilight zone special case.
-
-2007-03-09 Werner Lemberg <[email protected]>
-
-
- * Version 2.3.2 released.
- =========================
-
-
- Tag sources with `VER-2-3-2'.
-
- * builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
- s/231/232/.
-
-2007-03-08 David Turner <[email protected]>
-
- * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
-
- * builds/unix/configure.raw (version_info): Set to 9:13:3.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
-
- * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
-
- * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
- function to work properly, over-writing user-provided buffers in
- some cases. Reported by James Cloos <[email protected]>.
-
-
-2007-03-05 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
- macro for `strstr'.
-
- * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
- `trick_names', as suggested by Ivan Nincic.
-
-2007-03-05 David Turner <[email protected]>
-
- * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
- case FT_Init_FreeType fails for some reason. Problem reported by
- Maximilian Schwerin <[email protected]>.
-
- * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
- and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
- `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
-
- * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
- signed values, not unsigned ones. Problem reported by Johannes
- Walther <[email protected]>.
-
-2007-02-21 David Turner <[email protected]>
-
- * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
- of small and ghost stems in the Postscript interpreter.
-
-2007-02-20 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
- leak, patch by "Jjgod Jiang" <[email protected]>.
- * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
-
-2007-02-16 Werner Lemberg <[email protected]>
-
- * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
- * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
-
-2007-02-14 David Turner <[email protected]>
-
- It seems that the following changes fix most of the known
- interpreter problems with my fonts, but more testing is needed,
- though.
-
- * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
- (TT_MulFix14): Rewrite.
- (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
- (Ins_MIRP): Ditto.
-
-2007-02-12 Werner Lemberg <[email protected]>
-
- * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
- warnings.
-
- * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
- (bdf_interpret_style): Ditto.
-
-2007-02-12 David Turner <[email protected]>
-
- Simplify projection and dual-projection code interface.
-
- * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
- FT_Vector' as argument type.
- * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
- Updated.
- (CUR_fast_project, CUR_fast_dualproj): New macros.
- (Project, Dual_Project, Project_x, Project_y): Updated.
- (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
- macros.
-
-
- * src/autofit/afloader.c (af_loader_load_g): Improve spacing
- adjustments for the non-light auto-hinted modes. Gets rid of
- `inter-letter spacing is too wide' problems.
-
- * src/autofit/aflatin.c (af_latin_hints_link_segments,
- af_latin_hints_compute_edges): Slight optimization of the segment
- linker and better handling of serif segments to get rid of broken
- `9' in Arial at 9pt (96dpi).
-
-
- Introduce new string functions and the corresponding macros to get
- rid of various uses of strcpy and other `evil' functions, as well as
- to simplify a few things.
-
- * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
- ft_mem_strcpyn): New declarations.
- (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
- macros.
- * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
- functions.
-
- * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
- src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
- (pcf_get_properties, pcf_interpret_style, pcf_load_font),
- src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
- (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
- src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
- (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
- t42_get_name_index): Use new functions and simplify code.
-
- * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
-
-2007-02-11 Werner Lemberg <[email protected]>
-
- * src/autofit/afloader.c (af_loader_load_g): Don't change width for
- non-spacing glyphs.
-
-2007-02-07 Tom Parker <[email protected]>
-
- * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
- pointer.
-
-2007-02-05 suzuki toshiya <[email protected]>
-
- * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
- Introduce __attribute((deprecated))__ to warn functions
- which use non-ANSI data types in its interfaces.
- (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
- (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
- (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
- (FT_New_Face_From_FSRef): Deprecated, using FSRef.
-
- * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
- to avoid warning in building FreeType.
- * builds/mac/ftmac.c: Ditto.
-
-2007-02-05 suzuki toshiya <[email protected]>
-
- * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
- `--with-fsspec' etc. Replace #include "ftmac.c" with
- #include <ftmac.c>.
-
-2007-02-05 suzuki toshiya <[email protected]>
-
- * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
- Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
- * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
- (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
- FT_GetFilePath_From_Mac_ATS_Name.
- * builds/mac/ftmac.c: Ditto.
-
-2007-02-05 suzuki toshiya <[email protected]>
-
- * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
- FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
- for passing to FT_New_Face_From_FSSpec.
-
-2007-02-05 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.raw: Check whether Mac OS X system headers
- can be built under ANSI C mode.
-
- * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
- compatible to ANSI C in case system headers are ANSI C incompatible.
- * builds/mac/ftmac.c (OS_INLINE): Ditto.
-
-2007-02-01 Werner Lemberg <[email protected]>
-
- * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
- Explain why applications shouldn't use it. Found by Alexei.
-
-2007-02-01 Alexei Podtelezhnikov <[email protected]>
-
- * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
- message.
-
- * src/gxvalid/gxvmort1.c
- (gxv_mort_subtable_type1_substTable_validate): Fix debugging
- message.
-
-2007-01-31 Werner Lemberg <[email protected]>
-
-
- * Version 2.3.1 released.
- =========================
-
-
- Tag sources with `VER-2-3-1-FINAL'.
-
- * builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj: s/230/231/.
- * builds/win32/visualc/index.html: s/221/231/.
-
- * vms_make.com: Add `ftgasp'.
-
-2007-01-30 David Turner <[email protected]>
-
- Tag sources with VER-2-3-1 to prepare release.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
- * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
- s/2.3.0/2.3.1/.
-
- * builds/unix/configure.raw (version_info): Set to 9:12:3.
-
-
- * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
- (af_loader_load_g): Disable the warper (i.e., the light hinting
- improvements) to make a 2.3.1 bugfix release before introducing a
- new feature. This should give us more time to tune and improve the
- warper for the next release.
-
- * docs/CHANGES: Update accordingly.
-
-2007-01-25 David Turner <[email protected]>
-
- For light auto-hinting, improve glyph advance widths and resurrect
- normal/full hinting to its normal quality.
-
- * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
- and `xmax_delta'.
- * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
- and `xmax_delta'.
-
- * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
- preprocessor conditional with if-clause, handling both light and
- normal mode.
-
- * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
- (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
-
-2007-01-25 Werner Lemberg <[email protected]>
-
- * docs/release: Updated -- Savannah uses a new uploading scheme.
-
-2007-01-25 David Turner <[email protected]>
-
- * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings)
- <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
- functions.
-
- * docs/CHANGES: Document light auto-hinting improvement.
-
-2007-01-25 Werner Lemberg <[email protected]>
-
- * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
- correctly in a sanity check. Since this function is only used to
- load local and global functions, any charstring that called the last
- local/global function would fail otherwise. This fixes Savannah bug
- #18867.
-
- * docs/CHANGES: Document it.
-
-2007-01-23 David Turner <[email protected]>
-
- * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
- prevented compilation when disabling both the unpatented and the
- bytecode interpreter in the TrueType font driver.
-
-
- Fix and enable the warper to improve `light' hinting mode. This is
- not necessarily a final version, but it seems to work well.
-
- * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
- Disable code.
- (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
- * src/autofit/aftypes.h: Activate AF_USE_WARPER.
-
- * src/autofit/afwarp.c (AF_WarpScore): Tune table.
- (af_warper_compute_line_best): Fix array size of `scores'.
- (af_warper_compute): Better handling of border cases.
- * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
- and `X2'.
-
-2007-01-21 Werner Lemberg <[email protected]>
-
- * ChangeLog: Split off older entries into...
- * ChangeLog.22: This new file.
-
-2007-01-21 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Document SHZ fix.
-
-2007-01-21 George Williams <[email protected]>
-
- * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
- points.
-
-2007-01-21 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttmtx.c (tt_face_get_metrics)
- [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
-
-2007-01-17 Werner Lemberg <[email protected]>
-
-
- * Version 2.3.0 released.
- =========================
-
-
- Tag sources with `VER-2-3-0-FINAL'.
-
-2007-01-17 Werner Lemberg <[email protected]>
-
- * docs/release: Updated.
-
-2007-01-16 David Turner <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_hints_compute_segments),
- src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
- (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
- warnings.
-
-2007-01-15 Detlef Würkner <[email protected]>
-
- * builds/amiga/makefile, builds/amiga/makefile.os4,
- builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
-
- * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
-
-2007-01-14 Detlef Würkner <[email protected]>
-
- Fix various compiler warnings.
-
- * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
- src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
- s/index/strike_index/.
- * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
-
- * src/gxvalid/gxvmorx5.c
- (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
-
- * src/truetype/ttinterp.c (Compute_Point_Displacement),
- src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
- uninitialized variables.
-
-2007-01-13 suzuki toshiya <[email protected]>
-
- * docs/CHANGES, docs/INSTALL.MAC: Improvements.
-
-2007-01-13 Werner Lemberg <[email protected]>
-
- * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
- versions up to 0x3FF without complaining.
-
-2007-01-13 Derek Clegg <[email protected]>
-
- Add FT_Get_PS_Font_Info interface to CFF driver.
-
- * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
- (CFF_FontRec): Add `font_info' field.
-
- * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
- (cff_font_done): Free font->font_info if necessary.
-
- * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
- (cff_service_ps_info): Register cff_ps_get_font_info.
-
-2007-01-13 Werner Lemberg <[email protected]>
-
- * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
- with C++ compiler.
-
- * src/autofit/afhints.c (af_glyph_hints_dump_segments,
- af_glyph_hints_dump_edges): Ditto.
-
- * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
- `modules.cfg').
-
- * src/sfnt/ttsbit0.h: Remove.
-
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
-
-2007-01-12 David Turner <[email protected]>
-
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
- bug in the bitmap emboldener if the pitch of the source bitmap is
- much larger than its width.
-
- * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
- compilation warning.
-
-2007-01-12 Werner Lemberg <[email protected]>
-
- * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
- `automake' CVS module from sources.redhat.com.
-
-2007-01-11 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (is_space): Removed.
- (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
- (parse_charstrings): Use IS_PS_TOKEN.
-
-
- * autogen.sh: Avoid bash specific syntax.
-
-2007-01-11 David Turner <[email protected]>
-
- * docs/CHANGES: Small update.
-
- * builds/unix/configure.raw (version_info): Set to 9:11:3.
-
- * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
- crash with some Mac OS X .dfont files. Submitted by Masatake
- Yamato.
-
- * autogen.sh: Small fix to get it working on Mac OS X properly:
- The issue is that GNU libtool is called `glibtool' on this platform,
- and we must call `glibtoolize', since `libtoolize' doesn't exist.
-
-2007-01-10 David Turner <[email protected]>
-
- * all-sources: Tag all sources with VER-2-3-0-RC1 and
- VER-2-3-0.
-
- * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
- version number to 2.3.0.
-
- * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
- (FREETYPE_PATCH): Set to 0.
-
- * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
- include/freetype/ftlcdfil.h: Update reference documentation with
- GASP support and LCD filtering sections.
-
- * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
- which created an endless loop with some malformed font files.
-
-2007-01-10 Derek Clegg <[email protected]>
-
- * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
- values.
-
-2007-01-08 David Turner <[email protected]>
-
- * docs/CHANGES: Updated.
-
- * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
- a new API `FT_Get_Gasp' to return entries of the `gasp' table
- corresponding to a given character pixel size.
-
- * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
- `gasp' table, in order to avoid potential problems with later
- versions.
-
- * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
- <freetype/ftgasp.h>.
-
- * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
- modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
- default build.
-
-2007-01-07 Werner Lemberg <[email protected]>
-
- * src/cid/cidparse.c (cid_parser_new): Improve error message for
- Type 11 fonts.
- Scan for `/sfnts' token.
-
-2007-01-07 Werner Lemberg <[email protected]>
-
- * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
-
-2007-01-06 Werner Lemberg <[email protected]>
-
- * src/cff/cffload.c (cff_index_init): Remove unused variable.
- (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
-
-2007-01-04 David Turner <[email protected]>
-
- * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
- correctly. This fixes Savannah bug #17876.
-
-
- Do not allocate interpreter-specific tables in memory if we are not
- going to load glyphs with the bytecode interpreter anyway.
-
- * src/truetype/ttgload.c (tt_loader_init): Load execution context
- only if glyph is hinted.
- Updated.
- * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
- and `cvs_ready'.
- Add `tt_size_ready_bytecode' declaration.
- * src/truetype/ttobjs.c (tt_size_done_bytecode,
- tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
- (tt_size_init): Move most code into `tt_size_init_bytecode'.
- (tt_size_done): Move most code into `tt_size_done_bytecode'.
- (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
-
-
- Don't extract the metrics table from the SFNT font file. Instead,
- reparse it on each glyph load. The runtime difference is not
- noticeable, and it can save a lot of heap memory when memory-mapped
- files are not used.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
- `horz_metrics_offset' and `vert_metrics_ofset'.
- * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
- Updated.
-
-
- * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
-
-
- Do not load the CFF index offsets into memory, since this wastes a
- *lot* of heap memory with large Asian CFF fonts. There is no
- significant performance loss.
-
- * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
- * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
- `data_size'.
- (CFF_CharsetRec): Add field `num_glyphs'.
-
- * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
- cff_charset_cid_to_gindex): New functions.
- (cff_new_index): Renamed to...
- (cff_index_init): This. Update all callers.
- Updated -- some code has been moved to `cff_index_load_offsets'.
- (cff_done_index): Renamed to...
- (cff_index_done): This. Update all callers.
- (cff_index_get_pointers, cff_index_access_element): Updated to use
- stream offsets.
- (cff_charset_compute_cids): Set `num_glyphs' field.
- (cff_encoding_load): Updated.
-
- * src/cff/cffgload.c (cff_slot_load): Updated.
-
-2007-01-04 David Turner <[email protected]>
-
- * docs/INSTALL.UNIX: Simplify some parts, add reference to
- autogen.sh and pointer to README.CVS.
-
- * README.CVS: Add common problem description and solution
- when running autogen.sh.
-
- * docs/INSTALL: Add reference to MacOS X.
-
- * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
-
- * docs/TODO: Remove obsolete items.
-
- * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
- (TWorker): This.
- Remove `count_table' and `memory'.
- Make `grays' a pointer.
- (TRaster): New structure.
- (count_table): New static array.
- (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
- Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
- ft_black_set_mode, ft_black_render): Updated.
- (ft_black_init): Don't initialize `count_table'.
- (ft_black_reset): Use the render pool. This saves about 6KB of
- heap space for each FT_Library instance.
-
- * src/smooth/ftgrays.c (TRaster): Replaced with...
- (TWorker): This.
- Remove `memory'.
- (TRaster): New structure.
-
- (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
- gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
- gray_render_span, gray_raster_render): Updated.
- (gray_raster_reset): Use the render pool. This saves about 6KB of
- heap space for each FT_Library instance.
-
- * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
- src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
- src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
- FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
- the optimization is no longer experimental.
-
- * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
- Remove a typo that results in no hinting and a memory leak with some
- large Asian CFF fonts.
-
- * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
- which happens when FT_Done_Library is called with still opened
- CFF_Faces in it. We need to close all faces before destroying the
- modules, or else some bad things (memory leaks) may happen.
-
-2007-01-02 Werner Lemberg <[email protected]>
-
- * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
- Remove compiler warning.
-
-2007-01-02 David Turner <[email protected]>
-
- * src/sfnt/sfobjs.c: Add documentation comment.
-
-2006-12-31 Masatake YAMATO <[email protected]>
-
- * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
- function.
- Check uniqueness of the gid pairs.
- (gxv_kern_subtable_fmt0_validate): Move some code to
- `gxv_kern_subtable_fmt0_pairs_validate'.
-
-2006-12-22 David Turner <[email protected]>
-
- * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
- warnings.
-
- * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
- to avoid deprecation warnings with Visual C++ 8.
-
-2006-12-16 Anders Kaseorg <[email protected]>
-
- * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
- [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
-
-2006-12-15 suzuki toshiya <[email protected]>
-
- * include/freetype/internal/services/svotval.h: Add `volatile' to
- sync with the modification by Jens Claudius on 2006-08-22; cf.
- http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
-
-2006-12-15 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c: Specialized for Mac OS X only.
- * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
- * builds/unix/configure.raw: Ditto. When explicit switches for
- FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
- builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
-
-2006-12-15 suzuki toshiya <[email protected]>
-
- * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
- * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
- instead of src/base/ftmac.c
- * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
- * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
- * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
- that cannot be built at present.
-
-2006-12-15 suzuki toshiya <[email protected]>
-
- * src/base/ftobjs.c: Improvement of resource fork handler for
- POSIX, cf.
- http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
- (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
- format or .dfont, to simulate the face index number counted by ftmac.c.
- (IsMacResource): Return the number of scalable faces correctly.
-
-2006-12-10 Werner Lemberg <[email protected]>
-
- * builds/toplevel.mk (version): Protect against `distclean' target.
-
-2006-12-09 Werner Lemberg <[email protected]>
-
- * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
- or `type'.
-
- * builds/freetype.mk (version): Extracted from freetype.h, using
- GNU make's built-in string functions.
- (refdoc): Use $(version) instead of static version number.
-
-2006-12-08 Werner Lemberg <[email protected]>
-
- * builds/toplevel.mk (dist): Extract version number from freetype.h.
-
-2006-12-08 Vladimir Volovich <[email protected]>
-
- * src/tools/apinames.c (State): Remove final comma in structure --
- xlc v5 under AIX 4.3 doesn't like this.
-
-2006-12-07 David Turner <[email protected]>
-
- * src/autofit/afloader.c (af_loader_load_g): Small adjustment
- to the spacing of auto-fitted glyphs. This only impacts rare
- cases (e.g., Arial Bold at rather small character sizes).
-
-2006-12-03 Werner Lemberg <[email protected]>
-
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
-
-2006-12-01 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
- encoded in UTF-16BE. Patch from Rajeev Pahuja <[email protected]>.
- (tt_name_entry_ascii_from_ucs4): Removed.
-
-
- * include/freetype/ftxf86.h: Fix and extend comment so that it
- appears in the documentation.
-
- * include/freetype/ftchapters.h: Add `font_format' section.
-
-
- * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
- to TOC in index page.
-
-2006-11-28 David Turner <[email protected]>
-
- * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
- trying to render into a zero-width/height bitmap, not an error code.
-
- * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
-
- * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
- ones instead.
-
- * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
- variable.
-
-2006-11-26 Pierre Hanser <[email protected]>
-
- * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
-
-2006-11-25 David Turner <[email protected]>
-
- * src/autofit/afhints.c (af_glyph_hints_dump_points,
- af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
- Add stubs to link the `ftgrid' test program when debugging is
- disabled in the auto-hinter.
-
-2006-11-23 David Turner <[email protected]>
-
- * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
- src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
-
- * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
- Emit more sensible information.
-
- * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
-
- * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
- rounding of blue values.
- (af_latin_hints_compute_segments): Hint segment heights.
- (af_latin_hints_link_segments): Reduce `len_score' value.
- (af_latin_hints_compute_edges): Increase `segment_length_threshold'
- value and use `height' member for comparisons.
- (af_latin_hint_edges): Extend logging message.
- Improve handling of remaining edges.
-
-2006-11-22 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #15553.
-
- * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
- program after a change from mono to grayscaling (and vice versa).
- Use correct constant for comparison to get `exec->grayscale'.
-
-2006-11-18 Werner Lemberg <[email protected]>
-
- Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
- test for a valid glyph index must be deferred to the font drivers.
- This patch fixes Savannah bug #18301.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
- * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
- (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
- src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
- (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
- src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
- (FNT_Load_Glyph): Check validity of `glyph_index'.
-
-2006-11-13 David Turner <[email protected]>
-
- * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
- `enhancements' are still too buggy for general use.
-
- * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
- FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
- when building the library to change the default LCD filter to be
- used. This is only useful for experimentation.
-
- * include/freetype/ftlcdfil.h: Update documentation.
-
-2006-11-10 David Turner <[email protected]>
-
- * src/smooth/ftsmooth.c: API change for the LCD
- filter. The FT_LcdFilter value is an enumeration describing which
- filter to apply, with new values FT_LCD_FILTER_LIGHT and
- FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
- algorithm which produces strong color fringes for everything
- except very-well hinted text).
-
- * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
- second parameter to an enum type.
-
- * src/base/ftlcdfil.c (USE_LEGACY): Define.
- (_ft_lcd_filter): Rename to...
- (_ft_lcd_filter_fir): This.
- Update parameters.
- (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
- (FT_Library_Set_LcdFilter): Update parameters.
- Handle new filter modes.
-
- * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
- (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
- (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
- callback and update other fields.
-
- * src/smooth/ftsmooth.c (ft_smooth_render_generic)
- [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
- Other minor improvements.
-
- * src/autofit/aflatin.c: Various tiny improvements that drastically
- improve the handling of serif fonts and of LCD/LCD_V hinting modes.
- (af_latin_hints_compute_edges): Fix typo.
- (af_latin_compute_stem_width): Take better care of diagonal stems.
-
-2006-11-09 David Turner <[email protected]>
-
- * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
- typo which created a variable-used-before-initialized bug.
-
-2006-11-07 Zhe Su <[email protected]>
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
- also.
-
-2006-11-03 Werner Lemberg <[email protected]>
-
- * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
-
-2006-11-02 David Turner <[email protected]>
-
- Add a few tweaks to better handle serif fonts.
- Add more debugging messages.
-
- * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
- segments that are less than 1.5 pixels high. This gets rid of
- *many* corner cases with serifs.
- (af_latin_align_linked_edge): Add logging message.
- (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
- Add logging messages.
- Handle AF_EDGE_FLAG flag specially.
-
- * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
- _af_debug_disable_blue_hints, and _af_debug_hints variables.
-
- * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
- Update external declarations.
- (af_corner_orientation, af_corner_is_flat): Replaced by...
-
- * include/freetype/internal/ftcalc.h (ft_corner_orientation,
- ft_corner_is_flat): These declarations.
-
- * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
- Comment out. Replaced by...
-
- * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
- These functions. Update all callers.
- (FT_Add64) [!FT_LONG64]: Simplify.
-
- * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
- (af_direction_compute): Add a missing FT_ABS call. This bug caused
- production of garbage by missing lots of segments.
-
- * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
-
- * src/autofit/afloader.c (af_loader_init, af_loader_done)
- [AF_DEBUG]: Set _af_debug_hints.
-
-
- * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
- (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
- and ft_corner_orientation.
-
-
- * src/gzip/inftrees.c (huft_build): Remove compiler warning.
-
-2006-10-24 Werner Lemberg <[email protected]>
-
- * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
-
- * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
- as argument.
-
-2006-10-23 Zhe Su <[email protected]>
-
- * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
- better deal with broken Asian fonts with strange glyphs, having
- self-intersections and other peculiarities. The used algorithm is
- based on the nonzero winding rule.
-
-2006-10-23 David Turner <[email protected]>
-
- Speed up the CFF font loader. With some large CFF fonts,
- FT_Open_Face is now more than three times faster.
-
- * src/cff/cffload.c (cff_get_offset): Removed.
- (cff_new_index): Inline functionality of `cff_get_offset'.
- (cff_charset_compute_cids, cff_charset_free_cids): New functions.
- (cff_charset_done): Call `cff_charset_free_cids'.
- (cff_charset_load): Call `cff_charset_compute_cids'.
- (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
-
- * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
- with FT_NEXT_XXX.
-
-
- Speed up the Postscript hinter, with more than 100% speed increase
- on my machine.
-
- * src/pshinter/pshalgo.c (psh_corner_is_flat,
- psh_corner_orientation): New functions.
- (psh_glyph_compute_inflections): Merge loops for efficiency.
- Use `psh_corner_orientation'.
- (psh_glyph_init): Use `psh_corner_is_flat'.
- (psh_hint_table_find_strong_point): Renamed to...
- (psh_hint_table_find_strong_points): This.
- Rewrite, adding argument to handle all points at once.
- Update all callers.
- (PSH_MAX_STRONG_INTERNAL): New macro.
- (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
-
-2006-10-15 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
- `error' with FT_Err_Ok.
-
-2006-10-14 suzuki toshiya <[email protected]>
-
- * docs/INSTALL.CROSS: New document file for cross-building.
-
- * builds/unix/configure.raw: Preliminary cross-building support.
- Find native C compiler and pass it by CC_BUILD, and
- find suffix for native executable and pass it by EXEEXT_BUILD.
- Also suffix for target executable is passed by EXEEXT.
-
- * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
- build `apinames' which runs on building system. They are set by
- CC_BUILD and EXEEXT_BUILD.
-
- * builds/exports.mk (APINAMES_EXE): Change the extension for
- apinames from the suffix for target (E) to that for building host
- (E_BUILD).
-
-2006-10-12 Werner Lemberg <[email protected]>
-
- * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
- * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
- which reference those files.
-
-2006-10-12 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
- embedded in freetype2.pc and freetype-config. Use it to record
- Carbon dependency of MacOSX.
-
- * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
-
- * builds/unix/freetype-config.in: Ditto.
-
-2006-10-11 Werner Lemberg <[email protected]>
-
- * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
- development.
-
-2006-10-03 Jens Claudius <[email protected]>
-
- * include/freetype/config/ftstdlib.h: Cast away volatileness from
- argument to ft_setjmp.
-
- * include/freetype/internal/ftvalid.h: Add comment that
- ft_validator_run must not be used.
-
-2006-10-01 Werner Lemberg <[email protected]>
-
- * src/base/ftbase.c: Undo change from 2006-09-30.
-
- * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
-
-2006-09-30 David Turner <[email protected]>
-
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
- s/unpatented_hinting/ignore_unpatented_hinter/.
- Update all callers.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
- auto-hinting shall be used or not.
-
- * src/truetype/ttobjs.c (tt_face_init): Ditto.
-
-2006-09-30 Werner Lemberg <[email protected]>
-
- * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
- in use).
-
- * src/base/ftbase.c: Include `ftlcdfil.c'.
-
-2006-09-29 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
- overlapping segments. Bug reported by Stefan Koch.
-
-2006-09-28 David Turner <[email protected]>
-
- Fix a bug in the automatic unpatented hinting support which prevents
- normal bytecode hinting to work properly.
-
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
- s/force_autohint/unpatented_hinting/. Update all callers.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
-
- * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
-
-2006-09-27 David Turner <[email protected]>
-
- * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
-
-
- Add a new API to support color filtering of subpixel glyph bitmaps.
- In a default build, the function `FT_Library_SetLcdFilter' returns
- `FT_Err_Unimplemented_Feature'; you need to #define
- FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
- real implementation.
-
- * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
-
- * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
- typedef.
- (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
- `lcd_filter_weights' and `lcd_filter'.
-
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
- `hmul' and `vmul'.
-
- Handle subpixel rendering.
- Simplify function.
- (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
- (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
-
- * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
- pointing to <freetype/ftlcdfil.h>.
-
- * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
- vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
-
- * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
-
-2006-09-26 David Bustin
-
- * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
- correctly. Reported as Savannah bug #17843.
-
-2006-09-26 David Turner <[email protected]>
-
- * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
- AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
- horizontal and vertical hinting for the purpose of debugging the
- auto-fitter.
-
- * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
- _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
-
- * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
-
- * include/freetype/config/ftoption.h, devel/ftoption.h
- (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
- we want to compile LCD-optimized rendering code (à la ClearType) or
- not. The macro *must* be disabled in default builds of the library
- for patent reasons.
-
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
- LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
- isn't defined at compile time. This only changes the content of the
- rendered glyph to match the one of normal gray-level rendering,
- hence clients should not need to be modified.
-
- * docs/CHANGES: Updated.
-
-2006-09-18 Garrick Meeker <[email protected]>
-
- * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
- LWFN fails and both are available.
-
-2006-09-11 David Turner <[email protected]>
-
- * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
- report their English names through an Apple Roman
- (platform,encoding) pair, with language_id != English.
-
- If the font uses another name entry with language_id == English, it
- will be selected correctly, though.
-
- * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
- selection for `mingli.ttf'.
-
-2006-09-05 Werner Lemberg <[email protected]>
-
- * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
- values which have the upper two bytes set to 0xFF instead of 0x00
- (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
- `HAN NOM B.ttf').
-
- * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
-
-2006-09-05 David Turner <[email protected]>
-
- Minor source cleanups and optimizations.
-
- * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
- (TRaster): Remove `count_ex' and `count_ey'.
- (gray_find_cell): Remove 2nd and 3rd argument.
- (gray_alloc_cell): Merged with `gray_find_cell'.
- (gray_record_cell): Simplify.
- (gray_set_cell): Rewrite.
- (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
- (gray_render_span): Don't use FT_MEM_SET for small values.
- (gray_dump_cells) [DEBUG_GRAYS]: New function.
- (gray_sweep): Avoid buffer overwrites when to drawing the end of a
- bitmap scanline.
- (gray_convert_glyph): Fix speed-up.
-
-2006-09-04 David Turner <[email protected]>
-
- * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
- 64bit processors.
-
-2006-09-03 Werner Lemberg <[email protected]>
-
- * devel/ftoption.h: Synchronize with
- include/freetype/config/ftoption.h.
-
- * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
- variable declaration.
- (gray_convert_glyph): Fix compiler warnings.
-
-2006-09-01 David Turner <[email protected]>
-
- * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
- to recognize a few fonts that require the automatic unpatented
- loader.
-
- * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
- rasterizer. The speed improvement is between 15% and 25%, depending
- on the font data.
-
- (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
- (TCell): Redefine.
- (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
- (gray_init_cells): Updated.
- (gray_find_cell, gray_alloc_cell): New functions.
- (gray_record_cell): Rewritten to use `gray_find_cell' and
- `gray_alloc_cell'.
- (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
- QSORT_THRESHOLD):
- Removed.
- (gray_shell_sort, gray_quick_sort, gray_check_sort,
- gray_dump_cells): Removed.
- (gray_sweep): Rewritten.
- (gray_convert_glyph): Rewrite code which used one of the sorting
- functions.
- (gray_raster_render): Updated.
-
-2006-08-29 Dr. Werner Fink <[email protected]>
-
- * configure: Make it possible to handle configure options which
- have strings containing spaces.
-
-2006-08-27 David Turner <[email protected]>
-
- * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
- New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
- or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
-
- * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
- src/truetype/truetype.c, src/truetype/ttdriver.c,
- src/truetype/ttgload.c, src/truetype/ttgload.h,
- src/truetype/ttinterp.c, src/truetype/ttobjs.c,
- src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
- s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
-
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
- member `force_autohint'.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
-
- * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
- against a list of font names which need the bytecode interpreter.
-
-2006-08-27 Jens Claudius <[email protected]>
-
- Fix miscellaneous compiler warnings.
-
- * include/freetype/internal/ftobjs.h: Close comment with `*/' to
- avoid `/* in comment' compiler warning.
-
- * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
- `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
- 64-bit platforms void* is larger than FT_UInt32.
-
- * src/base/ftobjs.c (t_validator_error): Cast away
- volatileness of argument to ft_longjmp. Spotted by Werner
- `Putzfrau' Lemberg.
-
- * src/bdf/bdflib.c (bdf_load_font): Initialize local
- variable `lineno'.
-
- * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
- `error' as volatile.
-
-2006-08-27 Werner Lemberg <[email protected]>
-
- * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
- Reported by Jens.
-
-2006-08-22 Jens Claudius <[email protected]>
-
- Fix for previous commit, which caused many compiler warnings/errors
- about addresses of volatile objects passed as function arguments as
- non-volatile pointers.
-
- * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
- pointer to a volatile object.
-
- * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
- `table' a pointer to a volatile object.
-
- * src/otvalid/otvmod.c (otv_load_table): Make function argument
- `table' a pointer to a volatile object.
-
-2006-08-18 Jens Claudius <[email protected]>
-
- * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
- as volatile since it must keep its value across a call to ft_setjmp.
- (gxv_validate): Same for local variables `memory' and `valid'.
- (classic_kern_validate): Same for local variables `memory',
- `ckern', and `valid'.
-
- * src/otvalid/otvmod.c (otv_validate): Same for function parameter
- `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
- and 'valid'.
-
- * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
- `cmap'.
-
-2006-08-16 David Turner <[email protected]>
-
- * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
- warnings.
-
- * src/base/ftobjs.c (ft_validator_run): Disable function; it is
- buggy by design. Always return -1.
-
-
- Improvements to native TrueType hinting. This is a first try,
- controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
-
- * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
- `extra_points2'.
-
- * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
- `orus'.
-
- * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
- FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
- FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
- handle `extra_points2'.
-
- * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
- Remove compiler warning.
- (cur_to_arg): Remove macro.
- (TT_Hint_Glyph): Updated.
- (TT_Process_Simple_Glyph): Handle `orus'.
-
- * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
- (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
- (LOC_Ins_IUP): Renamed to...
- (IUP_WorkerRec): This.
- Add `orus' member.
- (Shift): Renamed to...
- (_iup_worker_shift): This.
- Updated.
- (Interp): Renamed to...
- (_iup_worker_interpolate): This.
- Updated to handle `orus'.
- (Ins_IUP): Updated.
-
- * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
- Handle `orus'.
-
-2006-08-15 suzuki toshiya <[email protected]>
-
- * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
- build ftvalid in ft2demos. This has been inadvertedly changed
- 2006-08-13.
-
-2006-08-15 suzuki toshiya <[email protected]>
-
- `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
- Jens:
- http://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
-
- * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
- It reverts the change introduced on 2005-08-20.
-
- * src/gxvalid/gxvmod.c: Ditto.
-
-2006-08-13 Jens Claudius <[email protected]>
-
- * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
- T1_TOKEN_TYPE_KEY.
- (T1_FieldRec): Add `dict'.
- (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
- (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
- keyword is expected as an additional argument.
-
- * src/cid/cidload.c: (cid_field_records): Adjust invocations of
- T1_FIELD_XXX.
-
- * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
-
- * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
- (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
- not T1_TOKEN_TYPE_ANY.
- (ps_parser_load_field): Make sure a token that should be a string or
- name is really a string or name.
- Avoid memory leak if a keyword has been already encountered and its
- value is overwritten.
- * src/type1/t1load.c: (t1_keywords): Adjust invocations of
- T1_FIELD_XXX.
- (parse_dict): Ignore keywords that occur in the wrong dictionary
- (e.g., in `Private' instead of `FontDict').
-
- * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
-
- * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
- T1_FIELD_XXX.
-
-2006-07-18 Jens Claudius <[email protected]>
-
- Move creation of field `buildchar' of T1_DecoderRec out of
- `t1_decoder_init' and let the caller of `t1_decoder_init' take care
- of it.
-
- Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
- and `T1_Compute_Max_Advance'.
-
- * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
- `face', add `len_buildchar'.
-
- * include/freetype/internal/t1types.h (T1_FaceRec): Add field
- `buildchar'.
-
- * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
- for T1_Decoder.
- (cid_slot_load_glyph): Do not ignore failure when initializing the
- T1_Decoder.
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
- (t1_decoder_init): Remove initialization of fields `buildchar' and
- `len_buildchar'.
- (t1_decoder_done): Remove deallocation of field `buildchar'.
-
- * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
- T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
- T1_Decoder.
- (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
- `len_buildchar'; make sure to call finisher for T1_Decoder even in
- case of error.
-
- * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
- of T1_FaceRec.
-
- * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
- T1_FaceRec.
-
-2006-07-14 Jens Claudius <[email protected]>
-
- * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
- IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
- and IS_PS_BASE85 (from src/psaux/psconv.h).
- (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
- T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
- (T1_DecoderRec): New fields `buildchar' and `face'.
- (IS_PS_TOKEN): New macro.
-
- * include/freetype/internal/t1types.h (T1_FaceRec): New fields
- `ndv_idx', `cdv_idx', and `len_buildchar'.
-
- * include/freetype/t1tables.h (PS_BlendRec): New fields
- `default_design_vector' and `num_default_design_vector'.
-
- * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
- IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
- IS_PS_BASE85 to include/freetype/internal/psaux.h.
-
- * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
- argument to be NULL if we want only to count the number of tokens.
- (ps_tocoordarray): Allow `coords' argument to be NULL if we just
- want to skip the array.
- (ps_tofixedarray): Allow `values' argument to be NULL if we just
- want to skip the array.
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
- for (partially commented out) othersubrs 19-25, 27, and 28.
- (t1_decoder_init): Initialize new fields `face' and `buildchar'.
- (t1_decoder_done): Release new field `buildchar'.
-
- * src/type1/t1load.c (parse_buildchar, parse_private): New
- functions.
- (t1_keywords): Register them.
- (t1_allocate_blend): Updated.
- (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
- T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
- (parse_dict): Remove `keyword_flags' argument.
- Use new macro IS_PS_TOKEN.
- Changed function so that later PostScript definitions override
- earlier ones.
- (t1_init_loader): Initialize new field `keywords_encountered'.
- (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
- `len_buildchar'.
- Remove `keywords_flags'.
-
- * src/type1/t1load.h (T1_LoaderRect): New field
- `keywords_encountered'.
- (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
-
- * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
- entries for parsing /NDV, /CDV, and /DesignVector.
-
-2006-07-07 Werner Lemberg <[email protected]>
-
- Add many checks to protect against malformed PCF files.
-
- * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
- (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
-
- * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
- data and check that tables don't overlap (using a simple
- bubblesort).
- (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
- New macros which give the size of data structures in the data
- stream.
- (pcf_get_properties): Use rough estimates to get array size limits.
- Assign `face->nprops' and `face->properties' earlier so that a call
- to PCF_Face_Done can do the clean-up in case of error.
- Protect against invalid string offsets.
- (pcf_get_metrics): Clean up code.
- Adjust tracing message levels.
- Use rough estimate to get array size limit.
- (pcf_get_bitmaps): Clean up code.
- Adjust tracing message levels.
- Use rough estimates to get offset limits.
- (pcf_get_encodings): Adjust tracing message level.
- (pcf_get_accel): Clean up code.
-
-2006-06-26 Werner Lemberg <[email protected]>
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
- don't have a POINT_SIZE property. This fixes Savannah bug #16914.
-
-2006-06-26 Jens Claudius <[email protected]>
-
- * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
- (t1_decoder_parse_charstrings): Operator with
- opcode 15 pops its two arguments.
- Handle the case where the pops of an othersubr may be part of a
- subroutine.
- Handle unknown othersubrs gracefully: count their operands and let
- the following pop operators push the operands as the results onto
- the Type1 stack.
- Improve handling of setcurrentpoint opcode.
-
-2006-06-25 Jens Claudius <[email protected]>
-
- The Type 1 parser now skips over top-level procedures as required
- for a `Simplified Parser'. This makes the parser more robust as it
- doesn't poke around in PostScript code. Additionally, it makes the
- FontDirectory hackery in src/type1/t1load.c unnecessary.
-
- * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
- (skip_literal_string): Add FT_Error as return value.
- Handle escapes better.
- (skip_string): Add FT_Error as return value.
- Don't set `parser->error' but return error code directly.
- (skip_procedure): New function.
- (ps_parser_skip_PS_token): Handle procedures.
- Update code.
- (ps_parser_to_token): Update code.
- (ps_parser_load_field_table): Handle bbox entries also.
-
- * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
- Add commented-out code for synthetic fonts.
-
-2006-06-24 Eugeniy Meshcheryakov <[email protected]>
-
- Fix two hinting bugs as reported in
- http://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
-
- * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
- `first_point' member.
-
- * src/truetype/ttgload.c (tt_prepare_zone): Initialize
- `first_point'.
- (TT_Process_Composite_Glyph): Always untouch points.
-
- * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
- `first_point' and `last_point' in case of composite glyphs.
- (Ins_IUP): Fix computation of `end_point'.
-
-2006-06-22 suzuki toshiya <[email protected]>
-
- Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
- Mac. The original patch was written by David Sachitano and Lawrence
- Coopet, and modified by Sean McBride for MPW compatibility. Only
- required data are converted; unused data are left in big endian.
-
- * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
- Mac OS X platforms.
- (OS_INLINE): Undefine before definition.
- (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
- FontAssociation table in FOND resource.
- (count_faces_scalable): Insert EndianS16_BtoN to parse the header
- and fontSize at each entry of FontAssociation table in FOND
- resource.
- (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
- ffStylOff of FamilyRecord header of FOND resource, the header,
- fontSize, fontID at each entry of FontAssociation table, and
- StyleMapping table.
- (count_faces): Call `HUnlock' after all FOND utilization.
-
-2006-06-08 suzuki toshiya <[email protected]>
-
- Public API of TrueTypeGX, OpenType, and classic kern table validator
- should return `FT_Err_Unimplemented_Feature' if validation service
- is unavailable (disabled in `modules.cfg'). It is originally
- suggested by David Turner, cf.
- http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
-
- * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
- FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
- unavailable.
- (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
- classic kern table validation service is unavailable.
-
- * src/base/ftotval.c (FT_OpenType_Validate): Return
- FT_Err_Unimplemented_Feature if OpenType validation service is
- unavailable.
-
-2006-06-08 Werner Lemberg <[email protected]>
-
- * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
- errors.
-
-2006-06-07 David Turner <[email protected]>
-
- * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
- (T1_Read_Metrics): Fix memory leak which happened when the metrics
- file doesn't have kerning pairs. This fixes Savannah bug #16768.
-
-2006-06-06 David Turner <[email protected]>
-
- Fix memory leak described in Savannah bug #16759.
-
- We change `ps_unicodes_init' so that it also takes a
- `free_glyph_name' callback to release the glyph names returned by
- `get_glyph_name'
-
- * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
- Renamed to ...
- (PS_GetGlyphNameFunc): This.
- (PS_FreeGlyphNameFunc): New typedef.
- (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
-
- * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
- argument.
- (cff_sid_free_glyph_name): New function.
- (cff_cmap_unicode_init): Updated.
-
- * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
-
- * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
- PS_FreeGlyphNameFunc and use it.
-
-
-2006-06-04 David Turner <[email protected]>
-
- * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
- `item_size == 0' as well -- though this sounds weird, it can
- theoretically happen. This fixes Savannah bug #16669.
-
- * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
- of `face->num_glyphs' which missed the last glyph, due to
- the offset-by-1 computation, since the PFR format doesn't
- guarantee that glyph index 0 corresponds to the `missing
- glyph. This fixes Savannah bug #16668.
-
-2006-05-25 Werner Lemberg <[email protected]>
-
- * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
- `-no-undefined'. Reported by Christian Biesinger.
-
-2006-05-19 Brian Weed <[email protected]>
-
- * builds/win32/visualc/freetype.dsp: Release libraries no longer
- have debug information, and debug libraries use `C7 compatible'
- debug info.
-
-2006-05-19 suzuki toshiya <[email protected]>
-
- Apply patch by Derek Clegg to fix two memory leaks in the MacOS
- resource fork handler. This fixes Savannah bug #16631.
-
- * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
- `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
-
- * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
- Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
-
-2006-05-19 suzuki toshiya <[email protected]>
-
- * build/unix/configure.raw: Add a fallback to disable Carbon
- dependency, if configured with no options on Mac OS X.
-
-2006-05-19 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
- its content cannot be parsed as supported font. This fixes
- the second part of Savannah bug #16590.
-
-2006-05-18 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
- [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
-
-2006-05-17 David Turner <[email protected]>
-
- This is a major patch used to drastically improve the performance of
- loading glyphs. This both speeds up loading the glyph vectors
- themselves and the auto-fitter module.
-
- We now use inline assembler code with GCC to implement `FT_MulFix',
- which is probably the most important function related to the
- engine's performance.
-
- The resulting speed-up is about 25%.
-
-
- * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
- `cursor' and `limit'.
-
- * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
- New functions.
- (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
- [TEST]: Remove.
-
- * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
- code.
-
- * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
- `FT_ZERO'
- (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
- (af_glyph_hints_reload: Rewrite recognition of weak points.
-
- * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
- constant values out of the loops.
-
- * src/autofit/aftypes.h: Updated.
-
- * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
-
- * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
- product to get orientation.
-
- * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
- (FT_Stream_OpenGzip): Use it to handle small files directly in
- memory.
-
- * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
- Improve performance.
-
- * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
- `limit'.
-
- (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
- TT_Load_Composite_Glyph): Updated. Add threshold to protect against
- exceedingly large values of number of contours. Speed up by
- reducing the number of loops.
-
- * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
-
-
- * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
- used to detect rogue clients from 4 to 16. This is to prevent some
- segmentation faults with fonts like `KozMinProVI-Regular.otf' which
- comes from the Japanese Adobe Reader Asian Font pack.
-
-2007-05-17 Werner Lemberg <[email protected]>
-
- * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
- fixes the first part of Savannah bug #16590.
-
-2006-05-16 Werner Lemberg <[email protected]>
-
- * docs/PROBLEMS: Updated icl issues.
-
-----------------------------------------------------------------------------
-
-Copyright 2006, 2007, 2008, 2009, 2010 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT. By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
+2010-02-13 Werner Lemberg <[email protected]>
+
+ * Version 2.3.12 released.
+ ==========================
+
+
+ Tag sources with `VER-2-3-12'.
+
+ * docs/CHANGES: Updated.
+
+ * docs/VERSION.DLL: Update documentation and bump version number to
+ 2.3.12.
+
+ * README, Jamfile (RefDoc),
+ builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+ builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/wince/vc2005-ce/freetype.vcproj,
+ builds/wince/vc2005-ce/index.html,
+ builds/wince/vc2008-ce/freetype.vcproj,
+ builds/wince/vc2008-ce/index.html: s/2.3.11/2.3.12/, s/2311/2312/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
+
+ * builds/unix/configure.raw (version_info): Set to 10:0:4.
+
+2010-02-12 suzuki toshiya <[email protected]>
+
+ Improve autotool version checking to work with beta releases.
+
+ * autogen.sh (check_tool_version): Improve the extraction of version
+ number from "tool --version" output. Some beta releases of
+ autotools have extra strings before version number.
+
+2010-02-12 suzuki toshiya <[email protected]>
+
+ Fix overallocating bug in FT_Outline_New_Internal().
+
+ * src/base/ftoutln.c (FT_Outline_New_Internal): The length of
+ FT_Outline->points[] should be numPoints, not 2 * numPoints.
+ Found by Paul Messmer, see
+ http://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html
+
+2010-02-10 Ken Sharp <[email protected]>
+
+ Really fix Savannah bug #28678 (part 2).
+
+ Since we consider `sbw' for the horizontal direction only, we still have
+ to synthesize vertical metrics if the user wants to use the vertical
+ writing direction.
+
+ * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+ (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph):
+ Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is
+ set.
+
+2010-02-10 Ken Sharp <[email protected]>
+
+ Really fix Savannah bug #28678 (part 1).
+
+ After long discussion, we now consider the character width vector
+ (wx,wy) returned by the `sbw' Type 1 operator as being part of *one*
+ direction only. For example, if you are using the horizontal
+ writing direction, you get the horizontal and vertical components of
+ the advance width for this direction. Note that OpenType and CFF fonts
+ don't have such a vertical component; instead, the GPOS table can be
+ used to generate two-dimensional advance widths (but this isn't
+ handled by FreeType).
+
+ * include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add
+ `advance_v' field to hold the vertical component of the advance
+ value.
+
+ * src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c
+ (cff_slot_load), src/type1/t1gload.c
+ (T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c
+ (cid_load_glyph): Use it.
+
+2010-02-08 Werner Lemberg <[email protected]>
+
+ * devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define.
+
+2010-02-04 suzuki toshiya <[email protected]>
+
+ Prevent NULL pointer dereference passed to FT_Module_Requester.
+
+ * src/sfnt/sfdriver.c (sfnt_get_interface): Don't use `module'.
+ * src/psnames/psmodule.c (psnames_get_interface): Ditto.
+
+ * src/cff/cffdrivr.c (cff_get_interface): Check NULL `driver'.
+ * src/truetype/ttdriver.c (tt_get_interface): Ditto.
+
+2010-01-29 suzuki toshiya <[email protected]>
+
+ Fix memory leaks in previous patch.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Don't overwrite the strings
+ allocated for face->root.family_name and style_name.
+
+2010-01-29 suzuki toshiya <[email protected]>
+
+ New parameters for FT_Open_Face() to ignore preferred family names.
+
+ Preferred family names should be used for legacy systems that
+ can hold only a few faces (<= 4) for a family name. Suggested by
+ Andreas Heinrich.
+ http://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html
+
+ * include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
+ FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define.
+
+ * src/sfnt/sfobjs.h (sfnt_load_face): Check the arguments and
+ ignore preferred family and subfamily names if requested.
+
+2010-01-27 Ken Sharp <[email protected]>
+
+ Fix Savannah bug #28678.
+
+ * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+ (cid_load_glyph): Handle vertical metrics correctly.
+
+ * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle
+ vertical metrics correctly.
+ (T1_Load_Glyph): Don't synthesize vertical metrics.
+
+2010-01-14 Werner Lemberg <[email protected]>
+
+ Make FT_Set_Transform work if no renderer is available.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation
+ if no renderer is compiled into the library.
+
+2010-01-14 Werner Lemberg <[email protected]>
+
+ Fix compilation warning.
+
+ * src/base/ftbase.h: s/LOCAL_DEF/LOCAL/.
+ * src/base/ftobjc.s: Include ftbase.h conditionally.
+
+2010-01-11 Kwang Yul Seo <[email protected]>
+
+ Provide inline assembly code for RVCT compiler.
+ This is Savannah patch #7059.
+
+ * include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER,
+ FT_MulFix_arm) [__CC_ARM || __ARM_CC]: Define.
+
+2010-01-08 Ken Sharp <[email protected]>
+
+ Fix Savannah bug #28521.
+
+ Issue #28226 involved a work-around for a font which used the
+ `setcurrentpoint' operator in an invalid way; this operator is only
+ supposed to be used with the result of OtherSubrs, and the font used
+ it directly. The supplied patch removed the block of code which
+ checked this usage entirely.
+
+ This turns out to be a Bad Thing. If `setcurrentpoint' is being
+ used correctly it should reset the flex flag in the decoder. If we
+ don't do this then the flag never gets reset and we omit any further
+ contours from the glyph (at least until we close the path or
+ similar).
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ <op_setcurrentpoint>: Handle `flex_state' correctly.
+
+2010-01-05 Werner Lemberg <[email protected]>
+
+ Apply reports from clang static analyzer.
+
+ * src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c
+ (FT_Stroker_ParseOutline), src/base/ftsynth.c
+ (FT_GlyphSlot_Embolden): Remove dead code.
+
+ * src/base/ftpatent.c (_tt_check_patents_in_table): Initialize
+ `offset_i' and `length_i'.
+
+2010-01-05 Ralph Giles <[email protected]>
+
+ Enable the incremental font interface by default.
+
+ Ghostscript requires the incremental font interface for handling
+ some Postscript documents. It is moving to using FreeType as its
+ primary renderer; supporting this in the default build makes it
+ Ghostscript to be linked against the system FreeType when one is
+ available.
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
+ Uncomment.
+
+2010-01-05 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #28395.
+
+ * src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c
+ (T1_Loada_Glyph): Don't check `num_glyphs' if incremental interface
+ is used.
+
+2010-01-05 Ken Sharp <[email protected]>
+
+ Make Type 1 `seac' operator work with incremental interface.
+ This fixes Savannah bug #28480.
+
+ * src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names'
+ if incremental interface is used.
+
+2010-01-04 Ken Sharp <[email protected]>
+
+ Make incremental interface work with TrueType fonts.
+ This fixes Savannah bug #28478.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Don't check
+ `glyf_offset' if incremental interface is used.
+
+2009-12-31 Lars Abrahamsson <[email protected]>
+
+ Make compilation with FT_CONFIG_OPTION_PIC work again.
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]:
+ Declare `library' for FT_BITMAP_GLYPH_CLASS_GET.
+
+ * src/base/ftinit.c (ft_destroy_default_module_classes,
+ ft_create_default_module_classes): Use proper casts (needed for C++
+ compilation).
+
+ * src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP.
+
+2009-12-22 Marc Kleine-Budde <[email protected]>
+
+ Make freetype-config aware of $SYSROOT.
+ This is Savannah patch #7040.
+
+ * builds/unix/freetype-config.in: Decorate with ${SYSROOT} where
+ appropriate.
+
+2009-12-20 Werner Lemberg <[email protected]>
+
+ Fix compiler warning.
+ Reported by Sean.
+
+ * src/base/ftdbgmem.c [!FT_DEBUG_MEMORY]: ANSI C doesn't like empty
+ source files; however, some compilers warn about an unused variable
+ declaration. This is now replaced with a typedef.
+
+2009-12-18 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #28320.
+
+ There exist corrupt, subsetted fonts (embedded in PDF files) which
+ contain a private dict that ends with an unterminated floating point
+ number (no operator following). We now ignore this error (as
+ acrobat does).
+
+ * src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for
+ unterminated floating point numbers.
+
+2009-12-16 Werner Lemberg <[email protected]>
+
+ Really fix compiler warnings.
+ Reported by Sean.
+
+ * src/truetype/ttgxvar.c (GX_PT_POINTS_ARE_WORDS,
+ GX_PT_POINT_RUN_COUNT_MASK): Convert enum values to macros.
+
+2009-12-16 suzuki toshiya <[email protected]>
+
+ Improve configure.raw to copy some options from CFLAGS to LDFLAGS.
+ The linker of Mac OS X 10.6 is sensitive to the architecture. If
+ the architectures are specified explicitly for the C compiler, the
+ linker requires the architecture specifications too.
+
+ * builds/unix/configure.raw: Replace `-isysroot' option parser by
+ more generic argument parser.
+
+2009-12-15 Werner Lemberg <[email protected]>
+
+ Fix compiler warnings.
+ Reported by Sean.
+
+ * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data
+ type.
+
+2009-12-14 Ken Sharp <[email protected]>
+
+ Ignore invalid `setcurrentpoint' operations in Type 1 fonts.
+ This fixes Savannah bug #28226.
+
+ At least two wild PostScript files of unknown provenance contain
+ Type 1 fonts, apparently converted from TrueType fonts in earlier
+ PDF versions of the files, which use the `setcurrentpoint' operator
+ inappropriately.
+
+ FreeType currently throws an error in this case, but Ghostscript and
+ Adobe Distiller both accept the fonts and ignore the problem. This
+ commit #ifdefs out the check so PostScript interpreters using
+ FreeType can render these files.
+
+ The specification says `setcurrentpoint' should only be used to set
+ the point after a `Subr' call, but these fonts use it to set the
+ initial point to (0,0). Unnecessarily so, as they correctly use an
+ `hsbw' operation which implicitly sets the initial point.
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ <op_setcurrentpoint>: Comment out code.
+
+2009-12-14 Bram Tassyns <[email protected]>
+
+ Fix parsing of /CIDFontVersion.
+ This fixes Savannah bug #28287.
+
+ * src/cid/cidtoken.h: `cid_version' in CID_FaceInfoRec (in
+ t1tables.h) is of type FT_Fixed.
+
+2009-12-14 Werner Lemberg <[email protected]>
+
+ Trace glyph index in CID module.
+ Suggested in Savannah patch #7023.
+
+ * src/cid/cidgload.c (cid_load_glyph): Add tracing message.
+
+2009-12-03 Werner Lemberg <[email protected]>
+
+ Fix compiler warnings.
+
+ * src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the
+ proper preprocessor conditional.
+ * src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc.
+
+2009-11-25 John Tytgat <[email protected]>
+
+ Better handling of start of `eexec' section.
+ This fixes Savannah bug #28090.
+
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace
+ characters before start of `eexec' section.
+
+2009-11-20 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #27742.
+
+ * src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by
+ zero, using a threshold for `theta'.
+
+2009-11-20 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #28036.
+
+ * src/type1/t1afm.c (t1_get_index): Fix comparison.
+
+2009-11-16 Werner Lemberg <[email protected]>
+
+ Fix compiler warnings.
+ Reported by Kevin Blenkinsopp <[email protected]>.
+
+ * src/sfnt/ttload.c (check_table_dir): Use proper data type.
+
+2009-11-15 Werner Lemberg <[email protected]>
+
+ Really fix FreeDesktop bug #21197.
+ This also fixes Savannah bug #28021.
+
+ * src/autofit/aflatin.c (af_latin_metrics_check_digits),
+ src/autofit/aflatin2.c (af_latin2_metrics_check_digits): Fix loop.
+
+2009-11-15 Werner Lemberg <[email protected]>
+
+ Add tracing messages for advance values.
+
+ * src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c
+ (TT_Get_HMetrics, TT_Get_VMetrics): Do it.
+
+2009-11-08 Werner Lemberg <[email protected]>
+
+ Fix compiler warning.
+ Reported by Jeremy Manson <[email protected]>.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'.
+
+2009-11-04 Werner Lemberg <[email protected]>
+
+ Remove compiler warning.
+ Reported by Sean McBride <[email protected]>.
+
+ * src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to
+ `int', as specified in the printf(3) man page.
+
+2009-11-04 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #27921.
+
+ * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
+ (cid_face_init), src/type1/t1afm.c (T1_Read_Metrics),
+ src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant
+ values for rounding if the argument can be negative.
+
+2009-11-03 Bram Tassyns <[email protected]>
+
+ Add basic support for Type1 charstrings in CFF.
+ This fixes Savannah bug #27922.
+
+ * src/cff/cffgload.c (CFF_Operator, cff_argument_counts): Handle
+ `seac', `sbw', and `setcurrentpoint' opcodes.
+ (cff_compute_bias): Add parameter to indicate the charstring type.
+ Update all callers.
+ (cff_operator_seac): Add parameter for side bearing.
+ (cff_decoder_parse_charstrings): Updated for more Type1 support.
+
+2009-11-03 Werner Lemberg <[email protected]>
+
+ Return correct `linearHoriAdvance' value for embedded TT bitmaps too.
+ Reported by Jeremy Manson <[email protected]>.
+
+ src/truetype/ttgload.c (load_truetype_glyph): Add parameter to
+ quickly load the glyph header only.
+ Update all callers.
+ (tt_loader_init): Add parameter to quickly load the `glyf' table
+ only.
+ Update all callers.
+ (TT_Load_Glyph): Compute linear advance values for embedded bitmap
+ glyphs too.
+
+2009-11-03 Werner Lemberg <[email protected]>
+
+ Improve code readability.
+
+ * src/ttgload.c (load_truetype_glyph): Move metrics calculation
+ to...
+ (tt_get_metrics): This new function.
+
+2009-10-26 Bram Tassyns <[email protected]>
+
+ Fix Savannah bug #27811.
+
+ * src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix
+ signed/unsigned mismatch.
+
+2009-10-19 Ning Dong <[email protected]>
+
+ Fix handling of `get' and `put' CFF instructions.
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_get,
+ cff_op_put>: Appendix B of Adobe Technote #5177 limits the number of
+ elements for the `get' and `put' operators to 32.
+ * src/cff/cffgload.h (CFF_MAX_TRANS_ELEMENTS): Define.
+ (CFF_Decoder): Use it for `buildchar' and remove `len_buildchar'.
+
+2009-10-18 Werner Lemberg <[email protected]>
+
+ Fix handling of `dup' CFF instruction.
+ Problem and solution reported by Ning Dong <[email protected]>.
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>:
+ Increase `args' by 2, not 1.
+
+2009-10-10 Werner Lemberg <[email protected]>
+
+ * Version 2.3.11 released.
+ ==========================
+
+
+ Tag sources with `VER-2-3-11'.
+
+ * docs/VERSION.DLL: Update documentation and bump version number to
+ 2.3.11.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj: s/2.3.10/2.3.11/, s/2310/2311/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
+
+ * builds/unix/configure.raw (version_info): Set to 9:22:3.
+
+2009-10-10 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES, docs/release: Updated.
+
+2009-10-10 suzuki toshiya <[email protected]>
+
+ * src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops
+ truncation. Reported by Martin von Gagern and Peter Volkov.
+ https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256
+
+2009-10-06 Werner Lemberg <[email protected]>
+
+ * Version 2.3.10 released.
+ ==========================
+
+
+ Tag sources with `VER-2-3-10'.
+
+ * builds/toplevel.mk (major, minor, patch): Fix regexp to allow more
+ than a single digit.
+ (dist): We now use git.
+
+ * docs/VERSION.DLL: Update documentation and bump version number to
+ 2.3.10.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
+
+ * builds/unix/configure.raw (version_info): Set to 9:21:3.
+
+2009-10-06 Werner Lemberg <[email protected]>
+
+ Fix `make multi'.
+
+ * src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define.
+
+ * src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H.
+
+2009-09-27 suzuki toshiya <[email protected]>
+
+ [cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582.
+ Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed.
+ Now these functions should be called with FTC_Node or FTC_MruNode
+ variable, and the caller should cast them to appropriate pointers to
+ concrete data. These tricky casts can GCC-4.4 optimizer (-O2)
+ confused and the crashing binaries are generated.
+
+ * src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast.
+ Now the 4th argument `node' of this function should be typed as
+ FTC_MruNode.
+
+ * src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline
+ implementation, new temporal variable FTC_MruNode `_mrunode' to take
+ the pointer from FTC_MRULIST_LOOKUP_CMP(). For non-inline
+ implementation, tricky cast is dropped.
+
+ * src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting
+ to FTC_SizeNode.
+ (FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode
+ `mrunode', and FTC_SIZE_NODE() is inserted.
+ (FTC_FACE_NODE): New macro casting to FTC_FaceNode.
+ (FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode
+ `mrunode', and FTC_FACE_NODE() is inserted.
+
+ * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of
+ `node' from FTC_INode to FTC_Node. Extra casting macro FTC_NODE()
+ is dropped.
+ (FTC_ImageCache_LookupScaler): Ditto.
+ (FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to
+ FTC_Node. Extra casting macro FTC_NODE() is dropped. FTC_SNODE()
+ is inserted.
+ (FTC_SBitCache_LookupScaler): Ditto.
+
+ * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of
+ `node' from FTC_CMapNode to FTC_Node. Extra casting macro
+ FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted.
+
+2009-09-25 suzuki toshiya <[email protected]>
+
+ [cache, psaux, type1] Fix for multi build.
+ In multi build, some cpp functions are left as unresolved symbols.
+
+ * src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1().
+
+ * src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for
+ FIXED_TO_INT().
+ * src/type1/t1gload.c: Ditto.
+ * src/type1/t1objs.c: Ditto.
+
+2009-09-25 suzuki toshiya <[email protected]>
+
+ [autofit] Fix for multi build.
+
+ * src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use
+ FT_DECLARE_MODULE() macro in multi build.
+
+ * src/autofit/aflatin.c: Include <ft2build.h> to handle
+ FT_ADVANCES_H correctly in multi build.
+
+2009-09-24 suzuki toshiya <[email protected]>
+
+ [cache] Check the face filled by FTC_Manager_LookupFace().
+
+ * src/cache/ftcbasic.c (ftc_basic_family_get_count): Return
+ immediately if FTC_Manager_LookupFace() fills face by NULL. Such
+ case can occur when the code is optimized by GCC-4.2.x.
+
+2009-09-23 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2009-09-12 Werner Lemberg <[email protected]>
+
+ [raster] Fix 5-levels grayscale output.
+ This was broken since version 2.3.0.
+
+ * src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which
+ were then computed dynamically).
+ (Vertical_Gray_Sweep_Step): Updated.
+
+ (ft_black_render): Initialize `worker->gray_lines' (problem found by
+ valgrind).
+
+ (FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just
+ comment out.
+
+2009-09-12 suzuki toshiya <[email protected]>
+
+ Improve configure.raw for cross build.
+
+ * builds/unix/configure.raw: Remove temporal files created by the
+ suffix checking for CC_BUILD. Set XX_ANSIFLAGS and XX_CFLAGS when
+ cross compiler is GCC. AC_PROG_CC checks whether the cross compiler
+ is GCC, its result is stored in GCC.
+
+2009-09-12 suzuki toshiya <[email protected]>
+
+ [BDF] Modify hash API to take size_t value instead of void *.
+
+ The hash API in BDF driver is designed to be generic, it takes
+ void * typed data. But BDF driver always gives an unsigned long
+ integer (the index to a property). To reduce non-essential
+ casts from unsigned long to void* and from void* to unsigned
+ long, the hash API is changed to take size_t integer.
+ The issue of incompatible cast between unsigned long and void*
+ on LLP64 platform is reported by NightStrike from MinGW-Win64
+ project. See
+ http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
+
+ * src/bdf/bdf.h: The type of hashnode->data is changed from
+ void* to size_t.
+
+ * src/bdf/bdflib.c (hash_insert): Get size_t data, instead of
+ void* data.
+ (bdf_create_property): Get the name length of new property by
+ size_t variable, with a cut-off at FT_ULONG_MAX.
+ (_bdf_set_default_spacing): Get the name length of the face by
+ size_t variable, with a cut-off at 256.
+ (bdf_get_property): Get the property id by size_t variable to
+ reduce the casts between 32-bit prop ID & hashnode->data during
+ simple copying.
+ (_bdf_add_property): Ditto.
+ (_bdf_parse_start): Calculate the index to the property array
+ by size_t variable.
+ (bdf_get_font_property): Drop a cast to unsigned long.
+
+2009-09-10 suzuki toshiya <[email protected]>
+
+ [Win64] Improve the computation of random seed from stack address.
+
+ On LLP64 platform, the conversion from pointer to FT_Fixed need
+ to drop higher 32-bit. Explict casts are required. Reported by
+ NightStrike from MinGW-w64 project. See
+ http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
+
+ * src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly.
+
+ * src/psaux/t1decode.c: Ditto.
+
+
+2009-09-03 Werner Lemberg <[email protected]>
+
+ [raster] Improvements for stand-alone mode.
+
+ * src/raster/rules.mk: Don't handle ftmisc.h. It is needed for
+ stand-alone mode only.
+
+ * src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func,
+ FT_Realloc_Func): Copy declarations from ftsystem.h.
+
+2009-09-02 Bram Tassyns <[email protected]>
+
+ Improve vertical metrics calculation (Savannah bug #27364).
+
+ The calculation of `vertBearingX' is not defined in the OTF font
+ spec so FreeType does a `best effort' attempt. However, this value
+ is defined in the PDF and PostScript specs, and that algorithm is
+ better than the one FreeType currently uses:
+
+ FreeType: Use the middle of the bounding box as the X coordinate
+ of the vertical origin.
+
+ Adobe PDF spec: Use the middle of the horizontal advance vector as
+ the X coordinate of the vertical origin.
+
+ FreeType's algorithm goes wrong if you have a really small glyph
+ (like the full-width, circle-like dot at the end of the sentence, as
+ used in CJK scripts) with large bearings. With the FreeType
+ algorithm this dot gets centered on the baseline; with the PDF
+ algorithm it gets the correct location (in the top right). Note
+ that this is a serious issue, it's like printing the dot at the end
+ of a Roman sentence at the center of the textline instead of on the
+ baseline like it should. So i believe the PDF spec's algorithm
+ should be used in FreeType as well.
+
+ The `vertBearingY' value for such small glyphs is also very strange
+ if no `vmtx' information is present, since the height of the bbox is
+ not representable for the height of the glyph visually (the
+ whitespace up to the baseline is part of the glyph). The fix also
+ includes some code for a better estimate of `vertBearingY'.
+
+ * src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX'
+ is now calculated as described by the Adobe PDF Spec. Estimate for
+ `vertBearingY' now works better for small glyphs completely above or
+ below the baseline into account.
+
+ * src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now
+ calculated as described by the Adobe PDF Spec. Vertical metrics
+ information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS
+ was not defined.
+
+ * src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is
+ now calculated as described by the Adobe PDF Spec.
+
+2009-09-01 John Tytgat <[email protected]>
+
+ Fix custom cmap for empty Type 1 font (Savannah bug #27294).
+
+ * include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update
+ comment to reflect revised code_last meaning.
+ * src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c
+ (T42_Open_Face): Assign max_char as highest character code + 1 and
+ use this for T1_EncodingRecRec_::code_last.
+ * src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised
+ T1_EncodingRecRec_::code_last meaning.
+
+2009-08-25 Werner Lemberg <[email protected]>
+
+ Fix rendering of horizontally compressed CFFs.
+ Bug reported by Ivan Nincic <[email protected]>.
+
+ * src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of
+ `font_matrix' also.
+
+ * docs/CHANGES: Updated.
+
+2009-08-03 [email protected]
+
+ Don't call `ft_fseek' every time when executing `ft_fread'.
+
+ * src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c
+ (ft_ansi_stream_io): Implement it.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Cast a charcode to 32-bit in cmap format 14 parser.
+
+ * src/sfnt/ttcmap.c (tt_cmap14_char_var_index,
+ tt_cmap14_char_var_isdefault, tt_cmap14_char_variants,
+ tt_cmap14_variant_chars): Correct mismatches from
+ FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments
+ are replaced by FT_UInt32 arguments.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Cast a charcode to 32-bit in cmap format 12 parser.
+
+ * src/sfnt/ttcmap.c (tt_cmap12_char_next):
+ Insert explicit cast from FT_UFast to FT_UInt32
+ for return value.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ psaux: Fix a few casts to FT_Int32 value.
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings):
+ Fix a few casts setting `value' from FT_Long to FT_Int32,
+ because `value' is typed as FT_Int32 since 2009-06-22.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Fix a data type mismatching with its source.
+
+ * src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the
+ type of `gindex' from FT_ULong to FT_UInt because
+ it is set by FT_UInt tt_cmap13_char_map_binary() or
+ TT_CMap13->cur_gindex.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Extend a few local variables to load 32-bit values.
+
+ * src/sfnt/ttkern.c (tt_face_load_kern): Extend `count'
+ and `kern' to load 32-bit values.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pfr: Extend `num_aux' to take 32-bit value.
+
+ * src/pfr/pfrload.c (pfr_phy_font_load): Extend
+ `num_aux' to load 32-bit value.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
+
+ * src/pcf/pcfread.c (pcf_get_properties): Load `nprops'
+ as FT_ULong value from PCF file, but truncate it as
+ int to fit PCF_Face->nprops. The number of truncated
+ properties is shown in the trace message.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ gxvalid: Extend a few local variables to reduce the casts.
+
+ * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
+ Extend `type' and `rest' to take FT_ULong values.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ gxvalid: Extend `settingTable' to take 32-bit offset.
+
+ * src/gxvalid/gxvfeat.c (gxv_feat_name_validate):
+ Extend `settingTable' to take 32-bit offset.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ autofit: Cast FT_Long glyph_count to compare with FT_UInt GID.
+
+ * src/autofit/afglobal.c (af_face_globals_is_digit,
+ af_face_globals_compute_script_coverage): Cast FT_Long
+ globals->glyph_count to FT_ULong, to compare with FT_UInt
+ gindex.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ smooth: Exclude 16-bit system in invalid pitch/height check.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic):
+ pitch and height are typed as FT_UInt but checked to fit
+ 16-bit range, to avoid the overflows. On 16-bit system,
+ this checking inserts a conditional that never occurs.
+
+2009-07-03 suzuki toshiya <[email protected]>
+
+ cff: Type large constants > 0x7FFF as long for 16-bit systems.
+
+ * src/cff/cffload.c (cff_charset_load): Type large
+ constants > 0x7FFF as long, because normal constants
+ are typed signed integer that is less than 0x8000 on
+ 16-bit systems.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ base: Remove an unused variable.
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an
+ unused variable `library'. glyph->library is used.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cache: Check higher bits in flags for non ILP32 systems.
+
+ 4 public functions ought to take FT_ULong flags, but take
+ FT_UInt flags. To keep binary compatibility, we drop higher
+ bits on non ILP32 platforms,
+ ILP64 systems: No drop occurs.
+ LP64 systems: Higher bits are not used.
+ 16-bit systems: Drop can occur.
+ See
+ http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html
+ These functions will be refined to take FT_ULong flags in
+ next bump with incompatible API change.
+
+ * src/cache/ftcbasic.c (FTC_ImageCache_Lookup):
+ Check `flags' in `type', the 2nd argument.
+ (FTC_SBitCache_Lookup): Ditto.
+ (FTC_ImageCache_LookupScaler): Check `load_flags',
+ the 3rd argument.
+ (FTC_SBitCache_LookupScaler): Ditto.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Ignore invalid GIDs in glyph name lookup.
+
+ * include/freetype/internal/fttrace.h:
+ New trace module for sfdriver.c is added.
+
+ * src/sfnt/sfdriver.c (sfnt_get_name_index):
+ Restrict glyph name lookup to FT_UInt GID.
+ Genuine TrueType can hold 16-bit glyphs.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pcf: Fix a comparison between FT_Long and FT_ULong.
+
+ * src/pcf/pcfread.c (pcf_get_bitmaps): Return an error
+ if PCF_Face->nemetrics is negative.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ gxvalid: Guarantee `nFeatureFlags' size up to 32-bit.
+
+ * src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate):
+ Extend the 3rd argument `nFeatureFlags' to FT_ULong.
+ * src/gxvalid/gxvmort.h: Ditto.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Insert explicit cast for LP64 system.
+
+ * src/sfnt/ttkern.c (tt_face_load_kern): Insert
+ cast from unsigned long to FT_UInt32.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ gxvalid: Guarantee `just' table size upto 32-bit.
+
+ * src/gxvalid/gxvjust.c (gxv_just_validate):
+ The type of `offset' is changed from FT_UInt to
+ FT_Offset, for 16-bit platforms.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ gxvalid: Guarantee `trak' table size upto 32-bit.
+
+ * src/gxvalid/gxvtrak.c (gxv_trak_validate):
+ The type of `offset' is changed from FT_UInt to
+ FT_Offset, for 16-bit platforms.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ type1: Fix a data type mismatching with its source.
+
+ * include/freetype/internal/t1types.h: The type of
+ T1_Face->buildchar is matched with T1_Decorder->top.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pfr: Fix a data type mismatching with its source.
+
+ * src/pfr/pfrtypes.h: The type of PFR_KernItem->offset
+ is extended from FT_UInt32 to FT_Offset, because it is
+ calculated with the pointer difference, in
+ pfr_extra_item_load_kerning_pairs().
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pfr: Fix a data type mismatching with its source.
+
+ * src/pfr/pfrtypes.h: The type of PFR_PhysFont->chars_offset
+ is extended from FT_UInt32 to FT_Offset, because it is
+ calculated with the pointer difference in pfr_phy_font_load().
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pfr: Fix a data type mismatching with its source.
+
+ * src/pfr/pfrtypes.h: The type of PFR_PhyFont->bct_offset
+ is extended from FT_UInt32 to FT_Long, because it is
+ loaded by FT_STREAM_POS() in pfr_phy_font_load().
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ smooth: Improve the format in debug message.
+
+ * src/smooth/ftgrays.c (gray_dump_cells): Improve the
+ format specifications to dump variables.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Fix a data type mismatching with its source.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): The type of
+ local `flags' is matched with FT_Face->face_flags.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ psaux: Fix a data type mismatching with its source.
+
+ * include/freetype/internal/psaux.h: The type of
+ T1_DecorderRec.buildchar is matched with
+ T1_DecorderRec.top.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ truetype: Extend TrueType GX packed deltas to FT_Offset.
+
+ * src/truetype/ttgxvar.c (ft_var_readpackeddeltas):
+ The type of 2nd argument `delta_cnt' is changed from
+ FT_Int to FT_Offset, because its source can be cvt
+ table size calculated from stream position.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ truetype: Extend mmvar_len to hold size_t values.
+
+ * src/truetype/ttgxvar.h: The type of
+ GX_BlendRec.mmvar_len is changed from FT_Int to
+ FT_Offset, because TT_Get_MM_Var() calculates it
+ by sizeof() results.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ truetype: Check invalid function number in IDEF instruction.
+
+ * src/truetype/ttinterp.c (Ins_IDEF): Check
+ if the operand fits to 8-bit opcode limitation.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ truetype: Check invalid function number in FDEF instruction.
+
+ * src/truetype/ttinterp.c (Ins_FDEF): Check
+ if the operand fits 16-bit function number.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ truetype: Truncate the deltas of composite glyph at 16-bit values.
+
+ * src/truetype/ttgload.c (load_truetype_glyph):
+ Insert cast from FT_Long (deltas[i].{x,y}) to
+ FT_Int16 in the summation of deltas[] for composite
+ glyphs. Because deltas[i] is typed as FT_Pos,
+ its component x, y are typed as FT_Long, but
+ their sources are always FT_Int16 when they are
+ loaded by ft_var_readpackeddeltas(). However,
+ the limitation about the summed deltas is unclear.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ truetype: Truncate the instructions upto 16-bit per a glyph.
+
+ * src/truetype/ttgload.c (TT_Hint_Glyph): Truncate
+ the instructions upto 16-bit length per a glyph.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ truetype: Cast the numerical operands to 32-bit for LP64 systems.
+
+ * src/truetype/ttinterp.c (Ins_SPHIX, INS_MIAP,
+ Ins_MIRP): Insert cast from long (args[], the
+ operands passed to TrueType operator) to FT_Int32
+ (the argument of TT_MulFix14()).
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ truetype: Cast the project vector to 32-bit for LP64 system.
+
+ * src/truetype/ttinterp.c (Project, DualProject):
+ Insert casts from FT_Pos (the arguments `dx', `dy')
+ to FT_UInt32 (the argument to TT_DotFix14()).
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ truetype: Cast the scaling params to 32-bit for LP64 system.
+
+ * src/truetype/ttgload.c (TT_Process_Composite_Component):
+ Insert casts from long (return value of FT_MulFix()) to
+ FT_Int32 (the argument to FT_SqrtFixed()).
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Cast a character code to FT_UInt32 for LP64 system.
+
+ * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
+ tt_cmap14_variants, tt_cmap14_char_variants,
+ tt_cmap14_def_char_count, tt_cmap14_get_def_chars,
+ tt_cmap14_get_nondef_chars, tt_cmap14_variant_chars)
+ Insert casts when FT_UInt32 variable is loaded by
+ TT_NEXT_{UINT24|ULONG}. Because most of them are
+ compared with FT_UInt32 values in public API, replacing
+ FT_UFast is not recommended.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Cast a character code to FT_UInt32 for LP64 system.
+
+ * src/sfnt/ttcmap.c (tt_cmap4_init, tt_cmap4_next):
+ Insert the casts from unsigned long constant to
+ FT_UInt32.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.
+
+ * include/freetype/internal/tttypes.h: The type
+ of TT_BDF->string_size is extended from FT_UInt32
+ to FT_ULong, because BDF specification does not
+ restrict the length of string.
+ * src/sfnt/ttbdf.c: The scratch variable `strings'
+ to load TT_BDF->string_size is matched with
+ TT_BDF->string_size.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ psaux: Handle the string length by FT_Offset variables.
+
+ * src/psaux/afmparse.c (afm_parser_next_key,
+ afm_tokenize, afm_parse_track_kern,
+ afm_parse_kern_pairs, afm_parse_kern_data,
+ afm_parser_skip_section, afm_parser_parse):
+ The length of key is handled by FT_Offset,
+ instead of FT_UInt. Although the length of
+ PostScript strings or name object is 16-bit,
+ AFM_STREAM_KEY_LEN() calculates the length
+ from the pointer difference.
+
+ * src/psaux/afmparse.h (afm_parser_next_key):
+ Ditto.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pcf: Fix some data types mismatching with their sources.
+
+ * src/pcf/pcfread.c (pcf_get_bitmaps): The types
+ of `nbitmaps', `i', `sizebitmaps' are matched with
+ the type of area FT_Bitmap.pitch * FT_Bitmap.rows.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pcf: Handle the string length by size_t variables.
+
+ * src/pcf/pcfread.c (pcf_interpret_style): The types
+ of nn, len, lengths[4] are changed to size_t, because
+ they are loaded by (or compared with) ft_strlen().
+
+ * src/pcf/pcfutil.c (BitOrderInvert, TwoByteSwap,
+ FourByteSwap): The type of the 2nd argument `nbytes'
+ is changed to size_t, for similarity with ANSI C
+ string functions.
+
+ * src/pcf/pcfdrivr.c (PCF_Glyph_Load): The type of
+ `bytes' is changed to FT_Offset, because it is passed
+ to FT_ALLOC(), via ft_glyphslot_alloc_bitmap(). At
+ least, using unsigned type is better.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pcf: Fix some data types mismatching with their sources.
+
+ * src/pcf/pcfread.c (pcf_seek_to_table_type,
+ pcf_has_table_type): The type of 3rd argument
+ `ntables' is matched with PCF_Toc->count.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ otvalid: Truncate the glyph index to 16-bit.
+
+ * src/otvalid/otvalid.c (otv_validate): Checks
+ face->num_glyphs does not exceed 16-bit limit,
+ pass FT_UInt num_glyphs to backend functions
+ otv_{GPOS|GSUB|GDEF|JSTF|MATH}_validate().
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cache: Insert explict casts for LP64 systems.
+
+ * src/cache/ftcbasic.c (FTC_ImageCache_Lookup,
+ FTC_SBitCache_Lookup): The type of FTC_ImageType->width
+ is FT_Int, so the cast to unsigned larger type FT_ULong
+ is introduced for the comparisons with 0x10000L for
+ LP64 platform.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cache: Fix some data types mismatching with their sources.
+
+ * src/cache/ftccache.h: The type of return value
+ by FTC_Node_WeightFunc function is changed to
+ FT_Offset. The type of FTC_CacheClass->cache_size
+ is changed to FT_Offset, too.
+
+ * src/cache/ftccback.h (ft_inode_weight,
+ ftc_snode_weight): Ditto.
+
+ * src/cache/ftccmap.c (ftc_cmap_node_weight): Ditto.
+
+ * src/cache/ftcimage.c (ftc_inode_weight,
+ FTC_INode_Weight): Ditto.
+
+ * src/cache/ftcsbits.c (ftc_snode_weight,
+ FTC_SNode_Weight): Ditto.
+
+ * src/cache/ftcmru.h: The type of
+ FTC_MruListClass->node_size is changed to FT_Offset,
+ because it is passed to FT_ALLOC() to specify the
+ size of buffer.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ XXX_cmap_encoding_char_next() return FT_UInt32 values.
+
+ * include/freetype/internal/services/svpscmap.h:
+ The size of the charcode value returned by
+ the function typed PS_Unicodes_CharNextFunc is
+ matched with its input charcode value.
+
+ * src/cff/cffmap.c (cff_cmap_encoding_char_next,
+ cff_cmap_unicode_char_next): Ditto.
+
+ * src/pfr/pfrmap.c (pfr_cmap_encoding_char_next):
+ Ditto.
+
+ * src/psaux/t1cmap.c (t1_cmap_std_char_next,
+ t1_cmap_custom_char_next, t1_cmap_unicode_char_next):
+ Ditto.
+
+ * src/psnames/psmodule.c (ps_unicodes_char_next):
+ Ditto.
+
+ * src/winfonts/winfnt.c (fnt_cmap_char_next):
+ Ditto.
+
+ * src/sfnt/ttcmap.c (tt_cmap0_char_next,
+ tt_cmap2_char_next, tt_cmap4_char_next,
+ tt_cmap6_char_next, tt_cmap10_char_next,
+ tt_cmap12_char_next, tt_cmap13_char_next): Ditto.
+ (tt_cmap14_char_variants): Handle base unicode
+ codepoint by FT_UInt32 variable to avoid overflow
+ on 16-bit platforms.
+ (tt_cmap14_ensure): The type of `num_results' is
+ extend to FT_UInt32, to cover unsigned 32-bit
+ `numVarSelectorRecords' in cmap14 table header.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ truetype: Extend TT_Face->num_locations for broken TTFs.
+
+ * include/freetype/internal/tttypes.h:
+ TT_Face->num_locations are extended from FT_UInt
+ to FT_ULong, to stand with broken huge loca table.
+ Some people insists there are broken TTF including
+ the glyphs over 16-bit limitation, in PRC market.
+ * src/truetype/ttpload.c (tt_face_load_loca):
+ Remove unrequired 16-bit truncation for FT_UInt
+ TT_Face->num_locations.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ smooth: Fix some data types mismatching with their sources.
+
+ * src/smooth/ftgrays.c: The type of `TCoord' is
+ matched to `TPos', because they are mixed in
+ gray_set_cell(). The type of TCell->x is extended
+ to `TPos', because gray_find_cell() sets it by
+ TWorker.ex. The type of TCell->cover is extended
+ to `TCoord', because gray_render_scanline() adds
+ TCoord value to it. The type of TWork.cover is matched
+ with TCell->cover. The types of
+ TWork.{max_cells,num_cells} are changed to FT_PtrDist,
+ because they are calculated from the memory addresses.
+ The type of TWork.ycount is changed to TPos, because
+ it is calculated from TPos variables.
+ (gray_find_cell): The type of `x' is matched with
+ its initial value ras.ex.
+ (gray_render_scanline): The types of `mod', `lift'
+ and `rem' are changed to TCoord, because their values
+ are set with explicit casts to TCoord. When ras.area
+ is updated by the differential values including
+ `delta', they are explicitly cast to TArea, because
+ the type of `delta' is not TArea but TCoord.
+ (gray_render_line): The type of `mod' is extended
+ from int to TCoord, because (TCoord)dy is added to mod.
+ (gray_hline): The argument `acount' is extended to
+ TCoord, to match with the parameters in the callers.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cff: Fix some data types mismatching with their sources.
+
+ * src/cff/cffobjs.c (cff_face_init): The type of
+ `scaling' is matched with the scaling parameter
+ in FT_Matrix_Multiply_Scaled() and
+ FT_Vector_Transform_Scaled().
+
+ * src/cff/cffparse.c (cff_parse_real): The type of
+ `power_ten', `scaling', `exponent_add',
+ `integer_length', `fraction_length',
+ `new_fraction_length' and `shift' are matched with
+ the type of `exponent' to avoid unexpected truncation.
+ (cff_parse_fixed_scaled): The type of `scaling' is
+ matched with the `scaling' argument to
+ cff_parse_real().
+ (cff_parse_fixed_dynamic): Ditto.
+ (cff_parse_font_matrix): The type of `scaling' is
+ matched with the `scaling' argument to
+ cff_parse_dynamic().
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ autofit: Fix some data types mismatching with their sources.
+
+ * src/autofit/afglobal.c: Correct the type of
+ AF_FaceGlobalsRec.glyph_count to match with
+ FT_Face->num_glyphs.
+ (af_face_globals_compute_script_coverage):
+ Insert explicit cast to compare
+ FT_Long AF_FaceGlobalsRec.glyph_count versus
+ FT_UInt gindex. The type of `nn' is changed
+ to scan glyph index upto AF_FaceGlobalsRec.glyph_count.
+ (af_face_globals_get_metrics): The type of `script_max'
+ is changed to cover size_t value. Insert explicit cast
+ to compare FT_Long AF_FaceGlobalsRec.glyph_count versus
+ FT_UInt gindex.
+
+ * src/autofit/afhints.c (af_axis_hints_new_segment):
+ Insert explicit cast to calculate `big_max' from
+ integer and size_t values.
+ (af_axis_hints_new_edge): Ditto.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_blues):
+ The type of `best_y' is matched to FT_Vector.y.
+ (af_latin_compute_stem_width): The type of `delta' is
+ matched to `dist' and `org_dist'.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ autofit: Count the size of the memory object by ptrdiff_t.
+
+ * src/autofit/afcjk.c (af_cjk_hint_edges): The
+ number of edges `n_edges' should be counted by
+ FT_PtrDist variable instead of FT_Int.
+
+ * src/autofit/aflatin.c (af_latin_hint_edges):
+ Ditto.
+
+ * src/autofit/aftypes.h: In AF_ScriptClassRec,
+ the size of metric `script_metrics_size' should
+ be counted by FT_Offset variable instead of FT_UInt.
+
+ * src/autofit/afhints.c
+ (af_glyph_hints_align_strong_points): The cursors
+ for the edges `min', `max', `mid' in the memory
+ buffer should be typed FT_PtrDist.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ autofit: Fix for unused variable `first'.
+
+ * src/autofit/afhints.c (af_glyph_hints_reload): Insert
+ FT_UNUSED() to hide the unused variable warning.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ Improve bitmap size or pixel variables for 16-bit systems.
+
+ * include/freetype/config/ftstdlib.h: Introduce
+ FT_INT_MIN, to use in signed integer overflow in
+ 16-bit and 64-bit platforms.
+
+ * include/freetype/internal/fttrace.h: Add a tracer
+ to ftsynth.c.
+
+ * src/base/ftbitmap.c (FT_Bitmap_Embolden): Check
+ invalid strength causing integer overflow on 16-bit
+ platform.
+
+ * src/base/ftcalc.c (ft_corner_orientation): Change
+ the internal calculation from FT_Int to FT_Long, to
+ avoid an overflow on 16-bit platforms. The caller of
+ this function should use only the sign of result,
+ so the cast to FT_Int is acceptable.
+
+ * src/base/ftsynth.c: Introduce a tracer for synth module.
+ (FT_GlyphSlot_Embolden): Check invalid strength causing
+ integer overflow on 16-bit platform.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index
+ in FT2 API is typed as FT_UInt, although BDF driver
+ can handle unsigned long glyph index internally. To
+ avoid integer overflow on 16-bit platform, too large
+ glyph index should be excluded.
+ (BDF_Glyph_Load): The glyph pitch in FT2 is typed as
+ FT_UInt, although BDF driver can handle unsigned long
+ glyph pitch internally. To avoid integer overflow on
+ 16-bit platform, too large glyph pitch should not be
+ returned.
+
+ * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph
+ pitch in FT2 is typed as FT_UInt, although PFR font
+ format can include huge bitmap glyph with 24-bit pitch
+ (however, a glyph spends 16.7 pixel, it's not realistic).
+ To avoid integer overflow on 16-bit platform, huge
+ bitmap glyph should be excluded.
+
+ * src/smooth/ftgrays.c (gray_hline): As FT_Span.x is
+ truncated to fit its type (16-bit short), FT_Span.y
+ should be truncated to fit its type (FT_Int).
+
+ * src/cff/cffdrivr.c (cff_get_ros): CFF specification
+ defines the supplement in ROS as a real number.
+ Truncate it to fit public FT2 API.
+
+ * src/cff/cffparse.c (cff_parse_cid_ros): Warn the
+ supplement if it is truncated or rounded in cff_get_ros().
+
+ * src/cff/cfftypes.h: Change the type of internal variable
+ `supplement' from FT_Long to FT_ULong to fit the signedness
+ to the type in public API.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ psaux: Prevent invalid arguments to afm_parser_read_vals().
+
+ * src/psaux/afmparse.c (afm_parser_read_vals): Change
+ the type of `n' to prevent negative number how many
+ arguments should be parsed.
+
+ * src/psaux/afmparse.h (afm_parser_read_vals): Ditto.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ base: Prevent some overflows on LP64 systems.
+
+ * src/base/ftadvance.c (FT_Get_Advances): Cast the
+ unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32
+ for LP64 platforms.
+
+ * src/base/ftcalc.c (FT_Sqrt32): All internal variables
+ are changed to FT_UInt32 from FT_ULong.
+ (FT_MulDiv): Insert casts to FT_Int32 for LP64 platforms.
+ This function is designed for 32-bit integer, although
+ their arguments and return value are FT_Long.
+
+ * src/base/ftobjs.c (FT_Get_Char_Index): Check `charcode'
+ is within unsigned 32-bit integer for LP64 platforms.
+ (FT_Face_GetCharVariantIndex): Check `charcode' and
+ `variantSelector' are within 32-bit integer for LP64
+ platforms.
+ (FT_Face_GetCharsOfVariant): Check `variantSelector' is
+ within unsigned 32-bit integer for LP64 platforms.
+
+ * src/base/fttrigon.c (ft_trig_downscale): The FT_Fixed
+ variable `val' and unsigned long constant FT_TRIG_SCALE
+ are cast to FT_UInt32, when calculates FT_UInt32.
+ (FT_Vector_Rotate): The long constant 1L is cast to
+ FT_Int32 to calculate FT_Int32 `half'.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cff: Cast the long variables to 32-bit for LP64 systems.
+
+ * src/cff/cffdrivr.c (cff_get_advances): Insert
+ explicit cast to modify a 32-bit flag by unsigned
+ long constant.
+
+ * src/cff/cffobjs.c (cff_face_init): Ditto.
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings):
+ Replace the casts to FT_Long by the casts to FT_Int32
+ for LP64 platforms.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pcf: Improve PCF_PropertyRec.value names on LP64 platforms.
+
+ * src/pcf/pcf.h: In PCF_PropertyRec.value, the member
+ `integer' is replaced by `l', `cardinal' is replaced
+ by `ul', to fix the difference between the name and
+ the types on LP64 platforms.
+
+ * src/pcf/pcfdrivr.c (pcf_get_bdf_property): Reflect
+ PCF_PropertyRec.value change, with appropriate casts
+ to FT_Int32/FT_UInt32. Their destinations
+ BDF_PropertyRec.{integer|cardinal} are public and
+ explicitly defined as FT_Int32/FT_UInt32.
+
+ * src/pcf/pcfread.c (pcf_get_properties, pcf_load_font):
+ Reflect PCF_PropertyRec.value change.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ pcf: Fix some data types mismatching with their sources.
+
+ * src/pcf/pcfdrivr.c (pcf_cmap_char_index): The type of
+ `code' is matched to PCF_Encoding->enc.
+ (pcf_cmap_char_next): The type of `charcode' is matched
+ to PCF_Encoding->enc. When *acharcode is set by charcode,
+ an overflow is checked and cast to unsigned 32-bit
+ integer.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ bdf: Improve bdf_property_t.value names for LP64 platforms.
+
+ * src/bdf/bdf.h: In bdf_property_t.value, the member
+ `int32' is replaced by `l', `card32' is replaced by
+ `ul', to fix the difference between the name and the
+ types on LP64 platforms.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Reflect
+ bdf_property_t.value change.
+ (bdf_get_bdf_property): Reflect bdf_property_t.value
+ change, with appropriate casts to FT_Int32/FT_UInt32.
+ Their destinations BDF_PropertyRec.{integer|cardinal}
+ are public and explicitly defined as FT_Int32/FT_UInt32.
+
+ * src/bdf/bdflib.c (_bdf_add_property): Reflect
+ bdf_property_t.value change.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ bdf: Fix some data types mismatching with their sources.
+
+ * src/bdf/bdrdrivr.c (bdf_cmap_char_index): The type
+ of `code' is matched with BDF_encoding_el->enc.
+ (bdf_cmap_char_next): The type of `charcode' is
+ matched with BDF_encoding_el->enc. When *acharcode
+ is set by charcode, an overflow is checked and
+ cast to unsigned 32-bit integer.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ autofit: Improve Unicode range definitions.
+
+ * src/autofit/aftypes.h (AF_UNIRANGE_REC): New macro
+ to declare a range by two unsigned 32-bit integer,
+ to avoid 64-bit range definition on LP64 platforms.
+
+ * src/autofit/aflatin.c (af_latin_uniranges): Ditto.
+
+ * src/autofit/aflatin2.c (af_latin2_uniranges): Ditto.
+
+ * src/autofit/afindic.c (af_indic_uniranges): Ditto.
+
+ * src/autofit/afcjk.c (af_cjk_uniranges): Declare
+ the ranges by AF_UNIRANGE_REC.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ smooth: Fix a data type mismatching with its source.
+
+ * src/smooth/ftgrays.c (gray_sweep): The type of
+ `area' is matched with the 3rd argument `area'
+ of gray_hline().
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ smooth: Fix a data type mismatching with its source.
+
+ * src/smooth/ftgrays.c (gray_render_line): The type
+ of `area' is matched with TWorker.area.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cache: Disable the legacy compatibility if 16-bit system.
+
+ * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Exclude
+ the legacy behaviour from 16-bit platform, because the
+ current hack cannot detect the caller uses this function
+ via legacy convension.
+ (FTC_SBitCache_Lookup): Ditto.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cache: Check 32-bit glyph index on 16-bit systems.
+
+ * src/cache/ftcbasic.c (ftc_basic_family_get_count):
+ Check overflow caused by the face including large
+ number of glyphs > 64k.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cache: Fix some data types mismatching with their sources.
+
+ * src/cache/ftccache.c (ftc_cache_resize): The types of
+ `p', `mask', `count' are matched with FTC_Cache->{p,mask}.
+ (FTC_Cache_Clear): The type of `old_index' is matched to
+ FTC_Cache->{p,mask}.
+
+ * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): The type
+ of `_idx' is matched with FTC_Cache->{p,mask}.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cache: Fix some data types mismatching with their sources.
+
+ * src/cache/ftcsbits.c (ftc_snode_load): The types
+ of `xadvance' and `yadvance' are matched with
+ FT_GlyphSlot->advance.{x|y}.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cache: Cast NULL to a required function type explicitly.
+
+ * src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID):
+ Insert explicit cast from NULL to function type.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ fttypes.h: Cast FT_MAKE_TAG output to FT_Tag exlicitly.
+
+ * include/freetype/fttypes.h (FT_MAKE_TAG):
+ Cast the result to FT_Tag.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ psnames: Handle Unicode codepoints by FT_UInt32 variables.
+
+ * src/psnames/psmodule.c (BASE_GLYPH): Cast the result
+ to unsigned 32-bit integer for LP64 platform.
+ (ps_unicode_value): Return the value by unsigned 32-bit
+ integer instead of unsigned long.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ psaux: Use size_t variable to pass the buffer size.
+
+ * src/psaux/psaux.h (to_bytes): The type of `max_bytes'
+ (the argument to pass the buffer size) is changed to
+ size_t, to match with ANSI C string functions.
+
+ * src/psaux/psconv.h (PS_Conv_StringDecode,
+ PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
+
+ * src/psaux/psconv.c (PS_Conv_StringDecode,
+ PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
+
+ * src/psaux/psobjs.h (ps_parser_to_bytes): Ditto.
+
+ * src/psaux/psobjs.c (ps_parser_to_bytes): Ditto.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ type1: Use size_t variable to pass the string length.
+
+ * psaux.h: The type of `len' (the argument to pass
+ the buffer size to the function in AFM_ParserRec)
+ is changed to size_t, to match with ANSI C string
+ functions.
+
+ * t1afm.c (t1_get_index): Ditto.
+
+ * test_afm.c (dummy_get_index): Ditto.
+
+ * afmparse.c (afm_parser_read_vals): To call
+ AFM_ParserRec.get_index, the length of token
+ `len' is cast to size_t.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cid: Fix some data types mismatching with their sources.
+
+ * src/cid/cidparse.c (cid_parser_new): The types of
+ `read_len' and `stream_len' are matched to
+ FT_Stream->size. Unrequired cast is removed.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cff: Fix for unused variable `rest'.
+
+ * src/cff/cffparse.c (cff_parse_real): Insert
+ FT_UNUSED() to hide the unused variable warning.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ cff: Fix some data types mismatching with their sources.
+
+ * src/cff/cffgload.c (cff_slot_load): The types of
+ `top_upm' and `sub_upm' are matched with
+ CFF_FontRecDict->units_per_em.
+
+ * src/cff/cffobjs.c (cff_size_select): Ditto.
+ (cff_size_request): Ditto.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ bdf: Fix some data types mismatching with their sources.
+
+ * bdflib.c (_bdf_list_ensure): The type of `num_items'
+ is matched with _bdf_list_t.used. Also the types of
+ `oldsize', `newsize', `bigsize' are matched too.
+ (_bdf_readstream): `cursor' is used as an offset to
+ the pointer, it should be typed as FT_Offset. Also
+ the types of `bytes', `start', `end', `avail' are matched.
+
+ * bdfdrivr.c: The type of BDF_CMap->num_encodings is
+ matched with FT_CMap->clazz->size.
+ (bdf_cmap_char_index): The types of `min', `max', `mid'
+ are matched with BDF_CMap->num_encodings. The type of
+ `result' is matched with encoding->glyph.
+ (bdf_cmap_char_next): Ditto, the type of `code' is
+ matched with BDF_encoding_el.enc.
+ (bdf_interpret_style): The type of `lengths' is changed
+ to size_t, to take the value by ft_strlen(). Also the
+ types of `len', `nn', `mm' are matched.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ sfnt: Count the size of the memory object by ptrdiff_t.
+
+ * src/sfnt/ttbdf.c (tt_face_find_bdf_prop): The type of
+ `peroperty_len' is changed from FT_UInt to FT_Offset,
+ to match with size_t, which is appropriate type for the
+ object in the memory buffer.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ lzw: Count the size of the memory object by ptrdiff_t.
+
+ * src/lzw/ftzopen.h: The types of FT_LzwState->{buf_total,
+ stack_size} are changed from FT_UInt to FT_Offset, to match
+ with size_t, which is appropriate type for the object in
+ the memory buffer.
+
+ * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): The types of
+ `old_size' and `new_size' are changed from FT_UInt to
+ FT_Offset, to match with size_t, which is appropriate type
+ for the object in the memory buffer.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ otvalid: Count the table size on memory by ptrdiff_t.
+
+ * src/otvalid/otvgpos.c (otv_ValueRecord_validate):
+ Change the type of table size from FT_UInt to
+ FT_PtrDist because it is calculated by the memory
+ addresses.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ otvalid: Prevent an overflow by GPOS/GSUB 32b-bit offset.
+
+ * src/otvalid/otvgpos.c (otv_ExtensionPos_validate):
+ Extend ExtensionOffset from FT_UInt to FT_ULong, to
+ cover 32-bit offset on 16-bit platform.
+
+ * src/otvalid/otvgsub.c (otv_ExtensionSubst_validate):
+ Ditto.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ ftobjs.c: Prevent an overflow in glyph index handling.
+
+ * src/base/ftobjs.c (FT_Face_GetCharsOfVariant):
+ Improve the cast in comparison to avoid the truncation.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ Improve the variable types in raccess_make_file_name().
+
+ * src/base/ftrfork.c (raccess_make_file_name):
+ Change the type of cursor variable `tmp' to const char*,
+ to prevent the unexpected modification of original pathname.
+ (raccess_make_file_name): Change the type of new_length
+ to size_t.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ ftpatent.c: Fix for unused variable `error'.
+
+ * src/base/ftpatent.c (_tt_check_patents_in_range):
+ Fix warning for unused variable `error'.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ type1: Check invalid string longer than PostScript limit.
+
+ * src/type1/t1afm.c (t1_get_index): Check invalid string
+ which exceeds the limit of PostScript string/name objects.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default.
+
+ * src/gzip/ftgzip.c (zcalloc, zcfree): Disable all
+ zcalloc() & zfree() by zlib in zutil.c, those in
+ ftgzip.c by FT2 are enabled by default. To use
+ zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC.
+ See discussion:
+ http://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ gzip: Distinguish PureC from TurboC on MSDOS.
+
+ * src/gzip/zutil.c (zcalloc, zcfree): Enable only for
+ MSDOS platform.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ gxvalid: Insert PureC pragma to allow unevaluated variables.
+
+ * builds/atari/ATARI.H: Insert PureC pragma not to
+ warn against set-but-unevaluated variable in gxvalid
+ module.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
+ gxvalid: Pass the union by the pointer instead of the value.
+
+ * src/gxvalid/gxvcommn.h:
+ - Declare new type `GXV_LookupValueCPtr'.
+ - Update the type of the 2nd argument to pass GXV_LookupValueDesc
+ data to the function prototyped as GXV_Lookup_Value_Validate_Func,
+ from GXV_LookupValueDesc to GXV_LookupValueCPtr.
+ - Likewise for the function prototyped as
+ GXV_Lookup_Fmt4_Transit_Func.
+
+ - Declare new type `GXV_StateTable_GlyphOffsetCPtr'.
+ - Update the type of the 3rd argument to pass
+ GXV_StateTable_GlyphOffsetDesc data to the function prototyped
+ as GXV_StateTable_Entry_Validate_Func, from
+ GXV_StateTable_GlyphOffsetDesc to GXV_StateTable_GlyphOffsetCPtr.
+
+ - Declare new type `GXV_XStateTable_GlyphOffsetCPtr'.
+ - Update the type of the 3rd argument to pass
+ GXV_XStateTable_GlyphOffsetDesc data to the function prototyped
+ as GXV_XStateTable_Entry_Validate_Func,
+ from GXV_XStateTable_GlyphOffsetDesc
+ to GXV_XStateTable_GlyphOffsetCPtr.
+
+ * src/gxvalid/gxvcommn.c (gxv_LookupTable_fmt0_validate,
+ gxv_XClassTable_lookupval_validate,
+ gxv_XClassTable_lookupfmt4_transit):
+ Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
+
+ * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
+ gxv_bsln_LookupFmt4_transit): Ditto.
+
+ * src/gxvalid/gxvjust.c
+ (gxv_just_pcTable_LookupValue_entry_validate,
+ gxv_just_classTable_entry_validate,
+ gxv_just_wdcTable_LookupValue_validate): Ditto.
+
+ * src/gxvalid/gxvkern.c
+ (gxv_kern_subtable_fmt1_entry_validate): Ditto.
+
+ * src/gxvalid/gxvlcar.c (gxv_lcar_LookupValue_validate,
+ gxv_lcar_LookupFmt4_transit): Ditto.
+
+ * src/gxvalid/gxvopbd.c (gxv_opbd_LookupValue_validate,
+ gxv_opbd_LookupFmt4_transit): Ditto.
+
+ * src/gxvalid/gxvprop.c (gxv_prop_LookupValue_validate,
+ gxv_prop_LookupFmt4_transit): Ditto.
+
+ * src/gxvalid/gxvmort4.c
+ (gxv_mort_subtable_type4_lookupval_validate): Ditto.
+
+ * src/gxvalid/gxvmort0.c
+ (gxv_mort_subtable_type0_entry_validate): Update
+ from GXV_StateTable_GlyphOffsetDesc
+ to GXV_StateTable_GlyphOffsetCPtr.
+
+ * src/gxvalid/gxvmort1.c
+ (gxv_mort_subtable_type1_entry_validate): Ditto.
+
+ * src/gxvalid/gxvmort2.c
+ (gxv_mort_subtable_type2_entry_validate): Ditto.
+
+ * src/gxvalid/gxvmort5.c
+ (gxv_mort_subtable_type5_entry_validate): Ditto.
+
+ * src/gxvalid/gxvmorx2.c
+ (gxv_morx_subtable_type2_entry_validate): Ditto.
+
+ * src/gxvalid/gxvmorx5.c
+ (gxv_morx_subtable_type5_entry_validate): Ditto.
+
+ * src/gxvalid/gxvmorx1.c
+ (gxv_morx_subtable_type1_entry_validate): Ditto.
+ (gxv_morx_subtable_type1_LookupValue_validate,
+ gxv_morx_subtable_type1_LookupFmt4_transit):
+ Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
+
+ * src/gxvalid/gxvmorx0.c
+ (gxv_morx_subtable_type0_entry_validate): Update
+ from GXV_XStateTable_GlyphOffsetDesc
+ to GXV_XStateTable_GlyphOffsetCPtr.
+
+2009-07-29 Fabrice Bellet <[email protected]>
+
+ Fix Redhat bugzilla #513582 and Savannah bug #26849.
+
+ * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) <FTC_INLINE>: Fix
+ aliasing bug.
+
+2009-07-19 Werner Lemberg <[email protected]>
+
+ Document recent library changes.
+
+ * docs/CHANGES: Do it.
+
+2009-07-17 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #23786.
+
+ * src/truetype/ttobjs.c (tt_size_init_bytecode): Don't reset x_ppem
+ and y_ppem. Otherwise the `*_CVT_Stretched' functions in ttinterp.c
+ get never called.
+ An anonymous guy suggested this change on Savannah, and it seems to
+ be the right solution.
+
+2009-07-15 Werner Lemberg <[email protected]>
+
+ * docs/release: Updated.
+
+2009-07-15 Werner Lemberg <[email protected]>
+
+ README.CVS -> README.git
+
+ * README.CVS: Renamed to...
+ * README.git: This.
+ Updated.
+
+2009-07-15 suzuki toshiya <[email protected]>
+
+ Borland C++ compiler patch proposed by Mirco Babin.
+ http://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html.
+
+ * builds/exports.mk: Delete unused flags, CCexe_{CFLAGS,LDFLAGS}.
+ Fix APINAMES_C and APINAMES_EXE pathnames to reflect the platform
+ specific pathname syntax.
+ * builds/compiler/bcc.mk: Remove unused flag, CCexe_LDFLAGS.
+ Define TE = `-e' separately (bcc32 cannot specify the pathname of
+ binary executable by T = `-o').
+ Extend the large page size in linking freetype.lib.
+ Add extra CLEAN target to delete bcc specific temporary files.
+ * builds/compiler/bcc-dev.mk: Ditto.
+
+2009-07-14 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #27026.
+
+ * builds/win32/vc2005/freetype.sln: Use correct version number.
+
+2009-07-12 suzuki toshiya <[email protected]>
+
+ Add a script to check the undefined and unused trace macros.
+
+ * src/tools/chktrcmp.py: A script to check trace_XXXX macros
+ that are used in C source but undefined in fttrace.h, or
+ defined in fttrace.h but unused in C sources. See
+ http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html.
+ * docs/DEBUG: Mention on chktrcmp.py.
+ * docs/release: Ditto.
+
+2009-07-09 Werner Lemberg <[email protected]>
+
+ [ftraster] Make it compile again with -D_STANDALONE_.
+
+ * src/raster/ftraster.c [_STANDALONE_]: Define
+ FT_CONFIG_STANDARD_LIBRARY_H.
+ Include `string.h'.
+ Don't include `rastpic.h'.
+ Define FT_DEFINE_RASTER_FUNCS.
+
+2009-07-09 suzuki toshiya <[email protected]>
+
+ smooth: Check glyph size by width/height, instead of pitch/height.
+ Suggested by der Mouse <[email protected]>.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Improve
+ the check for too large glyph. Replace the pair of `pitch' and
+ `height' by the pair of `width' and `height'. `pitch' cannot
+ be greater than `height'. The required is checking the product
+ `pitch' * `height' <= FT_ULONG_MAX, but we use cheap checks for
+ the realistic case only.
+
+2009-07-09 suzuki toshiya <[email protected]>
+
+ Register 2 missing trace components, t1afm and ttbdf.
+
+ * include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( t1afm )
+ and FT_TRACE_DEF( ttbdf ). See
+ http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html
+
+2009-07-09 suzuki toshiya <[email protected]>
+
+ Register a trace component for ftgloadr.c.
+
+ * include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( gloader ).
+ The macro `trace_gloader' was already used in the initial version
+ on 2002-02-24.
+
+2009-07-08 suzuki toshiya <[email protected]>
+
+ Prevent the overflows by a glyph with too many points or contours.
+ The bug is reported by Boris Letocha <[email protected]>. See
+ http://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html
+ http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html
+
+ * include/freetype/ftimage.h (FT_OUTLINE_CONTOURS_MAX,
+ FT_OUTLINE_POINTS_MAX): New macros to declare the maximum
+ values of FT_Outline.{n_contours,n_points}.
+ * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Check the
+ total numbers of points and contours cause no overflows in
+ FT_Outline.{n_contours,n_points}.
+
+ * include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
+ FT_GLYPHLOADER_CHECK_C): Compare the numbers of points and
+ contours as unsigned long number, instead of signed int, to
+ prevent the overflows on 16-bit systems.
+
+2009-07-05 Bram Tassyns <[email protected]>
+
+ Improve compatibility to Acroread.
+ This fixes Savannah bug #26944.
+
+ * src/cff/cffload.c (cff_charset_compute_cids): For multiple GID to
+ single CID mappings, make the lowest value win.
+
+2009-06-28 suzuki toshiya <[email protected]>
+
+ ftpatent: Fix a bug by wrong usage of service->table_info().
+ http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html
+
+ * include/freetype/internal/services/svsfnt.h: Extend
+ FT_SFNT_TableInfoFunc() to take new argument to obtain the offset
+ to the specified table.
+ * src/sfnt/sfdriver.c (sfnt_table_info): Extend to return the
+ table-offset to the caller function.
+ * src/base/ftpatent.c (_tt_check_patents_in_table): Use new
+ service->table_info().
+ * src/base/ftobjs.c (FT_Sfnt_Table_Info): Synchronize to new
+ service->table_info().
+
+2009-06-28 Werner Lemberg <[email protected]>
+
+ [psaux, cff] Protect against nested `seac' calls.
+
+ * include/freetype/internal/psaux.h (T1_Decoder), src/cff/cffgload.h
+ (CFF_Decoder): Add `seac' boolean variable.
+
+ * src/cff/cffgload.c (cff_operator_seac), src/psaux/t1decode.c
+ (t1operator_seac): Use it.
+
+2009-06-28 Werner Lemberg <[email protected]>
+
+ Thinko.
+
+ * src/psaux/t1decode.c (t1operator_seac)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental
+ interface.
+
+2009-06-28 Werner Lemberg <[email protected]>
+
+ * devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define.
+
+2009-06-27 suzuki toshiya <[email protected]>
+
+ Add tools to preprocess the source files for AtariST PureC.
+
+ * builds/atari/deflinejoiner.awk: New file to filter C source files
+ for broken C preprocessor of PureC compiler.
+
+ * builds/atari/gen-purec-patch.sh: New file to generate a patch set
+ for PureC, by using deflinejoiner.awk.
+
+2009-06-27 suzuki toshiya <[email protected]>
+
+ Keep existing modules.cfg in the building tree.
+
+ * configure: If `configure' is executed outside of the source tree,
+ an existing `modules.cfg' file in the build directory should be
+ kept, not overwritten by the version in the source tree.
+
+2009-06-27 suzuki toshiya <[email protected]>
+
+ Filter --srcdir= option before invoking builds/unix/configure.
+
+ * configure: If builds/unix/configure is invoked with --srcdir
+ option, the option should take `builds/unix' directory instead of
+ the top source directory. Thus the configure script in the top
+ directory should modify the --srcdir= option if
+ `builds/unix/configure' is invoked.
+
+2009-06-27 suzuki toshiya <[email protected]>
+
+ Improve configure.raw for cross-building on exe-suffixed systems.
+
+ * builds/unix/configure.raw: Fix a bug in sed script to extract
+ native suffix for binary executables, patch by Peter Breitenlohner.
+ http://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html
+
+2009-06-26 Werner Lemberg <[email protected]>
+
+ [truetype] Remove TT_SubGlyphRec.
+
+ * src/truetype/ttobjs.h (TT_SubGlyphRec): Removed, unused.
+
+2009-06-26 Werner Lemberg <[email protected]>
+
+ * */*: For warning messages, replace FT_ERROR with FT_TRACE0.
+
+ FT_ERROR is now used only if a function produces a non-zero `error'
+ value.
+
+ Formatting, improving and harmonizing debug strings.
+
+2009-06-25 Werner Lemberg <[email protected]>
+
+ Provide version information better.
+
+ * src/base/ftinit.c (FT_Init_FreeType): Don't set version here
+ but...
+ * src/base/ftobjs.c (FT_New_Library): Here.
+
+2009-06-22 Werner Lemberg <[email protected]>
+
+ Use 16.16 format while parsing Type 1 charstrings.
+ This fixes Savannah bug #26867.
+
+ Previously, only integers have been used which can lead to serious
+ rounding errors.
+
+ However, fractional values are only used internally; after the
+ charstrings (of either Type 1 or 2) have been processed, the
+ resulting coordinates get rounded to integers currently -- before
+ applying scaling. This should be fixed; at the same time a new load
+ flag should be introduced, to be used in combination with
+ FT_LOAD_NO_SCALE, which indicates that font units are returned in
+ 16.16 format. Similarly, the incremental interface should be
+ extended to allow fractional values for metrics.
+
+ * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift'
+ field.
+ * include/freetype/internal/pshints.h (T1_Hints_SetStemFunc,
+ T1_Hints_SetStem3Func): Use FT_Fixed for coordinates.
+
+ * src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H.
+ (t1_build_add_point): Always convert fixed to integer.
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings):
+ Use 16.16 format everywhere (except for large integers followed by a
+ `div').
+ [CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate
+ code uncoditionally.
+ Add support for random numbers and update remaining code
+ accordingly; this should work now.
+ (t1_operator_seac): Updated.
+ * src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H.
+ (ps_hints_t1stem3, t1_hints_stem): Updated.
+
+ * src/cid/cidgload.c: Include FT_INTERNAL_CALC_H.
+ (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL],
+ (cid_face_compute_max_advance, cid_slot_load_glyph): Updated.
+
+ * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
+ [FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph):
+ Updated.
+ * src/type1/t1load.c: Include FT_INTERNAL_CALC_H.
+ * src/type1/t1objs.c (T1_Face_Init): Updated.
+
+2009-06-21 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshrec.c: Use PSH_Err_Ok.
+
+2009-06-21 Werner Lemberg <[email protected]>
+
+ Code beautification.
+
+ * src/type1/t1load.c (FT_INT_TO_FIXED): Removed.
+ Replace everywhere with INT_TO_FIXED.
+ (FT_FIXED_TO_INT): Move to ...
+ * include/freetype/internal/ftcalc.h (FIXED_TO_INT): Here.
+ Update all users.
+
+2009-06-20 Werner Lemberg <[email protected]>
+
+ Remove unused variables.
+
+ * include/freetype/internal/psaux.h (T1_BuilderRec),
+ src/cff/cffgload.h (CFF_Builder): Remove `last'.
+ Update all users.
+
+2009-06-20 Werner Lemberg <[email protected]>
+
+ [psaux] Check large integers while parsing charstrings.
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Large
+ integers must be followed by a `div' operator.
+
+2009-06-20 Werner Lemberg <[email protected]>
+
+ [cff] Revert last change.
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings): Do it.
+ Next time, don't confuse Type 2 charstring opcodes with TOP DICT
+ values...
+
+2009-06-20 Werner Lemberg <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_metrics_check_digits): Fix
+ compiler warning.
+
+2009-06-20 Werner Lemberg <[email protected]>
+
+ * builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6.
+
+2009-06-19 Werner Lemberg <[email protected]>
+
+ [cff] Fix handling of reserved byte 0xFF.
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings): Abort if byte
+ 0xFF is encountered.
+
+2009-06-19 Werner Lemberg <[email protected]>
+
+ Improve debug messages for Type1 charstrings.
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Emit newlines
+ after instructions.
+ Prettify output.
+
+2009-06-19 Werner Lemberg <[email protected]>
+
+ More ftgray fixes for FT_STATIC_RASTER.
+ Problems reported by [email protected].
+
+ * src/smooth/ftgrays.c (gray_move_to, gray_raster_render): Use
+ RAS_VAR.
+
+2009-06-18 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2009-06-18 Werner Lemberg <[email protected]>
+
+ Fix B/W rasterization of subglyphs with different drop-out modes.
+
+ Normally, the SCANMODE instruction (if present) to set the drop-out
+ mode in a TrueType font is located in the `prep' table only and thus
+ valid for all glyphs. However, there are fonts like `pala.ttf'
+ which additionally contain this instruction in the hinting code of
+ some glyphs (but not all). As a result it can happen that a
+ composite glyph needs multiple drop-out modes for its subglyphs
+ since the rendering state gets reset for each subglyph.
+
+ FreeType collects the hinted outlines from all subglyphs, then it
+ sends the data to the rasterizer. It also sends the drop-out mode
+ -- after hinting has been applied -- and here is the error: It sends
+ the drop-out mode of the last subglyph only; drop-out modes of all
+ other subglyphs are lost.
+
+ This patch fixes the problem; it adds a second, alternative
+ mechanism to pass the drop-out mode: For each contour, the
+ rasterizer now checks the first `tags' array element. If bit 2 is
+ set, bits 5-7 contain the contour's drop-out mode, overriding the
+ global drop-out mode.
+
+ * include/freetype/ftimage.h (FT_CURVE_TAG_HAS_SCANMODE): New macro.
+
+ * src/truetype/ttgload.c (TT_Hint_Glyph): Store drop-out mode in
+ `tags[0]'.
+
+ * src/raster/ftraster.c (Flow_Up, Overshoot_Top, Overshoot_Bottom):
+ Use bits 3-5 instead of 0-2.
+ (New_Profile): Set the drop-out mode in the profile's `flags' field.
+ (Decompose_Curve): Check `tags[0]' and set `dropOutControl' if
+ necessary.
+ (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ Horizontal_Gray_Sweep_Drop, Draw_Sweep): Use the profile's drop-out
+ mode.
+
+2009-06-16 Werner Lemberg <[email protected]>
+
+ Improve scan conversion rules 4 and 6.
+
+ Two new constraints are introduced to better identify a `stub' -- a
+ concept which is only vaguely described in the OpenType
+ specification. The old code was too rigorous and suppressed more
+ pixel than it should.
+
+ . The intersection of the two profiles with the scanline is less
+ than a half pixel. Code related to this was already present in
+ the sources but has been commented out.
+
+ . The endpoint of the original contour forming a profile has a
+ distance (`overshoot') less than half a pixel to the scanline.
+
+ Note that the two additional conditions fix almost all differences
+ to the Windows rasterizer, but some problematic cases remain.
+
+ * src/raster/ftraster.c (Overshoot_Top, Overshoot_Bottom): New
+ macros for the `flags' field in the `TProfile' structure.
+ (IS_BOTTOM_OVERSHOOT, IS_TOP_OVERSHOOT): New macros.
+ (New_Profile, End_Profile): Pass overshoot flag as an argument and
+ set it accordingly.
+ Update callers.
+ (Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement the two new
+ constraints.
+
+2009-06-11 Werner Lemberg <[email protected]>
+
+ Increase precision for B/W rasterizer.
+
+ * src/raster/ftraster.c (Set_High_Precision): Add two more bits to
+ the precision. This corrects rendering of some small glyphs, for
+ example, glyph `xi' in verdana.ttf at 13 ppem. Testing with ftbench
+ on my GNU/Linux box I don't see a performance degradation.
+
+2009-06-08 Michael Zucchi <[email protected]>
+
+ Handle FT_STROKER_LINECAP_BUTT.
+ This fixes Savannah bug #26757.
+
+ * src/base/ftstroke.c (ft_stroker_cap): Implement it.
+
+2009-06-07 Harald Fernengel <[email protected]>
+
+ Fix some potential out-of-memory crashes.
+
+ * src/base/ftobjs.c (ft_glyphslot_done): Check `slot->internal'.
+ * src/base/ftstream.c (FT_Stream_ReleaseFrame): Check `stream'.
+ * src/truetype/ttinterp.c (TT_New_Context): Avoid double-free of
+ `exec' in case of failure.
+
+2009-06-07 Werner Lemberg <[email protected]>
+
+ Simplify math.
+ Suggested by Alexei Podtelezhnikov <[email protected]>.
+
+ * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ Horizontal_Gray_Sweep_Drop): Do it.
+
+2009-06-04 Werner Lemberg <[email protected]>
+
+ Preparation for fixing scan conversion rules 4 and 6.
+
+ * src/raster/ftraster.c (TFlow): Replace enumeration with...
+ (Flow_Up): This macro.
+ (TProfile): Replace `flow' member with `flags' bit field.
+ Update all affected code.
+
+2009-05-29 James Cloos <[email protected]>
+
+ Enable autohinting for glyphs rotated by multiples of 90°.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Alter check for permitted
+ matrices to allow rotations by multiples of 90°, not only unrotated,
+ possibly slanted matrices.
+
+2009-05-28 Werner Lemberg <[email protected]>
+
+ Remove compiler warning.
+ Reported by Krzysztof Kowalczyk <[email protected]>.
+
+ * src/autofit/aflatin2.c (af_latin2_hint_edges): Move declaration of
+ `n_edges' into `#if' block.
+
+2009-05-28 Werner Lemberg <[email protected]>
+
+ Make compilation work with FT_CONFIG_OPTION_USE_ZLIB not defined.
+ Reported by Krzysztof Kowalczyk <[email protected]>.
+
+ * src/pcf/pcfdrivr.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_ZLIB]:
+ Make it work.
+ Simplify #ifdef logic.
+
+2009-05-22 Werner Lemberg <[email protected]>
+
+ Improve b/w rasterizer.
+ Problem reported by Krzysztof Kotlenga <[email protected]>.
+
+ * src/raster/raster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ Horizontal_Gray_Sweep_Drop): For smart drop-out mode, if
+ intersections are equally distant relative to next pixel center,
+ select the left pixel, not the right one.
+
+2009-05-19 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #26600.
+
+ * src/type42/t42parse.c (t42_load_keyword): Handle
+ T1_FIELD_LOCATION_FONT_EXTRA.
+
+2009-04-30 Werner Lemberg <[email protected]>
+
+ Document recent changes to ftview.
+
+ * docs/CHANGES: Do it.
+
+2009-04-27 Werner Lemberg <[email protected]>
+
+ autohinter: Don't change digit widths if all widths are the same.
+ This fixes FreeDesktop bug #21197.
+
+ * src/autofit/afglobal.c (AF_DIGIT): New macro.
+ (af_face_globals_compute_script_coverage): Mark ASCII digits in
+ `glyph_scripts' array.
+ (af_face_globals_get_metrics): Updated.
+ (af_face_globals_is_digit): New function.
+ * src/autofit/afglobal.h: Updated.
+ (AF_ScriptMetricsRec): Add `digits_have_same_width' flag.
+
+ * src/autofit/aflatin.c: Include FT_ADVANCES_H.
+ (af_latin_metrics_check_digits): New function.
+ (af_latin_metrics_init): Use it.
+ * src/autofit/aflatin.h: Updated.
+ * src/autofit/afcjk.c (af_cjk_metrics_init): Updated.
+
+ * src/autofit/aflatin2.c: Similar changes as with aflatin.c.
+
+ * src/autofit/afloader.c (af_loader_load_g): Test digit width.
+
+ * docs/CHANGES: Document it.
+
+2009-04-26 Werner Lemberg <[email protected]>
+
+ Make ftgrays compile with _STANDALONE_ and FT_STATIC_RASTER again.
+ Problems reported by [email protected].
+
+ * src/smooth/ftgrays.c (FT_DEFINE_OUTLINE_FUNCS,
+ FT_DEFINE_RASTER_FUNCS) [_STANDALONE_]: Define.
+ [!_STANDALONE_]: Include ftspic.h only here.
+ (ras): Define/declare after definition of `TWorker'.
+ Use `RAS_VAR_' where necessary.
+
+2009-04-21 Karl Berry <[email protected]>
+
+ Fix AC_CHECK_FT2.
+
+ * builds/unix/freetype2.m4: Only check PATH for freetype-config if
+ we did not already find it from a prefix option.
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Add #error to modules and files that do not support PIC yet.
+
+ When FT_CONFIG_OPTION_PIC is defined the following files will
+ create #error:
+ * src/bdf/bdfdrivr.h
+ * src/cache/ftcmanag.c
+ * src/cid/cidriver.h
+ * src/gxvalid/gxvmod.h
+ * src/gzip/ftgzip.c
+ * src/lzw/ftlzw.c
+ * src/otvalid/otvmod.h
+ * src/pcf/pcfdrivr.h
+ * src/pfr/pfrdrivr.h
+ * src/psaux/psauxmod.h
+ * src/type1/t1driver.h
+ * src/type42/t42drivr.h
+ * src/winfonts/winfnt.h
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Position Independent Code (PIC) support in autofit module.
+
+ * include/freetype/internal/autohint.h add macros to init
+ instances of FT_AutoHinter_ServiceRec.
+
+ * src/autofit/afmodule.h declare autofit_module_class
+ using macros from ftmodapi.h,
+ when FT_CONFIG_OPTION_PIC is defined create and destroy
+ functions will be declared.
+ * src/autofit/afmodule.c when FT_CONFIG_OPTION_PIC is defined
+ af_autofitter_service and autofit_module_class structs
+ will have functions to init or create and destroy them
+ instead of being allocated in the global scope.
+ And macros will be used from afpic.h in order to access them.
+
+ * src/autofit/aftypes.h add macros to init and declare
+ instances of AF_ScriptClassRec.
+
+ * src/autofit/afcjk.h declare af_cjk_script_class
+ using macros from aftypes.h,
+ when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+ * src/autofit/afcjk.c when FT_CONFIG_OPTION_PIC is defined
+ af_cjk_script_class struct will have function to init it instead of
+ being allocated in the global scope.
+
+ * src/autofit/afdummy.h declare af_dummy_script_class
+ using macros from aftypes.h,
+ when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+ * src/autofit/afdummy.c when FT_CONFIG_OPTION_PIC is defined
+ af_dummy_script_class struct will have function to init it instead of
+ being allocated in the global scope.
+
+ * src/autofit/afindic.h declare af_indic_script_class
+ using macros from aftypes.h,
+ when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+ * src/autofit/afindic.c when FT_CONFIG_OPTION_PIC is defined
+ af_indic_script_class struct will have function to init it instead of
+ being allocated in the global scope.
+
+ * src/autofit/aflatin.h declare af_latin_script_class
+ using macros from aftypes.h,
+ when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+ * src/autofit/aflatin.c when FT_CONFIG_OPTION_PIC is defined
+ af_latin_script_class struct will have function to init it instead of
+ being allocated in the global scope.
+ Change af_latin_blue_chars to be PIC-compatible by being a two
+ dimentional array rather than array of pointers.
+
+
+ * src/autofit/aflatin2.h declare af_latin2_script_class
+ using macros from aftypes.h,
+ when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+ * src/autofit/aflatin2.c when FT_CONFIG_OPTION_PIC is defined
+ af_latin2_script_class struct will have function to init it instead of
+ being allocated in the global scope.
+ Change af_latin2_blue_chars to be PIC-compatible by being a two
+ dimentional array rather than array of pointers.
+
+ * src/autofit/afglobal.c when FT_CONFIG_OPTION_PIC is defined
+ af_script_classes array initialization was moved to afpic.c and
+ is later refered using macros defeined in afpic.h.
+
+ New Files:
+ * src/autofit/afpic.h declare struct to hold PIC globals for autofit
+ module and macros to access them.
+ * src/autofit/afpic.c implement functions to allocate, destroy and
+ initialize PIC globals for autofit module.
+
+ * src/autofit/autofit.c add new file to build: afpic.c.
+ * src/autofit/jamfile add new files to FT2_MULTI build: afpic.c.
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Position Independent Code (PIC) support in pshinter module.
+
+ * include/freetype/internal/pshints.h add macros to init
+ instances of PSHinter_Interface.
+
+ * src/pshinter/pshmod.h declare pshinter_module_class
+ using macros from ftmodapi.h,
+ when FT_CONFIG_OPTION_PIC is defined create and destroy
+ functions will be declared.
+ * src/pshinter/pshmod.c when FT_CONFIG_OPTION_PIC is defined
+ pshinter_interface and pshinter_module_class structs
+ will have functions to init or create and destroy them
+ instead of being allocated in the global scope.
+ And macros will be used from pshpic.h in order to access them.
+
+ New Files:
+ * src/pshinter/pshpic.h declare struct to hold PIC globals for pshinter
+ module and macros to access them.
+ * src/pshinter/pshpic.c implement functions to allocate, destroy and
+ initialize PIC globals for pshinter module.
+
+ * src/pshinter/pshinter.c add new file to build: pshpic.c.
+ * src/pshinter/jamfile add new files to FT2_MULTI build: pshpic.c.
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Position Independent Code (PIC) support in psnames module.
+
+ * include/freetype/internal/services/svpscmap.h add macros to init
+ instances of FT_Service_PsCMapsRec.
+
+ * src/psnames/psmodule.h declare psnames_module_class
+ using macros from ftmodapi.h,
+ when FT_CONFIG_OPTION_PIC is defined create and destroy
+ functions will be declared.
+ * src/psnames/psmodule.c when FT_CONFIG_OPTION_PIC is defined
+ pscmaps_interface and pscmaps_services structs
+ and psnames_module_class array
+ will have functions to init or create and destroy them
+ instead of being allocated in the global scope.
+ And macros will be used from pspic.h in order to access them.
+
+ New Files:
+ * src/psnames/pspic.h declare struct to hold PIC globals for psnames
+ module and macros to access them.
+ * src/psnames/pspic.c implement functions to allocate, destroy and
+ initialize PIC globals for psnames module.
+
+ * src/psnames/psnames.c add new file to build: pspic.c.
+ * src/psnames/jamfile add new files to FT2_MULTI build: pspic.c.
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Position Independent Code (PIC) support in raster renderer.
+
+ * src/raster/ftrend1.h declare ft_raster1_renderer_class
+ and ft_raster5_renderer_class
+ using macros from ftrender.h,
+ when FT_CONFIG_OPTION_PIC is defined create and destroy
+ functions will be declared.
+ * src/smooth/ftrend1.c when FT_CONFIG_OPTION_PIC is defined
+ ft_raster1_renderer_class and ft_raster5_renderer_class structs
+ will have functions to init or create and destroy them
+ instead of being allocated in the global scope.
+ Macros will be used from rastpic.h in order to access
+ ft_standard_raster from the pic_container (allocated in ftraster.c).
+ In ft_raster1_render when PIC is enabled, the last letter of
+ module_name is used to verfy the renderer class rather than the
+ class pointer.
+
+ * src/raster/ftraster.c when FT_CONFIG_OPTION_PIC is defined
+ ft_standard_raster struct will have function to init it
+ instead of being allocated in the global scope.
+
+ New Files:
+ * src/raster/rastpic.h declare struct to hold PIC globals for raster
+ renderer and macros to access them.
+ * src/raster/rastpic.c implement functions to allocate, destroy and
+ initialize PIC globals for raster renderer.
+
+ * src/raster/raster.c add new file to build: rastpic.c.
+ * src/raster/jamfile add new files to FT2_MULTI build: rastpic.c.
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Position Independent Code (PIC) support in smooth renderer.
+
+ * src/smooth/ftsmooth.h declare ft_smooth_renderer_class,
+ ft_smooth_lcd_renderer_class and ft_smooth_lcd_v_renderer_class
+ using macros from ftrender.h,
+ when FT_CONFIG_OPTION_PIC is defined create and destroy
+ functions will be declared.
+ * src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined
+ the following structs:
+ ft_smooth_renderer_class, ft_smooth_lcd_renderer_class
+ and ft_smooth_lcd_v_renderer_class
+ will have functions to init or create and destroy them
+ instead of being allocated in the global scope.
+ And macros will be used from ftspic.h in order to access
+ ft_grays_raster from the pic_container (allocated in ftgrays.c).
+
+ * src/smooth/ftgrays.h include FT_CONFIG_CONFIG_H
+ * src/smooth/ftgrays.c when FT_CONFIG_OPTION_PIC is NOT defined
+ func_interface was moved from gray_convert_glyph_inner function
+ to the global scope.
+ When FT_CONFIG_OPTION_PIC is defined
+ func_interface and ft_grays_raster structs
+ will have functions to init them
+ instead of being allocated in the global scope.
+ And func_interface will be allocated on the stack of
+ gray_convert_glyph_inner.
+
+ New Files:
+ * src/smooth/ftspic.h declare struct to hold PIC globals for smooth
+ renderer and macros to access them.
+ * src/smooth/ftspic.c implement functions to allocate, destroy and
+ initialize PIC globals for smooth renderer.
+
+ * src/smooth/smooth.c add new file to build: ftspic.c.
+ * src/smooth/jamfile add new files to FT2_MULTI build: ftspic.c.
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Position Independent Code (PIC) support in cff driver.
+
+ * include/freetype/internal/services/svcid.h add macros to init
+ instances of FT_Service_CIDRec.
+ * include/freetype/internal/services/svpsinfo.h add macros to init
+ instances of FT_Service_PsInfoRec.
+
+ * src/cff/cffcmap.h declare cff_cmap_encoding_class_rec
+ and cff_cmap_unicode_class_rec using macros from
+ ftobjs.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+ functions will be declared.
+ * src/cff/cffcmap.c when FT_CONFIG_OPTION_PIC is defined
+ the following structs:
+ cff_cmap_encoding_class_rec and cff_cmap_unicode_class_rec
+ will have functions to init or create and destroy them
+ instead of being allocated in the global scope.
+
+ * src/cff/cffdrivr.h declare cff_driver_class using macros from
+ ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+ functions will be declared.
+ * src/cff/cffdrivr.c when FT_CONFIG_OPTION_PIC is defined
+ the following structs:
+ cff_service_glyph_dict, cff_service_ps_info, cff_service_ps_name
+ cff_service_get_cmap_info, cff_service_cid_info, cff_driver_class,
+ and cff_services array
+ will have functions to init or create and destroy them
+ instead of being allocated in the global scope.
+ And macros will be used from cffpic.h in order to access them
+ from the pic_container.
+ Use macros from cffpic.h in order to access the
+ structs allocated in cffcmap.c
+
+ * src/cff/cffobjs.c Use macros from cffpic.h in order to access the
+ structs allocated in cffcmap.c
+
+ * src/cff/parser.c when FT_CONFIG_OPTION_PIC is defined
+ implement functions to create and destroy cff_field_handlers array
+ instead of being allocated in the global scope.
+ And macros will be used from cffpic.h in order to access it
+ from the pic_container.
+
+ New Files:
+ * src/cff/cffpic.h declare struct to hold PIC globals for cff
+ driver and macros to access them.
+ * src/cff/cffpic.c implement functions to allocate, destroy and
+ initialize PIC globals for cff driver.
+
+ * src/cff/cff.c add new file to build: cffpic.c.
+ * src/cff/jamfile add new files to FT2_MULTI build: cffpic.c.
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Position Independent Code (PIC) support in sfnt driver.
+
+ * include/freetype/internal/services/svbdf.h add macros to init
+ instances of FT_Service_BDFRec.
+ * include/freetype/internal/services/svgldict.h add macros to init
+ instances of FT_Service_GlyphDictRec.
+ * include/freetype/internal/services/svpostnm.h add macros to init
+ instances of FT_Service_PsFontNameRec.
+ * include/freetype/internal/services/svsfnt.h add macros to init
+ instances of FT_Service_SFNT_TableRec.
+ * include/freetype/internal/services/svttcmap.h add macros to init
+ instances of FT_Service_TTCMapsRec.
+ * include/freetype/internal/sfnt.h add macros to init
+ instances of SFNT_Interface.
+
+ * src/sfnt/sfdriver.h declare sfnt_module_class using macros from
+ ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+ functions will be declared.
+ * src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined
+ the following structs:
+ sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name
+ tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface,
+ sfnt_module_class, and sfnt_services array
+ will have functions to init or create and destroy them
+ instead of being allocated in the global scope.
+ And macros will be used from sfntpic.h in order to access them
+ from the pic_container.
+
+ * src/sfnt/ttcmap.h add macros to init
+ instances of TT_CMap_ClassRec.
+ * src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined
+ the following structs:
+ tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec
+ tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec,
+ tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array
+ will have functions to init or create and destroy them
+ instead of being allocated in the global scope.
+ And macros will be used from sfntpic.h in order to access them
+ from the pic_container.
+ The content of tt_cmap_classes is now described in the
+ new file 'ttcmapc.h'.
+
+ New Files:
+ * src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt
+ driver and macros to access them.
+ * src/sfnt/sfntpic.c implement functions to allocate, destroy and
+ initialize PIC globals for sfnt driver.
+ * src/sfnt/ttcmapc.h describing the content of
+ tt_cmap_classes allocated in ttcmap.c
+
+ * src/sfnt/sfnt.c add new file to build: sfntpic.c.
+ * src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c.
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Position Independent Code (PIC) support in truetype driver.
+
+ * include/freetype/internal/services/svmm.h add macros to init
+ instances of FT_Service_MultiMastersRec.
+ * include/freetype/internal/services/svttglyf.h add macros to init
+ instances of FT_Service_TTGlyfRec.
+
+ * src/truetype/ttdriver.h declare tt_driver_class using macros from
+ ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+ functions will be declared.
+ * src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined
+ the following structs:
+ tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class
+ and tt_services array,
+ will have functions to init or create and destroy them
+ instead of being allocated in the global scope.
+ And macros will be used from ttpic.h in order to access them
+ from the pic_container.
+ * src/truetype/ttobjs.c change trick_names array to be
+ PIC-compatible by being a two dimentional array rather than array
+ of pointers.
+
+ New Files:
+ * src/truetype/ttpic.h declare struct to hold PIC globals for truetype
+ driver and macros to access them.
+ * src/truetype/ttpic.c implement functions to allocate, destroy and
+ initialize PIC globals for truetype driver.
+
+ * src/truetype/truetype.c add new file to build: ttpic.c.
+ * src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c.
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Position Independent Code (PIC) support and infrastructure in base.
+
+ * include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC
+ * include/freetype/internal/ftobjs.h Add pic_container member to
+ FT_LibraryRec.
+ Add macros to declare and init instances of FT_CMap_ClassRec.
+ Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs.
+ Add macros to declare, allocate and initialize modules
+ (FT_Module_Class).
+ Add macros to declare, allocate and initialize renderers
+ (FT_Renderer_Class).
+ Add macro to init instances of FT_Glyph_Class.
+ Add macros to declare, allocate and initialize drivers
+ (FT_Driver_ClassRec).
+ * include/freetype/internal/ftpic.h new file to declare the
+ FT_PIC_Container struct and the functions to allocate and detroy it.
+ * include/freetype/internal/ftserv.h add macros to allocate and
+ destory arrays of FT_ServiceDescRec.
+ * include/freetype/internal/internal.h define macro to include
+ ftpic.h.
+
+ New Files:
+ * src/base/ftpic.c implement functions to allocate and destory the
+ global pic_container.
+ * src/base/basepic.h declare struct to hold PIC globals for base and
+ macros to access them.
+ * src/base/basepic.c implement functions to allocate, destroy and
+ initialize PIC globals for base.
+
+ * src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement
+ functions that allocate and destroy ft_default_modules according to
+ FT_CONFIG_MODULES_H in the pic_container instead of the global scope
+ and use macro from basepic.h to access it.
+ * src/base/ftobjs.c add calls to the functions that allocate and
+ destroy the global pic_container when the library is created and
+ destroyed.
+
+ * src/base/jamfile add new files to FT2_MULTI build:
+ ftpic.c and basepic.c.
+ * src/base/ftbase.c add new files to build:
+ ftpic.c and basepic.c.
+
+ * src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined
+ ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated
+ in the pic_container instead of the global scope and use macros from
+ basepic.h to access them.
+ * src/base/ftbbox.c allocate bbox_interface stract on the stack
+ instead of the global scope when FT_CONFIG_OPTION_PIC is defined.
+ * src/base/ftstroke.c access ft_outline_glyph_class allocated in
+ ftglyph.c via macros from basepic.h
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Preparing changes in cff parser later needed for PIC version.
+
+ * src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c,
+ src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to
+ 'CFF_ParserRec' set by `cff_parser_init'.
+ Route library pointer from 'cff_face_init' to 'cff_subfont_load'
+ for `cff_parser_init'.
+
+ * src/cff/cffparse.c (CFF_Field_Handler): Move it to...
+ * src/cff/cffparse.h: This file, to be used by other C files.
+
+2009-04-05 Oran Agra <[email protected]>
+
+ Minor change in ftstroke.c.
+
+ * src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with
+ `library' needed for PIC version.
+ Update all callers.
+
+2009-04-04 Werner Lemberg <[email protected]>
+
+ ftnames.c -> ftsnames.c
+
+ * src/base/ftnames.c: Rename to...
+ * src/base/ftsnames.c: This.
+ * src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated.
+
+2009-04-04 Werner Lemberg <[email protected]>
+
+ Add support for cmap type 13.
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h
+ (TT_CONFIG_CMAP_FORMAT_13): New macro.
+
+ * src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init,
+ tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next,
+ tt_cmap13_get_info, tt_cmap13_char_map_def_binary,
+ tt_cmap14_class_rec): New functions and structures for cmap 13
+ support.
+ (tt_cmap_classes): Register tt_cmap13_class_rec.
+
+ * docs/CHANGES: Mention cmap 13 support.
+
+2009-04-01 Werner Lemberg <[email protected]>
+
+ Ignore empty contours in CFF glyphs.
+
+ Problem reported by Albert Astals Cid <[email protected]>.
+
+ * src/cff/cffgload.c (cff_builder_close_contour): Synchronize with
+ t1_builder_close_contour.
+
+2009-03-21 Werner Lemberg <[email protected]>
+
+ Another redundant header inclusion.
+
+ * src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041.
+
+2009-03-21 Werner Lemberg <[email protected]>
+
+ Remove redundant header inclusions.
+
+ This covers many Ghostscript Coverity issues.
+
+ * src/*: Do it.
+
+2009-03-21 Werner Lemberg <[email protected]>
+
+ Fix Ghostscript Coverity issue #3904.
+
+ * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
+ invalid values of `runcnt'.
+
+2009-03-20 Werner Lemberg <[email protected]>
+
+ Fix `make multi' run.
+
+ * src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H.
+
+2009-03-20 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #25923.
+
+ * src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo.
+
+2009-03-20 Werner Lemberg <[email protected]>
+
+ Protect against too large glyphs.
+
+ Problem reported by Tavis Ormandy <[email protected]>.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow
+ `pitch' or `height' to be larger than 0xFFFF.
+
+2009-03-20 Werner Lemberg <[email protected]>
+ Tavis Ormandy <[email protected]>
+
+ Fix validation for various cmap table formats.
+
+ * src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
+ tt_cmap12_validate): Check `length' correctly.
+ (tt_cmap_14_validate): Check `length' and `numMappings' correctly.
+
+2009-03-20 Werner Lemberg <[email protected]>
+
+ Protect against malformed compressed data.
+
+ * src/lzw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is
+ zero.
+
+2009-03-20 Werner Lemberg <[email protected]>
+
+ Protect against invalid SID values in CFFs.
+
+ Problem reported by Tavis Ormandy <[email protected]>.
+
+ * src/cff/cffload.c (cff_charset_load): Reject SID values larger
+ than 64999.
+
+2009-03-19 Vincent Richomme <[email protected]>
+
+ Update WinCE Visual C project files.
+
+ * builds/wince/vc2005-ce/freetype.vcproj,
+ builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension
+ files.
+
+2009-03-19 Werner Lemberg <[email protected]>
+
+ Remove unused Win32 code.
+
+ * builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'.
+ Since Win32 is handled separately this is no longer needed.
+
+2009-03-19 Vincent Richomme <[email protected]>
+
+ Make `gzip' module compile on WinCE.
+
+ * src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H.
+
+2009-03-19 Werner Lemberg <[email protected]>
+
+ Remove unused WinCE code.
+
+ * builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'.
+ Since WinCE is handled separately this is no longer needed.
+
+2009-03-16 Werner Lemberg <[email protected]>
+
+ docmaker: Don't ignore single-line code blocks.
+
+ * src/tools/docmaker/content.py (DocBlock::_init__): Fix change from
+ 2009-01-31.
+
+2009-03-15 Steve Langasek <[email protected]>
+
+ Use __asm__ for declaring assembly instead of asm.
+
+ * builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of
+ asm on arm, fixing a build failure on armel with -pedantic.
+
+2009-03-14 Werner Lemberg <[email protected]>
+
+ Fix valgrind warning.
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read
+ past the end of the frame.
+
+2009-03-12 Werner Lemberg <[email protected]>
+
+ * Version 2.3.9 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-9'.
+
+2009-03-12 Werner Lemberg <[email protected]>
+
+ * builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'.
+
+2009-03-12 Werner Lemberg <[email protected]>
+
+ Fix some FreeType Coverity issues as reported for Ghostscript.
+
+ * src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
+ `args.stream' (#3874, #3875).
+ (open_face_PS_from_sfnt_stream): Improve error management (#3786).
+ * src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
+ (#3870).
+ * src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
+ code (#3790).
+ * src/base/ftrfork.c (raccess_guess_apple_generic): Check error
+ value of `FT_Stream_Skip' (#3784).
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
+ it (#3872)
+
+ * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
+ it (#3871).
+ * src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
+ `pcf_get_metric' (#3789, #3782).
+ (pcf_get_properties): Use FT_STREAM_SKIP (#3783).
+
+ * src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
+ `acache' (#3797)
+
+ * src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
+ (#3796).
+ * src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795).
+ * src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794).
+
+ * src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
+ (#3793).
+ (_bdf_parse_start): Add comment (#3792).
+
+ * src/raster/ftraster.c (Finalize_Profile_Table): Check
+ `ras.fProfile' (#3791).
+
+ * src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785).
+
+ * src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
+ seek error (#3781).
+
+2009-03-11 Michael Toftdal <[email protected]>
+
+ Extend CID service functions to handle CID-keyed CFFs as CID fonts.
+
+ * include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed,
+ FT_Get_CID_From_Glyph_Index): New functions.
+
+ * include/freetype/internal/services/svcid.h
+ (FT_CID_GetIsInternallyCIDKeyedFunc,
+ FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs.
+ (CID Service): Use them.
+
+ * src/base/ftcid.c: Include FT_CID_H.
+ (FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index):
+ New functions.
+
+ * src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index):
+ New functions.
+ (cff_service_cid_info): Add them.
+ * src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids'
+ -- it is needed for access as a CID-keyed font. It gets deleted
+ later on.
+
+ * src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index):
+ New functions.
+ (cid_service_cid_info): Add them.
+
+ * docs/CHANGES: Updated.
+
+2009-03-11 Bram Tassyns <[email protected]>
+
+ Fix Savannah bug #25597.
+
+ * src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length
+ to become larger than 9.
+
+2009-03-11 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #25814.
+
+ * builds/unix/freetype2.in: As suggested in the bug report, move
+ @LIBZ@ to `Libs.private'.
+
+2009-03-11 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #25781.
+ We now simply check for a valid `offset', no longer handling `delta
+ = 1' specially.
+
+ * src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for
+ last segment.
+ (tt_cmap4_set_range, tt_cmap4_char_map_linear,
+ tt_cmap4_char_map_binary): Check offset.
+
+2009-03-11 Werner Lemberg <[email protected]>
+
+ * src/base/Jamfile: Fix handling of ftadvanc.c.
+ Reported by Oran Agra <[email protected]>.
+
+2009-03-10 Vincent Richomme <[email protected]>
+
+ Restructure Win32 and Wince compiler support.
+
+ * src/builds/win32: Remove files for WinCE.
+ Move VC 2005 support to a separate directory.
+ Add directory for VC 2008 support.
+
+ * src/builds/wince: New directory hierarchy for WinCE compilers
+ (VC 2005 and VC 2008).
+
+2009-03-09 Werner Lemberg <[email protected]>
+
+ More preparations for 2.3.9 release.
+
+ * docs/CHANGES: Updated.
+
+ * Jamfile, README: s/2.3.8/2.3.9/, s/238/239/.
+
+2009-03-09 Werner Lemberg <[email protected]>
+
+ * src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c.
+
+2009-03-09 Alexey Kryukov <[email protected]>
+
+ Fix handling of EBDT formats 8 and 9 (part 2).
+
+ This patch fixes the following problems in ttsbit0.c:
+
+ . Bitmaps for compound glyphs were never allocated.
+
+ . `SBitDecoder' refused to load metrics if some other metrics have
+ already been loaded. This condition certainly makes no sense for
+ recursive calls, so I've just disabled it. Another possibility
+ would be resetting `decoder->metrics_loaded' to false before
+ loading each composite component. However, we must restore the
+ original metrics after finishing the recursion; otherwise we can
+ get a misaligned glyph.
+
+ . `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos',
+ causing some glyph components to be shifted too far to the right
+ (especially noticeable for small sizes).
+
+ Note that support for grayscale bitmaps (not necessarily compound) is
+ completely broken in ttsbit0.c.
+
+ * src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics.
+ (tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case
+ of `h == height'.
+ (tt_sbit_decoder_load_compound): Reset metrics after loading
+ components.
+ Allocate bitmap.
+
+2009-03-09 Werner Lemberg <[email protected]>
+
+ * builds/unix/configure.raw (version_info): Set to 9:20:3.
+
+2009-03-03 David Turner <[email protected]>
+
+ Protect SFNT kerning table parser against malformed tables.
+
+ This closes Savannah BUG #25750.
+
+ * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a
+ bug where a malformed table would be successfully loaded but later
+ crash the engine during parsing.
+
+2009-03-03 David Turner <[email protected]>
+
+ Update documentation and bump version number to 2.3.9.
+
+ * include/freetype/freetype.h: Bump patch version to 9.
+ * docs/CHANGES: Document the ABI break in 2.3.8.
+ * docs/VERSION.DLL: Update version numbers table for 2.3.9.
+
+2009-03-03 David Turner <[email protected]>
+
+ Remove ABI-breaking field in public PS_InfoFontRec definition.
+
+ Instead, we define a new internal PS_FontExtraRec structure to
+ hold the additional field, then place it in various internal
+ positions of the corresponding FT_Face derived objects.
+
+ * include/freetype/t1tables.h (PS_FontInfoRec): Remove the
+ `fs_type' field from the public structure.
+ * include/freetype/internal/psaux.h (T1_FieldLocation): New
+ enumeration `T1_FIELD_LOCATION_FONT_EXTRA'.
+ * include/freetype/internal/t1types.h (PS_FontExtraRec): New
+ structure.
+ (T1_FontRec, CID_FaceRec): Add it.
+
+ * src/cid/cidload.c (cid_load_keyword): Handle
+ T1_FIELD_LOCATION_FONT_EXTRA.
+ * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c:
+ Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'.
+ * src/type1/t1load.c (t1_load_keyword): Handle
+ T1_FIELD_LOCATION_FONT_EXTRA.
+
+ * include/freetype/internal/services/svpsinfo.h (PsInfo service):
+ Add `PS_GetFontExtraFunc' function typedef.
+
+ * src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and
+ FT_SERVICE_POSTSCRIPT_INFO_H.
+ (FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service.
+
+ * src/cff/cffdrivr.c (cff_service_ps_info): Updated.
+ * src/cid/cidriver.c (cid_ps_get_font_extra): New function.
+ (cid_service_ps_info): Updated.
+ * src/type1/t1driver.c (t1_ps_get_font_extra): New function.
+ (t1_service_ps_info): Updated.
+ * src/type42/t42drivr.c (t42_ps_get_font_extra): New function.
+ (t42_service_ps_info): Updated.
+
+2009-03-02 Alexey Kryukov <[email protected]>
+
+ Fix handling of EBDT formats 8 and 9.
+
+ The main cycle in `blit_sbit' makes too many iterations: it actually
+ needs the count of lines in the source bitmap rather than in the
+ target image.
+
+ * src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]:
+ Add parameter `source_height' and use it for main loop.
+ (Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
+
+2009-02-23 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #25669.
+
+ * src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo.
+
+ * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix
+ scaling factor for non-scalable fonts.
+
+ * src/cff/cffdrivr.c (cff_get_advances): Use correct advance width
+ value to prevent incorrect scaling.
+
+ * docs/CHANGES: Document it.
+
+2009-02-15 Matt Godbolt <[email protected]>
+
+ Fix Savannah bug #25588.
+
+ * builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for
+ `orr' instruction.
+
+2009-02-11 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.
+ Reported by David Bevan <[email protected]>.
+
+2009-02-09 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #25495.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before
+ setting metrics and bbox values. This ensures that the check for a
+ font with neither a `glyf' table nor bitmap strikes can be performed
+ early enough to set metrics and bbox values too.
+
+2009-02-04 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #25480.
+
+ * builds/unix/freetype-config.in: For --ftversion, don't use $prefix
+ but $includedir.
+
+2009-01-31 Werner Lemberg <[email protected]>
+
+ Minor docmaker improvements.
+
+ * src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty
+ code blocks.
+
+2009-01-25 Werner Lemberg <[email protected]>
+
+ Fix SCANCTRL handling in TTFs.
+ Problem reported by Alexey Kryukov <[email protected]>.
+
+ * src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
+
+2009-01-23 Werner Lemberg <[email protected]>
+
+ Move FT_Get_FSType_Flags to a separate file.
+ Problem reported by Mickey Gabel <[email protected]>.
+
+ * src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
+ * src/base/ftfstype.c: This new file.
+
+ * modules.cfg (BASE_EXTENSION): Add ftfstype.c.
+
+ * docs/INSTALL.ANY: Updated.
+
+ * builds/mac/*.txt, builds/amiga/*makefile*,
+ builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
+ Updated.
+
+2009-01-22 suzuki toshiya <[email protected]>
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error
+ messages ending without "\n".
+
+2009-01-22 suzuki toshiya <[email protected]>
+
+ Fix Savannah bug #25347.
+
+ * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind
+ the stream to the original position passed to this function,
+ when ft_lookup_PS_in_sfnt_stream() failed.
+ (Mac_Read_sfnt_Resource): Rewind the stream to the head of
+ sfnt resource body, when open_face_PS_from_sfnt_stream()
+ failed.
+
+2009-01-19 Michael Lotz <[email protected]>
+
+ Fix Savannah bug #25355.
+
+ * include/freetype/config/ftconfig.h (FT_MulFix_i386): Make
+ assembler code work with gcc 2.95.3 (as used by the Haiku project).
+ Add `cc' register to the clobber list.
+
+2009-01-18 Werner Lemberg <[email protected]>
+
+ Protect FT_Get_Next_Char.
+
+ * src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to
+ change from 2008-07-22.
+
+ Patch from Ronen Ghoshal <[email protected]>.
+
+2009-01-18 Werner Lemberg <[email protected]>
+
+ Implement FT_Get_Name_Index for SFNT driver.
+
+ * src/sfnt/sfdriver.c (sfnt_get_name_index): New function.
+ (sfnt_service_glyph_dict): Use it.
+
+ Problem reported by Truc Truong <[email protected]>.
+
+2009-01-18 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix
+ documentation. Problem reported by Truc Truong <[email protected]>.
+
+ * docs/CHANGES: Updated.
+
+2009-01-14 Werner Lemberg <[email protected]>
+
+ * Version 2.3.8 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-8'.
+
+ * docs/VERSION.DLL: Update documentation and bump version number to
+ 2.3.8.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
+
+ * builds/unix/configure.raw (version_info): Set to 9:19:3.
+
+ * docs/release: Updated.
+
+2009-01-14 Werner Lemberg <[email protected]>
+
+ * builds/toplevel.mk (dist): Compress better.
+
+2009-01-13 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
+ with C++.
+
+2009-01-13 Werner Lemberg <[email protected]>
+
+ Don't use stdlib.h and friends directly.
+ Reported by Mickey Gabel <[email protected]>.
+
+ * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
+
+ * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
+ s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
+
+ * src/autofit/aftypes.h, src/autofit/afhints.c,
+ src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
+
+ * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
+
+2009-01-12 Werner Lemberg <[email protected]>
+
+ Avoid compiler warnings.
+
+ * */*: s/do ; while ( 0 )/do { } while ( 0 )/.
+ Reported by Sean McBride <[email protected]>.
+
+2009-01-12 Werner Lemberg <[email protected]>
+
+ Fix stdlib dependencies.
+
+ Problem reported by Mickey Gabel <[email protected]>.
+
+ * include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused.
+
+ * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
+ s/memcpy/ft_memcpy/.
+ * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
+
+2009-01-11 Werner Lemberg <[email protected]>
+
+ * docs/formats.txt: Add link to PCF specification.
+
+ * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
+ documentation.
+
+2009-01-09 suzuki toshiya <[email protected]>
+
+ * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
+ FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
+ FT_Int32, to match with the flags for FT_Load_Glyph().
+ * src/cff/cffdrivr.c (cff_get_advances): Ditto.
+ * src/truetype/ttdriver.c (tt_get_advances): Ditto.
+ * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
+ Ditto.
+ * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+ Ditto.
+
+2009-01-09 Daniel Zimmermann <[email protected]>
+
+ * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
+ length check. From Savannah patch #6682.
+
+2009-01-09 Werner Lemberg <[email protected]>
+
+ Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
+
+ * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
+ `count_offset' if it is zero (i.e., unused). Otherwise, the first
+ element of the structure which holds the data is erroneously
+ modified. Problem reported by Chi Nguyen <[email protected]>.
+
+2009-01-09 suzuki toshiya <[email protected]>
+
+ * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
+ FT_Get_Advances): Extend the type of load_flags from FT_UInt to
+ FT_UInt32, to pass 32-bit flags on 16bit platforms.
+ * src/cff/cffdrivr.c (cff_get_advances): Ditto.
+ * src/truetype/ttdriver.c (tt_get_advances): Ditto.
+ * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
+ Ditto.
+ * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+ Ditto.
+
+2009-01-09 suzuki toshiya <[email protected]>
+
+ * src/base/ftobjs.c (FT_Done_Library): Issue an error message when
+ FT_Done_Face() cannot free all faces. If the list of the opened
+ faces includes broken face which FT_Done_Face() cannot free,
+ FT_Done_Library() retries FT_Done_Face() and it can fall into
+ an endless loop. See the discussion:
+ http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
+ http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
+
+2009-01-07 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Document new key `a' in ftdiff.
+
+2009-01-06 Werner Lemberg <[email protected]>
+
+ * autogen.sh: Don't use GNUisms while calling sed. Problem reported
+ by Sean McBride.
+
+2009-01-06 Werner Lemberg <[email protected]>
+
+ * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
+ and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen
+
+2009-01-06 Diego Pettenò <[email protected]>
+
+ * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
+ AC_CANONICAL_TARGET and use $host_os only. A nice explanation for
+ this change can be found at
+ http://blog.flameeyes.eu/s/canonical-target.
+
+ From Savannah patch #6712.
+
+2009-01-06 Sean McBride <[email protected]>
+
+ * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
+
+ * src/base/ftmac.c: Remove some #undefs.
+
+2008-12-26 Werner Lemberg <[email protected]>
+
+ Set `face_index' field in FT_Face for all font formats.
+
+ * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
+ sfnt/sfobjs.c (sfnt_init_face): Do it.
+
+ * docs/CHANGES: Document it.
+
+2008-12-22 Steve Grubb
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
+ Patch from Savannah bug #25151.
+
+2008-12-21 Werner Lemberg <[email protected]>
+
+ * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
+ src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
+ s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for
+ errors in the bytecode interpreter only.
+
+2008-12-21 Werner Lemberg <[email protected]>
+
+ * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
+ arguments.
+ Fix return value for non-PFR fonts. Both problems reported by Chi
+ Nguyen <[email protected]>.
+
+2008-12-21 anonymous
+
+ FT_USE_MODULE declares things as:
+
+ extern const FT_Module_Class
+
+ (or similar for C++). However, the actual types of the variables
+ being declared are often different, e.g., FT_Driver_ClassRec or
+ FT_Renderer_Class. (Some are, indeed, FT_Module_Class.)
+
+ This works with most C compilers (since those structs begin with an
+ FT_Module_Class struct), but technically it's undefined behavior.
+
+ To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
+ paragraph 2:
+
+ All declarations that refer to the same object or function shall
+ have compatible type; otherwise, the behavior is undefined.
+
+ (And they are not compatible types.)
+
+ Most C compilers don't reject (or even detect!) code which has this
+ issue, but the GCC LTO development branch compiler does. (It
+ outputs the types of the objects while generating .o files, along
+ with a bunch of other information, then compares them when doing the
+ final link-time code generation pass.)
+
+ Patch from Savannah bug #25133.
+
+ * src/base/ftinit.c (FT_USE_MODULE): Include variable type.
+
+ * builds/amiga/include/freetype/config/ftmodule.h,
+ include/freetype/config/ftmodule.h, */module.mk: Updated to declare
+ pass correct types to FT_USE_MODULE.
+
+2008-12-21 Hongbo Ni <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_hint_edges),
+ src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
+ (af_cjk_hint_edges): Protect against division by zero. This fixes
+ Savannah bug #25124.
+
+2008-12-18 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2008-12-18 Bevan, David <[email protected]>
+
+ Provide API for accessing embedding and subsetting restriction
+ information.
+
+ * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
+ FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
+ FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
+ FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
+ macros.
+ (FT_Get_FSType_Flags): New function declaration.
+
+ * src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
+
+ * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
+ (t42_keywords): Handle `FSType'.
+
+ * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
+
+2008-12-17 Werner Lemberg <[email protected]>
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
+ macros so that copying the source code into an application works
+ out of the box.
+
+2008-12-17 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftsynth.h, src/base/ftsynth.c: Move
+ FT_GlyphSlot_Own_Bitmap to...
+ * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
+
+ * docs/CHANGES: Document it.
+
+2008-12-10 Werner Lemberg <[email protected]>
+
+ Generalize the concept of `tricky' fonts by introducing
+ FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
+ engine is necessary for correct rendering.
+
+ At the same time, slightly modify the behaviour of tricky fonts:
+ FT_LOAD_NO_HINTING is now ignored. To really force raw loading
+ of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
+ FT_LOAD_NO_AUTOHINT must be used.
+
+ Finally, tricky TrueType fonts always use the bytecode interpreter
+ even if the patented code is used.
+
+ * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
+ New macros.
+
+ * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
+ semantics as described above.
+
+ * src/truetype/ttobjs.c (tt_check_trickyness): New function, using
+ code of ...
+ (tt_face_init): This function, now simplified and updated to new
+ semantics.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
+ fonts.
+
+ * docs/CHANGES: Document it.
+
+2008-12-09 Werner Lemberg <[email protected]>
+
+ Really fix Savannah bug #25010: An SFNT font with neither outlines
+ nor bitmaps can be considered as containing space `glyphs' only.
+
+ * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
+ a `glyf' table is missing.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
+ `glyf' table but a non-zero `loca' entry.
+ (tt_loader_init): Handle missing `glyf' table.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
+ nor bitmaps is scalable.
+
+2008-12-05 Werner Lemberg <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This
+ fixes Savannah bug #21190 which also provides a basic patch.
+
+2008-12-05 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
+ 0x100 instead of 0x10000; the latter value is already occupied by
+ FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos.
+
+
+ Handle SFNT with neither outlines nor bitmaps. This fixes Savannah
+ bug #25010.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
+ outlines nor bitmaps.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
+ is no table with glyphs.
+
+
+ * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
+ message.
+
+2008-12-01 Werner Lemberg <[email protected]>
+
+ GDEF tables need `glyph_count' too for validation. Problem reported
+ by Chi Nguyen <[email protected]>.
+
+ * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
+ (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
+ `glyph_count'.
+
+2008-11-29 Werner Lemberg <[email protected]>
+
+ * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
+ src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
+ src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
+ src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
+ src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
+ (Atari PureC).
+
+2008-11-29 James Cloos <[email protected]>
+
+ * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
+ it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
+ in the /BlendDesignMap space).
+
+2008-11-29 James Cloos <[email protected]>
+
+ * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
+ whereas `design_points' is FT_Long*. Therefore, return blend rather
+ than design points.
+
+2008-11-27 Werner Lemberg <[email protected]>
+
+ * src/cff/cffparse.c (cff_parse_real): Handle more than nine
+ significant digits correctly. This fixes Savannah bug #24953.
+
+2008-11-25 Daniel Zimmermann <[email protected]>
+
+ * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
+ before the NULL check. From Savannah patch #6681.
+
+2008-11-24 Werner Lemberg <[email protected]>
+
+ Fixes from the gnuwin32 port.
+
+ * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
+
+ * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
+
+ * src/psaux/psobjs.c (ps_table_add): Check `length'.
+
+2008-11-15 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttinterp.c (tt_default_graphics_state): The default
+ value for `scan_type' is zero, as confirmed by Greg Hitchcock from
+ Microsoft. Problem reported by Michal Nowakowski
+
+2008-11-12 Tor Andersson <[email protected]>
+
+ * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
+ This fixes Savannah bug #24819.
+
+2008-11-08 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
+ since OpenType version 1.5 has been released.
+
+ * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
+ TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
+ (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
+ TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
+ TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
+ TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
+ TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
+ TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
+ TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
+ TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
+ TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
+ TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
+ TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
+ macros for OpenType 1.5.
+
+2008-11-08 Wenlin Institute <[email protected]>
+
+ * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
+ slot->internal == NULL. Reported by Graham Asher.
+
+2008-11-08 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
+ code so that memory allocation problems can be distinguished from
+ missing table entries. Reported by Graham Asher.
+ (GET_NAME): New macro.
+ (sfnt_load_face): Use it.
+
+2008-11-05 Werner Lemberg <[email protected]>
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h
+ [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
+ TT_CONFIG_OPTION_UNPATENTED_HINTING. This fixes the return value of
+ `FT_Get_TrueType_Engine_Type' (and makes it work as documented).
+ Reported in bug #441638 of bugzilla.novell.com.
+
+ * docs/CHANGES: Document it.
+
+2008-11-03 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_subrs): Use an endless loop. There are
+ fonts (like HELVI.PFB version 003.001, used on OS/2) which define
+ some `subrs' elements more than once. Problem reported by Peter
+ Weilbacher <[email protected]>.
+
+2008-10-15 Graham Asher <[email protected]>
+
+ * src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
+
+2008-10-15 David Turner <[email protected]>
+
+ * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
+ meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
+
+2008-10-14 Werner Lemberg <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
+ Suggested by Bram Tassyns in Savannah patch #6651.
+
+2008-10-12 Graham Asher <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
+ `underline_position'.
+
+2008-10-12 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2008-10-09 suzuki toshiya <[email protected]>
+
+ Fix Savannah bug #24468.
+
+ According to include/freetype/internal/ftobjs.h, the appropriate
+ type to interchange single character codepoint is FT_UInt32. It
+ should be distinguished from FT_UInt which can be 16bit integer.
+
+ * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
+ of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
+ (tt_cmap4_char_map_binary): Ditto.
+ (tt_cmap14_get_nondef_chars): Change the type of return value
+ from FT_UInt* to FT_UInt32*.
+
+2008-10-08 John Tytgat <[email protected]>
+
+ Fix Savannah bug #24485.
+
+ * src/type1/t1load.c (parse_charstrings): Assure that we always have
+ a .notdef glyph.
+
+2008-10-05 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
+ * builds/mac/ftmac.c: Ditto.
+
+2008-10-05 suzuki toshiya <[email protected]>
+
+ * include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
+ * src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
+
+2008-10-05 suzuki toshiya <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
+ the beginning of sfnt container.
+ * src/sfnt/ttload.c (check_table_dir): Return
+ `SFNT_Err_Table_Missing' when sfnt table directory structure is
+ correct but essential tables for TrueType fonts (`head', `bhed' or
+ `SING') are missing. Other errors are returned by
+ SFNT_Err_Unknown_File_Format.
+
+ * src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
+ `FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'. It is
+ enabled only when old mac font support is configured.
+
+2008-10-04 suzuki toshiya <[email protected]>
+
+ * include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
+ TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
+ the repeated calculations of these values in ftobjs.c and ftmac.c.
+ * src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
+ * src/base/ftmac.c: Ditto.
+ * builds/mac/ftmac.c: Ditto.
+
+2008-10-04 suzuki toshiya <[email protected]>
+
+ * src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
+ initialization of *is_sfnt_cid.
+
+2008-10-04 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
+ warnings.
+
+2008-10-04 suzuki toshiya <[email protected]>
+
+ * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
+ (ft_lookup_PS_in_sfnt_stream): This.
+ (open_face_PS_from_sfnt_stream): New function. It checks whether
+ the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
+ font, then try to open a face for given face_index.
+ (Mac_Read_sfnt_Resource): Replace the combination of
+ `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
+ `open_face_PS_from_sfnt_stream'.
+ * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+ * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+ * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
+ `open_face_PS_from_sfnt_stream'.
+
+2008-10-03 suzuki toshiya <[email protected]>
+
+ * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
+ FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
+
+2008-10-03 suzuki toshiya <[email protected]>
+
+ * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
+ MrC compiler of MPW is used. These compilers do not define the
+ macro __APPLE__ by themselves.
+ * builds/unix/ftconfig.in: Ditto.
+ * builds/vms/ftconfig.h: Ditto.
+ * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
+ include ftmac.c if FreeType 2 is built by MPW.
+ * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
+ enable shared functions for ftmac.c if FreeType 2 is built by MPW.
+
+ * builds/mac/ftmac.c: Include ftbase.h.
+ (memory_stream_close): Removed.
+ (new_memory_stream): Ditto.
+ (open_face_from_buffer): Removed. Use the implementation in
+ ftobjs.c.
+ (ft_lookup_PS_in_sfnt): Ditto.
+
+ * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
+ included part of ftbase.c, to share the functions in ftobjs.c. The
+ rule compiling ftmac.c separately is removed and the rule copying
+ ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
+ * builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
+ * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
+ * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
+
+2008-10-02 Bram Tassyns <[email protected]>
+
+ * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This
+ fixes Savannah bug #24430.
+
+2008-10-02 Werner Lemberg <[email protected]>
+
+ * builds/freetype.mk (BASE_H): Rename to...
+ (INTERNAL_H): This.
+ (FREETYPE_H): Updated.
+ * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
+ * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
+ * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
+ * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
+ * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
+ * src/type42/rules.mk (T42_DRV_H): Add t42types.h.
+
+2008-10-02 suzuki toshiya <[email protected]>
+
+ * src/base/ftbase.h: New file to declare the private utility
+ functions shared by the sources of base modules. Currently,
+ `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
+ share between ftobjs.c and ftmac.c.
+
+ * src/base/rule.mk: Add ftbase.h.
+
+ * src/base/ftobjs.c: Include ftbase.h.
+ (memory_stream_close): Build on any platform when old MacOS font
+ support is enabled.
+ (new_memory_stream): Ditto.
+ (open_face_from_buffer): Build on any platform when old MacOS font
+ support is enabled. The counting of the face in a font file is
+ slightly different between Carbon-dependent parser and Carbon-free
+ parser. They are merged with the platform-specific conditional.
+ (ft_lookup_PS_in_sfnt): Ditto.
+
+ * src/base/ftmac.c: Include ftbase.h.
+ (memory_stream_close): Removed.
+ (new_memory_stream): Ditto.
+ (open_face_from_buffer): Removed. Use the implementation in
+ ftobjs.c.
+ (ft_lookup_PS_in_sfnt): Ditto.
+
+2008-10-02 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
+ if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
+
+2008-10-01 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
+ (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
+ src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
+ (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
+ src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
+ Reported by Graham Asher.
+
+2008-09-30 suzuki toshiya <[email protected]>
+
+ * src/base/rules.mk: Add conditional source to BASE_SRC, for `make
+ multi' on Mac OS X. If the macro $(ftmac_c) is defined,
+ $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the
+ lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
+ ftmac.c.
+ * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
+ * builds/unix/configure.raw: Add procedure to set up appropriate
+ value of $(ftmac_c) with the consideration of the availability of
+ Carbon framework.
+
+2008-09-30 suzuki toshiya <[email protected]>
+
+ * src/base/Jamfile: Add target for multi build by jam on Mac OS X.
+ * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
+ function for MPW building. It is synchronized the condition to
+ include ftmac.c source into ftbase.c.
+
+2008-09-22 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
+ cff_decoder_parse_charstrings): Handle (invalid)
+ `callothersubr' and `pop' instructions.
+
+2008-09-22 John Tytgat <[email protected]>
+
+ Fix Savannah bug #24307.
+
+ * include/freetype/internal/t1types.h (CID_FaceRec),
+ src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
+
+2008-09-21 Werner Lemberg <[email protected]>
+
+ * src/smooth/ftgrays.c (gray_raster_render): Don't dereference
+ `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by
+ Stephan T. Lavavej <[email protected]>.
+
+2008-09-21 suzuki toshiya <[email protected]>
+
+ * src/otvalid/Jamfile: Add missing target `otvmath' for multi build
+ by jam.
+ * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
+ jam.
+
+2008-09-20 Werner Lemberg <[email protected]>
+
+ * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values
+ passed to this function are already `normalized'. Problem reported
+ by Stephan T. Lavavej <[email protected]>.
+
+ * docs/CHANGES: Document it.
+
+2008-09-20 Werner Lemberg <[email protected]>
+
+ * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
+ (FT_Outline_Decompose): Decorate with tracing messages.
+
+ * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
+ FT_DEBUG_LEVEL_TRACE.
+ [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
+ stdarg.h.
+
+ (FT_TRACE) [_STANDALONE_]: Remove.
+ (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
+ (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
+ (FT_ERROR) [_STANDALONE_]: Updated.
+
+ (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
+ Use FT_TRACE7.
+ (gray_dump_cells): Make it `static void'.
+ (gray_convert_glyph): Use FT_TRACE7.
+
+ (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
+ ftoutln.c.
+
+ * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
+ FT_ERROR_BASE.
+
+ * docs/formats.txt: Updated.
+
+2008-09-19 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
+ CID-keyed font support.
+ * builds/mac/ftmac.c: Ditto.
+
+2008-09-19 suzuki toshiya <[email protected]>
+
+ * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
+ sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
+ `open_face_from_buffer' frees the passed buffer if it cannot open a
+ face from the buffer, so the caller must not free it.
+
+2008-09-19 suzuki toshiya <[email protected]>
+
+ * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
+ for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
+ (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
+ table in sfnt table directory. It is used before loading TrueType
+ font driver.
+
+ * docs/CHANGES: Add note about the current status of sfnt-wrapped
+ Type1 and sfnt-wrapped CID-keyed font support.
+
+2008-09-18 Werner Lemberg <[email protected]>
+
+ * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
+ orthogonality (ft_free and ft_sfree could belong to different memory
+ pools). This fixes Savannah bug #24297.
+
+2008-09-18 suzuki toshiya <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
+ in ttags.h instead of numerical value 0x4F54544FL.
+
+2008-09-16 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.h, src/cff/cffgload.c
+ (cff_decoder_set_width_only): Eliminate function call.
+
+2008-09-15 George Williams <[email protected]>
+
+ Fix Savannah bug #24179, reported by Bram Tassyns.
+
+ * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
+ of default values.
+
+2008-09-15 Werner Lemberg <[email protected]>
+
+ * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
+ and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
+ prevent unconditional definition. This fixes Savannah bug #24241.
+
+ * src/psnames/pstables.h: Regenerated.
+
+2008-09-13 Werner Lemberg <[email protected]>
+
+ * autogen.sh, builds/unix/configure.raw,
+ include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
+ beautifying.
+
+ * include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
+ include/freetype/ftlcdfil.h: Protect against FreeType 1.
+ Some other minor fixes.
+
+ * devel/ftoption.h: Synchronize with
+ include/freetype/config/ftoption.h.
+
+2008-09-11 Werner Lemberg <[email protected]>
+
+ * src/base/ftbase.c: Include ftadvanc.c.
+
+2008-09-11 suzuki toshiya <[email protected]>
+
+ * builds/unix/ftconfig.in: Duplicate the cpp computation of
+ FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
+ (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp
+ computation is disabled and the statically configured sizes are
+ used. This fixes Savannah bug #21250.
+
+ * builds/unix/configure.raw: Add the checks to compare the cpp
+ computation results of the bit length of int and long versus the
+ sizes detected by running `configure'. If the results are
+ different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
+ results.
+ New option --{enable|disable}-biarch-config is added to define or
+ undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
+
+2008-09-05 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
+ ApplicationService framework is missing. Although this value is not
+ used in building of FreeType2, it is written in `freetype2.pc' and
+ `freetype-config'.
+
+2008-09-01 david turner <[email protected]>
+
+ * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
+ index to mean `use default cached FT_Face's charmap'. This fixes
+ Savannah bug #22625.
+ * include/freetype/ftcache.h: Document it.
+
+
+ Make FT_MulFix an inlined function. This is done to speed up
+ FreeType a little (on x86 3% when loading+hinting, 10% when
+ rendering, ARM savings are more important though). Disable this by
+ undefining FT_CONFIG_OPTION_INLINE_MULFIX.
+
+ Use of assembler code can now be controlled with
+ FT_CONFIG_OPTION_NO_ASSEMBLER.
+
+ * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
+ [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
+ implementation.
+ [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
+ implementation taken from `ftcalc.c'.
+ [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
+ which is defined to the platform-specific assembler implementation
+ of FT_MulFix.
+ [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
+ (FT_MULFIX_INLINED): New macro.
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
+ FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
+
+ * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
+
+ * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
+ FT_MULFIX_INLINED.
+
+
+ Add a new header named FT_ADVANCES_H declaring some new APIs to
+ extract the advances of one or more glyphs without necessarily
+ loading their outlines. Also provide `fast loaders' for the
+ TrueType, Type1, and CFF font drivers (more to come later).
+
+ * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
+
+ * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
+ * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
+
+ * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+ `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
+ respectively.
+
+ * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
+ ftadvanc.c.
+
+ * src/cff/cffdrivr.c (cff_get_advances): New function.
+ (cff_driver_class): Register it.
+
+ * src/cff/cffgload.c (cff_decoder_set_width_only): New function.
+ (cff_decoder_parse_charstrings): Handle `width_only'.
+ (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
+
+ * src/cff/cffgload.h (cff_decoder): New element `width_only'.
+ (cff_decoder_set_width_only): New declaration.
+
+ * src/truetype/ttdriver.c (tt_get_advances): New function.
+ (tt_driver_class): Register it.
+
+ * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
+ (TT_Get_HMetrics, TT_Get_VMetrics): This.
+ Update callers.
+ * src/truetype/ttgload.h: Declare them.
+
+ * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
+ function.
+ * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
+
+
+ Add checks for minimum version of the `autotools' stuff.
+
+ * autogen.sh: Implement it.
+ (get_major_version, get_minor_version, get_patch_version,
+ compare_to_minimum_version, check_tool_version): New auxiliary
+ functions.
+
+ * README.CVS: Document it.
+
+2008-08-29 suzuki toshiya <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
+ ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
+
+2008-08-28 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_encoding): Protect against infinite
+ loop. This fixes Savannah bug #24150 (where a patch has been posted
+ too).
+
+2008-08-23 Werner Lemberg <[email protected]>
+
+ * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
+ (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug
+ #24119.
+
+2008-08-19 suzuki toshiya <[email protected]>
+
+ * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
+ even if passed library or arguments are invalid. This fixes a bug
+ that an uninitialized stream is freed when an invalid library handle
+ is passed. Originally proposed by Mike Fabian, 2008/08/18 on
+ freetype-devel.
+ (FT_Open_Face): Ditto (stream).
+ (load_face_in_embedded_rfork): Ditto (stream2).
+
+2008-08-18 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c: Add a fallback to guess the availability of the
+ `ResourceIndex' type. It is used when built without configure
+ (e.g., a build with Jam).
+ * builds/mac/ftmac.c: Ditto.
+ * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
+ explicitly, even if `ResourceIndex' is unavailable.
+
+2008-08-18 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.raw: In checking of Mac OS X features,
+ all-in-one header file `Carbon.h' is replaced by the minimum
+ header file `CoreServices.h', similar to current src/base/ftmac.c.
+
+2008-08-18 suzuki toshiya <[email protected]>
+
+ * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
+ sub-header when its code_count is 0. Many Japanese Dynalab fonts
+ include such an empty sub-header (code_count == 0, first_code == 0
+ delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
+
+2008-08-04 Werner Lemberg <[email protected]>
+
+ * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes
+ Savannah bug #23995.
+
+ * src/cid/cidload.c (parse_expansion_factor): New callback function.
+ (cid_field_records): Use it for `ExpansionFactor'.
+ * src/cod/cidtoken.h: Handle `ForceBold' keyword.
+ Don't handle `ExpansionFactor'.
+
+2008-08-04 Bram Tassyns <[email protected]>
+
+ * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
+ resulted in incorrect scaling. This fixes Savannah bug #23973.
+
+2008-08-04 Werner Lemberg <[email protected]>
+
+ Be more tolerant w.r.t. invalid entries in SFNT table directory.
+
+ * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
+ adjust table count.
+ Add more trace messages.
+ (tt_face_load_font_dir): Updated.
+
+2008-07-30 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
+ assume that the first argument on the stack is the bottom-most
+ element. Two reasons:
+
+ o According to people from Adobe it is missing in the Type 2
+ specification that pushing of additional, superfluous arguments
+ on the stack is prohibited.
+
+ o Acroread in general handles fonts differently, namely by popping
+ the number of arguments needed for a particular operand (as a PS
+ interpreter would do). In case of buggy fonts this causes a
+ different interpretation which of the elements on the stack are
+ superfluous and which not.
+
+ Since there are CFF subfonts (embedded in PDFs) which rely on
+ Acroread's behaviour, FreeType now does the same.
+
+2008-07-27 Werner Lemberg <[email protected]>
+
+ Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This
+ fixes Savannah bug #23940.
+
+ * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
+ (EXTRA_GLYPH_LIST_SIZE): This.
+ Increase by 2.
+ (ft_wgl_extra_unicodes): Rename to...
+ (ft_extra_glyph_unicodes): This.
+ Add two code values.
+ (ft_wgl_extra_glyph_names): Rename to...
+ (ft_extra_glyph_names): This.
+ Add two glyphs.
+ (ft_wgl_extra_glyph_name_offsets): Rename to...
+ (ft_extra_glyph_name_offsets): This.
+ Add two offsets.
+
+ (ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
+ (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
+ Updated.
+ (ps_unicodes_init): Updated.
+
+2008-07-26 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.c (cff_decoder_prepare,
+ cff_decoder_parse_charstrings): Improve debug output.
+
+2008-07-22 Martin McBride <[email protected]>
+
+ * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
+ tt_cmap4_char_map_binary): Handle fonts which treat the last segment
+ specially. According to the specification, such fonts would be
+ invalid but acroread accepts them.
+
+2008-07-16 Jon Foster <[email protected]>
+
+ * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
+
+ * src/base/ftcalc.c (FT_MulFix): Fix portability issue.
+
+ * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
+ Fix compiler warning.
+
+2008-07-16 Werner Lemberg <[email protected]>
+
+ Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
+
+ * src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
+ Invert sids table only if `pure_cff' is set.
+ * src/cff/cffload.h: Udpated.
+
+ * src/cff/cffobjs.c (cff_face_init): Updated.
+ Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
+
+ * docs/CHANGES: Updated.
+
+2008-07-09 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
+ where num_locations < num_glyphs. Problem reported by Ding Li.
+
+2008-07-05 Werner Lemberg <[email protected]>
+
+ Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
+ newer. This fixes Savannah bug #23648.
+
+ * configure: zsh doesn't like ${1+"$@"}.
+ Update needed GNU make version.
+ * builds/toplevel.mk: Check for `$(eval ...)'.
+ * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
+ it.
+
+2008-07-04 Werner Lemberg <[email protected]>
+
+ * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
+ pixel, only check for dropouts if neither start nor end point lies
+ on a pixel center. This fixes Savannah bug #23762.
+
+2008-06-29 Werner Lemberg <[email protected]>
+
+ * Version 2.3.7 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-7'.
+
+ * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ version number to 2.3.7.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
+
+ * builds/unix/configure.raw (version_info): Set to 9:18:3.
+
+ * docs/release: Updated.
+
+2008-06-28 Werner Lemberg <[email protected]>
+
+ * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
+ * src/ftcalc.c: Here. This fixes Savannah bug #23729.
+
+2008-06-27 Werner Lemberg <[email protected]>
+
+ * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ Horizontal_Gray_Sweep_Drop): Test for intersections which
+ degenerate to a single point can be ignored; this has been confirmed
+ by Greg Hitchcock from Microsoft. (This was commented out code.)
+
+2008-06-26 Werner Lemberg <[email protected]>
+
+ Improve navigation in API reference.
+
+ * src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
+ (html_header_6): This.
+ (html_header_3, html_header_3i, html_header_4, html_header_5,
+ html_header_5t): New strings.
+ (toc_footer_start, toc_footer_end): New strings.
+ (HtmlFormatter::html_header): Updated.
+ (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
+ New strings.
+ (HtmlFormatter::index_enter): Use `html_index_header'.
+ (HtmlFormatter::index_exit): Print `html_footer'.
+ (HtmlFormatter::toc_enter): Use `html_toc_header'.
+ (HtmlFormatter::toc_exit): Print proper footer.
+
+ Convert ~ to non-breakable space.
+
+ * src/tools/docmaker/tohtml.py (make_html_para): Implement it.
+ Update header files accordingly.
+
+2008-06-24 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.raw: Check type `ResourceIndex' explicitly
+ and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5
+ bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
+ ResourceIndex type definition. The macro does not inform the type
+ availability.
+ * src/base/ftmac.c: More parentheses are inserted to clarify the
+ conditionals to disable legacy APIs in `10.5 and later' cases. If
+ HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
+
+2008-06-24 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
+ mode.
+
+ * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
+ Draw_Sweep): No-dropout mode is value 2, not value 0.
+ (Draw_Sweep): Really skip dropout handling for no-dropout mode.
+
+2008-06-24 Werner Lemberg <[email protected]>
+
+ * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
+ if it consists of one point only. Based on a patch from Savannah
+ bug #23683 (from John Tytgat).
+
+2008-06-22 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
+ with IS_HINTED.
+
+ * docs/CHANGES: Updated.
+
+2008-06-22 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
+ but LDFLAGS does not, import it to LDFLAGS. The option is used to
+ specify non-default SDK on Mac OS X (e.g., universal binary SDK for
+ Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
+ recommends to add the option only to CFLAGS, LDFLAGS should include
+ it because libfreetype.la is built with -no-undefined. This fixes a
+ bug reported by Ryan Schmidt in MacPorts,
+ http://trac.macports.org/ticket/15331.
+
+2008-06-21 Werner Lemberg <[email protected]>
+
+ Enable access to the various dropout rules of the B&W rasterizer.
+ Pass dropout rules from the TT bytecode interpreter to the
+ rasterizer.
+
+ * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
+ FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
+
+ * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
+ OpenType specification.
+ Fix mode 4 computation.
+ (Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
+
+ * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
+ mode to FT_OUTLINE_XXX flags.
+
+ * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
+
+2008-06-19 Werner Lemberg <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init): Compute final
+ `dict->units_per_em' value before assigning it to
+ `cffface->units_per_EM'. Otherwise, CFFs without subfonts are
+ scaled incorrectly if the font matrix is non-standard. This fixes
+ Savannah bug #23630.
+
+ * docs/CHANGES: Updated.
+
+2008-06-19 Werner Lemberg <[email protected]>
+
+ * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
+ from 2008-06-19.
+
+2008-06-18 Werner Lemberg <[email protected]>
+
+ * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
+ Reported by Peter Weilbacher <[email protected]>.
+
+ * docs/CHANGES: Updated.
+
+2008-06-15 George Williams <[email protected]>
+
+ * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
+ `valid->extra2' to 1. This is undocumented in the OpenType 1.5
+ specification.
+
+2008-06-15 Werner Lemberg <[email protected]>
+
+ * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
+ from clobbering. Patch from Savannah bug report #23556.
+
+ * docs/CHANGES: Document it.
+
+2008-06-10 Werner Lemberg <[email protected]>
+
+ * autogen.sh: Add option `--install' to libtoolize.
+
+2008-06-10 Werner Lemberg <[email protected]>
+
+ * Version 2.3.6 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-6'.
+
+ * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ version number to 2.3.6.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
+
+ * builds/unix/configure.raw (version_info): Set to 9:17:3.
+
+
+ * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
+ and `scale_y'.
+ * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
+
+
+ * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
+ * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+
+2008-06-10 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (open_face): Check `clazz->init_face' and
+ `clazz->done_face'.
+
+2008-06-09 VaDiM <[email protected]>
+
+ Support debugging on WinCE. From Savannah patch #6536; this fixes
+ bug #23497.
+
+ * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
+ as a replacement for OutputDebugStringA (which WinCE doesn't have).
+ Update all callers.
+ (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
+ environment variables.
+
+2008-06-09 Werner Lemberg <[email protected]>
+
+ * README.CVS: Updated.
+
+ * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
+ for newer versions of autoconf and friends.
+
+2008-06-08 Werner Lemberg <[email protected]>
+
+ * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
+ `private_len' unsigned.
+
+ * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
+ it as such.
+ (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
+
+
+ * src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
+
+
+ * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
+ for sane value.
+ Fix typo.
+
+
+ * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
+
+
+ * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
+ `last_point'.
+
+
+ * src/sfnt/ttload.c (tt_face_load_max_profile): Limit
+ `maxTwilightPoints'.
+
+2008-06-06 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
+ correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
+
+2008-06-03 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftcache.h (FTC_FaceID): Change type back to
+ FT_Pointer. Reported by Ian Britten <[email protected]>.
+
+2008-06-02 Werner Lemberg <[email protected]>
+
+ Emit header info for defined FreeType objects in reference.
+
+ * src/tools/docmaker/content.py (re_header_macro): New regexp.
+ (ContentProcessor::__init__): Initialize new dictionary `headers'.
+ (DocBlock::__init__): Collect macro header definitions.
+
+ * src/tools/docmaker/tohtml.py (header_location_header,
+ header_location_footer): New strings.
+ (HtmlFormatter::__init__): Pass `headers' dictionary.
+ (HtmlFormatter::print_html_field): Don't emit paragraph tags.
+ (HtmlFormatter::print_html_field_list): Emit empty paragraph.
+ (HtmlFormatter::block_enter): Emit header info.
+
+2008-06-01 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
+ FT_INCREMENTAL_H): Added.
+
+2008-05-28 Werner Lemberg <[email protected]>
+
+ * src/tools/docmaker/sources.py (SourceBlock::__init__): While
+ looking for markup tags, return immediately as soon a single one is
+ found.
+
+2008-05-28 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
+ original, unscaled input values. Confirmed by Greg Hitchcock from
+ Microsoft.
+
+2008-05-27 Werner Lemberg <[email protected]>
+
+ * src/tools/docmaker/tohtml.py (block_footer_start,
+ block_footer_middle): Beautify output.
+
+2008-05-25 Werner Lemberg <[email protected]>
+
+ * src/raster/ftraster.c (fc_black_render): Return 0 when we are
+ trying to render into a zero-width/height bitmap, not an error code.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
+ of the graphics state for subglyphs to...
+ (TT_Hint_Glyph): This function.
+ Hinting instructions for a composite glyph apparently refer to the
+ just hinted subglyphs, not the unhinted, unscaled outline. This
+ seems to fix Savannah bugs #20973 and (at least partially) #23310.
+
+2008-05-20 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
+ `aface' is returned by FT_New_Face_From_FOND(). The patch was
+ proposed by an anonymous reporter of Savannah bug #23204.
+
+2008-05-18 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
+ correction for pixel boundary. Without this patch, the effect can
+ be cumulative under certain circumstances, making glyphs taller and
+ taller after each call. This fixes Savannah bug #19976.
+
+2008-05-18 Werner Lemberg <[email protected]>
+
+ * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
+ This fixes Savannah bug #23280.
+
+ * docs/CHANGES: Updated.
+
+2008-05-18 David Turner <[email protected]>
+
+ * src/psnames/psmodule.c (ft_wgl_extra_unicodes,
+ ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
+ ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
+ declarations non-global.
+
+ * src/type1/t1load.c: Add missing comment.
+
+2008-05-17 Sam Hocevar <samh>
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
+ glyphs correctly. Patch from Savannah bug #23277.
+
+2008-05-16 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2008-05-16 Sergey Tolstov <[email protected]>
+
+ Improve support for WGL4 encoded fonts.
+
+ * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
+ (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
+ ft_wgl_extra_glyph_name_offsets): New arrays.
+ (ps_check_wgl_name, ps_check_wgl_unicode): New functions.
+ (ps_unicodes_init): Use them to add additional Unicode mappings.
+
+2008-05-15 Werner Lemberg <[email protected]>
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ <op_closepath>: `closepath' without a path is a no-op, not an error
+ (cf. the PS reference manual).
+
+ Reported by Martin McBride.
+
+2008-05-15 Werner Lemberg <[email protected]>
+
+ * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
+
+2008-05-15 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
+ which contains a single but empty entry. This is technically
+ invalid (since it must end with `return'), but...
+
+ Reported by Martin McBride.
+
+2008-05-14 Werner Lemberg <[email protected]>
+
+ Finish fix of scaling bug of CID-keyed CFF subfonts.
+
+ * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
+ (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
+ functions.
+
+ * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
+ provide global hinting data for both the top-font and all subfonts
+ (with proper scaling).
+
+ * src/cff/cffobjs.c (cff_make_private_dict): New function, using
+ code from `cff_size_init'.
+ (cff_size_init, cff_size_done, cff_size_select, cff_size_request):
+ Use CFF_Internal and handle subfonts.
+ (cff_face_init): Handle top-dict and subfont matrices correctly;
+ apply some heuristic in case of unlikely matrix concatenation
+ results. This has been discussed with people from Adobe (thanks
+ goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
+ and not correct.
+
+ * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
+
+ * src/cff/cffgload.c (cff_builder_init): Updated.
+ (cff_decoder_prepare): Handle hints globals for subfonts.
+ Update all callers.
+ (cff_slot_load): Handling scaling of subfonts properly.
+
+ * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
+ (cff_parse_font_matrix): Use it.
+
+ * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
+ FT_ULong.
+
+ * docs/CHANGES: Document it.
+
+2008-05-13 Werner Lemberg <[email protected]>
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
+ Handle case `face_index < 0'.
+ * docs/CHANGES: Document it.
+
+2008-05-04 Werner Lemberg <[email protected]>
+
+ First steps to fix the scaling bug of CID-keyed CFF subfonts,
+ reported by Ding Li on 2008/03/28 on freetype-devel.
+
+ * src/base/cff/cffparse.c (power_tens): New array.
+ (cff_parse_real): Rewritten to introduce a fourth parameter which
+ returns the `scaling' of the real number so that we have no
+ precision loss. This is not used yet.
+ Update all callers.
+ (cff_parse_fixed_thousand): Replace with...
+ (cff_parse_fixed_scaled): This function. Update all callers.
+
+2008-05-03 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
+ transformation since it recursively calls FT_Load_Glyph. This fixes
+ Savannah bug #23143.
+
+2008-04-26 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
+ and `scale_y' as obsolete since they aren't used.
+ * src/psaux/psobjs.c (t1_builder_init): Updated.
+
+ * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
+ obsolete since they aren't used.
+ * src/cff/cffgload.c (cff_builder_init): Updated.
+
+2008-04-14 Werner Lemberg <[email protected]>
+
+ * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
+ `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
+ bug #22909.
+
+2008-04-13 Werner Lemberg <[email protected]>
+
+ * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
+ integer part is zero.
+
+2008-04-01 Werner Lemberg <[email protected]>
+
+ Fix compilation with g++ 4.1 (with both `single' and `multi'
+ targets).
+
+ * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
+ which is crossed by a `goto'.
+
+ * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
+
+2008-03-31 Werner Lemberg <[email protected]>
+
+ Fix support for subsetted CID-keyed CFFs.
+
+ * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
+ FT_IS_CID_KEYED): New macros.
+
+ * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
+ maximum CID value in CID-keyed CFFs.
+ Handle FT_FACE_FLAG_CID_KEYED flag.
+
+ * docs/CHANGES: Document it.
+
+
+ Fix CFF font matrix calculation and improve precision.
+
+ * src/cff/cffparse.c (cff_parse_real): Increase precision if integer
+ part is zero.
+ (cff_parse_font_matrix): Simplify computation of `units_per_em';
+ this prevents overflow also.
+
+
+ Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
+
+ * src/cid/cidriver.c: Include FT_SERVICE_CID_H.
+ (cid_get_ros): New function.
+ (cid_service_cid_info): New service structure.
+ (cid_services): Register it.
+
+2008-03-23 Werner Lemberg <[email protected]>
+
+ Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
+
+ * builds/compiler/visualc.mk (CFLAGS): Remove /W5.
+ (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
+
+2008-03-21 Laurence Darby <ldarby>
+
+ * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
+ Savannah bug #22675.
+
+2008-03-13 Derek Clegg <[email protected]>
+
+ * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
+ Patch from Savannah bug #22541.
+
+2008-03-03 Masatoshi Kimura <[email protected]>
+
+ * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
+ tt_cmap14_find_variant): Return correct value.
+ (tt_cmap14_variant_chars): Fix check for `di'.
+
+2008-02-29 Wermer Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2008-02-29 Wolf
+
+ Add build support for symbian platform. From Savannah bug #22440.
+
+ * builds/symbian/*: New files.
+
+2008-02-21 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
+ synthesis. For any face of a specified FOND, always the name for
+ the first face was used. Except of a FOND that refers multiple
+ Type1 font files, wrong synthesized font names are not used at all,
+ so this is an invisible bug. A few limit checks are added too.
+
+ * builds/mac/ftmac.c: Ditto.
+
+2008-02-21 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.raw: Split compiler option to link Carbon
+ frameworks to one option for CoreServices framework and another
+ option for ApplicationServices framework. The split options can be
+ managed by GNU libtool to avoid unrequired duplication when FreeType
+ is linked with other applications. Suggested by Daniel Macks,
+ Savannah bug #22366.
+
+2008-02-18 Victor Stinner <[email protected]>
+
+ * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
+ from Savannah bug #22356.
+
+2008-02-17 Jonathan Blow <[email protected]>
+
+ * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
+ Check for valid callback pointers.
+
+2008-02-15 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
+ handle by its value instead of ResError(), fix provided by Deron
+ Kazmaier. According to the Resource Manager Reference,
+ GetResource(), Get1Resource(), GetNamedResource(),
+ Get1NamedResource() and RGetResource() set noErr but return NULL
+ handle when they can not find the requested resource. These
+ functions never return undefined values, so it is sufficient to
+ check if the handle is not NULL.
+
+ * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+
+2008-02-14 suzuki toshiya <[email protected]>
+
+ * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
+ inclusion styles. Now it always includes src/base/ftmac.c;
+ builds/mac/ftmac.c is never included in any configuration.
+
+ * builds/unix/configure.raw: Print warning if configure is executed
+ with options to specify Carbon functionalities explicitly.
+
+ * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
+ included automatically and manual replacement is required.
+
+2008-02-11 Werner Lemberg <[email protected]>
+
+ * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
+ (dos_setup), builds/freetype.mk (clean_project_dos,
+ distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
+ Murdoch.
+
+2008-01-18 Sylvain Pasche <[email protected]>
+
+ * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
+ mention intra-pixel algorithm.
+
+ * include/freetype/freetype.h (FT_Render_Mode): Mention that
+ FT_Library_SetLcdFilter can be used to reduce fringes.
+
+2008-01-16 Werner Lemberg <[email protected]>
+
+ * src/raster/ftraster.c (ft_black_render): Check `outline' before
+ using it. Reported by Allan Yang.
+
+2008-01-12 Werner Lemberg <[email protected]>
+
+ * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
+
+2008-01-12 Allan Yang, Jian Hua - SH <[email protected]>
+
+ * src/raster/ftraster.c (ft_black_init)
+ [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
+
+2008-01-10 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
+ where the number of contours in a simple glyph is zero (and which
+ does contain an entry in the `glyf' table). This fixes Savannah bug
+ #21990.
+
+2008-01-04 suzuki toshiya <[email protected]>
+
+ Formatting suggested by Sean McBride.
+
+ * builds/mac/ftmac.c: Formatting (tab expanded).
+ * src/autofit/afindic.c: Ditto.
+ * src/base/ftcid.c: Ditto.
+ * src/base/ftmac.c: Ditto.
+
+2007-12-30 Werner Lemberg <[email protected]>
+
+ * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
+ correctly.
+
+2007-12-21 suzuki toshiya <[email protected]>
+
+ Improvement of POSIX resource-fork accessor to load unsorted
+ references in a resource. In HelveLTMM (resource-fork PostScript
+ Type1 font bundled with Mac OS X since 10.3.x), the appearance order
+ of PFB chunks is not sorted; sorting the chunks by reference IDs is
+ required.
+
+ * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
+ type to store a pair of reference ID and offset to the chunk.
+
+ * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
+ sort FT_RFork_Ref by their reference IDs.
+
+ (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
+ sorted by reference ID.
+
+2007-12-14 Werner Lemberg <[email protected]>
+
+ * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
+ division too early; otherwise the most significant digit(s) of the
+ final result are lost as the value is truncated to an integer. This
+ fixes Savannah bug #21794 (where the patch has been posted too).
+
+2007-12-06 Fix <[email protected]>
+
+ Pass options from one configure script to another as-is (not
+ expanded). This is needed for options like
+ --includedir='${prefix}/include'.
+
+ * builds/unix/detect.mk, configure: Prevent argument expansion in
+ call to the (real) `configure' script.
+
+2007-12-06 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
+ TT_USE_BYTECODE_INTERPRETER isn't defined.
+
+2007-12-06 Werner Lemberg <[email protected]>
+
+ There exist CFFs which contain opcodes for the Type 1 operators
+ `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
+ However, it doesn't harm to support them.
+
+ * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
+ `cff_op_closepath.'
+ (cff_argument_counts): Ditto.
+
+ (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
+ and 13 (hsbw) which are invalid in Type 2 charstrings.
+
+2007-12-06 suzuki toshiya <[email protected]>
+
+ * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
+ support new pathname syntax `..namedfork/rsrc' to access a resource
+ fork on Mac OS X. The legacy syntax `/rsrc' does not work on
+ case-sensitive HFS+.
+ (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
+ buffer size to store a pathname.
+ * include/freetype/internal/ftrfork.h: Increment the number of
+ resource fork guessing rule.
+
+2007-12-06 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.raw: Improve the compile tests to search
+ Carbon functions.
+ * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
+ proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
+
+2007-12-06 suzuki toshiya <[email protected]>
+
+ The documents and comments for Mac OS X are improved by Sean
+ McBride.
+
+ * src/base/ftmac.c: Fix a comment.
+ * include/freetype/ftmac.h: Ditto.
+ * docs/INSTALL.MAC: Improve English and add comment on lowest
+ system version specified by MACOSX_DEPLOYMENT_TARGET.
+
+2007-12-04 Werner Lemberg <[email protected]>
+
+ * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
+ concatenate error codes.
+ * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
+
+2007-12-04 Graham Asher <[email protected]>
+
+ * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
+ concatenate error codes.
+
+2007-12-04 Sean McBride <[email protected]>
+
+ * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
+ warning.
+
+2007-11-20 suzuki toshiya <[email protected]>
+
+ Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
+ not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
+ cannot mmap() the specified file and cannot seek to head of the
+ specified file, it returns NULL stream and FT_Open_New() returns the
+ error immediately. On MacOS, most legacy MacOS fonts fall into such
+ a scenario because their data forks are zero-sized and cannot be
+ sought. To proceed to guessing of resource fork fonts, the
+ functions for legacy MacOS font must properly handle the NULL stream
+ returned by FT_New_Stream().
+
+ * src/base/ftobjs.c (IsMacBinary): Return error
+ FT_Err_Invalid_Stream_Operation immediately when NULL stream is
+ passed.
+ (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
+ to fallback. Originally, legacy MacOS font is tested in the cases
+ of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
+ or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
+ .dfont header is combined). Now the case of
+ FT_Err_Cannot_Open_Stream is included.
+
+ * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
+ skip FT_Stream_Seek(), which seeks to the head of stream, and
+ proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
+ for a NULL stream causes a Bus error on Mac OS X.
+ (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
+ immediately if passed stream is NULL.
+ (raccess_guess_apple_single): Ditto.
+
+2007-11-16 suzuki toshiya <[email protected]>
+
+ Fix for Carbon incompatibilities since Mac OS X 10.5,
+ proposed by Sean McBride.
+
+ * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
+
+ * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
+ FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
+ Carbon functions from a forked process is classified as unsafe
+ by Apple. All Carbon-dependent functions should be deprecated.
+
+ * src/base/ftmac.c: Use essential header files
+ <CoreServices/CoreServices.h> and
+ <ApplicationServices/ApplicationServices.h> instead of
+ all-in-one header file <Carbon/Carbon.h>.
+
+ Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
+ genuine macro PATH_MAX.
+
+ Add fallback macro for kATSOptionFlagsUnRestrictedScope which
+ is not found in Mac OS X 10.0.
+
+ Multi-character constants ('POST', 'sfnt' etc) are replaced by
+ 64bit constants calculated by FT_MAKE_TAG() macro.
+
+ For the index in the segment of resource fork, new portable
+ type ResourceIndex is introduced for better compatibility.
+ This type is since Mac OS X 10.5, so it is defined as short
+ when built on older platforms.
+
+ (FT_ATSFontGetFileReference): If build target is only the systems
+ 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
+
+ (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
+ and newer or 64bit platform, because legacy type FSSpec type is
+ removed completely.
+
+ (FT_New_Face_From_FSSpec): Ditto.
+
+2007-11-01 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
+ fixes Savannah bug #21485.
+
+2007-10-29 Daniel Svoboda <dasvo@planeta@cz>
+
+ * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
+ can handle the font at all, then check `face_index'. Otherwise, the
+ driver might return the wrong error code. This fixes Savannah bug
+ #21468.
+
+2007-10-21 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
+ support for bit 8 of the `fsSelection' field in the `OS/2' table.
+ MS is already using this; hopefully, this becomes part of OpenType
+ 1.5.
+ Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
+ (WWS_SUBFAMILY).
+
+2007-10-20 Werner Lemberg <[email protected]>
+
+ * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
+ Add `td.left' element to CSS.
+ (toc_section_enter): Use it.
+
+2007-10-18 David Turner <[email protected]>
+
+ * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
+ functions related to cmap type 14 support to the
+ `FT_Object_ActionName' scheme:
+
+ FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
+ FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
+ FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
+ FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
+ FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
+
+ Update documentation accordingly.
+
+ * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
+ Make the code a little more consistent with FreeType coding
+ conventions and modify the cmap14 functions that returned a newly
+ allocated array to use a persistent vector from the TT_CMap14 object
+ instead.
+
+ (TT_CMap14Rec): Provide array and auxiliary data for result.
+ (tt_cmap14_done, tt_cmap14_ensure): New functions.
+
+ (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
+ tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
+ tt_cmap14_char_var_index, tt_cmap14_variants,
+ tt_cmap14_char_variants, tt_cmap14_def_char_count,
+ tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
+ tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
+
+2007-10-15 George Williams <[email protected]>
+
+ Add support for cmap type 14.
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h
+ (TT_CONFIG_CMAP_FORMAT_14): New macro.
+
+ * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
+ FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
+ FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
+ support function prototypes.
+ (FT_CMap_ClassRec): Add them.
+ Update all users.
+
+ * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
+ macro.
+
+ * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
+ FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
+ FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
+ functions.
+
+ * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
+ function.
+ (FT_Set_Charmap): Disallow cmaps of type 14.
+ (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
+ FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
+ FT_Get_Chars_Of_Variant): New API functions.
+
+ * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
+
+ (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
+ tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
+ tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
+ tt_cmap14_find_variant, tt_cmap14_char_var_index,
+ tt_cmap14_char_var_isdefault, tt_cmap14_variants,
+ tt_cmap14_char_variants, tt_cmap14_def_char_count,
+ tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
+ tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
+ structures for cmap 14 support.
+ (tt_cmap_classes): Register tt_cmap14_class_rec.
+ (tt_face_build_cmaps): One more error message.
+
+ * docs/CHANGES: Mention cmap 14 support.
+
+2007-10-01 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
+ charmap fails, do the loop again while searching a UCS-2 charmap.
+ This favours MS charmaps over Apple ones.
+
+2007-08-29 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c: Introduction of abstract `short' data types,
+ ResFileRefNum and ResID. These types were introduced for Copland,
+ then backported to MPW. The variables exchanged with FileManager
+ QuickDraw frameworks are redefined by these data types. Patch was
+ proposed by Sean McBride.
+ * builds/mac/ftmac.c: Ditto.
+
+2007-08-18 Werner Lemberg <[email protected]>
+
+ * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
+ by Imran Yousaf. Fixes Savannah bug #20773.
+
+ (otv_Lookup_validate): Correct handling of LookupType. Found by
+ Imran Yousaf. Fixes Savannah bug #20782.
+
+2007-08-17 George Williams <[email protected]>
+
+ * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
+ SingleSubstFormat1.
+
+2007-08-11 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
+ ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
+ Found by Ryan Hill.
+
+2007-08-11 George Williams <[email protected]>
+
+ * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
+ (otv_Coverage_validate): Add fourth argument to pass an expected
+ count value. Update all users.
+ Check glyph IDs.
+ (otv_ClassDef_validate): Check `StartGlyph'.
+
+ * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
+ checks.
+
+ * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
+ 56 constants.
+ (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
+ Check glyph IDs.
+
+2007-08-08 Werner Lemberg <[email protected]>
+
+ * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
+ src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
+ src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
+ appropriate. Reported by George.
+
+ * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
+
+ * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
+
+ * docs/CHANGES: Updated.
+
+2007-08-08 George Williams <[email protected]>
+
+ Add `MATH' validating support to otvalid module.
+
+ * include/freetype/tttags.h (TTAG_MATH): New macro.
+ * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
+ (FT_VALIDATE_OT): Updated.
+
+ * src/otvalid/otmath.c: New file.
+
+ * src/otvalid/otvalid.c: Include otvmath.c.
+ * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
+
+2007-08-04 Werner Lemberg <[email protected]>
+
+ * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
+ Fixes Savannah bug #20686.
+
+2007-08-03 Werner Lemberg <[email protected]>
+
+ * src/psnames/psmodule.c: Fix usage of
+ FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
+
+2007-07-31 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c (open_face_from_buffer): The argument
+ `driver_name' is typed as `const char*' to match with the
+ callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
+ This is same with open_face_from_buffer in src/base/ftobjs.c.
+ Found and fixed by Sean McBride.
+
+2007-07-28 Werner Lemberg <[email protected]>
+
+ * src/raster/ftraster.c (count_table): Make it conditional.
+ * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
+ a preprocessor statement.
+
+2007-07-27 Werner Lemberg <[email protected]>
+
+ * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
+ first usage. From Savannah patch #6115.
+
+2007-07-16 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2007-07-16 Derek Clegg <[email protected]>
+
+ Add new service for getting the ROS from a CID font.
+
+ * include/freetype/config/ftheader.h (FT_CID_H): New macro.
+ * include/freetype/ftcid.h: New file.
+
+ * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
+ * include/freetype/internal/services/svcid.h: New file.
+
+ * src/base/ftcid.c: New file.
+
+ * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
+ (cff_get_ros): New function.
+ (cff_service_cid_info): New service structure.
+ (cff_services): Register it.
+
+ * src/cff/cffload.c (cff_font_done): Free registry and ordering.
+
+ * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
+
+ * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
+
+2007-07-11 Derek Clegg <[email protected]>
+
+ Add support for postscript name service to CFF driver.
+
+ * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
+ (cff_get_ps_name): New function.
+ (cff_service_ps_name): New service structure.
+ (cff_services): Register it.
+
+2007-07-07 Werner Lemberg <[email protected]>
+
+ * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
+ `target'. Reported by Sean McBride.
+
+2007-07-06 Werner Lemberg <[email protected]>
+
+ * src/pfr/pfrcmap.c: Include pfrerror.h.
+
+ * src/autofit/afindic.c: Add some external declarations to pacify
+ `make multi' compilation.
+
+ * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
+
+ * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
+ (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
+ src/autofit/aflatin.c (af_latin_hints_compute_edges),
+ src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
+ (tt_face_get_metrics), src/base/ftobjs.c (open_face)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
+
+ * docs/release: Mention test compilation targets.
+
+2007-07-04 Werner Lemberg <[email protected]>
+
+ * docs/PROBLEMS: Mention that some PS based fonts can't be
+ handled correctly by FreeType.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
+ recursion depth of 1. This was the maximum value in TrueType 1.0,
+ and some older fonts don't set this field correctly.
+
+ * src/gxvalid/gxvmort1.c
+ (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
+
+2007-07-03 Werner Lemberg <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
+ `round' to pacify compiler.
+
+2007-07-02 Werner Lemberg <[email protected]>
+
+
+ * Version 2.3.5 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-5'.
+
+ * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ version number to 2.3.5.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+
+ * builds/unix/configure.raw (version_info): Set to 9:16:3.
+
+2007-07-01 David Turner <[email protected]>
+
+ * include/freetype/freetype.h, src/base/ftpatent.c
+ (FT_Face_SetUnpatentedHinting): New function to dynamically change
+ the setting after a face is created.
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
+ that created distortions in the bytecode interpreter results.
+
+2007-06-30 David Turner <[email protected]>
+
+ * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
+ initialization.
+
+ * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
+ infinite loop in the case of degenerate fonts.
+
+2007-06-26 Rahul Bhalerao <[email protected]>
+
+ Add autofit module for Indic scripts. This currently just reuses
+ the CJK-specific functions.
+
+ * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
+ macro.
+ * devel/ftoption.h: Synchronize with
+ include/freetype/config/ftoption.h.
+
+ * src/autofit/afindic.c, src/autofit/afindic.h: New files.
+
+ * src/autofit/afglobal.c, src/autofit/aftypes.h,
+ src/autofit/autofit.c: Updated.
+
+ * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
+ (AUTOF_DRV_SRC): Updated.
+
+2007-06-23 David Turner <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
+ 2007-06-16 that prevented the TrueType module from loading most
+ glyphs.
+
+2007-06-20 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
+ change.
+
+2007-06-19 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_encoding): Handle one more error.
+
+2007-06-19 Dmitry Timoshkov <[email protected]>
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
+ FNT_Err_Invalid_File_Format if file format was recognized but
+ the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
+ Add verbose debug logs to make it easier to debug failing load
+ attempts.
+ (FNT_Face_Init): A single FNT font can't contain more than 1 face,
+ so return an error if requested face index is > 0.
+ Do not do further attempt to load fonts if a previous attempt has
+ failed but returned error FNT_Err_Invalid_File_Format, i.e., the
+ file format has been recognized but no fonts found in the file.
+
+2007-07-19 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c: Apply patches proposed by Sean McBride.
+ (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
+ the compiler warnings against unused arguments.
+ (FT_ATSFontGetFileReference): Ditto.
+ (FT_GetFile_From_Mac_ATS_Name): Ditto.
+ (FT_New_Face_From_FSSpec): Ditto.
+ (lookup_lwfn_by_fond): Fix wrong comment.
+ Replace `const StringPtr' by more appropriate type
+ `ConstStr255Param'.
+ FSRefMakePathPath always returns UTF8 POSIX pathname in
+ Mach-O, thus HFS pathname support is dropped.
+ (count_faces): Remove HLock and HUnlock which is not
+ required on Mac OS X anymore.
+ (FT_New_Face_From_SFNT): Ditto.
+ (FT_New_Face_From_FOND): Ditto.
+ * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
+ except of HFS pathname support and HLock/HUnlock.
+ They are required on classic CFM environment.
+
+2007-06-18 Werner Lemberg <[email protected]>
+
+ * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
+ assertion.
+ (ps_parser_to_bytes): Fix error message.
+
+ * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
+ * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
+ Don't allow mixed binary and hex strings.
+ Handle string_size == 0 and string_buf == 0.
+ (t42_parse_encoding): Handle one more error.
+
+2007-06-18 Werner Lemberg <[email protected]>
+
+ * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
+ logic.
+ (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
+ correctly.
+ (ps_parser_load_field_table): Use `fields->array_max' instead of
+ T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
+
+ * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
+ 2007-06-06.
+
+2007-06-17 Werner Lemberg <[email protected]>
+
+ * src/tools/ftrandom.c (font_size): New global variable.
+ (TestFace): Use it.
+ (main): Handle new option `--size' to set `font_size'.
+ (Usage): Updated.
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
+ invalid font.
+ (FNT_Load_Glyph): Protect against invalid bitmap width.
+
+2007-06-16 David Turner <[email protected]>
+
+ * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
+ Prevent integer overflows when rendering very large outlines.
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
+ well-formedness of the contours array when loading a glyph.
+
+ * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
+ and `zp2'.
+ (Ins_IP): Check argument ranges to reject bogus operations properly.
+ (IUP_WorkerRec): Add `max_points' member.
+ (_iup_worker_interpolate): Check argument ranges.
+ (Ins_IUP): Ignore empty outlines.
+
+2007-06-16 Dmitry Timoshkov <[email protected]>
+
+ * src/winfonts/winfnt.h: Add necessary structures for PE resource
+ parsing.
+ (WinPE32_HeaderRec): New structure.
+ (WinPE32_SectionRec): New structure.
+ (WinPE_RsrcDirRec): New structure.
+ (WinPE_RsrcDirEntryRec): New structure.
+ (WinPE_RsrcDataEntryRec): New structure.
+ (FNT_FontRec): Remove unused `size_shift' field.
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
+ loading bitmap .fon files in PE format.
+
+2007-06-15 Dmitry Timoshkov <[email protected]>
+
+ * builds/win32/ftdebug.c: Unify debug level handling with other
+ platforms.
+
+2007-06-14 Dmitry Timoshkov <[email protected]>
+
+ * builds/win32/ftdebug.c (FT_Message): Send debug output to the
+ console as well as to the debugger.
+
+2007-06-14 Werner Lemberg <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
+ cover all ranges which could possibly be handled by the aflatin
+ module (since the default fallback for unknown ranges is now the
+ afcjk module). It might be necessary to fine-tune this further by
+ splitting off modules for Greek, Cyrillic, or other blocks.
+
+2007-06-11 David Turner <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
+ incorrect segment linking computation. This was the root cause of
+ Savannah bug #19565.
+
+
+ * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
+ to improve the Latin auto-hinter. Note that the new code is
+ disabled by default since it is not stabilized yet.
+
+ * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
+ (disabled currently).
+
+ * src/autofit/afhints.c: Remove dead code.
+ (af_axis_hints_new_edge): Add argument to handle segment directions.
+ (af_edge_flags_to_string): New function.
+ (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
+ option flags.
+ (af_glyph_hints_reload): Add argument to handle inflections.
+ Simplify.
+ (af_direction_compute): Fine tuning.
+ (af_glyph_hints_align_edge_points): Fix logic.
+ (af_glyph_hints_align_strong_points): Do linear search for small
+ edge counts.
+ (af_glyph_hints_align_weak_points): Skip any touched neighbors.
+ (af_iup_shift): Handle zero `delta'.
+
+ * src/autofit/afhints.h: Updated.
+ (AF_SORT_SEGMENTS): New macro (disabled).
+ (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
+
+ * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
+ argument to pass option flags for handling scripts.
+ * src/autofit/afglobal.h: Updated.
+
+ * src/autofit/afcjk.c: Updated.
+ * src/autofit/aflatin.c: Updated.
+ (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
+
+ (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
+ (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
+ Don't set `edge->dir'
+ (af_latin_hint_edges): Add more logging.
+
+ * src/autofit/afloader.c: Updated.
+
+2007-06-11 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
+
+2007-06-10 David Turner <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
+ the TrueType glyph loader.
+
+ * include/freetype/config/ftoption.h: Clarify documentation
+ regarding unpatented hinting.
+
+
+ Add new `FT_Face_CheckTrueTypePatents' API.
+
+ * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
+ declaration.
+
+ * include/freetype/internal/services/svttglyf.h,
+ src/base/ftpatent.c: New files.
+
+ * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
+ New macro.
+
+ * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
+ `ttpload.h'.
+ (tt_service_truetype_glyf): New service structure.
+ (tt_services): Register it.
+
+ * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
+ `ftpatent.c'.
+
+2007-06-08 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
+ Fonts without a cmap must be handled correctly by FreeType (anything
+ else would be a bug).
+
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
+
+2007-06-07 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
+ tt_sbit_decoder_load_image): Protect against integer overflows.
+
+
+ * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
+ for `x_control' and `y_control'.
+
+2007-06-06 Werner Lemberg <[email protected]>
+
+ * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
+
+
+ * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
+ FreeType error.
+
+
+ * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
+ `font_count'.
+
+
+ * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
+
+
+ * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
+ `FT_Error'.
+ Check `fd_index'.
+ (cff_slot_load): Updated.
+ * src/cff/cffgload.h: Updated.
+
+2007-06-05 Werner Lemberg <[email protected]>
+
+ * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
+ (pfr_glyph_load_simple): Convert assertion into normal FreeType
+ error.
+ Check `idx'.
+ (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
+ Convert assertion into normal FreeType error.
+
+ * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
+
+
+ * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
+
+
+ * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
+ in case of parsing error.
+ (ps_parser_load_field): Updated.
+
+ * src/type1/t1load.c (parse_font_matrix): Updated.
+
+2007-06-04 Werner Lemberg <[email protected]>
+
+ * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
+
+ * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
+
+2007-06-03 Werner Lemberg <[email protected]>
+
+ * src/tools/ftrandom/*: Add the `ftrandom' test program written by
+ George Williams (with some modifications).
+
+2007-06-03 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
+ (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
+ face == NULL. Suggested by Graham Asher.
+
+2007-06-03 Ismail Dönmez <[email protected]>
+
+ * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
+
+2007-06-02 Werner Lemberg <[email protected]>
+
+ * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
+ FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
+
+ * src/bdf/bdflib.c (bdf_load_font): Use them.
+
+ * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
+
+2007-06-01 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
+ (FTC_CMapCache_Lookup): Remove unused code.
+
+2007-06-01 Sean McBride <[email protected]>
+
+ * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
+ unused.
+
+2007-06-01 Werner Lemberg <[email protected]>
+
+ * src/cid/cidparse.c (cid_parser_new): Don't continue second search
+ pass for `StartData' if an error has occurred.
+ Exit properly if no `StartData' has been seen at all.
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
+ LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
+
+2007-05-30 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
+ against too small binary data strings.
+
+ * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
+
+2007-05-28 David Turner <[email protected]>
+
+ * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
+ transformation. This significantly reduces the loading time of CFF
+ glyphs.
+
+ * docs/CHANGES: Updated.
+
+ * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
+ hinting script to CJK, since it works well with more scripts than
+ latin. Thanks to Rahul Bhalerao <[email protected]> for pointing
+ this out!
+
+2007-05-25 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2007-05-24 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
+ into TT_USE_BYTECODE_INTERPRETER preprocessor block.
+
+2007-05-24 Graham Asher <[email protected]>
+
+ * src/truetype/ttobjs.c (tt_size_ready_bytecode)
+ [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
+
+2007-05-22 David Turner <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
+ avoid crashes in case the bytecode interpreter is not used.
+
+
+ Avoid heap blowup with very large .Z font files. This fixes
+ Savannah bug #19910.
+
+ * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
+ `in_limit', `pad', `pad_bits', and `in_buff' members.
+ Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
+ `buf_total' members.
+
+ * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
+ only one argument.
+ (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
+
+2007-05-20 Ismail Dönmez <[email protected]>
+
+ * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
+ (ps_dimension_set_mask_bits): Remove `const'.
+
+2007-05-19 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttmtx.c (tt_face_get_metrics)
+ [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
+
+2007-05-19 Derek Clegg <[email protected]>
+
+ Savannah patch #5929.
+
+ * include/freetype/tttables.h, src/base/ftobjcs.c
+ (FT_Get_CMap_Format): New function.
+
+ * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
+ `format' member.
+ * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
+ cmap_info->format.
+
+2007-05-19 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
+ before handling subglyphs so that it can be reinitialized each time.
+ This fixes Savannah bug #19859.
+
+2007-05-16 Werner Lemberg <[email protected]>
+
+ * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
+ src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
+ (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
+ src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
+ tt_face_get_metrics): Fix type-punning issues.
+
+2007-05-15 David Turner <[email protected]>
+
+ * include/freetype/config/ftstdlib.h,
+ include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
+ ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
+ instead on relying on the locale-dependent functions provided by
+ <ctypes.h>.
+
+2007-05-15 Graham Asher <[email protected]>
+
+ * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
+ variable.
+ * src/autofit/afloader.c (af_loader_load_g): Ditto.
+
+ * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
+ (open_face_from_buffer): Initialize `stream'.
+ (FT_Request_Metrics): Remove unused variable.
+ Remove redundant `break' statements.
+ (FT_Get_Track_Kerning): Remove unused variable.
+
+ * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
+ afm_parse_kern_data): Remove redundant
+ `break' statements.
+ (afm_parser_parse): Ditto.
+ Don't use uninitialized variables.
+
+ * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
+ Use `|' operator instead of `^' to set it.
+ Update all users.
+
+ * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
+ * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
+ comparison.
+ (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
+ (TT_Load_Glyph): Remove unused variable.
+
+2007-05-13 Derek Clegg <[email protected]>
+
+ * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
+ if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
+
+2007-05-11 David Turner <[email protected]>
+
+ * src/cache/ftbasic.c, include/freetype/ftcache.h
+ (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
+ functions that allow us to look up glyphs using an FTC_Scaler object
+ to specify the size, making it possible to use fractional pixel
+ sizes.
+
+ * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
+ `size->cvt_ready'. Reported by Boris Letocha.
+
+2007-05-09 Graham Asher <[email protected]>
+
+ * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
+ (af_latin_metrics_scale_dim): Fix compiler warnings.
+
+2007-05-06 Werner Lemberg <[email protected]>
+
+ * builds/win32/visualce/freetype.sln: Removed, as requested by
+ Vincent.
+
+2007-05-04 Vincent RICHOMME <[email protected]>
+
+ * builds/win32/visualce/*: Add Visual C++ project files for Pocket
+ PC targets.
+
+ * docs/CHANGES: Document them.
+
+2007-05-04 <[email protected]>
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
+ mmap (which might happen on some RTOS). From Savannah patch #5909.
+
+2007-05-03 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
+ * include/freetype/freetype.h (FT_Set_Char_Size): Update
+ documentation.
+
+2007-04-28 Victor Stinner <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
+ `cmap'.
+
+2007-04-27 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
+ number of points in contours. Problem reported by Victor Stinner
+ (TT_Process_Simple_Glyph): Synchronize variable types.
+
+2007-04-26 Werner Lemberg <[email protected]>
+
+ * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
+ zero in case of error. This fixes Savannah bug #19689.
+
+2007-04-25 Boris Letocha <[email protected]>
+
+ * src/truetype/ttobjs.c: Fix a typo that created a speed regression
+ in the TrueType bytecode loader.
+
+2007-04-10 Martin Horak <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Ignore `hhea' table. This fixes Savannah bug #19261.
+
+2007-04-09 Werner Lemberg <[email protected]>
+
+
+ * Version 2.3.4 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-4'.
+
+ * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ version number to 2.3.4.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+
+ * builds/unix/configure.raw (version_info): Set to 9:15:3.
+
+2007-04-09 Martin Horak <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
+ memory stream to avoid a crash with the incremental memory
+ interface (Savannah bug #19260).
+
+2007-04-06 David Turner <[email protected]>
+
+ * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
+ (Savannah bug #19536).
+
+2007-04-04 Werner Lemberg <[email protected]>
+
+
+ * Version 2.3.3 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-3'.
+
+ * docs/CHANGES: Mention CVE-2007-1351.
+
+2007-04-03 David Turner <[email protected]>
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
+ if one of the resolution values is 0, treat it as if it were the
+ same as the other value.
+
+2007-04-02 David Turner <[email protected]>
+
+ Add special code to detect `extra-light' fonts and do not snap their
+ stem widths too much to avoid bizarre hinting effects.
+
+ * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
+ `extra_light' members.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
+ them.
+ (af_latin_metrics_scale_dim): Set `extra_light'.
+ (af_latin_compute_stem_width): Use `extra_light'.
+
+2007-03-28 David Turner <[email protected]>
+
+ * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
+ padding.
+
+2007-03-28 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
+ gracefully.
+ (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
+ issue an error for longer names. This fixes CVE-2007-1351.
+ (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
+ number of code points in Unicode.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
+ s/232/233/.
+
+ * docs/CHANGES: Mention ftdiff.
+
+2007-03-26 David Turner <[email protected]>
+
+ * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
+ corresponding code.
+ (Ins_MD): Last regression fix.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
+ computations in order to ignore single-point contours. These are
+ never rasterized and correspond in certain fonts to mark-attach
+ points that are very far from the glyph's real outline, ruining the
+ computation.
+
+ * src/autofit/afloader.c (af_loader_load_g): In the case of
+ monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
+ Otherwise code that uses them will most certainly ruin the fixed
+ advance property.
+
+ * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
+ documentation and bump version number to 2.3.3.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+ * builds/unix/configure.raw (version_info): Set to 9:14:3.
+
+2007-03-26 suzuki toshiya <[email protected]>
+
+ * builds/unix/ftconfig.in: Disable Carbon framework dependency on
+ 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
+ * builds/vms/ftconfig.h: Ditto.
+ * include/freetype/config/ftconfig.h: Ditto.
+
+2007-03-22 suzuki toshiya <[email protected]>
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
+ 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
+ proposed by Sean McBride:
+ http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
+
+2007-03-22 suzuki toshiya <[email protected]>
+
+ * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
+ setjmp, proposed by Sean McBride:
+ http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
+
+2007-03-19 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
+ conftest.c, to avoid unexpected shell evaluation. Possibly it is a
+ bug or undocumented behaviour of autoconf.
+
+2007-03-18 David Turner <[email protected]>
+
+ * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
+ fix; testing still needed.
+
+ * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
+
+2007-03-17 David Turner <[email protected]>
+
+ * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
+ (undocumented) twilight zone special case.
+
+2007-03-09 Werner Lemberg <[email protected]>
+
+
+ * Version 2.3.2 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-2'.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
+ s/231/232/.
+
+2007-03-08 David Turner <[email protected]>
+
+ * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
+
+ * builds/unix/configure.raw (version_info): Set to 9:13:3.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
+
+ * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
+
+ * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
+ function to work properly, over-writing user-provided buffers in
+ some cases. Reported by James Cloos <[email protected]>.
+
+
+2007-03-05 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
+ macro for `strstr'.
+
+ * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
+ `trick_names', as suggested by Ivan Nincic.
+
+2007-03-05 David Turner <[email protected]>
+
+ * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
+ case FT_Init_FreeType fails for some reason. Problem reported by
+ Maximilian Schwerin <[email protected]>.
+
+ * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
+ and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
+ `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
+
+ * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
+ signed values, not unsigned ones. Problem reported by Johannes
+ Walther <[email protected]>.
+
+2007-02-21 David Turner <[email protected]>
+
+ * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
+ of small and ghost stems in the Postscript interpreter.
+
+2007-02-20 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
+ leak, patch by "Jjgod Jiang" <[email protected]>.
+ * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
+
+2007-02-16 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
+ * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
+
+2007-02-14 David Turner <[email protected]>
+
+ It seems that the following changes fix most of the known
+ interpreter problems with my fonts, but more testing is needed,
+ though.
+
+ * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
+ (TT_MulFix14): Rewrite.
+ (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
+ (Ins_MIRP): Ditto.
+
+2007-02-12 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
+ warnings.
+
+ * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
+ (bdf_interpret_style): Ditto.
+
+2007-02-12 David Turner <[email protected]>
+
+ Simplify projection and dual-projection code interface.
+
+ * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
+ FT_Vector' as argument type.
+ * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
+ Updated.
+ (CUR_fast_project, CUR_fast_dualproj): New macros.
+ (Project, Dual_Project, Project_x, Project_y): Updated.
+ (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
+ macros.
+
+
+ * src/autofit/afloader.c (af_loader_load_g): Improve spacing
+ adjustments for the non-light auto-hinted modes. Gets rid of
+ `inter-letter spacing is too wide' problems.
+
+ * src/autofit/aflatin.c (af_latin_hints_link_segments,
+ af_latin_hints_compute_edges): Slight optimization of the segment
+ linker and better handling of serif segments to get rid of broken
+ `9' in Arial at 9pt (96dpi).
+
+
+ Introduce new string functions and the corresponding macros to get
+ rid of various uses of strcpy and other `evil' functions, as well as
+ to simplify a few things.
+
+ * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
+ ft_mem_strcpyn): New declarations.
+ (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
+ macros.
+ * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
+ functions.
+
+ * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
+ src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
+ (pcf_get_properties, pcf_interpret_style, pcf_load_font),
+ src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
+ (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
+ src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
+ (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
+ t42_get_name_index): Use new functions and simplify code.
+
+ * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
+
+2007-02-11 Werner Lemberg <[email protected]>
+
+ * src/autofit/afloader.c (af_loader_load_g): Don't change width for
+ non-spacing glyphs.
+
+2007-02-07 Tom Parker <[email protected]>
+
+ * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
+ pointer.
+
+2007-02-05 suzuki toshiya <[email protected]>
+
+ * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
+ Introduce __attribute((deprecated))__ to warn functions
+ which use non-ANSI data types in its interfaces.
+ (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
+ (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
+ (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
+ (FT_New_Face_From_FSRef): Deprecated, using FSRef.
+
+ * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
+ to avoid warning in building FreeType.
+ * builds/mac/ftmac.c: Ditto.
+
+2007-02-05 suzuki toshiya <[email protected]>
+
+ * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
+ `--with-fsspec' etc. Replace #include "ftmac.c" with
+ #include <ftmac.c>.
+
+2007-02-05 suzuki toshiya <[email protected]>
+
+ * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
+ Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
+ * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
+ (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
+ FT_GetFilePath_From_Mac_ATS_Name.
+ * builds/mac/ftmac.c: Ditto.
+
+2007-02-05 suzuki toshiya <[email protected]>
+
+ * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
+ FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
+ for passing to FT_New_Face_From_FSSpec.
+
+2007-02-05 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.raw: Check whether Mac OS X system headers
+ can be built under ANSI C mode.
+
+ * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
+ compatible to ANSI C in case system headers are ANSI C incompatible.
+ * builds/mac/ftmac.c (OS_INLINE): Ditto.
+
+2007-02-01 Werner Lemberg <[email protected]>
+
+ * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
+ Explain why applications shouldn't use it. Found by Alexei.
+
+2007-02-01 Alexei Podtelezhnikov <[email protected]>
+
+ * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
+ message.
+
+ * src/gxvalid/gxvmort1.c
+ (gxv_mort_subtable_type1_substTable_validate): Fix debugging
+ message.
+
+2007-01-31 Werner Lemberg <[email protected]>
+
+
+ * Version 2.3.1 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-1-FINAL'.
+
+ * builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: s/230/231/.
+ * builds/win32/visualc/index.html: s/221/231/.
+
+ * vms_make.com: Add `ftgasp'.
+
+2007-01-30 David Turner <[email protected]>
+
+ Tag sources with VER-2-3-1 to prepare release.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+ * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
+ s/2.3.0/2.3.1/.
+
+ * builds/unix/configure.raw (version_info): Set to 9:12:3.
+
+
+ * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
+ (af_loader_load_g): Disable the warper (i.e., the light hinting
+ improvements) to make a 2.3.1 bugfix release before introducing a
+ new feature. This should give us more time to tune and improve the
+ warper for the next release.
+
+ * docs/CHANGES: Update accordingly.
+
+2007-01-25 David Turner <[email protected]>
+
+ For light auto-hinting, improve glyph advance widths and resurrect
+ normal/full hinting to its normal quality.
+
+ * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
+ and `xmax_delta'.
+ * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
+ and `xmax_delta'.
+
+ * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
+ preprocessor conditional with if-clause, handling both light and
+ normal mode.
+
+ * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
+ (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
+
+2007-01-25 Werner Lemberg <[email protected]>
+
+ * docs/release: Updated -- Savannah uses a new uploading scheme.
+
+2007-01-25 David Turner <[email protected]>
+
+ * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings)
+ <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
+ functions.
+
+ * docs/CHANGES: Document light auto-hinting improvement.
+
+2007-01-25 Werner Lemberg <[email protected]>
+
+ * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
+ correctly in a sanity check. Since this function is only used to
+ load local and global functions, any charstring that called the last
+ local/global function would fail otherwise. This fixes Savannah bug
+ #18867.
+
+ * docs/CHANGES: Document it.
+
+2007-01-23 David Turner <[email protected]>
+
+ * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
+ prevented compilation when disabling both the unpatented and the
+ bytecode interpreter in the TrueType font driver.
+
+
+ Fix and enable the warper to improve `light' hinting mode. This is
+ not necessarily a final version, but it seems to work well.
+
+ * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
+ Disable code.
+ (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
+ * src/autofit/aftypes.h: Activate AF_USE_WARPER.
+
+ * src/autofit/afwarp.c (AF_WarpScore): Tune table.
+ (af_warper_compute_line_best): Fix array size of `scores'.
+ (af_warper_compute): Better handling of border cases.
+ * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
+ and `X2'.
+
+2007-01-21 Werner Lemberg <[email protected]>
+
+ * ChangeLog: Split off older entries into...
+ * ChangeLog.22: This new file.
+
+2007-01-21 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Document SHZ fix.
+
+2007-01-21 George Williams <[email protected]>
+
+ * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
+ points.
+
+2007-01-21 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttmtx.c (tt_face_get_metrics)
+ [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
+
+2007-01-17 Werner Lemberg <[email protected]>
+
+
+ * Version 2.3.0 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-0-FINAL'.
+
+2007-01-17 Werner Lemberg <[email protected]>
+
+ * docs/release: Updated.
+
+2007-01-16 David Turner <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_hints_compute_segments),
+ src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
+ (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
+ warnings.
+
+2007-01-15 Detlef Würkner <[email protected]>
+
+ * builds/amiga/makefile, builds/amiga/makefile.os4,
+ builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
+
+ * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
+
+2007-01-14 Detlef Würkner <[email protected]>
+
+ Fix various compiler warnings.
+
+ * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
+ src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
+ s/index/strike_index/.
+ * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
+
+ * src/gxvalid/gxvmorx5.c
+ (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
+
+ * src/truetype/ttinterp.c (Compute_Point_Displacement),
+ src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
+ uninitialized variables.
+
+2007-01-13 suzuki toshiya <[email protected]>
+
+ * docs/CHANGES, docs/INSTALL.MAC: Improvements.
+
+2007-01-13 Werner Lemberg <[email protected]>
+
+ * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
+ versions up to 0x3FF without complaining.
+
+2007-01-13 Derek Clegg <[email protected]>
+
+ Add FT_Get_PS_Font_Info interface to CFF driver.
+
+ * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
+ (CFF_FontRec): Add `font_info' field.
+
+ * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
+ (cff_font_done): Free font->font_info if necessary.
+
+ * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
+ (cff_service_ps_info): Register cff_ps_get_font_info.
+
+2007-01-13 Werner Lemberg <[email protected]>
+
+ * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
+ with C++ compiler.
+
+ * src/autofit/afhints.c (af_glyph_hints_dump_segments,
+ af_glyph_hints_dump_edges): Ditto.
+
+ * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
+ `modules.cfg').
+
+ * src/sfnt/ttsbit0.h: Remove.
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
+
+2007-01-12 David Turner <[email protected]>
+
+ * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
+ bug in the bitmap emboldener if the pitch of the source bitmap is
+ much larger than its width.
+
+ * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
+ compilation warning.
+
+2007-01-12 Werner Lemberg <[email protected]>
+
+ * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+ `automake' CVS module from sources.redhat.com.
+
+2007-01-11 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (is_space): Removed.
+ (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
+ (parse_charstrings): Use IS_PS_TOKEN.
+
+
+ * autogen.sh: Avoid bash specific syntax.
+
+2007-01-11 David Turner <[email protected]>
+
+ * docs/CHANGES: Small update.
+
+ * builds/unix/configure.raw (version_info): Set to 9:11:3.
+
+ * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
+ crash with some Mac OS X .dfont files. Submitted by Masatake
+ Yamato.
+
+ * autogen.sh: Small fix to get it working on Mac OS X properly:
+ The issue is that GNU libtool is called `glibtool' on this platform,
+ and we must call `glibtoolize', since `libtoolize' doesn't exist.
+
+2007-01-10 David Turner <[email protected]>
+
+ * all-sources: Tag all sources with VER-2-3-0-RC1 and
+ VER-2-3-0.
+
+ * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
+ version number to 2.3.0.
+
+ * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
+ (FREETYPE_PATCH): Set to 0.
+
+ * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
+ include/freetype/ftlcdfil.h: Update reference documentation with
+ GASP support and LCD filtering sections.
+
+ * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
+ which created an endless loop with some malformed font files.
+
+2007-01-10 Derek Clegg <[email protected]>
+
+ * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
+ values.
+
+2007-01-08 David Turner <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+ * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
+ a new API `FT_Get_Gasp' to return entries of the `gasp' table
+ corresponding to a given character pixel size.
+
+ * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
+ `gasp' table, in order to avoid potential problems with later
+ versions.
+
+ * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
+ <freetype/ftgasp.h>.
+
+ * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
+ modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
+ default build.
+
+2007-01-07 Werner Lemberg <[email protected]>
+
+ * src/cid/cidparse.c (cid_parser_new): Improve error message for
+ Type 11 fonts.
+ Scan for `/sfnts' token.
+
+2007-01-07 Werner Lemberg <[email protected]>
+
+ * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
+
+2007-01-06 Werner Lemberg <[email protected]>
+
+ * src/cff/cffload.c (cff_index_init): Remove unused variable.
+ (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
+
+2007-01-04 David Turner <[email protected]>
+
+ * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
+ correctly. This fixes Savannah bug #17876.
+
+
+ Do not allocate interpreter-specific tables in memory if we are not
+ going to load glyphs with the bytecode interpreter anyway.
+
+ * src/truetype/ttgload.c (tt_loader_init): Load execution context
+ only if glyph is hinted.
+ Updated.
+ * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
+ and `cvs_ready'.
+ Add `tt_size_ready_bytecode' declaration.
+ * src/truetype/ttobjs.c (tt_size_done_bytecode,
+ tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
+ (tt_size_init): Move most code into `tt_size_init_bytecode'.
+ (tt_size_done): Move most code into `tt_size_done_bytecode'.
+ (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
+
+
+ Don't extract the metrics table from the SFNT font file. Instead,
+ reparse it on each glyph load. The runtime difference is not
+ noticeable, and it can save a lot of heap memory when memory-mapped
+ files are not used.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
+ `horz_metrics_offset' and `vert_metrics_ofset'.
+ * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
+ Updated.
+
+
+ * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
+
+
+ Do not load the CFF index offsets into memory, since this wastes a
+ *lot* of heap memory with large Asian CFF fonts. There is no
+ significant performance loss.
+
+ * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
+ * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
+ `data_size'.
+ (CFF_CharsetRec): Add field `num_glyphs'.
+
+ * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
+ cff_charset_cid_to_gindex): New functions.
+ (cff_new_index): Renamed to...
+ (cff_index_init): This. Update all callers.
+ Updated -- some code has been moved to `cff_index_load_offsets'.
+ (cff_done_index): Renamed to...
+ (cff_index_done): This. Update all callers.
+ (cff_index_get_pointers, cff_index_access_element): Updated to use
+ stream offsets.
+ (cff_charset_compute_cids): Set `num_glyphs' field.
+ (cff_encoding_load): Updated.
+
+ * src/cff/cffgload.c (cff_slot_load): Updated.
+
+2007-01-04 David Turner <[email protected]>
+
+ * docs/INSTALL.UNIX: Simplify some parts, add reference to
+ autogen.sh and pointer to README.CVS.
+
+ * README.CVS: Add common problem description and solution
+ when running autogen.sh.
+
+ * docs/INSTALL: Add reference to MacOS X.
+
+ * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
+
+ * docs/TODO: Remove obsolete items.
+
+ * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
+ (TWorker): This.
+ Remove `count_table' and `memory'.
+ Make `grays' a pointer.
+ (TRaster): New structure.
+ (count_table): New static array.
+ (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
+ Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
+ ft_black_set_mode, ft_black_render): Updated.
+ (ft_black_init): Don't initialize `count_table'.
+ (ft_black_reset): Use the render pool. This saves about 6KB of
+ heap space for each FT_Library instance.
+
+ * src/smooth/ftgrays.c (TRaster): Replaced with...
+ (TWorker): This.
+ Remove `memory'.
+ (TRaster): New structure.
+
+ (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
+ gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
+ gray_render_span, gray_raster_render): Updated.
+ (gray_raster_reset): Use the render pool. This saves about 6KB of
+ heap space for each FT_Library instance.
+
+ * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
+ src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
+ src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
+ FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
+ the optimization is no longer experimental.
+
+ * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
+ Remove a typo that results in no hinting and a memory leak with some
+ large Asian CFF fonts.
+
+ * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
+ which happens when FT_Done_Library is called with still opened
+ CFF_Faces in it. We need to close all faces before destroying the
+ modules, or else some bad things (memory leaks) may happen.
+
+2007-01-02 Werner Lemberg <[email protected]>
+
+ * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
+ Remove compiler warning.
+
+2007-01-02 David Turner <[email protected]>
+
+ * src/sfnt/sfobjs.c: Add documentation comment.
+
+2006-12-31 Masatake YAMATO <[email protected]>
+
+ * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
+ function.
+ Check uniqueness of the gid pairs.
+ (gxv_kern_subtable_fmt0_validate): Move some code to
+ `gxv_kern_subtable_fmt0_pairs_validate'.
+
+2006-12-22 David Turner <[email protected]>
+
+ * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
+ warnings.
+
+ * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
+ to avoid deprecation warnings with Visual C++ 8.
+
+2006-12-16 Anders Kaseorg <[email protected]>
+
+ * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
+ [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
+
+2006-12-15 suzuki toshiya <[email protected]>
+
+ * include/freetype/internal/services/svotval.h: Add `volatile' to
+ sync with the modification by Jens Claudius on 2006-08-22; cf.
+ http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
+
+2006-12-15 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c: Specialized for Mac OS X only.
+ * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
+ * builds/unix/configure.raw: Ditto. When explicit switches for
+ FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
+ builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
+
+2006-12-15 suzuki toshiya <[email protected]>
+
+ * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
+ * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
+ instead of src/base/ftmac.c
+ * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
+ * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
+ * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
+ that cannot be built at present.
+
+2006-12-15 suzuki toshiya <[email protected]>
+
+ * src/base/ftobjs.c: Improvement of resource fork handler for
+ POSIX, cf.
+ http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
+ (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
+ format or .dfont, to simulate the face index number counted by ftmac.c.
+ (IsMacResource): Return the number of scalable faces correctly.
+
+2006-12-10 Werner Lemberg <[email protected]>
+
+ * builds/toplevel.mk (version): Protect against `distclean' target.
+
+2006-12-09 Werner Lemberg <[email protected]>
+
+ * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
+ or `type'.
+
+ * builds/freetype.mk (version): Extracted from freetype.h, using
+ GNU make's built-in string functions.
+ (refdoc): Use $(version) instead of static version number.
+
+2006-12-08 Werner Lemberg <[email protected]>
+
+ * builds/toplevel.mk (dist): Extract version number from freetype.h.
+
+2006-12-08 Vladimir Volovich <[email protected]>
+
+ * src/tools/apinames.c (State): Remove final comma in structure --
+ xlc v5 under AIX 4.3 doesn't like this.
+
+2006-12-07 David Turner <[email protected]>
+
+ * src/autofit/afloader.c (af_loader_load_g): Small adjustment
+ to the spacing of auto-fitted glyphs. This only impacts rare
+ cases (e.g., Arial Bold at rather small character sizes).
+
+2006-12-03 Werner Lemberg <[email protected]>
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
+
+2006-12-01 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
+ encoded in UTF-16BE. Patch from Rajeev Pahuja <[email protected]>.
+ (tt_name_entry_ascii_from_ucs4): Removed.
+
+
+ * include/freetype/ftxf86.h: Fix and extend comment so that it
+ appears in the documentation.
+
+ * include/freetype/ftchapters.h: Add `font_format' section.
+
+
+ * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
+ to TOC in index page.
+
+2006-11-28 David Turner <[email protected]>
+
+ * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
+ trying to render into a zero-width/height bitmap, not an error code.
+
+ * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
+
+ * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
+ ones instead.
+
+ * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
+ variable.
+
+2006-11-26 Pierre Hanser <[email protected]>
+
+ * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
+
+2006-11-25 David Turner <[email protected]>
+
+ * src/autofit/afhints.c (af_glyph_hints_dump_points,
+ af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
+ Add stubs to link the `ftgrid' test program when debugging is
+ disabled in the auto-hinter.
+
+2006-11-23 David Turner <[email protected]>
+
+ * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
+ src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
+
+ * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
+ Emit more sensible information.
+
+ * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
+
+ * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
+ rounding of blue values.
+ (af_latin_hints_compute_segments): Hint segment heights.
+ (af_latin_hints_link_segments): Reduce `len_score' value.
+ (af_latin_hints_compute_edges): Increase `segment_length_threshold'
+ value and use `height' member for comparisons.
+ (af_latin_hint_edges): Extend logging message.
+ Improve handling of remaining edges.
+
+2006-11-22 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #15553.
+
+ * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
+ program after a change from mono to grayscaling (and vice versa).
+ Use correct constant for comparison to get `exec->grayscale'.
+
+2006-11-18 Werner Lemberg <[email protected]>
+
+ Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
+ test for a valid glyph index must be deferred to the font drivers.
+ This patch fixes Savannah bug #18301.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
+ (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
+ src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
+ (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
+ src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
+ (FNT_Load_Glyph): Check validity of `glyph_index'.
+
+2006-11-13 David Turner <[email protected]>
+
+ * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
+ `enhancements' are still too buggy for general use.
+
+ * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
+ FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
+ when building the library to change the default LCD filter to be
+ used. This is only useful for experimentation.
+
+ * include/freetype/ftlcdfil.h: Update documentation.
+
+2006-11-10 David Turner <[email protected]>
+
+ * src/smooth/ftsmooth.c: API change for the LCD
+ filter. The FT_LcdFilter value is an enumeration describing which
+ filter to apply, with new values FT_LCD_FILTER_LIGHT and
+ FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
+ algorithm which produces strong color fringes for everything
+ except very-well hinted text).
+
+ * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
+ second parameter to an enum type.
+
+ * src/base/ftlcdfil.c (USE_LEGACY): Define.
+ (_ft_lcd_filter): Rename to...
+ (_ft_lcd_filter_fir): This.
+ Update parameters.
+ (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
+ (FT_Library_Set_LcdFilter): Update parameters.
+ Handle new filter modes.
+
+ * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
+ (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
+ (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
+ callback and update other fields.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic)
+ [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
+ Other minor improvements.
+
+ * src/autofit/aflatin.c: Various tiny improvements that drastically
+ improve the handling of serif fonts and of LCD/LCD_V hinting modes.
+ (af_latin_hints_compute_edges): Fix typo.
+ (af_latin_compute_stem_width): Take better care of diagonal stems.
+
+2006-11-09 David Turner <[email protected]>
+
+ * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
+ typo which created a variable-used-before-initialized bug.
+
+2006-11-07 Zhe Su <[email protected]>
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
+ also.
+
+2006-11-03 Werner Lemberg <[email protected]>
+
+ * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
+
+2006-11-02 David Turner <[email protected]>
+
+ Add a few tweaks to better handle serif fonts.
+ Add more debugging messages.
+
+ * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
+ segments that are less than 1.5 pixels high. This gets rid of
+ *many* corner cases with serifs.
+ (af_latin_align_linked_edge): Add logging message.
+ (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
+ Add logging messages.
+ Handle AF_EDGE_FLAG flag specially.
+
+ * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
+ _af_debug_disable_blue_hints, and _af_debug_hints variables.
+
+ * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
+ Update external declarations.
+ (af_corner_orientation, af_corner_is_flat): Replaced by...
+
+ * include/freetype/internal/ftcalc.h (ft_corner_orientation,
+ ft_corner_is_flat): These declarations.
+
+ * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
+ Comment out. Replaced by...
+
+ * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
+ These functions. Update all callers.
+ (FT_Add64) [!FT_LONG64]: Simplify.
+
+ * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
+ (af_direction_compute): Add a missing FT_ABS call. This bug caused
+ production of garbage by missing lots of segments.
+
+ * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
+
+ * src/autofit/afloader.c (af_loader_init, af_loader_done)
+ [AF_DEBUG]: Set _af_debug_hints.
+
+
+ * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
+ (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
+ and ft_corner_orientation.
+
+
+ * src/gzip/inftrees.c (huft_build): Remove compiler warning.
+
+2006-10-24 Werner Lemberg <[email protected]>
+
+ * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
+
+ * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
+ as argument.
+
+2006-10-23 Zhe Su <[email protected]>
+
+ * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
+ better deal with broken Asian fonts with strange glyphs, having
+ self-intersections and other peculiarities. The used algorithm is
+ based on the nonzero winding rule.
+
+2006-10-23 David Turner <[email protected]>
+
+ Speed up the CFF font loader. With some large CFF fonts,
+ FT_Open_Face is now more than three times faster.
+
+ * src/cff/cffload.c (cff_get_offset): Removed.
+ (cff_new_index): Inline functionality of `cff_get_offset'.
+ (cff_charset_compute_cids, cff_charset_free_cids): New functions.
+ (cff_charset_done): Call `cff_charset_free_cids'.
+ (cff_charset_load): Call `cff_charset_compute_cids'.
+ (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
+
+ * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
+ with FT_NEXT_XXX.
+
+
+ Speed up the Postscript hinter, with more than 100% speed increase
+ on my machine.
+
+ * src/pshinter/pshalgo.c (psh_corner_is_flat,
+ psh_corner_orientation): New functions.
+ (psh_glyph_compute_inflections): Merge loops for efficiency.
+ Use `psh_corner_orientation'.
+ (psh_glyph_init): Use `psh_corner_is_flat'.
+ (psh_hint_table_find_strong_point): Renamed to...
+ (psh_hint_table_find_strong_points): This.
+ Rewrite, adding argument to handle all points at once.
+ Update all callers.
+ (PSH_MAX_STRONG_INTERNAL): New macro.
+ (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
+
+2006-10-15 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
+ `error' with FT_Err_Ok.
+
+2006-10-14 suzuki toshiya <[email protected]>
+
+ * docs/INSTALL.CROSS: New document file for cross-building.
+
+ * builds/unix/configure.raw: Preliminary cross-building support.
+ Find native C compiler and pass it by CC_BUILD, and
+ find suffix for native executable and pass it by EXEEXT_BUILD.
+ Also suffix for target executable is passed by EXEEXT.
+
+ * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
+ build `apinames' which runs on building system. They are set by
+ CC_BUILD and EXEEXT_BUILD.
+
+ * builds/exports.mk (APINAMES_EXE): Change the extension for
+ apinames from the suffix for target (E) to that for building host
+ (E_BUILD).
+
+2006-10-12 Werner Lemberg <[email protected]>
+
+ * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
+ * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
+ which reference those files.
+
+2006-10-12 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
+ embedded in freetype2.pc and freetype-config. Use it to record
+ Carbon dependency of MacOSX.
+
+ * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
+
+ * builds/unix/freetype-config.in: Ditto.
+
+2006-10-11 Werner Lemberg <[email protected]>
+
+ * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
+ development.
+
+2006-10-03 Jens Claudius <[email protected]>
+
+ * include/freetype/config/ftstdlib.h: Cast away volatileness from
+ argument to ft_setjmp.
+
+ * include/freetype/internal/ftvalid.h: Add comment that
+ ft_validator_run must not be used.
+
+2006-10-01 Werner Lemberg <[email protected]>
+
+ * src/base/ftbase.c: Undo change from 2006-09-30.
+
+ * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
+
+2006-09-30 David Turner <[email protected]>
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
+ s/unpatented_hinting/ignore_unpatented_hinter/.
+ Update all callers.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
+ auto-hinting shall be used or not.
+
+ * src/truetype/ttobjs.c (tt_face_init): Ditto.
+
+2006-09-30 Werner Lemberg <[email protected]>
+
+ * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
+ in use).
+
+ * src/base/ftbase.c: Include `ftlcdfil.c'.
+
+2006-09-29 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
+ overlapping segments. Bug reported by Stefan Koch.
+
+2006-09-28 David Turner <[email protected]>
+
+ Fix a bug in the automatic unpatented hinting support which prevents
+ normal bytecode hinting to work properly.
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
+ s/force_autohint/unpatented_hinting/. Update all callers.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
+
+ * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
+
+2006-09-27 David Turner <[email protected]>
+
+ * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
+
+
+ Add a new API to support color filtering of subpixel glyph bitmaps.
+ In a default build, the function `FT_Library_SetLcdFilter' returns
+ `FT_Err_Unimplemented_Feature'; you need to #define
+ FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
+ real implementation.
+
+ * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
+
+ * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
+ typedef.
+ (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
+ `lcd_filter_weights' and `lcd_filter'.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
+ `hmul' and `vmul'.
+
+ Handle subpixel rendering.
+ Simplify function.
+ (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
+ (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
+
+ * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
+ pointing to <freetype/ftlcdfil.h>.
+
+ * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
+ vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
+
+ * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
+
+2006-09-26 David Bustin
+
+ * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
+ correctly. Reported as Savannah bug #17843.
+
+2006-09-26 David Turner <[email protected]>
+
+ * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
+ AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
+ horizontal and vertical hinting for the purpose of debugging the
+ auto-fitter.
+
+ * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
+ _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
+
+ * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
+
+ * include/freetype/config/ftoption.h, devel/ftoption.h
+ (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
+ we want to compile LCD-optimized rendering code (à la ClearType) or
+ not. The macro *must* be disabled in default builds of the library
+ for patent reasons.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
+ LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+ isn't defined at compile time. This only changes the content of the
+ rendered glyph to match the one of normal gray-level rendering,
+ hence clients should not need to be modified.
+
+ * docs/CHANGES: Updated.
+
+2006-09-18 Garrick Meeker <[email protected]>
+
+ * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
+ LWFN fails and both are available.
+
+2006-09-11 David Turner <[email protected]>
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
+ report their English names through an Apple Roman
+ (platform,encoding) pair, with language_id != English.
+
+ If the font uses another name entry with language_id == English, it
+ will be selected correctly, though.
+
+ * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
+ selection for `mingli.ttf'.
+
+2006-09-05 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
+ values which have the upper two bytes set to 0xFF instead of 0x00
+ (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
+ `HAN NOM B.ttf').
+
+ * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
+
+2006-09-05 David Turner <[email protected]>
+
+ Minor source cleanups and optimizations.
+
+ * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
+ (TRaster): Remove `count_ex' and `count_ey'.
+ (gray_find_cell): Remove 2nd and 3rd argument.
+ (gray_alloc_cell): Merged with `gray_find_cell'.
+ (gray_record_cell): Simplify.
+ (gray_set_cell): Rewrite.
+ (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
+ (gray_render_span): Don't use FT_MEM_SET for small values.
+ (gray_dump_cells) [DEBUG_GRAYS]: New function.
+ (gray_sweep): Avoid buffer overwrites when to drawing the end of a
+ bitmap scanline.
+ (gray_convert_glyph): Fix speed-up.
+
+2006-09-04 David Turner <[email protected]>
+
+ * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
+ 64bit processors.
+
+2006-09-03 Werner Lemberg <[email protected]>
+
+ * devel/ftoption.h: Synchronize with
+ include/freetype/config/ftoption.h.
+
+ * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
+ variable declaration.
+ (gray_convert_glyph): Fix compiler warnings.
+
+2006-09-01 David Turner <[email protected]>
+
+ * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
+ to recognize a few fonts that require the automatic unpatented
+ loader.
+
+ * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
+ rasterizer. The speed improvement is between 15% and 25%, depending
+ on the font data.
+
+ (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
+ (TCell): Redefine.
+ (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
+ (gray_init_cells): Updated.
+ (gray_find_cell, gray_alloc_cell): New functions.
+ (gray_record_cell): Rewritten to use `gray_find_cell' and
+ `gray_alloc_cell'.
+ (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
+ QSORT_THRESHOLD):
+ Removed.
+ (gray_shell_sort, gray_quick_sort, gray_check_sort,
+ gray_dump_cells): Removed.
+ (gray_sweep): Rewritten.
+ (gray_convert_glyph): Rewrite code which used one of the sorting
+ functions.
+ (gray_raster_render): Updated.
+
+2006-08-29 Dr. Werner Fink <[email protected]>
+
+ * configure: Make it possible to handle configure options which
+ have strings containing spaces.
+
+2006-08-27 David Turner <[email protected]>
+
+ * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
+ New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
+
+ * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
+ src/truetype/truetype.c, src/truetype/ttdriver.c,
+ src/truetype/ttgload.c, src/truetype/ttgload.h,
+ src/truetype/ttinterp.c, src/truetype/ttobjs.c,
+ src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
+ s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
+ member `force_autohint'.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
+
+ * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
+ against a list of font names which need the bytecode interpreter.
+
+2006-08-27 Jens Claudius <[email protected]>
+
+ Fix miscellaneous compiler warnings.
+
+ * include/freetype/internal/ftobjs.h: Close comment with `*/' to
+ avoid `/* in comment' compiler warning.
+
+ * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
+ `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
+ 64-bit platforms void* is larger than FT_UInt32.
+
+ * src/base/ftobjs.c (t_validator_error): Cast away
+ volatileness of argument to ft_longjmp. Spotted by Werner
+ `Putzfrau' Lemberg.
+
+ * src/bdf/bdflib.c (bdf_load_font): Initialize local
+ variable `lineno'.
+
+ * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
+ `error' as volatile.
+
+2006-08-27 Werner Lemberg <[email protected]>
+
+ * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
+ Reported by Jens.
+
+2006-08-22 Jens Claudius <[email protected]>
+
+ Fix for previous commit, which caused many compiler warnings/errors
+ about addresses of volatile objects passed as function arguments as
+ non-volatile pointers.
+
+ * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
+ pointer to a volatile object.
+
+ * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
+ `table' a pointer to a volatile object.
+
+ * src/otvalid/otvmod.c (otv_load_table): Make function argument
+ `table' a pointer to a volatile object.
+
+2006-08-18 Jens Claudius <[email protected]>
+
+ * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
+ as volatile since it must keep its value across a call to ft_setjmp.
+ (gxv_validate): Same for local variables `memory' and `valid'.
+ (classic_kern_validate): Same for local variables `memory',
+ `ckern', and `valid'.
+
+ * src/otvalid/otvmod.c (otv_validate): Same for function parameter
+ `face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
+ and 'valid'.
+
+ * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
+ `cmap'.
+
+2006-08-16 David Turner <[email protected]>
+
+ * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
+ warnings.
+
+ * src/base/ftobjs.c (ft_validator_run): Disable function; it is
+ buggy by design. Always return -1.
+
+
+ Improvements to native TrueType hinting. This is a first try,
+ controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
+
+ * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
+ `extra_points2'.
+
+ * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
+ `orus'.
+
+ * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
+ FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
+ FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
+ handle `extra_points2'.
+
+ * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
+ Remove compiler warning.
+ (cur_to_arg): Remove macro.
+ (TT_Hint_Glyph): Updated.
+ (TT_Process_Simple_Glyph): Handle `orus'.
+
+ * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
+ (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
+ (LOC_Ins_IUP): Renamed to...
+ (IUP_WorkerRec): This.
+ Add `orus' member.
+ (Shift): Renamed to...
+ (_iup_worker_shift): This.
+ Updated.
+ (Interp): Renamed to...
+ (_iup_worker_interpolate): This.
+ Updated to handle `orus'.
+ (Ins_IUP): Updated.
+
+ * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
+ Handle `orus'.
+
+2006-08-15 suzuki toshiya <[email protected]>
+
+ * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
+ build ftvalid in ft2demos. This has been inadvertedly changed
+ 2006-08-13.
+
+2006-08-15 suzuki toshiya <[email protected]>
+
+ `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
+ Jens:
+ http://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
+
+ * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
+ It reverts the change introduced on 2005-08-20.
+
+ * src/gxvalid/gxvmod.c: Ditto.
+
+2006-08-13 Jens Claudius <[email protected]>
+
+ * finclude/freetype/internal/psaux.h: (T1_TokenType): Add
+ T1_TOKEN_TYPE_KEY.
+ (T1_FieldRec): Add `dict'.
+ (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
+ (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
+ keyword is expected as an additional argument.
+
+ * src/cid/cidload.c: (cid_field_records): Adjust invocations of
+ T1_FIELD_XXX.
+
+ * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
+
+ * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
+ (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
+ not T1_TOKEN_TYPE_ANY.
+ (ps_parser_load_field): Make sure a token that should be a string or
+ name is really a string or name.
+ Avoid memory leak if a keyword has been already encountered and its
+ value is overwritten.
+ * src/type1/t1load.c: (t1_keywords): Adjust invocations of
+ T1_FIELD_XXX.
+ (parse_dict): Ignore keywords that occur in the wrong dictionary
+ (e.g., in `Private' instead of `FontDict').
+
+ * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
+
+ * src/type42/t42parse.c: (t42_keywords): Adjust invocations of
+ T1_FIELD_XXX.
+
+2006-07-18 Jens Claudius <[email protected]>
+
+ Move creation of field `buildchar' of T1_DecoderRec out of
+ `t1_decoder_init' and let the caller of `t1_decoder_init' take care
+ of it.
+
+ Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
+ and `T1_Compute_Max_Advance'.
+
+ * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
+ `face', add `len_buildchar'.
+
+ * include/freetype/internal/t1types.h (T1_FaceRec): Add field
+ `buildchar'.
+
+ * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
+ for T1_Decoder.
+ (cid_slot_load_glyph): Do not ignore failure when initializing the
+ T1_Decoder.
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
+ (t1_decoder_init): Remove initialization of fields `buildchar' and
+ `len_buildchar'.
+ (t1_decoder_done): Remove deallocation of field `buildchar'.
+
+ * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
+ T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
+ T1_Decoder.
+ (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
+ `len_buildchar'; make sure to call finisher for T1_Decoder even in
+ case of error.
+
+ * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
+ of T1_FaceRec.
+
+ * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
+ T1_FaceRec.
+
+2006-07-14 Jens Claudius <[email protected]>
+
+ * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
+ IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
+ and IS_PS_BASE85 (from src/psaux/psconv.h).
+ (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
+ T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
+ (T1_DecoderRec): New fields `buildchar' and `face'.
+ (IS_PS_TOKEN): New macro.
+
+ * include/freetype/internal/t1types.h (T1_FaceRec): New fields
+ `ndv_idx', `cdv_idx', and `len_buildchar'.
+
+ * include/freetype/t1tables.h (PS_BlendRec): New fields
+ `default_design_vector' and `num_default_design_vector'.
+
+ * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
+ IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
+ IS_PS_BASE85 to include/freetype/internal/psaux.h.
+
+ * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
+ argument to be NULL if we want only to count the number of tokens.
+ (ps_tocoordarray): Allow `coords' argument to be NULL if we just
+ want to skip the array.
+ (ps_tofixedarray): Allow `values' argument to be NULL if we just
+ want to skip the array.
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
+ for (partially commented out) othersubrs 19-25, 27, and 28.
+ (t1_decoder_init): Initialize new fields `face' and `buildchar'.
+ (t1_decoder_done): Release new field `buildchar'.
+
+ * src/type1/t1load.c (parse_buildchar, parse_private): New
+ functions.
+ (t1_keywords): Register them.
+ (t1_allocate_blend): Updated.
+ (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
+ T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
+ (parse_dict): Remove `keyword_flags' argument.
+ Use new macro IS_PS_TOKEN.
+ Changed function so that later PostScript definitions override
+ earlier ones.
+ (t1_init_loader): Initialize new field `keywords_encountered'.
+ (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
+ `len_buildchar'.
+ Remove `keywords_flags'.
+
+ * src/type1/t1load.h (T1_LoaderRect): New field
+ `keywords_encountered'.
+ (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
+
+ * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
+ entries for parsing /NDV, /CDV, and /DesignVector.
+
+2006-07-07 Werner Lemberg <[email protected]>
+
+ Add many checks to protect against malformed PCF files.
+
+ * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
+ (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
+
+ * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
+ data and check that tables don't overlap (using a simple
+ bubblesort).
+ (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
+ New macros which give the size of data structures in the data
+ stream.
+ (pcf_get_properties): Use rough estimates to get array size limits.
+ Assign `face->nprops' and `face->properties' earlier so that a call
+ to PCF_Face_Done can do the clean-up in case of error.
+ Protect against invalid string offsets.
+ (pcf_get_metrics): Clean up code.
+ Adjust tracing message levels.
+ Use rough estimate to get array size limit.
+ (pcf_get_bitmaps): Clean up code.
+ Adjust tracing message levels.
+ Use rough estimates to get offset limits.
+ (pcf_get_encodings): Adjust tracing message level.
+ (pcf_get_accel): Clean up code.
+
+2006-06-26 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
+ don't have a POINT_SIZE property. This fixes Savannah bug #16914.
+
+2006-06-26 Jens Claudius <[email protected]>
+
+ * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
+ (t1_decoder_parse_charstrings): Operator with
+ opcode 15 pops its two arguments.
+ Handle the case where the pops of an othersubr may be part of a
+ subroutine.
+ Handle unknown othersubrs gracefully: count their operands and let
+ the following pop operators push the operands as the results onto
+ the Type1 stack.
+ Improve handling of setcurrentpoint opcode.
+
+2006-06-25 Jens Claudius <[email protected]>
+
+ The Type 1 parser now skips over top-level procedures as required
+ for a `Simplified Parser'. This makes the parser more robust as it
+ doesn't poke around in PostScript code. Additionally, it makes the
+ FontDirectory hackery in src/type1/t1load.c unnecessary.
+
+ * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
+ (skip_literal_string): Add FT_Error as return value.
+ Handle escapes better.
+ (skip_string): Add FT_Error as return value.
+ Don't set `parser->error' but return error code directly.
+ (skip_procedure): New function.
+ (ps_parser_skip_PS_token): Handle procedures.
+ Update code.
+ (ps_parser_to_token): Update code.
+ (ps_parser_load_field_table): Handle bbox entries also.
+
+ * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
+ Add commented-out code for synthetic fonts.
+
+2006-06-24 Eugeniy Meshcheryakov <[email protected]>
+
+ Fix two hinting bugs as reported in
+ http://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
+
+ * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
+ `first_point' member.
+
+ * src/truetype/ttgload.c (tt_prepare_zone): Initialize
+ `first_point'.
+ (TT_Process_Composite_Glyph): Always untouch points.
+
+ * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
+ `first_point' and `last_point' in case of composite glyphs.
+ (Ins_IUP): Fix computation of `end_point'.
+
+2006-06-22 suzuki toshiya <[email protected]>
+
+ Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
+ Mac. The original patch was written by David Sachitano and Lawrence
+ Coopet, and modified by Sean McBride for MPW compatibility. Only
+ required data are converted; unused data are left in big endian.
+
+ * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
+ Mac OS X platforms.
+ (OS_INLINE): Undefine before definition.
+ (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
+ FontAssociation table in FOND resource.
+ (count_faces_scalable): Insert EndianS16_BtoN to parse the header
+ and fontSize at each entry of FontAssociation table in FOND
+ resource.
+ (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
+ ffStylOff of FamilyRecord header of FOND resource, the header,
+ fontSize, fontID at each entry of FontAssociation table, and
+ StyleMapping table.
+ (count_faces): Call `HUnlock' after all FOND utilization.
+
+2006-06-08 suzuki toshiya <[email protected]>
+
+ Public API of TrueTypeGX, OpenType, and classic kern table validator
+ should return `FT_Err_Unimplemented_Feature' if validation service
+ is unavailable (disabled in `modules.cfg'). It is originally
+ suggested by David Turner, cf.
+ http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
+
+ * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
+ FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
+ unavailable.
+ (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
+ classic kern table validation service is unavailable.
+
+ * src/base/ftotval.c (FT_OpenType_Validate): Return
+ FT_Err_Unimplemented_Feature if OpenType validation service is
+ unavailable.
+
+2006-06-08 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
+ errors.
+
+2006-06-07 David Turner <[email protected]>
+
+ * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
+ (T1_Read_Metrics): Fix memory leak which happened when the metrics
+ file doesn't have kerning pairs. This fixes Savannah bug #16768.
+
+2006-06-06 David Turner <[email protected]>
+
+ Fix memory leak described in Savannah bug #16759.
+
+ We change `ps_unicodes_init' so that it also takes a
+ `free_glyph_name' callback to release the glyph names returned by
+ `get_glyph_name'
+
+ * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
+ Renamed to ...
+ (PS_GetGlyphNameFunc): This.
+ (PS_FreeGlyphNameFunc): New typedef.
+ (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
+
+ * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
+ argument.
+ (cff_sid_free_glyph_name): New function.
+ (cff_cmap_unicode_init): Updated.
+
+ * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
+
+ * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
+ PS_FreeGlyphNameFunc and use it.
+
+
+2006-06-04 David Turner <[email protected]>
+
+ * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
+ `item_size == 0' as well -- though this sounds weird, it can
+ theoretically happen. This fixes Savannah bug #16669.
+
+ * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
+ of `face->num_glyphs' which missed the last glyph, due to
+ the offset-by-1 computation, since the PFR format doesn't
+ guarantee that glyph index 0 corresponds to the `missing
+ glyph. This fixes Savannah bug #16668.
+
+2006-05-25 Werner Lemberg <[email protected]>
+
+ * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
+ `-no-undefined'. Reported by Christian Biesinger.
+
+2006-05-19 Brian Weed <[email protected]>
+
+ * builds/win32/visualc/freetype.dsp: Release libraries no longer
+ have debug information, and debug libraries use `C7 compatible'
+ debug info.
+
+2006-05-19 suzuki toshiya <[email protected]>
+
+ Apply patch by Derek Clegg to fix two memory leaks in the MacOS
+ resource fork handler. This fixes Savannah bug #16631.
+
+ * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
+ `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
+
+ * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
+ Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
+
+2006-05-19 suzuki toshiya <[email protected]>
+
+ * build/unix/configure.raw: Add a fallback to disable Carbon
+ dependency, if configured with no options on Mac OS X.
+
+2006-05-19 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
+ its content cannot be parsed as supported font. This fixes
+ the second part of Savannah bug #16590.
+
+2006-05-18 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
+ [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
+
+2006-05-17 David Turner <[email protected]>
+
+ This is a major patch used to drastically improve the performance of
+ loading glyphs. This both speeds up loading the glyph vectors
+ themselves and the auto-fitter module.
+
+ We now use inline assembler code with GCC to implement `FT_MulFix',
+ which is probably the most important function related to the
+ engine's performance.
+
+ The resulting speed-up is about 25%.
+
+
+ * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
+ `cursor' and `limit'.
+
+ * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
+ New functions.
+ (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
+ [TEST]: Remove.
+
+ * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
+ code.
+
+ * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
+ `FT_ZERO'
+ (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
+ (af_glyph_hints_reload: Rewrite recognition of weak points.
+
+ * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
+ constant values out of the loops.
+
+ * src/autofit/aftypes.h: Updated.
+
+ * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
+
+ * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
+ product to get orientation.
+
+ * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
+ (FT_Stream_OpenGzip): Use it to handle small files directly in
+ memory.
+
+ * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
+ Improve performance.
+
+ * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
+ `limit'.
+
+ (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
+ TT_Load_Composite_Glyph): Updated. Add threshold to protect against
+ exceedingly large values of number of contours. Speed up by
+ reducing the number of loops.
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
+
+
+ * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
+ used to detect rogue clients from 4 to 16. This is to prevent some
+ segmentation faults with fonts like `KozMinProVI-Regular.otf' which
+ comes from the Japanese Adobe Reader Asian Font pack.
+
+2007-05-17 Werner Lemberg <[email protected]>
+
+ * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
+ fixes the first part of Savannah bug #16590.
+
+2006-05-16 Werner Lemberg <[email protected]>
+
+ * docs/PROBLEMS: Updated icl issues.
+
+----------------------------------------------------------------------------
+
+Copyright 2006, 2007, 2008, 2009, 2010 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT. By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
diff --git a/components/external/freetype/ChangeLog.20 b/components/external/freetype/ChangeLog.20
index cba6fa8b7a..8fcc5e70ab 100644
--- a/components/external/freetype/ChangeLog.20
+++ b/components/external/freetype/ChangeLog.20
@@ -1,2613 +1,2613 @@
-2002-02-09 Werner Lemberg <[email protected]>
-
- * README: Fix typo.
- * docs/CHANGES: Minor fixes.
-
-
- * Version 2.0.8 released.
- =========================
-
-
-2002-02-08 David Turner <[email protected]>
-
- * docs/CHANGES: Updating for 2.0.8.
-
- * include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and
- removing `FT_Get_Next_Char' from the API (temporarily).
-
- * include/freetype/freetype.h: Adding comments to FT_Get_Next_Char;
- note that this function might temporarily be removed for the 2.0.8
- release.
-
-2002-02-07 David Turner <[email protected]>
-
- * src/pcf/pcfread.c (pcf_load_font): Removed immature support of
- the AVERAGE_WIDTH property.
-
-2002-02-06 David Turner <[email protected]>
-
- * src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in
- PDF documents do not include 'cmap', 'post' and 'name' tables, the
- SFNT face loader has been changed to not immediately report an
- error if these are not present.
-
- Note that the specification _requires_ these tables, but Adobe
- seems to ignore it completely.
-
- * src/sfnt/ttcmap.c: Removing compiler warnings.
-
- * src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt.
- (pcf_parse_metric, pcf_parse_compressed_metric): Removed. Code
- is now in ...
- (pcf_get_metric): Here.
- (pcfSeekToType): Renamed to ...
- (pcf_seek_to_table_type): This.
- Use FT_Int.
- (pcfHasType): Renamed to ...
- (pcf_has_table_type): This.
- Use FT_Int.
- (find_property): Renamed to ...
- (pcf_find_property): This.
- Use FT_Int.
- (pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts
- better (delaying format checks out of FT_Access_Frame ..
- FT_Forget_Frame blocks to avoid leaving the stream in an incorrect
- state when encountering an invalid PCF font).
-
- * src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ...
- (PCF_Face_Done): This.
- (PCF_Init_Face): Renamed to ...
- (PCF_Face_Init): This.
- (PCF_Get_Char_Index): Renamed to ...
- (PCF_Char_Get_Index): This.
- (PCF_Get_Next_Char): Renamed to ...
- (PCF_Char_Get_Next): This.
- (pcf_driver_class): Updated.
-
- * src/pcf/pcf.h (PCF_Done_Face): Removed.
-
-2002-02-06 Detlef Würkner <[email protected]>
-
- * src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak.
-
- * src/pcf/pcfread.c (pcf_load_font): Now handles the `AVERAGE_WIDTH'
- property to return correct character pixel (width/height) pairs for
- embedded bitmaps.
-
-2002-02-04 Keith Packard <[email protected]>
-
- Adding the function `FT_Get_Next_Char', doing the obvious thing
- w.r.t. the selected charmap.
-
- * include/freetype/freetype.h: Add prototype.
- * include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
- typedef.
- (FT_Driver_Class): Use it.
- * include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
- typedef.
- (PSNames_Interface): Use it.
- * include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
- typedef.
- (TT_CMapTable): Use it.
-
- * src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
- high-level API.
- * src/cff/cffdrivr.c (cff_get_next_char): New function.
- (cff_driver_class): Add it.
- * src/cid/cidriver.c (Cid_Get_Next_Char): New function.
- (t1cid_driver_class): Add it.
- * src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
- (pcf_driver_class): Add it.
- * src/psnames/psmodule.c (PS_Next_Unicode): New function.
- (psnames_interface): Add it.
- * src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
- code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
- functions.
- (TT_CharMap_Load): Use them.
- * src/truetype/ttdriver.c (Get_Next_Char): New function.
- (tt_driver_class): Add it.
- * src/type1/t1driver.c (Get_Next_Char): New function.
- (t1_driver_class): Add it.
- * src/winfonts/winfnt.c (FNT_Get_Next_Char): New function.
- (winfnt_driver_class): Add it.
-
- * src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
- Unicode and Latin 1 encodings.
-
-2002-02-02 Keith Packard <[email protected]>
-
- * builds/unix/freetype-config.in: Add missing `fi'.
-
-
- * Version 2.0.7 released.
- =========================
-
-
-2002-02-01 David Turner <[email protected]>
-
- * include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
- for the new release.
-
-2002-01-31 David Turner <[email protected]>
-
- * README, README.UNX, docs/CHANGES: Updating documentation for the
- 2.0.7 release.
-
-2002-01-30 David Turner <[email protected]>
-
- * INSTALL: Moved to ...
- * docs/INSTALL: Here to avoid conflicts with the `install' script on
- Windows, where the filesystem doesn't preserve case.
-
-2002-01-29 David Turner <[email protected]>
-
- * configure: Fixed the script. It previously didn't accept more
- than one argument correctly. For example, when typing:
-
- ./configure --disable-shared --disable-nls
-
- the `--disable-nls' was incorrectly sent to the `make' program.
-
-2002-01-29 Werner Lemberg <[email protected]>
-
- * README.UNX: Fix typo.
- * builds/unix/install.mk (uninstall): Fix library name for libtool.
-
-2002-01-28 Francesco Zappa Nardelli <[email protected]>
-
- * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
- the face object (face->toc.tables, face->root.family_name,
- face->root.available_size, face->charset_encoding,
- face->charset_registry are now freed). Thanks to Niels Moseley.
-
-2002-01-28 Roberto Alameda <[email protected]>
-
- * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
-
-2002-01-28 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
- of `base' string for decrypting to not modify the original data.
- Based on a patch by Jakub Bogusz <[email protected]>.
-
-2002-01-27 Giuliano Pochini <[email protected]>
-
- * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
- bad rendering of thin lines (less than one pixel thick).
-
-2002-01-25 Werner Lemberg <[email protected]>
-
- * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
- actually.
-
-2002-01-25 Martin Zinser <[email protected]>
-
- * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
- compilation warnings.
- * src/base/descrip.mms (OBJS): Add `ftmm.obj'.
- * src/cache/descrip.mms (ftcache.obj): Dependencies added.
-
-2002-01-25 WANG Yi <[email protected]>
-
- * src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
-
-2002-01-21 Antoine Leca <[email protected]>
-
- * docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in
- the URL for the online resource.
-
-2002-01-18 Ian Brown <[email protected]>
-
- * builds/win32/ftdebug.c: New file.
- * builds/win32/visualc/freetype.dsp: Updated.
-
-2002-01-18 Detlef Würkner <[email protected]>
-
- * builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
- * builds/amiga/README: Updated.
-
-2002-01-18 Ian Brown <[email protected]>
-
- * builds/win32/visualc/freetype.dsp: Updated.
-
-2002-01-13 Werner Lemberg <[email protected]>
-
- * builds/unix/freetype2.a4: The script was still buggy.
- * builds/unix/freetype-config.in: Make it really work for any install
- prefix.
-
-2002-01-10 Werner Lemberg <[email protected]>
-
- * builds/unix/freetype2.a4: Fix some serious bugs.
-
-2002-01-09 David Turner <[email protected]>
-
- * builds/unix/configure.ac: Build top-level Jamfile.
-
-2002-01-09 Maxim Shemanarev <[email protected]>
-
- * src/smooth/ftgrays.c (gray_render_line): Small optimization to
- the smooth anti-aliased renderer that deals with vertical segments.
- This results in a 5-7% speedup in rendering speed.
-
-2002-01-08 David Turner <[email protected]>
-
- Added some wrapper scripts to make the installation more
- Unix-friendly.
-
- * configure, install: New files.
-
- * INSTALL, README.UNX: Updated installation documentation to use the
- new 'configure' and 'install' scripts.
-
-2002-01-07 David Turner <[email protected]>
-
-
- * Version 2.0.6 released.
- =========================
-
-
- * docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release.
-
- * src/tools/docmaker.py: Fixed HTML quoting in sources.
- (html_format): Replaced with ...
- (html_quote): New function.
- (html_quote0): New function.
- (DocCode::dump_html): Small improvement.
- (DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote.
-
- * include/freetype/config/ftoption.h: Setting default options for
- a release build (debugging off, bytecode interpreter off).
-
- * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
- src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
- src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler
- warnings (in pedantic compilation modes).
-
-2002-01-05 David Turner <[email protected]>
-
- * src/autohint/ahhint.c (ah_align_linked_edge): Modified computation
- of auto-hinted stem widths; this avoids color fringes in
- `ClearType-like' rendering.
-
- * src/truetype/ttgload.c (TT_Load_Glyph_Header,
- TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph):
- Modified the TrueType loader to make it more paranoid; this avoids
- nasty buffer overflows in the case of invalid glyph data (as
- encountered in the output of some buggy font converters).
-
-2002-01-04 David Turner <[email protected]>
-
- * README.UNX: Added special README file for Unix users.
-
- * builds/unix/ftsystem.c (FT_New_Stream): Fixed typo.
-
- * src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid
- of compiler warnings.
-
- * src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning.
-
-2002-01-03 Werner Lemberg <[email protected]>
-
- * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
- warning.
-
-2002-01-03 Keith Packard <[email protected]>
-
- * builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that
- all FreeType input streams are closed in child processes of a `fork'
- on Unix systems. This is important to avoid (potential) access
- control issues.
-
-2002-01-03 David Turner <[email protected]>
-
- * src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the
- library when dealing with certain weird fonts like `Stalingrad', in
- `sadn.pfb' (this font has no full font name entry).
-
- * src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check):
- New function to check the consistency of outline data.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to
- ensure that loaded glyphs are valid. This allows certain fonts like
- `tt1095m_.ttf' to be loaded even though it appears they contain
- really funky glyphs.
-
- There still is a bug there, though.
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix error condition.
-
-2001-12-30 David Turner <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_load): Fix advance width
- computation of auto-hinted glyphs. This noticeably improves the
- spacing of letters in KDE and Gnome.
-
-2001-12-25 Antoine Leca <[email protected]>
-
- * builds/dos/detect.mk: Correcting the order for Borland compilers:
- 16-bit bcc was never selected, always overridden by 32-bit bcc32.
-
-2001-12-22 Francesco Zappa Nardelli <[email protected]>
-
- * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
- and fix incorrect computation of `available_sizes'.
-
-2001-12-22 David Turner <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an
- incorrect glyph advance in the case of mono-width fonts (like
- Courier, Andale Mono, and others).
-
-2001-12-22 Detlef Würkner <[email protected]>
-
- * builds/amiga/*: Adaptations to latest changes.
- Support added for MorphOS.
-
-2001-12-22 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
- (ps_mask_table_merge, ps_hints_open, ps_hints_stem,
- ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
- FT_ERROR messages.
- * src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
- `trace_pshalgo1'.
- * src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
- `trace_pshalgo2'.
- * include/freetype/internal/ftdebug.h (FT_Trace): Updated.
-
- * docs/modules.txt: New file.
-
-2001-12-21 David Turner <[email protected]>
-
- * src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter):
- Ignore invalid `hintmask' and `cntrmask' operators (instead of
- returning an error). Glyph 2028 of the CFF font `MSung-Light-Acro'
- couldn't be rendered otherwise (it seems its charstring is buggy,
- though this requires more analysis).
- (FT_COMPONENT): Define.
-
- * src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c
- (T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a
- bug where the X and Y axis where inverted in the postscript hinter.
- This caused problem when displaying on non-square surfaces.
-
- * src/pshinter/pshalgo2.c: s/vertical/dimension/.
-
- * src/pshinter/pshglob.c (psh_globals_new): Replaced a floating
- point constant with a fixed-float equivalent. For some reasons not
- all compilers are capable of directly computing a floating pointer
- constant casted to FT_Fixed, and will link a math library instead.
-
-2001-12-20 Werner Lemberg <[email protected]>
-
- * src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
- tracing strings.
- * src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
- * src/cache/ftcmanag.c (ftc_family_table_alloc,
- ftc_family_table_free, FTC_Manager_Check): Ditto.
- * src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
-
- * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
-
-2001-12-20 David Turner <[email protected]>
-
- Added PostScript hinter support to the CFF and CID drivers.
-
- * include/freetype/internal/cfftypes.h (CFF_Font): New member
- `pshinter'.
- * src/cff/cffload.c (CFF_Get_Standard_Encoding): New function.
- * src/cff/cffload.h: Updated.
- * src/cff/cffgload.c (CFF_Init_Builder): Renamed to ...
- (CFF_Builder_Init): This.
- Added new argument `hinting'.
- (CFF_Done_Builder): Renamed to ...
- (CFF_Builder_Done): This.
- (CFF_Init_Decoder): Added new argument `hinting'.
- (CFF_Parse_CharStrings): Implement vstem support.
- (CFF_Load_Glyph): Updated.
- Add hinting support.
- (cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding().
- (cff_argument_counts): Updated.
- * src/cff/cffgload.h: Updated.
- * src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
- (CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init,
- CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GLyphSlot_Init): New
- functions.
- (CFF_Init_Face): Renamed to ...
- (CFF_Face_Init): This.
- Add hinter support.
- (CFF_Done_Face): Renamed to ...
- (CFF_Face_Done): This.
- (CFF_Init_Driver): Renamed to ...
- (CFF_Driver_Init): This.
- (CFF_Done_Driver): Renamed to ...
- (CFF_Driver_Done): This.
- * src/cff/cffobjs.h: Updated.
- * src/cff/cffdrivr.c (cff_driver_class): Updated.
-
- * include/freetype/internal/t1types.h (CID_FaceRec): New member
- `pshinter'.
- * src/cid/cidgload.c (CID_Load_Glyph): Add hinter support.
- * src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
- (CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs,
- CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions.
- (CID_Done_Face): Renamed to ...
- (CID_Face_Done): This.
- (CID_Init_Face): Renamed to ...
- (CID_Face_Init): This.
- Add hinting support.
- (CID_Init_Driver): Renamed to ...
- (CID_Driver_Init): This.
- (CID_Done_Driver): Renamed to ...
- (CID_Driver_Done): This.
- * src/cid/cidobjs.h: Updated.
- * src/cidriver.c: Updated.
-
- * src/pshinter/pshrec.c (t2_hint_stems): Fixed.
-
- * src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that
- crashed the library on exit.
-
- * src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix
- transformation of hinted glyphs.
-
- * src/cid/cidload.c (cid_read_subrs): Fix error condition.
-
- * src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs
- routines were never released when CID faces were destroyed.
-
- * src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated
- to move the definition of encoding tables back within `cffload.c'
- instead of making them part of a shared header (causing problems in
- `multi' builds). This reverts change 2001-08-08.
-
- * docs/CHANGES: Updated for 2.0.6 release.
- * docs/TODO: Added `stem3 and counter hints support' to the TODO
- list for the Postscript hinter.
- * docs/BUGS: Closed the AUTOHINT-NO-SBITS bug.
-
-2001-12-19 David Turner <[email protected]>
-
- * include/freetype/cache/ftcache.h: Added comments to indicate that
- some of the exported functions should only be used by applications
- that need to implement custom cache types.
-
- * src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug
- that prevented composites from loading correctly, due to missing
- parentheses around macro parameters.
-
- * src/sfnt/sfobjs.c (SFNT_Load_Face): Make the `post' and `name'
- tables optional to load PCL fonts properly.
-
- * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
- (FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY):
- `Fixed' the bug that prevented embedded bitmaps to be loaded when
- the auto-hinter is used. This actually is a hack but will be enough
- until the internal re-design scheduled for FreeType 2.1.
-
- * src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline
- shifting bug in the monochrome renderer.
-
- * README: Updated version numbers to 2.0.6.
-
-2001-12-17 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
- glyph header.
-
-2001-12-15 Werner Lemberg <[email protected]>
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning.
- * include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is
- already in ftcmanag.h.
- * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
- `gfam'.
- * src/cache/ftcmanag.c (ftc_family_table_alloc,
- * ftc_family_table_free): Use FT_EXPORT_DEF.
- * include/freetype/cache/ftcmanag.h: Updated.
- * src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
- * src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
- `cfam'.
- Remove compiler warning.
- (FTC_CMapCache_Lookup): Remove compiler warnings.
- (ftc_cmap_family_init): Ditto.
- (FTC_CMapCache_Lookup): Ditto.
-
- * builds/unix/configure.ac: Increase `version_info' to 8:0:2.
- * builds/unix/configure: Regenerated.
-
-2001-12-14 Werner Lemberg <[email protected]>
-
- * builds/mac/README: Updated.
-
-2001-12-14 Scott Long <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
- dealing with invalid fonts (i.e. glyph size < 10 bytes).
-
-2001-12-14 Sam Latinga <[email protected]>
-
- * builds/mac/freetype.make: A new Makefile to build with MPW on
- MacOS classic.
-
-2001-12-14 David Turner <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
- (T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph),
- src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to
- all font drivers (the advance width was never hinted when it
- should).
-
- * include/freetype/freetype.h (FREETYPE_PATCH): New macro.
- * src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't
- use `extern' keyword.
-
-2001-12-12 David Turner <[email protected]>
-
- * src/pshinter/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem
- psh_globals_new): Adding correct BlueScale/BlueShift support, plus
- family blues processing.
- * src/pshinter/pshglob.h (PSH_BluesRec): Updated.
-
- Started adding support for the Postscript hinter in the CFF module.
-
- * src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
- (CFF_Parse_CharStrings): Implement it.
- * src/cff/cffgload.h: Updated.
-
-2001-12-12 Werner Lemberg <[email protected]>
-
- * builds/unix/freetype2.m4: Some portability fixes.
-
-2001-12-11 Jouk Jansen <[email protected]>
-
- * src/base/descrip.mms (OBJS): Add ftdebug.obj.
-
-2001-12-11 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
-
-2001-12-11 David Turner <[email protected]>
-
- * builds/unix/freetype-config.in: Modified the script to prevent
- passing `-L/usr/lib' to gcc.
-
- * docs/FTL.TXT: Simple fix (change `LICENSE.TXT' to `FTL.TXT').
-
- * builds/unix/freetype2.m4: New file for checking configure paths.
- We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I
- didn't modify builds/unix/install.mk yet.
-
- * INSTALL: Updated the instructions to build shared libraries with
- Jam. They were simply wrong.
-
- * src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused
- slightly improper results for `FT_Cos' and `FT_Sin' (example:
- FT_Sin(0) == -1!).
-
-2001-12-11 Detlef Würkner <[email protected]>
-
- * include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
- Fixed incorrect argument types.
-
-2001-12-10 Francesco Zappa Nardelli <[email protected]>
-
- * src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts
- by setting the `face->metrics.max_advance' correctly.
-
-2001-12-07 David Turner <[email protected]>
-
- * include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new
- charmap cache.
- * src/cache/ftcache.c: Updated.
-
- * src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/.
-
-2001-12-06 Leonard Rosenthol <[email protected]>
-
- Added support for reading .dfont files on Mac OS X. Also added a
- new routine which looks up a given font by name in the Mac OS and
- returns the disk file where it resides.
-
- * src/base/ftmac.c: Include <Files.h> and <TextUtils.h>.
- (is_dfont): New auxiliary function.
- (FT_New_Face_From_dfont): New function.
- (FT_GetFile_From_Mac_Name): New exported function.
- (FT_New_Face): Updated.
- * include/freetype/ftmac.h: Updated.
-
-2001-12-06 David Turner <[email protected]>
-
- * src/cache/Jamfile, src/cache/rules.mk: Updated.
-
-2001-12-06 Werner Lemberg <[email protected]>
-
- * INSTALL: Small update.
-
-2001-12-05 David Turner <[email protected]>
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for
- debugging purposes.
- Comment out use of `origin'.
-
- * src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug
- where outline shifting wasn't correctly undone after bitmap
- rasterization. This created problems with certain glyphs (like '"'
- of certain fonts) and the cache system.
-
- * src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo.
- * src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo.
- (ps2_hints_apply): Small fix.
-
-2001-12-05 David Turner <[email protected]>
-
- * src/pshinter/pshalgo2.c (psh2_hint_table_init),
- src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler
- warnings.
-
- * include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*:
- Yet another massive rewrite of the caching sub-system in order to
- both increase performance and allow simpler cache sub-classing. As
- an example, the code for the image and sbit caches is now much
- simpler.
-
- I still need to update the documentation in
- www/freetype2/docs/cache.html to reflect the new design though.
-
- * include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New
- macro.
- (FT_CACHE_INTERNAL_CACHE_H): Updated.
-
-2001-12-05 David Krause <[email protected]>
-
- * docs/license.txt: s/X Windows/X Window System/.
-
-2001-12-04 Werner Lemberg <[email protected]>
-
- * src/raster/ftraster.c: Fix definition condition of MEM_Set().
- * src/smooth/ftgrays.c (M_Y): Change value to 192.
- * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
- Remove unused variable.
- * src/cache/ftcimage.c (ftc_image_node_init,
- ftc_image_node_compare): Remove unused variables.
- * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
- variable.
- * src/raster/ftraster.c (MEM_Set): Move definition down to avoid
- compiler warning.
- * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
- avoid compiler warnings.
- * src/pcf/pcfread.c (tableNames): Use `const'.
- (pcf_read_TOC): Change counter name to avoid compiler warning.
- Use `const'.
- * src/pshinter/pshrec.c (ps_hints_close): Remove redundant
- declaration.
- * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
- to avoid shadowing.
- * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
- * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
- and `T1_Size_Done()'.
-
-2001-11-20 Antoine Leca <[email protected]>
-
- * include/freetype/ttnameid.h: Added some new Microsoft language
- codes and LCIDs as found in MSDN (Passport SDK). Also added
- comments about the meaning of bit 57 of the `OS/2' table
- (TT_UCR_SURROGATES) which (with OpenType v.1.3) now means `there is
- a character beyond 0xFFFF in this font'. Thanks to Detlef Würkner
- <[email protected]> for noticing this.
-
-2001-11-20 David Turner <[email protected]>
-
- * src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting
- routine that created nasty alignment artefacts.
-
- * src/pshinter/pshrec.c, tests/gview.c: Debugging updates.
-
- * src/smooth/ftgrays.c: De-activated experimental gamma support.
- Apparently, `optimal' gamma tables depend on the monitor type,
- resolution and general karma, so it's better to compute them outside
- of the rasterizer itself.
- (gray_convert_glyph): Use `volatile' keyword.
-
-2001-10-29 David Turner <[email protected]>
-
- Adding experimental `gamma' support. This produces smoother glyphs
- at small sizes for very little cost.
-
- * src/smooth/ftgrays.c (grays_init_gamma): New function.
- (gray_raster_new): Use it.
-
- Various fixes to the auto-hinter. They merely improve the output of
- sans-serif fonts. Note that there are still problems with serifed
- fonts and composites (accented characters).
-
- * src/autohint/ahglyph.c (ah_outline_load,
- ah_outline_link_segments): Implement it.
- Fix typos.
- (ah_outline_save, ah_outline_compute_segments): Fix typos.
- * src/autohint/ahhint.c (ah_align_serif_edge): New argument
- `vertical'. Implement improvement.
- (ah_hint_edges_3, ah_hinter_hint_edges): Implement it.
- Fix typos.
- (ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix
- typos.
- (ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined.
- * src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro.
- * src/autohint/ahtypes.h: Ditto.
- (AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges'
- (making them global as `ah_debug_disable_horz' and
- `ah_debug_disable_vert').
- Fix typos.
-
- * tests/gview.c: Updated the debugging glyph viewer to show the
- hints generated by the `autohint' module.
-
-2001-10-27 David Turner <[email protected]>
-
- * src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that
- considerably lowered the performance of the abstract chunk cache.
-
-2001-10-26 David Turner <[email protected]>
-
- * include/freetype/ftcache.h, include/freetype/cache/*.h,
- src/cache/*.c: Major re-design of the cache sub-system to provide
- better performance as well as an `Acquire'/`Release' API. Seems to
- work well here, but probably needs a bit more testing.
-
-2001-10-26 Leonard Rosenthol <[email protected]>
-
- * builds/mac/README: Updated to reflect my taking over the project
- and that is now being actively maintained.
-
- * src/base/ftmac.c (parse_fond): Applied patches from Paul Miller
- <[email protected]> to support loading a face other than the
- first from a FOND resource.
- (FT_New_Face_From_FOND): Updated.
-
-2001-10-25 Leonard Rosenthol <[email protected]>
-
- * builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac
- OS for latest version (7) of CWPro and for recent changes to the FT
- source tree.
-
-2001-10-25 David Turner <[email protected]>
-
- * include/freetype/config/ftoption.h: Updated comments to explain
- precisely how to use project-specific macro definitions without
- modifying this file manually.
-
- (FT_CONFIG_FORCE_INT64): Define.
-
- (FT_DEBUG_MEMORY): New macro.
-
-2001-10-24 Tom Kacvinsky <[email protected]>
-
- * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
-
-2001-10-23 David Turner <[email protected]>
-
- * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
- Improvements to the memory debugger to report more information in
- case of errors. Also, some allocations that occurred through REALLOC
- couldn't be previously caught correctly.
-
- * src/autohint/ahglyph.c (ah_outline_compute_segments,
- ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new),
- src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced
- liberal uses of memset() by the MEM_Set() macro.
-
-2001-10-23 David Turner <[email protected]>
-
- * src/raster/ftraster.c (Update): Removed to be inlined in ...
- (Sort): Updated.
-
-2001-10-22 David Turner <[email protected]>
-
- * builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory),
- builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory),
- builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory),
- src/base/ftdbgmem.c: Updated the memory debugger and
- platform-specific implementations of `ftsystem' in order to be able
- to debug memory allocations on Unix, VMS and Amiga too!
-
- * src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed
- some bogus warnings.
-
- * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
- Modified the debugging memory manager to report the location (source
- file name + line number) where leaked memory blocks are allocated in
- the source file.
-
- * src/base/ftdbgmem.c: New debugging memory manager. You must
- define the FT_DEBUG_MEMORY macro in `ftoption.h' to enable it. It
- will record every memory block allocated and report simple errors
- like memory leaks and double deletes.
-
- * src/base/Jamfile: Include ftdbgmem.
- * src/base/rules.mk: Ditto.
- * src/base/ftbase.c: Include ftdbgmem.c.
-
- * include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY
- macro definition.
-
- * src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the
- base component to use the debugging memory manager when the macro
- FT_DEBUG_MEMORY is defined.
-
-2001-10-21 Tom Kacvinsky <[email protected]>
-
- * src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
- we are working with a CID keyed CFF font. Otherwise, a variable
- that was never allocated memory might freed. This is a correction
- to the previous patch for freeing subfonts.
-
-2001-10-21 Tom Kacvinsky <[email protected]>
-
- * src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
- avoid a memory leak.
-
-2001-10-21 David Turner <[email protected]>
-
- * src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c,
- src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes
- (in multi-object compilation mode, mainly).
-
-2001-10-20 Tom Kacvinsky <[email protected]>
-
- * src/type1/t1load.c (parse_encoding): Add a test to make sure
- that custom encodings (i.e., neither StandardEncoding nor
- ExpertEncoding) are not loaded twice when the Type 1 font is
- synthetic.
-
- * src/type1/t1load.c (parse_font_name, parse_subrs): Added a test
- for when loading synthetic fonts to make sure that the font name
- and subroutines are not loaded twice. This is to remove a memory
- leak that occurred because the original memory blocks for these
- objects were not deallocated when the objects were parsed the
- second time.
-
-2001-10-19 David Turner <[email protected]>
-
- * src/smooth/ftgrays.c, src/pshinter/pshglob.h,
- src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of
- compiler warnings.
-
- * src/pshinter/module.mk, src/pshinter/rules.mk: Adding control
- files to build the PostScript hinter with the `old' build system.
-
-2001-10-19 Jacob Jansen <[email protected]>
-
- * descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build
- files.
-
-2001-10-18 David Turner <[email protected]>
-
- * src/psnames/pstables.h, src/tools/glnames.py: Rewrote the
- `glnames.py' script used to generate the `pstables.h' header file.
- The old one contained a serious bug that made FreeType return
- incorrect glyph names for certain glyphs.
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of
- pixel size from character size to use rounding. This is an
- experiment to see whether this gives values similar to Windows for
- scaled ascent/descent/etc.
-
- * src/base/ftcalc.c (FT_Div64by32): Changed the implementation
- slightly since the original code was mis-compiled on Mac machines
- using the MPW C compiler.
-
- * src/base/ftobjs.c (FT_Realloc): When a memory block was grown
- through FT_Realloc(), the new bytes were not set to 0, which created
- some strange bugs in the PostScript hinter.
- (destroy_face): Don't deallocate unconditionally.
-
- * src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph):
- Adding support to new PostScript hinter.
-
- * include/freetype/internal/psglobal.h,
- include/freetype/internal/pshints.h,
- include/freetype/config/ftmodule.h, src/pshinter/Jamfile,
- src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h,
- src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h,
- src/pshinter/pshalgo2.c, src/pshinter/pshglob.h,
- src/pshinter/pshglob.c, src/pshinter/pshinter.c,
- src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c,
- src/pshinter/pshrec.h: Adding new PostScript hinter module.
-
- * include/freetype/internal/ftobjs.h,
- include/freetype/internal/internal.h,
- include/freetype/internal/psaux.h,
- include/freetype/internal/t1types.h, src/psaux/psobjs.c,
- src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c,
- src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c,
- src/type1/t1objs.h: Updates to use the new PostScript hinter.
-
- * tests/Jamfile, tests/gview.c: Adding a new glyph hinting
- viewer/debugger to the source tree. Note that you will _not_ be
- able to compile it since it depends on an unavailable graphics
- library named `Nirvana' to render vector images.
-
-2001-10-17 David Turner <[email protected]>
-
-
- * Version 2.0.5 released.
- =========================
-
-
- * include/freetype/freetype.h, include/internal/ftobjs.h,
- src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named
- 'FT_Get_Postscript_Name' to retrieve the PostScript name of a given
- font. Should work with all formats except pure CFF/CEF fonts (this
- will be added soon).
-
- * src/cid/cidriver (cid_get_postscript_name): New function.
- (CID_Get_Interface): Handle `postscript_name' interface.
-
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function.
- (SFNT_Get_Interface): Handle `postscript_name' interface.
-
- * src/type1/t1driver.c (t1_get_ps_name): New function.
- (Get_Interface): Handle `postscript_name' interface.
-
- * README, docs/CHANGES: Updated for 2.0.5 release.
-
-2001-10-08 David Turner <[email protected]>
-
- Fixed a bug in `glnames.py' that prevented it from generating
- 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.
-
-2001-10-07 Richard Barber <[email protected]>
-
- * src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
- correct LRU behaviour.
-
-2001-10-07 David Turner <[email protected]>
-
- 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.
-
-2001-10-07 David Turner <[email protected]>
-
- 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.
-
-2001-09-20 Detlef Würkner <[email protected]>
-
- * builds/amiga/*: Added port to Amiga with the SAS/C compiler.
-
-2001-09-15 Detlef Würkner <[email protected]>
-
- * src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
-
-2001-09-10 Yao Zhang <[email protected]>
-
- * src/sfnt/ttcmap.c (code_to_index2): Handle code values with
- hi-byte == 0 correctly.
-
-2001-09-10 Werner Lemberg <[email protected]>
-
- * builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
-
-2001-08-30 Martin Muskens <[email protected]>
-
- * src/type1/t1load.c (parse_font_matrix): A new way to compute the
- units per EM with greater accuracy (important for embedded T1 fonts
- in PDF documents that were automatically generated from TrueType
- ones).
-
- * src/type1/t1load.c (is_alpha): Now supports `+' in font names;
- this is used in embedded fonts.
-
- * src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that
- generated a dangling pointer reference.
-
-2001-08-30 Anthony Feik <[email protected]>
-
- * src/type1/t1afm.c (T1_Read_Afm): Now correctly sets the flag
- FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files.
-
-2001-08-25 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of
- `cmap_rec_fields'.
-
- * include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]:
- Undefine FT_ERR_BASE before defining again.
-
-2001-08-22 Werner Lemberg <[email protected]>
-
- * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
-
-2001-08-21 Werner Lemberg <[email protected]>
-
- * builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
-
-2001-08-21 David Turner <[email protected]>
-
- * include/freetype/config/ftoption.h: Changed the default setting
- for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks
- source compatibility in a few cases. Updated the comment to explain
- that too.
-
-2001-08-17 Martin Muskens <[email protected]>
-
- * src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
-
-2001-08-12 Werner Lemberg <[email protected]>
-
- Updating to OpenType 1.3.
-
- * include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4,
- TT_CMap6): Adding field `language'.
- (TT_CMapTable): Removing field `language'.
- Type of `length' field changed to FT_ULong.
- Adding fields for cmaps format 8, 10, and 12.
- (TT_CMapGroup): New auxiliary structure.
- (TT_CMap8_12, TT_CMap10): New structures.
- * include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader):
- Removed last element of `Reserved' array.
- * include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4,
- TT_NAME_ID_CID_FINDFONT_NAME): New macros.
-
- * src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language'
- field to the new structures.
- Fixed freeing of arrays in case of unsuccessful loads.
- Added support for loading format 8, 10, and 12 cmaps.
- (TT_CharMap_Free): Added support for freeing format 8, 10, and 12
- cmaps.
- (code_to_index4): Small improvement.
- (code_to_index6): Ditto.
- (code_to_index8_12, code_to_index10): New functions.
- * src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new
- structure.
- (TT_Load_CMap): Ditto.
-
- * src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
- Unicode).
-
-2001-08-11 Werner Lemberg <[email protected]>
-
- * src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
-
-2001-08-09 Tom Kacvinsky <[email protected]>
-
- * src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to
- cff_get_glyph_name for consistency.
-
- (cff_get_glyph_index): Minor documentation change.
-
- * src/type1/t1driver.c (t1_get_name_index): New function used in
- Get_Interface as the function returned when the `name_index'
- function is requested.
-
- (get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency.
-
-2001-08-08 Tom Kacvinsky <[email protected]>
-
- * src/cff/cffload.c: Removed definitions of cff_isoadobe_charset,
- cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
- and cff_expert_encoding arrays to cffload.h.
-
- * src/cff/cffload.h: Added definitions of cff_isoadobe_charset,
- cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
- and cff_expert_encoding arrays.
-
- * src/cff/cffdrivr.c (cff_get_name_index): New function, returned
- when `cff_get_interface' is called with a request for the
- `name_index' function.
-
- (cff_get_interface): Modified so that it returns the function
- `cff_get_name_index' when the `name_index' function is requested.
-
- * src/base/ftobjs.c (FT_Get_Name_Index): New function, used to
- return a glyph index for a given glyph name only if the driver
- supports glyph names.
-
- * include/freetype/internal/ftobjs.h (FT_Name_Index_Requester):
- New function pointer type definition used in the function
- FT_Get_Name_Index.
-
- * include/freetype/freetype.h (FT_Get_Name_Index): Added
- documentation and prototype.
-
-2001-07-26 Werner Lemberg <[email protected]>
-
- * builds/cygwin/*: Removed. Use the unix stuff instead.
-
-2001-07-26 Jouk Jansen <[email protected]>
-
- * builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
- 2001-06-27.
-
-2001-07-17 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
- `cursor' and `capacity'.
- * src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second
- parameter.
- (PS_Table_Add): Use FT_Offset for `new_size'.
-
- Add support for version 0.5 maxp tables.
-
- * src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it.
- (TT_Load_OS2): Initialize some values.
-
-2001-07-13 Werner Lemberg <[email protected]>
-
- * src/base/ftsynth.c: Include ftcalc.h unconditionally.
-
-2001-07-07 David Turner <[email protected]>
-
- * src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread:
- Removed pedantic compiler warnings when the bytecode interpreter is
- compiled in.
-
-2001-07-03 Werner Lemberg <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove
- unused variable `edges'.
- (ah_hinter_load): Remove unused variables `old_width' and
- `new_width'.
- * src/cid/cidload.c (cid_decrypt): Use `U' for constant (again).
- * src/psaux/psobjs.c (T1_Decrypt): Ditto.
- * src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
-
-2001-06-28 David Turner <[email protected]>
-
- * include/internal/ftstream.h: Modified the definitions
- of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness.
-
-2001-06-26 Werner Lemberg <[email protected]>
-
- * src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset
- instead of FT_Int as type for `length' parameter.
- * include/freetype/internal/psaux.h (PSAux_Interface): Updated.
-
-2001-06-27 Wolfgang Domröse <[email protected]>
-
- * src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset
- instead of FT_Int as type for `length' parameter.
-
-
- * Version 2.0.4 released.
- =========================
-
-
-2001-06-27 David Turner <[email protected]>
-
- * builds/unix/ftconfig.in: Changed the definition of the
- FT_CALLBACK_DEF macro.
-
- * include/freetype/ftconfig.h, src/*/*.c: Changed the definition and
- use of the FT_CALLBACK_DEF macro in order to support 16-bit
- compilers.
-
- * builds/unix/ftconfig.in: Changed the definition of the
- FT_CALLBACK_DEF macro.
-
- * src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures
- that the kerning table is correctly sorted (some problem fonts don't
- have a correct kern table).
-
-2001-06-26 Wolfgang Domröse <[email protected]>
-
- * include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
-
-2001-06-24 David Turner <[email protected]>
-
- * src/base/ftcalc.c (ft_div64by32): Fixed the source to work
- correctly on 16-bit systems.
-
-2001-06-23 Anthony Fok <[email protected]>
-
- * debian/*: Added Debian package build directory for 2.0.4.
-
-2001-06-22 David Turner <[email protected]>
-
- * docs/PATENTS: Added patents disclaimer. This one was missing!
-
- * docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release.
-
-2001-06-20 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftconfig.h: Add two more `L's to
- constants.
- Add missing semicolons.
-
- * builds/toplevel.mk: Do similar change as for
- builds/unix/detect.mk.
-
- * include/freetype/freetype.h (FT_ENC_TAG): New version to make it
- easier to redefine.
- * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto.
-
- * src/pcf/pcfread.c (pcf_get_encodings): Add cast.
-
-2001-06-19 David Turner <[email protected]>
-
- * builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
- Updated the Visual C++ project (for the 2.0.4 release).
-
- * builds/unix/detect.mk: Added rule for AIX detection (which uses
- /usr/sbin/init instead of /sbin/init).
-
- * include/freetype/fterrors.h, src/*/*err*.h: Updated some of the
- error macros to simplify handling of new error scheme.
-
-2001-06-19 Werner Lemberg <[email protected]>
-
- * include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
-
-2001-06-19 David Turner <[email protected]>
-
- Removing _lots_ of compiler warnings when the most pedantic warning
- levels of Visual C++ and Borland C++ are used. Too many files to be
- listed here, but FT2 now compiles without warnings with VC++ and the
- `/W4' warning level (lint-style).
-
- * include/freetype/freetype.h (FT_New_Memory_Face): Updated
- documentation.
- * include/freetype/fttypes.h (FT_BOOL): New macro.
- * include/freetype/internal/ftdebug.h: Add #pragma for Visual C++
- to suppress warning.
- * include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE},
- FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros.
- (NEXT_*): Use them.
- * src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H.
- (FT_New_Memory_Face): Add `const' to function declaration.
-
-2001-06-18 Werner Lemberg <[email protected]>
-
- Minor cleanups to remove compiler warnings.
-
- * include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
- `L' for constant.
- * include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
- * src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
- * src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
- * src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
- * src/base/ftobjs.c (FT_Done_Size): Fix return value.
- (FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
- unused `memory' variable.
- * src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
- * src/autohint/ahhint.c (ah_hint_edges_3,
- ah_hinter_align_edge_points): Remove unused `before' and `after'
- variables.
- (ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
- (ah_hinter_load): Remove unused `new_advance', `start_contour',
- and `metrics' variables.
- * src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
- compiler warning.
- * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
- variable.
- * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
- `outline' variable.
- (cff_compute_bias): Use `U' for constant.
- * src/cid/cidload.c (cid_decrypt): Ditto.
- * src/psaux/psobjs.c (T1_Decrypt): Ditto.
- * src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
- * src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
- variable.
- * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
- variable.
- * src/truetype/ttgload.c (load_truetype_glyph): Remove unused
- `num_contours' and `ins_offset' variables.
- (compute_glyph_metrics): Remove unused `Top' and `x_scale'
- variables.
- (TT_Load_Glyph): Remove unused `memory' variable.
- * src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
-
-2001-06-18 Werner Lemberg <[email protected]>
-
- Make the new error scheme source compatible with older FT versions
- by introducing another layer.
-
- * include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
- macros.
- (FT_NOERRORDEF): Removed.
- * include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
-
-2001-06-16 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h (FT_ENC_TAG): New macro.
- (FT_Encoding_): Use it.
- * include/freetype/ftimage.h (FT_IMAGE_TAG): Define it
- conditionally.
-
-2001-06-14 David Turner <[email protected]>
-
- Modified the TrueType interpreter to let it use the new
- trigonometric functions provided in `fttrigon.h'. This gets rid of
- some old 64-bit computation routines, as well as many warnings when
- compiling the library with the `long long' 64-bit integer type.
-
- * include/freetype/config/ftoption.h: Undefine
- FT_CONFIG_OPTION_OLD_CALCS.
- * include/freetype/internal/ftcalc.h: Rearrange use of
- FT_CONFIG_OPTION_OLD_CALCS.
- * src/base/ftcalc.c: Add declaration of FT_Int64 if
- FT_CONFIG_OPTION_OLD_CALCS isn't defined.
- * src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H.
- (Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't
- defined.
- (Current_Ratio, Normalize): Simplify code.
-
-2001-06-11 Mike Owens <[email protected]>
-
- * src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
- compiler warnings.
-
-2001-06-08 Werner Lemberg <[email protected]>
-
- * builds/unix/configure.in: Renamed to ...
- * builds/unix/configure.ac: This to make sure that autoconf 2.50 is
- needed.
- Run `autoupdate' on it.
- Increase `version_info' to 7:0:1.
- * builds/unix/configure: Regenerated.
-
-2001-06-08 David Turner <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that
- corrupted transformed glyphs that were auto-hinted (the transform
- was applied twice).
-
- Fixed a bug that returned an invalid linear width for composite
- TrueType glyphs.
-
- * include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
- and `linear_def'.
- * src/truetype/ttgload.c (load_truetype_glyph,
- compute_glyph_metrics): Use it.
-
- * include/fttypes.h (FT_ERROR_BASE): New macro.
- * src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
- to make source code work with the new error scheme implemented by
- Werner.
- * src/base/ftoutln.c (FT_Outline_Render): Ditto.
-
-2001-06-07 Werner Lemberg <[email protected]>
-
- Updating to libtool 1.4.0 and autoconf 2.50.
-
- * builds/unix/ltconfig: Removed.
- * builds/unix/ltmain.sh, builds/unix/configure.in,
- builds/unix/aclocal.m4: Updated.
- * builds/unix/configure: Regenerated.
-
-2001-06-06 Werner Lemberg <[email protected]>
-
- Complete redesign of error codes. Please check ftmoderr.h for more
- details.
-
- * include/freetype/internal/cfferrs.h,
- include/freetype/internal/tterrors.h,
- include/freetype/internal/t1errors.h: Removed. Replaced with files
- local to the module. All extra error codes have been moved to
- `fterrors.h'.
-
- * src/sfnt/ttpost.h: Move error codes to `fterrors.h'.
-
- * src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
- src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
- src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
- src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
- src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
- error names for the module it belongs to.
-
- * include/freetype/ftmoderr.h: New file, defining the module error
- offsets. Its structure is similar to `fterrors.h'.
-
- * include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
- (FT_ERRORDEF): Redefined to use module error offsets.
- All internal error codes are now public; unused error codes have
- been removed, some are new.
-
- * include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
- macro.
- * include/freetype/config/ftoption.h
- (FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.
-
- All other source files have been updated to use the new error codes;
- some already existing (internal) error codes local to a module have
- been renamed to give them the same name as in the base module.
-
- All make files have been updated to include the local error files.
-
-2001-06-06 Werner Lemberg <[email protected]>
-
- * src/cid/cidtokens.h: Replaced with...
- * src/cid/cidtoken.h: This file for 8+3 consistency.
-
- * src/raster/ftraster.c: Use macros for header file names.
-
- * src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_):
- Fix length of `Reserved' array. Note that this isn't the real fix
- since recent OpenType specs have introduced a `CaretOffset' field
- instead of the first reserved byte.
-
-2001-05-29 Werner Lemberg <[email protected]>
-
- * INSTALL: Minor fixes.
-
-
- * Version 2.0.3 released.
- =========================
-
-
-2001-05-29 David Turner <[email protected]>
-
- * INSTALL, docs/CHANGES: Updated.
-
-2001-05-25 David Turner <[email protected]>
-
- Moved several documents from the top-level to the `docs' directory.
-
- * src/base/ftcalc.c (FT_DivFix): Small fix to return value.
-
-2001-05-16 David Turner <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the
- composite loader. Spotted by Keith Packard.
- * src/base/ftobjs.c (FT_GlyphLoader_Check_Points,
- FT_GlyphLoader_Check_Subglyphs): Ditto.
-
-2001-05-14 David Turner <[email protected]>
-
- Fixed the incorrect blue zone computations, and improved the
- composite support. Note that these changes result in improved
- rendering, while sometimes introducing their own artefacts. This is
- probably the last big change to the autohinter before the
- introduction of a complete replacement.
-
- * src/autohint/ahglobal.c (sort_values): Fix loop.
- * src/autohint/ahglyph.c: Removed some obsolete code.
- (ah_outline_compute_edges): Modify code to set the ah_edge_round
- flag.
- (ah_outline_compute_blue_edges): Add code to compute active blue
- zones.
- * src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags
- value.
-
- * src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that
- created incorrect scale factors!
- (FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements.
-
-2001-05-12 Werner Lemberg <[email protected]>
-
- * include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__.
- * include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ ->
- __FTTRIGON_H__.
- Include FT_FREETYPE_H.
- Beautified; added copyright.
- * src/base/fttrigon.c: Beautified; added copyright.
-
-2001-05-11 David Turner <[email protected]>
-
- * src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
- (parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed
- the incorrect EM size computation.
-
- * include/freetype/fttrigon.h, src/base/fttrigon.c: New files,
- adding trigonometric functions to the core API (using Cordic
- algorithms).
- * src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them.
-
- * builds/newline: New file.
- * builds/top_level.mk, builds/detect.mk: Use it. This fixes
- problems with Make on Windows 2000, as well as problems when `make
- distclean' is invoked on a non-Unix platform when there is no
- `config.mk' in the current directory.
-
- * builds/freetype.mk: Fixed a problem with object deletions under
- Dos/Windows/OS/2 systems.
-
- Added new directory to hold tools and test programs.
-
- * docs/docmaker.py, docs/glnames.py: Moved to...
- * src/tools/docmaker.py, src/tools/glnames.py: This place.
- * src/tools/cordic.py: New file used to compute arctangent table
- needed by fttrigon.c.
- * src/tools/test_bbox.c, src/tools/test_trig.c: New test files.
-
- * src/tools/docmaker.py: Improved the script to add the current date
- at the footer of each web page (useful to distinguish between
- versions).
-
- * Jamfile: Fixed incorrect HDRMACRO argument.
-
- * TODO: Removed the cubic arc bbox computation note, since it has been
- fixed recently.
- * src/base/ftbbox.c (test_cubic_zero): Renamed to...
- (test_cubic_extrema): This function. Use `UL' for unsigned long
- constants.
-
- * include/freetype/t1tables.h, include/freetype/config/ftoption.h:
- Formatting.
-
-2001-05-10 David Turner <[email protected]>
-
- * src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak
- which happened when trying to open 0-size font files!
-
-2001-05-09 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/ftcalc.h: Move declaration of
- FT_SqrtFixed() out of `#ifdef FT_LONG64'.
-
-2001-05-08 Francesco Zappa Nardelli <[email protected]>
-
- * src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width
- computation.
-
-2001-05-08 David Turner <[email protected]>
-
- * docs/docmaker.py: Updated the DocMaker script in order to add
- command line options (--output,--prefix,--title), fix the erroneous
- line numbers reported during errors and warnings, and other
- formatting issues.
-
- * src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny
- fixes related to rounding in 64-bits routines and
- pseudo-`optimizations'.
-
-2001-04-27 David Turner <[email protected]>
-
- * src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient
- normalization algorithm (invalid final bit position, and invalid
- shift computation).
-
-2001-04-26 Werner Lemberg <[email protected]>
-
- * builds/unix/config.guess, builds/unix/config.sub: Updated to
- latest versions from gnu.org.
-
- * builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.
-
- * include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
- unconditionally.
- * src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
- Fix compiler warnings.
- * src/base/ftcalc.c: Fix (potential) compiler warnings.
-
-2001-04-26 David Turner <[email protected]>
-
- * src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
- fixed-point square root computation. It is now used even with
- 64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
-
- * src/base/ftbbox.c: Removed invalid `#include FT_BEZIER_H' line.
-
-2001-04-25 David Turner <[email protected]>
-
- * src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use
- direct computations with 16.16 values instead of sub-divisions. It
- is now slower, but proves a point :-)
-
- * src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c:
- Fixed the Bézier stack depths.
-
- * src/base/ftcalc.c (FT_MulFix): Minor rounding fix.
-
- * builds/beos: Added BeOS-specific files to the old build system
- (no changes were necessary to support BeOS in the Jamfile though).
-
-2001-04-20 David Turner <[email protected]>
-
- * ftconfig.h, ftoption.h: Updated `ftconfig.h' to detect 64-bit int
- types on platforms where Autoconf is not available). Also removed
- FTCALC_USE_LONG_LONG and replaced it with
- FT_CONFIG_OPTION_FORCE_INT64.
-
- * builds/win32/freetype.dsp: Updated the Visual C++ project file.
- Doesn't create a DLL yet.
-
- * cffgload.c: Removed a compilation warning.
-
-2001-04-10 Tom Kacvinsky <[email protected]>
-
- * t1load.c (parse_charstrings): Changed code for placing .notdef
- glyph into slot 0 so that we no longer have a memory access
- violation.
-
- * t1load.h: In structure T1_Loader, added swap_table (of type
- PS_Table) to facilitate placing the .notdef glyph into slot 0.
-
-2001-04-10 Francesco Zappa Nardelli <[email protected]>
-
- * src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
-
-2001-04-09 Laurence Withers <[email protected]>
-
- * builds/dos/detect.mk: Add support for bash.
-
-2001-04-05 Werner Lemberg <[email protected]>
-
- * builds/os2/*.mk: These files have been forgotten to update to
- the structure of similar makefiles.
- * builds/dos/*.mk: Ditto.
- * builds/ansi/*.mk: Ditto.
-
- * builds/win32/win32-def.mk (BUILD): Fix typo.
-
- * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
- This is already used in the link_*.mk files.
-
-2001-04-03 Werner Lemberg <[email protected]>
-
- * src/*/Jamfile: Slight changes to make files more cryptic.
-
-2001-04-03 Werner Lemberg <[email protected]>
-
- * Jamfile, src/Jamfile, src/*/Jamfile: Formatted. Slight changes
- to give files identical structure.
-
-2001-04-02 Werner Lemberg <[email protected]>
-
- * CHANGES: Reformatted, minor fixes.
- * TODO: Updated.
- * README: Formatting.
- * include/freetype/freetype.h: Formatting.
-
- * Jamfile: Fix typo.
-
- * src/cff/cffparse.c: Move error code #defines to...
- * include/freetype/internal/cfferrs.h: This file.
- * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced
- `FT_Err_*' with `CFF_Err_*'.
- * src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
- * src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
- * src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
- `TT_Err_*'.
- * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
- * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
- src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.
-
- * include/freetype/internal/cfferrs.h: Add
- `CFF_Err_Unknown_File_Format'.
- * include/freetype/internal/t1errors.h: Add
- `T1_Err_Unknown_File_Format'.
- * include/freetype/internal/tterrors.h: Add
- `TT_Err_Unknown_File_Format'.
-
- * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
- references.
- * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
-
- * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
- FT_LOCAL_DEF.
- * src/cid/cidobjs.c (CID_Done_Driver): Ditto.
- * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
- Ditto.
- * src/type1/t1objs.c (T1_Done_Driver): Ditto.
- * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
- * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
-
-2001-04-02 Tom Kacvinsky <[email protected]>
-
- * src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer
- dereference. Submitted by Herbert Duerr <[email protected]>.
-
-2001-03-26 Tom Kacvinsky <[email protected]>
-
- * include/freetype/config/ftconfig.h: Changed hexadecimal
- constants to use suffix U to avoid problems with HP-UX's c89
- compiler. Submitted by G.W. Lucas <[email protected]>.
-
-2001-03-24 David Turner <[email protected]>
-
- * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to
- the source tree. See www.freetype.org/jam/index.html for details.
-
-
- * Version 2.0.2 released.
- =========================
-
-
-2001-03-20 Werner Lemberg <[email protected]>
-
- * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
-
-2001-03-20 David Turner <[email protected]>
-
- * include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
- Renamed `ftnames.h' to `ftsnames.h', and FT_NAMES_H to
- FT_SFNT_NAMES_H.
-
- * docs/docmaker.py: Added generation of INDEX link in table of
- contents.
-
- * INSTALL, docs/BUILD: Updated documentation to indicate that the
- compilation process has changed slightly (no more `src' required in
- the include path).
-
- * builds/*/*-def.mk: Changed the objects directory from `obj' to
- `objs'.
-
- * include/freetype/config/ftheader.h: Removed obsolete macros like
- FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
- were previously defined in <freetype/ftcache.h>. Added comments to
- be included in a new API Reference section.
-
- * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each
- component needs to add its own directory to the include path at
- compile time. Modified all `rules.mk' and `descrip.mms'
- accordingly.
-
-2001-03-20 Werner Lemberg <[email protected]>
-
- * builds/unix/configure.in: Add $ft_version.
- * builds/unix/freetype-config.in: Use it.
- * builds/unix/configure: Updated.
-
-2001-03-19 Tom Kacvinsky <[email protected]>
-
- * src/type1/t1load.c (parse_font_matrix): Assign the units per em
- value an unsigned short value, first by shifting right 16 bits,
- then by casting the results to FT_UShort.
-
- * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
- value an unsigned short value, first by shifting right 16 bits,
- then by casting the results to FT_UShort.
-
-2001-03-17 David Turner <[email protected]>
-
- * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
- src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
- compiler warnings in pedantic modes.
-
- * include/config/ft2build.h, include/config/ftheader.h: The file
- `ft2build.h' was renamed to `ftheader.h' to avoid conflicts with the
- top-level <ft2build.h>.
-
- * include/config/ftheader.h: Added new section describing the #include
- macros.
-
-2001-03-17 Tom Kacvinsky <[email protected]>
-
- * src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
- values for the bounding box numbers.
-
- * src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font,
- set `root->ascender' (`root->descender') to the integer part of
- `root->bbox.yMax' (`root->bbox.yMin', respectively).
-
-2001-03-16 Tom Kacvinsky <[email protected]>
-
- * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in
- cff_get_interface to facilitate getting a glyph name for glyph index
- via FT_Get_Glyph_Name().
-
- (cff_get_interface): Added support for getting a glyph name via the
- `glyph_name' module interface. Uses the new function
- get_cff_glyph_name().
- Submitted by Sander van der Wal <[email protected]>.
-
- * src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with
- FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is
- not defined. This is to add support for getting a glyph name from a
- glyph index via FT_Get_Glyph_Name().
- Submitted by Sander van der Wal <[email protected]>.
-
- * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
- deprecated operator `dotsection'.
- Submitted by Sander van der Wal <[email protected]>.
-
-2001-03-12 Werner Lemberg <[email protected]>
-
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
- messages.
-
- * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
-
-2001-03-12 Tom Kacvinsky <[email protected]>
-
- * include/freetype/internal/psaux.h: Changed the lenIV member of
- the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt.
-
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Adjust
- for lenIV seed bytes at the start of a decrypted subroutine.
-
- * src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only
- if lenIV >= 0.
-
- * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
- if lenIV >= 0.
-
-2001-03-11 Werner Lemberg <[email protected]>
-
- * TODO: Updated.
-
- * src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
- avoid compiler warnings.
-
-2001-03-10 Tom Kacvinsky <[email protected]>
-
- * TODO: New file.
-
- * include/freetype/freetype.h: Added prototypes and notes for
- three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix.
- * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added
- implementation code.
-
- * src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM,
- and if that is not available, default to 1000 units per EM. Changed
- assignment code for ascender and descender values.
- * src/cid/cidload.c (parse_font_matrix): Added units_per_EM
- processing.
- (parse_font_bbox): Changed to use FT_Fixed number handling.
-
- * src/type1/t1objs.c (T1_Init_Face): Changed the assignment code
- for ascender, descender, and max_advance_width.
- * src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed
- number handling.
-
-2001-03-10 Henrik Grubbström <[email protected]>
-
- * src/*/*.c: Added many casts to make code more 64bit-safe.
-
-2001-03-07 Werner Lemberg <[email protected]>
-
- * INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
-
-2001-03-07 Tom Kacvinsky <[email protected]>
-
- * src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
- until parse_font_bbox is changed before we use logical shift rights
- in the assignments of `root->ascender', `root->descender', and
- `root->max_advance_width'.
-
- (T1_Done_Face): Free `char_name' table to avoid a memory leak.
- Submitted by Sander van der Wal <[email protected]>.
-
-2001-03-05 Tom Kacvinsky <[email protected]>
-
- * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
- the Type 2 glyph charstring (used by conversion programs).
- Submitted by Ha Shao <[email protected]>.
-
-2001-03-04 Antoine Leca <[email protected]>
-
- * include/freetype/ttnameid.h: Correct a stupid typo which prevented
- correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
-
-2001-03-04 Werner Lemberg <[email protected]>
-
- * src/autohint/ahtypes.h (AH_Hinter): Add elements
- `disable_horz_edges', `disable_vert_edges'.
- * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use
- them (and remove static variables with the same names).
- * src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
- * docs/glnames.py: Updated to latest pstables.h changes.
-
- * builds/unix/detect.mk: Add test for Hurd.
- * builds/hurd/detect.mk: Removed.
-
-2001-03-04 Sander van der Wal <[email protected]>
-
- * src/psnames/pstables.h: Add more `const'.
- * src/pcf/pcfutil.c: Ditto.
-
-2001-03-04 Werner Lemberg <[email protected]>
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
- (FT_Glyph_Done -> FT_Done_Glyph).
-
-2001-03-01 Antoine Leca <[email protected]>
-
- * include/freetype/ttnameid.h: Added some new Microsoft language
- codes and LCIDs as found in Office Xp.
-
-2001-02-28 David Turner <[email protected]>
-
- * builds/hurd/detect.mk: New file. Added support to detect the GNU
- Hurd operating system as Unix-like. Fix submitted by Anthony Fok
-
- * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
- the Type 1 glyph charstring (used by conversion programs).
- Submitted by Ha Shao <[email protected]>.
-
-2001-02-22 David Turner <[email protected]>
-
- * src/base/ftgrays.c (grays_sweep): The function didn't exit
- immediately if `num_cells' was 0 as it should. Thanks to Boris for
- finding this out.
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
- bitmap rendering fails (thanks to Graham Asher).
-
-2001-02-13 Werner Lemberg <[email protected]>
-
- * docs/docmaker.py (DocSection::add_element): Use
- `self.print_error()'.
-
- * builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org).
-
-2001-02-13 David Turner <[email protected]>
-
- * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
- script to support chapters and section block ordering. Updated the
- public header files accordingly.
-
- * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
- were not correctly copied.
-
-2001-02-08 Tom Kacvinsky <[email protected]>
-
- * src/cff/cffparse.c (cff_parse_font_matrix): Removed an
- unnecessary fprintf( stderr, ... ).
-
-2001-02-07 Tom Kacvinsky <[email protected]>
-
- * src/type1/t1objs.c (T1_Init_Face): Added code to get the
- units_per_EM from the value assigned in parse_font_matrix, if
- available. Default to 1000 if not available.
-
- * src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get
- the units_per_EM from the FontMatrix.
-
- (cff_parse_fixed_thousand): New function. Gets a real number from
- the CFF font, but multiplies by 1000 (this is to avoid rounding
- errors when placing this real number into a 16.16 fixed number).
-
- (cff_parse_real): Added code so that the integer part is moved
- into the high sixteen bits of the 16.16 fixed number.
-
- * src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units
- per EM from the CFF dictionary, if available.
-
- * include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_,
- added a units_per_em member to facilitate passing of units_per_em
- from function cff_parse_font_matrix.
-
- * src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric
- character. This is so that font names with `-' are fully parsed,
- etc...
-
-2001-02-02 Werner Lemberg <[email protected]>
-
- * src/psaux/psobjs.c (shift_elements): Remove if clause (which is
- obsolete now).
-
- (reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC()
- + MEM_Copy() to avoid a memory bug.
-
-2001-02-01 David Turner <[email protected]>
-
- * docs/docmaker.py: Improved the index sorting routine to place
- capital letters before small ones. Added the `<order>' marker to
- section blocks in order to give the order of blocks.
-
-2001-01-30 Antoine Leca <[email protected]>
-
- * include/freetype/ttnameid.h: Latest updates to Microsoft language
- ID codes.
-
-2001-01-24 Tom Kacvinsky <[email protected]>
-
- * src/cff/t1load.c (parse_font_matrix): Added heuristic to get
- units_per_EM from the font matrix.
-
- (parse_dict): Deleted test to see whether the FontInfo keyword has
- been seen. Deletion of this test allows fonts without FontInfo
- dictionaries to be parsed by the Type 1 driver.
-
- (T1_Open_Face): Deleted empty subroutines array test to make sure
- fonts with no subroutines still are parsed.
-
-2001-01-17 Francesco Zappa Nardelli <[email protected]>
-
- * src/pcfread.c (pcf_get_properties, pcf_get_metrics,
- pcf_get_bitmaps): Fix compiler errors.
-
-2001-01-11 David Turner <[email protected]>
-
- * src/pcf/pcfread.c: Removed some compilation warnings related
- to comparison of signed vs. unsigned integers.
-
- * include/freetype/internal/ftdebug.h: Changed the debug trace
- constants from trace_t2xxxx to trace_cffxxxx to be able to compile
- the CFF driver in debug mode.
-
-2001-01-11 Matthew Crosby <[email protected]>
-
- * builds/unix/freetype-config.in: Fix problems with separate
- --prefix and --exec-prefix.
-
-2001-01-11 David Turner <[email protected]>
-
- * docs/docmaker.py: Added cross-references generation as well as
- more robust handling of pathname wildcard matching.
-
-2001-01-10 Werner Lemberg <[email protected]>
-
- * docs/docmaker.py: Minor improvements to reduce unwanted spaces
- and empty lines in output.
-
-2001-01-09 David Turner <[email protected]>
-
- * docs/docmaker.py: Improved script to generate table of contents
- and index pages. It also supports wildcards on non Unix systems.
-
- * include/freetype/*.h, include/freetype/cache/*.h: Updated comments
- to include section definitions/delimitations for the API Reference
- generator.
-
- * include/freetype/freetype.h: Moved declaration of
- `FT_Generic_Finalizer' and the `FT_Generic' structure to...
- * include/freetype/fttypes.h: here.
-
-2001-01-04 Werner Lemberg <[email protected]>
-
- * include/freetype/ttnameid.h: Updated Unicode code range comments.
-
-2001-01-03 Tom Kacvinsky <[email protected]>
-
- * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
-
- * include/freetype/internal/internal.h: Changed to use cfftypes.h
- (cfferrs.h) instead of t2types.h (t2errors.h, respectively).
-
- * include/freetype/internal/cfftypes.h: Merged in changes from
- t2types.h and made this the canonical `types' header for the CFF
- driver.
-
- * include/freetype/internal/t2types.h: This file was merged with
- cfftypes.h and is no longer necessary.
-
- * include/freetype/internal/t2errors.h: Renamed to cfferrs.h.
-
- * src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
- src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
- src/cff/cffgload.c, src/cff/cffgload.h: Changed to use
- cffgload.{c,h} instead of t2gload.{c,h}. All occurrences of t2_
- (T2_) were replaced with cff_ (CFF_, respectively).
-
- * src/cff/t2gload.h: Renamed cffgload.h.
-
- * src/cff/t2gload.c: Renamed cffgload.c
-
-2000-01-02 Jouk Jansen <[email protected]>
-
- * builds/vms: Support files for VMS architecture added.
- * descrip.mms, src/*/descrip.mms: VMS makefiles added.
- * README.VMS: New file.
-
-2000-01-01 Werner Lemberg <[email protected]>
-
- * LICENSE.TXT: Added info about PCF driver license.
-
-2001-01-01 Francesco Zappa Nardelli <[email protected]>
-
- * src/pcf/*: New driver module for PCF font format (used in
- X Window System).
- * include/freetype/internal/ftdebug.h (FT_Trace): Added values for
- PCF driver.
- * include/freetype/internal/pcftypes.h: New file.
- * include/freetype/config/ftmodule.h: Added PCF driver module.
-
-2001-01-01 Werner Lemberg <[email protected]>
-
- * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
-
-2000-12-31 Werner Lemberg <[email protected]>
-
- * builds/modules.mk (clean_module_list): Fixed deletion of module
- file in case `make make_module_list' is called before `make setup'.
-
-2000-12-30 Werner Lemberg <[email protected]>
-
- * src/cff/cffload.c (CFF_Load_Charset): Improved error messages.
- (CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable
- definition.
-
-2000-12-30 Tom Kacvinsky <[email protected]>
-
- * include/freetype/internal/t2types.h,
- include/freetype/internal/cfftypes.h: Changed the structures for
- CFF_Encoding and CFF_Encoding for the new implementations of the
- charset and encoding parsers in the CFF driver.
-
- * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
- t2_operator_seac): Added these functions for use in implementing the
- seac emulation provided by the Type 2 endchar operator.
- (T2_Parse_CharStrings): Added seac emulation for the endchar
- operator.
-
- * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
- CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
- charset/encoding tables, and free the memory used by them when the
- CFF driver is finished with them. Added tables
-
- cff_isoadobe_charset
- cff_expert_charset
- cff_expertsubset_charset
- cff_standard_encoding
- cff_expert_encoding
-
- so that the encoding/charset parser can handle predefined encodings and
- charsets.
-
-2000-12-24 Tom Kacvinsky <[email protected]>
-
- * src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font
- transform is applied.
-
- * src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
- the font matrix numbers are scaled by 1/(matrix->yy). Also, the
- offset vector now contains integer values instead of 16.16 fixed
- numbers.
-
-2000-12-22 Tom Kacvinsky <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph):
- Removed unnecessary comments and commented-out code.
-
-2000-12-21 David Turner <[email protected]>
-
- * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
- we'll work on supporting CID AFM files later I guess :-)
-
-2000-12-21 Tom Kacvinsky <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
- Changed so that fonts with a non-standard FontMatrix render
- correctly. Previously, the first glyph rendered from such a
- font did not have the transformation matrix applied.
-
-2000-12-17 Werner Lemberg <[email protected]>
-
- * *.mk: Added lots of `.PHONY' targets.
-
-2000-12-17 Karsten Fleischer <[email protected]>
-
- * *.mk: Implemented `platform' target to disable auto-detection.
-
-2000-12-14 Werner Lemberg <[email protected]>
-
- * docs/design/modules.html: Removed. Covered by design-*.html.
-
- * INSTALL: Added info about makepp.
-
-2000-12-14 David Turner <[email protected]>
-
- Added support for clipped direct rendering in the smooth renderer.
- This should not break binary compatibility of existing applications.
-
- * include/freetype/fttypes.h, include/freetype/ftimage.h: Move
- definition of the FT_BBox structure from the former to the latter.
- * include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
- FT_Raster_Flag enumeration.
- Add `clip_box' element to FT_Raster_Params structure.
- * src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
-
- * INSTALL: Updated installation instructions on Win32, listing the
- new `make setup list' target used to list supported
- compilers/targets.
-
- * src/raster/ftraster.c (ft_black_render): Test for unsupported
- direct rendering before testing arguments.
-
-2000-12-13 David Turner <[email protected]>
-
- * include/freetype/config/ft2build.h,
- include/freetype/internal/internal.h: Fixed header inclusion macros
- to use direct definitions. This is the only way to do these things
- in a portable way :-( The rest of the code should follow shortly
- though everything compiles now.
-
- * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
-
- * builds/win32/detect.mk: Added support for the Intel C/C++
- compiler, as well as _preliminary_ (read: doesn't work!) support for
- Watcom. Also added a new setup target. Type `make setup list' for
- a list of supported command-line compilers on Win32.
-
- * src/base/ftdebug.c: Added dummy symbol to avoid empty file if
- conditionals are off.
-
-2000-12-13 Werner Lemberg <[email protected]>
-
- * builds/unix/ftsystem.c: Fixed typos. Fixed inclusion of wrong
- ftconfig.h file.
-
-2000-12-12 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
- Removed. ANSI C doesn't (explicitly) allow macro expansion in
- arguments using `##'.
- (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
- names directly. Make them configurable. Use `##' to strip leading
- and trailing spaces from arguments.
-
- * builds/unix/ft2unix.h: Adapted.
-
- * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
- ft_close_stream): Use FT_CALLBACK_DEF.
-
- * builds/unix/ftsystem.c: Use new header scheme.
- (FT_Done_Memory): Use free() from FT_Memory structure.
-
- * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
-
-2000-12-11 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
- FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
- FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
-
-2000-12-09 Werner Lemberg <[email protected]>
-
- * builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
-
-2000-12-08 Werner Lemberg <[email protected]>
-
- * */*.h: Changed body inclusion macro names to start and end with
- `__' (those which haven't converted yet). Fixed minor conversion
- issues.
-
- * src/winfonts/winfnt.c: Updated to new header inclusion scheme.
-
- * src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
-
-2000-12-07 David Turner <[email protected]>
-
- * */*.[ch]: Changed source files to adhere to the new
- header inclusion scheme. Not completely tested but works for now
- here.
-
- * src/cff/t2driver.c: Renamed and updated to...
- * src/cff/cffdrivr.c: New file.
- * src/cff/t2driver.h: Renamed and updated to...
- * src/cff/cffdrivr.h: New file.
- * src/cff/t2load.c: Renamed and updated to...
- * src/cff/cffload.c: New file.
- * src/cff/t2load.h: Renamed and updated to...
- * src/cff/cffload.h: New file.
- * src/cff/t2objs.c: Renamed and updated to...
- * src/cff/cffobjs.c: New file.
- * src/cff/t2objs.h: Renamed and updated to...
- * src/cff/cffobjs.h: New file.
- * src/cff/t2parse.c: Renamed and updated to...
- * src/cff/cffparse.c: New file.
- * src/cff/t2parse.h: Renamed and updated to...
- * src/cff/cffparse.h: New file.
- * src/cff/t2tokens.h: Renamed and updated to...
- * src/cff/cfftoken.h: New file.
-
- * src/cff/cff.c, src/cff/rules.mk: Updated.
-
-2000-12-06 David Turner <[email protected]>
-
- * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
-
-2000-12-06 Werner Lemberg <[email protected]>
-
- * builds/module.mk: Replaced `xxx #' with `xxx$(space).
- * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
- avoid trailing spaces in variable.
- * builds/freetype.mk: Use $(D) instead of $D to make statement more
- readable.
-
- * docs/docmaker.py: Formatting.
-
-2000-12-05 David Turner <[email protected]>
-
- * src/psaux/psauxmod.c: Fixed a broken inclusion of component
- header files (an FT_FLAT_COMPILE test was missing).
-
- * src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
- an occasional crash when the function was called (due to a dangling
- pointer).
-
- * src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
- The ANSI `free()' function was called instead of `memory->free()'.
-
- * docs/docmaker.py: Added section filtering, multi-page generation
- (index page generation is still missing though).
-
-2000-12-04 David Turner <[email protected]>
-
- * builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h'
- is now installed as <ft2build.h> for Unix systems. Note that we
- still use the `freetype2/freetype' installation path for now.
-
- * */*.[ch]: Now using <ft2build.h> as the default build and setup
- configuration file in all public headers. Internal source files
- still need some changes though.
-
- * builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
- directory to hold all development options for both the Unix and
- Win32 developer builds.
-
- * builds/win32/detect.mk, builds/win32/w32-bccd.mk,
- builds/win32/w32-dev.mk: Changed the developer build targets to
- `devel-gcc' and `devel-bcc' in order to be able to develop with the
- Borland C++ compiler.
-
-2000-12-01 David Turner <[email protected]>
-
-
- * Version 2.0.1 released.
- =========================
-
-
- * builds/unix/configure.in, builds/unix/configure,
- builds/cygwin/configure.in, builds/cygwin/configure: Setting
- `version_info' to 6:1:0 for the 2.0.1 release.
-
- * CHANGES: Added a summary of changes between 2.0.1 and 2.0.
-
- * builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes
- to allow compilation under Unix with the Unix-specific config
- files.
-
-2000-12-01 Werner Lemberg <[email protected]>
-
- * INSTALL: Revised.
- * builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
- builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
- builds/win32/w32-bccd.mk: Revised.
- * include/freetype/config/ftbuild.h,
- include/freetype/internal/internal.h: Revised.
- * include/freetype/ftimage.h: Updated to new header inclusion scheme.
-
-2000-11-30 Werner Lemberg <[email protected]>
-
- * builds/toplevel.mk (.PHONY): Adding `distclean'.
- * builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
- `setup'.
-
-2000-11-30 David Turner <[email protected]>
-
- * INSTALL: Slightly updated the quick starter documentation to
- include IDE compilation, prevent against BSD Make, and specify `make
- setup' instead of a single `make' for build configuration.
-
- * include/config/ftbuild.h, include/internal/internal.h: Added new
- configuration files used to determine the location of all public,
- configuration, and internal header files for FreeType 2. Modified
- all headers under `include/freetype' to reflect this change. Note
- that we still need to change the library source files themselves
- though.
-
- * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
- builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
- builds/win32/detect.mk: Added new files to support compilation with
- the free Borland C++ command-line compiler. Modified the detection
- rules to recognize the new `bcc32' target in `make setup bcc32'.
-
- * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
- src/truetype/ttobjs.c, src/truetype/ttgload.c,
- src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
- didn't really like. Basically, this compiler complains when FT_UInt
- is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
- in these cases).
-
-2000-11-30 Tom Kacvinsky <[email protected]>
-
- * t2objs.c (T2_Init_Face): Added calculation of `face->height' for
- pure CFF fonts.
-
- * t1objs.c (T1_Init_Face): Fixed computation of `face->height'.
-
-2000-11-29 David Turner <[email protected]>
-
- * src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid
- bug in the formula used to compute the conic Bézier extrema
- of non-monotonous arcs.
-
-2000-11-29 Werner Lemberg <[email protected]>
-
- * src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
- (FT_Set_Renderer): Use FT_EXPORT_DEF.
- * src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
- src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
- FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
- FTC_Manager_Register_Cache), src/cache/ftcsbits.c
- (FTC_SBit_Cache_Lookup): Ditto.
-
- * src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
- src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
-
-2000-11-29 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
- conditionally.
-
- * src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
- `size->strike_index' only conditionally.
-
- * src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
- conditionally.
-
- * src/winfonts/winfnt.h: Move all type definitions to...
- * src/include/freetype/internal/fnttypes.h: New file.
- * src/winfonts/winfnt.c: Use it.
-
-2000-11-29 ??? ??? <[email protected]>
-
- * include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
- with a direct solution (which also satisfies picky compilers).
-
-2000-11-28 YAMANO-UCHI Hidetoshi <[email protected]>
-
- * src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with
- disabled interpreter also.
-
- * src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect
- parentheses.
-
-2000-11-26 Tom Kacvinsky <[email protected]>
-
- * src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph
- width setting code to take into account even/odd argument counts
- and glyph width operand before endchar/hmoveto/vmoveto.
-
-2000-11-26 Werner Lemberg <[email protected]>
-
- * builds/ansi/ansi.mk: Fix inclusion order of files.
-
-2000-11-26 Keith Packard <[email protected]>
-
- * src/type1/t1objs.c (T1_Init_Face): Compute style flags.
-
-2000-11-26 Werner Lemberg <[email protected]>
-
- * builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
- conditional.
-
-2000-11-23 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
- function from PSAux module.
-
- * src/type1/t1parse.c (T1_Done_Parse): Renamed to...
- (T1_Finalize_Parser): New function (to avoid name clash with a
- function in the PSAux module).
- (T1_Decrypt): Removed since it is duplicated in the PSAux module.
- (T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
- function from PSAux module.
-
- * src/type1/t1parse.h: Adapted.
-
-2000-11-22 Tom Kacvinsky <[email protected]>
-
- * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
- `root->num_faces' to `cff->num_faces' and set `units_per_EM'
- to 1000.
-
- * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
- loop.
-
- * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
- sid that was off by one.
-
-2000-11-16 David Turner <[email protected]>
-
- * src/autohint/ahtypes.h (AH_Hinter): Added new fields to control
- auto-hinting of synthetic Type 1 fonts.
-
- * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
- Added auto-hinting support of synthetic Type 1 fonts.
-
-2000-11-12 Tom Kacvinsky <[email protected]>
-
- * src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change
- tracing output.
-
- * src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable
- `has-outline' to true only if the font has a `glyf' or `CFF ' table.
-
-2000-11-11 Werner Lemberg <[email protected]>
-
- * builds/win32/visualc/freetype.dsp: Fix raster1->raster and
- type1z->type1.
-
-2000-11-11 Tom Kacvinsky <[email protected]>
-
- * builds/unix/freetype-config.in, builds/cygwin/freetype-config.in:
- Added a --libtool option. When freetype-config --libtool is
- invoked, the absolute path to the libtool convenience library
- is returned.
-
-2000-11-11 Werner Lemberg <[email protected]>
-
- * builds/cygwin/cygwin-def.in: Same fix as previous.
-
-2000-11-10 Tom Kacvinsky <[email protected]>
-
- * builds/unix/unix-def.in: Add
-
- INSTALL_PROGRAM := @INSTALL_PROGRAM@
- INSTALL_SCRIPT := @INSTALL_SCRIPT@
-
- so that installation of freetype-config does not fail.
-
-2000-11-10 Werner Lemberg <[email protected]>
-
- * builds/cygwin/freetype-config.in, builds/unix/freetype-config.in:
- Move test down for empty --exec-prefix.
- Fix --version.
-
- * builds/cygwin/install.mk, builds/unix/install.mk: Use
- $(INSTALL_SCRIPT) for installation of freetype-config.
-
- * builds/cygwin/install.mk: Fix clean target names.
-
-2000-11-09 David Turner <[email protected]>
-
-
- * Version 2.0 released.
- =======================
-
-----------------------------------------------------------------------------
-
-Copyright 2000, 2001, 2002, 2007 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT. By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
+2002-02-09 Werner Lemberg <[email protected]>
+
+ * README: Fix typo.
+ * docs/CHANGES: Minor fixes.
+
+
+ * Version 2.0.8 released.
+ =========================
+
+
+2002-02-08 David Turner <[email protected]>
+
+ * docs/CHANGES: Updating for 2.0.8.
+
+ * include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and
+ removing `FT_Get_Next_Char' from the API (temporarily).
+
+ * include/freetype/freetype.h: Adding comments to FT_Get_Next_Char;
+ note that this function might temporarily be removed for the 2.0.8
+ release.
+
+2002-02-07 David Turner <[email protected]>
+
+ * src/pcf/pcfread.c (pcf_load_font): Removed immature support of
+ the AVERAGE_WIDTH property.
+
+2002-02-06 David Turner <[email protected]>
+
+ * src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in
+ PDF documents do not include 'cmap', 'post' and 'name' tables, the
+ SFNT face loader has been changed to not immediately report an
+ error if these are not present.
+
+ Note that the specification _requires_ these tables, but Adobe
+ seems to ignore it completely.
+
+ * src/sfnt/ttcmap.c: Removing compiler warnings.
+
+ * src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt.
+ (pcf_parse_metric, pcf_parse_compressed_metric): Removed. Code
+ is now in ...
+ (pcf_get_metric): Here.
+ (pcfSeekToType): Renamed to ...
+ (pcf_seek_to_table_type): This.
+ Use FT_Int.
+ (pcfHasType): Renamed to ...
+ (pcf_has_table_type): This.
+ Use FT_Int.
+ (find_property): Renamed to ...
+ (pcf_find_property): This.
+ Use FT_Int.
+ (pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts
+ better (delaying format checks out of FT_Access_Frame ..
+ FT_Forget_Frame blocks to avoid leaving the stream in an incorrect
+ state when encountering an invalid PCF font).
+
+ * src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ...
+ (PCF_Face_Done): This.
+ (PCF_Init_Face): Renamed to ...
+ (PCF_Face_Init): This.
+ (PCF_Get_Char_Index): Renamed to ...
+ (PCF_Char_Get_Index): This.
+ (PCF_Get_Next_Char): Renamed to ...
+ (PCF_Char_Get_Next): This.
+ (pcf_driver_class): Updated.
+
+ * src/pcf/pcf.h (PCF_Done_Face): Removed.
+
+2002-02-06 Detlef Würkner <[email protected]>
+
+ * src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak.
+
+ * src/pcf/pcfread.c (pcf_load_font): Now handles the `AVERAGE_WIDTH'
+ property to return correct character pixel (width/height) pairs for
+ embedded bitmaps.
+
+2002-02-04 Keith Packard <[email protected]>
+
+ Adding the function `FT_Get_Next_Char', doing the obvious thing
+ w.r.t. the selected charmap.
+
+ * include/freetype/freetype.h: Add prototype.
+ * include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
+ typedef.
+ (FT_Driver_Class): Use it.
+ * include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
+ typedef.
+ (PSNames_Interface): Use it.
+ * include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
+ typedef.
+ (TT_CMapTable): Use it.
+
+ * src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
+ high-level API.
+ * src/cff/cffdrivr.c (cff_get_next_char): New function.
+ (cff_driver_class): Add it.
+ * src/cid/cidriver.c (Cid_Get_Next_Char): New function.
+ (t1cid_driver_class): Add it.
+ * src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
+ (pcf_driver_class): Add it.
+ * src/psnames/psmodule.c (PS_Next_Unicode): New function.
+ (psnames_interface): Add it.
+ * src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
+ code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
+ functions.
+ (TT_CharMap_Load): Use them.
+ * src/truetype/ttdriver.c (Get_Next_Char): New function.
+ (tt_driver_class): Add it.
+ * src/type1/t1driver.c (Get_Next_Char): New function.
+ (t1_driver_class): Add it.
+ * src/winfonts/winfnt.c (FNT_Get_Next_Char): New function.
+ (winfnt_driver_class): Add it.
+
+ * src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
+ Unicode and Latin 1 encodings.
+
+2002-02-02 Keith Packard <[email protected]>
+
+ * builds/unix/freetype-config.in: Add missing `fi'.
+
+
+ * Version 2.0.7 released.
+ =========================
+
+
+2002-02-01 David Turner <[email protected]>
+
+ * include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7
+ for the new release.
+
+2002-01-31 David Turner <[email protected]>
+
+ * README, README.UNX, docs/CHANGES: Updating documentation for the
+ 2.0.7 release.
+
+2002-01-30 David Turner <[email protected]>
+
+ * INSTALL: Moved to ...
+ * docs/INSTALL: Here to avoid conflicts with the `install' script on
+ Windows, where the filesystem doesn't preserve case.
+
+2002-01-29 David Turner <[email protected]>
+
+ * configure: Fixed the script. It previously didn't accept more
+ than one argument correctly. For example, when typing:
+
+ ./configure --disable-shared --disable-nls
+
+ the `--disable-nls' was incorrectly sent to the `make' program.
+
+2002-01-29 Werner Lemberg <[email protected]>
+
+ * README.UNX: Fix typo.
+ * builds/unix/install.mk (uninstall): Fix library name for libtool.
+
+2002-01-28 Francesco Zappa Nardelli <[email protected]>
+
+ * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
+ the face object (face->toc.tables, face->root.family_name,
+ face->root.available_size, face->charset_encoding,
+ face->charset_registry are now freed). Thanks to Niels Moseley.
+
+2002-01-28 Roberto Alameda <[email protected]>
+
+ * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
+
+2002-01-28 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
+ of `base' string for decrypting to not modify the original data.
+ Based on a patch by Jakub Bogusz <[email protected]>.
+
+2002-01-27 Giuliano Pochini <[email protected]>
+
+ * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
+ bad rendering of thin lines (less than one pixel thick).
+
+2002-01-25 Werner Lemberg <[email protected]>
+
+ * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
+ actually.
+
+2002-01-25 Martin Zinser <[email protected]>
+
+ * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
+ compilation warnings.
+ * src/base/descrip.mms (OBJS): Add `ftmm.obj'.
+ * src/cache/descrip.mms (ftcache.obj): Dependencies added.
+
+2002-01-25 WANG Yi <[email protected]>
+
+ * src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug.
+
+2002-01-21 Antoine Leca <[email protected]>
+
+ * docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in
+ the URL for the online resource.
+
+2002-01-18 Ian Brown <[email protected]>
+
+ * builds/win32/ftdebug.c: New file.
+ * builds/win32/visualc/freetype.dsp: Updated.
+
+2002-01-18 Detlef Würkner <[email protected]>
+
+ * builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
+ * builds/amiga/README: Updated.
+
+2002-01-18 Ian Brown <[email protected]>
+
+ * builds/win32/visualc/freetype.dsp: Updated.
+
+2002-01-13 Werner Lemberg <[email protected]>
+
+ * builds/unix/freetype2.a4: The script was still buggy.
+ * builds/unix/freetype-config.in: Make it really work for any install
+ prefix.
+
+2002-01-10 Werner Lemberg <[email protected]>
+
+ * builds/unix/freetype2.a4: Fix some serious bugs.
+
+2002-01-09 David Turner <[email protected]>
+
+ * builds/unix/configure.ac: Build top-level Jamfile.
+
+2002-01-09 Maxim Shemanarev <[email protected]>
+
+ * src/smooth/ftgrays.c (gray_render_line): Small optimization to
+ the smooth anti-aliased renderer that deals with vertical segments.
+ This results in a 5-7% speedup in rendering speed.
+
+2002-01-08 David Turner <[email protected]>
+
+ Added some wrapper scripts to make the installation more
+ Unix-friendly.
+
+ * configure, install: New files.
+
+ * INSTALL, README.UNX: Updated installation documentation to use the
+ new 'configure' and 'install' scripts.
+
+2002-01-07 David Turner <[email protected]>
+
+
+ * Version 2.0.6 released.
+ =========================
+
+
+ * docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release.
+
+ * src/tools/docmaker.py: Fixed HTML quoting in sources.
+ (html_format): Replaced with ...
+ (html_quote): New function.
+ (html_quote0): New function.
+ (DocCode::dump_html): Small improvement.
+ (DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote.
+
+ * include/freetype/config/ftoption.h: Setting default options for
+ a release build (debugging off, bytecode interpreter off).
+
+ * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
+ src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
+ src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler
+ warnings (in pedantic compilation modes).
+
+2002-01-05 David Turner <[email protected]>
+
+ * src/autohint/ahhint.c (ah_align_linked_edge): Modified computation
+ of auto-hinted stem widths; this avoids color fringes in
+ `ClearType-like' rendering.
+
+ * src/truetype/ttgload.c (TT_Load_Glyph_Header,
+ TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph):
+ Modified the TrueType loader to make it more paranoid; this avoids
+ nasty buffer overflows in the case of invalid glyph data (as
+ encountered in the output of some buggy font converters).
+
+2002-01-04 David Turner <[email protected]>
+
+ * README.UNX: Added special README file for Unix users.
+
+ * builds/unix/ftsystem.c (FT_New_Stream): Fixed typo.
+
+ * src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid
+ of compiler warnings.
+
+ * src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning.
+
+2002-01-03 Werner Lemberg <[email protected]>
+
+ * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
+ warning.
+
+2002-01-03 Keith Packard <[email protected]>
+
+ * builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that
+ all FreeType input streams are closed in child processes of a `fork'
+ on Unix systems. This is important to avoid (potential) access
+ control issues.
+
+2002-01-03 David Turner <[email protected]>
+
+ * src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the
+ library when dealing with certain weird fonts like `Stalingrad', in
+ `sadn.pfb' (this font has no full font name entry).
+
+ * src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check):
+ New function to check the consistency of outline data.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to
+ ensure that loaded glyphs are valid. This allows certain fonts like
+ `tt1095m_.ttf' to be loaded even though it appears they contain
+ really funky glyphs.
+
+ There still is a bug there, though.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix error condition.
+
+2001-12-30 David Turner <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_load): Fix advance width
+ computation of auto-hinted glyphs. This noticeably improves the
+ spacing of letters in KDE and Gnome.
+
+2001-12-25 Antoine Leca <[email protected]>
+
+ * builds/dos/detect.mk: Correcting the order for Borland compilers:
+ 16-bit bcc was never selected, always overridden by 32-bit bcc32.
+
+2001-12-22 Francesco Zappa Nardelli <[email protected]>
+
+ * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
+ and fix incorrect computation of `available_sizes'.
+
+2001-12-22 David Turner <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an
+ incorrect glyph advance in the case of mono-width fonts (like
+ Courier, Andale Mono, and others).
+
+2001-12-22 Detlef Würkner <[email protected]>
+
+ * builds/amiga/*: Adaptations to latest changes.
+ Support added for MorphOS.
+
+2001-12-22 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
+ (ps_mask_table_merge, ps_hints_open, ps_hints_stem,
+ ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
+ FT_ERROR messages.
+ * src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
+ `trace_pshalgo1'.
+ * src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
+ `trace_pshalgo2'.
+ * include/freetype/internal/ftdebug.h (FT_Trace): Updated.
+
+ * docs/modules.txt: New file.
+
+2001-12-21 David Turner <[email protected]>
+
+ * src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter):
+ Ignore invalid `hintmask' and `cntrmask' operators (instead of
+ returning an error). Glyph 2028 of the CFF font `MSung-Light-Acro'
+ couldn't be rendered otherwise (it seems its charstring is buggy,
+ though this requires more analysis).
+ (FT_COMPONENT): Define.
+
+ * src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c
+ (T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a
+ bug where the X and Y axis where inverted in the postscript hinter.
+ This caused problem when displaying on non-square surfaces.
+
+ * src/pshinter/pshalgo2.c: s/vertical/dimension/.
+
+ * src/pshinter/pshglob.c (psh_globals_new): Replaced a floating
+ point constant with a fixed-float equivalent. For some reasons not
+ all compilers are capable of directly computing a floating pointer
+ constant casted to FT_Fixed, and will link a math library instead.
+
+2001-12-20 Werner Lemberg <[email protected]>
+
+ * src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
+ tracing strings.
+ * src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
+ * src/cache/ftcmanag.c (ftc_family_table_alloc,
+ ftc_family_table_free, FTC_Manager_Check): Ditto.
+ * src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
+
+ * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
+
+2001-12-20 David Turner <[email protected]>
+
+ Added PostScript hinter support to the CFF and CID drivers.
+
+ * include/freetype/internal/cfftypes.h (CFF_Font): New member
+ `pshinter'.
+ * src/cff/cffload.c (CFF_Get_Standard_Encoding): New function.
+ * src/cff/cffload.h: Updated.
+ * src/cff/cffgload.c (CFF_Init_Builder): Renamed to ...
+ (CFF_Builder_Init): This.
+ Added new argument `hinting'.
+ (CFF_Done_Builder): Renamed to ...
+ (CFF_Builder_Done): This.
+ (CFF_Init_Decoder): Added new argument `hinting'.
+ (CFF_Parse_CharStrings): Implement vstem support.
+ (CFF_Load_Glyph): Updated.
+ Add hinting support.
+ (cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding().
+ (cff_argument_counts): Updated.
+ * src/cff/cffgload.h: Updated.
+ * src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+ (CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init,
+ CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GLyphSlot_Init): New
+ functions.
+ (CFF_Init_Face): Renamed to ...
+ (CFF_Face_Init): This.
+ Add hinter support.
+ (CFF_Done_Face): Renamed to ...
+ (CFF_Face_Done): This.
+ (CFF_Init_Driver): Renamed to ...
+ (CFF_Driver_Init): This.
+ (CFF_Done_Driver): Renamed to ...
+ (CFF_Driver_Done): This.
+ * src/cff/cffobjs.h: Updated.
+ * src/cff/cffdrivr.c (cff_driver_class): Updated.
+
+ * include/freetype/internal/t1types.h (CID_FaceRec): New member
+ `pshinter'.
+ * src/cid/cidgload.c (CID_Load_Glyph): Add hinter support.
+ * src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+ (CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs,
+ CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions.
+ (CID_Done_Face): Renamed to ...
+ (CID_Face_Done): This.
+ (CID_Init_Face): Renamed to ...
+ (CID_Face_Init): This.
+ Add hinting support.
+ (CID_Init_Driver): Renamed to ...
+ (CID_Driver_Init): This.
+ (CID_Done_Driver): Renamed to ...
+ (CID_Driver_Done): This.
+ * src/cid/cidobjs.h: Updated.
+ * src/cidriver.c: Updated.
+
+ * src/pshinter/pshrec.c (t2_hint_stems): Fixed.
+
+ * src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that
+ crashed the library on exit.
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix
+ transformation of hinted glyphs.
+
+ * src/cid/cidload.c (cid_read_subrs): Fix error condition.
+
+ * src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs
+ routines were never released when CID faces were destroyed.
+
+ * src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated
+ to move the definition of encoding tables back within `cffload.c'
+ instead of making them part of a shared header (causing problems in
+ `multi' builds). This reverts change 2001-08-08.
+
+ * docs/CHANGES: Updated for 2.0.6 release.
+ * docs/TODO: Added `stem3 and counter hints support' to the TODO
+ list for the Postscript hinter.
+ * docs/BUGS: Closed the AUTOHINT-NO-SBITS bug.
+
+2001-12-19 David Turner <[email protected]>
+
+ * include/freetype/cache/ftcache.h: Added comments to indicate that
+ some of the exported functions should only be used by applications
+ that need to implement custom cache types.
+
+ * src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug
+ that prevented composites from loading correctly, due to missing
+ parentheses around macro parameters.
+
+ * src/sfnt/sfobjs.c (SFNT_Load_Face): Make the `post' and `name'
+ tables optional to load PCL fonts properly.
+
+ * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
+ (FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY):
+ `Fixed' the bug that prevented embedded bitmaps to be loaded when
+ the auto-hinter is used. This actually is a hack but will be enough
+ until the internal re-design scheduled for FreeType 2.1.
+
+ * src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline
+ shifting bug in the monochrome renderer.
+
+ * README: Updated version numbers to 2.0.6.
+
+2001-12-17 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
+ glyph header.
+
+2001-12-15 Werner Lemberg <[email protected]>
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning.
+ * include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is
+ already in ftcmanag.h.
+ * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
+ `gfam'.
+ * src/cache/ftcmanag.c (ftc_family_table_alloc,
+ * ftc_family_table_free): Use FT_EXPORT_DEF.
+ * include/freetype/cache/ftcmanag.h: Updated.
+ * src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
+ * src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
+ `cfam'.
+ Remove compiler warning.
+ (FTC_CMapCache_Lookup): Remove compiler warnings.
+ (ftc_cmap_family_init): Ditto.
+ (FTC_CMapCache_Lookup): Ditto.
+
+ * builds/unix/configure.ac: Increase `version_info' to 8:0:2.
+ * builds/unix/configure: Regenerated.
+
+2001-12-14 Werner Lemberg <[email protected]>
+
+ * builds/mac/README: Updated.
+
+2001-12-14 Scott Long <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
+ dealing with invalid fonts (i.e. glyph size < 10 bytes).
+
+2001-12-14 Sam Latinga <[email protected]>
+
+ * builds/mac/freetype.make: A new Makefile to build with MPW on
+ MacOS classic.
+
+2001-12-14 David Turner <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
+ (T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph),
+ src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to
+ all font drivers (the advance width was never hinted when it
+ should).
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): New macro.
+ * src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't
+ use `extern' keyword.
+
+2001-12-12 David Turner <[email protected]>
+
+ * src/pshinter/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem
+ psh_globals_new): Adding correct BlueScale/BlueShift support, plus
+ family blues processing.
+ * src/pshinter/pshglob.h (PSH_BluesRec): Updated.
+
+ Started adding support for the Postscript hinter in the CFF module.
+
+ * src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+ (CFF_Parse_CharStrings): Implement it.
+ * src/cff/cffgload.h: Updated.
+
+2001-12-12 Werner Lemberg <[email protected]>
+
+ * builds/unix/freetype2.m4: Some portability fixes.
+
+2001-12-11 Jouk Jansen <[email protected]>
+
+ * src/base/descrip.mms (OBJS): Add ftdebug.obj.
+
+2001-12-11 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos.
+
+2001-12-11 David Turner <[email protected]>
+
+ * builds/unix/freetype-config.in: Modified the script to prevent
+ passing `-L/usr/lib' to gcc.
+
+ * docs/FTL.TXT: Simple fix (change `LICENSE.TXT' to `FTL.TXT').
+
+ * builds/unix/freetype2.m4: New file for checking configure paths.
+ We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I
+ didn't modify builds/unix/install.mk yet.
+
+ * INSTALL: Updated the instructions to build shared libraries with
+ Jam. They were simply wrong.
+
+ * src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused
+ slightly improper results for `FT_Cos' and `FT_Sin' (example:
+ FT_Sin(0) == -1!).
+
+2001-12-11 Detlef Würkner <[email protected]>
+
+ * include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
+ Fixed incorrect argument types.
+
+2001-12-10 Francesco Zappa Nardelli <[email protected]>
+
+ * src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts
+ by setting the `face->metrics.max_advance' correctly.
+
+2001-12-07 David Turner <[email protected]>
+
+ * include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new
+ charmap cache.
+ * src/cache/ftcache.c: Updated.
+
+ * src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/.
+
+2001-12-06 Leonard Rosenthol <[email protected]>
+
+ Added support for reading .dfont files on Mac OS X. Also added a
+ new routine which looks up a given font by name in the Mac OS and
+ returns the disk file where it resides.
+
+ * src/base/ftmac.c: Include <Files.h> and <TextUtils.h>.
+ (is_dfont): New auxiliary function.
+ (FT_New_Face_From_dfont): New function.
+ (FT_GetFile_From_Mac_Name): New exported function.
+ (FT_New_Face): Updated.
+ * include/freetype/ftmac.h: Updated.
+
+2001-12-06 David Turner <[email protected]>
+
+ * src/cache/Jamfile, src/cache/rules.mk: Updated.
+
+2001-12-06 Werner Lemberg <[email protected]>
+
+ * INSTALL: Small update.
+
+2001-12-05 David Turner <[email protected]>
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for
+ debugging purposes.
+ Comment out use of `origin'.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug
+ where outline shifting wasn't correctly undone after bitmap
+ rasterization. This created problems with certain glyphs (like '"'
+ of certain fonts) and the cache system.
+
+ * src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo.
+ * src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo.
+ (ps2_hints_apply): Small fix.
+
+2001-12-05 David Turner <[email protected]>
+
+ * src/pshinter/pshalgo2.c (psh2_hint_table_init),
+ src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler
+ warnings.
+
+ * include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*:
+ Yet another massive rewrite of the caching sub-system in order to
+ both increase performance and allow simpler cache sub-classing. As
+ an example, the code for the image and sbit caches is now much
+ simpler.
+
+ I still need to update the documentation in
+ www/freetype2/docs/cache.html to reflect the new design though.
+
+ * include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New
+ macro.
+ (FT_CACHE_INTERNAL_CACHE_H): Updated.
+
+2001-12-05 David Krause <[email protected]>
+
+ * docs/license.txt: s/X Windows/X Window System/.
+
+2001-12-04 Werner Lemberg <[email protected]>
+
+ * src/raster/ftraster.c: Fix definition condition of MEM_Set().
+ * src/smooth/ftgrays.c (M_Y): Change value to 192.
+ * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
+ Remove unused variable.
+ * src/cache/ftcimage.c (ftc_image_node_init,
+ ftc_image_node_compare): Remove unused variables.
+ * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
+ variable.
+ * src/raster/ftraster.c (MEM_Set): Move definition down to avoid
+ compiler warning.
+ * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
+ avoid compiler warnings.
+ * src/pcf/pcfread.c (tableNames): Use `const'.
+ (pcf_read_TOC): Change counter name to avoid compiler warning.
+ Use `const'.
+ * src/pshinter/pshrec.c (ps_hints_close): Remove redundant
+ declaration.
+ * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
+ to avoid shadowing.
+ * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
+ * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
+ and `T1_Size_Done()'.
+
+2001-11-20 Antoine Leca <[email protected]>
+
+ * include/freetype/ttnameid.h: Added some new Microsoft language
+ codes and LCIDs as found in MSDN (Passport SDK). Also added
+ comments about the meaning of bit 57 of the `OS/2' table
+ (TT_UCR_SURROGATES) which (with OpenType v.1.3) now means `there is
+ a character beyond 0xFFFF in this font'. Thanks to Detlef Würkner
+ <[email protected]> for noticing this.
+
+2001-11-20 David Turner <[email protected]>
+
+ * src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting
+ routine that created nasty alignment artefacts.
+
+ * src/pshinter/pshrec.c, tests/gview.c: Debugging updates.
+
+ * src/smooth/ftgrays.c: De-activated experimental gamma support.
+ Apparently, `optimal' gamma tables depend on the monitor type,
+ resolution and general karma, so it's better to compute them outside
+ of the rasterizer itself.
+ (gray_convert_glyph): Use `volatile' keyword.
+
+2001-10-29 David Turner <[email protected]>
+
+ Adding experimental `gamma' support. This produces smoother glyphs
+ at small sizes for very little cost.
+
+ * src/smooth/ftgrays.c (grays_init_gamma): New function.
+ (gray_raster_new): Use it.
+
+ Various fixes to the auto-hinter. They merely improve the output of
+ sans-serif fonts. Note that there are still problems with serifed
+ fonts and composites (accented characters).
+
+ * src/autohint/ahglyph.c (ah_outline_load,
+ ah_outline_link_segments): Implement it.
+ Fix typos.
+ (ah_outline_save, ah_outline_compute_segments): Fix typos.
+ * src/autohint/ahhint.c (ah_align_serif_edge): New argument
+ `vertical'. Implement improvement.
+ (ah_hint_edges_3, ah_hinter_hint_edges): Implement it.
+ Fix typos.
+ (ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix
+ typos.
+ (ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined.
+ * src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro.
+ * src/autohint/ahtypes.h: Ditto.
+ (AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges'
+ (making them global as `ah_debug_disable_horz' and
+ `ah_debug_disable_vert').
+ Fix typos.
+
+ * tests/gview.c: Updated the debugging glyph viewer to show the
+ hints generated by the `autohint' module.
+
+2001-10-27 David Turner <[email protected]>
+
+ * src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that
+ considerably lowered the performance of the abstract chunk cache.
+
+2001-10-26 David Turner <[email protected]>
+
+ * include/freetype/ftcache.h, include/freetype/cache/*.h,
+ src/cache/*.c: Major re-design of the cache sub-system to provide
+ better performance as well as an `Acquire'/`Release' API. Seems to
+ work well here, but probably needs a bit more testing.
+
+2001-10-26 Leonard Rosenthol <[email protected]>
+
+ * builds/mac/README: Updated to reflect my taking over the project
+ and that is now being actively maintained.
+
+ * src/base/ftmac.c (parse_fond): Applied patches from Paul Miller
+ <[email protected]> to support loading a face other than the
+ first from a FOND resource.
+ (FT_New_Face_From_FOND): Updated.
+
+2001-10-25 Leonard Rosenthol <[email protected]>
+
+ * builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac
+ OS for latest version (7) of CWPro and for recent changes to the FT
+ source tree.
+
+2001-10-25 David Turner <[email protected]>
+
+ * include/freetype/config/ftoption.h: Updated comments to explain
+ precisely how to use project-specific macro definitions without
+ modifying this file manually.
+
+ (FT_CONFIG_FORCE_INT64): Define.
+
+ (FT_DEBUG_MEMORY): New macro.
+
+2001-10-24 Tom Kacvinsky <[email protected]>
+
+ * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'.
+
+2001-10-23 David Turner <[email protected]>
+
+ * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
+ Improvements to the memory debugger to report more information in
+ case of errors. Also, some allocations that occurred through REALLOC
+ couldn't be previously caught correctly.
+
+ * src/autohint/ahglyph.c (ah_outline_compute_segments,
+ ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new),
+ src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced
+ liberal uses of memset() by the MEM_Set() macro.
+
+2001-10-23 David Turner <[email protected]>
+
+ * src/raster/ftraster.c (Update): Removed to be inlined in ...
+ (Sort): Updated.
+
+2001-10-22 David Turner <[email protected]>
+
+ * builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory),
+ builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory),
+ builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory),
+ src/base/ftdbgmem.c: Updated the memory debugger and
+ platform-specific implementations of `ftsystem' in order to be able
+ to debug memory allocations on Unix, VMS and Amiga too!
+
+ * src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed
+ some bogus warnings.
+
+ * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
+ Modified the debugging memory manager to report the location (source
+ file name + line number) where leaked memory blocks are allocated in
+ the source file.
+
+ * src/base/ftdbgmem.c: New debugging memory manager. You must
+ define the FT_DEBUG_MEMORY macro in `ftoption.h' to enable it. It
+ will record every memory block allocated and report simple errors
+ like memory leaks and double deletes.
+
+ * src/base/Jamfile: Include ftdbgmem.
+ * src/base/rules.mk: Ditto.
+ * src/base/ftbase.c: Include ftdbgmem.c.
+
+ * include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY
+ macro definition.
+
+ * src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the
+ base component to use the debugging memory manager when the macro
+ FT_DEBUG_MEMORY is defined.
+
+2001-10-21 Tom Kacvinsky <[email protected]>
+
+ * src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
+ we are working with a CID keyed CFF font. Otherwise, a variable
+ that was never allocated memory might freed. This is a correction
+ to the previous patch for freeing subfonts.
+
+2001-10-21 Tom Kacvinsky <[email protected]>
+
+ * src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
+ avoid a memory leak.
+
+2001-10-21 David Turner <[email protected]>
+
+ * src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c,
+ src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes
+ (in multi-object compilation mode, mainly).
+
+2001-10-20 Tom Kacvinsky <[email protected]>
+
+ * src/type1/t1load.c (parse_encoding): Add a test to make sure
+ that custom encodings (i.e., neither StandardEncoding nor
+ ExpertEncoding) are not loaded twice when the Type 1 font is
+ synthetic.
+
+ * src/type1/t1load.c (parse_font_name, parse_subrs): Added a test
+ for when loading synthetic fonts to make sure that the font name
+ and subroutines are not loaded twice. This is to remove a memory
+ leak that occurred because the original memory blocks for these
+ objects were not deallocated when the objects were parsed the
+ second time.
+
+2001-10-19 David Turner <[email protected]>
+
+ * src/smooth/ftgrays.c, src/pshinter/pshglob.h,
+ src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of
+ compiler warnings.
+
+ * src/pshinter/module.mk, src/pshinter/rules.mk: Adding control
+ files to build the PostScript hinter with the `old' build system.
+
+2001-10-19 Jacob Jansen <[email protected]>
+
+ * descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build
+ files.
+
+2001-10-18 David Turner <[email protected]>
+
+ * src/psnames/pstables.h, src/tools/glnames.py: Rewrote the
+ `glnames.py' script used to generate the `pstables.h' header file.
+ The old one contained a serious bug that made FreeType return
+ incorrect glyph names for certain glyphs.
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of
+ pixel size from character size to use rounding. This is an
+ experiment to see whether this gives values similar to Windows for
+ scaled ascent/descent/etc.
+
+ * src/base/ftcalc.c (FT_Div64by32): Changed the implementation
+ slightly since the original code was mis-compiled on Mac machines
+ using the MPW C compiler.
+
+ * src/base/ftobjs.c (FT_Realloc): When a memory block was grown
+ through FT_Realloc(), the new bytes were not set to 0, which created
+ some strange bugs in the PostScript hinter.
+ (destroy_face): Don't deallocate unconditionally.
+
+ * src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph):
+ Adding support to new PostScript hinter.
+
+ * include/freetype/internal/psglobal.h,
+ include/freetype/internal/pshints.h,
+ include/freetype/config/ftmodule.h, src/pshinter/Jamfile,
+ src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h,
+ src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h,
+ src/pshinter/pshalgo2.c, src/pshinter/pshglob.h,
+ src/pshinter/pshglob.c, src/pshinter/pshinter.c,
+ src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c,
+ src/pshinter/pshrec.h: Adding new PostScript hinter module.
+
+ * include/freetype/internal/ftobjs.h,
+ include/freetype/internal/internal.h,
+ include/freetype/internal/psaux.h,
+ include/freetype/internal/t1types.h, src/psaux/psobjs.c,
+ src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c,
+ src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c,
+ src/type1/t1objs.h: Updates to use the new PostScript hinter.
+
+ * tests/Jamfile, tests/gview.c: Adding a new glyph hinting
+ viewer/debugger to the source tree. Note that you will _not_ be
+ able to compile it since it depends on an unavailable graphics
+ library named `Nirvana' to render vector images.
+
+2001-10-17 David Turner <[email protected]>
+
+
+ * Version 2.0.5 released.
+ =========================
+
+
+ * include/freetype/freetype.h, include/internal/ftobjs.h,
+ src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named
+ 'FT_Get_Postscript_Name' to retrieve the PostScript name of a given
+ font. Should work with all formats except pure CFF/CEF fonts (this
+ will be added soon).
+
+ * src/cid/cidriver (cid_get_postscript_name): New function.
+ (CID_Get_Interface): Handle `postscript_name' interface.
+
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function.
+ (SFNT_Get_Interface): Handle `postscript_name' interface.
+
+ * src/type1/t1driver.c (t1_get_ps_name): New function.
+ (Get_Interface): Handle `postscript_name' interface.
+
+ * README, docs/CHANGES: Updated for 2.0.5 release.
+
+2001-10-08 David Turner <[email protected]>
+
+ Fixed a bug in `glnames.py' that prevented it from generating
+ 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.
+
+2001-10-07 Richard Barber <[email protected]>
+
+ * src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
+ correct LRU behaviour.
+
+2001-10-07 David Turner <[email protected]>
+
+ 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.
+
+2001-10-07 David Turner <[email protected]>
+
+ 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.
+
+2001-09-20 Detlef Würkner <[email protected]>
+
+ * builds/amiga/*: Added port to Amiga with the SAS/C compiler.
+
+2001-09-15 Detlef Würkner <[email protected]>
+
+ * src/type1/t1afm.c (T1_Done_AFM): Free `afm'.
+
+2001-09-10 Yao Zhang <[email protected]>
+
+ * src/sfnt/ttcmap.c (code_to_index2): Handle code values with
+ hi-byte == 0 correctly.
+
+2001-09-10 Werner Lemberg <[email protected]>
+
+ * builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
+
+2001-08-30 Martin Muskens <[email protected]>
+
+ * src/type1/t1load.c (parse_font_matrix): A new way to compute the
+ units per EM with greater accuracy (important for embedded T1 fonts
+ in PDF documents that were automatically generated from TrueType
+ ones).
+
+ * src/type1/t1load.c (is_alpha): Now supports `+' in font names;
+ this is used in embedded fonts.
+
+ * src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that
+ generated a dangling pointer reference.
+
+2001-08-30 Anthony Feik <[email protected]>
+
+ * src/type1/t1afm.c (T1_Read_Afm): Now correctly sets the flag
+ FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files.
+
+2001-08-25 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of
+ `cmap_rec_fields'.
+
+ * include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]:
+ Undefine FT_ERR_BASE before defining again.
+
+2001-08-22 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
+
+2001-08-21 Werner Lemberg <[email protected]>
+
+ * builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'.
+
+2001-08-21 David Turner <[email protected]>
+
+ * include/freetype/config/ftoption.h: Changed the default setting
+ for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks
+ source compatibility in a few cases. Updated the comment to explain
+ that too.
+
+2001-08-17 Martin Muskens <[email protected]>
+
+ * src/base/ftcalc.c (FT_MulDiv): Fixed serious typo.
+
+2001-08-12 Werner Lemberg <[email protected]>
+
+ Updating to OpenType 1.3.
+
+ * include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4,
+ TT_CMap6): Adding field `language'.
+ (TT_CMapTable): Removing field `language'.
+ Type of `length' field changed to FT_ULong.
+ Adding fields for cmaps format 8, 10, and 12.
+ (TT_CMapGroup): New auxiliary structure.
+ (TT_CMap8_12, TT_CMap10): New structures.
+ * include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader):
+ Removed last element of `Reserved' array.
+ * include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4,
+ TT_NAME_ID_CID_FINDFONT_NAME): New macros.
+
+ * src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language'
+ field to the new structures.
+ Fixed freeing of arrays in case of unsuccessful loads.
+ Added support for loading format 8, 10, and 12 cmaps.
+ (TT_CharMap_Free): Added support for freeing format 8, 10, and 12
+ cmaps.
+ (code_to_index4): Small improvement.
+ (code_to_index6): Ditto.
+ (code_to_index8_12, code_to_index10): New functions.
+ * src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new
+ structure.
+ (TT_Load_CMap): Ditto.
+
+ * src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
+ Unicode).
+
+2001-08-11 Werner Lemberg <[email protected]>
+
+ * src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
+
+2001-08-09 Tom Kacvinsky <[email protected]>
+
+ * src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to
+ cff_get_glyph_name for consistency.
+
+ (cff_get_glyph_index): Minor documentation change.
+
+ * src/type1/t1driver.c (t1_get_name_index): New function used in
+ Get_Interface as the function returned when the `name_index'
+ function is requested.
+
+ (get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency.
+
+2001-08-08 Tom Kacvinsky <[email protected]>
+
+ * src/cff/cffload.c: Removed definitions of cff_isoadobe_charset,
+ cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
+ and cff_expert_encoding arrays to cffload.h.
+
+ * src/cff/cffload.h: Added definitions of cff_isoadobe_charset,
+ cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding,
+ and cff_expert_encoding arrays.
+
+ * src/cff/cffdrivr.c (cff_get_name_index): New function, returned
+ when `cff_get_interface' is called with a request for the
+ `name_index' function.
+
+ (cff_get_interface): Modified so that it returns the function
+ `cff_get_name_index' when the `name_index' function is requested.
+
+ * src/base/ftobjs.c (FT_Get_Name_Index): New function, used to
+ return a glyph index for a given glyph name only if the driver
+ supports glyph names.
+
+ * include/freetype/internal/ftobjs.h (FT_Name_Index_Requester):
+ New function pointer type definition used in the function
+ FT_Get_Name_Index.
+
+ * include/freetype/freetype.h (FT_Get_Name_Index): Added
+ documentation and prototype.
+
+2001-07-26 Werner Lemberg <[email protected]>
+
+ * builds/cygwin/*: Removed. Use the unix stuff instead.
+
+2001-07-26 Jouk Jansen <[email protected]>
+
+ * builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
+ 2001-06-27.
+
+2001-07-17 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
+ `cursor' and `capacity'.
+ * src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second
+ parameter.
+ (PS_Table_Add): Use FT_Offset for `new_size'.
+
+ Add support for version 0.5 maxp tables.
+
+ * src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it.
+ (TT_Load_OS2): Initialize some values.
+
+2001-07-13 Werner Lemberg <[email protected]>
+
+ * src/base/ftsynth.c: Include ftcalc.h unconditionally.
+
+2001-07-07 David Turner <[email protected]>
+
+ * src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread:
+ Removed pedantic compiler warnings when the bytecode interpreter is
+ compiled in.
+
+2001-07-03 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove
+ unused variable `edges'.
+ (ah_hinter_load): Remove unused variables `old_width' and
+ `new_width'.
+ * src/cid/cidload.c (cid_decrypt): Use `U' for constant (again).
+ * src/psaux/psobjs.c (T1_Decrypt): Ditto.
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
+
+2001-06-28 David Turner <[email protected]>
+
+ * include/internal/ftstream.h: Modified the definitions
+ of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness.
+
+2001-06-26 Werner Lemberg <[email protected]>
+
+ * src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset
+ instead of FT_Int as type for `length' parameter.
+ * include/freetype/internal/psaux.h (PSAux_Interface): Updated.
+
+2001-06-27 Wolfgang Domröse <[email protected]>
+
+ * src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset
+ instead of FT_Int as type for `length' parameter.
+
+
+ * Version 2.0.4 released.
+ =========================
+
+
+2001-06-27 David Turner <[email protected]>
+
+ * builds/unix/ftconfig.in: Changed the definition of the
+ FT_CALLBACK_DEF macro.
+
+ * include/freetype/ftconfig.h, src/*/*.c: Changed the definition and
+ use of the FT_CALLBACK_DEF macro in order to support 16-bit
+ compilers.
+
+ * builds/unix/ftconfig.in: Changed the definition of the
+ FT_CALLBACK_DEF macro.
+
+ * src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures
+ that the kerning table is correctly sorted (some problem fonts don't
+ have a correct kern table).
+
+2001-06-26 Wolfgang Domröse <[email protected]>
+
+ * include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
+
+2001-06-24 David Turner <[email protected]>
+
+ * src/base/ftcalc.c (ft_div64by32): Fixed the source to work
+ correctly on 16-bit systems.
+
+2001-06-23 Anthony Fok <[email protected]>
+
+ * debian/*: Added Debian package build directory for 2.0.4.
+
+2001-06-22 David Turner <[email protected]>
+
+ * docs/PATENTS: Added patents disclaimer. This one was missing!
+
+ * docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release.
+
+2001-06-20 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftconfig.h: Add two more `L's to
+ constants.
+ Add missing semicolons.
+
+ * builds/toplevel.mk: Do similar change as for
+ builds/unix/detect.mk.
+
+ * include/freetype/freetype.h (FT_ENC_TAG): New version to make it
+ easier to redefine.
+ * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto.
+
+ * src/pcf/pcfread.c (pcf_get_encodings): Add cast.
+
+2001-06-19 David Turner <[email protected]>
+
+ * builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
+ Updated the Visual C++ project (for the 2.0.4 release).
+
+ * builds/unix/detect.mk: Added rule for AIX detection (which uses
+ /usr/sbin/init instead of /sbin/init).
+
+ * include/freetype/fterrors.h, src/*/*err*.h: Updated some of the
+ error macros to simplify handling of new error scheme.
+
+2001-06-19 Werner Lemberg <[email protected]>
+
+ * include/freetype/fttypes.h (FT_ERROR_MODULE): New macro.
+
+2001-06-19 David Turner <[email protected]>
+
+ Removing _lots_ of compiler warnings when the most pedantic warning
+ levels of Visual C++ and Borland C++ are used. Too many files to be
+ listed here, but FT2 now compiles without warnings with VC++ and the
+ `/W4' warning level (lint-style).
+
+ * include/freetype/freetype.h (FT_New_Memory_Face): Updated
+ documentation.
+ * include/freetype/fttypes.h (FT_BOOL): New macro.
+ * include/freetype/internal/ftdebug.h: Add #pragma for Visual C++
+ to suppress warning.
+ * include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE},
+ FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros.
+ (NEXT_*): Use them.
+ * src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H.
+ (FT_New_Memory_Face): Add `const' to function declaration.
+
+2001-06-18 Werner Lemberg <[email protected]>
+
+ Minor cleanups to remove compiler warnings.
+
+ * include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
+ `L' for constant.
+ * include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
+ * src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
+ * src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
+ * src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
+ * src/base/ftobjs.c (FT_Done_Size): Fix return value.
+ (FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
+ unused `memory' variable.
+ * src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
+ * src/autohint/ahhint.c (ah_hint_edges_3,
+ ah_hinter_align_edge_points): Remove unused `before' and `after'
+ variables.
+ (ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
+ (ah_hinter_load): Remove unused `new_advance', `start_contour',
+ and `metrics' variables.
+ * src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
+ compiler warning.
+ * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
+ variable.
+ * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
+ `outline' variable.
+ (cff_compute_bias): Use `U' for constant.
+ * src/cid/cidload.c (cid_decrypt): Ditto.
+ * src/psaux/psobjs.c (T1_Decrypt): Ditto.
+ * src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
+ * src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
+ variable.
+ * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
+ variable.
+ * src/truetype/ttgload.c (load_truetype_glyph): Remove unused
+ `num_contours' and `ins_offset' variables.
+ (compute_glyph_metrics): Remove unused `Top' and `x_scale'
+ variables.
+ (TT_Load_Glyph): Remove unused `memory' variable.
+ * src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
+
+2001-06-18 Werner Lemberg <[email protected]>
+
+ Make the new error scheme source compatible with older FT versions
+ by introducing another layer.
+
+ * include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
+ macros.
+ (FT_NOERRORDEF): Removed.
+ * include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
+
+2001-06-16 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h (FT_ENC_TAG): New macro.
+ (FT_Encoding_): Use it.
+ * include/freetype/ftimage.h (FT_IMAGE_TAG): Define it
+ conditionally.
+
+2001-06-14 David Turner <[email protected]>
+
+ Modified the TrueType interpreter to let it use the new
+ trigonometric functions provided in `fttrigon.h'. This gets rid of
+ some old 64-bit computation routines, as well as many warnings when
+ compiling the library with the `long long' 64-bit integer type.
+
+ * include/freetype/config/ftoption.h: Undefine
+ FT_CONFIG_OPTION_OLD_CALCS.
+ * include/freetype/internal/ftcalc.h: Rearrange use of
+ FT_CONFIG_OPTION_OLD_CALCS.
+ * src/base/ftcalc.c: Add declaration of FT_Int64 if
+ FT_CONFIG_OPTION_OLD_CALCS isn't defined.
+ * src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H.
+ (Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't
+ defined.
+ (Current_Ratio, Normalize): Simplify code.
+
+2001-06-11 Mike Owens <[email protected]>
+
+ * src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
+ compiler warnings.
+
+2001-06-08 Werner Lemberg <[email protected]>
+
+ * builds/unix/configure.in: Renamed to ...
+ * builds/unix/configure.ac: This to make sure that autoconf 2.50 is
+ needed.
+ Run `autoupdate' on it.
+ Increase `version_info' to 7:0:1.
+ * builds/unix/configure: Regenerated.
+
+2001-06-08 David Turner <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that
+ corrupted transformed glyphs that were auto-hinted (the transform
+ was applied twice).
+
+ Fixed a bug that returned an invalid linear width for composite
+ TrueType glyphs.
+
+ * include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
+ and `linear_def'.
+ * src/truetype/ttgload.c (load_truetype_glyph,
+ compute_glyph_metrics): Use it.
+
+ * include/fttypes.h (FT_ERROR_BASE): New macro.
+ * src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
+ to make source code work with the new error scheme implemented by
+ Werner.
+ * src/base/ftoutln.c (FT_Outline_Render): Ditto.
+
+2001-06-07 Werner Lemberg <[email protected]>
+
+ Updating to libtool 1.4.0 and autoconf 2.50.
+
+ * builds/unix/ltconfig: Removed.
+ * builds/unix/ltmain.sh, builds/unix/configure.in,
+ builds/unix/aclocal.m4: Updated.
+ * builds/unix/configure: Regenerated.
+
+2001-06-06 Werner Lemberg <[email protected]>
+
+ Complete redesign of error codes. Please check ftmoderr.h for more
+ details.
+
+ * include/freetype/internal/cfferrs.h,
+ include/freetype/internal/tterrors.h,
+ include/freetype/internal/t1errors.h: Removed. Replaced with files
+ local to the module. All extra error codes have been moved to
+ `fterrors.h'.
+
+ * src/sfnt/ttpost.h: Move error codes to `fterrors.h'.
+
+ * src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
+ src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
+ src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
+ src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
+ src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
+ error names for the module it belongs to.
+
+ * include/freetype/ftmoderr.h: New file, defining the module error
+ offsets. Its structure is similar to `fterrors.h'.
+
+ * include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
+ (FT_ERRORDEF): Redefined to use module error offsets.
+ All internal error codes are now public; unused error codes have
+ been removed, some are new.
+
+ * include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
+ macro.
+ * include/freetype/config/ftoption.h
+ (FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.
+
+ All other source files have been updated to use the new error codes;
+ some already existing (internal) error codes local to a module have
+ been renamed to give them the same name as in the base module.
+
+ All make files have been updated to include the local error files.
+
+2001-06-06 Werner Lemberg <[email protected]>
+
+ * src/cid/cidtokens.h: Replaced with...
+ * src/cid/cidtoken.h: This file for 8+3 consistency.
+
+ * src/raster/ftraster.c: Use macros for header file names.
+
+ * src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_):
+ Fix length of `Reserved' array. Note that this isn't the real fix
+ since recent OpenType specs have introduced a `CaretOffset' field
+ instead of the first reserved byte.
+
+2001-05-29 Werner Lemberg <[email protected]>
+
+ * INSTALL: Minor fixes.
+
+
+ * Version 2.0.3 released.
+ =========================
+
+
+2001-05-29 David Turner <[email protected]>
+
+ * INSTALL, docs/CHANGES: Updated.
+
+2001-05-25 David Turner <[email protected]>
+
+ Moved several documents from the top-level to the `docs' directory.
+
+ * src/base/ftcalc.c (FT_DivFix): Small fix to return value.
+
+2001-05-16 David Turner <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the
+ composite loader. Spotted by Keith Packard.
+ * src/base/ftobjs.c (FT_GlyphLoader_Check_Points,
+ FT_GlyphLoader_Check_Subglyphs): Ditto.
+
+2001-05-14 David Turner <[email protected]>
+
+ Fixed the incorrect blue zone computations, and improved the
+ composite support. Note that these changes result in improved
+ rendering, while sometimes introducing their own artefacts. This is
+ probably the last big change to the autohinter before the
+ introduction of a complete replacement.
+
+ * src/autohint/ahglobal.c (sort_values): Fix loop.
+ * src/autohint/ahglyph.c: Removed some obsolete code.
+ (ah_outline_compute_edges): Modify code to set the ah_edge_round
+ flag.
+ (ah_outline_compute_blue_edges): Add code to compute active blue
+ zones.
+ * src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags
+ value.
+
+ * src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that
+ created incorrect scale factors!
+ (FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements.
+
+2001-05-12 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__.
+ * include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ ->
+ __FTTRIGON_H__.
+ Include FT_FREETYPE_H.
+ Beautified; added copyright.
+ * src/base/fttrigon.c: Beautified; added copyright.
+
+2001-05-11 David Turner <[email protected]>
+
+ * src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
+ (parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed
+ the incorrect EM size computation.
+
+ * include/freetype/fttrigon.h, src/base/fttrigon.c: New files,
+ adding trigonometric functions to the core API (using Cordic
+ algorithms).
+ * src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them.
+
+ * builds/newline: New file.
+ * builds/top_level.mk, builds/detect.mk: Use it. This fixes
+ problems with Make on Windows 2000, as well as problems when `make
+ distclean' is invoked on a non-Unix platform when there is no
+ `config.mk' in the current directory.
+
+ * builds/freetype.mk: Fixed a problem with object deletions under
+ Dos/Windows/OS/2 systems.
+
+ Added new directory to hold tools and test programs.
+
+ * docs/docmaker.py, docs/glnames.py: Moved to...
+ * src/tools/docmaker.py, src/tools/glnames.py: This place.
+ * src/tools/cordic.py: New file used to compute arctangent table
+ needed by fttrigon.c.
+ * src/tools/test_bbox.c, src/tools/test_trig.c: New test files.
+
+ * src/tools/docmaker.py: Improved the script to add the current date
+ at the footer of each web page (useful to distinguish between
+ versions).
+
+ * Jamfile: Fixed incorrect HDRMACRO argument.
+
+ * TODO: Removed the cubic arc bbox computation note, since it has been
+ fixed recently.
+ * src/base/ftbbox.c (test_cubic_zero): Renamed to...
+ (test_cubic_extrema): This function. Use `UL' for unsigned long
+ constants.
+
+ * include/freetype/t1tables.h, include/freetype/config/ftoption.h:
+ Formatting.
+
+2001-05-10 David Turner <[email protected]>
+
+ * src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak
+ which happened when trying to open 0-size font files!
+
+2001-05-09 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/ftcalc.h: Move declaration of
+ FT_SqrtFixed() out of `#ifdef FT_LONG64'.
+
+2001-05-08 Francesco Zappa Nardelli <[email protected]>
+
+ * src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width
+ computation.
+
+2001-05-08 David Turner <[email protected]>
+
+ * docs/docmaker.py: Updated the DocMaker script in order to add
+ command line options (--output,--prefix,--title), fix the erroneous
+ line numbers reported during errors and warnings, and other
+ formatting issues.
+
+ * src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny
+ fixes related to rounding in 64-bits routines and
+ pseudo-`optimizations'.
+
+2001-04-27 David Turner <[email protected]>
+
+ * src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient
+ normalization algorithm (invalid final bit position, and invalid
+ shift computation).
+
+2001-04-26 Werner Lemberg <[email protected]>
+
+ * builds/unix/config.guess, builds/unix/config.sub: Updated to
+ latest versions from gnu.org.
+
+ * builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.
+
+ * include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
+ unconditionally.
+ * src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
+ Fix compiler warnings.
+ * src/base/ftcalc.c: Fix (potential) compiler warnings.
+
+2001-04-26 David Turner <[email protected]>
+
+ * src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
+ fixed-point square root computation. It is now used even with
+ 64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
+
+ * src/base/ftbbox.c: Removed invalid `#include FT_BEZIER_H' line.
+
+2001-04-25 David Turner <[email protected]>
+
+ * src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use
+ direct computations with 16.16 values instead of sub-divisions. It
+ is now slower, but proves a point :-)
+
+ * src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c:
+ Fixed the Bézier stack depths.
+
+ * src/base/ftcalc.c (FT_MulFix): Minor rounding fix.
+
+ * builds/beos: Added BeOS-specific files to the old build system
+ (no changes were necessary to support BeOS in the Jamfile though).
+
+2001-04-20 David Turner <[email protected]>
+
+ * ftconfig.h, ftoption.h: Updated `ftconfig.h' to detect 64-bit int
+ types on platforms where Autoconf is not available). Also removed
+ FTCALC_USE_LONG_LONG and replaced it with
+ FT_CONFIG_OPTION_FORCE_INT64.
+
+ * builds/win32/freetype.dsp: Updated the Visual C++ project file.
+ Doesn't create a DLL yet.
+
+ * cffgload.c: Removed a compilation warning.
+
+2001-04-10 Tom Kacvinsky <[email protected]>
+
+ * t1load.c (parse_charstrings): Changed code for placing .notdef
+ glyph into slot 0 so that we no longer have a memory access
+ violation.
+
+ * t1load.h: In structure T1_Loader, added swap_table (of type
+ PS_Table) to facilitate placing the .notdef glyph into slot 0.
+
+2001-04-10 Francesco Zappa Nardelli <[email protected]>
+
+ * src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value.
+
+2001-04-09 Laurence Withers <[email protected]>
+
+ * builds/dos/detect.mk: Add support for bash.
+
+2001-04-05 Werner Lemberg <[email protected]>
+
+ * builds/os2/*.mk: These files have been forgotten to update to
+ the structure of similar makefiles.
+ * builds/dos/*.mk: Ditto.
+ * builds/ansi/*.mk: Ditto.
+
+ * builds/win32/win32-def.mk (BUILD): Fix typo.
+
+ * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
+ This is already used in the link_*.mk files.
+
+2001-04-03 Werner Lemberg <[email protected]>
+
+ * src/*/Jamfile: Slight changes to make files more cryptic.
+
+2001-04-03 Werner Lemberg <[email protected]>
+
+ * Jamfile, src/Jamfile, src/*/Jamfile: Formatted. Slight changes
+ to give files identical structure.
+
+2001-04-02 Werner Lemberg <[email protected]>
+
+ * CHANGES: Reformatted, minor fixes.
+ * TODO: Updated.
+ * README: Formatting.
+ * include/freetype/freetype.h: Formatting.
+
+ * Jamfile: Fix typo.
+
+ * src/cff/cffparse.c: Move error code #defines to...
+ * include/freetype/internal/cfferrs.h: This file.
+ * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced
+ `FT_Err_*' with `CFF_Err_*'.
+ * src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
+ * src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
+ * src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
+ `TT_Err_*'.
+ * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
+ * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
+ src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.
+
+ * include/freetype/internal/cfferrs.h: Add
+ `CFF_Err_Unknown_File_Format'.
+ * include/freetype/internal/t1errors.h: Add
+ `T1_Err_Unknown_File_Format'.
+ * include/freetype/internal/tterrors.h: Add
+ `TT_Err_Unknown_File_Format'.
+
+ * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
+ references.
+ * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.
+
+ * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
+ FT_LOCAL_DEF.
+ * src/cid/cidobjs.c (CID_Done_Driver): Ditto.
+ * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
+ Ditto.
+ * src/type1/t1objs.c (T1_Done_Driver): Ditto.
+ * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
+ * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
+
+2001-04-02 Tom Kacvinsky <[email protected]>
+
+ * src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer
+ dereference. Submitted by Herbert Duerr <[email protected]>.
+
+2001-03-26 Tom Kacvinsky <[email protected]>
+
+ * include/freetype/config/ftconfig.h: Changed hexadecimal
+ constants to use suffix U to avoid problems with HP-UX's c89
+ compiler. Submitted by G.W. Lucas <[email protected]>.
+
+2001-03-24 David Turner <[email protected]>
+
+ * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to
+ the source tree. See www.freetype.org/jam/index.html for details.
+
+
+ * Version 2.0.2 released.
+ =========================
+
+
+2001-03-20 Werner Lemberg <[email protected]>
+
+ * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
+
+2001-03-20 David Turner <[email protected]>
+
+ * include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
+ Renamed `ftnames.h' to `ftsnames.h', and FT_NAMES_H to
+ FT_SFNT_NAMES_H.
+
+ * docs/docmaker.py: Added generation of INDEX link in table of
+ contents.
+
+ * INSTALL, docs/BUILD: Updated documentation to indicate that the
+ compilation process has changed slightly (no more `src' required in
+ the include path).
+
+ * builds/*/*-def.mk: Changed the objects directory from `obj' to
+ `objs'.
+
+ * include/freetype/config/ftheader.h: Removed obsolete macros like
+ FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
+ were previously defined in <freetype/ftcache.h>. Added comments to
+ be included in a new API Reference section.
+
+ * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each
+ component needs to add its own directory to the include path at
+ compile time. Modified all `rules.mk' and `descrip.mms'
+ accordingly.
+
+2001-03-20 Werner Lemberg <[email protected]>
+
+ * builds/unix/configure.in: Add $ft_version.
+ * builds/unix/freetype-config.in: Use it.
+ * builds/unix/configure: Updated.
+
+2001-03-19 Tom Kacvinsky <[email protected]>
+
+ * src/type1/t1load.c (parse_font_matrix): Assign the units per em
+ value an unsigned short value, first by shifting right 16 bits,
+ then by casting the results to FT_UShort.
+
+ * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
+ value an unsigned short value, first by shifting right 16 bits,
+ then by casting the results to FT_UShort.
+
+2001-03-17 David Turner <[email protected]>
+
+ * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
+ src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
+ compiler warnings in pedantic modes.
+
+ * include/config/ft2build.h, include/config/ftheader.h: The file
+ `ft2build.h' was renamed to `ftheader.h' to avoid conflicts with the
+ top-level <ft2build.h>.
+
+ * include/config/ftheader.h: Added new section describing the #include
+ macros.
+
+2001-03-17 Tom Kacvinsky <[email protected]>
+
+ * src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
+ values for the bounding box numbers.
+
+ * src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font,
+ set `root->ascender' (`root->descender') to the integer part of
+ `root->bbox.yMax' (`root->bbox.yMin', respectively).
+
+2001-03-16 Tom Kacvinsky <[email protected]>
+
+ * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in
+ cff_get_interface to facilitate getting a glyph name for glyph index
+ via FT_Get_Glyph_Name().
+
+ (cff_get_interface): Added support for getting a glyph name via the
+ `glyph_name' module interface. Uses the new function
+ get_cff_glyph_name().
+ Submitted by Sander van der Wal <[email protected]>.
+
+ * src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with
+ FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is
+ not defined. This is to add support for getting a glyph name from a
+ glyph index via FT_Get_Glyph_Name().
+ Submitted by Sander van der Wal <[email protected]>.
+
+ * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
+ deprecated operator `dotsection'.
+ Submitted by Sander van der Wal <[email protected]>.
+
+2001-03-12 Werner Lemberg <[email protected]>
+
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
+ messages.
+
+ * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
+
+2001-03-12 Tom Kacvinsky <[email protected]>
+
+ * include/freetype/internal/psaux.h: Changed the lenIV member of
+ the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt.
+
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Adjust
+ for lenIV seed bytes at the start of a decrypted subroutine.
+
+ * src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only
+ if lenIV >= 0.
+
+ * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
+ if lenIV >= 0.
+
+2001-03-11 Werner Lemberg <[email protected]>
+
+ * TODO: Updated.
+
+ * src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
+ avoid compiler warnings.
+
+2001-03-10 Tom Kacvinsky <[email protected]>
+
+ * TODO: New file.
+
+ * include/freetype/freetype.h: Added prototypes and notes for
+ three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix.
+ * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added
+ implementation code.
+
+ * src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM,
+ and if that is not available, default to 1000 units per EM. Changed
+ assignment code for ascender and descender values.
+ * src/cid/cidload.c (parse_font_matrix): Added units_per_EM
+ processing.
+ (parse_font_bbox): Changed to use FT_Fixed number handling.
+
+ * src/type1/t1objs.c (T1_Init_Face): Changed the assignment code
+ for ascender, descender, and max_advance_width.
+ * src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed
+ number handling.
+
+2001-03-10 Henrik Grubbström <[email protected]>
+
+ * src/*/*.c: Added many casts to make code more 64bit-safe.
+
+2001-03-07 Werner Lemberg <[email protected]>
+
+ * INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
+
+2001-03-07 Tom Kacvinsky <[email protected]>
+
+ * src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
+ until parse_font_bbox is changed before we use logical shift rights
+ in the assignments of `root->ascender', `root->descender', and
+ `root->max_advance_width'.
+
+ (T1_Done_Face): Free `char_name' table to avoid a memory leak.
+ Submitted by Sander van der Wal <[email protected]>.
+
+2001-03-05 Tom Kacvinsky <[email protected]>
+
+ * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
+ the Type 2 glyph charstring (used by conversion programs).
+ Submitted by Ha Shao <[email protected]>.
+
+2001-03-04 Antoine Leca <[email protected]>
+
+ * include/freetype/ttnameid.h: Correct a stupid typo which prevented
+ correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
+
+2001-03-04 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahtypes.h (AH_Hinter): Add elements
+ `disable_horz_edges', `disable_vert_edges'.
+ * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use
+ them (and remove static variables with the same names).
+ * src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
+ * docs/glnames.py: Updated to latest pstables.h changes.
+
+ * builds/unix/detect.mk: Add test for Hurd.
+ * builds/hurd/detect.mk: Removed.
+
+2001-03-04 Sander van der Wal <[email protected]>
+
+ * src/psnames/pstables.h: Add more `const'.
+ * src/pcf/pcfutil.c: Ditto.
+
+2001-03-04 Werner Lemberg <[email protected]>
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
+ (FT_Glyph_Done -> FT_Done_Glyph).
+
+2001-03-01 Antoine Leca <[email protected]>
+
+ * include/freetype/ttnameid.h: Added some new Microsoft language
+ codes and LCIDs as found in Office Xp.
+
+2001-02-28 David Turner <[email protected]>
+
+ * builds/hurd/detect.mk: New file. Added support to detect the GNU
+ Hurd operating system as Unix-like. Fix submitted by Anthony Fok
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
+ the Type 1 glyph charstring (used by conversion programs).
+ Submitted by Ha Shao <[email protected]>.
+
+2001-02-22 David Turner <[email protected]>
+
+ * src/base/ftgrays.c (grays_sweep): The function didn't exit
+ immediately if `num_cells' was 0 as it should. Thanks to Boris for
+ finding this out.
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
+ bitmap rendering fails (thanks to Graham Asher).
+
+2001-02-13 Werner Lemberg <[email protected]>
+
+ * docs/docmaker.py (DocSection::add_element): Use
+ `self.print_error()'.
+
+ * builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org).
+
+2001-02-13 David Turner <[email protected]>
+
+ * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
+ script to support chapters and section block ordering. Updated the
+ public header files accordingly.
+
+ * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
+ were not correctly copied.
+
+2001-02-08 Tom Kacvinsky <[email protected]>
+
+ * src/cff/cffparse.c (cff_parse_font_matrix): Removed an
+ unnecessary fprintf( stderr, ... ).
+
+2001-02-07 Tom Kacvinsky <[email protected]>
+
+ * src/type1/t1objs.c (T1_Init_Face): Added code to get the
+ units_per_EM from the value assigned in parse_font_matrix, if
+ available. Default to 1000 if not available.
+
+ * src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get
+ the units_per_EM from the FontMatrix.
+
+ (cff_parse_fixed_thousand): New function. Gets a real number from
+ the CFF font, but multiplies by 1000 (this is to avoid rounding
+ errors when placing this real number into a 16.16 fixed number).
+
+ (cff_parse_real): Added code so that the integer part is moved
+ into the high sixteen bits of the 16.16 fixed number.
+
+ * src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units
+ per EM from the CFF dictionary, if available.
+
+ * include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_,
+ added a units_per_em member to facilitate passing of units_per_em
+ from function cff_parse_font_matrix.
+
+ * src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric
+ character. This is so that font names with `-' are fully parsed,
+ etc...
+
+2001-02-02 Werner Lemberg <[email protected]>
+
+ * src/psaux/psobjs.c (shift_elements): Remove if clause (which is
+ obsolete now).
+
+ (reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC()
+ + MEM_Copy() to avoid a memory bug.
+
+2001-02-01 David Turner <[email protected]>
+
+ * docs/docmaker.py: Improved the index sorting routine to place
+ capital letters before small ones. Added the `<order>' marker to
+ section blocks in order to give the order of blocks.
+
+2001-01-30 Antoine Leca <[email protected]>
+
+ * include/freetype/ttnameid.h: Latest updates to Microsoft language
+ ID codes.
+
+2001-01-24 Tom Kacvinsky <[email protected]>
+
+ * src/cff/t1load.c (parse_font_matrix): Added heuristic to get
+ units_per_EM from the font matrix.
+
+ (parse_dict): Deleted test to see whether the FontInfo keyword has
+ been seen. Deletion of this test allows fonts without FontInfo
+ dictionaries to be parsed by the Type 1 driver.
+
+ (T1_Open_Face): Deleted empty subroutines array test to make sure
+ fonts with no subroutines still are parsed.
+
+2001-01-17 Francesco Zappa Nardelli <[email protected]>
+
+ * src/pcfread.c (pcf_get_properties, pcf_get_metrics,
+ pcf_get_bitmaps): Fix compiler errors.
+
+2001-01-11 David Turner <[email protected]>
+
+ * src/pcf/pcfread.c: Removed some compilation warnings related
+ to comparison of signed vs. unsigned integers.
+
+ * include/freetype/internal/ftdebug.h: Changed the debug trace
+ constants from trace_t2xxxx to trace_cffxxxx to be able to compile
+ the CFF driver in debug mode.
+
+2001-01-11 Matthew Crosby <[email protected]>
+
+ * builds/unix/freetype-config.in: Fix problems with separate
+ --prefix and --exec-prefix.
+
+2001-01-11 David Turner <[email protected]>
+
+ * docs/docmaker.py: Added cross-references generation as well as
+ more robust handling of pathname wildcard matching.
+
+2001-01-10 Werner Lemberg <[email protected]>
+
+ * docs/docmaker.py: Minor improvements to reduce unwanted spaces
+ and empty lines in output.
+
+2001-01-09 David Turner <[email protected]>
+
+ * docs/docmaker.py: Improved script to generate table of contents
+ and index pages. It also supports wildcards on non Unix systems.
+
+ * include/freetype/*.h, include/freetype/cache/*.h: Updated comments
+ to include section definitions/delimitations for the API Reference
+ generator.
+
+ * include/freetype/freetype.h: Moved declaration of
+ `FT_Generic_Finalizer' and the `FT_Generic' structure to...
+ * include/freetype/fttypes.h: here.
+
+2001-01-04 Werner Lemberg <[email protected]>
+
+ * include/freetype/ttnameid.h: Updated Unicode code range comments.
+
+2001-01-03 Tom Kacvinsky <[email protected]>
+
+ * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
+
+ * include/freetype/internal/internal.h: Changed to use cfftypes.h
+ (cfferrs.h) instead of t2types.h (t2errors.h, respectively).
+
+ * include/freetype/internal/cfftypes.h: Merged in changes from
+ t2types.h and made this the canonical `types' header for the CFF
+ driver.
+
+ * include/freetype/internal/t2types.h: This file was merged with
+ cfftypes.h and is no longer necessary.
+
+ * include/freetype/internal/t2errors.h: Renamed to cfferrs.h.
+
+ * src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
+ src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
+ src/cff/cffgload.c, src/cff/cffgload.h: Changed to use
+ cffgload.{c,h} instead of t2gload.{c,h}. All occurrences of t2_
+ (T2_) were replaced with cff_ (CFF_, respectively).
+
+ * src/cff/t2gload.h: Renamed cffgload.h.
+
+ * src/cff/t2gload.c: Renamed cffgload.c
+
+2000-01-02 Jouk Jansen <[email protected]>
+
+ * builds/vms: Support files for VMS architecture added.
+ * descrip.mms, src/*/descrip.mms: VMS makefiles added.
+ * README.VMS: New file.
+
+2000-01-01 Werner Lemberg <[email protected]>
+
+ * LICENSE.TXT: Added info about PCF driver license.
+
+2001-01-01 Francesco Zappa Nardelli <[email protected]>
+
+ * src/pcf/*: New driver module for PCF font format (used in
+ X Window System).
+ * include/freetype/internal/ftdebug.h (FT_Trace): Added values for
+ PCF driver.
+ * include/freetype/internal/pcftypes.h: New file.
+ * include/freetype/config/ftmodule.h: Added PCF driver module.
+
+2001-01-01 Werner Lemberg <[email protected]>
+
+ * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
+
+2000-12-31 Werner Lemberg <[email protected]>
+
+ * builds/modules.mk (clean_module_list): Fixed deletion of module
+ file in case `make make_module_list' is called before `make setup'.
+
+2000-12-30 Werner Lemberg <[email protected]>
+
+ * src/cff/cffload.c (CFF_Load_Charset): Improved error messages.
+ (CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable
+ definition.
+
+2000-12-30 Tom Kacvinsky <[email protected]>
+
+ * include/freetype/internal/t2types.h,
+ include/freetype/internal/cfftypes.h: Changed the structures for
+ CFF_Encoding and CFF_Encoding for the new implementations of the
+ charset and encoding parsers in the CFF driver.
+
+ * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
+ t2_operator_seac): Added these functions for use in implementing the
+ seac emulation provided by the Type 2 endchar operator.
+ (T2_Parse_CharStrings): Added seac emulation for the endchar
+ operator.
+
+ * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
+ CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
+ charset/encoding tables, and free the memory used by them when the
+ CFF driver is finished with them. Added tables
+
+ cff_isoadobe_charset
+ cff_expert_charset
+ cff_expertsubset_charset
+ cff_standard_encoding
+ cff_expert_encoding
+
+ so that the encoding/charset parser can handle predefined encodings and
+ charsets.
+
+2000-12-24 Tom Kacvinsky <[email protected]>
+
+ * src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font
+ transform is applied.
+
+ * src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
+ the font matrix numbers are scaled by 1/(matrix->yy). Also, the
+ offset vector now contains integer values instead of 16.16 fixed
+ numbers.
+
+2000-12-22 Tom Kacvinsky <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph):
+ Removed unnecessary comments and commented-out code.
+
+2000-12-21 David Turner <[email protected]>
+
+ * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
+ we'll work on supporting CID AFM files later I guess :-)
+
+2000-12-21 Tom Kacvinsky <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
+ Changed so that fonts with a non-standard FontMatrix render
+ correctly. Previously, the first glyph rendered from such a
+ font did not have the transformation matrix applied.
+
+2000-12-17 Werner Lemberg <[email protected]>
+
+ * *.mk: Added lots of `.PHONY' targets.
+
+2000-12-17 Karsten Fleischer <[email protected]>
+
+ * *.mk: Implemented `platform' target to disable auto-detection.
+
+2000-12-14 Werner Lemberg <[email protected]>
+
+ * docs/design/modules.html: Removed. Covered by design-*.html.
+
+ * INSTALL: Added info about makepp.
+
+2000-12-14 David Turner <[email protected]>
+
+ Added support for clipped direct rendering in the smooth renderer.
+ This should not break binary compatibility of existing applications.
+
+ * include/freetype/fttypes.h, include/freetype/ftimage.h: Move
+ definition of the FT_BBox structure from the former to the latter.
+ * include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
+ FT_Raster_Flag enumeration.
+ Add `clip_box' element to FT_Raster_Params structure.
+ * src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
+
+ * INSTALL: Updated installation instructions on Win32, listing the
+ new `make setup list' target used to list supported
+ compilers/targets.
+
+ * src/raster/ftraster.c (ft_black_render): Test for unsupported
+ direct rendering before testing arguments.
+
+2000-12-13 David Turner <[email protected]>
+
+ * include/freetype/config/ft2build.h,
+ include/freetype/internal/internal.h: Fixed header inclusion macros
+ to use direct definitions. This is the only way to do these things
+ in a portable way :-( The rest of the code should follow shortly
+ though everything compiles now.
+
+ * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
+
+ * builds/win32/detect.mk: Added support for the Intel C/C++
+ compiler, as well as _preliminary_ (read: doesn't work!) support for
+ Watcom. Also added a new setup target. Type `make setup list' for
+ a list of supported command-line compilers on Win32.
+
+ * src/base/ftdebug.c: Added dummy symbol to avoid empty file if
+ conditionals are off.
+
+2000-12-13 Werner Lemberg <[email protected]>
+
+ * builds/unix/ftsystem.c: Fixed typos. Fixed inclusion of wrong
+ ftconfig.h file.
+
+2000-12-12 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
+ Removed. ANSI C doesn't (explicitly) allow macro expansion in
+ arguments using `##'.
+ (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
+ names directly. Make them configurable. Use `##' to strip leading
+ and trailing spaces from arguments.
+
+ * builds/unix/ft2unix.h: Adapted.
+
+ * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
+ ft_close_stream): Use FT_CALLBACK_DEF.
+
+ * builds/unix/ftsystem.c: Use new header scheme.
+ (FT_Done_Memory): Use free() from FT_Memory structure.
+
+ * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
+
+2000-12-11 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
+ FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
+ FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
+
+2000-12-09 Werner Lemberg <[email protected]>
+
+ * builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
+
+2000-12-08 Werner Lemberg <[email protected]>
+
+ * */*.h: Changed body inclusion macro names to start and end with
+ `__' (those which haven't converted yet). Fixed minor conversion
+ issues.
+
+ * src/winfonts/winfnt.c: Updated to new header inclusion scheme.
+
+ * src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
+
+2000-12-07 David Turner <[email protected]>
+
+ * */*.[ch]: Changed source files to adhere to the new
+ header inclusion scheme. Not completely tested but works for now
+ here.
+
+ * src/cff/t2driver.c: Renamed and updated to...
+ * src/cff/cffdrivr.c: New file.
+ * src/cff/t2driver.h: Renamed and updated to...
+ * src/cff/cffdrivr.h: New file.
+ * src/cff/t2load.c: Renamed and updated to...
+ * src/cff/cffload.c: New file.
+ * src/cff/t2load.h: Renamed and updated to...
+ * src/cff/cffload.h: New file.
+ * src/cff/t2objs.c: Renamed and updated to...
+ * src/cff/cffobjs.c: New file.
+ * src/cff/t2objs.h: Renamed and updated to...
+ * src/cff/cffobjs.h: New file.
+ * src/cff/t2parse.c: Renamed and updated to...
+ * src/cff/cffparse.c: New file.
+ * src/cff/t2parse.h: Renamed and updated to...
+ * src/cff/cffparse.h: New file.
+ * src/cff/t2tokens.h: Renamed and updated to...
+ * src/cff/cfftoken.h: New file.
+
+ * src/cff/cff.c, src/cff/rules.mk: Updated.
+
+2000-12-06 David Turner <[email protected]>
+
+ * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
+
+2000-12-06 Werner Lemberg <[email protected]>
+
+ * builds/module.mk: Replaced `xxx #' with `xxx$(space).
+ * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
+ avoid trailing spaces in variable.
+ * builds/freetype.mk: Use $(D) instead of $D to make statement more
+ readable.
+
+ * docs/docmaker.py: Formatting.
+
+2000-12-05 David Turner <[email protected]>
+
+ * src/psaux/psauxmod.c: Fixed a broken inclusion of component
+ header files (an FT_FLAT_COMPILE test was missing).
+
+ * src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
+ an occasional crash when the function was called (due to a dangling
+ pointer).
+
+ * src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
+ The ANSI `free()' function was called instead of `memory->free()'.
+
+ * docs/docmaker.py: Added section filtering, multi-page generation
+ (index page generation is still missing though).
+
+2000-12-04 David Turner <[email protected]>
+
+ * builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h'
+ is now installed as <ft2build.h> for Unix systems. Note that we
+ still use the `freetype2/freetype' installation path for now.
+
+ * */*.[ch]: Now using <ft2build.h> as the default build and setup
+ configuration file in all public headers. Internal source files
+ still need some changes though.
+
+ * builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
+ directory to hold all development options for both the Unix and
+ Win32 developer builds.
+
+ * builds/win32/detect.mk, builds/win32/w32-bccd.mk,
+ builds/win32/w32-dev.mk: Changed the developer build targets to
+ `devel-gcc' and `devel-bcc' in order to be able to develop with the
+ Borland C++ compiler.
+
+2000-12-01 David Turner <[email protected]>
+
+
+ * Version 2.0.1 released.
+ =========================
+
+
+ * builds/unix/configure.in, builds/unix/configure,
+ builds/cygwin/configure.in, builds/cygwin/configure: Setting
+ `version_info' to 6:1:0 for the 2.0.1 release.
+
+ * CHANGES: Added a summary of changes between 2.0.1 and 2.0.
+
+ * builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes
+ to allow compilation under Unix with the Unix-specific config
+ files.
+
+2000-12-01 Werner Lemberg <[email protected]>
+
+ * INSTALL: Revised.
+ * builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
+ builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
+ builds/win32/w32-bccd.mk: Revised.
+ * include/freetype/config/ftbuild.h,
+ include/freetype/internal/internal.h: Revised.
+ * include/freetype/ftimage.h: Updated to new header inclusion scheme.
+
+2000-11-30 Werner Lemberg <[email protected]>
+
+ * builds/toplevel.mk (.PHONY): Adding `distclean'.
+ * builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
+ `setup'.
+
+2000-11-30 David Turner <[email protected]>
+
+ * INSTALL: Slightly updated the quick starter documentation to
+ include IDE compilation, prevent against BSD Make, and specify `make
+ setup' instead of a single `make' for build configuration.
+
+ * include/config/ftbuild.h, include/internal/internal.h: Added new
+ configuration files used to determine the location of all public,
+ configuration, and internal header files for FreeType 2. Modified
+ all headers under `include/freetype' to reflect this change. Note
+ that we still need to change the library source files themselves
+ though.
+
+ * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
+ builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
+ builds/win32/detect.mk: Added new files to support compilation with
+ the free Borland C++ command-line compiler. Modified the detection
+ rules to recognize the new `bcc32' target in `make setup bcc32'.
+
+ * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
+ src/truetype/ttobjs.c, src/truetype/ttgload.c,
+ src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
+ didn't really like. Basically, this compiler complains when FT_UInt
+ is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
+ in these cases).
+
+2000-11-30 Tom Kacvinsky <[email protected]>
+
+ * t2objs.c (T2_Init_Face): Added calculation of `face->height' for
+ pure CFF fonts.
+
+ * t1objs.c (T1_Init_Face): Fixed computation of `face->height'.
+
+2000-11-29 David Turner <[email protected]>
+
+ * src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid
+ bug in the formula used to compute the conic Bézier extrema
+ of non-monotonous arcs.
+
+2000-11-29 Werner Lemberg <[email protected]>
+
+ * src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
+ (FT_Set_Renderer): Use FT_EXPORT_DEF.
+ * src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
+ src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
+ FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
+ FTC_Manager_Register_Cache), src/cache/ftcsbits.c
+ (FTC_SBit_Cache_Lookup): Ditto.
+
+ * src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
+ src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
+
+2000-11-29 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
+ conditionally.
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
+ `size->strike_index' only conditionally.
+
+ * src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
+ conditionally.
+
+ * src/winfonts/winfnt.h: Move all type definitions to...
+ * src/include/freetype/internal/fnttypes.h: New file.
+ * src/winfonts/winfnt.c: Use it.
+
+2000-11-29 ??? ??? <[email protected]>
+
+ * include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
+ with a direct solution (which also satisfies picky compilers).
+
+2000-11-28 YAMANO-UCHI Hidetoshi <[email protected]>
+
+ * src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with
+ disabled interpreter also.
+
+ * src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect
+ parentheses.
+
+2000-11-26 Tom Kacvinsky <[email protected]>
+
+ * src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph
+ width setting code to take into account even/odd argument counts
+ and glyph width operand before endchar/hmoveto/vmoveto.
+
+2000-11-26 Werner Lemberg <[email protected]>
+
+ * builds/ansi/ansi.mk: Fix inclusion order of files.
+
+2000-11-26 Keith Packard <[email protected]>
+
+ * src/type1/t1objs.c (T1_Init_Face): Compute style flags.
+
+2000-11-26 Werner Lemberg <[email protected]>
+
+ * builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
+ conditional.
+
+2000-11-23 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
+ function from PSAux module.
+
+ * src/type1/t1parse.c (T1_Done_Parse): Renamed to...
+ (T1_Finalize_Parser): New function (to avoid name clash with a
+ function in the PSAux module).
+ (T1_Decrypt): Removed since it is duplicated in the PSAux module.
+ (T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
+ function from PSAux module.
+
+ * src/type1/t1parse.h: Adapted.
+
+2000-11-22 Tom Kacvinsky <[email protected]>
+
+ * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
+ `root->num_faces' to `cff->num_faces' and set `units_per_EM'
+ to 1000.
+
+ * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
+ loop.
+
+ * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
+ sid that was off by one.
+
+2000-11-16 David Turner <[email protected]>
+
+ * src/autohint/ahtypes.h (AH_Hinter): Added new fields to control
+ auto-hinting of synthetic Type 1 fonts.
+
+ * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
+ Added auto-hinting support of synthetic Type 1 fonts.
+
+2000-11-12 Tom Kacvinsky <[email protected]>
+
+ * src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change
+ tracing output.
+
+ * src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable
+ `has-outline' to true only if the font has a `glyf' or `CFF ' table.
+
+2000-11-11 Werner Lemberg <[email protected]>
+
+ * builds/win32/visualc/freetype.dsp: Fix raster1->raster and
+ type1z->type1.
+
+2000-11-11 Tom Kacvinsky <[email protected]>
+
+ * builds/unix/freetype-config.in, builds/cygwin/freetype-config.in:
+ Added a --libtool option. When freetype-config --libtool is
+ invoked, the absolute path to the libtool convenience library
+ is returned.
+
+2000-11-11 Werner Lemberg <[email protected]>
+
+ * builds/cygwin/cygwin-def.in: Same fix as previous.
+
+2000-11-10 Tom Kacvinsky <[email protected]>
+
+ * builds/unix/unix-def.in: Add
+
+ INSTALL_PROGRAM := @INSTALL_PROGRAM@
+ INSTALL_SCRIPT := @INSTALL_SCRIPT@
+
+ so that installation of freetype-config does not fail.
+
+2000-11-10 Werner Lemberg <[email protected]>
+
+ * builds/cygwin/freetype-config.in, builds/unix/freetype-config.in:
+ Move test down for empty --exec-prefix.
+ Fix --version.
+
+ * builds/cygwin/install.mk, builds/unix/install.mk: Use
+ $(INSTALL_SCRIPT) for installation of freetype-config.
+
+ * builds/cygwin/install.mk: Fix clean target names.
+
+2000-11-09 David Turner <[email protected]>
+
+
+ * Version 2.0 released.
+ =======================
+
+----------------------------------------------------------------------------
+
+Copyright 2000, 2001, 2002, 2007 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT. By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
diff --git a/components/external/freetype/ChangeLog.21 b/components/external/freetype/ChangeLog.21
index ef25bfce1f..d6371d1758 100644
--- a/components/external/freetype/ChangeLog.21
+++ b/components/external/freetype/ChangeLog.21
@@ -1,9439 +1,9439 @@
-2005-06-08 Werner Lemberg <[email protected]>
-
-
- * Version 2.1.10 released.
- ==========================
-
-
- * src/pcf/readme: Renamed to...
- * src/pcf/README: This.
-
-2005-06-07 Detlef Würkner <[email protected]>
-
- * builds/amiga/*: Added copyright notes, reworked some comments.
-
-2005-06-05 Werner Lemberg <[email protected]>
-
- * Add copyright notices to all files which don't have one.
-
- * docs/license.txt: Renamed to...
- * docs/LICENSE.TXT: This.
- * docs/FTL.txt: Renamed to...
- * docs/FTL.TXT: This.
- * docs/GPL.txt: Renamed to...
- * docs/GPL.TXT: This.
-
- * docs/PATENTS: Slightly reworded. Suggested by Sylvain Beucler
-
-2005-06-04 Werner Lemberg <[email protected]>
-
- * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
- FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
- FT_Outline_CubicToFunc, FT_Raster_RenderFunc),
- include/freetype/ftrender.h (FT_Glyph_TransformFunc,
- FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Don't use
- `const' to stay compatible with FreeType 2.1.9.
-
-2005-06-01 Adam D. Moss <[email protected]>
-
- * src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from
- 2004-07-11; this gives much better results under normal
- circumstances.
-
-2005-05-30 Chia I Wu <[email protected]>
-
- * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor
- documentation improvements.
-
- * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix typos.
-
- * src/base/ftbitmap.c (FT_Bitmap_Embolden): Add support for bitmap
- of pixel_mode FT_PIXEL_MODE_GRAY2 or FT_PIXEL_MODE_GRAY4.
- If xstr is larger than 8 and bitmap is of pixel_mode
- FT_PIXEL_MODE_MONO, set xstr to 8 instead of returning error.
-
-2005-05-29 Chia I Wu <[email protected]>
-
- * src/base/ftbitmap.c (FT_Bitmap_Embolden): Fix emboldening bitmap
- of mode FT_PIXEL_MODE_GRAY. Also add support for mode
- FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V.
- (ft_bitmap_assure_buffer): FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V
- should have ppb (pixel per byte) 1.
- Zero the padding when there's no need to allocate memory.
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle slot->advance
- too.
- More suited emboldening strength.
-
-2005-05-28 Chia I Wu <[email protected]>
-
- * src/base/ftbitmap.c (FT_Bitmap_Embolden): Handle negative pitch.
- Handle FT_PIXEL_MODE_GRAY with num_gray != 256.
- Improve speed for FT_PIXEL_MODE_GRAY.
- (ft_bitmap_assure_buffer): Accept FT_PIXEL_MODE_LCD and
- FT_PIXEL_MODE_LCD_V.
-
-2005-05-27 Chia I Wu <[email protected]>
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Initialize `error'.
-
- * src/base/ftobjs.c (ft_cmap_done_internal): New function.
- (FT_CMap_Done): Remove cmap from cmap list.
- (destroy_charmaps, FT_CMap_New): Don't call FT_CMap_Done but
- ft_cmap_done_internal.
-
-2005-05-26 Werner Lemberg <[email protected]>
-
- * docs/GPL.txt: Update postal address of FSF.
-
-2005-05-26 Chia I Wu <[email protected]>
-
- * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Improve
- documentation.
-
- * src/base/ftsynth.c (FT_BOLD_THRESHOLD): Removed.
- (FT_GlyphSlot_Embolden): Check whether slot is bitmap owner.
- Always modify the metrics.
-
-2005-05-24 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2005-05-24 Chia I Wu <[email protected]>
-
- * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration.
-
- * include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration.
-
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary
- function.
- (FT_Bitmap_Embolden): New function.
-
- * src/base/ftoutln.c (FT_Outline_Embolden): New function.
-
- * src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and
- FT_TRIGONOMETRY_H but FT_BITMAP_H.
- (FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or
- FT_Bitmap_Embolden.
-
-2005-05-24 Werner Lemberg <[email protected]>
-
- * configure: Always remove config.mk, builds/unix/unix-def.mk, and
- builds/unix/unix-cc.mk. This fixes repeated calls of the script.
- Reported by Nelson Beebe and Behdad Esfahbod.
-
- * README.CVS: Mention file permissions.
-
-2005-05-23 Werner Lemberg <[email protected]>
-
- * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk
- (CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove
- -fno-strict-aliasing.
-
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c --
- it is currently loaded from ttsbit.c.
-
-2005-05-23 Behdad Esfahbod <[email protected]>
-
- Say you have `(Foo*)x' and want to assign, pass, or return it as
- `(Bar*)'. If you simply say `x' or `(Bar*)x', then the C compiler
- would warn you that type casting incompatible pointer types breaks
- strict-aliasing. The solution is to cast to `(void*)' instead which
- is the generic pointer type, so the compiler knows that it should
- make no strict-aliasing assumption on `x'. But the problem with
- `(void*)x' is that seems like in C++, unlike C, `void*' is not a
- generic pointer type and assigning `void*' to `Bar*' without a cast
- causes an error. The solution is to cast to `Bar*' too, with
- `(Bar*)(void*)x' as the result -- this is what the patch does.
-
- * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP),
- include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove
- cast on lvalue, use a temporary pointer instead.
- Cast temporarily to (void*) to not break strict aliasing.
-
- * include/freetype/internal/ftmemory.h (FT_MEM_ALLOC,
- FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE),
- src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*)
- to not break strict aliasing.
-
- * src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information.
-
- * builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing.
-
-2005-05-23 David Turner <[email protected]>
-
- Fix Savannah bug #12213 (incorrect behaviour of the cache sub-system
- in low-memory conditions).
-
- * include/freetype/cache/ftccache.h (FTC_CACHE_TRYLOOP,
- FTC_CACHE_TRYLOOP_END): New macros.
-
- * src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c
- (ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACE_TRYLOOP_END.
-
-2005-05-23 Werner Lemberg <[email protected]>
-
- * src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but...
- (BASE_EXT_SRC): Here.
-
-2005-05-22 Werner Lemberg <[email protected]>
-
- * src/base/ftrfork.c (raccess_guess_apple_generic): Mark
- `version_number' and `entry_length' as unused.
- (raccess_guess_linux_double_from_file_name): Remove `memory'.
- (raccess_make_file_name): Mark `error' as unused.
-
- * src/bdf/bdflib.c (_bdf_parse_properties): Remove `memory'.
-
- * src/cid/cidobjs.c (cid_face_init): Remove `psnames'.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Remove `memory'.
-
- * src/truetype/ttgxvar.c (ft_var_readpackedpoints,
- ft_var_readpackeddeltas, ft_var_load_avar): Mark `error' as unused.
-
- * src/base/rules.mk (BASE_SRC): Add ftsynth.c.
-
-2005-05-21 David Turner <[email protected]>
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix a bug that
- produced unpleasant artefacts when trying to embolden very sharp
- corners.
-
-2005-05-20 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2005-05-20 Chia I Wu <[email protected]>
-
- * src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H
- but FT_BITMAP_H.
- (FT_Bitmap_Copy): New function (from ftglyph.c).
-
- * include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public
- definition.
-
- * src/base/ftglyph.c: Include FT_BITMAP_H.
- (ft_bitmap_copy): Move to ftbitmap.c.
- (ft_bitmap_glyph_init): Remove `memory' variable.
- Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set.
- (ft_bitmap_glyph_copy): Use FT_Bitmap_Copy.
- (ft_bitmap_glyph_done): Use FT_Bitmap_Done.
- (ft_outline_glyph_init): Use FT_Outline_Copy.
-
- * src/base/ftoutln.c (FT_Outline_Copy): Handle source == target.
- (FT_Outline_Done_Internal): Check for valid `memory' pointer.
- (FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render,
- FT_Outline_Transform): Check for valid `outline' pointer.
-
- * src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to
- face->glyph, otherwise a new second glyph slot cannot be created.
- (FT_Done_GlyphSlot): Fix memory leak.
- (FT_Open_Face): Updated -- face->glyph is already managed by
- FT_New_GlyphSlot.
-
- * src/type42/t42objs.c (T42_GlyphSlot_Done): Updated.
-
-2005-05-20 Kirill Smelkov <[email protected]>
-
- * include/freetype/ftimage.h (FT_Raster_Params),
- include/freetype/ftoutln.h (FT_Outline_Translate,
- FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate,
- FT_Outline_Transform): Decorate parameters with `const' where
- appropriate.
- Update all callers.
-
- * src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c
- (gray_raster_reset): Remove `const' from `pool_base' argument.
-
-2005-05-18 Kirill Smelkov <[email protected]>
-
- * src/raster/ftmisc.h: New file. Only needed if ftraster.c is
- compiled as stand-alone.
-
- * src/raster/ftraster.c: Add comment how to compile as stand-alone.
- s/FT_CONFIG_OPTION_STATIC_RASTER/FT_STATIC_RASTER/.
- s/TT_STATIC_RASTER/FT_STATIC_RASTER/.
- [_STANDALONE_]: Include ftimage.h and ftmisc.h.
- (FT_TRACE1, FT_TRACE6, ft_memset, FT_MEM_ZERO): Define
- conditionally.
- (Render_Glyph, Render_Gray_Glyph): Return Raster_Err_None (or
- Raster_Err_Unsupported).
- (ft_black_new) [_STANDALONE_]: Fix type of `the_raster'.
- (ft_black_init, ft_black_reset, ft_black_set_mode, ft_black_render):
- Use `ras', not `raster'.
- (ft_black_done): Use FT_UNUSED_RASTER.
- (Horizontal_Sweep_Init, Horizontal_Sweep_Step,
- Horizontal_Gray_Sweep_Span): Use FT_UNUSED_RASTER.
-
-2005-05-18 Werner Lemberg <[email protected]>
-
- * docs/announce: Start updating.
-
- * docs/CHANGES: Updated.
-
-2005-05-16 Vitaliy Pasternak <[email protected]>
-
- * builds/win32/visualc/freetype.vcproj: Updated.
- Exclude debug info for `Release' versions to reduce library size.
-
-2005-05-16 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this
- is, ignore `aface' completely if face_index < 0. Reported by David
- Osborn <[email protected]>.
-
-2005-05-16 Kirill Smelkov <[email protected]>
-
- * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
- FT_Outline_LineTo_Func, FT_Outline_ConicToFunc,
- FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic,
- gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to,
- gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters
- with `const' where appropriate.
-
-2005-05-11 Kirill Smelkov <[email protected]>
-
- * include/freetype/ftimage.h (FT_Raster_RenderFunc),
- include/freetype/ftrender.h (FT_Glyph_TransformFunc,
- FT_Renderer_Render_Func, FT_Renderer_TransformFunc),
- src/base/ftglyph.c (ft_outline_glyph_transform),
- src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render),
- src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render),
- src/smooth/ftsmooth.c (ft_smooth_transform,
- ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd,
- ft_smooth_render_lcd_v): Decorate parameters with `const' where
- appropriate.
-
- * src/raster/ftraster.c (RASTER_RENDER_POOL): Removed. Obsolete.
- (ft_black_render): Decorate parameters with `const' where
- appropriate.
-
-2005-05-11 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT ->
- FT_PEEK_USHORT) which caused crashes. Reported by Ismail Donmez
-
-2005-05-08 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE)
- [__cplusplus]: Fix typo.
-
-2005-05-07 Werner Lemberg <[email protected]>
-
- Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck
- Blaskey <[email protected]>).
-
- * src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'.
- * src/sfnt/ttcmac.c: Use SFNT_Err_Ok where appropriate.
-
- (tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate,
- tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use
- `FT_Error' as return type.
- (tt_cmap4_validate): Use `FT_Error' as return type.
- Return error code for unsorted cmap.
- (tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted
- cmaps.
- (tt_face_build_cmaps): Set `unsorted' variable in cmap.
-
-2005-05-07 Werner Lemberg <[email protected]>
-
- * src/truetype/ttpload.c (tt_face_get_location): Fix typo.
-
-2005-05-06 Werner Lemberg <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init): Set ppem value in top
- dictionary for SFNT-based CFF.
-
-2005-05-05 Werner Lemberg <[email protected]>
-
- Handle malformed `loca' table entries.
-
- * docs/TODO: Add some bugs which should be fixed.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec): Add `glyf_len'
- element.
-
- * src/truetype/ttpload.c (tt_face_load_loca): Get length of `glyf'
- table.
- (tt_face_get_location): Fix computation of `asize' for malformed
- `loca' entries.
-
-2005-05-01 David Turner <[email protected]>
-
- * Jamfile: Remove `otvalid' from the list of compiled modules.
-
- * include/freetype/internal/ftserv.h: Add compiler pragmas to get
- rid of annoying warnings with Visual C++ compiler in maximum warning
- mode.
-
- * src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c,
- src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c,
- src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c,
- src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c,
- src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: Remove compiler warnings.
-
-2005-04-28 Werner Lemberg <[email protected]>
-
- * docs/TODO: Updated.
-
-2005-04-24 Werner Lemberg <[email protected]>
-
- * src/otvalid/otvcommn.c
- (otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0.
-
-2005-04-16 Werner Lemberg <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init): Set default upem value in top
- font dict also.
- Handle font matrix settings in subfonts.
-
- * src/cff/cffgload.c (cff_slot_load): Use the correct font matrix
- for CID-keyed fonts with subfonts.
-
- * docs/formats.txt: Updated.
-
-2005-04-14 Kirill Smelkov <[email protected]>
-
- * include/freetype/freetype.h (FT_Vector_Transform),
- include/freetype/ftimage.h (FT_Raster_Params),
- include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox,
- FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform,
- FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render),
- src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with
- `const' where appropriate.
-
-2005-04-14 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_charstrings): Catch this non-standard
- beginning of the /CharStrings dictionary:
-
- /CharStrings 118 dict def
- Private begin
- CharStrings begin
-
- * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments
- to call of tt_sbit_decoder_load_bitmap.
-
-2005-04-13 Werner Lemberg <[email protected]>
-
- * docs/TODO: Updated.
-
- * autogen.sh: Use `--force' for all commands.
-
-2005-04-09 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values
- only if `fitted' is not zero.
-
-2005-04-06 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]:
- Fix typo which sometimes causes wrong metrics for the last glyph.
-
-2005-04-04 David Turner <[email protected]>
-
- * devel/ftoption.h, include/freetype/config/ftoption.h
- (FT_OPTIMIZE_MEMORY): Comment out this macro for the upcoming 2.1.10
- release.
- (*_CHESTER_*): Removed. No longer used.
-
- * src/autofit/afhints.c (af_axis_hints_new_segment,
- af_axis_hints_new_edge): Small tweak to use less heap memory.
-
-2005-04-03 Werner Lemberg <[email protected]>
-
- * src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid
- first line in the font.
-
-2005-04-03 Werner Lemberg <[email protected]>
-
- * docs/CHANGES, include/freetype/freetype.h: Improve documentation
- of FT_Set_Pixel_Sizes and FT_Set_Char_Size.
-
-2005-03-26 Detlef Würkner <[email protected]>
-
- * builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer
- offsets after a large read.
-
-2005-03-26 Werner Lemberg <[email protected]>
-
- * src/autofit/afglobal.c (af_face_globals_get_metrics):
- s/index/gidx/.
-
- * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler
- warnings.
-
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
-
- * src/sfnt/ttsbit0.h: Dummy file for build with `make'.
-
-2005-03-26 Detlef Würkner <[email protected]>
-
- Update of the Amiga port.
-
- * builds/amiga/makefile, builds/amiga/makefile.os4,
- builds/amiga/smakefile: Included the base extension files
- (ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
-
-2005-03-25 Detlef Würkner <[email protected]>
-
- Update of the Amiga port.
-
- * builds/amiga/makefile, builds/amiga/smakefile: Handle new modules.
-
- * builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK.
-
- * builds/amiga/README: Updated.
-
- * builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for
- AmigaOS4.
-
- * builds/amiga/include/freetype/config/ftmodule.h: Handle new
- modules.
-
- * builds/amiga/src/base/ftdebug.c: Updated to current version of
- default ftdebug.c.
- Add various include files and macros to have proper support for
- both AmigaOS4 and older AmigaOS versions.
- Don't declare KVPrintF explicitly.
- Replace getenv with GetVar.
- Actually enable debugging code.
-
- * builds/amiga/src/base/ftsystem.c: Major rewrite.
-
-2005-03-23 Werner Lemberg <[email protected]>
-
- * tests/*: Removed.
-
-2005-03-23 Werner Lemberg <[email protected]>
-
- * docs/CHANGES, docs/INSTALL.ANY: Updated.
-
- * include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
- Add `OTvalid'.
-
- * src/autofit/aferrors.h: New file.
-
- * src/autofit/afglobal.c, src/autofit/afhints.c,
- src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
- Include aferrors.h.
-
- * src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.
-
- * src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
-
-2005-03-22 David Turner <[email protected]>
-
- * src/autohint/*: Removed.
- * Jamfile: Updated.
-
-2005-03-15 David Turner <[email protected]>
-
- * src/bdf/bdflib.c: Remove compiler warnings.
- (hash_rehash, hash_init): Don't call FT_MEM_ZERO.
- (_bdf_list_t): Add `memory' field.
- (_bdf_list_init, _bdf_list_done, _bdf_list_ensure): New functions.
- (_bdf_shift, _bdf_join): Rename to...
- (_bdf_list_shift, _bdf_list_join): This.
- (_bdf_split): Renamed to...
- (_bdf_list_split): This. Use new functions.
- (bdf_internal_readstream): Removed.
- (NO_SKIP): New macro.
- (_bdf_readstream): Rewritten.
- (bdf_create_property, _bdf_add_comment): Improve allocation.
- (_bdf_set_default_spacing, _bdf_parse_glyphs): Updated. Improve
- allocation.
- (_bdf_parse_properties, _bdf_parse_start): Updated.
- (bdf_load_font): Updated to use new functions.
-
- * src/type1/t1parse.c (check_type1_format): New function.
- (T1_New_Parser): Use it to check font header before allocating
- anything on the heap.
-
- * src/type42/t42parse.c (t42_parser_init): Modify functions to check
- the font header before allocating anything on the heap.
-
- * include/freetype/internal/ftmemory.h (FT_ARRAY_MAX,
- FT_ARRAY_CHECK): New macros.
-
- * src/base/ftstream.c (FT_Stream_TryRead): New function.
- * include/freetype/internal/ftstream.h: Updated.
-
- * src/pcf/pcfread.c (pcf_read_TOC), src/pcf/pcfutil.c
- (BitOrderInvert, TwoByteSwap, FourByteSwap): Minor fixes and
- simplifications. Try to protect the PCF driver from doing stupid
- things with broken fonts.
-
- * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Check the LZW header before
- doing anything else. This avoids unnecessary heap allocations
- (400KByte of heap memory for the LZW decoder).
-
- * src/gzip/ftgzip.c (FT_Stream_OpenGZip): Ditto for the gzip
- decoder, although the code savings are smaller.
-
- * docs/CHANGES: Updated.
-
-2005-03-10 David Turner <[email protected]>
-
- * src/tools/glnames.py: Add comment to explain the compression
- being used for the Adobe Glyph List.
-
-2005-03-10 Werner Lemberg <[email protected]>
-
- * src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm):
- Fix serious typo which prevented correct TT rendering.
-
- * include/freetype/internal/ftmemory.h: Undo change from 2005-03-03.
- To suppress warnings it is sufficient to use `-fno-strict-aliasing'.
-
-2005-03-10 Werner Lemberg <[email protected]>
-
- * src/tools/glnames.py: Formatted.
- Format output to be in sync with other FreeType code.
- Import `re' and `os.path'.
- (StringTable) <__init__>: Add parameter to initialize master table
- name.
- (StringTable) <dump>: Don't pass master table name.
- (StringTable) <dump_sublist>: Emit explanatory comment.
- Simplify and make output more human readable.
- (t1_bias, glyph_list, adobe_glyph_names): Removed. Unused.
- (main): Use `basename' for file name in header.
-
- * src/psnames/pstables.h: Regenerated.
-
-2005-03-09 David Turner <[email protected]>
-
- * src/tools/glnames.py: Rewrite the generator for the `pstables.h'
- header file which contains various constant tables related to glyph
- names. It now uses a different, more compact storage scheme that
- saves about 20KB. This also closes Savannah bug #12262.
-
- * src/psnames/pstables.h: Regenerated.
-
- * src/psnames/psmodule.c (ps_unicode_value): Use
- `ft_get_adobe_glyph_index', a new function defined in `pstables.h'.
- (ps_get_macintosh_name, ps_get_standard_strings): Updated.
-
- * src/base/ftobjs.c (FT_Set_Char_Sizes): Handle fractional sizes
- more carefully. This fixes Savannah bug #12263.
-
-2005-03-06 David Turner <[email protected]>
-
- * src/otvalid/otvgsub.c, src/otvalid/otvgpos.c: Make static tables
- constant.
-
- * src/autofit/aflatin.c (af_latin_metrics_init): Fix Savannah bug
- #12212 (auto-hinter refuses to work if no Unicode charmap in font).
-
-2005-03-05 Werner Lemberg <[email protected]>
-
- * autogen.sh: New script for bootstrapping.
-
- * README.CVS: New file which documents bootstrapping.
-
- * builds/unix/aclocal.m4, builds/unix/config.guess,
- builds/unix/config.sub, builds/unix/configure,
- builds/unix/ltmain.sh: Removed.
-
-2005-03-04 Werner Lemberg <[email protected]>
-
- * src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
-
-2005-03-03 Werner Lemberg <[email protected]>
-
- Various fixes for C and C++ compiling.
-
- * src/autofit/*: Add copyright messages.
-
- * src/autofit/afhints.c (af_glyph_hints_done): Don't use
- `AF_Dimension' but `int' for loop counter.
-
- * src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
- `AF_Dimension' but `int' for loop counter.
- Use proper enumeration value for `render_mode'.
- (af_latin_metrics_scale_dim): Don't shadow variables.
- (af_latin_hints_compute_segments): Use proper cast for `major_dir'
- and `segment_dir'.
- (af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
- `af_latin_compute_stem_width'.
- (af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
- counter.
-
- * src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
- proper cast for memory allocation.
-
- * src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
- initialization of `sfnt'.
-
- * src/sfnt/sfdriver.c: Include `ttkern.h'.
-
- * src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.
-
- * src/truetype/ttgload.c: Include `ttpload.h'.
-
-2005-03-03 David Turner <[email protected]>
-
- * include/freetype/internal/ftmemory.h (FT_ALLOC, FT_REALLOC,
- FT_QALLOC, FT_QREALLOC) [gcc >= 3.3]: Provide macro versions which
- avoid compiler warnings.
- (FT_NEW, FT_NEW_ARRAY, FT_RENEW_ARRAY, FT_QNEW, FT_QNEW_ARRAY,
- FT_QRENEW_ARRAY, FT_ALLOC_ARRAY, FT_REALLOC_ARRAY): Updated.
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
- FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cplusplus]:
- Provide macro versions which avoid compiler warnings.
-
- * src/base/ftutil.c (ft_highpow2): New utility function.
-
- * include/freetype/internal/ftobjs.h: Updated.
-
- * src/pfr/pfrload.c (pfr_get_gindex, pfr_compare_kern_pairs,
- pfr_sort_kerning_pairs): Don't define if FT_OPTIMIZE_MEMORY is set.
- (pfr_phy_font_done): Don't handle `kern_pairs' if FT_OPTIMIZE_MEMORY
- is set.
- (pfr_phy_font_load): Don't call `pfr_sort_kerning_pairs' if
- FT_OPTIMIZE_MEMORY is set.
-
- * src/pfr/pfrobjs.c (pfr_slot_load): Comment out some code which
- doesn't work with broken fonts.
- (pfr_face_get_kerning) [FT_OPTIMIZE_MEMORY]: Implement.
-
- * src/pfr/pfrtypes.h (PFR_KernItemRec): Optimize member types.
- (PFR_NEXT_KPAIR): New macro.
- (PFR_PhyFontRec): Don't define `kern_pairs' if FT_OPTIMIZE_MEMORY is
- set.
-
- * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Introduce
- temporary variable to avoid gcc warning.
- (tt_face_load_sbit_image): Mark unused variables with FT_UNUSED.
-
- * src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
- Remove redundant variable.
-
- * include/freetype/config/ftmodule.h: Moving the order of drivers to
- speed up font loading. The PCF and BDF loaders are still slow and
- consume far too much memory.
-
-2005-03-03 Werner Lemberg <[email protected]>
-
- * devel/ftoption.h: Updated to recent changes.
-
-2005-03-02 Werner Lemberg <[email protected]>
-
- * src/autofit/afdummy.c, src/autofit/afdummy.h
- (af_dummy_script_class): Fix type.
-
- * src/autofit/aflatin.c, src/autofit/aflatin.h
- (af_latin_script_class): Fix type.
-
- * src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo.
-
-2005-03-01 David Turner <[email protected]>
-
- * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning),
- src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes,
- tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_compound,
- tt_sbit_decoder_load_image), src/sfnt/ttload.c
- (tt_face_load_metrics): Remove compiler warnings
- -- redundant variables, missing initializations, etc.
-
- * src/sfnt/ttsbit.h: Handle FT_OPTIMIZE_MEMORY.
-
- * src/autofit/rules.mk, src/autofit/module.mk,
- src/autofit/afangles.h: New files.
-
- * src/autofit/afhints.c (af_axis_hints_new_segment,
- af_axis_hints_new_edge): New functions.
- (af_glyph_hints_done): Do proper deallocation.
- (af_glyph_hints_reload): Only reallocate points array. This
- drastically reduces heap usage.
-
- * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec): Optimize
- member types and positions.
- (AF_AxisHintsRec): Add `max_segments' and `max_edges'.
- (af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes.
-
- * src/autofit/aflatin.c (af_latin_metricsc_scale): Don't call
- AF_SCALER_EQUAL_SCALES.
- (af_latin_hints_compute_segments): Change return type to FT_Error.
- Update all callers.
- Improve segment allocation.
- (af_latin_hints_compute_edges): Change return type to FT_Error.
- Update all callers.
- Improve edge allocation and link handling.
- (af_latin_hints_detect_features): Change return type to FT_Error.
- Update all callers.
-
- * src/autofit/aflatin.h: Updated.
-
- * src/autofit/afloader.c (af_loader_load_g)
- <FT_GLYPH_FORMAT_OUTLINE>: Assure axis->num_edges > 1. This fixes
- a bug with certain fonts.
-
- * include/freetype/config/ftmodule.h: The auto-fitter is now the
- only supported auto-hinting module.
-
- * include/freetype/config/ftstdlib.h (FT_INT_MAX): New macro.
-
-2005-02-28 Werner Lemberg <[email protected]>
-
- * src/truetype/ttpload.c (tt_face_load_loca): Fix typo.
-
- * src/sfnt/ttkern.c: Include `ttkern.h'.
- (FT_COMPONENT): Updated.
-
- * include/freetype/internal/fttrace.h: Add entry for `ttkern'.
-
- * src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/.
- Decorate constants with `U' and `L' where necessary.
-
- * src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
-
-2005-02-28 David Turner <[email protected]>
-
- * src/base/ftdbgmem.c (FT_DumpMemory): Added sorting of memory
- sources according to decreasing maximum cumulative allocations.
- (ft_mem_source_compare): New auxiliary function.
-
- * src/sfnt/ttsbit0.c: New file, implementing a heap-optimized
- embedded bitmap loader.
-
- * src/sfnt/ttsbit.c: Include `ft2build.h', FT_INTERNAL_DEBUG_H,
- FT_INTERNAL_STREAM_H, FT_TRUETYPE_TAGS_H.
- Load `ttsbit0.c' if FT_OPTIMIZE_MEMORY is set, otherwise use
- file contents.
- (tt_face_load_sbit_strikes): Set up root fields to indicate the
- strikes. This fixes Savannah bug #12107.
- Use `static' keyword for `sbit_line_metrics_field',
- `strike_start_fields', `strike_end_fields'.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec): Define
- `sbit_table', `sbit_table_size', `sbit_num_strikes' if
- FT_OPTIMIZE_MEMORY is set.
- Don't define `num_sbit_strikes' and `sbit_strikes' if
- FT_OPTIMIZE_MEMORY is set.
-
- * src/cff/cffobjs.c (sbit_size_reset): Handle FT_OPTIMIZE_MEMORY.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Fixed bug that prevented
- loading SFNT fonts without a `kern' table.
- Properly pass root->face_flags.
- Remove code for TT_CONFIG_OPTION_EMBEDDED_BITMAPS.
-
- * src/sfnt/sfdriver.c (sfnt_interface)
- [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Don't use `tt_find_sbit_image'
- and `tt_load_sbit_metrics'.
-
- * src/sfnt/ttcmap.c: Optimize linear charmap scanning for Format 4.
- (OPT_CMAP4): New macro.
- (TT_CMap4Rec) [OPT_CMAP4]: New structure.
- (tt_cmap4_init, tt_cmap4_set_range, tt_cmap4_next, tt_cmap4_reset)
- [OPT_CMAP4]: New functions.
- (tt_cmap4_char_next) [OPT_CMAP4]: Use `tt_cmap4_next' and
- `tt_cmap4_reset'.
- (tt_cmap4_class_rec) [OPT_CMAP4]: Use `TT_CMap4Rec' and
- `tt_cmap4_init'.
-
- * src/truetype/ttobjs.c (Reset_SBit_Size): Handle
- FT_OPTIMIZE_MEMORY.
-
- * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec, AF_EdgeRec):
- Optimize member types.
-
- * src/autofit/afloader.c (af_loader_done): Call
- `af_glyph_hints_done'.
-
-2005-02-27 David Turner <[email protected]>
-
- * src/sfnt/ttkern.c (tt_face_load_kern): Fix a small bug which
- caused invalid (random) return values for the horizontal kerning.
-
-2005-02-25 David Turner <[email protected]>
-
- Implement several memory optimizations to drastically reduce the
- heap usage of FreeType, especially in the case of memory-mapped
- files. The idea is to avoid loading and decoding tables in the
- heap, and instead access the raw data whenever possible (i.e., when
- it doesn't compromise performance).
-
- This has several benefits: For example, opening vera.ttf now uses
- just a small amount of memory (even when the FT_Library footprint is
- accounted for), until you start loading glyphs. Even then, you save
- at least 20KB compared to the non-optimized case. Performance of
- various operations, including open and close, has also been
- dramatically improved.
-
- More optimizations to come, especially for the auto-hinter.
-
- * include/freetype/internal/sfnt.h (TT_Face_GetKerningFunc): New
- function type.
- (SFNT_Interface): Add it.
-
- * include/freetype/internal/tttypes.h (TT_HdmxEntryRec, TT_HdmxRec,
- TT_Kern0_PairRec): Don't define if FT_OPTIMIZE_MEMORY is set.
- (TT_FaceRec): Define `horz_metrics', `horz_metrics_size',
- `vert_metrics', `vert_metrics_size', `hdmx_table',
- `hdmx_table_size', `hdmx_record_count', `hdmx_record_size',
- `hdmx_record_sizes', `kern_table', `kern_table_size,
- `num_kern_tables', `kern_avail_bits', `kern_order_bits' if
- FT_OPTIMIZE_MEMORY is set.
- Don't define `hdmx', `num_kern_pairs', `kern_table_index',
- `kern_pairs' if FT_OPTIMIZE_MEMORY is set.
-
- * src/base/ftdbgmem.c (ft_mem_table_set): Don't shadow variable.
- Fix compiler warning.
-
- * src/cff/cffdrivr.c (Get_Kerning): Renamed to...
- (cff_get_kerning): This. Simplify.
- (cff_driver_class): Updated.
-
- * src/sfnt/Jamfile (_sources): Add `ttkern'.
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttkern.c'.
-
- * src/sfnt/sfdriver.c (sfnt_interface): Add `tt_face_get_kerning'.
-
- * src/sfnt/sfnt.c: Include `ttkern.c'.
-
- * src/sfnt/sfobjs.c: Include `ttkern.h'.
- (sfnt_load_face): Consider the `kern' and `gasp' table as optional.
- (sfnt_done_face): Call `tt_face_done_kern'.
- Handle horizontal metrics for FT_OPTIMIZE_MEMORY.
-
- * src/sfnt/ttkern.c, src/sfnt/ttkern.h: New files. Code has been
- taken from `ttload.c' and `ttload.h'.
- Provide special versions of `tt_face_load_kern',
- `tt_face_get_kerning', and `tt_face_done_kern' for
- FT_OPTIMIZE_MEMORY.
-
- * src/sfnt/ttload.c (tt_face_load_metrics, tt_face_load_hdmx,
- tt_face_free_hdmx): Provide version for FT_OPTIMIZE_MEMORY.
- (tt_face_load_kern, tt_kern_pair_compare, TT_KERN_INDEX): Moved to
- `ttkern.c'.
-
- * src/sfnt/ttload.h: Updated.
-
- * src/sfnt/ttsbit.c (sbit_metrics_field): Add `static' keyword.
-
- * src/truetype/ttdriver.c (Get_Kerning): Renamed to...
- (tt_get_kerning): This. Simplify.
- (tt_driver_class): Updated.
-
- * src/truetype/ttgload.c (TT_Get_Metrics): Renamed to...
- (tt_face_get_metrics): This. Provide version for FT_OPTIMIZE_MEMORY.
- Update all callers.
- (Get_Advance_Widths): Replaced with...
- (Get_Advance_WidthPtr): This. Provide version for
- FT_OPTIMIZE_MEMORY.
- Update all callers.
-
- * src/truetype/ttgload.h: Updated.
-
-2005-02-22 David Turner <[email protected]>
-
- * src/base/ftdbgmem.c: Partly rewritten. Added the ability to list
- all allocation sites in the memory debugger. Also a new function
- FT_DumpMemory() was added. It is only available in builds with
- FT_DEBUG_MEMORY defined, and you must declare it in your own code to
- use it, i.e., with something like:
-
- extern void FT_DumpMemory( FT_Memory );
-
- ...
-
- FT_DumpMemory( memory );
-
- * include/freetype/config/ftoption.h
- (TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Comment out definition --
- again.
- (FT_OPTIMIZE_MEMORY): New configuration macro to control various
- optimizations for reducing the heap footprint of memory-mapped
- TrueType files.
-
- * include/freetype/internal/ftmemory.h (FT_ARRAY_ZERO): New
- convenience macro.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec)
- [FT_OPTIMIZE_MEMORY]: Use optimized types for `num_locations' and
- `glyph_locations'.
-
- * src/truetype/ttgload.c (load_truetype_glyph): Call
- `tt_face_get_location'.
-
- * src/truetype/ttobjs.c (tt_face_init)
- [FT_CONFIG_OPTION_INCREMENTAL]: Improve error handling.
- (tt_face_done): Call `tt_face_done_loca'.
-
- * src/truetype/ttpload.c (tt_face_get_location, tt_face_done_loca):
- New functions. If FT_OPTIMIZE_MEMORY is set, the locations table is
- read directly from memory-mapped streams, instead of being decoded
- into the heap.
- (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: New implementation.
- (tt_face_load_cvt, tt_face_load_fpgm): Only load table if the
- bytecode interpreter is compiled in.
-
- * src/truetype/ttpload.h: Updated.
-
- * src/autohint/ahglyph.c (ah_outline_load): Improve allocation
- logic.
-
-2005-02-20 Werner Lemberg <[email protected]>
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.5.14.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.9.4.
-
- * 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.
-
-2005-02-14 Werner Lemberg <[email protected]>
-
- * src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build
- a cmap for a CID-keyed font which doesn't have SIDs.
-
-2005-02-13 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (read_binary_data): Return more meaningful
- value.
- (parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check
- parser error value after call to T1_Skip_PS_Token (where necessary).
-
- * src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error
- value after call to T1_Skip_PS_Token.
-
- * src/cid/cidparse.c (cid_parser_new): Check parser error value
- after call to cid_parser_skip_PS_token.
-
- * src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts,
- t42_parse_charstrings, t42_parse_dict): Check parser error value
- after call to T1_Skip_PS_Token (where necessary).
-
- * src/psaux/psobjc.c (skip_string, ps_parser_skip_PS_token,
- ps_tobytes): Add error messages.
-
-2005-02-12 Werner Lemberg <[email protected]>
-
- * configure: Output more variables to the created Makefile so that
- it can be used for ft2demos also (if the FT2DEMOS variable is
- defined).
-
-2005-02-10 David Turner <[email protected]>
-
- * src/pfr/pfrgload.c (pfr_glyph_load): Fix an unbounded growing
- dynamic array when loading a glyph from a PFR font (Savannah bug
- #11921).
-
- * src/base/ftbitmap.c (FT_Bitmap_Convert): Small improvements to the
- conversion function (mainly stupid optimization).
-
- * src/base/Jamfile: Adding ftbitmap.c to the list of compiled files.
-
-2005-02-10 Werner Lemberg <[email protected]>
-
- * builds/unix/freetype-config.in: Add new flag `--ftversion' to
- return the FreeType version. Suggested by George Williams
-
- * docs/CHANGES: Updated.
-
-2005-02-09 Werner Lemberg <[email protected]>
-
- * src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case
- of error. Reported by YAMANO-UCHI Hidetoshi <[email protected]>.
-
-2005-02-08 Werner Lemberg <[email protected]>
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
- <op_closepath>: Accept `T1_Parse_Have_Moveto' state also which can
- happen in empty glyphs. Reported by Ian Brown
- <[email protected]> (Savannah bug #11856).
-
-2005-02-04 Werner Lemberg <[email protected]>
-
- * src/otlayout/*: Removed. Obsolete.
-
-2004-12-28 Werner Lemberg <[email protected]>
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.5.10.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.9.4.
- * builds/unix/configure: Regenerated with autoconf 2.59b.
-
- * builds/unix/config.guess, builds/unix/config.sub: Updated from
- `config' CVS module at subversions.gnu.org.
-
- * builds/unix/install-sh: Updated from
- `texinfo' CVS module at subversions.gnu.org.
-
- * builds/unix/ftsystem.c (FT_Stream_Open): Add proper cast for
- ft_alloc.
- Fix compiler warning.
-
-2004-12-27 Dirck Blaskey <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init): Improve computation of
- FT_STYLE_BOLD_FLAG.
-
-2004-12-27 Werner Lemberg <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have
- only a single font. This is undocumented but has been verified on
- the opentype list.
-
-2004-12-26 Werner Lemberg <[email protected]>
-
- * Jamfile (FT2_COMPONENTS): Add `otvalid'.
-
-2004-12-25 Werner Lemberg <[email protected]>
-
- * src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning.
-
-2004-12-15 Werner Lemberg <[email protected]>
-
- * vms_make.com: Add ftbitmap.obj.
-
-2004-12-14 Werner Lemberg <[email protected]>
-
- * src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for
- handling various bitmap formats.
-
- * include/freetype/config/ftheader.h (FT_BITMAP_H): New macro.
-
- * src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c.
-
- * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp
- but return them as-is.
-
- * docs/CHANGES: Mention new bitmap API.
- * include/freetype/ftchapter.s: Updated.
-
-2004-12-11 Robert Clark <[email protected]>
-
- * src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount
- dependent on ppem by scaling down for ppem < 25, then do normal
- rounding. This gives slightly better results than rounding towards
- zero.
-
-2004-12-09 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (FT_Get_Kerning): Always round towards zero
- for FT_KERNING_DEFAULT. This greatly enhances the kerning for
- small ppem values.
-
-2004-12-08 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and
- `rsb_delta'.
-
-2004-12-05 Werner Lemberg <[email protected]>
-
- * builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h.
-
-2004-12-03 Antoine Leca <[email protected]>
-
- * include/freetype/ttnameid.h: Updated to latest
- specifications from Microsoft.
-
-2004-11-26 Jouk Jansen <[email protected]>
-
- * vms_make.com: Include ftbbox.c.
- Fix `ccopt'.
- Handle `otvalid' module.
- Update `vmslib.dat' default values.
- Fixes to `libs.opt'.
-
-2004-11-23 Anders Kaseorg <[email protected]>
-
- * src/base/ftoutln.c (FT_OrientationExtremumRec,
- ft_orientation_extremum_compute): Removed.
- (FT_Outline_Get_Orientation): Rewritten, simplified.
-
- * src/autohint/ahglyph.c: Include FT_OUTLINE_H.
- (ah_test_extremum, ah_get_orientation): Removed.
- (ah_outline_load): Use FT_Outline_Get_Orientation.
-
- * src/base/ftsynth.c (ft_test_extrama, ft_get_orientation): Removed.
- (FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
-
-2004-11-23 Fernando Papa <[email protected]>
-
- * src/truetype/ttinterp.h: Fix typo.
-
-2004-11-22 Antoine Leca <[email protected]>
-
- * builds/win32/detect.mk: Corrected logic that detects Windows NT to
- use the previous change even if win32 is forced. Corrected
- detection of win32 on Win9X.
-
- * builds/dos/detect.mk: Added same correction as for win32 about
- COPY on Windows NT. Detection of plain DOS 7.x.
-
-2004-11-22 Werner Lemberg <[email protected]>
-
- * builds/detect.mk: Undo change from 2004-11-20.
- * builds/win32/detect.mk: If the `OS' environment variable contains
- `Windows_NT', use `cmd.exe /c copy' for copying files.
-
-2004-11-20 Werner Lemberg <[email protected]>
-
- * builds/detect.mk (dos_setup): Use `cmd.exe' for copying
- $(CONFIG_MK) to force lowercase file name under Windows.
-
-2004-11-19 Werner Lemberg <[email protected]>
-
- Fix a serious bug in the TT hinter.
-
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift
- points vertically before hinting.
-
- * docs/CHANGES: Updated.
-
- * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
- FTC_GCache_Lookup): A new try to fix comparison with zero.
-
-2004-11-16 Werner Lemberg <[email protected]>
-
- * builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is
- used.
- * builds/unix/configure: Regenerated.
- * builds/unix/config.guess, builds/unix/config.sub: Updated from
- `config' CVS module at subversions.gnu.org.
-
-2004-11-16 Dr. Martin P.J. Zinser <[email protected]>
-
- * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
- FTC_GCache_Lookup): Fix comparison with zero.
-
- * docs/INSTALL.VMS: Updated.
-
- * vms_make.com: Updated. All `descrip.mms' files are now created
- automatically.
-
- * src/*/descrip.mms: Removed.
-
-2004-11-16 Owen Taylor <[email protected]>
-
- * builds/unix/freetype-config.in: Suppress -L$libdir for
- /usr/lib64 as well as /usr/lib. (Reported by Dan Winship -
- https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199)
-
-2004-11-11 Werner Lemberg <[email protected]>
-
- * src/cff/cffdrivr.c (cff_service_ps_info): Updated.
- * src/cid/cidriver.c (cid_service_ps_info): Updated.
- * src/type42/t42drivr.c (t42_ps_get_font_private): New function.
- (t42_service_ps_info): Updated.
-
- * src/type42/t42parse.c (t42_parse_dict): Remove compiler warning.
-
-2004-11-11 David Bevan <[email protected]>
-
- Add new function FT_Get_PS_Font_Private().
-
- * include/freetype/internal/services/svpsinfo.h
- (PS_GetFontPrivateFunc): New service function.
-
- * include/freetype/t1tables.h, src/base/fttype1.c
- (FT_Get_PS_Font_Private): New function.
-
- * src/type1/t1driver.c (t1_ps_get_font_private): New function.
- (t1_service_ps_info): Updated.
-
-2004-10-13 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftstdlib.h: Include `stddef.h'.
- (ft_ptrdiff_t): Define.
-
- * include/freetype/fttypes.h (FT_PtrDist): Use `ft_ptrdiff_t'.
-
- * src/cid/cidload.c (cid_parse_dict), src/type1/t1load.c
- (parse_dict): Fix compiler warning.
-
-2004-10-11 Joshua Neal <[email protected]>
-
- * src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer
- overflow.
-
- * src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input.
- Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work
- in case of failure.
-
- * src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals.
- (tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after
- frame test.
-
- * src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for
- `flag'.
-
-2004-10-09 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2004-10-09 Boris Letocha <[email protected]>
-
- Fix handling of NPUSHW if skipped in data stream.
-
- * src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW
- to -2.
- (SkipCode, TT_RunIns): Use opcode_length value for computation of
- bytes to be skipped.
-
-2004-09-10 Jouk Jansen <[email protected]>
-
- * vms_make.com: Updated.
-
-2004-09-09 Werner Lemberg <[email protected]>
-
- Adding OpenType validation module. The code is based on the
- (unfinished) `otlayout' module but has been heavily modified to make
- it much more compact.
-
- * src/otvalid/*: New module.
-
- * include/freetype/ftotval.h, src/base/ftotval.c,
- include/freetype/internal/services/svotval.h: New files.
-
- * include/freetype/config/ftmodule.h: Add otv_module_class.
- * include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
- macro.
- * include/freetype/internal/ftserv.h
- (FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
- * include/freetype/internal/fttrace.h (otvmodule, otvcommon,
- otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
-
- * include/freetype/ftchapters.h: Updated.
-
- * src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
- src/base/rules.mk (BASE_EXT_SRC): Updated.
-
- * docs/CHANGES: Updated.
-
-2004-09-08 Werner Lemberg <[email protected]>
-
- * src/tools/docmaker/sources.py (re_source_block_format2) <column>:
- Use lookahead assertion to not match `*/'. This removes spurious
- insertions of `/' in the HTML output.
-
-2004-09-07 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to
- FT_NEW_ARRAY.
-
-2004-09-04 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/ftobjs.h: Don't include
- FT_CONFIG_STANDARD_LIBRARY_H.
- (FT_Validator, FT_ValidationLevel, FT_ValidatorRec, FT_VALIDATOR,
- ft_validator_init, ft_validator_run, ft_validator_error, FT_INVALID,
- FT_INVALID_TOO_SHORT, FT_INVALID_OFFSET, FT_INVALID_FORMAT,
- FT_INVALID_GLYPH_ID, FT_INVALID_DATA): Move to...
-
- * include/freetype/internal/ftvalid.h: New file.
- Make FT_INVALID return module-specific error codes.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_VALIDATE_H): New
- macro.
-
- * include/freetype/fterrors.h: Undefine FT_ERR_PREFIX only if
- FT_KEEP_ERR_PREFIX isn't defined.
-
- * src/base/ftobjs.c: Include FT_INTERNAL_VALIDATE_H.
-
- * src/sfnt/ttcmap.h: Don't include FT_INTERNAL_OBJECTS_H but
- FT_INTERNAL_VALIDATE_H.
-
- * src/sfnt/ttcmap.c: Don't include FT_INTERNAL_OBJECTS_H but
- FT_INTERNAL_VALIDATE_H.
- Include sferrors.h before FT_INTERNAL_VALIDATE_H.
- s/FT_Err_Ok/SFNT_Err_Ok/.
-
- * src/sfnt/sferrors.h: Define FT_KEEP_ERR_PREFIX.
-
- * src/type1/t1afm.c: Include t1errors.h.
-
-2004-09-03 Werner Lemberg <[email protected]>
-
- * src/base/ftdebug.c (ft_debug_init): Highest debug level is 7,
- not 6.
- * docs/DEBUG: Updated.
-
-2004-08-30 Werner Lemberg <[email protected]>
-
- * include/freetype/tttags.h (TTAG_BASE, TTAG_GDEF, TTAG_GPOS,
- TTAG_JSTF): New tags.
-
- * include/freetype/fttypes.h (FT_Bytes, FT_Tag): New typedefs.
- (FT_Int): Add `signed'.
-
-2004-08-29 Werner Lemberg <[email protected]>
-
- * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): Add argument
- to pass number of lookups.
- Update all callers.
- Don't call otl_lookup_list_validate but otl_lookup_validate.
- (otl_gpos_validate): Call otl_lookup_list_validate instead of
- otl_gpos_subtable_validate.
-
- * src/otlayout/otlgpos.h: Updated.
-
- * src/otlayout/otljstf.c (otl_jstf_max_validate): Add argument to
- pass number of lookups.
- Update all callers.
-
-
- * src/cff/cffparse.c (cff_parse_real): s/exp/exponent/ to avoid
- compiler warning.
-
-
- * src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Renamed to...
- * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: This.
- * src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c,
- src/sfnt/sfnt.c, src/sfnt/sfobjs.c: Updated.
-
-
- * builds/compiler/gcc-dev.mk (CFLAGS): Don't add `-Wnested-externs'
- if compiler is g++ (v3.3.3 emits a warning otherwise).
-
-2004-08-28 Werner Lemberg <[email protected]>
-
- * src/otlayout/otlgpos.c (otl_value_length): Return number of bytes,
- not number of 16bit entities.
- (otl_gpos_lookup2_validate): Check class definition tables for
- format 2.
- Fix loop for format 2.
- (otl_liga_mark2_validate): Fix offset for otl_anchor_validate.
-
-2004-08-27 Werner Lemberg <[email protected]>
-
- * src/base/ftmac.c: Don't include truetype/ttobjs.h.
- Don't include type1/t1objs.h.
- (FT_New_Face_From_FSSpec) [!__MWERKS__]: Remove compiler warnings.
-
-2004-08-27 Mathieu Malaterre <[email protected]>
-
- * src/base/ftmac.c: Handle OS_INLINE for xlc compiler also.
-
-2004-08-27 Werner Lemberg <[email protected]>
-
- * src/otlayout/otlayout.h: Add copyright.
- (OTL_INVALID_OFFSET): Removed.
-
- * src/otlayout/otlgdef.h: Include otlayout.h.
- Comment out inclusion of otltable.h.
-
- * src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call
- to otl_base_array_validate.
- (otl_liga_mark2_validate): Fix `for' loop.
-
- * src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id',
- not components array.
-
- * src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count):
- Comment out.
- (otl_lookup_list_get_count, otl_feature_list_get_count): Activate.
- (otl_feature_list_validate, otl_gsubgpos_get_lookup_count):
- s/otl_lookup_get_count/otl_lookup_list_get_count/.
- (otl_script_list_validate):
- s/otl_feature_get_count/otl_feature_list_get_count/.
- (otl_script_validate): Call otl_lang_validate for default language.
-
- * src/otlayout/otlcommn.h: Updated.
-
-2004-08-16 Werner Lemberg <[email protected]>
-
- * src/otlayout/otlgpos.c (otl_gpos_lookup1_validate,
- otl_gpos_lookup2_validate, otl_gpos_lookup3_validate,
- otl_gpos_lookup4_validate, otl_gpos_lookup5_validate,
- otl_gpos_lookup6_validate, otl_gpos_lookup9_validate,
- otl_gpos_validate): Update
- function arguments.
- (otl_gpos_lookup7_validate, otl_gpos_lookup8_validate): Update
- function arguments.
- Handle NULL offsets correctly.
- Check sequence and lookup indices for format 3.
- (otl_pos_rule_validate, otl_chain_pos_rule_validate): Add argument
- to pass lookup count.
- Check sequence and glyph indices.
- (otl_gpos_subtable_validate): Update function arguments.
- Update callers.
-
- * src/otlayout/otlgpos.h: Updated.
-
- * src/otlayout/otlgsub.c (otl_gsub_lookup1_validate,
- otl_gsub_lookup3_validate, otl_gsub_lookup8_validate): Update
- function arguments.
- Add glyph index checks.
- (otl_sequence_validate, otl_alternate_set_validate,
- otl_ligature_validate): Add argument to pass glyph count.
- Update callers.
- Add glyph index check.
- (otl_gsub_lookup2_validate, otl_gsub_lookup4_validate): Update
- function arguments.
- (otl_ligature_set_validate): Add argument to pass glyph count.
- Update caller.
- (otl_sub_class_rule_validate,
- otl_sub_class_rule_set_validate): Removed.
- (otl_sub_rule_validate, otl_chain_sub_rule_validate): Add argument
- to pass lookup count.
- Update callers.
- Add lookup index check.
- (otl_sub_rule_set_validate, otl_chain_sub_rule_set_validate): Add
- argument to pass lookup count.
- Update callers.
- (otl_gsub_lookup5_validate): Update function arguments.
- Handle NULL offsets correctly.
- Don't call otl_sub_class_rule_set_validate but
- otl_sub_rule_set_validate.
- Check sequence and lookup indices for format 3.
- (otl_gsub_lookup6_validate): Update function arguments.
- Handle NULL offsets correctly.
- Check sequence and lookup indices for format 3.
- (otl_gsub_lookup7_validate, otl_gsub_validate): Update function
- arguments.
-
- * src/otlayout/otlgsub.h: Updated.
-
- * src/otlayout/otlbase.c (otl_base_validate): Handle NULL offsets
- correctly.
-
- * src/otlayout/otlcommn.c (otl_class_definition_validate): Fix
- compiler warning.
- (otl_coverage_get_first, otl_coverage_get_last): New functions.
- (otl_lookup_validate): Add arguments to pass lookup and glyph
- counts.
- Update callers.
- (otl_lookup_list_validate): Add argument to pass glyph count.
- Update callers.
-
- * src/otlayout/otlcommn.h: Updated.
-
- * src/otlayout/otljstf.c (otl_jstf_extender_validate,
- otl_jstf_max_validate, otl_jstf_script_validate,
- otl_jstf_priority_validate, otl_jstf_lang_validate): Add parameter
- to validate glyph indices.
- Update callers.
- (otl_jstf_validate): Add parameter which specifies number of glyphs
- in font.
-
- * src/otlayout/otljstf.h: Updated.
-
-2004-08-15 Werner Lemberg <[email protected]>
-
- * src/otlayout/otlgpos.c (otl_liga_mark2_validate): Add parameter
- to handle possible NULL values properly.
- Update all callers.
-
-2004-08-15 Werner Lemberg <[email protected]>
-
- * src/otlayout/gpos.c: Rename counting variables to be more
- meaningful.
- Add copyright.
- (otl_liga_attach_validate): Renamed to...
- (otl_liga_mark2_validate): This.
- Update all callers.
- (otl_mark2_array_validate): Removed.
- (otl_gpos_lookup6_validate): Call otl_liga_mark2_validate, not
- otl_mark2_array_validate.
- (otl_pos_class_set_validate, otl_pos_class_rule_validate): Removed.
- (otl_gpos_lookup7_validate): Complete code for format 2.
- (otl_chain_pos_class_rule_validate,
- otl_chain_pos_class_set_validate): Removed.
- (otl_gpos_lookup8_validate): Don't call
- otl_chain_pos_class_set_validate but
- otl_chain_pos_rule_set_validate.
- Simplify some code.
-
- * src/otlayout/otlgpos.h: Add copyright.
-
-2004-08-14 Werner Lemberg <[email protected]>
-
- * src/otlayout/otljstf.c (otl_jstf_gsub_mods_validate): Removed.
- (otl_jstf_gpos_mods_validate): Renamed to...
- (otl_jstf_gsubgpos_mods_validate): This.
- Test whether lookup_count is zero.
- (otl_jstf_priority_validate): Use otl_jstf_gsubgpos_mods_validate.
- (otl_jstf_validate): Initialize gsub_lookup_count and
- gpos_lookup_count if gsub or gpos is zero.
-
- * src/otlayout/otlgsub.c: Rename counting variables to be more
- meaningful.
- Add copyright.
- (otl_gsub_lookup1_validate): Simplify code.
- (otl_gsub_lookup2_validate, otl_gsub_lookup3_validate,
- otl_gsub_lookup4_validate, otl_gsub_lookup7_validate): Remove unused
- variables.
- (otl_gsub_lookup5_validate): Remove unused variable.
- Fix call to otl_sub_rule_set_validate and
- otl_sub_class_rule_set_validate.
- (otl_chain_sub_class_rule_validate,
- otl_chain_sub_class_set_validate): Removed.
- (otl_gsub_lookup6_validate): Remove unused variable.
- Fix call to otl_chain_sub_rule_set_validate.
- (otl_gsub_lookup7_validate): Handle lookup type 8 also.
- (otl_gsub_lookup8_validate: New function.
- (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
- otl_gsub_lookup3_apply): Commented out.
- (otl_gsub_validate_funcs): Add otl_gsub_lookup7_validate and
- otl_gsub_lookup8_validate.
- (otl_gsub_validate): Updated.
-
- * src/otlayout/otlgsub.h: Add copyright.
-
- * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h
- (otl_coverage_get_index): Comment out.
-
-2004-08-13 Werner Lemberg <[email protected]>
-
- * src/otlayout/otlcommn.c (otl_gsubgpos_get_lookup_count): New
- function.
- * src/otlayout/otlcommn.h: Updated.
-
- * src/otlayout/otlbase.c: Rename counting variables to be more
- meaningful.
- Add copyright message.
- * src/otlayout/otlbase.h: Add copyright message.
-
- * src/otlayout/otlgdef.c: Rename counting variables to be more
- meaningful.
- Add copyright message.
- Use OTL_CHECK everywhere.
- (otl_caret_value_validate): Remove unused variable.
- (otl_gdef_validate): All tables are optional.
- * src/otlayout/otlgdef.h: Add copyright message.
-
- * src/otlayout/otljstf.c: Rename counting variables to be more
- meaningful.
- Add copyright message.
- (otl_jstf_gsub_mods_validate, otl_jstf_gpos_mods_validate): Add
- parameter to pass lookup count.
- Update all callers.
- Check lookup array.
- (otl_jstf_max_validate):
- s/otl_gpos_subtable_check/otl_gpos_subtable_validate/.
- (otl_jstf_priority_validate, otl_jstf_lang_validate,
- otl_jstf_script_validate): Add two parameters to pass lookup counts.
- Update all callers.
- (otl_jstf_validate): Add two parameters to pass GPOS and GSUB
- table offsets; use otl_gsubgpos_get_lookup_count to convert extract
- lookup counts.
- Fix typo.
- * src/otlayout/otljstf.h: Updated.
- Add copyright message.
-
- * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): New function.
- (otl_gpos_validate): Use it.
- * src/otlayout/otlgpos.h: Updated.
-
-2004-08-13 Werner Lemberg <[email protected]>
-
- * src/otlayout/otcommn.c: Use OTL_CHECK everywhere.
- (otl_coverage_validate): Initialize `p',
- s/count/num_glyphs/.
- s/start_cover/start_coverage/.
- (otl_coverage_get_index): Return OTL_Long, not OTL_Int.
- Remove unused variables.
- (otl_class_definition_validate): s/count/num_glyphs/.
- Remove unused variables.
- (otl_class_definition_get_value, otl_device_table_get_start,
- otl_device_table_get_end, otl_device_table_get_delta,
- otl_lookup_get_table, otl_lookup_list_get_count,
- otl_lookup_list_get_lookup, otl_lookup_list_get_table,
- otl_feature_get_lookups, otl_feature_list_get_count,
- otl_feature_list_get_feature, otl_lang_get_count,
- otl_lang_get_req_feature, otl_lang_get_features): Commented out
- temporarily until we really need it.
- (otl_lookup_validate): Removed.
- (otl_lookup_table_validate): Renamed to ...
- (otl_lookup_validate): This. Update callers.
- (otl_lookup_list_validate): Remove already commented out definition
- and move the other definition up.
- (otl_feature_validate): Add parameter to pass number of lookups.
- Update callers.
- Check lookup indices.
- (otl_feature_list_validate): Add parameter to pass lookup table.
- Update callers.
- (otl_lang_validate): Add parameter to pass number of features.
- Update callers.
- Handle req_feature and check feature indices.
- (otl_script_validate): Add parameter to pass number of features.
- Update callers.
- (otl_script_list_validate): Add parameter to pass feature table.
- Update callers.
-
- * src/otlayout/otcommn.h: s/LOCALDEF/LOCAL/.
- Comment out the same functions as in otcommn.c.
- (otl_script_list_get_script): Removed.
-
- * src/otlayout/otlgsub.c (otl_gsub_lookup1_apply): Change `index' to
- type OTL_Long.
- (otl_gsub_lookup2_apply, otl_gsub_lookup3_apply): Change `index' to
- type OTL_Long.
- Fix test.
- (otl_gsub_validate): Fix order of validation.
-
- * src/otlayout/otlgpos.c (otl_gpos_validate): Fix order of
- validation.
-
-2004-08-12 Werner Lemberg <[email protected]>
-
- Make otlayout module compile (without actually working).
-
- * src/otlayout/*: s/OTL_Valid/OTL_Validator/.
- s/NULL/0/.
-
- * src/otlayout/otlayout.h: Fix various typos.
- (OTL_Bool): New typedef.
- (OTL_Int, OTL_Long, OTL_Int16, OTL_Int32): Use `signed' keyword.
- (OTL_Err_InvalidArgument): Removed.
- (OTL_Err_InvalidData, OTL_Err_InvalidSize): New enum values.
- (OTL_MAKE_TAG): Add missing parenthesis.
- (OTL_INVALID_DATA): Use OTL_Err_InvalidData.
- (OTL_INVALID_TOO_SHORT): Use OTL_Err_InvalidSize.
- (OTL_INVALID_FORMAT, OTL_INVALID_OFFSET): New macros.
-
- * src/otlayout/otlgpos.c: s/FT_/OTL_/.
- s/OTL_Short/OTL_Int16/.
- (otl_gpos_pairset_validate): Add return type.
- (otl_base_array_validate): Fix call to otl_anchor_validate.
- (otl_liga_array_validate): Fix call to otl_liga_attach_validate.
- (otl_gpos_lookup5_validate): Fix typos.
- (otl_gpos_lookup6_validate): Fix call to otl_mark2_array_validate.
- (otl_gpos_lookup7_validate): Comment out unfinished code.
- Fix typos.
-
- * src/otlayout/otlgsub.c: Add forward declaration for
- otl_gsub_validate_funcs.
- (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
- otl_gsub_lookup3_apply): Fix call to otl_parser_check_property.
- s/otl_coverage_lookup/otl_coverage_get_index/.
- (otl_ligature_validate): Add missing variable declaration.
- (otl_sub_rule_validate): Fix typo.
- (otl_sub_class_rule_validate): Add missing variable declaration.
- Fix typo.
- (otl_gsub_lookup5_validate): Fix typo.
- (otl_gsub_lookup6_validate): Fix call to
- otl_chain_sub_class_set_validate.
- (otl_gsub_validate_funcs): Don't use `const'.
-
- * src/otlayout/otlcommn.c (otl_class_definition_get_value,
- otl_device_table_validate, otl_device_table_get_delta,
- otl_lookup_validate, otl_script_validate): Add missing
- variable declarations.
- (otl_lookup_list_validate): Comment out first definition.
- (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
- (otl_feature_list_validate):
- s/otl_feature_table_validate/otl_feature_validate/.
- (otl_script_list_validate):
- s/otl_script_table_validate/otl_script_validate/.
-
- * src/otlayout/otlcommn.h: Comment out first declaration.
- (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
-
- * src/otlayout/otlbase.c (otl_base_coord_validate): Fix call to
- otl_device_table_validate.
- (otl_base_script_validate): Add missing variable declarations.
- (otl_base_script_list_validate): Fix call to
- otl_base_script_validate.
- (otl_axis_table_validate): Fix calls to otl_base_tag_list_validate
- and otl_base_script_list_validate.
- (otl_base_validate): Fix calls to otl_axis_table_validate.
-
- * src/otlayout/otlgdef.c (otl_attach_list_validate): Fix call to
- otl_attach_point_validate.
- (otl_caret_value_validate): Add missing variable declaration.
- Fix call to otl_device_table_validate.
- (otl_ligature_glyph_validate): Fix call to otl_caret_value_validate.
- (otl_ligature_caret_list_validate): Fix call to
- otl_ligature_glyph_validate.
- (otl_gdef_validate): Fix calls to otl_class_definition_validate,
- otl_attach_list_validate, otl_ligature_caret_list_validate, and
- otl_class_definition_validate.
-
- * src/otlayout/otltable.h (otl_table_validate, otl_table_init,
- otl_table_set_script): Comment out.
-
- * src/otlayout/otlparse.h (OTL_ParserRec):
- s/OTL_Alternate/OTL_GSUB_Alternate/.
- (OTL_ParseError): Add OTL_Err_Parser_Memory and
- OTL_Err_Parser_Internal.
- (otl_parser_error): Fix typo.
- (otl_parser_check_property): Remove third argument.
-
- * src/otlayout/otlparse.c (otl_string_ensure):
- s/OTL_Parse_Err_Memory/OTL_Err_Parser_Memory/.
- (OTL_STRING_ENSURE, otl_parser_error, otl_parser_get_index,
- otl_parser_replace_1, otl_parser_replace_n): Fix typos.
- (OTL_PARSER_UNCOVERED): Removed.
- (otl_parser_check_property): Remove third argument.
-
- * src/otlayout/otljstf.c (otl_jstf_priority_validate): Add missing
- variable declaration.
-
- * src/otlayout/otlutils.h (OTL_MEM_REALLOC): Fix typo.
-
-2004-08-11 Danny <[email protected]>
-
- * src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close
- to NULL. This allows custom close functions to delete the FT_STREAM
- object.
-
-2004-08-11 Werner Lemberg <[email protected]>
-
- Add API to get information about SFNT tables.
-
- * include/freetype/internal/services/svsfnt.h
- (FT_SFNT_Table_Info_Func): New typedef.
- (SFNT_Table): Add it.
-
- * src/base/ftobjs (FT_Sfnt_Table_Info): New function.
-
- * include/freetype/tttables.h: Updated.
-
- * src/sfnt/sfdriver.c (sfnt_table_info): New function.
- (sfnt_service_sfnt_table): Add it.
-
- * docs/CHANGES: Updated.
-
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
-
- * builds/unix/configure.ac (version_info): Set to 9:8:3.
- * builds/unix/configure: Updated.
-
- * builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
-
- * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
- s/2.1.9/2.1.10/.
-
- * docs/CHANGES, docs/VERSION.DLL: Updated.
-
-2004-08-11 Detlef Würkner <[email protected]>
-
- * src/base/ftrfork.c (FT_Raccess_Guess)
- [!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler
- warnings.
-
-2004-08-06 Adam Piotrowski <[email protected]>
-
- * src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte
- adjustments are unsigned, not signed.
-
-2004-08-05 David Turner <[email protected]>
-
- `Activate' gray-scale specifing hinting within the TrueType
- bytecode interpreter. This is an experimental feature which
- should probably be made optional.
-
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
- load_truetype_glyph): Move the code to set the pedantic_hinting flag
- to...
- (TT_Load_Glyph): Here.
- Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.
-
- * src/truetyep/ttinterp.c (Ins_GETINFO): Return MS rasterizer
- version 1.7.
- Return rotation and stretching info only if glyph is rotated or
- stretched, respectively.
- Handle grayscale info.
-
- * src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale'
- member.
-
-2004-08-02 George Williams <[email protected]>
-
- * src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'.
-
-2004-08-01 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2004-08-01 George Williams <[email protected]>
-
- FreeType now can read kerning values from PFM files.
-
- * src/type1/t1afm.c (T1_Done_AFM): Renamed to...
- (T1_Done_Metrics): This.
- Update all callers.
- (T1_Read_AFM): Make it static.
- Don't enter and leave a frame.
- (LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros.
- (T1_Read_PFM): New function.
- (T1_Read_Metrics): New higher-level function to be used instead of
- T1Read_AFM.
- Update all callers.
-
-2004-07-31 Werner Lemberg <[email protected]>
-
- * src/pcf/pcfread (pcf_load_font), src/bdf/bdfdrivr.c
- (BDF_Face_Init), src/truetype/ttgxvar (TT_Get_MM_Var,
- tt_face_vary_cvt): Fix compiler warnings.
-
-2004-07-26 Søren Sandmann <[email protected]>
-
- * src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for
- face->style_name.
- * src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'.
-
-2004-07-26 Darren J Longhorn <[email protected]>
-
- * include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize
- five-byte `long' (which is avoided then).
-
-2004-07-25 Detlef Würkner <[email protected]>
-
- * src/pcf/pcfdrivr.c (PCF_Set_Pixel_Size): Compare heights, not
- ppem values.
- (PCF_Set_Point_Size): Don't call PCF_Set_Pixel_Size but provide own
- code to compare ppem values.
- * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Compare heights, not
- ppem values.
- (BDF_Set_Point_Size): Don't call BDF_Set_Pixel_Size but provide own
- code to compare ppem values.
-
-2004-07-25 Kornfeld Eliyahu Peter <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Handle
- TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY.
-
-2004-07-24 Derek B. Noonburg <[email protected]>
-
- * src/cff/cffload.c (cff_font_load): Always create inverse mapping.
- Even if the charstring count is the same as the CID count, it is
- still possible that the font uses a different CID -> GID mapping.
-
-2004-07-23 Werner Lemberg <[email protected]>
-
- * src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag
- found in some Arphic fonts made for Chinese version of Windows 3.1.
-
-2004-07-17 David Turner <[email protected]>
-
- Fixed a dangling pointer bug in the cache code that happened in very
- rare cases, i.e., when a new family object was destroyed by an
- out-of-memory condition during a glyph node initialization. The
- function FTC_Cache_Lookup would flush the cache and restart the
- lookup with a bad pointer.
-
- * include/freetype/cache/ftcglyph.h (FTC_FAMILY_TREE): New macro.
- (FTC_GCACHE_LOOKUP_CMP): Use it.
- Handle reference count in `num_nodes' correctly.
-
- * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily): Use
- FTC_FAMILY_FREE.
- (FTC_GCache_Lookup): Handle reference count in `num_nodes' correctly.
-
- * src/cache/ftcmanag.c (FTC_Manager_FlushN): Fixed a cache flushing
- bug.
-
- * src/truetype/ttinterp.c (Normalize): Fixed a bug that caused
- long and unnecessary delays while normalizing huge vectors.
-
-2004-07-15 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
- * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler
- warning.
-
-2004-07-15 David Turner <[email protected]>
-
- * src/base/ftstroke.c (FT_Stroker_ParseOutline): Single points
- are not stroked, preventing a bug with pala.ttf and other
- fonts.
-
- * include/freetype/ftstroke.h: Updating documentation comments.
-
-2004-07-13 Werner Lemberg <[email protected]>
-
- * src/base/ftstroke.c (ft_stroke_border_reverse): Removed. Unused.
-
-2004-07-12 David Turner <[email protected]>
-
- * src/base/ftstroke.c (ft_stroke_border_close): Add second parameter
- to indicate reversion of points.
- Update all callers.
- (ft_stroke_border_reverse): Fix initialization of `point1' and
- `tag1'.
-
- * src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation
- for transformed glyphs.
-
-2004-07-11 David Turner <[email protected]>
-
- Fix bugs that prevented the stroker to correctly generate stroked
- paths from closed paths, i.e., nearly all glyphs in vectorial fonts.
-
- The code is still _very_ buggy though; treat with special care.
-
- * src/base/ftstroke.c (FT_STROKE_TAG_BEGIN_END): New macro.
- (ft_stroke_border_reverse): New function.
- (ft_stroker_inside): Remove local variable `sigma'; use different
- threshold.
- (ft_stroker_add_reverse_left): Switch begin/end tags if necessary.
- (FT_Stroker_EndSubPath): Call ft_stroker_inside and
- ft_stroke_border_reverse.
-
-2004-06-26 Peter Kovar <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
-
-2004-06-25 Werner Lemberg <[email protected]>
-
- * src/type1/t1afm.c (afm_atoindex): Fix boundary test. Reported
- by Dirck Blaskey.
-
-2004-06-24 David Turner <[email protected]>
-
-
- * Version 2.1.9 released.
- =========================
-
-
- * src/truetype/ttgload.c, src/truetype/ttxgvar.c: Removing
- compiler warnings.
-
-2004-06-23 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare
- FT_QAlloc_Debug and FT_QRealloc_Debug.
-
- * src/base/ftutil.c (FT_QAlloc): Fix error and debug messages.
- (FT_QRealloc): Call FT_QAlloc if original pointer is NULL.
- Fix error message.
-
-2004-06-23 David Turner <[email protected]>
-
- * include/freetype/internal/ftmemory.h, src/base/ftutil.c
- (FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug,
- FT_QRealloc_Debug): New functions that perform allocation without
- zero-ing out the corresponding blocks.
-
- * include/freetype/internal/ftmemory.h (FT_MEM_QALLOC,
- FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY,
- FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY,
- FT_QRENEW_ARRAY): New macros.
-
- * src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC.
- * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use FT_QNEW_ARRAY.
- * src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY.
-
- * src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics,
- tt_face_load_gasp): Use FT_QNEW_ARRAY.
- (tt_face_load_kern): Use FT_QNEW_ARRAY.
- Small optimization in the kerning table verifier; this speeds up
- TrueType face opening by about 7%.
- (tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC.
-
- * include/freetype/config/ftmodule.h: Changed the order of modules,
- putting TrueType and Type 1 first. This dramatically improves the
- performance of face open/close operations. For example, putting the
- TrueType driver first in the list results in a 5x speedup when
- opening `Vera.ttf'.
-
- The very problem is that both the PCF and BDF drivers do a lot more
- than necessary to detect that they cannot handle a font file.
-
-2004-06-22 Werner Lemberg <[email protected]>
-
- * src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties,
- pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve
- debugging messages.
-
- * src/pcf/pcfdrivr.c (FT_COMPOMENT): Move up.
- (PCF_Face_Init): Simplify code.
-
- * src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'.
-
- * src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start),
- src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs.
- Set `default_glyph'.
- (BDF_Glyph_Load): Use `default_glyph' for undefined glyph.
-
- * docs/CHANGES: Updated.
-
-2004-06-21 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2004-06-21 David Turner <[email protected]>
-
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
- load_truetype_glyph): Don't access (unrounded)
- `TT_Size.root.metrics' but (rounded) `TT_Size.metrics'. This fixes
- a scaling bug that caused incorrect rendering when the bytecode
- interpreter was enabled.
-
-2004-06-14 Huw D M Davies <[email protected]>
-
- * src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem
- based on pixel_width and pixel_height.
- (FNT_Size_Set_Pixels): Updated.
-
-2004-06-14 Werner Lemberg <[email protected]>
-
- * src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h.
- Reported by Hyvärinen Jyrki Juhani.
-
-2004-06-11 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2004-06-10 David Turner <[email protected]>
-
- * src/base/ftobject.c, src/base/fthash.c, src/base/ftexcept.c,
- src/base/ftsysio.c, src/base/ftsysmem.c, src/base/ftlist.c: Removed.
- Obsolete.
-
- * src/raster/ftraster.c (Alignment, PAlignment): New union to fix
- problems with 64bit systems.
- (AlignProfileSize): Use it.
-
-2004-06-08 David Turner <[email protected]>
-
- * include/freetype/freetype.h (FT_GlyphMetrics): Move `lsb_delta'
- and `rsb_delta' elements to...
- (FT_GlyphSlotRec): Here to retain binary compatibility with older
- FreeType versions.
- Update all users.
-
- * src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning.
-
- * src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization
- of slot->metrics.width and slot->metrics.height when loading a
- Windows FNT glyph. Thanks to Huw Davies.
-
- * include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change
- return type to FT_Bool.
-
- * src/cache/ftbasic.c (ftc_basic_family_compare): Change return
- type to FT_Bool.
-
- * src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make
- the former call the latter, not vice versa.
- (FTC_Cache_Done, ftc_cache_done): Ditto.
-
- * src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make
- the former call the latter, not vice versa.
- (FTC_GCache_Init, ftc_gcache_init): Ditto.
- (FTC_GCache_Done, ftc_gcache_done): Ditto.
-
- * src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the
- former call the latter, not vice versa.
- (FTC_INode_Weight, ftc_inode_weight): Ditto.
-
- * src/cache/ftcmanag.c (ftc_size_node_compare,
- ftc_size_node_compare_faceid, ftc_face_node_compare): Change return
- type to FT_Bool.
-
- * src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the
- former call the latter, not vice versa.
- (FTC_SNode_Weight, ftc_snode_weight): Ditto.
- (FTC_SNode_Compare, ftc_snode_compare): Ditto.
-
- * src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache
- sub-system.
-
-2004-06-05 Werner Lemberg <[email protected]>
-
- * src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and
- `rsb_delta' in slot->metrics and tune side bearings slightly.
-
-2004-06-04 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2004-06-04 David Chester <[email protected]>
-
- Improve inter-letter spacing for autohinted glyphs.
-
- * include/freetype/freetype.h (FT_Glyph_Metrics): Add elements
- `lsb_delta' and `rsb_delta'.
-
- * src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and
- `rsb_delta' in slot->metrics and tune side bearings slightly.
-
-2004-06-04 David Turner <[email protected]>
-
- * src/autofit/*: Important fixes to the auto-fitter. The output
- now seems to be 100% equivalent to the auto-hinter, while being
- about 2% faster (which proves that script-specific algorithm
- selection isn't a performance problem).
-
- To test it, change `autohint' to `autofit' in
- <freetype/config/ftmodule.h> and recompile.
-
- A few more testing is needed before making this the official
- auto-hinting module.
-
-2004-06-02 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler
- warnings.
-
-2004-06-01 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (tt_face_get_name): Make sure that an English
- name record for the Apple platform is preferred to a non-English
- entry for the Microsoft platform. Problem reported by HANDA
- Ken'ichi.
-
-2004-05-19 George Williams <[email protected]>
-
- * src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New
- auxiliary functions.
- (T1_Get_MM_Var): Provide axis tags.
- Use mm_axis_unmap and mm_weights_unmap to provide default values
- for design and normalized axis coordinates.
-
- * include/freetype/t1tables.h (PS_DesignMapRec): Change type of
- `design_points' to FT_Long.
- Update all users.
-
-2004-05-17 Werner Lemberg <[email protected]>
-
- * src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases.
- Reported by Mikey Anbary <[email protected]>.
-
-2004-05-15 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name.
-
-2004-05-15 George Williams <[email protected]>
-
- * src/sfnt/ttload.c (tt_face_load_max_profile): Always set
- face->root.num_glyphs.
-
-2004-05-14 Masatake YAMATO <[email protected]>
- George Williams <[email protected]>
-
- * src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.
-
-2004-05-14 Werner Lemberg <[email protected]>
-
- * src/cache/ftcbasic.c (ftc_basic_family_compare,
- ftc_basic_family_init, ftc_basic_family_get_count,
- ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
- ftc_basic_gnode_compare_faceid): Adjust parameters and return types
- to prototypes given in header files from include/freetype/cache.
- Use casts to proper types locally.
- (ftc_basic_image_family_class, ftc_basic_image_cache_class,
- ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): Remove
- casts.
-
- * src/cache/ftccback.h: Adjust parameters and return types to
- prototypes given in header files from include/freetype/cache.
-
- * src/cache/ftcimage.c (ftc_inode_free, ftc_inode_new,
- ftc_inode_weight): Adjust parameters and return types to prototypes
- given in header files from include/freetype/cache. Use casts to
- proper types locally.
-
- * src/cache/ftcsbits.c (ftc_snode_free, ftc_snode_new,
- ftc_snode_weight, ftc_snode_compare): Adjust parameters and return
- types to prototypes given in header files from
- include/freetype/cache. Use casts to proper types locally.
-
- * src/cache/ftccmap.c (ftc_cmap_node_free, ftc_cmap_node_new,
- ftc_cmap_node_weight, ftc_cmap_node_compare,
- ftc_cmap_node_remove_faceid): Adjust parameters and return types to
- prototypes given in header files from include/freetype/cache. Use
- casts to proper types locally.
- (ftc_cmap_cache_class): Remove casts.
-
- * src/cache/ftcglyph.c (ftc_gnode_compare, ftc_gcache_init,
- ftc_gcache_done): Adjust parameters and return types to prototypes
- given in header files from include/freetype/cache. Use casts to
- proper types locally.
-
- * src/cache/ftcmanag.c (ftc_size_node_done, ftc_size_node_compare,
- ftc_size_node_init, ftc_size_node_reset,
- ftc_size_node_compare_faceid, ftc_face_node_init,
- ftc_face_node_done, ftc_face_node_compare: Adjust parameters and
- return types to prototypes given in header files from
- include/freetype/cache. Use casts to proper types locally.
-
- (ftc_size_list_class, ftc_face_list_class): Remove casts.
-
-2004-05-13 Werner Lemberg <[email protected]>
-
- * src/autohint/ahmodule.c (ft_autohinter_init, ft_autohinter_done):
- Use FT_Module as parameter and do a cast to FT_AutoHinter locally.
- (autohint_module_class): Remove casts.
-
- * src/base/ftglyph.c (ft_bitmap_glyph_init, ft_bitmap_glyph_copy,
- ft_bitmap_glyph_done, ft_bitmap_glyph_bbox, ft_outline_glyph_init,
- ft_outline_glyph_done, ft_outline_glyph_copy,
- ft_outline_glyph_transform, ft_outline_glyph_bbox,
- ft_outline_glyph_prepare): Use FT_Glyph as parameter and do a cast
- to FT_XXXGlyph locally.
- Use FT_CALLBACK_DEF throughout.
- (ft_bitmap_glyph_class, ft_outline_glyph_class): Remove casts.
-
- * src/bdf/bdfdrivr.c (bdf_cmap_init, bdf_cmap_done,
- bdf_cmap_char_index, bdf_cmap_char_next): Use FT_CMap as parameter
- and do a cast to BDF_CMap locally.
- (bdf_cmap_class): Remove casts.
-
-2004-05-12 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.h (CFF_Builder): Remove `error'.
- * src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace
- `Memory_Error' with `Fail' und update all users.
-
-2004-05-11 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/psaux.h (T1_ParseState): New
- enumeration.
- (T1_BuilderRec): Replace `path_begun' with `parse_state'.
- Remove `error'.
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace
- `Memory_Error' with `Fail' and update all users.
- Don't use `builder->error'.
- Replace `path_begun' with `parse_state' and check parsing states.
-
- * src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point):
- Replace `path_begun' with `parse_state' and check parsing states.
-
-2004-05-10 George Williams <[email protected]>
-
- * src/truetype/ttxgvar.c (ft_var_load_avar): Do free arrays in case
- of error -- `avar' is optional so we can't rely on tt_done_blend
- being called automatically.
-
-2004-05-09 George Williams <[email protected]>
-
- * src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix
- error handling.
-
-2004-05-07 Werner Lemberg <[email protected]>
-
- * src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init,
- pfr_face_done, pfr_face_get_kerning, pfr_slot_init, pfr_slot_done,
- pfr_slot_load): Don't use PFR_XXX but FT_XXX arguments which are
- typecast to the proper PFR_XXX types within the function.
- Update code accordingly.
-
- * src/pfr/pfrdrivr.c (pfr_get_kerning, pfr_get_advance,
- pfr_get_metrics, pfr_get_service): Don't use PFR_XXX but FT_XXX
- arguments which are typecast to the proper PFR_XXX types within the
- function.
- Update code accordingly.
- Use FT_CALLBACK_DEF throughout.
- (pfr_metrics_service_rec, pfr_driver_class): Remove casts.
-
-2004-05-06 Masatake YAMATO <[email protected]>
-
- * src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM.
- (*): Rename local variable OffsetToData to offsetToData.
-
-2004-05-06 Werner Lemberg <[email protected]>
-
- * src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset,
- cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access
- root fields directly.
- * src/cff/cffdrivr.c (Load_Glyph): Access root fields directly.
-
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current
- frame before calling TT_Vary_Get_Glyph_Deltas.
-
- * src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for
- consistency.
- (pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index,
- pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which
- are typecast to the proper PCF_XXX types within the function.
- Update code accordingly.
- (pcf_cmap_class): Remove casts.
- (PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use
- PCF_XXX but FT_XXX arguments which are typecast to the proper
- PCF_XXX types within the function.
- Update code accordingly.
- Use FT_CALLBACK_DEF throughout.
- (PCF_Set_Point_Size): New wrapper function.
- (PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF.
- (pcf_driver_class): Remove casts.
-
-2004-05-04 Steve Hartwell <[email protected]>
-
- * src/truetype/ttobjs.c (tt_driver_done): Fix typo.
-
-2004-05-04 Werner Lemberg <[email protected]>
-
- * src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init,
- BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which
- are typecast to the proper BDF_XXX types within the function.
- Update code accordingly.
- Use FT_CALLBACK_DEF throughout.
- (BDF_Set_Point_Size): New wrapper function.
- (bdf_driver_class): Remove casts.
-
- * src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface):
- Don't use CFF_XXX but FT_XXX arguments which are typecast to the
- proper CFF_XXX types within the function.
- Update code accordingly.
- Use FT_CALLBACK_DEF throughout.
- (cff_driver_class): Remove casts.
-
- * src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done,
- cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init,
- cff_face_init, cff_face_done, cff_driver_init, cff_driver_done):
- Don't use CFF_XXX but FT_XXX arguments which are typecast to the
- proper CFF_XXX types within the function.
- Update code accordingly.
- (cff_point_size_reset): New wrapper function.
-
- * src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done,
- cid_slot_init, cid_size_done, cid_size_init, cid_size_reset,
- cid_face_done, cid_face_init, cid_driver_init, cid_driver_done):
- Don't use CID_XXX but FT_XXX arguments which are typecast to the
- proper CID_XXX types within the function.
- Update code accordingly.
- (cid_point_size_reset): New wrapper function.
-
- * src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph):
- Don't use CID_XXX but FT_XXX arguments which are typecast to the
- proper CID_XXX types within the function.
- Update code accordingly.
-
- * src/cid/cidriver.c (cid_get_interface):
- Don't use CID_XXX but FT_XXX arguments which are typecast to the
- proper CID_XXX types within the function.
- Update code accordingly.
- Use FT_CALLBACK_DEF.
- (t1cid_driver_class): Remove casts.
-
- * src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF.
- * src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local
- variables (this is done later).
- (ft_var_load_avar): Fix call to FT_FRAME_ENTER.
- (TT_Get_MM_Var): Fix size for `fvar_fields'.
- (TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables
- correctly.
-
- * src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if
- current size is zero.
-
-2004-05-03 Steve Hartwell <[email protected]>
-
- * src/truetype/ttobjs.h, src/truetype/ttobjs.c (tt_face_init,
- tt_face_done, tt_size_init, tt_size_done, tt_driver_init,
- tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are
- typecast to the proper TT_XXX types within the function.
- Update code accordingly.
-
- * src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes,
- Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but
- FT_XXX arguments which are typecast to the proper TT_XXX types
- within the function.
- Update code accordingly.
- (tt_driver_class): Remove casts.
-
-2004-05-02 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttload.c (tt_face_free_names): Check that `table->names'
- is not NULL. Reported by Gordon Childs <[email protected]>.
-
-2004-04-29 Werner Lemberg <[email protected]>
-
- * docs/formats.txt: Add more information on PFR format.
-
-2004-04-28 Werner Lemberg <[email protected]>
-
- * docs/formats.txt: New file.
- * docs/CHANGES: Updated.
-
-2004-04-28 Masatake YAMATO <[email protected]>
-
- * include/freetype/internal/tttypes.h (GX_BlendRec_)
- [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix a typo.
-
- * src/truetype/ttgxvar.h (GX_BlendRec_): Fix a typo.
-
-2004-04-27 Masatake YAMATO <[email protected]>
-
- * src/truetype/ttgxvar.h: Use FT_LOCAL instead of FT_LOCAL_DEF
- for function declarations.
-
-2004-04-25 George Williams <[email protected]>
-
- * src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo.
-
-2004-04-25 Werner Lemberg <[email protected]>
-
- * src/truetype/Jamfile, docs/CHANGES: Updated.
-
-2004-04-24 Werner Lemberg <[email protected]>
-
- * src/pcf/pcfdrivr.c: Revert change from 2004-04-17.
- * src/pcf/pcfutil.c: Use FT_LOCAL_DEF.
- * src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H.
- Use FT_BEGIN_HEADER and FT_END_HEADER.
- Use FT_LOCAL.
-
-2004-04-24 George Williams <[email protected]>
-
- Add support for Apple's distortable font technology (in GX fonts).
-
- * devel/ftoption.h, include/freetype/config/ftoption.h
- (TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro.
-
- * include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style,
- FT_MM_Var): New structures.
- (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
- FT_Set_Var_Blend_Coordinates): New function declarations.
-
- * include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func,
- FT_Set_Var_Design_Func): New typedefs.
- Update MultiMasters service.
-
- * include/freetype/internal/tttypes.h
- [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H.
- (GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef.
- (TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend'
- and `blend'.
-
- * include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New
- macros.
-
- * include/freetype/internal/fttrace.h: Add `ttgxvar'.
-
- * src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
- FT_Set_Var_Blend_Coordinates): New functions.
-
- * src/sfnt/sfobjs.c (sfnt_load_face)
- [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS
- flag for GX var fonts.
-
- * src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files.
-
- * src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
- ttgxvar.c.
-
- * src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
- FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h.
- (tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
- New service.
- (tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
-
- * src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
- ttgxvar.h.
- (TT_Process_Simple_Glyph, load_truetype_glyph)
- [TT_CONFIG_OPTION_GX_VAR_SUPPORT] :Support GX var fonts.
-
- * src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
- ttgxvar.h.
- (tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
- tt_done_blend.
-
- * src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
- ttgxvar.h.
- (tt_face_load_cvt) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
- tt_face_vary_cvt.
-
- * src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c.
-
- * src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var
- and T1_Set_Var_Design.
-
- * src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros.
- (T1_Get_MM_Var, T1_Set_Var_Design): New functions.
-
- * src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New
- function declarations.
-
-2004-04-23 Werner Lemberg <[email protected]>
-
- * include/freetype/ftcache.h (FT_Get_CharMap_Index): Rename
- declaration and move to...
- * include/freetype/freetype.h (FT_Get_Charmap_Index): Here.
- (FREETYPE_PATCH): Set to 9.
-
- * src/base/ftobjs.c (FT_Get_Charmap_Index): New function.
-
- * builds/unix/configure.ac (version_info): Set to 9:7:3.
- * builds/unix/configure: Updated.
-
- * builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj: s/218/219/.
-
- * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
- s/2.1.8/2.1.9/.
-
- * docs/CHANGES, docs/VERSION.DLL: Updated.
-
-2004-04-21 Werner Lemberg <[email protected]>
-
- * src/cff/cffparse.c (cff_parser_run), src/psaux/psobjs.c
- (ps_parser_load_field): Use FT_CHAR_BIT.
-
-2004-04-21 David Turner <[email protected]>
-
-
- * Version 2.1.8 released.
- =========================
-
-
- * src/cff/cffobjs.c (cff_face_init): Fix a small memory leak.
-
- * src/autofit/afloader.c (af_loader_load_g), src/autofit/afmodule.c
- (af_autofitter_load_glyph), src/base/ftdebug.c (FT_Trace_Get_Name):
- Remove compiler warnings.
-
- * src/autofit/aftypes.h: Undefine AF_DEBUG.
-
- * src/lzw/zopen.c (rmask), src/pcf/pcfdrivr.c (pcf_service_bdf,
- pcf_services), src/pcf/pcfread.c (tableNames), src/psaux/psobjs.c
- (ft_char_table), src/type42/t42drivr.c (t42_service_glyph_dict,
- t42_service_ps_font_name): Decorate data arrays with `const' to
- avoid populating the `.data' segment.
-
- * src/lzw/Jamfile: New file.
-
-2004-04-20 Werner Lemberg <[email protected]>
-
- * src/psaux/psobjs.c (T1Radix): Renamed to...
- (ps_radix): This.
- Update current cursor position.
-
- * docs/CHANGES: Updated.
-
-2004-04-18 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph),
- src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to
- FT_UInt. From Lex Warners.
-
-2004-04-17 Chisato Yamauchi <[email protected]>
-
- * src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change
- from 2004-03-19.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'.
-
- * src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with
- `static'.
- Remove unused function `RepadBitmap'.
- * src/pcf/pcfdrivr.c: Don't include pcfutil.h.
-
-2004-04-16 Werner Lemberg <[email protected]>
-
- * builds/unix/freetype-config.in (usage): Fix and improve usage
- information.
-
-2004-04-15 Werner Lemberg <[email protected]>
-
- * builds/unix/ftconfig.in, builds/vms/ftconfig.h: Define
- FT_CHAR_BIT.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Don't apply autohinting if
- glyph is vertically distorted or mirrored.
-
- * src/cff/cffgload.c (cff_slot_load): Handle zero `size' properly
- for embedded bitmaps.
-
- * docs/CHANGES: Updated.
-
-2004-04-15 bytesoftware <[email protected]>
-
- * include/freetype/config/ftconfig.h, src/base/ftstream.c
- (FT_Stream_ReadFields): More fixes using FT_CHAR_BIT.
-
-2004-04-14 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro.
-
-2004-04-14 Alex Strelnikov <[email protected]>
-
- * src/cache/ftcsbits.c (ftc_snode_load): Initialize `*asize' in case
- of error.
-
-2004-04-14 Werner Lemberg <[email protected]>
-
- * src/base/ftmac.c [__GNUC__]: Define OS_INLINE.
- * builds/unix/configure.ac: Don't try to remove `-ansi' compilation
- switch on the Mac.
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.5.6.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.8a.
- * builds/unix/configure: Regenerated with autoconf 2.59a.
-
-2004-04-13 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftconfig.h: Use CHAR_BIT to define
- size of FT_SIZEOF_xxx.
-
-2004-04-12 Chisato Yamauchi <[email protected]>
-
- * include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func,
- TT_Load_SBit_Metrics_Func): New typedefs.
- (SFNT_Interface): Add find_sbit_image and load_sbit_metrics.
-
- * src/sfnt/sfdriver.c (sfnt_interface): Updated.
- * src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New
- declarations.
- * src/sfnt/ttsbit.c (find_sbit_image): Renamed to...
- (tt_find_sbit_image): This.
- Updated all callers.
- (load_sbit_metrics): Renamed to...
- (tt_load_sbit_metrics): This.
- Updated all callers.
-
-2004-04-12 Werner Lemberg <[email protected]>
-
- * configure: Accept makepp also.
-
- * builds/unix/detect.mk: Use proper path to unix-def.mk.
- * builds/unix/unix-def.in (BUILD_DIR, PLATFORM): Remove.
- * builds/unix/unix.mk (BUILD_DIR, PLATFORM): Define.
- Use BUILD_DIR.
-
- * docs/INSTALL, docs/INSTALL.GNU, docs/INSTALL.UNX: Update
- documentation on makepp.
-
-2004-04-11 Werner Lemberg <[email protected]>
-
- * src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h.
-
-2004-04-10 Werner Lemberg <[email protected]>
-
- * src/lzw/ftlzw.c: Include zopen.h dependent on
- FT_CONFIG_OPTION_USE_LZW.
-
- * src/base/ftdebug.c: s/index/idx/ to avoid compiler warnings.
-
-2004-04-02 Werner Lemberg <[email protected]>
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.5.2.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.8a.
- * builds/unix/configure: Regenerated with autoconf 2.59a.
-
-2004-04-01 Werner Lemberg <[email protected]>
-
- * builds/unix/ft-munmap.m4 (FT_MUNMAP_PARAM): Fix arguments of
- AC_COMPILE_IFELSE.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.8a.
- * builds/unix/configure: Regenerated with autoconf 2.59a.
- * 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/freetype.mk (refdoc): Updated.
-
-2004-03-31 Werner Lemberg <[email protected]>
-
- Handle broken FNT files which don't have a trailing NULL byte
- in the face name string.
-
- * src/winfonts/winfnt.h (FNT_FontRec): New member `family_name'.
- * src/winfonts/winfnt.c (fnt_font_done): Free font->family_name.
- (FNT_Face_Init): Append a final zero byte to the font face name.
-
-2004-03-30 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttload.c (tt_face_load_sfnt_header): Fix change from
- 2004-03-19.
-
-2004-03-27 Werner Lemberg <[email protected]>
-
- * src/base/descrip.mms (OBJS): Add ftbbox.obj.
-
-2004-03-26 George Williams <[email protected]>
-
- Add vertical phantom points.
-
- * include/freetype/internal/tttypes.h (TT_LoaderRec): Add
- `top_bearing', `vadvance', `pp3', and `pp4'.
-
- * src/autofit/afloader.c (af_loader_load_g): Handle two more points.
-
- * src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
- * src/truetype/ttgload.c (Get_VMetrics): New function.
- (TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
- points.
- (load_truetype_glyph): Use Get_VMetrics.
- Handle two more points.
- (compute_glyph_metrics): Thanks to vertical phantom points we now
- can always compute `advance_height' and `top_bearing'.
- * src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
- points.
-
-
- * src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
- `news'.
-
-2004-03-21 Werner Lemberg <[email protected]>
-
- * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing.
-
-2004-03-20 Steve Hartwell <[email protected]>
-
- * src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Handle a NULL
- value for `selection' as `select all'.
-
-2004-03-19 Steve Hartwell <[email protected]>
-
- * src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index
- values > 0 if loading non-TTC fonts.
-
- * src/base/ftmac.c (open_face_from_buffer): Set positive face_index
- to zero before calling FT_Open_Face.
-
- * docs/CHANGES: Updated.
-
-2004-03-04 Werner Lemberg <[email protected]>
-
- * Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h:
- Add LZW module.
-
- * Jamfile.in: Removed.
-
- * docs/CHANGES: Updated.
-
- * include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/,
- s/ABS/FT_ABS/. Updated all callers.
-
- * src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c
- (PCF_Face_Init): Use FT_ERROR_BASE.
-
-2004-03-04 Albert Chin <[email protected]>
-
- Add support for PCF fonts compressed with LZW (extension .pcf.Z,
- created with `compress').
-
- * include/freetype/config/ftoption.h, devel/ftoption.h
- (FT_CONFIG_OPTION_USE_LZW): New macro.
-
- * include/freetype/ftlzw.h: New file.
- * include/freetype/config/ftheader.h (FT_LZW_H): New macro for
- ftlzw.h.
-
- * src/lzw/*: New files.
-
- * src/pcf/pcfdrivr.c: Include FT_LZW_H.
- (PCF_Face_Init): Try LZW also.
-
- * src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate.
- Beautify.
-
-2004-03-03 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code.
-
-2004-03-02 Werner Lemberg <[email protected]>
-
- Add embedded bitmap support to CFF driver.
-
- * src/cff/cffobjs.h (CFF_SizeRec): New structure.
-
- * src/cff/cffgload.c (cff_builder_init): Updated.
- (cff_slot_load): Updated.
- [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Load sbit.
-
- * src/cff/cffobjs.c (sbit_size_reset)
- [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New function.
- (cff_size_get_globals_funcs, cff_size_done, cff_size_init): Updated.
- (cff_size_reset): Updated.
- [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Call sbit_size_reset.
-
- * src/cff/cffdrivr.c (Load_Glyph): Updated.
- (cff_driver_class): Use CFF_SizeRec.
-
- * docs/CHANGES: Updated.
-
-2004-03-01 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use
- FT_RoundFix but FT_PIX_ROUND.
- (psh_blues_snap_stem): Don't use blue_shift but blue_threshold.
-
- * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro.
- (psh_glyph_find_string_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
- (psh_glyph_find_blue_points): New function. Needed for fonts like
- p052003l.pfb (URW Palladio L Roman) which have flex curves at the
- base line within blue zones, but the flex curves aren't covered by
- hints.
- (ps_hints_apply): Use psh_glyph_find_blue_points.
-
-2004-02-27 Garrick Meeker <[email protected]>
-
- * builds/unix/configure.ac: Fix compiler flags for
- `--with-old-mac-fonts'.
- * builds/unix/configure: Regenerated.
-
- * src/base/ftmac.c: s/TARGET_API_MAC_CARBON/!TARGET_API_MAC_OS8/.
- (FT_New_Face_From_Resource): New function.
- (FT_New_Face): Use FT_New_Face_From_Resource.
- (FT_New_Face_From_FSSpec): Use FT_New_Face_From_Resource.
- [__MWERKS__]: Don't include FSp_fopen.h.
-
-2004-02-26 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshglob.c (psh_globals_new): Fix value of
- `dim->stdw.count'.
- Don't assign default values to blue scale and blue shift.
-
-2004-02-25 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2004-02-25 Garrick Meeker <[email protected]>
- Steve Hartwell <[email protected]>
-
- Improve MacOS fond support. Provide a new API
- `FT_New_Face_From_FSSpec' similar to `FT_New_Face'.
-
- * src/base/ftmac.c [__MWERKS__]: Include FSp_fpopen.h.
- STREAM_FILE [__MWERKS__]: New macro.
- (ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions.
- (file_spec_from_path) [__MWERKS__]: Updated #if statement.
- (get_file_type, make_lwfn_spec): Use `const' for argument.
- (is_dfont) [TARGET_API_MAC_CARBON]: Removed.
- (count_face_sfnt, count_faces): New functions.
- (parse_fond): Do some range checking.
- (read_lwfn): Change type of second argument.
- No longer call FSpOpenResFile.
- (OpenFileAsResource): New function.
- (FT_New_Face_From_LWFN): Use `const' for second argument.
- Use OpenFileAsResource.
- (FT_New_Face_From_Suitcase): Change type of second argument.
- No longer call FSpOpenResFile.
- Loop over all resource indices.
- (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed.
- (FT_GetFile_From_Mac_Name): Use `const' for first argument.
- (ResourceForkSize): Removed.
- (FT_New_Face): Updated to use new functions.
- (FT_New_Face_From_FSSpec): New function.
-
- * include/freetype/ftmac.h: Updated.
-
-2004-02-24 Malcolm Taylor <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>:
- Handle case where outline->num_vedges is zero while computing hinted
- metrics.
-
-2004-02-24 Gordon Childs <[email protected]>
-
- * src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
- for `count'.
-
-2004-02-24 Werner Lemberg <[email protected]>
-
- * include/freetype/t1tables.h (PS_PrivateRec): Add
- `expansion_factor'.
-
- * src/pshinter/pshglob (psh_blues_scale_zones): Fix computation
- of blues->no_overshoots -- `blues_scale' is stored with a
- magnification of 1000, and `scale' returns fractional pixels.
-
- * src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift',
- `blue_fuzz', `expansion_factor', and `blue_scale' according to the
- Type 1 specification.
-
- * src/type1/t1tokens.h: Handle `ExpansionFactor'.
-
- * docs/CHANGES: Updated.
-
-2004-02-24 Masatake YAMATO <[email protected]>
-
- Provide generic access to MacOS resource forks.
-
- * src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New
- files.
-
- * src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H.
- (Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments
- `resource_listoffset' and `resource_data' and adapt code
- accordingly. These values are calculated outside of the function
- now.
- Add new argument `offsets'.
- (IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and
- `FT_Raccess_Get_DataOffsets'.
- (load_face_in_embedded_rfork): New function.
- (load_mac_face): Use load_face_in_embedded_rfork.
- (ft_input_stream_new): Renamed to...
- (FT_Stream_New): This. Use FT_BASE_DEF. Updated all callers.
- (ft_input_stream_free): Renamed to...
- (FT_Stream_Free): This. Use FT_BASE_DEF. Updated all callers.
-
- * src/base/ftbase.c: Include ftrfork.c.
-
- * src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H):
- New macro.
-
- * include/freetype/internal/fttrace.h: Added `rfork' as a new
- trace definition.
-
- * include/freetype/internal/ftstream.h: Declare FT_Stream_New and
- FT_Stream_Free.
-
- * include/freetype/config/ftoption.h, devel/ftoption.h
- (FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option.
-
- * include/freetype/config/ftstdlib.h (ft_strrchr): New macro.
-
-2004-02-23 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
- * include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H.
-
-2004-02-23 Masatake YAMATO <[email protected]>
-
- Provide a simple API to control FreeType's tracing levels.
-
- * include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
- FT_Trace_Get_Name): New declarations.
-
- * src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New
- functions.
-
-2004-02-23 David Turner <[email protected]>
-
- * src/autofit/afhints.c, src/autofit/afhints.h,
- src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave
- bugs have been fixed. The auto-fitter works, doesn't crash, but
- still produces unexpected results...
-
-2004-02-21 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold
- the accepted shift for strong points in fractional pixels (which
- is a heuristic value).
- (psh_glyph_find_strong_points): Compute threshold for
- psh_hint_table_find_strong_points.
- (psh_hint_table_find_strong_point): Add parameter to pass threshold.
-
-2004-02-20 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call
- ps_mask_table_alloc but ps_mask_table_last.
- (ps_hints_t2mask): Use correct position and number for vertical
- and horizontal hinter mask bits.
-
- * docs/CHANGES: Updated.
-
-2004-02-19 Werner Lemberg <[email protected]>
-
- * src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling.
- * src/cff/cffdrivr.c (cff_get_cmap_info): Remove compiler warning.
-
-2004-02-18 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly.
-
- * src/base/ftglyph.c (ft_bitmap_glyph_class,
- ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF.
-
- * src/smooth/ftsmooth.c (ft_smooth_render): Handle
- FT_RENDER_MODE_LIGHT.
-
-2004-02-17 Werner Lemberg <[email protected]>
-
- Fix callback functions in cache module.
-
- * src/cache/ftccback.h: New file for callback declarations.
-
- * src/cache/ftcbasic.c (ftc_basic_family_compare,
- ftc_basic_family_init, ftc_basic_family_get_count,
- ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
- ftc_basic_gnode_compare_faceid): Use FT_CALLBACK_DEF.
- (ftc_basic_image_family_class, ftc_basic_image_cache_class,
- ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class):
- Use FT_CALLBACK_TABLE_DEF and local wrapper functions.
-
- * src/cache/ftccache.c: Include ftccback.h.
- (ftc_cache_init, ftc_cache_done): New wrapper functions which use
- FT_LOCAL_DEF.
-
- * src/cache/ftccmap.c: Include ftccback.h.
- (ftc_cmap_cache_class): Use local wrapper functions.
-
- * src/cache/ftcglyph.c: Include ftccback.h.
- (ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): New wrapper
- functions which use FT_LOCAL_DEF.
-
- * src/cache/ftcimage.c: Include ftccback.h.
- (ftc_inode_free, ftc_inode_new, ftc_inode_weight): New wrapper
- functions which use FT_LOCAL_DEF.
-
- * src/cache/ftcmanag.c (ftc_size_list_class, ftc_face_list_class):
- Use FT_CALLBACK_TABLE_DEF.
-
- * src/cache;/ftcsbits.c: Include ftccback.h.
- (ftc_snode_free, ftc_snode_new, ftc_snode_weight,
- ftc_snode_compare): New wrapper functions which use FT_LOCAL_DEF.
-
- * src/cache/rules.mk (CACHE_DRV_H): Add ftccback.h.
-
-2004-02-17 Masatake YAMATO <[email protected]>
-
- * include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo
- (FT_EXPORT_DEF -> FT_EXPORT).
-
- * include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto.
-
-2004-02-15 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Fix typo.
-
-2004-02-14 Masatake YAMATO <[email protected]>
-
- * builds/unix/ftsystem.c: Include errno.h.
- (ft_close_stream): Renamed to...
- (ft_close_stream_by_munmap): This.
- (ft_close_stream_by_free): New function.
- (FT_Stream_Open): Use fallback method if mmap fails.
- Use proper function for closing the stream.
-
-2004-02-14 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_dict): Initialize `start_binary'.
-
-2004-02-13 Robert Etheridge <[email protected]>
-
- * src/type42/t42objs.c (T42_Face_Init), src/type1/t1objs.c
- (T1_Face_Init), src/cid/cidobjs.c (cid_face_init): Fix computation
- of underline_position and underline_thickness.
-
-2004-02-12 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if
- ppem values don't change. Suggested by Graham Asher.
-
-2004-02-11 Werner Lemberg <[email protected]>
-
- * src/cid/cidload.c (cid_face_open): Always allocate
- face->cid_stream so that we can deallocate it safely.
-
-2004-02-10 Werner Lemberg <[email protected]>
-
- Make the PS parser more tolerant w.r.t. non-standard font data. In
- general, an error is only reported in case of a syntax error; a
- wrong type is now simply ignored (if possible). To be independent
- of the order of various MM-specific keywords, the parse_shared_dict
- routine has been removed -- the PS parser is now capable to skip
- this data. It no longer fails on parsing e.g.
-
- dup /WeightVector exch def
-
- Since the token following /WeightVector isn't `[' (starting an
- array) it is simply ignored.
-
- * include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a
- new internal error value.
-
- * src/type1/t1load.c (parse_blend_axis_types,
- parse_blend_design_positions, parse_blend_design_map): Return
- T1_Err_Ignore if no proper array is following the keyword.
- (parse_weight_vector): Use T1_ToTokenArray, initializing `blend'
- structure, if necessary.
- Return T1_Err_Ignore if no proper array is following the keyword.
- (parse_shared_dict): Removed.
- (parse_encoding): Set parser->root.error to return T1_Err_Ignore
- if no result can be obtained.
- Check for errors before accessing `elements' array.
- (t1_keywords): Remove /shareddict.
- (parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore.
- Set keyword_flag only in case of success.
- Check error code if skipping an unrecognized token.
- (T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend
- if blend commands haven't set up a proper MM font.
-
- * src/psaux/psobjs.c (ps_parser_load_field_table): Remove special
- code for synthetic fonts.
- Return PSaux_Err_Ignore if no proper value has been found.
-
-2004-02-09 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings)
- <cff_op_endchar>: Preserve glyph width before calling
- cff_operator_seac.
-
-2004-02-09 Martin Muskens <[email protected]>
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special
- first argument for `hintmask' and `cntrmask' operators also.
-
-2004-02-08 Werner Lemberg <[email protected]>
-
- * builds/unix/configure.in: Call AC_SUBST for `enable_shared',
- `hardcode_libdir_flag_spec', and `wl'.
- * builds/unix/configure: Regenerated.
-
- * builds/unix/freetype-config.in: Make --prefix and --exec-prefix
- actually work.
- Report a proper --rpath (or -R) value for --libs argument if a
- shared library has been built.
-
- * docs/CHANGES: Updated.
-
-2004-02-07 Keith Packard <[email protected]>
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init, BDF_Set_Pixel_Size): Fix
- computation of various vertical and horizontal metric values.
-
- * src/pcfdrivr.c (PCF_Set_Pixel_Size), src/pcfread (pcf_load_font):
- Ditto.
-
-2004-02-07 Werner Lemberg <[email protected]>
-
- * builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated.
-
-2004-02-07 Vitaliy Pasternak <[email protected]>
-
- * builds/win32/visualc/freetype.sln,
- builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003.
-
-2004-02-03 Werner Lemberg <[email protected]>
-
- * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):
- Initialize `node'.
- * src/type1/t1load.c (parse_dict): Initialize `have_integer'.
-
-2004-02-02 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
- outside of /Subrs or /CharStrings. This can happen if there is
- additional code manipulating those two arrays so that FreeType
- doesn't recognize them properly.
- (T1_Open_Face): Improve an error message.
-
-2004-02-01 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_charstrings): Exit immediately if
- there are no elements in /CharStrings. This is needed for fonts
- like Optima-Oblique which not only define /CharStrings but access it
- also.
-
-2004-02-01 David Turner <[email protected]>
-
- * src/sfnt/Jamfile: Removing `ttcmap' from the list of sources.
-
- * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP)
- <FTC_INLINE>: Provide macro version which doesn't use inline code.
- * include/freetype/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP)
- <FTC_INLINE>: Ditto.
- Use FTC_MRULIST_LOOKUP_CMP.
- * include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): New
- macro.
- (FTC_MRULIST_LOOKUP): Use it.
-
- * src/cache/Jamfile (_sources), src/cache/descrip.mms: Updated.
- * src/cache/ftcbasic.c: Fix compiler warnings.
- * src/cache/ftcmanag.c (FTC_Manager_LookupSize,
- FTC_Manager_LookupFace) <FTC_INLINE>: Use FTC_MRULIST_LOOKUP_CMP.
- * src/cache/ftcmru.c (FTC_MruList_Find): Fix a bug (found after
- heavy testing).
-
- * Jamfile: Updating `refdoc' target, and adding `autohint' to the
- list of modules to build. Both the autohinter and autofitter will
- be built by default. But which one will be used is determined by
- the content of `ftmodule.h'.
-
- * src/autofit/*: Many updates, but the code is still buggy...
-
-2004-01-31 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.c (cff_operator_seac): Fix magnitude of
- 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.
-
-2004-01-30 Werner Lemberg <[email protected]>
-
- * 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.
-
-2004-01-29 Antoine Leca <[email protected]>
-
- * builds/win32/visualc/index.html: New file, giving detailed
- explanations about forcing CR+LF line endings for the VC++ project
- files.
-
-2004-01-22 Garrick Meeker <[email protected]>
-
- * src/cff/cffload.c (cff_subfont_load): Initialize `dict'.
-
-2004-01-22 Werner Lemberg <[email protected]>
-
- Add support for the hexadecimal representation of binary data
- 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.
-
-2004-01-21 Werner Lemberg <[email protected]>
-
- 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/.
-
-2004-01-20 Masatake YAMATO <[email protected]>
-
- * include/freetype/ftcache.h: Delete duplicated definition of
- FTC_FaceID.
-
- * src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
- Info service function if the cmap comes from sfnt. Return 0 if the
- cmap is sythesized in cff module.
-
-2004-01-20 David Turner <[email protected]>
-
- * src/cache/ftcmanag.c (ftc_size_node_compare): Call
- FT_Activate_Size.
-
-2004-01-20 Werner Lemberg <[email protected]>
-
- * src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one
- CR, LF, or CR/LF after `eexec'.
-
-2004-01-18 David Turner <[email protected]>
-
- * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Remove compiler
- warning.
-
- * src/tools/docmaker/*: Updating beautifier tool.
-
-2004-01-15 David Turner <[email protected]>
-
- * src/base/ftoutln.c (ft_orientation_extremum_compute): Fix
- infinite loop bug.
-
- * include/freetype/ftstroke.h: Include FT_GLYPH_H.
- (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
- declarations.
-
- * src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H.
- (FT_Outline_GetOutsideBorder): Inverse result.
- (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_GlyphStrokeBorder): New
- functions.
- (FT_Stroker_EndSubPath): Close path if needed.
- (FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind.
-
- * include/freetype/cache/ftcmanag.h (FTC_ScalerRec,
- FTC_Manager_LookupSize): Moved to...
- * include/freetype/ftcache.h (FTC_ScalerRec,
- FTC_Manager_LookupSize): Here.
-
- * src/tools/docmaker/docbeauty.py: New file to beautify the
- documentation comments (e.g., to convert them to single block border
- mode).
- * src/tools/docmaker/docmaker.py (file_exists, make_file_list):
- Moved to...
- * src/tools/docmaker/utils.py (file_exists, make_file_list): Here.
-
-2004-01-14 David Turner <[email protected]>
-
- * include/freetype/internal/ftmemory.h (FT_ARRAY_COPY,
- FT_ARRAY_MOVE): New macros to make copying arrays easier.
- Updated all relevant code to use them.
-
-2004-01-14 Werner Lemberg <[email protected]>
-
- * src/cff/cffload.c (cff_font_load): Load charstrings_index earlier.
- Use number of charstrings as argument to CFF_Load_FD_Select (as
- documented in the CFF specs).
-
-2004-01-13 Graham Asher <[email protected]>
-
- * src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of
- `glyph->memory' up to free arrays properly in case of failure.
-
-2004-01-10 Masatake YAMATO <[email protected]>
-
- Make `FT_Get_CMap_Language_ID' work with CFF. Bug reported by
- Steve Hartwell <[email protected]>.
-
- * src/cff/cffdrivr.c: Include FT_SERVICE_TT_CMAP_H.
- (cff_services): Added an entry for FT_SERVICE_ID_TT_CMAP.
- (cff_get_cmap_info): New function.
- (cff_service_get_cmap_info) New entry for cff_services.
-
- * src/sfnt/ttcmap0.c: Exit loop after a format match has been found.
- Suggested by Steve Hartwell <[email protected]>.
-
-2004-01-03 Masatake YAMATO <[email protected]>
-
- * src/base/ftobjs.c (destroy_charmaps): New function.
- (destroy_face, open_face): Use `destroy_charmaps'.
-
-2004-01-01 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2004-01-01 Michael Jansson <[email protected]>
-
- * src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of
- size->metrics.descender.
-
-2003-12-31 Wolfgang Domröse <[email protected]>
-
- * src/cff/cffgload.c (cff_decoder_parse_charstrings)
- [FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4.
- <cff_op_flex1>: Change type of dx and dy to FT_Pos and remove
- cast for accessing arguments.
-
-2003-12-31 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous
- change. It's not necessary.
-
-2003-12-29 Smith Charles <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated
- flags set' correctly.
-
-2003-12-29 Werner Lemberg <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating
- `full' and `weight' properly.
- * src/cff/cffgload.c (cff_decoder_parse_charstrings)
- <cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for
- tracing output.
-
-2003-12-26 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func):
- Use FT_UInt for ppem values.
- * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for
- ppem values.
- * src/sfnt/ttsbit.h: Updated.
-
- * src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values
- larger than -0FFFF.
-
-2003-12-25 Werner Lemberg <[email protected]>
-
- * src/base/fttrigon.c, src/base/ftgloadr.c: Inlude
- 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.
-
-2003-12-24 Werner Lemberg <[email protected]>
-
- * src/cache/ftcsbits.c (FTC_SNode_Weight):
- s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/.
-
-2003-12-24 David Turner <[email protected]>
-
- * Fixed compilation problems in the cache sub-system.
-
- * Partial updates to src/autofit.
-
- * Jamfile (FT2_COMPONENTS): Add autofit module.
-
-2003-12-23 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle
- CID-keyed fonts.
-
-2003-12-23 David Turner <[email protected]>
-
- * include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND,
- FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_CEIL): New macros. They
- are used to avoid compiler warnings with very pedantic compilers.
- Note that `(x) & -64' causes a warning if (x) is not signed. Use
- `(x) & ~63' instead!
- Updated all related code.
-
- Add support for extraction of `inside' and `outside' borders.
-
- * src/base/ftstroke.c (FT_StrokerBorder): New enumeration.
- (FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder,
- FT_Stroker_GetBorderCounts, FT_Stroker_ExportBorder): New functions.
- (FT_StrokeBorderRec): New boolean member `valid'.
- (ft_stroke_border_get_counts): Updated.
- * include/freetype/ftstroke.h: Updated.
-
-2003-12-22 Werner Lemberg <[email protected]>
-
- * include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions
- 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 <[email protected]>.
-
- * docs/CHANGES: Updated.
-
-2003-12-22 David Turner <[email protected]>
-
- * include/freetype/ftcache.h,
- include/freetype/cache/ftcmanag.h,
- include/freetype/cache/ftccache.h,
- include/freetype/cache/ftcmanag.h,
- include/freetype/cache/ftcmru.h (added),
- include/freetype/cache/ftlru.h (removed),
- include/freetype/cache/ftcsbits.h,
- include/freetype/cache/ftcimage.h,
- include/freetype/cache/ftcglyph.h,
- src/cache/ftcmru.c,
- src/cache/ftcmanag.c,
- src/cache/ftccache.c,
- src/cache/ftcglyph.c,
- src/cache/ftcimage.c,
- src/cache/ftcsbits.c,
- src/cache/ftccmap.c,
- src/cache/ftcbasic.c (added),
- src/cache/ftclru.c (removed):
-
- *Complete* rewrite of the cache sub-system to `solve' the
- following points:
-
- - all public APIs have been moved to FT_CACHE_H, everything
- under `include/freetype/cache' is only needed by client
- applications that want to implement their own caches
-
- - a new function named FTC_Manager_RemoveFaceID to deal
- with the uninstallation of FaceIDs
-
- - the image and sbit cache are now abstract classes, that
- can be extended much more easily by client applications
-
- - better performance in certain areas. Further optimizations
- to come shortly anyway...
-
- - the FTC_CMapCache_Lookup function has changed its signature,
- charmaps can now only be retrieved by index
-
- - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace
- FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in
- private header for the moment)
-
-2003-12-21 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword
- is encountered.
-
-2003-12-19 Werner Lemberg <[email protected]>
-
- * src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 32. For
- example, the Japanese Hiragino font already contains 15 subfonts.
-
- * src/cff/cffload.c (cff_font_load): Deallocate `sids' array for
- CID-keyed fonts.
-
- * devel/ftoption.h: Define FT_DEBUG_MEMORY.
-
-2003-12-18 Werner Lemberg <[email protected]>
-
- * include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro.
- * src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values.
-
-2003-12-18 Werner Lemberg <[email protected]>
-
- * src/cff/cfftypes.h (CFF_FontRecDictRec): Change type of
- `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.
-
-2003-12-17 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_init_face): Don't set
- FT_FACE_FLAG_GLYPH_NAMES if the font contains a version 3.0 `post'
- table.
-
- * docs/CHANGES: Updated.
-
-2003-12-17 Masatake YAMATO <[email protected]>
-
- Add new function FT_Get_CMap_Language_ID to extract the language ID
- for TrueType/sfnt fonts.
-
- * include/freetype/internal/services/svttcmap.h: New file.
- * include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add
- svttcmap.h.
-
- * src/sfnt/sfdriver.c: Include ttcmap0.h.
- (tt_service_get_cmap_info): New service.
- (sfnt_services): Updated.
-
- * src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions.
- (tt_cmap*_class_rec): Add tt_cmap*_get_info members.
- (tt_get_cmap_info): New function.
- * src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H.
- (TT_CMap_ClassRec): New field `get_cmap_info'.
- (tt_get_cmap_info): New declaration.
-
- * src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H.
- (FT_Get_CMap_Language_ID): New function implementation.
- * include/freetype/tttables.h (FT_Get_CMap_Language_ID): New
- function declaration.
-
-2003-12-16 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed. Obsolete.
-
- * include/freetype/internal/sfnt.h (SFNT_Interface): Remove
- obsolete fields `load_charmap' and `free_charmap'.
- (TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed.
- * src/sfnt/sfnt.c: Don't include ttcmap.c.
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c.
- * src/sfnt/ttload.c: Don't include ttcmap.h.
- * src/sfnt/sfdriver.c: Don't include ttcmap.h.
- (sfnt_interface): Updated.
-
- * include/freetype/internal/tttypes.h (TT_TableDirRec,
- TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec,
- TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6,
- TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func,
- TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed.
- Obsolete.
- * src/cff/cffobjs.h (CFF_CharMapRec): Removed. Obsolete.
-
-2003-12-15 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2003-12-15 Wolfgang Domröse <[email protected]>
-
- * builds/atari/*: New directory for building FreeType 2 on Atari
- with the PureC compiler.
-
-2003-12-12 Wolfgang Domröse <[email protected]>
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add
- cast.
- * src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return
- value is either 0 or 1.
-
-2003-12-12 Werner Lemberg <[email protected]>
-
- * src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message.
- (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.
-
-2003-12-11 Werner Lemberg <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init): Don't set
- FT_FACE_FLAG_GLYPH_NAMES for CID-keyed fonts.
- Don't construct a cmap for CID-keyed fonts.
-
-2003-12-10 Werner Lemberg <[email protected]>
-
- Use implementation specific SID value 0xFFFF to indicate that
- a dictionary element is missing.
-
- * src/cff/cffload.c (cff_subfont_load): Initialize all fields
- which hold SIDs to 0xFFFF.
- (cff_index_get_sid_string): Handle SID value 0xFFFF.
- Handle case where `psnames' is zero.
- (cff_font_load): Updated.
- Don't load encoding for CID-keyed CFFs.
-
- * src/cff/cffobjs.c (cff_face_init): Updated.
- Don't check for PSNames module if font is CID-keyed.
- Compute style name properly (using the same algorithm as in the
- CID driver).
- Fix computation of style flags.
-
- * src/cff/cfftoken.h: Comment out handling of base_font_name.
- Rename `postscript' field to `embedded_postscript'
- * src/cff/cfftypes.h (CFF_FontRecDictRec): Remove `base_font_name'
- and `postscript'.
-
-2003-12-10 Detlef Würkner <[email protected]>
-
- * src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone
- of the similar BDF function).
- (pcf_service_bdf): Use it.
-
-2003-12-09 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES
- only if a `post' table is present.
-
-2003-12-09 George Williams <[email protected]>
-
- * src/base/ftobjs.c (load_mac_face): Recent versions of Linux
- support Mac's HFS+ file system, thus enable code to read /rsrc on
- non-Macintosh platforms also.
-
-2003-12-08 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/psaux.h (PS_TableRec): Change type
- of `lengths' to FT_PtrDist.
- (T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist.
- * include/freetype/internal/t1types.h (T1_FontRec): Change type
- of `subrs_len' and `charstrings_len' to FT_PtrDist.
-
- * src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk'
- variable with better solution.
- (IsMacResource): Remove unused variable `map_len'.
- Replace `junk' variable with better solution.
- (FT_Open_Face) [!FT_MACINTOSH]: Add conditional
- FT_CONFIG_OPTION_MAC_FONTS.
-
-2003-12-08 Wolfgang Domröse <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_hint_edges,
- ah_hinter_align_strong_points): Add some casts.
-
- * src/base/ftoutln.c (FT_OrientationExtremumRec): Change type
- of `pos' to FT_Long.
-
- * src/base/ftobjs.c (Mac_Read_POST_Resource,
- Mac_Read_sfnt_Resource): Change type of `len' to FT_Long.
-
- * src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
-
-2003-12-07 Werner Lemberg <[email protected]>
-
- * docs/raster.txt: New file, taken from FreeType 1 and completely
- revised.
-
-2003-12-04 Masatake YAMATO <[email protected]>
-
- * src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for
- t1_interface. t1_interface is used.
-
-2003-11-27 David Turner <[email protected]>
-
- * src/pfr/pfrdrivr.c (pfr_get_metrics): Revert incorrect change of
- 2003-11-23: For PFR fonts, metrics->x_scale and metrics->y_scale are
- the scaling values for outline units, not for metric units.
-
-2003-11-25 Werner Lemberg <[email protected]>
-
- * src/base/ftcalc.c, include/freetype/internal/ftcalc.h
- (FT_MulDiv_No_Round): Surround code with `#ifdef
- TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'.
-
-2003-11-23 Werner Lemberg <[email protected]>
-
- * src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and
- 64 bit version).
- * include/freetype/internal/ftcalc.h: Updated.
-
- * src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro.
- (TT_INT64): Removed.
- (DO_DIV): Use TT_MULDIV_NO_ROUND.
-
- * src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use
- metrics->x_scale and metrics->y_scale.
-
-2003-11-22 Rogier van Dalen <[email protected]>
-
- * src/truetype/ttinterp.c (CUR_Func_move_orig): New macro.
- (Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New
- functions. Similar to Direct_Move, Direct_Move_X, and
- Direct_Move_Y but without touching.
- (Compute_Funcs): Use new functions.
-
- (Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
- Round_Up_To_Grid, Round_To_Double_Grid, Round_Super,
- Round_Super_45): Fix rounding of value zero.
-
- (DO_DIV): Don't use TT_MULDIV.
-
- (Ins_SHC): This instruction actually touches the points.
- (Ins_MSIRP): Fix undocumented behaviour.
-
- * src/truetype/ttinterp.h (TT_ExecContextRec): Updated.
-
-2003-11-22 Werner Lemberg <[email protected]>
-
- * docs/VERSION.DLL, docs/CHANGES: Updated.
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and
- metrics->y_scale really precise.
-
- (FT_Load_Glyph): Update computation of linearHoriAdvance and
- linearVertAdvance.
-
- * src/truetype/ttinterp.c (Update_Max): Use FT_REALLOC.
-
-2003-11-22 David Turner <[email protected]>
-
- * src/autofit/*: More updates.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
- * builds/unix/configure.ac (version_info): Set to 9:6:3.
- * README: Updated.
-
-2003-11-13 John A. Boyd Jr. <[email protected]>
-
- * src/bdf/bdfdrivr.c (bdf_interpret_style), src/pcf/pcfread.c
- (pcf_interpret_style): Replace spaces with dashes in properties
- SETWIDTH_NAME and ADD_STYLE_NAME to simplify parsing.
-
-2003-11-11 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2003-11-11 John A. Boyd Jr. <[email protected]>
-
- Handle SETWIDTH_NAME and ADD_STYLE_NAME properties for BDF and PCF
- fonts.
-
- * src/bdf/bdfdrivr.c (bdf_interpret_style): New auxiliary function.
- (BDF_Face_Init): Don't handle style properties but call
- bdf_interpret_style.
-
- * src/pcf/pcfread.c (pcf_interpret_style): New auxiliary function.
- (pcf_load_font): Don't handle style properties but call
- pcf_interpret_style.
-
-2003-11-07 Werner Lemberg <[email protected]>
-
-
- * Version 2.1.7 released.
- =========================
-
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
-
- * 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.
-
-2003-11-07 David Turner <[email protected]>
-
-
- * Version 2.1.6 released.
- =========================
-
-
- * install: Removed. Obsolete.
-
-2003-11-04 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfdriver.c: Include FT_SERVICE_SFNT_H.
- (sfnt_service_sfnt_table): New service.
- (sfnt_services): Updated.
-
- * docs/license.txt: Reworded.
-
-2003-11-03 Werner Lemberg <[email protected]>
-
- * include/freetype/*: Add a guard to all public header files which
- load FT_FREETYPE_H to reject freetype.h from FreeType 1.
-
-2003-11-02 Patrick Welche <[email protected]>
-
- * builds/unix/freetype2.m4, builds/unix/ft-munmap.m4: Protect
- first argument of AC_DEFUN with brackets to avoid possible
- expansion.
-
-2003-11-02 Werner Lemberg <[email protected]>
-
- * include/freetype/cache/ftcglyph.h: Don't include stddef.h.
-
- * include/freetype/freetype.h: Fix check for ft2build.h.
-
-2003-11-01 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h: Check that ft2build.h has been
- loaded first.
-
- * src/base/fttype1.c (FT_Get_PS_Font_Info): Fix incorrectly applied
- patch.
-
-2003-10-31 Detlef Würkner <[email protected]>
-
- * src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names):
- Fix parameter order in calls to FT_FACE_FIND_SERVICE.
-
-2003-10-31 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/ftserv.h
- (FT_SERVICE_POSTSCRIPT_NAMES_H): Removed. Unused.
-
- * src/type42/t42drivr.c (t42_services): Updated.
-
-2003-10-29 David Turner <[email protected]>
-
- * include/freetype/internal/bdftypes.h: Removed. Obsolete.
- * src/base/ftbdf.c: Updated.
-
- * include/freetype/internal/cfftypes.h: Moved to...
- * src/cff/cfftypes.h: This place since no other module needs to
- know about those types.
-
- * include/freetype/internal/t42types.h: Moved to...
- * src/type42/t42types.h: This place since no other module needs to
- know about those types.
-
- * include/freetype/internal/services/svbdf.h: Include FT_BDF_H.
-
- * include/freetype/internal/services/svpsname.h: Renamed to...
- * include/freetype/internal/services/svpscmap.h: This.
- Updated `FT_Service_PsNames' -> `FT_Service_PsCMaps' and
- `POSTSCRIPT_NAMES' -> `POSTSCRIPT_CMAPS' everywhere.
-
- * include/freetype/internal/services/svpsinfo.h: New file, providing
- PostScript info service.
-
- * include/freetype/internal/ftserv.h (FT_SERVICE_POSTSCRIPT_CMAPS_H,
- FT_SERVICE_POSTSCRIPT_INFO_H): New macros for svpscmap.h and
- svpsinfo.h.
- * include/freetype/internal/internal.h (FT_INTERNAL_TYPE42_TYPES_H,
- FT_INTERNAL_CFF_TYPES_H, FT_INTERNAL_BDF_TYPES_H): Removed.
-
- * src/base/fttype1.c: Don't include FT_INTERNAL_TYPE1_TYPES_H and
- FT_INTERNAL_TYPE42_TYPES_H but FT_INTERNAL_SERVICE_H and
- FT_SERVICE_POSTSCRIPT_INFO_H.
- (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): Use new
- POSTSCRIPT_INFO service.
-
- * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
- (cff_ps_has_glyph_names): New function.
- (cff_service_ps_info): New service.
- (cff_services): Updated.
-
- * src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't
- include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly.
-
- * src/cif/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
- (cid_ps_get_font_info): New function.
- (cid_service_ps_info): New service.
- (cid_services): Updated.
-
- * src/type1/t1driver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
- (t1_ps_get_font_info, t1_ps_has_glyph_names): New functions.
- (t1_service_ps_info): New service.
- (t1_services): Updated.
-
- * src/type42/t42drivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
- (t42_ps_get_font_info, t42_ps_has_glyph_names): New functions.
- (t42_service_ps_info): New service.
-
- * src/type42/t42objs.h: Don't include FT_INTERNAL_TYPE42_TYPES_H
- but t42types.h directly.
-
- * src/psnames/psmodule.c (psnames_interface, psnames_services):
- Renamed to...
- (pscmaps_interface, pscmaps_services): This.
- Updated all users.
-
-
- * src/gzip/infblock.c (inflate_blocks): Remove compiler warning.
-
-2003-10-22 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_encoding): Handle `/Encoding [ ... ]'.
-
- * src/type1/t1parse.c (T1_Get_Private_Dict): Test whether `eexec'
- is real.
-
- * src/type42/t42parse.c (t42_parse_encoding): Improve boundary
- checking while parsing.
-
- * docs/CHANGES: Updated.
-
-2003-10-21 Josselin Mouette <[email protected]>
-
- * include/freetype/internal/t1types.h (T1_FontRec): `paint_type'
- and `stroke_width' aren't pointers.
-
- * src/type42/t42objs.c (T42_Face_Done), src/type1/t1objs.c
- (T1_Face_Done): Don't free `paint_type' and `stroke_width'.
-
-2003-10-20 Graham Asher <[email protected]>
-
- * src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'.
-
-2003-10-19 Werner Lemberg <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph): Patch from
- 2003-08-18 introduced a severe bug (FT_Render_Glyph was called
- twice under some circumstances, causing strange results). This
- is fixed now by clearing the FT_LOAD_RENDER bit of `load_flags'.
-
- * src/base/ftpfr.c (FT_Get_PFR_Metrics): Initialize `error'.
- * src/psaux/psobjs.c (ps_tobytes): Initialize `n'.
- * src/type42/t42parse.c (t42_parse_sfnts): Initialize `string_size'.
-
-2003-10-16 Werner Lemberg <[email protected]>
-
- Completely revised Type 42 parser. It now handles both fonts
- produced with ttftot42 (tested version 0.3.1) and
- TrueTypeToType42.ps (tested version May 2001; it is necessary to
- fix the broken header comment to be `%!PS-TrueTypeFont...').
-
- * src/type42/t42objs.c (T42_GlyphSlot_Load): Change fourth
- parameter to `FT_UInt'.
- * src/type42/t42objs.h: Updated.
-
- * src/type42/t42parse.h (T42_ParserRec): Change type of `in_memory'
- to FT_Bool.
- (T42_Loader): Change type of `num_chars' and `num_glyphs' to
- FT_UInt.
- Add `swap_table' element.
- * src/type42/t42parse.c (T42_KEYWORD_COUNT, T1_ToFixed,
- T1_ToCoordArray, T1_ToTokenArray): Removed.
- (T1_ToBytes): New macro.
- (t42_is_alpha, t42_hexval): Removed.
- (t42_is_space): Handle `\0'.
- (t42_parse_encoding): Updated to use new PostScript parser routines
- from psaux.
- Handle `/Encoding [ ... ]' also.
- (T42_Load_Status): New enumeration.
- (t42_parse_sfnts): Updated to use new PostScript parser routines
- from psaux.
- (t42_parse_charstrings): Updated to use new PostScript parser
- routines from psaux.
- Handle `/CharStrings << ... >>' also.
- Don't expect that /.notdef is the first element in dictionary. Copy
- code from type1 module to handle this.
- (t42_parse_dict): Updated to use new PostScript parser routines
- from psaux.
- Remove code for synthetic fonts (which can't occur in Type 42
- fonts).
- (t42_loader_done): Release `swap_table'.
-
- * src/psaux/psobjs.c (skip_string): Increase `cur' properly.
-
- * src/type1/t1load.c (parse_charstrings): Make test for `.notdef'
- faster.
-
-2003-10-15 Graham Asher <[email protected]>
-
- * src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c
- (fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty,
- _num_bdf_properties), src/gzip/infutil.c (inflate_mask),
- src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td),
- src/gzip/inftrees.h (inflate_trees_fixed), srf/gzip/inftrees.c
- (inflate_trees_fixed): Decorate with more `const' to avoid
- writable global variables which are disallowed on ARM.
-
-2003-10-08 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_font_matrix, parse_charstrings): Remove
- code specially for synthetic fonts; this is handled elsewhere.
- (parse_encoding): Remove code specially for synthetic fonts; this is
- handled elsewhere.
- Improve boundary checking while parsing.
- (parse_dict): Improve boundary checking while parsing.
- Use ft_memcmp to simplify code.
-
-2003-10-07 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.c (parse_subrs, parse_dict): Handle synthetic
- fonts properly.
- (parse_charstrings): Copy correct number of characters into
- `name_table'.
-
-2003-10-06 Werner Lemberg <[email protected]>
-
- Heavy modification of the PS parser to handle comments and strings
- correctly. This doesn't slow down the loading of PS fonts
- significantly since charstrings aren't affected.
-
- * include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to...
- (ft_isxdigit): This. Updated all callers.
- (ft_isdigit): New alias to `isdigit'.
-
- * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed
- `skip_alpha' to `skip_PS_token'.
- Add parameter to `to_bytes' and change some argument types.
-
- * src/psaux/psauxmod.c (ps_parser_funcs): Updated.
- * src/psaux/psobjs.c (ft_char_table): New array to map character
- codes (ASCII and EBCDIC) of digits to numbers.
- (OP): New auxiliary macro holding either `>=' or `<' depending on
- the character encoding.
- (skip_comment): New function.
- (skip_spaces): Use it.
- (skip_alpha): Removed.
- (skip_literal_string, skip_string): New functions.
- (ps_parser_skip_PS_token): New function. This is a better
- replacement of...
- (ps_parser_skip_alpha): Removed.
- (ps_parser_to_token, ps_parser_to_token_array): Updated.
- (T1Radix): Rewritten, using `ft_char_table'.
- (t1_toint): Renamed to...
- (ps_toint): This. Update all callers.
- Use `ft_char_table'.
- (ps_tobytes): Add parameter to handle delimiters and change some
- argument types.
- Use `ft_char_table'.
- (t1_tofixed): Renamed to...
- (ps_tofixed): This. Update all callers.
- Use `ft_char_table'.
- (t1_tocoordarray): Renamed and updated to...
- (ps_tocoordarray): This. Update all callers.
- (t1_tofixedarray): Renamed and updated to...
- (ps_tofixedarray): This. Update all callers.
- (t1_tobool): Renamed to...
- (ps_tobool): This. Update all callers.
- (ps_parser_load_field): Updated.
- (ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS'
- everywhere.
- (ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array,
- ps_parser_to_fixed_array): Skip spaces. Updated.
- (ps_parser_to_bytes): Add parameter to handle delimiters and change
- some argument types. Updated.
- * src/psaux/psobjs.h: Updated.
-
- * src/cid/cidload.c (cid_parse_dict): Updated.
- * src/cid/cidparse.c (cid_parser_new): Check whether the `StartData'
- token was really found.
- * src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed
- to...
- (cid_parser_skip_PS_token): This.
-
- * src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean
- fields.
- (T1_Skip_Alpha): Replaced with...
- (T1_Skip_PS_Token): This new macro.
- * src/type1/t1parse.c (hexa_value): Removed.
- (T1_Get_Private_Dict): Use `ft_isxdigit' and
- `psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal
- encoding.
- After decrypting, replace the four random bytes at the beginning
- with whitespace.
- * src/type1/t1load.c (t1_allocate_blend): Use proper error values.
- (parser_blend_design_positions, parse_blend_design_map,
- parse_weight_vector): Updated.
- (is_space): Handle `\f' also.
- (is_name_char): Removed.
- (read_binary_data): Updated.
- (parse_encoding): Use `ft_isdigit'.
- Updated.
- (parse_subrs): Updated.
- (TABLE_EXTEND): New macro.
- (parse_charstrings): Updated.
- Provide a workaround for buggy fonts which have more entries in the
- /CharStrings dictionary then expected; the function now adds some
- slots and skips entries which still exceed the new limit.
- (parse_dict): Updated.
- Terminate on the token `closefile'.
-
- * src/type42/t42parse.c (T1_Skip_Alpha): Replaced with...
- (T1_Skip_PS_Token): This new macro. Updated all callers.
- (t42_parse_encoding): Use `ft_isdigit'.
-
-
- * src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_OK if
- success.
-
-2003-10-05 Werner Lemberg <[email protected]>
-
- * include/freetype/ftmodule.h: Renamed to...
- * include/freetype/ftmodapi.h: This to avoid duplicate file names.
- * include/freetype/config/ftheader.h (FT_MODULE_H): Updated.
-
-2003-10-04 Werner Lemberg <[email protected]>
-
- * src/base/ftoutln.c (FT_OrientationExtremumRec,
- FT_Outline_Get_Orientation): Trivial typo fixes to make it compile.
-
-2003-10-02 Markus F.X.J. Oberhumer <[email protected]>
-
- * src/winfonts/winfnt.c (FT_WinFNT_HeaderRec): `color_table_offset'
- has four bytes, not two.
- Fix all users.
- (fnt_font_load, FNT_Load_Glyph): Add more font validity tests.
-
-2003-10-01 David Turner <[email protected]>
-
- * src/autofit/*: Adding first source files of the new multi-script
- `auto-fitter'.
-
- * include/freetype/ftoutln.h (FT_Orientation): New enumeration.
- (FT_Outline_Get_Orientation): New declaration.
-
- * src/base/ftoutln.c (FT_OrientationExtremumRec): New structure.
- (ft_orientation_extremum_compute): New auxiliary function.
- (FT_Outline_Get_Orientation): New function to compute the fill
- orientation of a given glyph outline.
-
- * include/freetype/internal/ftserv.h (FT_FACE_LOOKUP_SERVICE): Fixed
- trivial bug which could crash the font engine when a cached service
- pointer was retrieved.
-
-2003-09-30 Werner Lemberg <[email protected]>
-
- * src/cid/cidload.c (cid_parse_dict): Skip token if no keyword is
- found.
-
- * src/type1/t1parse.c (IS_T1_WHITESPACE, IS_T1_LINESPACE,
- IS_T1_SPACE): Removed.
- (PFB_Tag): Removed.
- (read_pfb_tag): Don't use PFB_Tag.
-
- * src/type42/t42parse.c (t42_is_space): Handle `\f' also.
- (t42_parse_encoding): Handle synthetic fonts.
-
-2003-09-29 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/t1types.h: Don't include
- FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H.
- * src/truetype/ttobjs.c: Don't include
- FT_SERVICE_POSTSCRIPT_NAMES_H.
-
-2003-09-29 David Turner <[email protected]>
-
- Added new service to handle glyph name dictionaries, replacing the
- old internal header named `psnames.h' by `services/svpsname.h'.
- Note that this is different from `services/svpostnm.h' which only
- handles the retrieval of PostScript font names for a given face.
- (Should we merge these two services into a single header?)
-
- * include/freetype/internal/psnames.h: Removed. Most of its
- contents is moved to...
- * include/freetype/internal/services/svpsname.h: New file.
-
- * include/freetype/internal/services/svpostnm.h
- (FT_SERVICE_ID_POSTSCRIPT_NAME): Replaced with...
- (FT_SERVICE_ID_POSTSCRIPT_FONT_NAME): New macro.
- (PsName): Service named changed to...
- (PsFontName): This.
- Updated `FT_Service_PsName' -> `FT_Service_PsFontName' and
- `POSTSCRIPT_NAME' -> `POSTSCRIPT_FONT_NAME' everywhere.
-
- * include/freetype/internal/internal.h
- (FT_INTERNAL_POSTSCRIPT_NAMES_H): Removed.
- * include/freetype/internal/psaux.h: Include
- FT_SERVICE_POSTSCRIPT_NAMES_H.
- (T1_DecoderRec): Updated type of `psnames'.
- * include/freetype/internal/t1types.h: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
- Include FT_INTERNAL_OBJECTS_H.
- * include/freetype/internal/t42types.h: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H.
- * include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): Changed
- order of parameters. All callers updated.
- (FT_FACE_FIND_GLOBAL_SERVICE): New macro to look up a service
- globally, checking all modules.
- (FT_ServiceCacheRec): Updated.
- (FT_SERVICE_POSTSCRIPT_NAMES_H): New macro for accessing
- `svpsname.h'.
-
- * include/freetype/internal/ftobjs.h, src/base/ftobjs.c
- (ft_module_get_service): New function.
-
- * src/cff/cffdrivr.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (cff_get_glyph_name, cff_get_name_index): Use new POSTSCRIPT_NAMES
- service.
- * src/cff/cffcmap.c (cff_cmap_unicode_init): Updated.
- * src/cff/cffload.c, src/cff/cffload.h: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (cff_index_get_sid_string): Updated.
- * src/cff/cffobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (cff_face_init): Use new POSTSCRIPT_NAMES service.
- * src/cff/cffobjs.h: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
-
- * src/cid/cidobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (cid_face_init): Use new POSTSCRIPT_NAMES service.
- * src/cid/cidriver.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H.
-
- * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Use
- new POSTSCRIPT_NAMES service.
- * src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode,
- t1_decode_init): Use new POSTSCRIPT_NAMES service.
- * src/psaux/t1cmap.h, src/psaux/t1decode.h: Dont' include
- FT_INTERNAL_POSTSCRIPT_NAMES_H.
-
- * src/psnames/psmodule.c: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (ps_build_unicode_table): Renamed to...
- (ps_unicodes_init): This.
- (ps_lookup_unicode): Renamed to...
- (ps_unicodes_char_index): This.
- (ps_next_unicode): Renamed to...
- (ps_unicodes_char_next): This.
- (psnames_interface): Updated.
- (psnames_services): New services list.
- (psnames_get_service): New function.
- (psnames_module_class): Updated.
-
- * src/sfnt/sfobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (sfnt_init_face): Use new POSTSCRIPT_NAMES service.
- * src/sfnt/ttpost.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
- but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (tt_face_get_ps_name): Updated.
-
- * src/truetype/ttobjs.c: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-
- * src/type1/t1driver.c: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
- * src/type1/t1objs.c: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
- (T1_Face_Init): Use new POSTSCRIPT_NAMES service.
-
- * src/type42/t42drivr.c (t42_get_ps_name): Renamed to...
- (t42_get_ps_font_name): This.
- (t42_service_ps_name): Renamed to...
- (t42_service_ps_font_name): This.
- (t42_services): Updated.
- * src/type42/t42objs.c (T42_Face_Init): Use new POSTSCRIPT_NAMES
- service.
- * src/type42/t42objs.h: Don't include
- FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
-
-
- * src/base/ftglyph.c (FT_Get_Glyph): Don't access `slot' before
- testing its validity. Reported by Henry Maddocks
-
-2003-09-21 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE):
- Fix compilation warning (s/pptr/Pptr/).
-
- * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H,
- FT_INTERNAL_FNT_TYPES_H): Removed.
-
-2003-09-21 David Turner <[email protected]>
-
- Migrating the PFR and WINFNT drivers to the new service-based
- internal API.
-
- * include/freetype/internal/fnttypes.h: Removed. Most of its data
- are moved to winfnt.h and...
- * include/freetype/internal/services/svwinfnt.h: New file.
-
- * include/freetype/internal/pfr.h: Removed. Most of its data are
- moved to...
- * include/freetype/internal/services/svpfr.h: New file.
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
- FT_FACE_LOOKUP_SERVICE): Simplify fix of 2003-09-16 by removing
- pointer type argument.
- Updated all callers.
- Update macro names of services header files.
-
- * src/base/ftobjs.c (FT_Get_Name_Index): Simplified code.
-
- * src/base/ftpfr.c: Include FT_SERVICE_PFR_H instead of
- FT_INTERNAL_PFR_H.
- (ft_pfr_check, FT_Get_PFR_Metrics, FT_Get_PFR_Kerning,
- FT_Get_PFR_Advance): Use services provided in `PFR_METRICS'.
-
- * src/base/ftwinfnt.c: Include FT_SERVICE_WINFNT_H instead of
- FT_INTERNAL_FNT_TYPES_H.
- (FT_Get_WinFNT_Header): Use service provided in `WINFNT'.
-
- * src/pfr/pfrdrivr.c: Include FT_SERVICE_PFR_H and
- FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_PFR_H.
- (pfr_service_bdf): Updated.
- (pfr_services): New services list.
- (pfr_get_service): New function.
- (pfr_driver_class): Updated.
-
- * src/winfonts/winfnt.c: Include FT_SERVICE_WINFNT_H and
- FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_FNT_TYPES_H.
- (winfnt_get_header, winfnt_get_service): New functions.
- (winfnt_service_rec): New structure providing WINFNT services.
- (winfnt_services): New services list.
- (winfnt_driver_class): Updated.
- * src/winfonts/winfnt.h: Add most of the removed fnttypes.h data.
-
- * src/sfnt/sfdriver.c (sfnt_service_ps_name): Fix typo.
-
- * src/type1/t1driver.c (t1_service_ps_name): Fix typo.
-
- * src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c,
- src/psaux/psobjs.c, src/sfnt/sfobjs.c, src/truetype/ttobjs.c,
- src/type1/t1objs.c, src/type42/t42objs.c: Removing various compiler
- warnings.
-
-2003-09-19 David Bevan <[email protected]>
-
- * src/type1/t1parse.c (pfb_tag_fields): Removed.
- (read_pfb_tag): Fix code so that it doesn't fail on end-of-file
- indicator (0x8003).
- * docs/CHANGES: Updated.
-
-2003-09-16 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
- FT_FACE_LOOKUP_SERVICE): Add parameter to pass pointer type.
- Ugly, I know, but this is needed for compilation with C++ --
- maybe someone knows a better solution?
- Updated all callers.
-
- * src/base/ftobjs.c (FT_Get_Name_Index, FT_Get_Glyph_Name): Remove
- C++ compiler warnings.
-
- * src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property):
- Fix order of arguments passed to FT_FACE_FIND_SERVICE.
-
-2003-09-15 Werner Lemberg <[email protected]>
-
- Avoid header files with identical names.
-
- * include/freetype/internal/services/bdf.h: Renamed to...
- * include/freetype/internal/services/svbdf.h: This.
- Add copyright notice.
- * include/freetype/internal/services/glyfdict.h: Renamed to...
- * include/freetype/internal/services/svgldict.h: This.
- Add copyright notice.
- * include/freetype/internal/services/multmast.h: Renamed to...
- * include/freetype/internal/services/svmm.h: This.
- Add copyright notice.
- Add FT_BEGIN_HEADER and FT_END_HEADER.
- * include/freetype/internal/services/sfnt.h: Renamed to...
- * include/freetype/internal/services/svsfnt.h: This.
- Add copyright notice.
- * include/freetype/internal/services/postname.h: Renamed to...
- * include/freetype/internal/services/svpostnm.h: This.
- Add copyright notice.
- * include/freetype/internal/services/xf86name.h: Renamed to...
- * include/freetype/internal/services/svxf86nm.h: This.
- Add copyright notice.
-
- * include/freetype/internal/ftserv.h: Add FT_BEGIN_HEADER and
- FT_END_HEADER.
- Add copyright notice.
- Update macro names of services header files.
-
- * builds/freetype.mk (SERVICES_DIR): New variable.
- (BASE_H): Add services header files.
-
-2003-09-11 Werner Lemberg <[email protected]>
-
- * builds/toplevel.mk (distclean): Remove `builds/unix/freetype2.pc'.
-
- * src/cff/cffdrivr.c: Don't load headers twice.
-
- * include/freetype/internal/ftserv.h (FT_SERVICE_SFNT_H): New macro.
- * src/base/ftobjs.c: Include FT_SERVICE_SFNT_H.
-
- * src/cff/cffcmap.c: Include `cfferrs.h'.
- * src/pfr/pfrdrivr.c: Include `pfrerror.h'.
- * src/sfnt/sfdriver.c: Include `sferrors.h'.
- * src/psaux/psobjs.h: Add declaration for `ps_parser_to_bytes'.
-
-2003-09-11 David Turner <[email protected]>
-
- Introducing the concept of `module services'. This is the first
- step towards a massive simplification of the engine's internals, in
- order to get rid of various numbers of hacks.
-
- Note that these changes will break source & binary compatibility for
- authors of external font drivers.
-
- * include/freetype/config/ftconfig.h (FT_BEGIN_STMNT, FT_END_STMNT,
- FT_DUMMY_STMNT): New macros.
-
- * include/freetype/internal/ftserv.h: New file, containing the new
- structures and macros to provide `services'.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_EXTENSION_H,
- FT_INTERNAL_EXTEND_H, FT_INTERNAL_HASH_H, FT_INTERNAL_OBJECT_H):
- Removed, obsolete.
- (FT_INTERNAL_SERVICE_H): New macro for `ftserv.h'.
-
- * include/freetype/internal/services/bdf.h,
- include/freetype/internal/services/glyfdict.h,
- include/freetype/internal/services/postname.h,
- include/freetype/internal/services/xf86name.h: New files.
-
- * include/freetype/ftmm.h (FT_Get_MM_Func, FT_Set_MM_Design_Func,
- FT_Set_MM_Blend_Func): Function pointers moved (in modified form)
- to...
- * include/freetype/internal/services/multmast.h: New file.
-
- * include/freetype/internal/sfnt.h (SFNT_Interface): `get_interface'
- is now of type `FT_Module_Requester'.
- (SFNT_Get_Interface_Func, SFNT_Load_Table_Func): Function pointers
- moved (in modified form) to...
- * include/freetype/internal/services/sfnt.h: New file.
-
- * include/freetype/tttables.h (FT_Get_Sfnt_Table_Func): Function
- pointer moved (in modified form) to `services/sfnt.h'.
-
- * include/freetype/ftmodule.h (FT_Module_Interface): Make it a
- a typedef to `FT_Pointer'.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec): Add
- `postscript_name'.
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
- `postscript_name'.
- Add `services' element.
- (FT_LibraryRec): Remove `meta_class'.
-
- * src/base/ftbdf.c: Include FT_SERVICE_BDF_H.
- (test_font_type): Removed.
- (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Use services
- provided in `FT_SERVICE_ID_BDF'.
-
- * src/base/ftmm.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
- (ft_face_get_mm_service): New auxiliary function to get services
- from `FT_SERVICE_ID_MULTI_MASTERS'.
- (FT_Get_Multi_Master, FT_Set_MM_Design_Coordinates,
- FT_Set_MM_Blend_Coordinates): Use `ft_face_get_mm_service'.
-
- * src/base/ftobjs.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
- FT_SERVICE_GLYPH_DICT_H.
- (ft_service_list_lookup): New function to get a specific service.
- (destroy_face): Updated.
- (Mac_Read_POST_Resource): Simplify some code.
- (IsMacResource): Fix warnings.
- (FT_Get_Name_Index, FT_Get_Glyph_Name): Use services provided in
- `FT_SERVICE_ID_GLYPH_DICT'.
- (FT_Get_Postscript_Name): Use service provided in
- `FT_SERVICE_ID_POSTSCRIPT_NAME'.
- (FT_Get_Sfnt_Table, FT_Load_Sfnt_Table): Use services provided in
- `FT_SERVICE_ID_SFNT_TABLE'.
-
- * src/base/ftxf86.c: Include FT_SERVICE_XFREE86_NAME_H.
- (FT_Get_X11_Font_Format): Use service provided in
- `FT_SERVICE_ID_XF86_NAME'.
-
- * src/bdf/bdfdrivr.c: Include FT_SERVICE_BDF_H and
- FT_SERVICE_XFREE86_NAME_H.
- (bdf_get_charset_id): New function.
- (bdf_service_bdf): New structure providing BDF services.
- (bdf_services): New services list.
- (bdf_driver_requester): Use `ft_service_list_lookup'.
-
- * src/cff/cffdrivr.c: Include FT_SERVICE_XFREE86_NAME_H and
- FT_SERVICE_GLYPH_DICT_H.
- (cff_service_glyph_dict): New structure providing CFF services.
- (cff_services): New services list.
- (cff_get_interface): Use `ft_service_list_lookup'.
-
- * src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
- FT_SERVICE_XFREE86_NAME_H.
- (cid_service_ps_name): New structure providing CID services.
- (cid_services): New services list.
- (cid_get_interface): Use `ft_service_list_lookup'.
-
- * src/pcf/pcfdrivr.c: Include FT_SERVICE_BDF_H and
- FT_SERVICE_XFREE86_NAME_H.
- (pcf_service_bdf): New structure providing PCF services.
- (pcf_services): New services list.
- (pcf_driver_requester): Use `ft_service_list_lookup'.
-
- * src/sfnt/sfdriver.c: Include FT_SERVICE_GLYPH_DICT_H and
- FT_SERVICE_POSTSCRIPT_NAME_H.
- (get_sfnt_glyph_name): Renamed to...
- (sfnt_get_glyph_name): This.
- (get_sfnt_postscript_name): Renamed to...
- (sfnt_get_ps_name): This.
- Updated.
- (sfnt_service_glyph_dict, sfnt_service_ps_name): New structures
- providing services.
- (sfnt_services): New services list.
- (sfnt_get_interface): Use `ft_service_list_lookup'.
-
- * src/truetype/ttdriver.c: Include FT_SERVICE_XFREE86_NAME_H.
- (tt_services): New services list.
- (tt_get_interface): Use `ft_service_list_lookup'.
-
- * src/type1/t1driver.c: Include FT_SERVICE_MULTIPLE_MASTERS_H,
- FT_SERVICE_GLYPH_DICT_H, FT_SERVICE_XFREE86_NAME_H, and
- FT_SERVICE_POSTSCRIPT_NAME_H.
- (t1_service_glyph_dict, t1_service_ps_name,
- t1_service_multi_masters): New structures providing Type 1 services.
- (t1_services): New services list.
- (Get_Interface): Use `ft_service_list_lookup'.
-
- * src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H,
- FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H.
- (t42_service_glyph_dict, t42_service_ps_name): New strucures
- providing Type 42 services.
- (t42_services): New services list.
- (T42_Get_Interface): Use `ft_service_list_lookup'.
-
-
- * README, docs/CHANGES: Updating version numbers for 2.1.6, and
- removing obsolete warnings in the documentation.
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
- * builds/unix/configure.ac (version_info): Set to 9:5:3.
- * builds/unix/configure: Regenerated.
-
- * include/freetype/internal/ftcore.h,
- include/freetype/internal/ftexcept.h,
- include/freetype/internal/fthash.h,
- include/freetype/internal/ftobject.h: Removed. Obsolete.
-
-2003-09-09 David Turner <[email protected]>
-
- Fixing PFR kerning support. The tables within the font file contain
- (charcode,charcode) kerning pairs, we need to convert them to
- (gindex,gindex).
-
- * src/base/ftpfr.c (ft_pfr_check): Fix serious typo.
- * src/pfr/prfload.c: Remove dead code.
- (pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs):
- New functions.
- (pfr_phy_font_done): Free `kern_pairs'.
- (pfr_phy_font_load): Call `pfr_sort_kerning_pairs'.
- * src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix kerning extraction.
- * src/pfr/pfrtypes.h (PFR_KERN_PAIR_INDEX): New macro.
- (PFR_KernPairRec): Make `kerning' an FT_Int.
- (PFR_PhyFontRec): New element `kern_pairs'.
- (PFR_KernFlags): Values of PFR_KERN_2BYTE_CHAR and
- PFR_KERN_2BYTE_ADJ were erroneously reversed.
-
- * include/freetype/ftoption.h: Commenting out the macro
- TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
-
-2003-09-02 David Turner <[email protected]>
-
-
- * Version 2.1.5 released.
- =========================
-
-
-2003-08-31 Manish Singh <[email protected]>
-
- * src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but
- FT_MEM_MOVE.
-
-2003-08-30 Werner Lemberg <[email protected]>
-
- * 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.
-
-2003-08-27 Werner Lemberg <[email protected]>
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters
- for spacing.
-
-2003-08-27 Mike FABIAN <[email protected]>
-
- * src/pcf/pcfread.c (pcf_load_font), src/bdf/bdfdrivr.c
- (BDF_Face_Init): Accept lowercase characters for slant and weight.
-
-2003-08-18 David Turner <[email protected]>
-
- * include/freetype/config/ftoption.h: Disabling TrueType bytecode
- interpreter until the UNPATENTED_HINTING works as advertised.
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph): Use `|' for
- setting `load_flags'.
-
- * Jamfile: Adding the `refdoc' target to the Jamfile in order to
- build the API Reference in `docs/reference' automatically.
-
- * include/freetype/t1tables.h (PS_FontInfoRec), src/cid/cidtoken.h,
- src/type1/t1tokens.h, src/type42/t42parse.c: Resetting the types of
- `italic_angle', `underline_position', and `underline_thickness' to
- their previous values (i.e., long, short, and ushort) in order to
- avoid breaking binary compatibility.
-
- * include/freetype/ttunpat.h: Fixing documentation comment.
-
- * include/freetype/config/ftoption.h, devel/ftoption.h
- (TT_CONFIG_OPTION_OPTION_COMPILE_UNPATENTED_HINTING): Replaced
- with...
- (TT_CONFIG_OPTION_UNPATENTED_HINTING): This. Updated all users.
- (TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed.
-
- * include/freetype/internal/ftobjs.h (FT_DEBUG_HOOK_TYPE1): Removed.
- (FT_DEBUG_HOOK_UNPATENTED_HINTING): New macro. Use this with
- `FT_Set_Debug_Hook' to get the same effect as the removed
- TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING.
-
- * src/truetype/ttobjs.c (tt_face_init): Use
- `FT_DEBUG_HOOK_UNPATENTED_HINTING'.
-
-2003-08-06 Werner Lemberg <[email protected]>
-
- * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
- (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix
- previous change.
-
-2003-08-05 Werner Lemberg <[email protected]>
-
- * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
- (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
- font matrix to advance width also.
- * docs/CHANGES: Updated.
-
-2003-07-26 Werner Lemberg <[email protected]>
-
- * builds/unix/configure.ac (version_info): Set to 9:4:3.
- * 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'.
-
-2003-07-25 Werner Lemberg <[email protected]>
-
- Make API reference valid HTML 4.01 transitional.
-
- * src/tools/docmaker/tohtml.py (html_header_1): Add doctype
- and charset.
- (html_header_2): Fix style elements and add some more.
- Fix syntax.
- (block_header, block_footer, description_header, description_footer,
- marker_header, marker_footer, source_header, source_footer,
- chapter_header): Don't use <center>...</center> but `align=center'
- table attribute.
- (chapter_inter, chapter_footer): Add <li> and use special <ul>
- class.
- Use double quotes around table widths given in percent.
- (keyword_prefix, keyword_suffix): Don't change font colour directly
- but use a new <span> class.
- (section_synopsis_header, section_synopsis_footer): Don't change
- colour.
- (code_header, code_footer): Don't change font colour directly but
- use a special <pre> class.
- (print_html_field): <tr> gets the `valign' attribute, not <table>.
- (print_html_field_list): Ditto.
- (index_exit): Don't use <center>...</center> but `align=center'
- table attribute.
- (section_enter): Ditto.
- (toc_exit): Don't emit </table>.
- (block_enter): Use <h4><a>, not <a><h4>.
- (__init__): Fix tag order in self.html_footer.
-
-2003-07-25 David Turner <[email protected]>
-
- This change reimplements fix from 2003-05-30 without breaking
- binary compatibility.
-
- * include/freetype/t1tables.h (PS_FontInfoRec): `italic_angle',
- `is_fixed_pitch', `underline_position', `underline_thickness' are
- reverted to be normal values.
-
- * include/freetype/internal/psaux.h (T1_FieldType): Remove
- `T1_FIELD_TYPE_BOOL_P', `T1_FIELD_TYPE_INTEGER_P',
- `T1_FIELD_TYPE_FIXED_P', `T1_FIELD_TYPE_FIXED_1000_P'.
- (T1_FIELD_TYPE_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P,
- T1_FIELD_FIXED_1000_P): Removed.
- (T1_FIELD_TYPE_BOOL): Renamed to...
- (T1_FIELD_BOOL): New macro. Updated all callers.
-
- * src/type42/t42parse.c: `italic_angle', `is_fixed_pitch',
- `underline_position', `underline_thickness', `paint_type',
- `stroke_width' are reverted to be normal values.
- (T42_KEYWORD_COUNT): New macro.
- (t42_parse_dict): New array `keyword_flags' to mark that a value has
- already been assigned to a dictionary entry.
- * src/type42/t42objs.c (T42_Face_Init, T42_Face_Done): Updated.
-
- * src/cid/cidtoken.h: `italic_angle', `is_fixed_pitch',
- `underline_position', `underline_thickness' are reverted to be
- normal values.
- * src/cid/cidobjs.c (cid_face_done, cid_face_init): Updated.
-
- * src/psaux/psobjs.c (ps_parser_load_field): Updated.
-
- * src/type1/t1tokens.h: `italic_angle', `is_fixed_pitch',
- `underline_position', `underline_thickness', `paint_type',
- `stroke_width' are reverted to be normal values.
- * src/type1/t1objs.c (T1_Face_Done, T1_Face_Init): Updated.
- * src/type1/t1load.c (T1_FIELD_COUNT): New macro.
- (parse_dict): Add parameter for keyword flags.
- Record only first instance of a field.
- (T1_Open_Face): New array `keyword_flags'.
-
-2003-07-24 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
- * builds/unix/configure.ac (version_info): Set to 10:0:3.
- * builds/unix/configure: Updated.
- * builds/freetype.mk (refdoc): Fix --title.
-
- * docs/CHANGES, docs/VERSION.DLL, README: Updated.
-
- * src/tools/docmaker/sources.py (re_crossref): Fix regular
- expression to handle trailing punctuation characters.
- * src/tools/docmaker/tohtml.py (make_html_word): Updated.
-
- * docs/release: New file.
-
-2003-07-23 YAMANO-UCHI Hidetoshi <[email protected]>
-
- * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New
- member function `to_bytes'.
-
- * src/psaux/psauxmod.c (ps_parser_funcs): New member
- `ps_parser_to_bytes'.
- (psaux_module_class): Increase version to 0x20000L.
-
- * src/psaux/psobjs.c (IS_T1_LINESPACE): Add \f.
- (IS_T1_NULLSPACE): New macro.
- (IS_T1_SPACE): Add it.
- (skip_spaces, skip_alpha): New functions.
- (ps_parser_skip_spaces, ps_parser_skip_alpha): Use them.
- (ps_tobytes, ps_parser_to_bytes): New functions.
-
-2003-07-07 Werner Lemberg <[email protected]>
-
- * builds/freetype.mk (DOC_DIR): New variable.
- (refdoc): Use *_DIR variables.
- (distclean): Remove documentation files.
-
- * builds/detect.mk (std_setup, dos_setup): Mention `make refdoc'.
-
- * configure: Set DOC_DIR variable.
-
-2003-07-07 Patrik Hägglund <[email protected]>
-
- * builds/freetype.mk (refdoc): New target to build the
- documentation.
- (.PHONY): Updated.
-
- * include/freetype/freetype.h: Improve documentation of FT_CharMap.
- * include/freetype/ftimage,h: Fix documentation of FT_OUTLINE_FLAGS.
- * include/freetype/tttables.h: Document FT_Sfnt_Tag.
-
-2003-07-06 Werner Lemberg <[email protected]>
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfread.c
- (pcf_load_font): Fix computation of height if PIXEL_SIZE property is
- missing.
-
-2003-07-01 Werner Lemberg <[email protected]>
-
- * src/cache/ftcsbits.c (ftc_sbit_node_compare): Only add `size' if
- there is no error. Reported by Knut St. Osmundsen
-
-2003-06-30 Werner Lemberg <[email protected]>
-
- A new try to synchronize bitmap font access.
-
- * include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
- defined to return the baseline-to-baseline distance. This was
- already the value returned by the BDF and PCF drivers.
-
- The `width' field now gives the average width. I wasn't able to
- find something better. It should be taken as informative only.
-
- New fields `size', `x_ppem', and `y_ppem'.
-
- * src/pcf/pcfread.c (pcf_load_font): Updated to properly fill
- FT_Bitmap_Size.
- Do proper rounding and conversion from 72.27 to 72 points.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill
- FT_Bitmap_Size.
- Do proper rounding and conversion from 72.27 to 72 points.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill
- FT_Bitmap_Size.
-
- * src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill
- FT_Bitmap_Size.
-
-2003-06-29 Werner Lemberg <[email protected]>
-
- Redesigning the FNT driver to return multiple faces, not multiple
- strikes. At least one font (app850.fon from WinME) contains
- different FNT charmaps for its subfonts. Consequently, the previous
- design of having multiple bitmap strikes in a single font face fails
- since we have only one charmap per face.
-
- * include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed.
- (FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with
- `font'.
-
- * src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated.
-
- * src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal
- to pixel_height.
- (fnt_face_done_fonts): Removed.
- (fnt_face_get_dll_fonts): Renamed to...
- (fnt_face_get_dll_font): This. Add second function argument to
- select face index.
- Updated to load just one subfont.
- (fnt_font_done, FNT_Face_Done): Updated.
- (FNT_Face_Init): Handle `face_index'.
- Updated.
- (FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the
- bitmap width is now ignored.
- (FNT_Load_Glyph): Updated.
- Fix glyph index computation.
- (winfnt_driver_class): Updated.
-
-2003-06-25 Owen Taylor <[email protected]>
-
- * src/sfnt/ttload.c (tt_face_load_hdmx): Don't assign
- num_records until we actually decide to load the table,
- otherwise, we'll segfault in tt_face_free_hdmx.
-
-2003-06-24 Werner Lemberg <[email protected]>
-
- * src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero
- glyph name pointer. Reported by Mikey Anbary <[email protected]>.
-
-2003-06-23 Werner Lemberg <[email protected]>
-
- * src/tools/glnames.py: Updated to AGL 2.0.
- * src/psnames/pstables.h: Regenerated.
-
-2003-06-22 Werner Lemberg <[email protected]>
-
- * include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h,
- src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c,
- src/otlayout/otlgsub.c, src/pshinter/pshrec.c,
- src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c:
- Decorate constants with `U' and `L' if appropriate.
-
- * include/freetype/ftmoderr.h: Updated to include recent module
- additions.
-
- * src/pshinter/pshnterr.h (FT_ERR_BASE): Define as
- `FT_Mod_Err_PShinter'.
- * src/type42/t42error.h (FT_ERR_BASE): Define as
- `FT_Mod_Err_Type42'.
-
- * src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed. Not used.
-
- * include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64
- and FT_INT64.
-
-2003-06-21 Werner Lemberg <[email protected]>
-
- * src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in
- computation of glyph_index.
- (FNT_Size_Set_Pixels): To find a strike, first check pixel_height
- only, then try to find a better hit by comparing pixel_width also.
- Without this fix it isn't possible to access all strikes.
- Also compute metrics.max_advance to be in sync with other bitmap
- drivers.
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
- (FT_Set_Pixel_Size): Assign value to `metrics' after validation of
- arguments.
-
-2003-06-20 Werner Lemberg <[email protected]>
-
- Synchronize computation of height and width for bitmap strikes. The
- `width' field in the FT_Bitmap_Size structure is now only useful to
- enumerate different strikes. The `max_advance' field of the
- FT_Size_Metrics structure should be used to get the (maximum) width
- of a strike.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for
- computing `available_sizes->width' but make it always equal to
- `available_sizes->height'.
-
- * src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for
- computing `available_sizes->width' but make it always equal to
- `available_sizes->height'.
-
- * src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single
- argument to function.
-
- * src/psnames/psmodule.c (ps_unicode_value): Handle `.' after
- `uniXXXX' and `uXXXX[X[X]]'.
-
-2003-06-19 Werner Lemberg <[email protected]>
-
- * src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/.
- * src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c:
- s/FT_Err_/FTC_Err_/.
- * src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/.
- * src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/.
- * src/psaux/t1cmap.c: Include psauxerr.h.
- s/FT_Err_/PSaux_Err_/.
- * src/pshinter/pshnterr.h: New file.
- * src/pshinter/rules.mk: Updated.
- * src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h.
- s/FT_Err_/PSH_Err_/.
- * src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c:
- s/FT_Err_/PFR_Err_/.
- * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
- src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/.
- * src/truetype/ttgload.c: s/FT_Err_/TT_Err_/.
- * src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define
- FT_ERR_PREFIX and FT_ERR_BASE.
- s/FT_Err_/Gzip_Err_/.
-
-2003-06-19 Dirck Blaskey <[email protected]>
-
- * src/cff/cffload (cff_encoding_load): `nleft' must be FT_UInt,
- otherwise adding 1 might wrap the result.
-
-2003-06-18 Werner Lemberg <[email protected]>
-
- * src/psnames/psmodule.c (ps_unicode_value): Add support to
- recognize `uXXXX[X[X]]' glyph names.
- Don't handle glyph names starting with `uni' which have more than
- four digits.
-
-2003-06-16 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h (FT_Open_Flags): Replaced with
- #defines for the constants.
- (FT_Open_Args): Change type of `flags' to FT_UInt.
- (FT_GlyphSlot): Move `flags' to FT_Slot_Internal.
-
- * include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag):
- Replaced with #defines for the constants.
-
- * include/freetype/internal/ftobjs.h (FT_Slot_Internal): New
- field `flags' (from FT_GlyphSlot).
- Updated all affected source files.
- (FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h).
-
- * include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved
- to ftobjs.h.
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy
- FT_GlyphSlot_Internal object.
-
-2003-06-15 Werner Lemberg <[email protected]>
-
- * builds/compiler/gcc.mk, builds/compiler/gcc-dev.mk (CFLAGS):
- Add -fno-strict-aliasing to get rid of zillion warnings from gcc
- version 3.3.
-
-2003-06-14 Werner Lemberg <[email protected]>
-
- * include/freetype/ftglyph.h (ft_glyph_bbox_unscaled,
- ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit,
- ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with
- FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS,
- FT_GLYPH_BBIX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
- The lowercase variants are now (deprecated aliases) to the uppercase
- versions.
- Updated all other files.
-
- * include/freetype/ftmodule.h (ft_module_font_driver,
- ft_module_renderer, ft_module_hinter, ft_module_styler,
- ft_module_driver_scalable, ft_module_driver_no_outlines,
- ft_module_driver_has_hinter): Replaced with FT_MODULE_FONT_DRIVER,
- FT_MODULE_RENDERER, FT_MODULE_HINTER, FT_MODULE_STYLER,
- FT_MODULE_DRIVER_SCALABLE, FT_MODULE_DRIVER_NO_OUTLINES,
- FT_MODULE_DRIVER_HAS_HINTER.
- The lowercase variants are now (deprecated aliases) to the uppercase
- versions.
- Updated all other files.
-
- * src/base/ftglyph.c (FT_Glyph_Get_CBox): Handle bbox_mode better
- as enumeration.
-
- * src/pcf/pcfdrivr.c (pcf_driver_class), src/winfonts/winfnt.c
- (winfnt_driver_class), src/bdf/bdfdrivr.c (bdf_driver_class): Add
- the FT_MODULE_DRIVER_NO_OUTLINES flag.
-
-2003-06-13 Detlef Würkner <[email protected]>
-
- * src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix.
-
-2003-06-13 Werner Lemberg <[email protected]>
-
- * builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also.
-
- * builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for
- EMX gcc compiler.
- * builds/dos/detect.mk: Add target `emx'.
-
- * builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't
- like a trailing semicolon; add a dummy command.
-
- * src/cid/cidload.c: Remove parse_font_bbox code (already enclosed
- with #if 0 ... #endif).
-
- * src/type1/t1tokens.h: Handle /FontName.
- * src/type1/t1load.c (parse_font_name): Removed.
- Remove parse_font_bbox code (already enclosed with #if 0 ...
- #endif).
-
- * src/type42/t42parse.c (t42_parse_font_name): Removed.
- Remove t42_parse_font_bbox code (already enclosed with #if 0 ...
- #endif).
- (t42_keywords): Handle /FontName with T1_FIELD_KEY.
-
-2003-06-12 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/psaux.h (T1_FieldType): Add
- T1_FIELD_TYPE_KEY.
- (T1_FIELD_KEY): New macro.
- * src/psaux/psobjs.c (ps_parser_load_field): Handle
- T1_FIELD_TYPE_KEY.
-
- * src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName.
-
-2003-06-11 Alexander Malmberg <[email protected]>
-
- * src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease
- number of nodes.
- (FT_LruList_Lookup): Fix assertion for out-of-memory case.
-
-2003-06-11 Werner Lemberg <[email protected]>
-
- * src/cid/cidload.c (cid_decrypt): Removed.
- (cid_read_subrs): Use t1_decrypt from psaux module.
- * src/cid/cidload.h: Updated.
- * src/cid/cidgload.c (cid_load_glyph): Use t1_decrypt from psaux
- module.
-
-2003-06-10 Werner Lemberg <[email protected]>
-
- * src/cid/cidobjs.c: Apply change 2003-05-31 from <[email protected]>.
- Compute style flags.
- Fix computation of root->height.
- * src/cid/cidtoken.h: Handle FontBBox.
- * src/cid/cidload.c (cid_load_keyword): Handle
- T1_FIELD_LOCATION_BBOX.
- (parse_font_bbox): Commented out.
- (cid_field_record): Comment out element for parsing FontBBox.
-
- * src/type42/t42parse.c (t42_parse_font_bbox): Commented out.
- (t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with
- T1_FIELD_CALLBACK.
- (t42_parse_font_bbox): Commented out.
- (t42_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
- * src/type42/t42objs.c (T42_Face_Init): Apply change 2003-05-31
-
-2003-06-09 George Williams <[email protected]>
-
- * src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's
- TrueType specification.
- (Ins_MDRP, Ins_MIRP): Fix single width cut-in test.
-
-2003-06-09 Detlef Würkner <[email protected]>
-
- * src/gzip/ftgzip.c: (inflate_mask): Replaced with...
- (NO_INFLATE_MASK): This.
- * src/gzip/infutil.h: Declare `inflate_mask' conditionally by
- NO_INFLATE_MASK.
-
-2003-06-09 Alexis S. L. Carvalho <[email protected]>
-
- * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END
- correctly.
-
-2003-06-09 Wolfgang Domröse <[email protected]>
-
- * src/pshinter/pshglob.c (psh_globals_new): Change calculation of
- dim->stdw.count to avoid compiler problem.
-
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block
- variables to the beginning of the function to avoid compiler
- problems.
- Add casts necessary for 16bit compilers.
-
-2003-06-09 Werner Lemberg <[email protected]>
-
- * src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c.
- (PFR_DRV_H): Add pfrtypes.h.
-
- * include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/.
-
-2003-06-08 Karl Schultz <[email protected]>
-
- * src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third
- argument to FT_Bool.
- (pfr_lookup_bitmap_data): Change type of third and fourth argument
- to FT_UInt. Updated caller.
- (pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
-
-2003-06-08 Werner Lemberg <[email protected]>
-
- Completely revised FreeType's make management.
-
- . In all makefiles `/' is used as the path separator. The
- conversion to the real path separators is done as late as
- possible using $(subst ...).
-
- . $(HOSTSEP) no longer exists. Now, $(SEP) gives the path separator
- for the operating system, and the new $(COMPILER_SEP) the path
- separator for the compiler tools.
-
- . $(BUILD) has been renamed to $(BUILD_DIR). In general, all
- directory variables end with `_DIR'. The variants ending in `_'
- (like `BASE_' have been removed).
-
- The following ChangeLog entries only describe changes which are
- not related to the redesign.
-
- * builds/beos/beos-def.mk (BUILD_DIR): Fix typo.
- * builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid
- overlong arguments as suggested by J. Ali Harlow
- * builds/dos/dos-wat.mk: New file.
- * builds/freetype.mk (FREETYPE_H): Include header files from the
- `devel' subdirectory.
-
- * builds/os2/os2-dev.mk, builds/unix/unixddef.mk,
- builds/unix/unixddef.mk, builds/win32/w32-bccd.mk,
- builds/win32/w32-dev.mk (BUILD_DIR): Fix path.
-
- * builds/unix/configure.ac, builds/unix/configure: Updated.
- * builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'.
-
-2003-06-07 Werner Lemberg <[email protected]>
-
- * src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to
- make it compile.
-
- * devel/ftoption.h: Updated.
-
-2003-06-07 Detlef Würkner <[email protected]>
-
- * include/freetype/internal/psaux.h, src/truetype/ttgload.h:
- s/index/idx/ to fix compiler warnings.
-
- * src/sfnt/ttcmap0.c (tt_face_build_cmaps): Use more `volatile' to
- fix compiler warning.
-
- * src/gzip/ftgzip.c (BUILDFIXED): Removed.
- * src/gzip/inftrees.c (inflate_trees_fixed) [!BUILDFIXED]: Use
- FT_UNUSED to remove compiler warning.
-
-2003-06-06 Werner Lemberg <[email protected]>
-
- * include/freetype/ftstroker.h: Renamed to...
- * include/freetype/ftstroke.h: This.
-
- * src/base/ftstroker.c: Renamed to...
- * src/base/ftstroke.c: This.
-
- * include/freetype/config/ftheader.h (FT_STROKER_H): Updated.
-
- * src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
- Updated.
-
- * src/pcf/pcfdriver.c: Renamed to...
- * src/pcf/pcfdrivr.c: This.
- * src/pcf/pcfdriver.h: Renamed to...
- * src/pcf/pcfdrivr.h: This.
-
- * src/pcf/Jamfile, src/pcf/rules.mk: Updated.
-
-2003-06-05 Wenlin Institute (Tom Bishop) <[email protected]>
-
- * src/base/ftmac.c (file_spec_from_path) [TARGET_API_MAC_CARBON]:
- Add `#if !defined(__MWERKS__)'.
-
-2003-06-05 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/psaux.h (T1_FieldType): Add
- T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
- (T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros.
- * src/psaux/psobjs.c (ps_parser_load_field): Handle
- T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
-
- * src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration.
- (CFF_FIELD_FIXED_1000): New macro.
- (cff_parser_run): Handle cff_kind_fixed_thousand.
- * src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale.
- * src/cff/cffload (cff_subfont_load): Fix default values of
- expansion_factor and blue_scale.
-
- * src/cif/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
- for blue_scale.
-
- * src/pshinter/pshglob.c (psh_globals_new): Fix default value of
- blue_scale.
-
-2003-06-04 Wolfgang Domröse <[email protected]>
-
- * include/freetype/internal/ftdriver.h,
- include/freetype/internal/ftobjs.h,
- include/freetype/internal/psaux.h, src/cid/cidgload.c,
- src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
- src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
- src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
- src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
- src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
- src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
- src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
- Many casts and slight argument type changes to make it work with
- a 16bit compiler.
-
-2003-06-04 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftoption.h: Defining
- TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING by default is a bad idea
- since some fonts (e.g. Arial) produce worse results than without
- hinting. Reverted.
-
-2003-06-04 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph)
- [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call
- FT_GlyphLoader_CheckPoints before adding phantom points. This fixes
- a segfault bug with fonts (e.g. htst3.ttf) which have nested
- subglyphs more than one level deep. Reported by Anthony Fok.
-
- * include/freetype/config/ftoption.h: Define
- TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
- TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and
- TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new
- default.
-
-2003-06-03 Werner Lemberg <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_hint_edges): Removed. Just a
- wrapper for ah_hint_edges.
- (ah_hint_edges): Renamed to...
- (ah_hinter_hint_edges): This.
-
- * src/base/ftobjs.c (FT_Set_Hint_Flags): Removed. Unused.
-
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec),
- include/freetype/internal/psaux.h (T1_DecoderRec),
- src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field.
- Unused.
-
- * src/cff/cffgload.c (cff_builder_init): Updated.
- (cff_decoder_parse_charstrings) <cff_op_endchar>: Call hinter->apply
- with decoder->hint_mode instead of builder->hint_flags.
- * src/psaux/t1decode.c (t1_decoder_init): Updated.
-
- * src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which
- increased root->height by 15% if the line gap was zero. There exist
- fonts (containing e.g. form drawing characters) which intentionally
- have a zero line gap value.
-
- * src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj):
- Removed. Unused.
- Updated all callers.
-
-2003-06-02 Werner Lemberg <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init): Use symbolic names for
- Adobe specific encoding IDs (there was a wrong EID value for custom
- encoding).
-
- * src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'.
- * src/cff/cffcmap.c (cff_cmap_encoding_init,
- cff_cmap_encoding_done): Updated.
- (cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use
- 256 as limit for character code.
-
-2003-06-01 Werner Lemberg <[email protected]>
-
- * src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from
- 2003-03-20.
-
-2003-05-31 Werner Lemberg <[email protected]>
-
- * include/freetype/fttrigon.h (FT_Vector_Normalize): Removed.
-
-2003-05-31 <[email protected]>
-
- * src/type1/t1objs.c (T1_Face_Init): Improve algorithm for guessing
- the font style by ignoring spaces and hyphens.
-
- * builds/unix/freetype2.in: Fix `Version' field.
-
-2003-05-30 Werner Lemberg <[email protected]>
-
- Avoid overwriting of numeric font dictionary entries for synthetic
- fonts. Additionally, some entries were handled as `integer' instead
- of `number'.
-
- * include/freetype/internal/psaux.h (T1_FieldType): Add
- T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and
- T1_FIELD_TYPE_FIXED_P.
- (T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros.
- * src/psaux/psobjs.c (ps_parser_load_field): Handle new field types.
-
- * include/freetype/internal/cfftypes.h (CFF_FontRecDict),
- src/cff/cfftoken.h: Change type of underline_position and
- underline_thickness to FT_Fixed.
- * src/cff/cffload.c (cff_subfont_load): Fix default values of
- underline_position and underline_thickness.
- * src/cff/cffobjs.c (cff_face_init): Set underline_position
- and underline_thickness in `root'.
-
- * include/freetype/internal/t1types.h (T1_Font): Change point_type
- and stroke_width to pointers.
- * include/freetype/t1tables.h (PS_FontInfo): Change italic_angle,
- is_fixed_pitch, underline_position, and underline_thickness to
- pointers.
- * src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch,
- underline_position, and underline_thickness to pointers. Change
- the type of the latter two to `fixed'.
- Change type of stroke_width to `fixed' and make it a pointer.
- Change paint_type to pointer.
- * src/type1/t1objs.c (T1_Face_Done): Updated.
- (T1_Face_Init): Updated.
- Fix assignment of underline_position and underline_thickness.
-
- * src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch,
- underline_position, and underline_thickness to pointers. Change
- the type of the latter two to `fixed'.
- Change type of stroke_width to `fixed'.
- * src/cid/cidobjs.c (cid_face_done): Updated.
- (cid_face_init): Updated.
- Fix assignment of underline_position and underline_thickness.
-
- * src/type42/t42parse.c: Change italic_angle, is_fixed_pitch,
- underline_position, and underline_thickness to pointers. Change the
- type of the latter two to `fixed'.
- Change type of stroke_width to `fixed' and make it a pointer.
- Change paint_type to pointer.
- * src/type42/t42objs.c (T42_Face_Init): Updated.
- Fix assignment of underline_position and underline_thickness.
- (T42_Face_Done): Updated.
-
- * src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning.
- * src/pshinter/pshglob.c, src/pshinter/pshglob.h
- (psh_globals_set_scale): Make it a local function.
-
- * test/gview.c: Fix renaming ps3->ps typo.
- Formatting.
-
-2003-05-29 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed.
- * src/pshinter/pshalgo.h: Removed.
-
- * src/pshinter/pshalgo3.[ch]: Renamed to...
- * src/pshinter/pshalgo.[ch]: New files.
- s/PSH3/PSH/.
- s/psh3/psh/.
- s/ps3/ps/.
-
- * src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated.
- * src/pshinter/rules.mk, src/pshinter/Jamfile: Updated.
-
- * src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented
- out.
-
- * tests/gview.c: Remove code for pshalgo1 and pshalgo2.
- Updated.
-
-2003-05-28 Martin Zinser <[email protected]>
-
- * vms_make.com: Reworked support for shareable images on VMS. The
- first version was kind of a hack; the current implementation of the
- procedure to extract the required symbols is much cleaner.
-
- Reworked creation of MMS files, avoiding a number of temporary files
- which were created in the previous version.
-
- Further work on creating descrip.mms files on the fly.
-
- * builds/vms/descrip.mms, src/autohint/descrip.mms,
- src/type1/descrip.mms: Removed.
-
-2003-05-28 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip
- contours with only a single point to avoid segfault.
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Activate code for
- handling `origin'.
-
-2003-05-24 Werner Lemberg <[email protected]>
-
- * src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION):
- Removed since unused.
-
-2003-05-21 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro
- for strcat.
-
- * src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/.
- (parse_font): s/memcpy/ft_memcpy/.
- (is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/.
- * src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]:
- s/strlen/ft_strlen/.
- s/strcat/ft_strcat/.
- s/strcpy/ft_strcpy/.
- * src/gzip/zutil.h: s/memset/ft_memset/.
- s/memcmp/ft_memcmp/.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
- (PCF_Face_Init): Test for charset registry case-insensitively.
-
- * src/gzip/ftgzip.c (ft_gzip_fil_io): Revert change from yesterday;
- it has already been fixed differently.
-
- * src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
- if-clause.
-
-2003-05-21 Martin Zinser <[email protected]>
-
- * t1load.c (parse_blend_axis_types): Fix compiler warning.
-
- * descrip.mms: Removed. Now created by...
-
- * vms_make.com: New file.
-
-2003-05-21 Weiqi Gao <[email protected]>
-
- * src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta'
- to prevent infinite loop.
-
-2003-05-21 Lars Clausen <[email protected]>
-
- * docs/VERSION.DLL: Provide better autoconf snippet to check
- FreeType version.
-
-2003-05-21 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (open_face): Free `internal' not
- `face->internal' in case of error to avoid possible segfault.
-
- * src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we
- actually have an outline.
-
-2003-05-20 David Chester <[email protected]>
-
- * src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
- y_scale so that the top of non-capital letters is aligned on a pixel
- boundary whenever possible.
-
- * src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase
- m's maintain their symmetry.
-
-2003-05-20 Werner Lemberg <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph): Oops! David's
- patch from yesterday has been resolved already in a different
- way. Reverted.
-
-2003-05-19 David Chester <[email protected]>
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph): Don't scale
- y_scale locally but face->size->metrics.y_scale.
-
-2003-05-19 David Turner <[email protected]>
-
- * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Select proper start
- value for `hi' to avoid infinite loop.
-
-2003-05-18 Yong Sun <[email protected]>
-
- * src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test.
-
-2003-05-18 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]:
- New macro.
- * src/base/ftobjs.c: Use it to control mac font support on non-mac
- platforms.
-
-2003-05-17 George Williams <[email protected]>
-
- Implement partial support of Mac fonts on non-Mac platforms.
-
- * src/base/ftobjs.c (memory_stream_close, new_memory_stream,
- open_face_from_buffer, Mac_Read_POST_Resource,
- Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face)
- [!FT_MACINTOSH]: New functions.
- (FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face.
-
-2003-05-17 Werner Lemberg <[email protected]>
-
- * src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only
- if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by
- zero since FNT and friends don't define `face->units_per_EM').
-
-2003-05-15 David Turner <[email protected]>
-
- * src/base/fttrigon.c (FT_Vector_Rotate): Avoid rounding errors
- for small values.
-
-2003-05-15 Werner Lemberg <[email protected]>
-
- * src/autohint/ahtypes.h (AH_PointRec): Remove unused `in_angle'
- and `out_angle' fields.
-
-2003-05-14 George Williams <[email protected]>
-
- * src/base/ftmac.c (FT_New_Face_From_SFNT): Handle CFF files also.
-
-2003-05-14 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h: Fix typo in comment
- (FT_HAS_FIXED_SIZES).
-
-2003-05-10 Dan Williams <[email protected]>
-
- * builds/unix/aclocal.m4: Comment out definition of
- `allow_undefined_flag' for Darwin 1.3.
- * builds/unix/configure.ac: Add option --with-old-mac-fonts.
- * builds/unix/ltmain.sh: Fix version numbering for Darwin 1.3.
- * builds/unix/configure: Regenerated.
-
- * include/freetype/config/ftconfig.h: Fix conditions for defining
- `FT_MACINTOSH'.
- * src/base/ftbase.c: Include `ftmac.c' conditionally.
- * src/base/ftmac.c: Handle __GNUC__.
-
-2003-05-07 YAMANO-UCHI Hidetoshi <[email protected]>
-
- * src/cid/cidload.c (is_alpha): Removed.
- (cid_parse_dict): Use `cid_parser_skip_alpha' instead of `is_alpha'.
-
-2003-05-07 Werner Lemberg <[email protected]>
-
- * src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed.
-
-2003-05-07 David Turner <[email protected]>
-
- * src/autohint/ahglyph.c (ah_setup_uv): Exchange `for' loop and
- `switch' statement to make it run faster.
- (ah_outline_compute_segments): Reset `segment->score' and
- `segment->link'.
- (ah_outline_link_segments): Provide alternative code which does
- the same but runs much faster.
- Handle major direction also.
- (ah_outline_compute_edges): Scale `edge_distance_threshold' down
- after rounding instead of scaling comparison value in loop.
-
- * src/autohint/ahhint.c (ah_hinter_align_stong_points): Provide
- alternative code which runs faster.
- Handle `before->scale == 0'.
-
- * src/autohint/ahtypes.h (AH_SegmentRec): Move some fields down.
- (AH_EdgeRec): Move some fields in structure.
- New field `scale'.
-
- * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Use binary search.
-
-2003-05-02 Werner Lemberg <[email protected]>
-
- * src/autohint/ahoptim.c (LOG): Renamed to...
- (AH_OPTIM_LOG): This.
- (AH_Dump_Springs): Fix log message format.
-
- * src/autohint/ahhint.c (ah_hint_edges_3): Renamed to...
- (ah_hint_edges): This.
-
-2002-05-02 Keith Packard <[email protected]>
-
- * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'.
-
-2003-05-01 Werner Lemberg <[email protected]>
-
- * src/autohint/ahglyph.c (ah_test_extrema): Renamed to...
- (ah_test_extremum): This.
-
-2003-04-28 Werner Lemberg <[email protected]>
-
- * builds/unix/configure.ac: Generate `freetype.pc' from
- `freetype.in'.
- * builds/unix/configure: Regenerated.
- * builds/unix/install.mk (install, uninstall): Handle `freetype.pc'.
-
-2003-04-28 Gustavo J. A. M. Carneiro <[email protected]>
-
- * builds/unix/freetype2.in: New file. Contains building information
- for the `pkg-config' package.
-
-2003-04-28 David Turner <[email protected]>
-
- * src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for
- `glyph_index'.
-
-2003-04-25: Graham Asher <[email protected]>
-
- Added the optional unpatented hinting system for TrueType. It
- allows typefaces which need hinting to produce correct glyph forms
- (e.g., Chinese typefaces from Dynalab) to work acceptably without
- infringing Apple patents. This system is compiled only if
- TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
- ftoption.h.
-
- * include/freetype/ttunpat.h: New file. Defines
- FT_PARAM_TAG_UNPATENTED_HINTING.
-
- * include/freetype/config/ftheader.h (FT_TRUETYPE_UNPATENTED_H): New
- macro to use when including ttunpat.h.
-
- * include/freetype/config/ftoption.h
- (TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
- TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): New configuration macros
- (not defined, but in comments) for the unpatented hinting system.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec)
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: New element `FT_Bool
- unpatented_hinting'.
-
- * src/truetype/ttinterp.c (NO_APPLE_PATENT, APPLE_THRESHOLD):
- Removed.
- (GUESS_VECTOR): New macro.
- (TT_Run_Context) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
- Set `both_x_axis'.
- (tt_default_graphics_state)
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Updated.
- (Current_Ratio) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
- Handle `unpatented_hinting'.
- (Direct_Move) [NO_APPLE_PATENT]: Removed.
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
- (Project, FreeProject)
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
- (Compute_Funcs) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
- Implement unpatented hinting.
- (DO_SPVTCA, DO_SFVTCA, DO_SPVTL, DO_SFVTL, DO_SPVFS, DO_SFVFS,
- Ins_SDPVTL): Call `GUESS_VECTOR'.
- (DO_GPV, DO_GFV) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
- Handle `unpatented_hinting'.
- (Compute_Point_Displacement) [NO_APPLE_PATENT]: Removed.
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
- hinting.
- (Move_Zp2_Point, Ins_SHPIX, Ins_DELTAP, Ins_DELTAC)
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
- hinting.
- (TT_RunIns): Updated.
-
- * src/truetype/ttobjs.c
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Include
- FT_TRUETYPE_UNPATENTED_H.
- (tt_face_init) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
- TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING]: Check
- FT_PARAM_TAG_UNPATENTED_HINTING.
-
- * src/truetype/ttobjs.h (TT_GraphicsState)
- [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Add `both_x_axis'.
-
-2003-04-25 Werner Lemberg <[email protected]>
-
- * src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first
- argument.
- (bdf_get_font_property): Use `const' for third argument.
- Updated all callers.
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height
- similar to the PCF driver.
- * src/bdf/bdf.h (_hashnode): Use `const' for `key'.
- Updated.
-
- * src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
- is declared twice. It is perhaps better to modify the zlib source
- files directly instead of this hack.
- (zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
- to make build with g++ successful.
-
-2003-04-24 Manish Singh <[email protected]>
-
- * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
- (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Split on `-'
- also for searching the style name.
-
-2003-04-24 David Turner <[email protected]>
-
- * src/pcf/pcfread.c (pcf_load_font): Fixed the computation of
- face->num_glyphs. We must increase the value by 1 to respect the
- convention that glyph index 0 always corresponds to the `missing
- glyph'.
-
-2003-04-24 Werner Lemberg <[email protected]>
-
- * builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@.
-
-2003-04-24 Dieter Baron <[email protected]>
-
- * builds/unix/freetype-config.in (cflags): Emit FreeType 2's include
- files first. Otherwise there are conflicts with FreeType 1
- installed simultaneously.
-
-2003-04-23 Werner Lemberg <[email protected]>
-
- Fixing bugs reported by Nelson Beebe.
-
- * src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused
- variable `in_path'.
-
- * src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of
- second argument to `FT_Byte*'.
- * include/freetype/internal/ftobjs.h: Updated.
-
- * src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'.
- (_bdf_parse_glyphs): Remove unused variable `next'.
- Mark `call_data' as unused.
-
- * src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable
- `plast'.
-
- * src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to
- actually use `error'.
- (pcf_load_font): Remove unused variable `avgw'.
-
- * src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type
- to `void'.
- Mark `error' as unused.
- * src/pfr/pfrobjs.h: Updated.
- * src/pfr/pfrdrivr.c (pfr_get_kerning): Updated.
-
- * src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable
- `format_tag'.
-
- * src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove
- unused variable `start'.
- (tt_cmap10_char_next): Remove unused variable `result'
-
- * src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused.
-
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as
- unused.
-
- * src/type1/t1objs.c (T1_Face_Init): Remove unused variable
- `pshinter'.
-
- * src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded'
- only for FT_CONFIG_OPTION_INCREMENTAL.
-
-2003-04-23 Akito Hirai <[email protected]>
-
- * src/sfnt/ttcmap0.c (tt_cmap4_validate): Provide a weak variant
- of the glyph ID bounding check if FT_VALIDATE_TIGHT is not active.
- Without this change, many CJK fonts from Dynalab are rejected.
-
-2003-04-23 Joe Marcus Clarke <[email protected]>
-
- * src/base/ftbdf.c (FT_Get_BDF_Property): Check for valid
- `get_interface'.
-
-2003-04-23 Paul Miller <[email protected]>
-
- * src/base/ftmac.c (parse_fond): Fix handling of style names.
-
-2003-04-23 Werner Lemberg <[email protected]>
-
- * src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist
- instead of FT_Uint for `len'.
-
-2003-04-22 Werner Lemberg <[email protected]>
-
- * src/gzip/ftgzip.c (zcalloc) [!FT_CONFIG_OPTION_SYSTEM_ZLIB]:
- Convert K&R format to modern C usage.
- (FT_Stream_OpenGzip): Use long constant.
-
-2003-04-21 Werner Lemberg <[email protected]>
-
- * src/cache/ftccache.c (ftc_cache_lookup): Remove shadow declaration
- of `manager'.
-
-2003-04-20 Werner Lemberg <[email protected]>
-
- * doc/INSTALL.UNX: Cleaned up.
-
-2003-04-09 Torrey Lyons <[email protected]>
-
- * src/base/ftmac.c (open_face_from_buffer): Removed a double-free
- bug that had nasty consequences when trying to open an `invalid'
- font on a Mac.
-
-2003-04-09 Mike Fabian <[email protected]>
-
- * src/bdf/bdfdrivr.h (BDF_encoding_el), src/pcf/pcf.h
- (PCF_EncodingRec): Changed FT_Short to FT_UShort in order to be able
- to access more than 32768 glyphs in fonts.
-
-2003-04-08 David Turner <[email protected]>
-
-
- * Version 2.1.4 released.
- =========================
-
-
-2003-04-03 Martin Muskens <[email protected]>
-
- * src/type1/t1load.c (T1_Open_Face): Fixed the code to make it
- handle special cases where a font only contains a `.notdef' glyph
- (happens in PDF-embedded fonts). Otherwise, FT_Panic was called.
-
-2003-03-27 David Turner <[email protected]>
-
- * README: Udpated.
-
- * README.UNX: Removed (now replaced by docs/INSTALL.UNX).
-
- * src/pshinter/pshalgo3.c: The hinter now performs as in 2.1.3 and
- will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is
- used.
- (psh3_dimension_quantize_len): Enabled.
- (psh3_hint_align): Enable commented code.
- (psh3_hint_align_light): Commented out.
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Changed the default
- computations to include rounding in all cases; this is required to
- provide accurate kerning data when native TrueType hinting is
- enabled.
-
- * src/type1/t1load.c (is_name_char): The Type 1 loader now accepts
- more general names according to the PostScript specification (the
- previous one was too restrictive).
- (parse_font_name, parse_encoding, parse_charstrings, parse_dict):
- Use `is_name_char'.
- (parse_subrs): Handle empty arrays.
-
-2003-03-20 David Turner <[email protected]>
-
- Serious rewriting of the documentation.
-
- * docs/BUGS, docs/BUILD: Removed.
- * docs/DEBUG.TXT: Renamed to...
- * docs/DEBUG: This.
- * docs/CUSTOMIZE, docs/TRUETYPE, docs/UPGRADE.UNX: New files.
- * docs/INSTALL.ANY, docs/INSTALL.UNX, docs/INSTALL.GNU New files,
- containing platform specific information previously in INSTALL.
- * docs/readme.vms: Renamed to...
- * docs/INSTALL.VMS: This.
-
- * docs/*: Updated.
-
- Introduced three new functions to deal with glyph bitmaps within
- FT_GlyphSlot objects:
-
- ft_glyphslot_free_bitmap
- ft_glyphslot_alloc_bitmap
- ft_glyphslot_set_bitmap
-
- These functions are much more convenient to use than managing the
- FT_GLYPH_OWN_BITMAP flag manually.
-
- * include/freetype/internal/ftobjs.h (ft_glyphslot_free_bitmap,
- ft_glyphslot_alloc_bitmap, ft_glyphslot_set_bitmap): New functions.
- * src/base/ftobjs.c: Implement them.
- (ft_glyphslot_done): Use ft_glyphslot_free_bitmap.
-
- * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdriver.c
- (PCF_Glyph_Load): Remove unused variable `memory'.
- Use `ft_glyphslot_*' functions.
- Don't set `FT_GLYPH_OWN_BITMAP'.
-
- * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Use
- `ft_glyphslot_alloc_bitmap'.
-
- * src/sfnt/ttsbit.c (Load_SBit_Image): Change 5th argument to type
- `FT_GlyphSlot'.
- Adding argument `depth' to handle recursive calls.
- Use `ft_glyphslot_alloc_bitmap'.
- (tt_face_load_sbit_image): Remove unused variable `memory'.
- Don't handle `FT_GLYPH_OWN_BITMAP'.
- Update call to Load_SBit_Image.
-
- * src/type42/t42objs.c (ft_glyphslot_clear): Renamed to...
- (t42_glyphslot_clear): This. Updated caller.
- Call `ft_glyphslot_free_bitmap'.
-
- * src/winfonts/winfnt.c (FNT_Load_Glyph): Use
- `ft_glyphslot_set_bitmap'.
- Don't handle `FT_GLYPH_OWN_BITMAP'.
-
- * src/cache/ftlru.c (FT_LruList_Lookup): Fixed an invalid assertion
- check.
-
- * src/autohint/ahglyph.c (ah_outline_load): Add two scaling
- arguments.
- * src/autohint/ahglyph.h: Updated.
- * src/autohint/ahhint.c (ah_hinter_load): Updated.
- * src/autohint/ahglobal.c (ah_hinter_compute_widths): Updated.
-
- * src/cache/ftccache.c (ftc_family_done): Fixed small bug that could
- crash the cache in rare circumstances (mostly with broken fonts).
-
-2003-03-15 David Turner <[email protected]>
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a small rounding
- bug. Actually, it seems that previous versions of FreeType didn't
- perform TrueType rounding exactly as appropriate.
-
-2003-03-14 David Turner <[email protected]>
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): Fixing the small
- TrueType native rendering glitches; they came from a small rounding
- error.
-
-2003-03-13 David Turner <[email protected]>
-
- Added new environment variables to control memory debugging with
- FreeType. See the description of `FT2_DEBUG_MEMORY',
- `FT2_ALLOC_TOTAL_MAX' and `FT2_ALLOC_COUNT_MAX' in DEBUG.TXT.
-
- * src/base/ftdbgmem.c (FT_MemTableRec): Add `alloc_count',
- `bound_total', `alloc_total_max', `bound_count', `alloc_count_max'.
- (ft_mem_debug_alloc): Handle new variables.
- (ft_mem_debug_init): s/FT_DEBUG_MEMORY/FT2_DEBUG_MEMORY/.
- Handle new environment variables.
- * docs/DEBUG.TXT: Updated.
-
- Fixed the cache sub-system to correctly deal with out-of-memory
- conditions.
-
- * src/cache/ftccache.c (ftc_node_destroy): Comment out generic
- check.
- (ftc_cache_lookup): Implement loop.
- * src/cache/ftccmap.c: Define FT_COMPONENT.
- * src/cache/ftcsbits.c (ftc_sbit_node_load): Handle
- FT_Err_Out_Of_Memory.
- * src/cache/ftlru.c: Include FT_INTERNAL_DEBUG_H.
- (FT_LruList_Lookup): Implement loop.
-
- * src/pfr/pfrobjs.c (pfr_face_done): Fix memory leak.
- (pfr_face_init): Fixing compiler warnings.
-
- * src/psaux/psobjs.c (reallocate_t1_table): Fixed a bug (memory
- leak) that only happened when a try to resize an array would end in
- an out-of-memory condition.
-
- * src/smooth/ftgrays.c (gray_convert_glyph): Removed compiler
- warnings / volatile bug.
-
- * src/truetype/ttobjs.c (tt_glyphzone_done): Removed segmentation
- fault that happened in tight memory environments.
-
-2003-02-28 Pixel <[email protected]>
-
- * src/gzip/ftgzip.c (ft_gzip_file_done): Fixed memory leak: The ZLib
- stream was not properly finalized.
-
-2003-02-25 Anthony Fok <[email protected]>
-
- * src/cache/ftccmap.c: Include FT_TRUETYPE_IDS_H.
- (ftc_cmap_family_init): The cmap cache now
- supports UCS-4 charmaps when available in Asian fonts.
-
- * src/sfnt/ttload.c, src/base/ftobjs.c: Changed `asian' to `Asian'
- in comments.
-
-2003-02-25 David Turner <[email protected]>
-
- * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Fixed a bug that
- caused FreeType to loop endlessly when trying to read certain
- compressed gzip files. The following test reveals the bug:
-
- touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz
-
- Several fixes to the PFR font driver:
-
- - The list of available embedded bitmaps was not correctly set in
- the root FT_FaceRec structure describing the face.
-
- - The glyph loader always tried to load the outlines when
- FT_LOAD_SBITS_ONLY was specified.
-
- - The table loaded now scans for *undocumented* elements of a
- physical font's auxiliary data record. This is necessary to
- retrieve the `real' family and style names.
-
- NOTE THAT THESE CHANGES THE FAMILY NAME OF MANY PFR FONTS!
-
- * src/pfr/pfrload.c (pfr_aux_name_load): New function.
- (pfr_phy_font_done): Free `family_name' and `style_name' also.
- Remove unused variables.
- (pfr_phy_font_load): Extract useful information from the auxiliary
- bytes.
-
- * src/pfr/pfrobjs.c (pfr_face_done): Set pointers to NULL.
- (pfr_face_init): Provide fallback values for `family_name' and
- `style_name'.
- Handle strikes.
- (pfr_slot_load): Handle FT_LOAD_SBITS_ONLY.
- * src/pfr/pfrtypes.h (PFR_PhyFontRec): Add fields `ascent',
- `descent', `leading', `family_name', and `style_name'.
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a rounding bug
- when computing the scale factors for a given character size in
- points with resolution.
-
- * devel/ft2build.h, devel/ftoption.h: New files (in a new directory)
- which are special development versions of include/ft2build.h and
- include/freetype/config/ftoption.h, respectively.
-
-2003-02-18 David Turner <[email protected]>
-
- Fixing the slight distortion problem that occurred due to the latest
- auto-hinter changes.
-
- * src/base/ftobjs.c (ft_recompute_scaled_metrics): Fix rounding.
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): New variable `metrics2'.
- [!TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Removed.
-
- * src/truetype/ttobjs.h (TT_SizeRec): New field `metrics'.
- * src/truetype/ttobjs.c (Reset_Outline_Size): Fix initialization of
- `metrics'.
- [FT_CONFIG_CHESTER_ASCENDER]: Code removed.
- (Reset_SBit_Size): Fix initialization of `metrics'.
-
- * src/truetype/ttinterp.c (TT_Load_Context): Fix initialization of
- `exec->metrics'.
-
- * src/autohint/ahhint.c (ah_hinter_load): Disabled the advance width
- `correction' which seemed to provide more trouble than benefits.
-
-2003-02-13 Graham Asher <[email protected]>
-
- Changed the incremental loading interface in a way that makes it
- simpler and allows glyph metrics to be changed (e.g., by adding a
- constant, as required by CFF fonts) rather than just overridden.
- This was required to make the GhostScript-to-FreeType bridge work.
-
- * src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_INCREMENTAL]:
- Allow metrics to be overridden.
- * src/cid/cidgload.c (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL]:
- Ditto.
-
- * src/truetype/ttgload.c (load_truetype_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Simplify.
- (compute_glyph_metrics) [FT_CONFIG_OPTION_INCREMENTAL]: Code block
- moved down.
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-
- * include/freetype/ftincrem.h: Updated.
-
-2003-01-31 David Turner <[email protected]>
-
- * docs/CHANGES, docs/VERSION.DLL, docs/TODO: Updating documentation
- for the 2.1.4 release.
-
- * builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/index.html: Updating the project file for
- 2.1.4.
-
- * src/gzip/adler32.c, src/gzip/ftgzip.c, src/gzip/infblock.c,
- src/gzip/infcodes.c, src/gzip/inflate.c, src/gzip/inftrees.c,
- src/gzip/infutil.c: Removed old-style (K&R)function definitions.
- This avoids warnings with Visual C++ at its most pedantic mode.
-
- * src/pfr/pfrsbit.c: Removed compiler warnings.
-
- * src/cache/ftccmap.c (ftc_cmap_family_init): Changed an FT_ERROR
- into an FT_TRACE1 since it caused `ftview' and others to dump too
- much junk when trying to display a waterfall with a font without a
- Unicode charmap (e.g. SYMBOL.TTF).
-
- Implemented FT_CONFIG_CHESTER_BLUE_SCALE, corresponding to the last
- patch from David Chester, but with a much simpler (and saner)
- implementation.
-
- * src/autohint/ahhint.c (ah_hinter_load_glyph)
- [FT_CONFIG_CHESTER_BLUE_SCALE]: Try to optimize the y_scale so that
- the top of non-capital letters is aligned on a pixel boundary
- whenever possible.
-
- * src/base/ftobjs.c (FT_Set_Char_Size)
- [FT_CONFIG_CHESTER_BLUE_SCALE]: Round differently.
- * src/truetype/ttdriver.c (Set_Char_Sizes)
- [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Do some rounding only
- if this macro is defined.
-
- * src/truetype/ttobjs.c (Reset_Outline_Size)
- [FT_CONFIG_CHESTER_ASCENDER]: Round differently.
-
- * src/pshinter/pshalgo3.c: Improved the Postscript hinter. Getting
- rid of stem snapping seems to work well here (though the stems are
- still slightly moved to increase contrast).
- (psh3_dimension_quantize_len): Commented out.
- (psh3_hint_align_light): New function.
- (psh3_hint_align): Comment out some code.
-
- THIS IMPROVES ANTI-ALIASED RENDERING, BUT MONOCHROME AND LCD MODES
- STILL SUCK.
-
-2003-01-22 David Chester <[email protected]>
-
- * src/autohint/ahhint.c (ah_compute_stem_width): Small fix to the
- stem width optimization.
-
-2003-01-22 David Turner <[email protected]>
-
- Adding a new API `FT_Get_BDF_Property' to retrieve the BDF
- properties of a given PCF or BDF font.
-
- * include/freetype/ftbdf.h (FT_PropertyType): New enumeration.
- (BDF_Property, BDF_PropertyRec): New structure.
- FT_Get_BDF_Property): New function.
- * include/freetype/internal/bdftypes.h: Include FT_BDF_H.
- (BDF_GetPropertyFunc): New function pointer.
-
- * src/base/ftbdf.c (test_font_type): New helper function.
- (FT_Get_BDF_Charset_ID): Use `test_font_type'.
- (FT_Get_BDF_Property): New function.
-
- * src/bdf/bdfdrivr.c: Include FT_BDF_H.
- (bdf_get_bdf_property, bdf_driver_requester): New functions.
- (bdf_driver_class): Use `bdf_driver_requester'.
-
- * src/pcf/pcfdrivr.c: Include FT_BDF_H.
- (pcf_get_bdf_property, pdc_driver_requester): New functions
- (pcf_driver_class): Use `pcf_driver_requester'.
-
- * src/pcf/pcfread.c: Include `pcfread.h'.
- (pcf_find_property): Decorate it with FT_LOCAL_DEF.
- * src/pcf/pcfread.h: New file, providing `pcf_find_property'.
-
- * src/sfnt/ttload.c (sfnt_dir_check): Relaxed the `head' table size
- verification to accept a few broken fonts who pad the size
- incorrectly (the table should be padded, but its `size' field
- shouldn't according to the specification).
-
-2003-01-18 Werner Lemberg <[email protected]>
-
- * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
- --copy' from libtool 1.4.3.
- * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
- automake 1.7.1.
- * builds/unix/configure: Regenerated with autoconf 2.54.
- * 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
- `automake' CVS module at subversions.gnu.org.
-
-2003-01-15 David Turner <[email protected]>
-
- * include/freetype/freetype.h: Fixed documentation for
- FT_Size_Metrics.
-
-2003-01-15 James Su <[email protected]>
-
- * src/gzip/ftgzip.c (ft_gzip_check_header): Bugfix: couldn't read
- certain gzip-ed font files (typo: `&&' -> `&').
-
-2003-01-15 Huw D M Davies <[email protected]>
-
- Added a Windows .FNT specific API (mostly for Wine). Also fixed a
- nasty bug in the header loader which would cause invalid memory
- overwrites.
-
- * include/freetype/config/ftheader.h (FT_WINFONTS_H): New macro
- for ftwinfnt.h.
- * include/freetype/internal/fnttypes.h: Include FT_WINFONTS_H.
- (FNT_FontRec): Updated.
- Move Windows FNT definition to...
- * include/freetype/ftwinfnt.h: This new file.
- (FT_WinFNT_HeaderRec): Rename `reserved2' to `reserved1'.
- * src/base/ftwinfnt.c: New file, providing `FT_Get_WinFNT_Header'.
- * src/winfonts/winfnt.c (winfnt_header_fields): Updated.
- Rename `reserved2' to `reserved1'.
- (fnt_font_load): Updated.
-
- * src/base/Jamfile, src/base/descrip.mms, src/base/rules.mk:
- Updated.
-
-2003-01-14 Graham Asher <[email protected]>
-
- * include/freetype/ftglyph.h, src/base/ftglyph.c: Added `const' to
- the type of the first argument to FT_Matrix_Multiply, which isn't
- changed -- this adds documentation and convenience.
-
-2003-01-13 Graham Asher <[email protected]>
-
- * src/sfnt/ttload.c (tt_face_load_metrics)
- [FT_CONFIG_OPTION_INCREMENTAL]: TrueType typefaces without
- horizontal metrics (without the `hmtx' table) are now tolerated if
- an incremental interface has been specified that has a
- get_glyph_metrics function, implying that metrics will be supplied
- from outside. This happens for certain Type 42 fonts passed from
- GhostScript.
-
-2003-01-11 David Chester <[email protected]>
-
- Patches to the auto-hinter in order to slightly improve the output.
- Note that everything is controlled through the new
- FT_CONFIG_OPTION_CHESTER_HINTS defined in `ftoption.h'. There are
- also individual FT_CONFIG_CHESTER_XXX macros to control individual
- `features'.
-
- Note that all improvements are enabled by default, but can be
- tweaked for optimization and testing purposes. The configuration
- macros will most likely disappear in the short future.
-
- * include/freetype/config/ftoption.h
- (FT_CONFIG_OPTION_CHESTER_HINTS): New macro.
- (FT_CONFIG_CHESTER_{SMALL_F,ASCENDER,SERIF,STEM,BLUE_SCALE})
- [FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual
- features.
-
- * src/autohint/ahglobal.c (blue_chars) [FT_CONFIG_CHESTER_SMALL_F]:
- Add blue zone for `fijkdbh'.
- * src/autohint/ahglobal.h (AH_IS_TOP_BLUE)
- [FT_CONFIG_CHESTER_SMALL_F]: Use `AH_BLUE_SMALL_F_TOP'.
- * src/autohint/ahglyph.c (ah_outline_compute_edges)
- [FT_CONFIG_CHESTER_SERIF]: Use `AH_EDGE_SERIF'.
- (ah_outline_compute_blue_edges) [FT_CONFIG_CHESTER_SMALL_F]:
- Increase threshold for `best_dist'.
- * src/autohint/ahhint.c (ah_compute_stem_width)
- [FT_CONFIG_CHESTER_SERIF]: Provide new version for improved serif
- handling.
- (ah_align_linked_edge) [FT_CONFIG_CHESTER_SERIF]: Use special
- version of `ah_compute_stem_width'.
- (ah_hint_edges_3) [FT_CONFIG_CHESTER_STEM]: A new algorithm for stem
- alignment when stem widths are less than 1.5 pixels wide centers the
- stem slightly off-center of the center of a pixel (this increases
- sharpness and consistency).
- [FT_CONFIG_CHESTER_SERIF]: Use special version of
- `ah_compute_stem_width'.
- * src/autohint/ahtypes.h [FT_CONFIG_CHESTER_SMALL_F]: Add
- `AH_BLUE_SMALL_F_TOP'.
-
-2003-01-11 David Turner <[email protected]>
-
- * include/freetype/internal/fnttypes.h (WinFNT_HeaderRec): Increase
- size of `reserved2' to avoid memory overwrites.
-
-2003-01-08 Huw Davies <[email protected]>
-
- * src/winfonts/winfnt.c (winfnt_header_fields): Read 16 bytes into
- `reserved2', not `reserved'.
-
- * src/base/ftobjs.c (find_unicode_charmap): Fixed the error code
- returned when the font doesn't contain a Unicode charmap. This
- allows FT2 to load `symbol.ttf' and a few others correctly since the
- last release.
- (open_face): Fix return value.
-
-2003-01-08 Owen Taylor <[email protected]>
-
- Implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and
- postscript hinters.
-
- * src/autohint/ahtypes.h (AH_HinterRec): Add `do_stem_adjust'.
- * src/autohint/ahhint.c (ah_compute_stem_width): Handle
- hinter->do_stem_adjust.
- (ah_hinter_load_glyph): Set hinter->do_stem_adjust.
-
- * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add `do_stem_adjust'.
- * src/pshinter/pshalgo3.c (psh3_hint_align): Use `do_stem_adjust'.
- (ps3_hints_apply): Handle FT_RENDER_MODE_LIGHT.
-
- * include/freetype/freetype.h (FT_Render_Mode): Add
- FT_RENDER_MODE_LIGHT.
-
- * src/truetype/ttgload.c: Fixing the TrueType loader to handle
- invalid composites correctly by limiting the recursion depth.
- (TT_MAX_COMPOSITE_RECURSE): New macro.
- (load_truetype_glyph): Add argument `recurse_count'.
- Load a composite only if the numbers of contours is -1, emit error
- otherwise.
- (TT_Load_Glyph): Updated.
-
-2003-01-08 David Turner <[email protected]>
-
- * Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: Small changes to
- support the compilation of FreeType 2 as part of larger projects
- with their own configuration options (only with Jam).
-
-2003-01-07 David Turner <[email protected]>
-
- * src/base/ftstroker.c: Probably the last bug-fixes to the stroker;
- the API is likely to change, however.
- (ft_stroke_border_close): Don't record empty paths.
- (ft_stroke_border_get_counts): Increase `num_points' also in for loop.
- (ft_stroke_border_export): Don't increase `write' twice in for loops.
- (ft_stroker_outside): Handle `phi' together with `theta'.
- (FT_Stroker_ParseOutline): New function.
-
- * src/base/fttrigon.c (FT_Angle_Diff): Fixing function: It returned
- invalid values for large negative angle differences (resulting in
- incorrect stroker computations, among other things).
-
- * src/cache/ftccache.c (ftc_node_hash_unlink): Removing incorrect
- assertion, and changing code to avoid hash table size contraction.
-
- * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: Adding
- `ftstroker' to default build, as optional component.
-
-2002-12-26 David Turner <[email protected]>
-
- * src/gzip/adler32.c, src/gzip/infblock.c, src/gzip/inflate.c,
- src/gzip/inftrees.c, src/gzip/zconf.h, src/gzip/zlib.h,
- src/gzip/zutil.h: Updates to allow compilation without compiler
- warnings with LCC-Win32.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
- * builds/unix/configure.ac (version_info): Increased to 9:3:3.
- * builds/unix/configure: Regenerated.
- * docs/VERSION.DLL: Updated.
-
-2002-12-23 Anthony Fok <[email protected]>
-
- * builds/unix/configure.ac, builds/unix/unix-cc.in (LINK_LIBRARY),
- builds/unix/unix-def.in (SYSTEM_ZLIB): Small fix to configure
- sub-system on Unix to allow other programs to correctly link with
- zlib when needed.
-
-2002-12-19 David Turner <[email protected]>
-
- * include/freetype/internal/sfnt.h (SFNT_Load_Table_Func): New
- function pointer.
-
- * include/freetype/tttables.h (FT_Load_Sfnt_Table): New function.
- * src/base/ftobjs.c: Implement it.
-
- * src/sfnt/sfdriver.c (sfnt_get_interface): Handle `load_sfnt'
- module request.
-
-2002-12-17 David Turner <[email protected]>
-
- * src/base/ftobjs.c (find_unicode_charmap): Added some comments to
- better explain what's happening there.
- (open_face): Included Graham Asher's fix to prevent faces without
- Unicode charmaps from loading.
-
- * src/winfonts/winfnt.c: Included George Williams's fix to support
- version 2 fonts correctly.
- (winfnt_header_fields): Updated.
- (fnt_font_load): Handle version 2 fonts.
- (FNT_Load_Glyph): Updated.
-
-2002-12-16 David Turner <[email protected]>
-
- * docs/VERSION.DLL: Updating document to better explain the
- differences between the three version numbers being used on Unix, as
- well as providing an autoconf fragment provided by Lars Clausen.
-
- * src/smooth/ftgrays.c (gray_render_conic): Fixed small bug that
- prevented Bézier arcs with negative vertical coordinates to be
- rendered appropriately.
-
-2002-12-02 Antoine Leca <[email protected]>
-
- * src/base/ftobjs.c: Modified the logic to get Unicode charmaps.
- Now it loads UCS-4 charmaps when there is one.
- (find_unicode_charmap): New function.
- (open_face): Refer to the above one.
- (FT_Select_Charmap): Idem.
-
-2002-11-29 Antoine Leca <[email protected]>
-
- * include/freetype/ftgzip.h: Correct the name of the controlling
- macro (was __FTXF86_H__ ...).
-
-2002-11-27 Vincent Caron <[email protected]>
-
- * builds/unix/unix-def.in, builds/unix/freetype-config.in,
- builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c
- [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Adding support for system zlib
- installations if available on the target platform (Unix only).
-
-2002-11-23 David Turner <[email protected]>
-
- * src/cff/cffload.c (cff_charset_load, cff_encoding_load): Modified
- charset loader to accept pre-defined charsets, even when the font
- contains fewer glyphs. Also enforced more checks to ensure that we
- never overflow the character codes array in the encoding.
-
-2002-11-22 Antoine Leca <[email protected]>
-
- * include/freetype/ttnameid.h: Updated to latest OpenType
- specification.
-
-2002-11-18 David Turner <[email protected]>
-
-
- * Version 2.1.3 released.
- =========================
-
-
-2002-11-07 David Turner <[email protected]>
-
- * src/cache/ftcsbit.c (ftc_sbit_node_load): Fixed a small bug that
- caused problems with embedded bitmaps.
-
- * src/otlayout/otlayout.h, src/otlyaout/otlconf.h,
- src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
- src/otlayout/otlparse.c, src/otlayout/otlparse.h,
- src/otlayout/otlutils.h: Updating the OpenType Layout code, adding
- support for the first GSUB lookups. Nothing that really compiles
- for now though.
-
- * src/autohint/ahhint.c (ah_align_serif_edge): Disabled serif stem
- width quantization. It produces slightly better shapes though this
- is not distinguishable with many fonts.
- Remove other dead code.
-
- * src/Jamfile, src/*/Jamfile: Simplified.
- Use $(FT2_SRC_DIR).
-
-2002-11-06 David Turner <[email protected]>
-
- * include/freetype/freetype.h (FT_LOAD_TARGET_LIGHT): New macro.
- (FT_LOAD_TARGET, FT_LOAD_TARGET_MODE): Use `& 15' instead of `& 7'.
-
-2002-11-05 David Turner <[email protected]>
-
- * include/freetype/config/ftoption.h, src/gzip/ftgzip.c: Added
- support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify
- the use of system-wide zlib.
-
- Note that this macro, as well as
- TT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore.
- This allows the build system to define them depending on the
- configuration (typically by adding -D flags at compile time).
-
- * src/sfnt/ttcmap0.c (tt_face_build_cmaps): Removed compiler
- warnings in optimized mode relative to the `volatile' local
- variables. This was not a compiler bug after all, but the fact that
- a pointer to a volatile variable is not the same as a volatile
- pointer to a variable :-)
-
- The fix was to change
- `volatile FT_Byte* p'
- into
- `FT_Byte* volatile p'.
-
- * src/pfr/pfrload.c (pfr_phy_font_load), src/pfr/pfrdrivr.c
- (pfr_get_metrics), src/gzip/inftrees.c: Removed compiler warnings in
- optimized modes.
-
- * src/gzip/*.[hc]: Modified our zlib copy in order to prevent
- exporting any zlib function names outside of the component. This
- prevents linking problems on some platforms, when applications want
- to link FreeType _and_ zlib together.
-
-2002-11-05 Juliusz <[email protected]>
-
- * src/psaux/psobjs.c (ps_table_add): Modified increment loop in
- order to implement exponential behaviour.
-
-2002-11-01 David Turner <[email protected]>
-
- Added PFR-specific public API. Fixed the kerning retrievel routine
- (it returned invalid values when the outline and metrics resolution
- differ).
-
- * include/freetype/ftpfr.h, include/freetype/internal/pfr.h: New
- files.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H): New
- macro for pfr.h.
-
- * src/base/ftpfr.c: New file.
- * src/base/Jamfile, src/base/descrip.mms: Updated.
-
- * src/pfr/pfrdrivr.c: Include FT_INTERNAL_PFR_H.
- (pfr_get_kerning, pfr_get_advance, pfr_get_metrics): New functions.
- (pfr_service_rec): New format interface.
- (pfr_driver_class): Use `pfr_service_rec'.
- Replace `pfr_face_get_kerning' with `pfr_get_kerning'.
- * src/pfr/pfrobjs.c: Remove dead code.
-
- * src/base/ftobjs.c (ft_glyphslot_clear): Small internal fix to
- better support bitmap-based font formats.
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix handling of
- `scale'.
- Fix arguments to `FT_Vector_From_Polar'.
-
-2002-10-31 David Turner <[email protected]>
-
- Add support for automatic handling of gzip-compressed PCF files.
-
- * src/gzip/*: New files, taken from the zlib package (except
- ftgzip.c).
-
- * include/freetype/ftgzip.h, src/gzip/ftgzip.c: New files.
- * include/freetype/config/ftheader.h (FT_GZIP_H): New macro for
- `ftgzip.h'.
-
- * src/pcf/pcfdriver.c: Include FT_GZIP_H and FT_ERRORS_H.
- (PCF_Face_Init): If normal open fails, try to open gzip stream.
- (PCF_Face_Done): Close gzip stream.
-
- * include/freetype/internal/pcftypes.h (PCF_Public_FaceRec),
- src/pcf/pcf.h (PCF_FaceRec): Add `gzip_stream' and `gzip_source'.
-
- * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_ZLIB):
- New macro.
- (T1_CONFIG_OPTION_DISABLE_HINTER, FT_CONFIG_OPTION_USE_CMAPS
- FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS,
- FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS): Removed.
-
- (FT_EXPORT, FT_EXPORT_DEF, FT_DEBUG_LEVEL_ERROR,
- FT_DEBUG_LEVEL_TRACE, FT_DEBUG_MEMORY): Comment out definitions so
- that platform specific configuration file can override.
-
- * include/freetype/internal/ftstream.h: Include FT_SYSTEM_H.
-
-2002-10-30 David Turner <[email protected]>
-
- * FreeType 2.1.3rc3 released.
-
-2002-10-25 David Turner <[email protected]>
-
- * include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro.
- (FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG.
-
-2002-10-22 Giuseppe Ghibò <[email protected]>
-
- * include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2.
-
-2002-10-07 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h (FT_Open_Face): Use `const' for `args'
- (suggested by Graham).
- * src/base/ftobjs.c (FT_Open_Face): Updated.
- (ft_input_stream_new): Ditto.
-
-2002-10-05 David Turner <[email protected]>
-
- Adding support for embedded bitmaps to the PFR driver, and rewriting
- its kerning loader/handler to use all kerning pairs in a physical
- font (and not just the first item).
-
- * src/pfr/pfr.c: Include `pfrsbit.c'.
- * src/pfr/pfrgload.c: Include `pfrsbit.h'.
- * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten.
- (pfr_phy_font_done, pfr_phy_font_load): Updated.
- * src/pfr/pfrobks.c: Include `pfrsbit.h'.
- (pfr_face_init): Handle kerning and embedded bitmaps.
- (pfr_slot_load): Load embedded bitmaps.
- (PFR_KERN_INDEX): Removed.
- (pfr_face_get_kerning): Rewritten.
- * src/pfr/pfrsbit.c, src/pfr/pfrsbit.h: New files.
- * src/pfr/pfrtypes.h (PFR_KernItemRec): New structure.
- (PFR_KERN_INDEX): New macro.
- (PFR_PhyFontRec): Add items for kerning and embedded bitmaps.
- * src/pfr/Jamfile (_sources) [FT2_MULTI]: Add `pfrsbit'.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Don't load bitmap fonts if
- FT_LOAD_NO_RECURSE is set.
- Load embedded bitmaps only if FT_LOAD_NO_BITMAP isn't set.
-
- * src/tools/docmaker/content.py, src/tools/docmaker/sources.py,
- src/tools/docmaker/tohtml.py: Fixing a few nasty bugs.
-
- * src/sfnt/ttcmap0.c (tt_cmap4_validate): The validator for format 4
- sub-tables is now capable of dealing with invalid `length' fields at
- the start of the sub-table. This allows fonts like `mg______.ttf'
- (i.e. Marriage) to return accurate charmaps.
-
- * docs/CHANGES: Updated.
-
-2002-10-05 Werner Lemberg <[email protected]>
-
- * src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
- Update all callers.
- (TRUNC): Add cast to `TCoord'.
- Update all callers.
- (TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
- last_ey.
- Update all casts.
- (gray_render_line): Fix casts for `p' and `first'.
-
-2002-10-02 Detlef Würkner <[email protected]>
-
- * src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t
- structure with FT_ALLOC instead of using the stack.
-
-2002-09-27 Werner Lemberg <[email protected]>
-
- * src/include/freetype/internal/tttypes.h (num_sbit_strikes,
- num_sbit_scales): Use `FT_ULong'.
- * src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
- * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
- (find_sbit_image): Remove cast.
- * src/raster/ftrend1.c (ft_raster1_render): Fix cast.
-
-2002-09-27 Wolfgang Domröse <[email protected]>
-
- * src/sfnt/ttload.c (tt_face_load_names): Use cast.
- * src/sfnt/ttcmap.c (code_to_next2): Use long constant.
- (code_to_index4): Use cast.
- (code_to_index8_12): Fix cast.
- * src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
- tt_cmap12_char_index): Use cast for `result'.
- (tt_face_build_cmaps): Use cast.
- * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
- `code'.
- (sfnt_load_face): Use FT_Int32 for `flags'.
-
- * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
- gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
- to `TCoord' and `int'.
- More 16bit fixes.
- s/FT_Pos/TPos/.
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
-
-2002-09-26 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names,
- tt_face_get_ps_name): Replace switch statement with if clauses to
- make it more portable.
-
- * src/cff/cffobjs.c (cff_face_init): Ditto.
-
- * include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for
- `module_size'.
- * include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for
- `glyph_size'.
-
- * src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to
- `FT_Render_Mode'.
- (FT_Render_Glyph_Internal): Change third parameter to
- `FT_Render_Mode'.
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter
- to `FT_Render_Mode'.
-
- * src/raster/ftrend1.c (ft_raster1_render): Change third parameter
- to `FT_Render_Mode'.
- * src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd,
- ft_smooth_render_lcd_v): Ditto.
- (ft_smooth_render_generic): Change third and fifth parameter to
- `FT_Render_Mode'.
-
- * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
- include/freetype/ftglyph.h: Updated.
-
- * src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c
- (PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load),
- src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c
- (T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change
- fourth parameter to `FT_Int32'.
-
- * src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters
- and declare them as unused.
-
- * src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'.
-
- * src/psnames/psnames.h (PS_Unicode_Value_Func): Change return
- value to FT_UInt32.
- * src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table):
- Updated accordingly.
-
-2002-09-26 Wolfgang Domröse <[email protected]>
-
- * src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'.
- (cff_get_glyph_name): Use cast for result of ft_strlen.
- * src/cff/cffparse.c (cff_parse_real): User cast for assigning
- `exp'.
- * src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for
- some local variables.
- (cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some
- switch statements.
- (cff_font_load): Use cast in call to CFF_Load_FD_Select.
- * src/cff/cffobjs.c (cff_size_init): Use more casts.
- (cff_face_init): Use FT_Int32 for `flags'.
- * src/cff/cffgload.c (cff_operator_seac): Use cast for assigning
- `adx' and `ady'.
- (cff_decoder_parse_charstrings): Use FT_ULong for third parameter.
- Use more casts.
- * src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'.
-
- * src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'.
- * src/cid/cidgload.c (cid_load_glyph): Add missing cast for
- `cid_get_offset'.
-
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use
- cast for `num_points'.
- (t1_decoder_init): Use cast for assigning `decoder->num_glyphs'.
-
- * src/base/ftdebug.c (ft_debug_init): Use FT_Int.
- * include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use
- `FT_Int32' for fourth parameter.
- * src/base/ftobjs.c (open_face): Use cast for calling
- clazz->init_face.
-
- * src/raster/ftraster.c (Set_High_Precision): Use `1' instead of
- `1L'.
- (Finalize_Profile_Table, Line_Up, ft_black_init): Use casts.
- * src/raster/ftrend1.c (ft_raster1_render): Ditto.
-
- * src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long
- constant.
-
-2002-09-26 Detlef Würkner <[email protected]>
-
- * builds/amiga/include/freetype/config/ftmodule.h: Updated.
-
-2002-09-25 David Turner <[email protected]>
-
- * src/autohint/ahtypes.h (AH_HINT_METRICS): Disabling metrics
- hinting in the auto-hinter. This produces much better anti-aliased
- text.
-
- * docs/CHANGES: Updating the changes documentation.
-
-2002-09-25 Anthony Fok <[email protected]>
-
- * src/sfnt/ttcmap0.c (tt_cmap4_validate, tt_cmap4_char_index,
- tt_cmap4_char_next): Added support for opens___.ttf (it contains a
- charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
- missing glyph).
-
-2002-09-21 Wolfgang Domröse <[email protected]>
-
- * src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
- FT_Int32.
- * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
- Ditto.
-
-2002-09-19 Wolfgang Domröse <[email protected]>
-
- More 16bit fixes.
-
- * src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
- (ah_hinter_compute_widths): Use FT_Pos for `dist'.
- Use AH_MAX_WIDTHS.
- * src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
- for `delta'.
- (ah_outline_compute_edges): Replace some ints with FT_Int and
- FT_Pos.
- (ah_test_extrema): Clean up code.
- (ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
- hold indices.
- * src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
- to FT_Pos.
-
-2002-09-19 Werner Lemberg <[email protected]>
-
- * builds/unix/config.guess, builds/unix/config.sub: Updated to
- recent versions.
-
-2002-09-18 David Turner <[email protected]>
-
- * src/base/ftobjs.c (FT_Library_Version): Bugfix.
-
- * FreeType 2.1.3rc2 (release candidate 2) is released!
-
-2002-09-17 David Turner <[email protected]>
-
- * include/freetype/freetype.h, include/freetype/ftimage.h,
- include/freetype/ftstroker.h, include/freetype/ftsysio.h,
- include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating
- the in-source documentation.
-
- * src/tools/docmaker/tohtml.py: Updating the HTML formatter in the
- DocMaker tool.
-
- * src/tools/docmaker.py: Removed.
-
-2002-09-17 Werner Lemberg <[email protected]>
-
- More 16bit fixes.
-
- * src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for
- second parameter.
-
-2002-09-16 Werner Lemberg <[email protected]>
-
- 16bit fixes from Wolfgang Domröse.
-
- * src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
- and `private_len' to FT_Long.
- * src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
- `private_len'.
- * src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
- Use FT_PtrDist where appropriate.
- (parse_encoding): Use FT_Long for `count' and `n'.
- (read_binary_data): Use FT_Long* for second parameter.
- * src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.
-
- * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
- * src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
-
-2002-09-14 Werner Lemberg <[email protected]>
-
- Making ftgrays.c compile stand-alone again.
-
- * include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
- isn't defined.
- * src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
- FT_BEGIN_HEADER, FT_END_HEADER.
- (FT_MEM_ZERO): Define.
- (TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
- (gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
- Don't cast with `FT_Byte'.
- (grays_init_gamma): Don't use `FT_UInt'.
-
-2002-09-14 Werner Lemberg <[email protected]>
-
- * src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
- * src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
- * include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
- to 32.
-
-2002-09-10 Werner Lemberg <[email protected]>
-
- * builds/unix/configure.ac (version_info): Set to 9:2:3.
- * builds/unix/configure: Regenerated.
- * docs/VERSION.DLL: Updated.
-
-2002-09-09 David Turner <[email protected]>
-
- * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
- src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
- to prevent seg fault when hints are provided in an empty glyph.
-
- * src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
- Removed conditional code. This fixes a bug that prevented
- compilation in debug mode of template instantiation.
-
- * include/freetype/ftimage.h: Removed incorrect `zft_' definitions
- and updated constants documentation comments.
-
- * src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader.
- It didn't accept empty arrays, and this prevented the loading of
- certain fonts.
-
- * include/freetype/freetype.h (FT_FaceRec): Updating documentation
- comment. The `descender' value is always *negative*, not positive.
-
-2002-09-09 Owen Taylor <[email protected]>
-
- * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation
- of bitmap metrics.
-
-2002-09-08 David Turner <[email protected]>
-
- Various updates to correctly support sub-pixel rendering.
-
- * include/freetype/config/ftmodule.h: Add two renderers for LCD.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Updated.
-
- * src/smooth/ftsmooth.c (ft_smooth_render_lcd,
- ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and
- FT_PIXEL_MODE_LCD_V, respectively.
-
- * include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New
- structure.
- Updated all users.
- (FTC_ImageDesc): Removed.
- (FTC_ImageCache_Lookup): Second parameter is now of type
- `FTC_ImageType'.
- Updated all users.
- (FTC_IMAGE_DESC_COMPARE): Updated and renamed to...
- (FTC_IMAGE_TYPE_COMPARE): This.
- (FTC_IMAGE_DESC_HASH): Updated and renamed to...
- (FTC_IMAGE_TYPE_HASH): This.
-
- * include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays'
- replaced with `max_grays'.
- `pitch' is now FT_Short.
- (FTC_SBitCache_Lookup): Second parameter is now of type
- `FTC_ImageType'.
- Updated all users.
-
- * src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec):
- Updated.
- (ftc_image_node_init): Updated.
- Moved code to convert type flags to load flags to...
- (FTC_Image_Cache_Lookup): This function.
- (ftc_image_family_init): Updated.
-
- * src/cache/ftcsbit.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
- Updated.
- (ftc_sbit_node_load): Updated.
- Moved code to convert type flags to load flags to...
- (FTC_SBitCache_Lookup): This function.
-
- * src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with
- `do_*_snapping'.
- Update all users (with negation).
- * src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for
- `dist' for `delta' < 40.
-
- * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with
- `do_*_snapping'.
- Update all users (with negation).
- * src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New
- function.
- (psh3_hint_align): Use it.
- Improve hinting code.
- [STRONGER]: Removed.
- (STRONGER): Removed.
-
- * include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*):
- Removed.
-
-2002-09-05 Werner Lemberg <[email protected]>
-
- * src/cid/cidobjs.c (CID_Size_Init): Renamed to...
- (cid_size_init): This.
- * src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
- (t1_builder_add_point1): This.
-
- Updated all affected code.
-
- * src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
- * src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.
-
-2002-09-04 David Turner <[email protected]>
-
- * include/freetype/freetype.h: Corrected the definition of
- ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
- the erroneous FT_ENCODING_SYMBOL).
-
- * builds/unix/unix-def.in (datadir): Initialize it (thanks to
- Anthony Fok).
-
-2002-08-29 David Turner <[email protected]>
-
- Slight modification to the Postscript hinter to slightly increase
- the contrast of smooth hinting. This is very similar to what the
- auto-hinter does when it comes to stem width computations. However,
- it produces better results with well-hinted fonts.
-
- * include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint
- mode to `init' member function.
- (T1_DecoderRec): Add hint mode.
- * include/freetype/internal/pshints (T1_Hints_ApplyFunc,
- T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'.
- * src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument.
- * src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not
- hint flags.
- * src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto.
- * src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto.
- (STRONGER): New macro.
- (psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead
- of `hint_flags'.
- Implement announced changes.
- * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control
- vertical and horizontal hints and snapping.
-
- * README, docs/CHANGES: Updating for the 2.1.3 release.
-
-2002-08-27 David Turner <[email protected]>
-
- * Massive re-formatting changes to many, many source files. I don't
- want to list them all here. The operations performed were all
- logical transformations of the sources:
-
- - trying to convert all enums and constants to CAPITALIZED_STYLE,
- #with define definitions like
-
- #define my_old_constants MY_NEW_CONSTANT
-
- - big, big update of the documentation comments
-
- * include/freetype/freetype.h, src/base/ftobjs.c,
- src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support
- for LCD-optimized rendering though the new constants/enums:
-
- FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
- FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V
-
- This is still work in progress, don't expect everything to work
- correctly though most of the features have been implemented.
-
- * Adding new FT_LOAD_XXX flags, used to specify both hinting and
- rendering targets:
-
- FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
- FT_LOAD_TARGET_MONO :: monochrome bitmaps
- FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated
- hinting & rendering
- FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated
- hinting & rendering
-
- Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
- behaviour of the font engine is _unchanged_.
-
- * include/freetype/ftimage.h
- (FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to...
- (FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This.
- (FT_Raster_Span_Func): Renamed to ...
- (FT_SpanFunc): This.
- (FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ...
- (FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This.
-
- Updated all affected code.
-
- * include/freetype/ftrender.h
- (FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed
- to ...
- (FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This.
- (FTRenderer_{render,transform,getCBox,setMode}): Renamed to ...
- (FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SeteModeFunc}):
- This.
-
- Updated all affected code.
-
- * src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals,
- AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now
- pointers to the corresponding `*Rec' structures. All source files
- have been updated accordingly.
-
- * src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter.
- * src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element.
-
- * src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to...
- (cid_face_compute_max_advance): This.
- (CID_Load_Glyph): Renamed to...
- (cid_slot_load_glyph): This.
- * src/cid/cidload.c (CID_Open_Face): Renamed to...
- (cid_face_open): This.
- * src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to...
- (cid_slot_{done,init}): This.
- (CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to...
- (cid_size_{get_globals_funcs,done,reset): This.
- (CID_Face_{Done,Init}): Renamed to...
- (cid_face_{done,init}): This.
- (CID_Driver_{Done,Init}: Renamed to...
- (cid_driver_{done,init}: This.
- * src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to...
- (cid_parser_{new,done}): This.
- * src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to...
- (cid_parser_skip_{spaces,alpha}): This.
- (CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed
- to...
- (cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}):
- This.
- (CID_Load_{Field,Field_Table): Renamed to...
- (cid_parser_load_{field,field_table}): This.
- * src/cid/cidriver.c (CID_Get_Interface): Renamed to...
- (cid_get_interface): This.
-
- Updated all affected code.
-
- * src/psaux/psobjs.c (PS_Table_*): Renamed to...
- (ps_table_*): This.
- (T1_Builder_*): Renamed to...
- (t1_builder_*): This.
- * src/psaux/t1decode.c (T1_Decoder_*): Renamed to...
- (t1_decoder_*): This.
-
- * src/psnames/psmodule.c (PS_*): Renamed to...
- (ps_*): This.
-
- Updated all affected code.
-
- * src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to...
- (sfnt_get_interface): This.
- * src/sfnt/sfobjs.c (SFNT_*): Renamed to...
- (sfnt_*): This.
- * src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to...
- (tt_face_{load,free}_charmap): This.
- * src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to...
- (tt_face_build_cmaps): This.
- * src/sfnt/ttload.c (TT_*): Renamed to...
- (tt_face_*): This.
- * src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to...
- (tt_post_default_names): This.
- (Load_*): Renamed to...
- (load_*): This.
- (TT_*): Renamed to...
- (tt_face_*): This.
- * src/sfnt/ttsbit.c (TT_*): Renamed to...
- (tt_face_*): This.
- ({Find,Load,Crop}_*): Renamed to...
- ({find,load,crop}_*): This.
-
- Updated all affected code.
-
- * src/smooth/ftsmooth.c (ft_smooth_render): Renamed to...
- (ft_smooth_render_generic): This.
- Make function more generic by adding vertical and horizontal scaling
- factors.
- (ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v):
- New functions.
-
- (ft_smooth_locd_renderer_class, ft_smooth_lcdv_renderer_class): New
- classes.
-
- * src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to...
- (tt_glyphzone_{done,new}): This.
- (TT_{Face,Size,Driver}_*): Renamed to...
- (tt_{face,size,driver}_*): This.
- * src/truetype/ttpload.c (TT_Load_Locations): Renamed to...
- (tt_face_load_loca): This.
- (TT_Load_Programs): Renamed to...
- (tt_face_load_fpgm): This.
- (TT_*): Renamed to...
- (tt_face_*): This.
-
-2002-08-27 Werner Lemberg <[email protected]>
-
- * docs/VERSION.DLL: New file.
-
-2002-08-23 Graham Asher <[email protected]>
-
- * src/cff/cffgload.c (cff_operator_seac)
- [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not
- incremental in the case of CFF but just using callbacks to get glyph
- recipes) pass the character code, not the glyph index, to the
- get_glyph_data function; they have no valid charset table.
-
- * src/cff/cffload.c (cff_font_load): Removed special cases for
- FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF
- fonts provided via the incremental interface now have to conform
- more closely to the CFF font format.
-
- * src/cff/cffload.h (cff_font_load): Removed argument now unneeded.
-
- * src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load
- to conform with new signature.
-
-2002-08-22 David Turner <[email protected]>
-
- * src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c,
- src/bdf/bdfdrivr.c: Removed compiler warnings.
-
-2002-08-21 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections,
- psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix
- compiler warnings and resolve shadowing of local variables.
-
-2002-08-21 David Turner <[email protected]>
-
- The automatic and Postscript hinter now automatically detect
- inflection points in glyph outlines and treats them specially. This
- is very useful to prevent nasty effect like the disappearing
- diagonals of `S' and `s' in many, many fonts.
-
- * src/autohint/ahtypes.h (ah_flag_inflection): New macro.
- * src/autohint/ahangles.c (ah_angle_diff): New function.
- * src/autohint/ahangles.h: Updated.
- * src/autohint/ahglyph.c (ah_outline_compute_inflections): New
- function.
- (ah_outline_detect_features): Use it.
- * src/autohint/ahhint.c (ah_hinter_align_strong_points)
- [!AH_OPTION_NO_WEAK_INTERPOLATION]: Handle inflection.
-
- * src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py,
- src/tools/docmaker/tohtml.py: Updating the DocMaker tool.
-
- * include/freetype/freetype.h: Changing the type of the `load_flags'
- parameter from `FT_Int' to `FT_Int32', this in order to support more
- options. This should only break binary and/or source compatibility
- on 16-bit platforms (Atari?).
- (FT_LOAD_NO_AUTOHINT): New macro.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Updated.
- Handle FT_LOAD_NO_AUTOHINT.
- (FT_Load_Char): Updated.
-
- * src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c,
- src/autohint/ahglyph.c, include/freetype/freetype.h: Fixing typos
- and removing compiler warnings.
-
-2002-08-20 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
-
-2002-08-20 David Turner <[email protected]>
-
- * src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
- src/pshinter/pshglob.c, src/pshinter/pshrec.c,
- src/autohint/ahmodule.c [DEBUG_HINTER]: Removing compiler warnings
- (only used in development builds anyway).
-
- Improve support of local extrema and stem edge points.
-
- * src/pshinter/pshalgo3.h (PSH3_Hint_TableRec): Use PSH3_ZoneRec
- for `zones'.
- (PSH3_DIR_UP, PSH3_DIR_DOWN): Exchange values.
- (PSH3_DIR_HORIZONTAL, PSH3_DIR_VERTICAL): New macros.
- (PSH3_DIR_COMPARE, PSH3_DIR_IS_HORIZONTAL, PSH3_IS_VERTICAL): New
- macros.
- (PSH3_POINT_INFLEX): New enum.
- (psh3_point_{is,set}_{off,inflex}): New macros.
- (PSH3_POINT_{EXTREMUM,POSITIVE,NEGATIVE,EDGE_MIN,EDGE_MAX): New
- enum values.
- (psh3_point_{is,set}_{extremum,positive,negative,edge_min,edge_max}):
- New macros.
- (PSH3_PointRec): New members `flags2' and `org_v'.
- (PSH3_POINT_EQUAL_ARG, PSH3_POINT_ANGLE): New macros.
-
- * src/pshinter/pshalgo3.c [DEBUG_HINTER]: Removing compiler
- warnings.
- (COMPUTE_INFLEXS): New macro.
- (psh3_hint_align): Simplify some basic arithmetic computations.
- (psh3_point_is_extremum): Removed.
- (psh3_glyph_compute_inflections) [COMPUTE_INFLEXS]: New function.
- (psh3_glyph_init) [COMPUTE_INFLEXS]: Use it.
- (psh3_glyph_compute_extrema): New function.
- (PSH3_STRONG_THRESHOLD): Increased to 30.
- (psh3_hint_table_find_strong_point): Improved.
- (psh3_glyph_find_strong_points,
- psh3_glyph_interpolate_strong_points): Updated.
- (psh3_hints_apply): Use psh3_glyph_compute_extrema.
-
- * test/gview.c (draw_ps3_hint, ps3_draw_control_points): New
- functions.
- Other small updates.
-
- * Jamfile: Small updates.
-
-2002-08-18 Arkadiusz Miskiewicz <[email protected]>
-
- * builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to
- make life easier for package maintainers.
-
-2002-08-18 Werner Lemberg <[email protected]>
-
- * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
- horiBearingX.
- * src/bdf/bdfdrivr.c (BDF_GlyphLoad): Fix computation of
- horiBearingY.
-
-2002-08-16 George Williams <[email protected]>
-
- Add support for Apple composite glyphs.
-
- * include/freetype/config/ftoption.h
- (TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.
-
- * src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
- UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
- glyph loading flags.
- (load_truetype_glyph): Implement it.
-
-2002-08-16 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.c (cff_free_glyph_data),
- src/cff/cffload.c (cff_font_load): Use FT_UNUSED.
-
-2002-08-15 Werner Lemberg <[email protected]>
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'.
- * src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
-
-2002-08-15 Graham Asher <[email protected]>
-
- Implemented the incremental font loading system for the CFF driver.
- Tested using the GhostScript-to-FreeType bridge (under development).
-
- * src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): New
- functions.
- (cff_operator_seac, cff_compute_max_advance, cff_slot_load): Use
- them.
- * src/cff/cffload.c (cff_font_load): Add `face' parameter.
- Load charset and encoding only if there are glyphs.
- [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts don't need
- character recipes.
- * src/cff/cffload.h, src/cff/cffobjs.c: Updated.
-
- * src/cid/cidgload.c (cid_load_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Corrected the incremental font
- loading implementation to use the new system introduced on
- 2002-08-01.
-
-2002-08-06 Werner Lemberg <[email protected]>
-
- * src/cff/cffcmap.c: Remove compiler warnings.
- * src/cache/ftccache.c, src/cache/ftccache.i,
- src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
- * src/cff/cffload.c: s/select/fdselect/.
- * src/raster/ftraster.c: s/wait/waiting/.
-
-2002-08-01 Graham Asher <[email protected]>
-
- * src/type1/t1load.c (T1_Open_Face): Tolerate a face with no
- charstrings if there is an incremental loading interface. Type 1
- faces supplied by PostScript interpreters like GhostScript will
- typically not provide any charstrings at load time, so this is
- essential if they are to work.
-
-2002-08-01 Graham Asher <[email protected]>
-
- Modified incremental loading interface to be closer to David's
- preferences. The header freetype.h is not now affected, the
- interface is specified via an FT_Parameter, the pointer to the
- interface is hidden in an internal part of the face record, and all
- the definitions are in ftincrem.h.
-
- * include/freetype/freetype.h [FT_CONFIG_OPTION_INCREMENTAL]:
- Removed.
- * include/freetype/internal/ftobjs.h [FT_CONFIG_OPTION_INCREMENTAL]:
- Include FT_INCREMENTAL_H.
- (FT_Face_InternalRec) [FT_CONFIG_OPTION_INCREMENTAL]: Add
- `incremental_interface'.
-
- * src/base/ftobjs.c (open_face, FT_Open_Face)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
- * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
- Updated.
-
- * src/truetype/ttgload.c (load_truetype_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
- Free loaded glyph data properly.
- (compute_glyph_metrics, TT_Load_Glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
- * src/truetype/ttobjs.c (TT_Face_Init)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
- [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
- (T1_Parse_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
- Free loaded glyph data properly.
- (T1_Load_Glyph): Updated.
- [FT_CONFIG_OPTION_INCREMENTAL]: Free loaded glyph data properly.
-
-2002-07-30 David Turner <[email protected]>
-
- * include/freetype/ftincrem.h: Adding new experimental header file
- to demonstrate a `cleaner' API to support incremental font loading.
-
- * include/freetype/config/ftheader.h (FT_INCREMENTAL_H): New macro.
-
- * src/tools/docmaker/*: Adding new (more advanced) version of
- the DocMaker tool, using Python's sophisticated regexps.
-
-2002-07-28 Werner Lemberg <[email protected]>
-
- s/ft_memset/FT_MEM_SET/.
- s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
-
-2002-07-27 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs.
-
-2002-07-26 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.
-
- * src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
- * src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
- * src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
- variable.
- * src/truetype/ttgload.c (load_truetype_glyph): Remove statement
- without effect.
- * src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
-
- * src/pshinter/pshalgo3.c (psh3_hint_table_record,
- psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error
- message.
-
-2002-07-24 Graham Asher <[email protected]>
-
- * src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann
- [[email protected]] on the FreeType development forum: `If
- FT_CONFIG_OPTION_INCREMENTAL is undefined (this is the default), the
- TrueType loader crashes in line 852 of src/truetype/ttgload.c when
- it tries to access face->glyph_locations.'
-
-2002-07-18 Graham Asher <[email protected]>
-
- Added types and structures to support incremental typeface loading.
- The FT_Incremental_Interface structure, defined in freetype.h, is
- designed to be passed to FT_Open_Face to provide callback functions
- to obtain glyph recipes and metrics, for fonts like those passed
- from PostScript that do not necessarily provide all, or any, glyph
- information, when first opened.
-
- * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
- New configuration macro to enable incremental face loading. By
- default it is not defined.
-
- * include/freetype/freetype.h (FT_Basic_Glyph_Metrics,
- FT_Get_Glyph_Data_Func, FT_Get_Glyph_Metrics_Func,
- FT_Incremental_Interface_Funcs, FT_Incremental_Interface)
- [FT_CONFIG_OPTION_INCREMENTAL]: New.
- (FT_Open_Args, FT_FaceRec) [FT_CONFIG_OPTION_INCREMENTAL]: New field
- `incremental_interface'.
- (FT_Open_Flags) [FT_CONFIG_OPTION_INCREMENTAL]: New enum
- `ft_open_incremental'.
-
- * include/freetype/fttypes.h: Include FT_CONFIG_CONFIG_H.
- (FT_Data): New structure to represent binary data.
-
- * src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]:
- Add parameter for incremental loading.
- (FT_Open_Face) [FT_CONFIG_OPTION_INCREMENTAL]: Use incremental
- interface.
-
- * src/truetype/ttgload.c (load_truetype_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
- for the TrueType driver.
- (compute_glyph_metrics): Return FT_Error.
- [FT_CONFIG_OPTION_INCREMENTAL]: Check for overriding metrics.
- (TT_Load_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Don't look for
- the glyph table while handling an incremental font.
- Get glyph offset.
-
- * src/truetype/ttobjs.c (TT_Face_Init)
- [FT_CONFIG_OPTION_INCOREMENTAL]: Added the incremental loading
- system for the TrueType driver.
-
- * src/cid/cidgload.c (cid_load_glyph)
- [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
- for the CID driver.
-
- * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
- Changes to support incremental Type 42 fonts: Assume a font has
- glyphs if it has an incremental interface object.
-
- * src/type1/t1gload.c (T1_Parse_Glyph): Renamed to...
- (T1_Parse_Glyph_And_Get_Char_String): This.
- [FT_CONFIG_OPTION_INCREMENTAL]: Added support for incrementally
- loaded Type 1 faces.
- (T1_Parse_Glyph): New function.
- (T1_Load_Glyph): Updated.
-
-2002-07-17 David Turner <[email protected]>
-
- Cleaning up the cache sub-system code; linear hashing is now the
- default.
-
- * include/freetype/cache/ftccache.h, src/cache/ftccache.i,
- src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed.
- (FTC_CACHE_USE_LINEAR_HASHING: Removed also.
-
- FT_CONFIG_OPTION_USE_CMAPS is now the default.
-
- * include/freetype/internal/ftdriver.h (FT_Driver_ClassRec): Remove
- `get_char_index' and `get_next_char'.
-
- * include/freetype/config/ftoption.h,
- include/freetype/internal/tttypes.h, src/base/ftobjs.c,
- src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c,
- src/pfr/pfrdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
- src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c,
- src/type42/t42objs.c, src/winfonts/winfnt.c
- [!FT_CONFIG_OPTION_USE_CMAPS]: Removed. The new cmap code is now
- the default.
-
- * src/type42/t42objs.c (T42_CMap_CharIndex, T42_CMap_CharNext):
- Removed.
- * src/type42/t42objs.h: Updated.
-
- * src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char):
- Removed.
- (t1_cid_driver_class): Updated.
- * src/truetype/ttdriver.c (tt_driver_class): Updated.
- * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed
- (t1_driver_class): Updated.
- * src/type42/t42drivr.c (t42_driver_class): Updated.
-
- * src/base/ftobjs.c (open_face): Select Unicode cmap by default.
-
- * src/sfnt/ttload.c (TT_Load_SFNT_Header): Fixed a recent bug that
- prevented OpenType fonts to be recognized by FreeType.
-
-2002-07-11 David Turner <[email protected]>
-
- Changing the SFNT loader to check for SFNT-based font files
- differently. We now ignore the range `helper' fields and check the
- `head' table's magic number instead.
-
- * include/freetype/internal/tttypes.h (SFNT_HeaderRec): Add `offset'
- field.
-
- * src/sfnt/ttload.c (sfnt_dir_check): New function.
- (TT_Load_SFNT_HeaderRec): Renamed to...
- (TT_Load_SFNT_Header): This.
- Implement new functionality.
- * src/sfnt/ttload.h: Updated.
- * src/sfnt/sfdriver.c (sfnt_interface): Updated.
-
- * src/base/ftobject.c, src/base/fthash.c: Updated object sub-system
- and dynamic hash table implementation (still experimental, don't
- use).
- * include/freetype/internal/fthash.h: Updated.
- * include/freetype/internal/ftobjs.h (FT_LibraryRec): New member
- `meta_class'.
-
- Fixing a bug in the Type 1 loader that prevented valid font bounding
- boxes to be loaded from multiple master fonts.
-
- * include/freetype/t1tables.h (PS_BlendRec): Add `bboxes' field.
-
- * include/freetype/internal/psaux.h (T1_FieldType): Add
- `T1_FIELD_TYPE_BBOX'.
- (T1_FieldLocation): Add `T1_FIELD_LOCATION_BBOX'.
- (T1_FIELD_BBOX): New macro.
-
- * src/psaux/psobjs.c (PS_Parser_LoadField): Handle T1_FIELD_TYPE_BBOX.
- * src/type1/t1load.c (t1_allocate_blend): Create blend->bboxes.
- (T1_Done_Blend): Free blend->bboxes.
- (t1_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
- (parse_font_bbox): Commented out.
- (t1_keywords): Comment out `parse_font_bbox'.
- * src/type1/t1tokens.h: Define `FontBBox' field.
-
-2002-07-10 David Turner <[email protected]>
-
- * src/cff/cffobjs.c: Small fix to select the Unicode charmap by
- default when needed.
- Small fix to allow OpenType fonts to support Adobe charmaps when
- needed.
-
- * src/cff/cffcmap.c, src/cff/cffcmap.h: New files to support
- charmaps for CFF fonts.
-
- * src/cff/cff.c, src/cff/Jamfile, src/cff/rules.mk: Updated.
-
- * include/freetype/internal/cfftypes.h (CFF_EncodingRec): Use
- fixed-length arrays for `sids' and `codes'. Add `count' member.
- (CFF_FontRec): Add `psnames' member.
-
- * src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffload.h,
- src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
- src/cffparse.h, src/cff/cffgload.c, src/cff/cffgload.h: Adding
- support for CFF charmaps, reformatting the sources, and removing
- some bugs in the Encoding and Charset loaders.
- Many fonts renamed to use lowercase only:
-
- CFF_Builder_Init -> cff_builder_init
- CFF_Builder_Done -> cff_builder_done
- CFF_Init_Decoder -> cff_decoder_init
- CFF_Parse_CharStrings -> cff_decoder_parse_charstrings
- CFF_Load_Glyph -> cff_slot_load
- CFF_Init_Decoder -> cff_decoder_init
- CFF_Prepare_Decoder -> cff_decoder_prepare
- CFF_Get_Standard_Encoding -> cff_get_standard_encoding
- CFF_Access_Element -> cff_index_access_element
- CFF_Forget_Element -> cff_index_forget_element
- CFF_Get_Name -> cff_index_get_name
- CFF_Get_String -> cff_index_get_sid_string
- CFF_Get_FD -> cff_fd_select_get
- CFF_Done_Charset -> cff_charset_done
- CFF_Load_Charset -> cff_charset_load
- CFF_Done_Encoding -> cff_encoding_done
- CFF_Load_Encoding -> cff_encoding_load
- CFF_Done_SubFont -> cff_subfont_done
- CFF_Load_Font -> cff_font_load
- CFF_Done_Font -> cff_font_done
- CFF_Size_Get_Global_Funcs -> cff_size_get_global_funcs
- CFF_Size_Done -> cff_size_done
- CFF_Size_Init -> cff_size_init
- CFF_Size_Reset -> cff_size_reset
- CFF_GlyphSlot_Done -> cff_slot_done
- CFF_GlyphSlot_Init -> cff_slot_init
- CFF_StrCopy -> cff_strcpy
- CFF_Face_Init -> cff_face_init
- CFF_Face_Done -> cff_face_done
- CFF_Driver_Init -> cff_driver_init
- CFF_Driver_Done -> cff_driver_done
- CFF_Parser_Init -> cff_parser_init
- CFF_Parser_Run -> cff_parser_run
-
- add_point -> cff_builder_add_point
- add_point1 -> cff_builder_add_point1
- add_contour -> cff_builder_add_contour
- close_contour -> cff_builder_close_contour
- cff_explicit_index -> cff_index_get_pointers
-
-2002-07-09 Owen Taylor <[email protected]>
-
- * src/pshinter/pshglob.c (psh_globals_new): Fixed a bug that
- prevented the hinter from using correct standard width and height
- values, resulting in hinting bugs with certain fonts (e.g. Utopia).
-
-2002-07-07 David Turner <[email protected]>
-
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Added code to return
- successfully when the function is called with a bitmap glyph (the
- previous code simply returned with an error).
-
- * docs/DEBUG.TXT: Adding debugging support documentation.
-
- * src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c
- (ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): Changed
- the syntax of the FT2_DEBUG environment variable used to control
- debugging output (i.e. logging and error messages). It must now
- look like:
-
- any:6 memory:4 io:3 or
- any:6,memory:4,io:3 or
- any:6;memory:4;io:3
-
-2002-07-07 Owen Taylor <[email protected]>
-
- * src/pshinter/pshglob.c (psh_blues_snap_stem): Adding support for
- blue fuzz.
- * src/pshinter/pshglob.h (PSH_BluesRec): Add `blue_fuzz' field.
- * src/type1/t1load.c (T1_Open_Face): Initialize `blue_fuzz'.
-
- Adding support for hinter-specific bit flags, and the new
- FT_Set_Hint_Flags high-level API.
-
- * include/freetype/freetype.h (FT_Set_Hint_Flags): New function.
- (FT_HINT_NO_INTEGER_STEM, FT_HINT_NO_HSTEM_ALIGN,
- FT_HINT_NO_VSTEM_ALIGN): New macros.
-
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
- `hint_flags' member.
-
- * src/base/ftobjs.c (FT_Set_Hint_Flags): New function.
-
- * include/freetype/internal/psaux.h (T1_DecoderRec): Add `hint_flags'
- member.
-
- * include/freetype/internal/pshints.h (T1_Hints_ApplyFunc,
- T2_Hints_ApplyFunc): Add parameter to pass hint flags.
-
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings,
- T1_Decoder_Init): Use decoder->hint_flags.
- * src/cff/cffgload.h (CFF_Builder): Add `hint_flags' field.
- * src/cff/cffgload.c (CFF_Builder_Init): Set builder->hint_flags.
- (CFF_Parse_CharStrings): Updated.
- * src/pshinter/pshalgo1.c (ps1_hints_apply): Add parameter to handle
- hint flags (unused).
- * src/pshinter/pshalgo1.h: Updated.
- * src/pshinter/pshalgo2.c (ps2_hints_apply): Add parameter to handle
- hint flags (unused).
- * src/pshinter/pshalgo2.h: Updated.
- * src/pshinter/pshalgo3.c (ps3_hints_apply): Add parameter to handle
- hint flags.
- * src/pshinter/pshalgo3.h: Updated.
-
-2002-07-04 David Turner <[email protected]>
-
- * src/pfr/pfrobjs.c (pfr_slot_load): Fixed a small bug that returned
- incorrect advances when the outline resolution was different from
- the metrics resolution.
-
- * src/autohint/ahhint.c: Removing compiler warnings.
-
- * src/autohint/ahglyph.c: s/FT_MEM_SET/FT_ZERO/ where appropriate.
- (ah_outline_link_segments): Slight improvements to the serif
- detection code. More work is needed though.
-
-2002-07-03 David Turner <[email protected]>
-
- Small improvements to the automatic hinter. Uneven stem-widths have
- now disappeared and everything looks much better, even if there are
- still issues with serifed fonts.
-
- * src/autohint/ahtypes.h (AH_Globals): Added `stds' array.
- * src/autohint/ahhint.c (OPTIM_STEM_SNAP): New #define.
- (ah_snap_width): Commented out.
- (ah_align_linked_edge): Renamed to...
- (ah_compute_stem_width): This.
- Don't allow uneven stem-widths.
- (ah_align_linked_edge): New function.
- (ah_align_serifed_edge): Don't strengthen serifs.
- (ah_hint_edges_3, ah_hinter_scale_globals): Updated.
-
-2002-07-03 Owen Taylor <[email protected]>
-
- Adding new algorithm based on Owen Taylor's recent work.
-
- * src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: New files.
- * src/pshinter/pshalgo.h: Updated.
- Use pshalgo3 by default.
- * src/pshinter/pshinter.c: Include pshalgo3.c.
-
- * src/pshinter/Jamfile, src/pshinter/rules.mk: Updated.
-
-2002-07-01 Owen Taylor <[email protected]>
-
- * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points): Fix a bug
- where, if a glyph has more than hint mask, the second mask gets
- applied to points that should have been covered by the first mask.
-
-2002-07-01 Keith Packard <[email protected]>
-
- * src/sfnt/ttcmap0.c (tt_cmap8_char_next, tt_cmap12_char_next):
- Fixing the cmap 8 and 12 parsing routines.
-
-2002-07-01 David Turner <[email protected]>
-
- * src/base/ftsynth.c: Include FT_TRIGONOMETRY_H.
- (FT_Outline_Embolden): Renamed to...
- (FT_GlyphSlot_Embolden): This.
- Updated to new trigonometric functions.
- (FT_Outline_Oblique): Renamed to...
- (FT_GlyphSlot_Oblique): This.
- (ft_norm): Removed.
- * include/freetype/ftsynth.h: Updated.
-
-2002-06-26 David Turner <[email protected]>
-
- * include/freetype/internal/ftobject.h: Updating the object
- sub-system definitions (still experimental).
-
- * src/base/fthash.c (ft_hash_remove): Fixing a small reallocation
- bug.
-
- * src/base/fttrigon.c (FT_Vector_From_Polar, FT_Angle_Diff): New
- functions.
- * include/freetype/fttrigon.h: Updated.
-
-
- Adding path stroker component (work in progress).
-
- * include/freetype/ftstroker.h, src/base/ftstroker.c: New files.
- * src/base/Jamfile: Updated.
-
- * include/freetype/config/ftheader.h (FT_STROKER_H): New macro.
-
-
- * src/truetype/ttgload.c (TT_Load_Composite_Glyph),
- src/base/ftoutln.c (FT_Vector_Transform): Fixed Werner's latest fix.
- FT_Vector_Transform wasn't buggy, the TrueType composite loader was.
-
-2002-06-24 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
-
-2002-06-21 David Turner <[email protected]>
-
-
- * Version 2.1.2 released.
- =========================
-
-
-2002-06-21 Roberto Alameda <[email protected]>.
-
- * include/freetype/internal/t42types.h (T42_Font): Removed since
- it is already in t42objs.h.
- (T42_Face): Use T1_FontRec.
-
- * src/base/fttype1.c (FT_Get_PS_Font_Info): Updated.
- (FT_Has_PS_Glyph_Names): Check for type42 driver name also.
- * src/type42/t42objs.h: Include FT_INTERNAL_TYPE42_TYPES_H.
- (T42_Face): Removed since it is already in t42types.h.
-
-2002-06-21 Detlef Würkner <[email protected]>
-
- * src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite
- glyphs.
-
-2002-06-21 Sven Neumann <[email protected]>
-
- * src/prf/pfrtypes.h (PFR_KernPair): New structure.
- (PFR_PhyFont): Use it.
- (PFR_KernFlags): New enumeration.
- * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New
- function.
- (pfr_phy_font_extra_items): Use it.
- (pfr_phy_font_done): Updated.
- * src/pfr/pfrobjs.c (pfr_face_init): Set kerning flag conditionally.
- (pfr_face_get_kerning): New function.
- * src/pfr/pfrobjs.h: Updated.
- * src/pfr/pfrdrivr.c (pfr_driver_class): Updated.
-
-2002-06-21 David Turner <[email protected]>
-
- * README, docs/CHANGES: Preparing the 2.1.2 release.
-
-2002-06-19 Detlef Würkner <[email protected]>
-
- * src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H.
- (t1_face_check_cast): Removed.
- (FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers
- also.
-
-2002-06-19 Sebastien BARRE <http://barre.nom.fr/contact.html#email>
-
- * src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
-
-2002-06-19 Werner Lemberg <[email protected]>
-
- * src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
- (xy <-> yx).
- * src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
- `||' to make code easier to read.
-
-2002-06-18 Roberto Alameda <[email protected]>.
-
- * src/type42/t42objs.c (t42_check_size_change): Removed.
- (T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size
- instead.
- (T42_GlyphSlot_Load): Remove call to t42_check_size_change.
-
-2002-06-18 Detlef Würkner <[email protected]>
-
- * src/psaux/t1cmap.c (t1_cmap_custom_char_index,
- t1_cmap_custom_char_next): Fix index computation -- indices start
- with 0 and not with cmap->first.
-
- Provide default charmaps.
-
- * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
- (PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init),
- src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c
- (FNT_Face_Init): Implement it.
-
-2002-06-17 Sven Neumann <[email protected]>
-
- * src/pfr/pfrobjs.c (pfr_face_init): Fix typo.
-
-2002-06-16 Leonard Rosenthol <[email protected]>
-
- Updated Win32/VC++ projects to include the new PFR driver.
-
- * builds/win32/visualc/freetype.dsp: Updated.
-
-2002-06-16 Anthony Fok <[email protected]>
-
- Install freetype2.m4.
-
- * builds/unix/install.mk (install, uninstall): Handle it.
-
-2002-06-16 Detlef Würkner <[email protected]>
-
- Same fix for PFR driver.
-
- * src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next):
- Increase return value by 1.
- * src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1.
-
-2002-06-15 Detlef Würkner <[email protected]>
-
- Fix glyph indices to make index zero always the undefined glyph.
-
- * src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease
- cmap->num_encodings.
- (bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index):
- Increase result by 1 for normal cases.
- (BDF_Glyph_Load): Decrease index by 1.
-
- * src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next,
- PCF_Char_Get_Index): Increase result by 1 for normal cases.
- (PCF_Glyph_Load): Decrease index by 1.
- * src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for
- allocating `encoding'.
-
- * src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix
- bounding tests.
-
-2002-06-14 Detlef Würkner <[email protected]>
-
- Add new cmap support to BDF driver.
-
- * src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]:
- New structure.
- (bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index,
- bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions.
- (BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only
- conditionally.
- (BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords.
- Implement new cmap handling.
- (bdf_driver_class): Updated.
-
-2002-06-14 Werner Lemberg <[email protected]>
-
- * Makefile, configure, */*.mk, builds/unix/unix-def.in,
- docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/.
-
-2002-06-12 Werner Lemberg <[email protected]>
-
- * src/bdf/bdflib.c: s/FT_Short/short/ for consistency.
-
-2002-06-11 David Turner <[email protected]>
-
- * builds/win32/ftdebug.c: Added a missing #endif.
-
- * src/sfnt/ttload.c, src/bdf/bdflib.c: Removing compiler warnings.
-
- Removed the bug in Type 42 driver that prevented un-hinted outlines
- to be loaded.
-
- * src/type42/t42objs.c (T42_Face_Init): Call FT_Done_Size.
- (T42_Size_Init): Call FT_Activate_Size.
- (t42_check_size_change): New function.
- (T42_Size_SetChars, T42_Size_SetPixels): Use it.
- (ft_glyphslot_clear): Replace FT_MEM_SET with FT_ZERO.
- (T42_GlyphSlot_Load): Use t42_check_size_change.
- Initialize more fields of `glyph'.
-
- * builds/win32/visualc/freetype.dsp: Updated.
-
-2002-06-09 David Turner <[email protected]>
-
-
- * Version 2.1.1 released.
- =========================
-
-
-2002-06-08 Juliusz Chroboczek <[email protected]>
-
- * include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
- src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: Don't
- use `setjmp', `longjmp', and `jmp_buf' but `ft_setjmp', `ft_longjmp',
- and `ft_jmp_buf'.
- Removed direct references to <stdio.h> and <setjmp.h> when
- appropriate, to eventually replace them with a
- FT_CONFIG_STANDARD_LIBRARY_H. Useful for the XFree86 Font Server
- backend based on FT2.
-
- * src/base/fttype1.c (FT_Has_PS_Glyph_Names): Fix return value.
-
-2002-06-08 David Turner <[email protected]>
-
- * src/pcf/pcfdriver.c (pcf_cmap_char_next): Fixed a bug that caused
- the function to return invalid values.
-
- * src/cache/ftccache.i: Removing a typo that prevented
- the source's compilation.
-
- * src/cache/ftccache.c (ftc_node_hash_unlink): Fixed a
- bug that caused nasty memory overwrites. The hash table's
- buckets array wasn't correctly resized when shrunk.
-
-2002-06-08 Detlef Würkner <[email protected]>
-
- * builds/amiga/smakefile, builds/amiga/makefile: Updated.
-
-2002-06-08 Werner Lemberg <[email protected]>
-
- * src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
- [FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
- Fix debugging messages.
- * src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of
- `family' and `hash' up to make it compilable with g++.
-
- * src/type42/t42error.h: New file.
- * src/type42/t42drivr.c, src/type42/t42objs.c,
- src/type42/t42parse.c: Use t42 error codes.
- * src/type42/rules.mk: Updated.
-
- * src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.
-
-2002-06-08 David Turner <[email protected]>
-
- * src/cache/ftccmap.c: GEN_CACHE_FAMILY_COMPARE,
- GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
- New macros.
- (ftc_cmap_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
- ftc_cache_lookup.
- (FTC_CMapCache_Lookup): Updated.
-
- Adding various experimental optimizations to the cache manager.
-
- * include/freetype/cache/ftccache.h (FTC_CACHE_USE_INLINE,
- FTC_CACHE_USE_LINEAR_HASHING): New options.
- (FTC_CacheRec) [FTC_CACHE_USE_LINEAR_HASHING]: New elements `p',
- `mask', and `slack'.
-
- * src/cache/ftccache.c (FTC_HASH_MAX_LOAD, FTC_HASH_MIN_LOAD,
- FTC_HASH_SUB_LOAD) [FTC_CACHE_USE_LINEAR_HASHING,
- FTC_HASH_INITIAL_SIZE]: New macros.
- (ftc_node_mru_link, ftc_node_mru_up): Optimized.
- (ftc_node_hash_unlink, ftc_node_hash_link)
- [FTC_CACHE_USE_LINEAR_HASHING]: New variants.
- (FTC_PRIMES_MIN, FTC_PRIMES_MAX, ftc_primes, ftc_prime_closest,
- FTC_CACHE_RESIZE_TEST, ftc_cache_resize)
- [!FTC_CACHE_USE_LINEAR_HASHING]: Define it conditionally.
- (ftc_cache_init, ftc_cache_clear) [FTC_CACHE_USE_LINEAR_HASHING]:
- Updated.
- (ftc_cache_lookup) [FTC_CACHE_USE_LINEAR_HASHING]: Implement it.
-
- * src/cache/ftccache.i: New file.
-
- * src/cache/ftcsbits.c (GEN_CACHE_FAMILY_COMPARE,
- GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
- New macros.
- (ftc_sbit_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
- ftc_cache_lookup.
- (FTC_SBitCache_Lookup): Updated.
-
- * src/type42/t42parse.c: Removing duplicate function.
-
-2002-06-07 Graham Asher <[email protected]>
-
- * src/base/ftobjs.c (FT_Render_Glyph_Internal): Changed definition
- from FT_EXPORT_DEF to FT_BASE_DEF.
-
-2002-06-07 David Turner <[email protected]>
-
- Fixed the bug that prevented the correct display of fonts with
- `ftview'.
-
- * src/type42/t42drivr.c: Split into...
- * src/type42/t42drivr.h, src/type42/t42parse.c,
- src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c,
- src/type42/type42.c: New files.
-
- (t42_get_glyph_name, t42_get_ps_name, t42_get_name_index): Use
- `face->type1'.
-
- (Get_Interface): Renamed to...
- (T42_Get_Interface): This.
- Updated.
- (T42_Open_Face, T42_Face_Done): Updated.
- (T42_Face_Init): Add new cmap support.
- Updated.
- (T42_Driver_Init, T42_Driver_Done, T42_Size_Init, T42_Size_Done,
- T42_GlyphSlot_Init, T42_GlyphSlot_Done): Updated.
- (Get_Char_Index, Get_Next_Char): Renamed to...
- (T42_CMap_CharIndex, T42_CMap_CharNext): This.
- Updated.
- (T42_Char_Size, T42_Pixel_Size): Renamed to...
- (T42_Size_SetChars, T42_Size_SetPixels): This.
- (T42_Load_Glyph): Renamed to...
- (T42_GlyphSlot_Load): This.
-
- (t42_init_loader, t42_done_loader): Renamed to...
- (t42_loader_init, t42_loader_done): This.
- (T42_New_Parser, T42_Finalize_Parser): Renamed to...
- (t42_parser_init, t42_parser_done): This.
- (parse_dict): Renamed to...
- (t42_parse_dict): This.
- (is_alpha, is_space, hexval): Renamed to...
- (t42_is_alpha, t42_is_space, t42_hexval): This.
- (parse_font_name, parse_font_bbox, parse_font_matrix,
- parse_encoding, parse_sfnts, parse_charstrings, parse_dict):
- Renamed to...
- (t42_parse_font_name, t42_parse_font_bbox, t42_parse_font_matrix,
- t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings,
- t42_parse_dict): This.
- Updated.
-
- (t42_keywords): Updated.
-
- * src/type42/Jamfile, src/type42/descrip.mms: Updated.
-
-2002-06-03 Werner Lemberg <[email protected]>
-
- Add 8bpp support to BDF driver.
-
- * src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp.
- * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto.
- * src/bdf/README: Updated.
-
-2002-06-02 Detlef Würkner <[email protected]>
-
- * src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
-
-2002-05-29 Detlef Würkner <[email protected]>
-
- * src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically.
- (_bdf_parse_glyphs): Use correct size for allocating
- `font->unencoded'.
- (bdf_load_font): Free array conditionally.
- Return proper error code in case of failure.
- * src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against
- unusual fonts.
-
-2002-05-29 Werner Lemberg <[email protected]>
-
- * src/bdf/descrip.mms, src/type42/descrip.mms: New files.
- * descrip.mms (all): Updated.
-
- * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
- compilation.
- * src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
-
-2002-05-28 Detlef Würkner <[email protected]>
-
- * builds/amiga/makefile, builds/amiga/smakefile,
- amiga/include/freetype/config/ftmodule.h: Updated to include
- support for BDF and Type42 drivers.
-
- * docs/modules.txt: Updated.
-
-2005-05-28 David Turner <[email protected]>
-
- * docs/CHANGES: Updating file for next release (2.1.1).
-
- * src/bdf/bdflib.c: Removing compiler warnings.
-
- * include/freetype/ftxf86.h, src/base/ftxf86.c: New files.
- They provide a new API (FT_Get_X11_Font_Format) to retrieve an
- X11-compatible string describing the font format of a given face.
- This was put in a new optional base source file, corresponding to a
- new public header (named FT_XFREE86_H since this function should
- only be used within the XFree86 font server IMO).
-
- * include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not
- documented yet).
-
- * src/base/fttype1.c: New file, providing two new API functions
- (FT_Get_PS_Font_Info and FT_Has_PS_Glyph_Names).
- * include/freetype/t1tables.h: Updated.
-
- * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:
- Updating build control files for the new files `ftxf86.c' and
- `fttype1.c' in src/base.
-
- * src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that
- prevented family blue zones substitution from hapenning correctly.
-
- * include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding
- documentation comment.
-
-2002-05-28 Werner Lemberg <[email protected]>
-
- * src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT
- but FT_STREAM_READ.
- Declare `stream' variable.
-
- * src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math
- with calls to `FT_MulDiv'.
-
-2002-05-28 David Turner <[email protected]>
-
- Fixing the SFNT name table loader to support various buggy fonts.
- It now ignores empty name entries, entries with invalid pointer
- Offsets and certain fonts containing tables with broken
- `storageOffset' fields.
-
- Name strings are now loaded on demand, which reduces the memory
- requirements for a given FT_Face tremendously (for example, the name
- table of Arial.ttf is about 10Kb and contains 70 names).
-
- This is a temporary fix. The whole name table loader and interface
- will be rewritten in a much more cleanly way shortly, once CSEH have
- been introduced in the sources.
-
- * include/freetype/internal/tttypes.h (TT_NameEntryRec): Change
- type of `stringOffset' to FT_ULong.
- (TT_NameTableRec): Change type of `numNameRecords' and
- `storageOffset' to FT_UInt.
- Replace `storage' with `stream'.
- * src/base/ftnames.c (FT_Get_Sfnt_Name): Load name on demand.
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
- Make code more robust.
- * src/sfnt/sfobjs.c (TT_NameEntry_ConvertFunc): New typedef.
- (tt_face_get_name): Use it.
- Make code more robust.
- * src/sfnt/ttload.c (TT_Load_Names): Use `static' for arrays.
- Handle invalid `storageOffset' data better.
- Set length fields to zero for invalid or ignored data.
- Remove code within FT_DEBUG_LEVEL_TRACE.
- (TT_Free_Names): Updated.
-
-2002-05-24 Tim Mooney <[email protected]>
-
- * builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and
- FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be
- rebuilt from sources. Set macro serial to 1, and use third argument
- to AC_DEFINE for our two custom symbols, so ftconfig.in could one day
- be rebuilt with autoheader (not recommended now, ftconfig.in is a
- custom source file)
-
-2002-05-22 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftheader.h (FT_BEZIER_H): Removed.
- (FT_BDF_H): New macro for accessing `ftbdf.h'.
-
- * src/type42/t42drivr.c (hexval): Fix typo.
-
-2002-05-21 Martin Muskens <[email protected]>
-
- * src/psaux/psobjs.c (T1Radix): New function.
- (t1_toint): Use it to handle numbers in radix format.
-
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy
- for undocumented, obsolete opcode 15.
-
-2002-05-21 David Turner <[email protected]>
-
- * src/bdf/bdflib.c: Removed compiler warning, and changed all tables
- to the `static const' storage specifier (instead of simply
- `static').
-
- * src/type42/t42drivr.c (hexval): Use more efficient code.
- Removing compiler warnings.
- * src/bdf/bdfdrivr.c: Removing compiler warnings.
-
- * include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
- src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk
- (FT_Get_BDF_Charset_ID): New API to retrieve BDF-specific strings
- from a face. This is much cleaner than accessing the internal types
- `BDF_Public_Face' defined in FT_INTERNAL_BDF_TYPES_H.
-
-2002-05-21 Werner Lemberg <[email protected]>
-
- * src/bdf/README: Mention Microsoft's SBIT tool.
-
- * src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c,
- src/truetype/ttdriver.c, src/type1/t1driver.c,
- src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c
- [FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed. It has
- been never used.
-
-2002-05-21 Roberto Alameda <[email protected]>.
-
- * src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/.
- (parse_font_matrix): Remove unnecessary code.
- (parse_sfnts): Initialize some variables.
- (t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use
- ft_module_driver_has_hinter conditionally.
- Moved some type 42 specific structure definitions to...
- * include/freetype/internal/t42types.h: New file.
- * include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H):
- New macro.
-
-2002-05-20 Werner Lemberg <[email protected]>
-
- * include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field
- `num_grays' for specifying the number of used gray levels.
- * src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it.
-
-2002-05-19 Werner Lemberg <[email protected]>
-
- Adding a driver for BDF fonts written by Francesco Zappa Nardelli
- <[email protected]>. Heavily modified by me to
- better adapt it to FreeType, removing unneeded stuff. Additionally,
- it now supports Mark Leisher's BDF extension for anti-aliased
- bitmap glyphs with 2 and 4 bpp.
-
- * src/bdf/*: New driver.
- * include/freetype/internal/bdftypes.h: New file.
- * include/freetype/internal/fttrace.h: Added BDF driver components.
- * include/freetype/fterrdef.h: Added error codes for BDF driver.
- * include/freetype/config/ftmodule.h, src/Jamfile: Updated.
- * include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H):
- New macro.
-
- * include/freetype/config/ftstdlib.h (ft_sprintf): New alias for
- sprintf.
-
-2002-05-18 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/fttrace.h: Added Type 42 driver
- component.
- * src/type42/t42drivr.c: Use it.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H):
- New macro.
-
-2002-05-17 Werner Lemberg <[email protected]>
-
- * src/type42/Jamfile: New file.
-
-2002-05-14 Werner Lemberg <[email protected]>
-
- Adding a driver for Type42 fonts written by Roberto Alameda
-
- * src/type42/*: New driver.
- * include/freetype/config/ftmodule.h, src/Jamfile: Updated.
- * include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp,
- ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively.
-
-2002-05-12 Owen Taylor <[email protected]>
-
- * src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables
- with a zero length value.
-
-2002-05-12 Michael Pfeiffer <[email protected]>
-
- * builds/beos/beos.mk: Include `link-std.mk'.
-
-2002-05-12 Werner Lemberg <[email protected]>
-
- * src/type1/t1load.h (T1_Loader): Renamed to...
- (T1_LoaderRec): This.
- (T1_Loader): Now pointer to T1_LoaderRec.
- * src/type1/t1load.c: Updated.
-
- * include/freetype/internal/t1types.h, src/type1/t1load.c,
- src/type1/t1objs.c:
- s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/.
-
-2002-05-06 Werner Lemberg <[email protected]>
-
- * README: Add a note regarding libttf vs. libfreetype.
-
-2002-05-05 Werner Lemberg <[email protected]>
-
- FreeType 2 can now be built in an external directory with the
- configure script also.
-
- * builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.
-
- * builds/unix/detect.mk (have_mk): New variable to test for
- external build.
- (unix-def.mk): Defined according to value of `have_mk'.
- * builds/unix/unix.mk (have_mk): New variable to test for
- external build.
- Select include paths for unix-def.mk and unix-cc.mk according
- to value of `have_mk'.
- * builds/unix/unix-def.in (OBJ_BUILD): New variable.
- (DISTCLEAN): Use it.
- * builds/unix/unix-cc.in (LIBTOOL): Define default value only
- if not yet defined.
- * builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
- freetype-config.
-
- * configure: Don't depend on bash features.
- (ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
- partially taken from Autoconf).
- Build a dummy Makefile if not building in source tree.
-
- * docs/INSTALL: Document it.
-
-2002-05-04 David Turner <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
- bug that prevented FreeType 2.x and FreeType 1.x to produce
- bit-by-bit identical monochrome glyph bitmaps with native TrueType
- hinting. The culprit was a single-bit flag that wasn't set
- correctly by the TrueType glyph loader.
-
- * src/otlayout/otlayout.h, src/otlayout/otlbase.c,
- src/otlayout/otlbase.h, src/otlayout/otlconf.h,
- src/otlayout/otlgdef.c, src/otlayout/otlgdef.h,
- src/otlayout/otlgpos.c, src/otlayout/otlgpos.h,
- src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
- src/otlayout/otljstf.c, src/otlayout/otljstf.h,
- src/otlayout/otltable.c, src/otlayout/otltable.h,
- src/otlayout/otltags.h: New OpenType Layout source files. The
- module is still incomplete.
-
-2002-05-02 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo
- (0xFFFU -> 0xFFFFU).
-
-2002-05-01 Werner Lemberg <[email protected]>
-
- * docs/INSTALL: Fix URL of makepp.
-
-2002-05-01 David Turner <[email protected]>
-
- * src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused
- FreeType to crash when certain broken fonts (e.g. `hya6gb.ttf')
- were opened.
-
- * src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to
- manage fonts containing a broken name table (e.g. `hya6gb.ttf').
-
- * src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive
- validation test. The charmap validator now accepts overlapping
- ranges in format 4 charmaps.
-
- * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary
- search algorithm. Certain fonts contain more than 170 distinct
- segments!
-
- * include/freetype/config/ftstdlib.h: Adding an alias for the `exit'
- function. This will be used in the near future to panic in case of
- unexpected exception (which shouldn't happen in theory).
-
- * include/freetype/internal/fthash.h, src/base/fthash.c: New files.
- This is generic implementation of dynamic hash tables using a linear
- algorithm (to get rid of `stalls' during resizes). In the future
- this will be used in at least three parts of the library: the cache
- sub-system, the object sub-system, and the memory debugger.
-
- * src/base/Jamfile: Updated.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_HASH_H,
- FT_INTERNAL_OBJECT_H): New macros.
-
- * include/freetype/internal/ftcore.h: New file to group all new
- definitions related to exception handling and memory management. It
- is very likely that this file will disappear or be renamed in the
- future.
-
- * include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h:
- Adding comments to better explain the object sub-system as well as
- the new memory manager interface.
-
-2002-04-30 Wenlin Institute (Tom Bishop) <[email protected]>
-
- * src/base/ftmac.c (p2c_str): Removed.
- (file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
- OS X.
- (is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
- Handle `nameLen' <= 6 also.
- (parse_fond): Remove unused variable `name_table'.
- Use functionality of old p2c_str directly.
- Add safety checks.
- (read_lwfn): Initialize `size_p'.
- Check for size_p == NULL.
- (new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
- (FT_New_Face_From_LWFN): Remove unused variable `memory'.
- Remove some dead code.
- (FT_New_Face_From_SFNT): Remove unused variable `stream'.
- (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
- OS X.
- (FT_New_Face_From_FOND): Remove unused variable `error'.
- (ResourceForkSize): New function.
- (FT_New_Face): Use it.
- Handle empty resource forks.
- Conditionalize some code for OS X.
- Add code to call normal loader as a fallback.
-
-2002-04-30 Werner Lemberg <[email protected]>
-
- `interface' is reserved on the Mac.
-
- * include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
- src/base/ftoutln.c: s/interface/func_interface/.
- * src/base/ftbbox.c (FT_Outline_Get_BBox):
- s/interface/bbox_interface/.
- * src/cff/cffdrivr.c: s/interface/module_interface/.
- * src/cff/cffload.c, src/cff/cffload.h:
- s/interface/psnames_interface/.
- * src/cid/cidriver.c: s/interface/cid_interface/.
- * src/sfnt/sfdriver.c: s/interface/module_interface/.
- * src/smooth/ftgrays.c: s/interface/func_interface/.
- * src/truetype/ttdriver.c: s/interface/tt_interface/.
- * src/type1/t1driver.c: s/interface/t1_interface/.
-
- Some more variable renames to avoid troubles on the Mac.
-
- * src/raster/ftraster.c:
- s/Unknown|Ascending|Descending|Flat/\1_State/.
- * src/smooth/ftgrays.c: s/TScan/TCoord/.
-
- Other changes for the Mac.
-
- * include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
- Mac platforms.
- * src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.
-
- * src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
- an even number.
-
-2002-04-29 Jouk Jansen <[email protected]>
-
- * descrip.mms (all): Add pfr driver.
-
-2002-04-28 Werner Lemberg <[email protected]>
-
- * src/pfr/pfrerror.h: New file.
- * include/freetype/ftmoderr.h: Add PFR error codes.
- * src/pfr/pfrgload.c: Include pfrerror.h.
- Use PCF error codes.
- (pfr_extra_item_load_stem_snaps): Fix debug message.
- * src/pfr/pfrgload.c: Include pfrerror.h.
- Use PCF error codes.
- (pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple,
- pfr_glyph_load_compound): Fix debug message.
- * src/pfr/pfrobjs.c: Include pfrerror.h.
- Use PCF error codes.
- (pfr_face_init): Return PFR_Err_Unknown_File_Format.
- * src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h.
-
- * src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]:
- `root' -> `face->root'.
- * src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]:
- Removed.
- * src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for
- FT_CONFIG_OPTION_USE_CMAPS.
-
-2002-04-27 Werner Lemberg <[email protected]>
-
- * src/cache/ftccache.c (ftc_cache_lookup),
- src/cache/ftccmap.c (ftc_cmap_family_init),
- src/cache/ftcmanag.c (ftc_family_table_alloc),
- src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
- src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
- (FTC_ImageCache_Lookup): Fix handling of invalid arguments.
-
-2002-04-22 Werner Lemberg <[email protected]>
-
- * builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2
- version 2.0.9 has 9:0:3).
- * builds/unix/configure: Regenerated (using autoconf 2.53).
-
-2002-04-19 Werner Lemberg <[email protected]>
-
- * src/pfr/pfrload.c (pfr_extra_items_farse): Fix debug message.
- (pfr_phy_font_load): s/size/Size/ for local variable to avoid
- compiler warning.
- * src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
- (pfr_slot_load): Remove redundant local variable.
-
-2002-04-19 David Turner <[email protected]>
-
- Adding a PFR font driver to the FreeType sources. Note that it
- doesn't support embedded bitmaps or kerning tables yet.
-
- src/pfr/*: New files.
-
- * include/freetype/config/ftmodule.h,
- include/freetype/internal/fttrace.h, src/Jamefile: Updated.
-
- * src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c
- (T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback
- function.
-
- * include/freetype/internal/ftmemory.h (FT_MEM_ZERO, FT_ZERO): New
- macros.
-
- * include/freetype/internal/ftstream.h (FT_NEXT_OFF3, FT_NEXT_UOFF3,
- FT_NEXT_OFF3_LE, FT_NEXT_UOFF3_LE): New macros to parse in-memory
- 24-bit integers.
-
-2002-04-18 David Turner <[email protected]>
-
- * src/base/ftobjs.c, builds/win32/ftdebug.c,
- builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked
- against applications in Win32 and Amiga builds due to changes to
- `src/base/ftdebug.c' that were not properly propagated to
- `builds/win32' and `builds/amiga'. This has been fixed.
-
- * include/freetype/internal/ftobject.h,
- include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h,
- include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c:
- New experimental files.
-
-2002-04-17 David Turner <[email protected]>
-
-
- * Version 2.1.0 released.
- =========================
-
-
-2002-04-17 Michael Jansson <[email protected]>
-
- * src/type1/t1gload.c (T1_Compute_Max_Advance): Fixed a small bug
- that prevented the function to return the correct value.
-
-2002-04-16 Francesco Zappa Nardelli <[email protected]>
-
- * src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
- tables.
-
-2002-04-15 David Turner <[email protected]>
-
- * docs/FTL.txt: Formatting.
-
- * include/freetype/config/ftoption.h: Reduce the size of the
- render pool from 32kByte to 16kByte.
-
- * src/pcf/pcfread.c (pcf_seek_to_table_type): Remove compiler
- warning.
-
- * include/freetype/config/ftoption.h (FT_MAX_EXTENSIONS): Removed.
-
- * docs/CHANGES: Preparing 2.1.0 release.
-
-2002-04-13 Werner LEMBERG <[email protected]>
-
- * src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
- compiler warning.
-
-2002-04-12 David Turner <[email protected]>
-
- * README.UNX: Updated the Unix-specific quick-compilation guide to
- warn about the GNU Make requirement at compile time.
-
- * include/freetype/config/ftstdlib.h,
- include/freetype/config/ftconfig.h,
- include/freetype/config/ftheader.h,
- include/freetype/internal/ftmemory.h,
- include/freetype/internal/ftobjs.h,
-
- src/autohint/ahoptim.c,
-
- src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c,
- src/base/ftobjs.c, src/base/ftsystem.c,
-
- src/cache/ftcimage.c, src/cache/ftcsbits.c,
-
- src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
-
- src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
-
- src/pcf/pcfdriver.c, src/pcf/pcfread.c,
-
- src/psaux/t1cmap.c, src/psaux/t1decode.c,
-
- src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
- src/pshinter/pshrec.c,
-
- src/psnames/psmodule.c,
-
- src/raster/ftraster.c,
-
- src/sfnt/sfdriver.c, src/sfnt/ttload.c,
-
- src/smooth/ftgrays.c,
-
- src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
- src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c,
-
- builds/unix/ftconfig.in, builds/vms/ftconfig.h,
-
- builds/amiga/src/base/ftdebug.c:
-
- Added the new configuration file `ftstdlib.h' used to define
- aliases for all ISO C library functions used by the engine
- (e.g. strlen, qsort, setjmp, etc.).
-
- This eases the porting of FreeType 2 to environments like
- XFree86 modules/extensions.
-
- Also removed many #include <string.h>, #include <stdlib.h>, etc.
- from the engine's sources where they are not needed.
-
- * src/sfnt/ttpost.c: Use macro name for psnames.h.
-
-2002-04-12 Vincent Caron <[email protected]>
-
- * configure, builds/detect.mk: Updated the build system to print
- a warning message in case GNU Make isn't used to build the library.
-
-2002-04-11 David Turner <[email protected]>
-
- * README, docs/CHANGES, Jamfile.in: Updates for the 2.1.0 release.
-
- * docs/FTL.txt: Updated license text to provide a preferred
- disclaimer and adjust copyright dates/extents.
-
- * include/freetype/cache/ftcglyph.h: Removing obsolete (and
- confusing) comment.
-
- * Jamfile.in: New file.
-
-2002-04-11 Maxim Shemanarev <[email protected]>
-
- * src/smooth/ftgrays.c (gray_hline): Minor optimization.
-
-2002-04-02 Werner Lemberg <[email protected]>
-
- Fixes from the stable branch:
-
- * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS):
- Removed.
- [FT_CONFIG_OPTION_OLD_CALCS]: Removed.
- * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
- [FT_CONFIG_OPTION_OLD_CALCS]: Removed.
-
- * src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match
- output of FreeType 1.
-
- * src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small
- bug that created un-even stem widths when hinting Postscript fonts.
-
- * src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
-
-2002-04-01 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c: 16bit fixes.
- (TT_Load_Simple_Glyph): Improve debug messages.
- (load_truetype_glyph): Remove dead code.
- * src/truetype/ttinterp.c: 16bit fixes.
- * src/truetype/ttobjs.c: Ditto.
-
- * include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
- src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
- src/sfnt/ttpost.h: s/index/idx/.
-
-2002-03-31 Yao Zhang <[email protected]>
-
- * src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
-
-2002-03-31 Werner Lemberg <[email protected]>
-
- * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/.
- * src/psaux/t1cmap.c: Ditto.
- * src/sfnt/ttcmap0.c: Ditto.
-
- * include/freetype/internal/tttypes.h,
- include/freetype/internal/sfnt.h (TT_Goto_Table_Func): Renamed to ...
- (TT_Loader_GotoTableFunc): This.
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug
- messages.
- * src/psnames/psmodule.c (psnames_interface)
- [!FT_CONFIG_OPTION_ADOBE_GLYPH_LIST]: Fix typo.
- * src/sfnt/sfdriver.c (get_sfnt_table): 16bit fix.
- * src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
- * src/sfnt/ttcmap0.c: 16bit fixes.
- (TT_Build_CMaps): Simplify debug messages.
- (tt_cmap12_char_next): Fix offset.
- * src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
- messages.
- (TT_Load_OS2): 16bit fix.
-
-2002-03-30 David Turner <[email protected]>
-
- * include/freetype/internal/tttypes.h: Adding comments to some of
- the TT_FaceRec fields.
-
- * src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings.
-
- * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_{utf16,ucs4,other}:
- New functions.
- (tt_face_get_name): Use them to properly extract an ascii font name.
-
-2002-03-30 Werner Lemberg <[email protected]>
-
- * include/freetype/t1tables.h (t1_blend_max): Fix typo.
- * src/base/ftstream.c: Simplify FT_ERROR calls.
- * src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
-
- * src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
- [TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
- * src/cff/sfobjs.c (SFNT_Load_Face)
- [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
- * src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
- [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
-
- * src/truetype/ttdriver.c, src/truetype/ttobjs.c,
- src/truetype/ttobjs.h: Renaming driver functions to the
- FT_<Subject>_<Action> scheme:
-
- TT_Init_Driver => TT_Driver_Init
- TT_Done_Driver => TT_Driver_Done
- TT_Init_Face => TT_Face_Init
- TT_Done_Face => TT_Face_Done
- TT_Init_Size => TT_Size_Init
- TT_Done_Size => TT_Size_Done
- TT_Reset_Size => TT_Size_Reset
-
-2002-03-29 Werner Lemberg <[email protected]>
-
- * builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
- FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
- files.
- * builds/unix/ftconfig.in: Add argument to FT_LOCAL and
- FT_LOCAL_DEF.
- * src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
- * builds/unix/configure.ac: Temporarily deactivate creation of
- ../../Jamfile.
- * builds/unix/configure: Updated.
-
-2002-03-28 KUSANO Takayuki <[email protected]>
-
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos.
-
-2002-03-28 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
- compiler warnings.
- * include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
- some members.
- * src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
- * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
- cast.
- (t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
- `FT_CALLBACK_TABLE_DEF'.
- * src/psaux/t1cmap.h: Updated.
- * src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
- instead of zero.
- * src/type1/t1objs.c (T1_Face_Init): Use casts.
-
-2002-03-26 David Turner <[email protected]>
-
- * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
- Fixed a small bug in the FT_CMaps support code.
-
-2002-03-25 David Turner <[email protected]>
-
- * src/truetype/ttinterp.c (Norm): Replaced with...
- (TT_VecLen): This.
- (TT_MulFix14, TT_DotFix14): New functions.
- (Project, Dual_Project, Free_Project, Compute_Point_Displacement,
- Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them.
- [FT_CONFIG_OPTION_OLD_CALCS]: Removed all code.
-
-2002-03-22 David Turner <[email protected]>
-
- * src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
- Various fixes to make the FT_CMaps support work correctly (more
- tests are still needed).
-
- * include/freetype/internal/ftobjs.h, src/sfnt/Jamfile,
- src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
- src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
- the SFNT charmap support to use FT_CMaps.
-
- * include/freetype/fterrdef.h: New file.
- * include/freetype/fterrors.h: Include it. It contains all error
- codes.
- * include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New
- macro.
-
- * include/freetype/internal/ftmemory.h, and a lot of other files:
- Changed the names of memory macros. Examples:
-
- MEM_Set => FT_MEM_SET
- MEM_Copy => FT_MEM_COPY
- MEM_Move => FT_MEM_MOVE
-
- ALLOC => FT_ALLOC
- FREE => FT_FREE
- REALLOC = >FT_REALLOC
-
- FT_NEW was introduced to allocate a new object from a _typed_
- pointer.
-
- Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by
- FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
- arguments.
-
- This results in _lots_ of sources being changed, but makes the code
- more generic and less error-prone.
-
- * include/freetype/internal/ftstream.h, src/base/ftstream.c,
- src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c,
- src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
- src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c,
- src/winfonts/winfnt.c: Changed the definitions of stream macros.
- Examples:
-
- NEXT_Byte => FT_NEXT_BYTE
- NEXT_Short => FT_NEXT_SHORT
- NEXT_UShortLE => FT_NEXT_USHORT_LE
- READ_Short => FT_READ_SHORT
- GET_Long => FT_GET_LONG
- etc.
-
- Also introduced the FT_PEEK_XXXX functions.
-
- * src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented
- out function.
- (find_encoding): Removed.
- (CFF_Face_Init): Remove charmap support.
-
- * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS,
- TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune
- support of cmaps.
-
-2002-03-21 David Turner <[email protected]>
-
- * src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
- to new FT_CMap definitions.
-
- * src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
- src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support
- from `src/type1' to `src/psaux' since it is going to be shared by
- the Type 1 and CID font drivers.
-
- * src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
- src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support
- for Type 1 FT_CMaps.
-
-2002-03-20 David Turner <[email protected]>
-
- * src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a
- memory allocation bug that was due to un-careful renaming of the
- FT_SubGlyph type.
-
- * src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that
- caused the library to crash with Electric Fence when memory
- debugging is used.
-
- * Renaming stream macros. Examples:
-
- FILE_Skip => FT_STREAM_SKIP
- FILE_Read => FT_STREAM_READ
- ACCESS_Frame => FT_FRAME_ENTER
- FORGET_Frame => FT_FRAME_EXIT
- etc.
-
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak.
-
- * include/freetype/internal/ftobjs.h: Changing the definition of
- FT_CMap_CharNextFunc slightly.
-
- * src/cff/*.c: Updating CFF type definitions.
-
-2002-03-14 David Turner <[email protected]>
-
- * include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
- src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions
- for the auto-hinter module.
-
- FT_AutoHinter_Interface => FT_AutoHinter_ServiceRec
- FT_AutoHinter_Interface* => FT_AutoHinter_Service
- etc.
-
- FT_AutoHinter_Get_Global_Func => FT_AutoHinter_GlobalGetFunc
- FT_AutoHinter_Done_Global_Func => FT_AutoHinter_GlobalDoneFunc
- etc.
-
- * ahloader.h [_STANDALONE_]: Removed all conditional code.
-
- * include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the
- type definitions of the CFF font driver.
-
- CFF_Font => CFF_FontRec
- CFF_Font* => CFF_Font
- etc.
-
- * include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating
- type definitions of the Windows FNT font driver.
-
- * include/freetype/internal/ftdriver.h,
- include/freetype/internal/ftobjs.h, src/base/ftapi.c,
- src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h,
- src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c,
- src/pcf/pcfdriver.h, src/truetype/ttdriver.c,
- src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h,
- src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type
- definitions for font drivers.
-
- FTDriver_initFace => FT_Face_InitFunc
- FTDriver_initGlyphSlot => FT_Slot_InitFunc
- etc.
-
- * src/cid/cidobjs.c (CID_Face_Init): Remove dead code.
-
- * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: Updated a
- few face method definitions:
-
- FT_PSName_Requester => FT_Face_GetPostscriptNameFunc
- FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
- FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
-
- * src/base/ftapi.c: New file. It contains backwards compatibility
- functions.
-
- * include/freetype/internal/psaux.h, src/cid/cidload.c,
- src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
- src/psaux/t1decode.c, stc/type1/t1load.c, src/type1/t1tokens.h:
- Updated common PostScript type definitions.
- Renamed all enumeration values like to uppercase variants:
-
- t1_token_any => T1_TOKEN_TYPE_ANY
- t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO
- etc.
-
- * include/freetype/internal/psglobals.h: Removed.
- * include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
- Updated.
-
- * include/freetype/internal/tttypes.h,
- include/freetype/internal/sfnt.h, src/base/ftnames.c,
- src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: Updated
- SFNT/TrueType type definitions.
-
- * include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
- Updating type definitions for the glyph loader.
-
-2002-03-13 Antoine Leca <[email protected]>
-
- * include/freetype/config/ftoption.h: Changed the automatic
- detection of Microsoft C compilers to automatically support 64-bit
- integers only since revision 9.00 (i.e. >= Visual C++ 2.0).
-
-2002-03-08 Werner Lemberg <[email protected]>
-
- * src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
-
-2002-03-07 Werner Lemberg <[email protected]>
-
- * src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
- ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
- ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
- FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
- * src/base/ftcalc.c (FT_MulFix): Ditto.
- * src/cff/cffdrivr.c (cff_get_name_index): Ditto.
- * src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init,
- CFF_GlyphSlot_Init): Ditto.
- * src/cid/cidobjs.c (CID_GlyphSlot_Init,
- CID_Size_Get_Globals_Funcs): Ditto.
- * src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
- Ditto.
- * src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
- * src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
- variables.
-
- * include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
- to...
- (T1_Builder_FuncsRec): This.
- (T1_Builder_Funcs): New typedef.
- (PSAux_Interface): Remove compiler warnings.
- * src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
- (t1_builder_funcs): Updated.
-
- * src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
- (PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
- (PSH_AlignmentRec): Updated.
-
- * include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
- typo.
- * include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
- * src/base/ftstream (FT_Get_Char): Rename to...
- (FT_Stream_Get_Char): This.
-
- * src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
- a built-in function in gcc, causing warning messages with gcc 3.0.
- * src/autohint/ahglyph.c (ah_outline_load): Ditto.
- * src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
- * src/cache/ftcmanag.c (ftc_family_table_alloc,
- ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
- Ditto.
- * src/cff/cffload.c (cff_new_index, cff_done_index,
- cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
- CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
- CFF_Done_Font): Ditto.
- * src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
- * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
- * src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
- ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
- * src/pshinter/pshalgo1.c (psh1_hint_table_record,
- psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
- * src/pshinter/pshalgo2.c (psh2_hint_table_record,
- psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
- * src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
- TT_Get_PS_Name): Ditto.
- * src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
- load_truetype_glyph): Ditto.
- * src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
- * src/type1/t1afm.c (T1_Get_Kerning): Ditto.
- * include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
-
-2002-03-06 David Turner <[email protected]>
-
- * src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c
- (CID_Face_Init): Fixed another bug related to the
- ascender/descender/text height of Postscript fonts.
-
- * src/pshinter/pshalgo2.c (print_zone): Renamed to ...
- (psh2_print_zone): This.
- * src/pshinter/pshalgo1.c (print_zone): Renamed to ...
- (psh1_print_zone): This.
-
- * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
- src/base/ftobjs.c: Adding the new FT_Library_Version API to return
- the library's current version in dynamic links.
- * src/base/ftinit.c (FT_Init_FreeType): Updated.
-
-2002-03-06 Werner Lemberg <[email protected]>
-
- * src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/.
- * src/pshinter/pshglob.c (psh_global_scale_widths,
- psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
- Ditto.
-
-2002-03-05 David Turner <[email protected]>
-
- * src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c
- (CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug
- that returned global BBox values in 16.16 fixed format (instead of
- integer font units).
-
- * src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that
- caused the CID driver to return Postscript font names with a leading
- slash (`/') as in `/MOEKai-Regular'.
-
- * src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
- src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
- that it accepts broken fonts like `foxjump.ttf', which made FreeType
- crash when trying to load them.
-
- Also improved the name table parser to be able to load
- Windows-encoded entries before Macintosh or Unicode ones, since it
- seems some fonts don't have reliable values here anyway.
-
- * include/freetype/internal/psnames.h: Add typedef for
- `PSNames_Service'.
-
-2002-03-05 Werner Lemberg <[email protected]>
-
- * builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
- 1.4.2.
- Apply a small patch for AIX to make shared libraries work (this
- patch is already in the CVS version of libtool).
-
- * builds/unix/config.sub, builds/unix/config.guess: Updated to
- recent versions.
-
- * builds/unix/configure.ac: Fix typo
- (AC_CONFIG_FILE->AC_CONFIG_FILES).
-
- * builds/unix/configure: Regenerated.
-
-2002-02-28 David Turner <[email protected]>
-
- * include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
- `FT_LOCAL( xxxx )' everywhere in the source. The same goes for
- `FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'.
-
- * include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH):
- Changing version to 2.1.0 to indicate an unstable branch.
- Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
-
- * src/base/ftobjs.c: Implement FT_Get_First_Char and
- FT_Get_Next_Char.
-
- * include/freetype/t1tables.h: Renaming structure types. This
-
- typedef T1_Struct_
- {
- } T1_Struct;
-
- becomes
-
- typedef PS_StructRec_
- {
- } PS_StructRec, *PS_Struct;
-
- typedef PS_StructRec T1_Struct; /* backwards-compatibility */
-
- Hence, we increase the coherency of the source code by effectively
- using the `Rec' prefix for structure types.
-
-2002-02-27 David Turner <[email protected]>
-
- * src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the
- names table loader. Invalid individual name entries are now handled
- correctly. This allows the loading of very buggy fonts like
- `foxjump.ttf' without allocating tons of memory and causing crashes.
-
- * src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still
- experimental) code for OpenType Layout tables validation and
- parsing.
-
- * src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still
- experimental) code for Type 1 charmap processing.
-
- * src/sfnt/ttcmap0.c: New file. It contains a new, still
- experimental SFNT charmap processing support.
-
- * include/freetype/internal/ftobjs.h: Adding validation support as
- well as internal charmap object definitions (FT_CMap != FT_CharMap).
-
-2002-02-24 David Turner <[email protected]>
-
- * Renaming stream functions to the FT_<Subject>_<Action> scheme:
-
- FT_Seek_Stream => FT_Stream_Seek
- FT_Skip_Stream => FT_Stream_Skip
- FT_Read_Stream => FT_Stream_Read
- FT_Read_Stream_At => FT_Stream_Read_At
- FT_Access_Frame => FT_Stream_Enter_Frame
- FT_Forget_Frame => FT_Stream_Exit_Frame
- FT_Extract_Frame => FT_Stream_Extract_Frame
- FT_Release_Frame => FT_Stream_Release_Frame
- FT_Get_XXXX => FT_Stream_Get_XXXX
- FT_Read_XXXX => FT_Stream_Read_XXXX
-
- FT_New_Stream( filename, stream ) =>
- FT_Stream_Open( stream, filename )
-
- (The function doesn't create the FT_Stream structure, it simply
- initializes it for reading.)
-
- FT_New_Memory_Stream( library, FT_Byte* base, size, stream ) =>
- FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
-
- FT_Done_Stream => FT_Stream_Close
- FT_Stream_IO => FT_Stream_IOFunc
- FT_Stream_Close => FT_Stream_CloseFunc
-
- ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only)
- ft_io_stream => ft_ansi_stream_io (in base/ftsystem.c only)
-
- * src/base/ftutil.c: New file. Contains all memory and list
- management code (previously in `ftobjs.c' and `ftlist.c',
- respectively).
-
- * include/freetype/internal/ftobjs.h: Moving all code related to
- glyph loaders to ...
- * include/freetype/internal/ftgloadr.h: This new file.
- `FT_GlyphLoader' is now a pointer to the structure
- `FT_GlyphLoaderRec'.
- (ft_glyph_own_bitmap): Renamed to ...
- (FT_GLYPH_OWN_BITMAP): This.
- * src/base/ftobjs.c: Moving all code related to glyph loaders
- to ...
- * src/base/ftgloadr.c: This new file.
-
-2002-02-22 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
- enum to avoid compiler warnings.
-
-2002-02-21 David Turner <[email protected]>
-
- Modified the debug sub-system initialization. Trace levels can now
- be specified within the `FT2_DEBUG' environment variable. See the
- comments within `ftdebug.c' for more details.
-
- * src/base/ftdebug.c: (FT_SetTraceLevel): Removed.
- (ft_debug_init): New function.
- (ft_debug_dummy): Removed.
- Updated to changes in ftdebug.h
-
- * include/freetype/internal/ftdebug.h: Always define
- FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE is defined.
- (FT_Assert): Renamed to ...
- (FT_ASSERT): This.
- Some stuff from ftdebug.h has been moved to ...
-
- * include/freetype/internal/fttrace.h: New file, to define the trace
- levels used for debugging. It is used both to define enums and
- toggle names for FT2_DEBUG.
-
- * include/freetype/internal/internal.h: Updated.
-
- * src/base/ftobjs.c, src/base/ftstream.c: Updated.
-
- * include/freetype/internal/ftextend.h, src/base/ftextend.c:
- Removed. Both files are now completely obsolete.
- * src/base/Jamfile, src/base/rules.mk: Updated.
-
- * include/freetype/fterrors.h: Adding `#undef FT_ERR_CAT' and
- `#undef FT_ERR_XCAT' to avoid warnings with certain compilers (like
- LCC).
-
- * src/pshinter/pshalgo2.c (print_zone): Renamed to ...
- (psh2_print_zone): This to avoid errors during compilation of debug
- library.
-
- * src/smooth/ftgrays.c (FT_COMPONENT): Change definition to as
- `trace_smooth'.
-
-2002-02-20 David Turner <[email protected]>
-
- * README: Adding `[email protected]' address for bug reports.
-
-2002-02-20 Werner Lemberg <[email protected]>
-
- * builds/unix/install.mk (check): New dummy target.
- (.PHONY): Add it.
-
-2002-02-19 Werner Lemberg <[email protected]>
-
- * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
-
- * src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
- to avoid compiler warning.
- * src/cff/cffload.c (CFF_Get_String): Ditto.
- * src/cff/cffobjs.c (CFF_StrCopy): Ditto.
- * src/psaux/psobjs.c (PS_Table_Done): Ditto.
- * src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
- * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
- (pcf_get_bitmaps): The same for `sizebitmaps'.
- * src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for
- `orig_y'.
- (t1operator_seac): Comment out more dead code.
- * src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
- conditional.
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
- load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
- conditional.
-
-2002-02-18 Werner Lemberg <[email protected]>
-
- * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
- variables.
- * src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
- of UNUSED.
- * src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
- * src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
- swapping code.
- * src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
- * src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
- * src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
- * src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
- * include/freetype/internal/ftobjs.h (UNUSED): Removed.
-
-2002-02-10 Roberto Alameda <[email protected]>
-
- Add support for ISOLatin1 PS encoding.
-
- * include/freetype/freetype.h (ft_encoding_latin_1): New tag
- (`lat1').
- * include/freetype/internal/t1types.h (T1_Encoding_Type): Add
- `t1_encoding_isolatin1'.
- * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
- ft_encoding_latin_1.
- * src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
- * src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
-
-----------------------------------------------------------------------------
-
-Copyright 2002, 2003, 2004, 2005, 2007, 2008 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT. By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
+2005-06-08 Werner Lemberg <[email protected]>
+
+
+ * Version 2.1.10 released.
+ ==========================
+
+
+ * src/pcf/readme: Renamed to...
+ * src/pcf/README: This.
+
+2005-06-07 Detlef Würkner <[email protected]>
+
+ * builds/amiga/*: Added copyright notes, reworked some comments.
+
+2005-06-05 Werner Lemberg <[email protected]>
+
+ * Add copyright notices to all files which don't have one.
+
+ * docs/license.txt: Renamed to...
+ * docs/LICENSE.TXT: This.
+ * docs/FTL.txt: Renamed to...
+ * docs/FTL.TXT: This.
+ * docs/GPL.txt: Renamed to...
+ * docs/GPL.TXT: This.
+
+ * docs/PATENTS: Slightly reworded. Suggested by Sylvain Beucler
+
+2005-06-04 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
+ FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
+ FT_Outline_CubicToFunc, FT_Raster_RenderFunc),
+ include/freetype/ftrender.h (FT_Glyph_TransformFunc,
+ FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Don't use
+ `const' to stay compatible with FreeType 2.1.9.
+
+2005-06-01 Adam D. Moss <[email protected]>
+
+ * src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from
+ 2004-07-11; this gives much better results under normal
+ circumstances.
+
+2005-05-30 Chia I Wu <[email protected]>
+
+ * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor
+ documentation improvements.
+
+ * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix typos.
+
+ * src/base/ftbitmap.c (FT_Bitmap_Embolden): Add support for bitmap
+ of pixel_mode FT_PIXEL_MODE_GRAY2 or FT_PIXEL_MODE_GRAY4.
+ If xstr is larger than 8 and bitmap is of pixel_mode
+ FT_PIXEL_MODE_MONO, set xstr to 8 instead of returning error.
+
+2005-05-29 Chia I Wu <[email protected]>
+
+ * src/base/ftbitmap.c (FT_Bitmap_Embolden): Fix emboldening bitmap
+ of mode FT_PIXEL_MODE_GRAY. Also add support for mode
+ FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V.
+ (ft_bitmap_assure_buffer): FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V
+ should have ppb (pixel per byte) 1.
+ Zero the padding when there's no need to allocate memory.
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle slot->advance
+ too.
+ More suited emboldening strength.
+
+2005-05-28 Chia I Wu <[email protected]>
+
+ * src/base/ftbitmap.c (FT_Bitmap_Embolden): Handle negative pitch.
+ Handle FT_PIXEL_MODE_GRAY with num_gray != 256.
+ Improve speed for FT_PIXEL_MODE_GRAY.
+ (ft_bitmap_assure_buffer): Accept FT_PIXEL_MODE_LCD and
+ FT_PIXEL_MODE_LCD_V.
+
+2005-05-27 Chia I Wu <[email protected]>
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Initialize `error'.
+
+ * src/base/ftobjs.c (ft_cmap_done_internal): New function.
+ (FT_CMap_Done): Remove cmap from cmap list.
+ (destroy_charmaps, FT_CMap_New): Don't call FT_CMap_Done but
+ ft_cmap_done_internal.
+
+2005-05-26 Werner Lemberg <[email protected]>
+
+ * docs/GPL.txt: Update postal address of FSF.
+
+2005-05-26 Chia I Wu <[email protected]>
+
+ * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Improve
+ documentation.
+
+ * src/base/ftsynth.c (FT_BOLD_THRESHOLD): Removed.
+ (FT_GlyphSlot_Embolden): Check whether slot is bitmap owner.
+ Always modify the metrics.
+
+2005-05-24 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2005-05-24 Chia I Wu <[email protected]>
+
+ * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration.
+
+ * include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration.
+
+ * src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary
+ function.
+ (FT_Bitmap_Embolden): New function.
+
+ * src/base/ftoutln.c (FT_Outline_Embolden): New function.
+
+ * src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and
+ FT_TRIGONOMETRY_H but FT_BITMAP_H.
+ (FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or
+ FT_Bitmap_Embolden.
+
+2005-05-24 Werner Lemberg <[email protected]>
+
+ * configure: Always remove config.mk, builds/unix/unix-def.mk, and
+ builds/unix/unix-cc.mk. This fixes repeated calls of the script.
+ Reported by Nelson Beebe and Behdad Esfahbod.
+
+ * README.CVS: Mention file permissions.
+
+2005-05-23 Werner Lemberg <[email protected]>
+
+ * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk
+ (CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove
+ -fno-strict-aliasing.
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c --
+ it is currently loaded from ttsbit.c.
+
+2005-05-23 Behdad Esfahbod <[email protected]>
+
+ Say you have `(Foo*)x' and want to assign, pass, or return it as
+ `(Bar*)'. If you simply say `x' or `(Bar*)x', then the C compiler
+ would warn you that type casting incompatible pointer types breaks
+ strict-aliasing. The solution is to cast to `(void*)' instead which
+ is the generic pointer type, so the compiler knows that it should
+ make no strict-aliasing assumption on `x'. But the problem with
+ `(void*)x' is that seems like in C++, unlike C, `void*' is not a
+ generic pointer type and assigning `void*' to `Bar*' without a cast
+ causes an error. The solution is to cast to `Bar*' too, with
+ `(Bar*)(void*)x' as the result -- this is what the patch does.
+
+ * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP),
+ include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove
+ cast on lvalue, use a temporary pointer instead.
+ Cast temporarily to (void*) to not break strict aliasing.
+
+ * include/freetype/internal/ftmemory.h (FT_MEM_ALLOC,
+ FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE),
+ src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*)
+ to not break strict aliasing.
+
+ * src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information.
+
+ * builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing.
+
+2005-05-23 David Turner <[email protected]>
+
+ Fix Savannah bug #12213 (incorrect behaviour of the cache sub-system
+ in low-memory conditions).
+
+ * include/freetype/cache/ftccache.h (FTC_CACHE_TRYLOOP,
+ FTC_CACHE_TRYLOOP_END): New macros.
+
+ * src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c
+ (ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACE_TRYLOOP_END.
+
+2005-05-23 Werner Lemberg <[email protected]>
+
+ * src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but...
+ (BASE_EXT_SRC): Here.
+
+2005-05-22 Werner Lemberg <[email protected]>
+
+ * src/base/ftrfork.c (raccess_guess_apple_generic): Mark
+ `version_number' and `entry_length' as unused.
+ (raccess_guess_linux_double_from_file_name): Remove `memory'.
+ (raccess_make_file_name): Mark `error' as unused.
+
+ * src/bdf/bdflib.c (_bdf_parse_properties): Remove `memory'.
+
+ * src/cid/cidobjs.c (cid_face_init): Remove `psnames'.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Remove `memory'.
+
+ * src/truetype/ttgxvar.c (ft_var_readpackedpoints,
+ ft_var_readpackeddeltas, ft_var_load_avar): Mark `error' as unused.
+
+ * src/base/rules.mk (BASE_SRC): Add ftsynth.c.
+
+2005-05-21 David Turner <[email protected]>
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix a bug that
+ produced unpleasant artefacts when trying to embolden very sharp
+ corners.
+
+2005-05-20 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2005-05-20 Chia I Wu <[email protected]>
+
+ * src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H
+ but FT_BITMAP_H.
+ (FT_Bitmap_Copy): New function (from ftglyph.c).
+
+ * include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public
+ definition.
+
+ * src/base/ftglyph.c: Include FT_BITMAP_H.
+ (ft_bitmap_copy): Move to ftbitmap.c.
+ (ft_bitmap_glyph_init): Remove `memory' variable.
+ Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set.
+ (ft_bitmap_glyph_copy): Use FT_Bitmap_Copy.
+ (ft_bitmap_glyph_done): Use FT_Bitmap_Done.
+ (ft_outline_glyph_init): Use FT_Outline_Copy.
+
+ * src/base/ftoutln.c (FT_Outline_Copy): Handle source == target.
+ (FT_Outline_Done_Internal): Check for valid `memory' pointer.
+ (FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render,
+ FT_Outline_Transform): Check for valid `outline' pointer.
+
+ * src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to
+ face->glyph, otherwise a new second glyph slot cannot be created.
+ (FT_Done_GlyphSlot): Fix memory leak.
+ (FT_Open_Face): Updated -- face->glyph is already managed by
+ FT_New_GlyphSlot.
+
+ * src/type42/t42objs.c (T42_GlyphSlot_Done): Updated.
+
+2005-05-20 Kirill Smelkov <[email protected]>
+
+ * include/freetype/ftimage.h (FT_Raster_Params),
+ include/freetype/ftoutln.h (FT_Outline_Translate,
+ FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate,
+ FT_Outline_Transform): Decorate parameters with `const' where
+ appropriate.
+ Update all callers.
+
+ * src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c
+ (gray_raster_reset): Remove `const' from `pool_base' argument.
+
+2005-05-18 Kirill Smelkov <[email protected]>
+
+ * src/raster/ftmisc.h: New file. Only needed if ftraster.c is
+ compiled as stand-alone.
+
+ * src/raster/ftraster.c: Add comment how to compile as stand-alone.
+ s/FT_CONFIG_OPTION_STATIC_RASTER/FT_STATIC_RASTER/.
+ s/TT_STATIC_RASTER/FT_STATIC_RASTER/.
+ [_STANDALONE_]: Include ftimage.h and ftmisc.h.
+ (FT_TRACE1, FT_TRACE6, ft_memset, FT_MEM_ZERO): Define
+ conditionally.
+ (Render_Glyph, Render_Gray_Glyph): Return Raster_Err_None (or
+ Raster_Err_Unsupported).
+ (ft_black_new) [_STANDALONE_]: Fix type of `the_raster'.
+ (ft_black_init, ft_black_reset, ft_black_set_mode, ft_black_render):
+ Use `ras', not `raster'.
+ (ft_black_done): Use FT_UNUSED_RASTER.
+ (Horizontal_Sweep_Init, Horizontal_Sweep_Step,
+ Horizontal_Gray_Sweep_Span): Use FT_UNUSED_RASTER.
+
+2005-05-18 Werner Lemberg <[email protected]>
+
+ * docs/announce: Start updating.
+
+ * docs/CHANGES: Updated.
+
+2005-05-16 Vitaliy Pasternak <[email protected]>
+
+ * builds/win32/visualc/freetype.vcproj: Updated.
+ Exclude debug info for `Release' versions to reduce library size.
+
+2005-05-16 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this
+ is, ignore `aface' completely if face_index < 0. Reported by David
+ Osborn <[email protected]>.
+
+2005-05-16 Kirill Smelkov <[email protected]>
+
+ * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
+ FT_Outline_LineTo_Func, FT_Outline_ConicToFunc,
+ FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic,
+ gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to,
+ gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters
+ with `const' where appropriate.
+
+2005-05-11 Kirill Smelkov <[email protected]>
+
+ * include/freetype/ftimage.h (FT_Raster_RenderFunc),
+ include/freetype/ftrender.h (FT_Glyph_TransformFunc,
+ FT_Renderer_Render_Func, FT_Renderer_TransformFunc),
+ src/base/ftglyph.c (ft_outline_glyph_transform),
+ src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render),
+ src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render),
+ src/smooth/ftsmooth.c (ft_smooth_transform,
+ ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd,
+ ft_smooth_render_lcd_v): Decorate parameters with `const' where
+ appropriate.
+
+ * src/raster/ftraster.c (RASTER_RENDER_POOL): Removed. Obsolete.
+ (ft_black_render): Decorate parameters with `const' where
+ appropriate.
+
+2005-05-11 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT ->
+ FT_PEEK_USHORT) which caused crashes. Reported by Ismail Donmez
+
+2005-05-08 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE)
+ [__cplusplus]: Fix typo.
+
+2005-05-07 Werner Lemberg <[email protected]>
+
+ Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck
+ Blaskey <[email protected]>).
+
+ * src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'.
+ * src/sfnt/ttcmac.c: Use SFNT_Err_Ok where appropriate.
+
+ (tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate,
+ tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use
+ `FT_Error' as return type.
+ (tt_cmap4_validate): Use `FT_Error' as return type.
+ Return error code for unsorted cmap.
+ (tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted
+ cmaps.
+ (tt_face_build_cmaps): Set `unsorted' variable in cmap.
+
+2005-05-07 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttpload.c (tt_face_get_location): Fix typo.
+
+2005-05-06 Werner Lemberg <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init): Set ppem value in top
+ dictionary for SFNT-based CFF.
+
+2005-05-05 Werner Lemberg <[email protected]>
+
+ Handle malformed `loca' table entries.
+
+ * docs/TODO: Add some bugs which should be fixed.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Add `glyf_len'
+ element.
+
+ * src/truetype/ttpload.c (tt_face_load_loca): Get length of `glyf'
+ table.
+ (tt_face_get_location): Fix computation of `asize' for malformed
+ `loca' entries.
+
+2005-05-01 David Turner <[email protected]>
+
+ * Jamfile: Remove `otvalid' from the list of compiled modules.
+
+ * include/freetype/internal/ftserv.h: Add compiler pragmas to get
+ rid of annoying warnings with Visual C++ compiler in maximum warning
+ mode.
+
+ * src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c,
+ src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c,
+ src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c,
+ src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c,
+ src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: Remove compiler warnings.
+
+2005-04-28 Werner Lemberg <[email protected]>
+
+ * docs/TODO: Updated.
+
+2005-04-24 Werner Lemberg <[email protected]>
+
+ * src/otvalid/otvcommn.c
+ (otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0.
+
+2005-04-16 Werner Lemberg <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init): Set default upem value in top
+ font dict also.
+ Handle font matrix settings in subfonts.
+
+ * src/cff/cffgload.c (cff_slot_load): Use the correct font matrix
+ for CID-keyed fonts with subfonts.
+
+ * docs/formats.txt: Updated.
+
+2005-04-14 Kirill Smelkov <[email protected]>
+
+ * include/freetype/freetype.h (FT_Vector_Transform),
+ include/freetype/ftimage.h (FT_Raster_Params),
+ include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox,
+ FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform,
+ FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render),
+ src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with
+ `const' where appropriate.
+
+2005-04-14 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_charstrings): Catch this non-standard
+ beginning of the /CharStrings dictionary:
+
+ /CharStrings 118 dict def
+ Private begin
+ CharStrings begin
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments
+ to call of tt_sbit_decoder_load_bitmap.
+
+2005-04-13 Werner Lemberg <[email protected]>
+
+ * docs/TODO: Updated.
+
+ * autogen.sh: Use `--force' for all commands.
+
+2005-04-09 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values
+ only if `fitted' is not zero.
+
+2005-04-06 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]:
+ Fix typo which sometimes causes wrong metrics for the last glyph.
+
+2005-04-04 David Turner <[email protected]>
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h
+ (FT_OPTIMIZE_MEMORY): Comment out this macro for the upcoming 2.1.10
+ release.
+ (*_CHESTER_*): Removed. No longer used.
+
+ * src/autofit/afhints.c (af_axis_hints_new_segment,
+ af_axis_hints_new_edge): Small tweak to use less heap memory.
+
+2005-04-03 Werner Lemberg <[email protected]>
+
+ * src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid
+ first line in the font.
+
+2005-04-03 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES, include/freetype/freetype.h: Improve documentation
+ of FT_Set_Pixel_Sizes and FT_Set_Char_Size.
+
+2005-03-26 Detlef Würkner <[email protected]>
+
+ * builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer
+ offsets after a large read.
+
+2005-03-26 Werner Lemberg <[email protected]>
+
+ * src/autofit/afglobal.c (af_face_globals_get_metrics):
+ s/index/gidx/.
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler
+ warnings.
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
+
+ * src/sfnt/ttsbit0.h: Dummy file for build with `make'.
+
+2005-03-26 Detlef Würkner <[email protected]>
+
+ Update of the Amiga port.
+
+ * builds/amiga/makefile, builds/amiga/makefile.os4,
+ builds/amiga/smakefile: Included the base extension files
+ (ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
+
+2005-03-25 Detlef Würkner <[email protected]>
+
+ Update of the Amiga port.
+
+ * builds/amiga/makefile, builds/amiga/smakefile: Handle new modules.
+
+ * builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK.
+
+ * builds/amiga/README: Updated.
+
+ * builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for
+ AmigaOS4.
+
+ * builds/amiga/include/freetype/config/ftmodule.h: Handle new
+ modules.
+
+ * builds/amiga/src/base/ftdebug.c: Updated to current version of
+ default ftdebug.c.
+ Add various include files and macros to have proper support for
+ both AmigaOS4 and older AmigaOS versions.
+ Don't declare KVPrintF explicitly.
+ Replace getenv with GetVar.
+ Actually enable debugging code.
+
+ * builds/amiga/src/base/ftsystem.c: Major rewrite.
+
+2005-03-23 Werner Lemberg <[email protected]>
+
+ * tests/*: Removed.
+
+2005-03-23 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES, docs/INSTALL.ANY: Updated.
+
+ * include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
+ Add `OTvalid'.
+
+ * src/autofit/aferrors.h: New file.
+
+ * src/autofit/afglobal.c, src/autofit/afhints.c,
+ src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
+ Include aferrors.h.
+
+ * src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.
+
+ * src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
+
+2005-03-22 David Turner <[email protected]>
+
+ * src/autohint/*: Removed.
+ * Jamfile: Updated.
+
+2005-03-15 David Turner <[email protected]>
+
+ * src/bdf/bdflib.c: Remove compiler warnings.
+ (hash_rehash, hash_init): Don't call FT_MEM_ZERO.
+ (_bdf_list_t): Add `memory' field.
+ (_bdf_list_init, _bdf_list_done, _bdf_list_ensure): New functions.
+ (_bdf_shift, _bdf_join): Rename to...
+ (_bdf_list_shift, _bdf_list_join): This.
+ (_bdf_split): Renamed to...
+ (_bdf_list_split): This. Use new functions.
+ (bdf_internal_readstream): Removed.
+ (NO_SKIP): New macro.
+ (_bdf_readstream): Rewritten.
+ (bdf_create_property, _bdf_add_comment): Improve allocation.
+ (_bdf_set_default_spacing, _bdf_parse_glyphs): Updated. Improve
+ allocation.
+ (_bdf_parse_properties, _bdf_parse_start): Updated.
+ (bdf_load_font): Updated to use new functions.
+
+ * src/type1/t1parse.c (check_type1_format): New function.
+ (T1_New_Parser): Use it to check font header before allocating
+ anything on the heap.
+
+ * src/type42/t42parse.c (t42_parser_init): Modify functions to check
+ the font header before allocating anything on the heap.
+
+ * include/freetype/internal/ftmemory.h (FT_ARRAY_MAX,
+ FT_ARRAY_CHECK): New macros.
+
+ * src/base/ftstream.c (FT_Stream_TryRead): New function.
+ * include/freetype/internal/ftstream.h: Updated.
+
+ * src/pcf/pcfread.c (pcf_read_TOC), src/pcf/pcfutil.c
+ (BitOrderInvert, TwoByteSwap, FourByteSwap): Minor fixes and
+ simplifications. Try to protect the PCF driver from doing stupid
+ things with broken fonts.
+
+ * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Check the LZW header before
+ doing anything else. This avoids unnecessary heap allocations
+ (400KByte of heap memory for the LZW decoder).
+
+ * src/gzip/ftgzip.c (FT_Stream_OpenGZip): Ditto for the gzip
+ decoder, although the code savings are smaller.
+
+ * docs/CHANGES: Updated.
+
+2005-03-10 David Turner <[email protected]>
+
+ * src/tools/glnames.py: Add comment to explain the compression
+ being used for the Adobe Glyph List.
+
+2005-03-10 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm):
+ Fix serious typo which prevented correct TT rendering.
+
+ * include/freetype/internal/ftmemory.h: Undo change from 2005-03-03.
+ To suppress warnings it is sufficient to use `-fno-strict-aliasing'.
+
+2005-03-10 Werner Lemberg <[email protected]>
+
+ * src/tools/glnames.py: Formatted.
+ Format output to be in sync with other FreeType code.
+ Import `re' and `os.path'.
+ (StringTable) <__init__>: Add parameter to initialize master table
+ name.
+ (StringTable) <dump>: Don't pass master table name.
+ (StringTable) <dump_sublist>: Emit explanatory comment.
+ Simplify and make output more human readable.
+ (t1_bias, glyph_list, adobe_glyph_names): Removed. Unused.
+ (main): Use `basename' for file name in header.
+
+ * src/psnames/pstables.h: Regenerated.
+
+2005-03-09 David Turner <[email protected]>
+
+ * src/tools/glnames.py: Rewrite the generator for the `pstables.h'
+ header file which contains various constant tables related to glyph
+ names. It now uses a different, more compact storage scheme that
+ saves about 20KB. This also closes Savannah bug #12262.
+
+ * src/psnames/pstables.h: Regenerated.
+
+ * src/psnames/psmodule.c (ps_unicode_value): Use
+ `ft_get_adobe_glyph_index', a new function defined in `pstables.h'.
+ (ps_get_macintosh_name, ps_get_standard_strings): Updated.
+
+ * src/base/ftobjs.c (FT_Set_Char_Sizes): Handle fractional sizes
+ more carefully. This fixes Savannah bug #12263.
+
+2005-03-06 David Turner <[email protected]>
+
+ * src/otvalid/otvgsub.c, src/otvalid/otvgpos.c: Make static tables
+ constant.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init): Fix Savannah bug
+ #12212 (auto-hinter refuses to work if no Unicode charmap in font).
+
+2005-03-05 Werner Lemberg <[email protected]>
+
+ * autogen.sh: New script for bootstrapping.
+
+ * README.CVS: New file which documents bootstrapping.
+
+ * builds/unix/aclocal.m4, builds/unix/config.guess,
+ builds/unix/config.sub, builds/unix/configure,
+ builds/unix/ltmain.sh: Removed.
+
+2005-03-04 Werner Lemberg <[email protected]>
+
+ * src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
+
+2005-03-03 Werner Lemberg <[email protected]>
+
+ Various fixes for C and C++ compiling.
+
+ * src/autofit/*: Add copyright messages.
+
+ * src/autofit/afhints.c (af_glyph_hints_done): Don't use
+ `AF_Dimension' but `int' for loop counter.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
+ `AF_Dimension' but `int' for loop counter.
+ Use proper enumeration value for `render_mode'.
+ (af_latin_metrics_scale_dim): Don't shadow variables.
+ (af_latin_hints_compute_segments): Use proper cast for `major_dir'
+ and `segment_dir'.
+ (af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
+ `af_latin_compute_stem_width'.
+ (af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
+ counter.
+
+ * src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
+ proper cast for memory allocation.
+
+ * src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
+ initialization of `sfnt'.
+
+ * src/sfnt/sfdriver.c: Include `ttkern.h'.
+
+ * src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.
+
+ * src/truetype/ttgload.c: Include `ttpload.h'.
+
+2005-03-03 David Turner <[email protected]>
+
+ * include/freetype/internal/ftmemory.h (FT_ALLOC, FT_REALLOC,
+ FT_QALLOC, FT_QREALLOC) [gcc >= 3.3]: Provide macro versions which
+ avoid compiler warnings.
+ (FT_NEW, FT_NEW_ARRAY, FT_RENEW_ARRAY, FT_QNEW, FT_QNEW_ARRAY,
+ FT_QRENEW_ARRAY, FT_ALLOC_ARRAY, FT_REALLOC_ARRAY): Updated.
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
+ FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cplusplus]:
+ Provide macro versions which avoid compiler warnings.
+
+ * src/base/ftutil.c (ft_highpow2): New utility function.
+
+ * include/freetype/internal/ftobjs.h: Updated.
+
+ * src/pfr/pfrload.c (pfr_get_gindex, pfr_compare_kern_pairs,
+ pfr_sort_kerning_pairs): Don't define if FT_OPTIMIZE_MEMORY is set.
+ (pfr_phy_font_done): Don't handle `kern_pairs' if FT_OPTIMIZE_MEMORY
+ is set.
+ (pfr_phy_font_load): Don't call `pfr_sort_kerning_pairs' if
+ FT_OPTIMIZE_MEMORY is set.
+
+ * src/pfr/pfrobjs.c (pfr_slot_load): Comment out some code which
+ doesn't work with broken fonts.
+ (pfr_face_get_kerning) [FT_OPTIMIZE_MEMORY]: Implement.
+
+ * src/pfr/pfrtypes.h (PFR_KernItemRec): Optimize member types.
+ (PFR_NEXT_KPAIR): New macro.
+ (PFR_PhyFontRec): Don't define `kern_pairs' if FT_OPTIMIZE_MEMORY is
+ set.
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Introduce
+ temporary variable to avoid gcc warning.
+ (tt_face_load_sbit_image): Mark unused variables with FT_UNUSED.
+
+ * src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
+ Remove redundant variable.
+
+ * include/freetype/config/ftmodule.h: Moving the order of drivers to
+ speed up font loading. The PCF and BDF loaders are still slow and
+ consume far too much memory.
+
+2005-03-03 Werner Lemberg <[email protected]>
+
+ * devel/ftoption.h: Updated to recent changes.
+
+2005-03-02 Werner Lemberg <[email protected]>
+
+ * src/autofit/afdummy.c, src/autofit/afdummy.h
+ (af_dummy_script_class): Fix type.
+
+ * src/autofit/aflatin.c, src/autofit/aflatin.h
+ (af_latin_script_class): Fix type.
+
+ * src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo.
+
+2005-03-01 David Turner <[email protected]>
+
+ * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning),
+ src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes,
+ tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_compound,
+ tt_sbit_decoder_load_image), src/sfnt/ttload.c
+ (tt_face_load_metrics): Remove compiler warnings
+ -- redundant variables, missing initializations, etc.
+
+ * src/sfnt/ttsbit.h: Handle FT_OPTIMIZE_MEMORY.
+
+ * src/autofit/rules.mk, src/autofit/module.mk,
+ src/autofit/afangles.h: New files.
+
+ * src/autofit/afhints.c (af_axis_hints_new_segment,
+ af_axis_hints_new_edge): New functions.
+ (af_glyph_hints_done): Do proper deallocation.
+ (af_glyph_hints_reload): Only reallocate points array. This
+ drastically reduces heap usage.
+
+ * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec): Optimize
+ member types and positions.
+ (AF_AxisHintsRec): Add `max_segments' and `max_edges'.
+ (af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes.
+
+ * src/autofit/aflatin.c (af_latin_metricsc_scale): Don't call
+ AF_SCALER_EQUAL_SCALES.
+ (af_latin_hints_compute_segments): Change return type to FT_Error.
+ Update all callers.
+ Improve segment allocation.
+ (af_latin_hints_compute_edges): Change return type to FT_Error.
+ Update all callers.
+ Improve edge allocation and link handling.
+ (af_latin_hints_detect_features): Change return type to FT_Error.
+ Update all callers.
+
+ * src/autofit/aflatin.h: Updated.
+
+ * src/autofit/afloader.c (af_loader_load_g)
+ <FT_GLYPH_FORMAT_OUTLINE>: Assure axis->num_edges > 1. This fixes
+ a bug with certain fonts.
+
+ * include/freetype/config/ftmodule.h: The auto-fitter is now the
+ only supported auto-hinting module.
+
+ * include/freetype/config/ftstdlib.h (FT_INT_MAX): New macro.
+
+2005-02-28 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttpload.c (tt_face_load_loca): Fix typo.
+
+ * src/sfnt/ttkern.c: Include `ttkern.h'.
+ (FT_COMPONENT): Updated.
+
+ * include/freetype/internal/fttrace.h: Add entry for `ttkern'.
+
+ * src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/.
+ Decorate constants with `U' and `L' where necessary.
+
+ * src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
+
+2005-02-28 David Turner <[email protected]>
+
+ * src/base/ftdbgmem.c (FT_DumpMemory): Added sorting of memory
+ sources according to decreasing maximum cumulative allocations.
+ (ft_mem_source_compare): New auxiliary function.
+
+ * src/sfnt/ttsbit0.c: New file, implementing a heap-optimized
+ embedded bitmap loader.
+
+ * src/sfnt/ttsbit.c: Include `ft2build.h', FT_INTERNAL_DEBUG_H,
+ FT_INTERNAL_STREAM_H, FT_TRUETYPE_TAGS_H.
+ Load `ttsbit0.c' if FT_OPTIMIZE_MEMORY is set, otherwise use
+ file contents.
+ (tt_face_load_sbit_strikes): Set up root fields to indicate the
+ strikes. This fixes Savannah bug #12107.
+ Use `static' keyword for `sbit_line_metrics_field',
+ `strike_start_fields', `strike_end_fields'.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Define
+ `sbit_table', `sbit_table_size', `sbit_num_strikes' if
+ FT_OPTIMIZE_MEMORY is set.
+ Don't define `num_sbit_strikes' and `sbit_strikes' if
+ FT_OPTIMIZE_MEMORY is set.
+
+ * src/cff/cffobjs.c (sbit_size_reset): Handle FT_OPTIMIZE_MEMORY.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Fixed bug that prevented
+ loading SFNT fonts without a `kern' table.
+ Properly pass root->face_flags.
+ Remove code for TT_CONFIG_OPTION_EMBEDDED_BITMAPS.
+
+ * src/sfnt/sfdriver.c (sfnt_interface)
+ [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Don't use `tt_find_sbit_image'
+ and `tt_load_sbit_metrics'.
+
+ * src/sfnt/ttcmap.c: Optimize linear charmap scanning for Format 4.
+ (OPT_CMAP4): New macro.
+ (TT_CMap4Rec) [OPT_CMAP4]: New structure.
+ (tt_cmap4_init, tt_cmap4_set_range, tt_cmap4_next, tt_cmap4_reset)
+ [OPT_CMAP4]: New functions.
+ (tt_cmap4_char_next) [OPT_CMAP4]: Use `tt_cmap4_next' and
+ `tt_cmap4_reset'.
+ (tt_cmap4_class_rec) [OPT_CMAP4]: Use `TT_CMap4Rec' and
+ `tt_cmap4_init'.
+
+ * src/truetype/ttobjs.c (Reset_SBit_Size): Handle
+ FT_OPTIMIZE_MEMORY.
+
+ * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec, AF_EdgeRec):
+ Optimize member types.
+
+ * src/autofit/afloader.c (af_loader_done): Call
+ `af_glyph_hints_done'.
+
+2005-02-27 David Turner <[email protected]>
+
+ * src/sfnt/ttkern.c (tt_face_load_kern): Fix a small bug which
+ caused invalid (random) return values for the horizontal kerning.
+
+2005-02-25 David Turner <[email protected]>
+
+ Implement several memory optimizations to drastically reduce the
+ heap usage of FreeType, especially in the case of memory-mapped
+ files. The idea is to avoid loading and decoding tables in the
+ heap, and instead access the raw data whenever possible (i.e., when
+ it doesn't compromise performance).
+
+ This has several benefits: For example, opening vera.ttf now uses
+ just a small amount of memory (even when the FT_Library footprint is
+ accounted for), until you start loading glyphs. Even then, you save
+ at least 20KB compared to the non-optimized case. Performance of
+ various operations, including open and close, has also been
+ dramatically improved.
+
+ More optimizations to come, especially for the auto-hinter.
+
+ * include/freetype/internal/sfnt.h (TT_Face_GetKerningFunc): New
+ function type.
+ (SFNT_Interface): Add it.
+
+ * include/freetype/internal/tttypes.h (TT_HdmxEntryRec, TT_HdmxRec,
+ TT_Kern0_PairRec): Don't define if FT_OPTIMIZE_MEMORY is set.
+ (TT_FaceRec): Define `horz_metrics', `horz_metrics_size',
+ `vert_metrics', `vert_metrics_size', `hdmx_table',
+ `hdmx_table_size', `hdmx_record_count', `hdmx_record_size',
+ `hdmx_record_sizes', `kern_table', `kern_table_size,
+ `num_kern_tables', `kern_avail_bits', `kern_order_bits' if
+ FT_OPTIMIZE_MEMORY is set.
+ Don't define `hdmx', `num_kern_pairs', `kern_table_index',
+ `kern_pairs' if FT_OPTIMIZE_MEMORY is set.
+
+ * src/base/ftdbgmem.c (ft_mem_table_set): Don't shadow variable.
+ Fix compiler warning.
+
+ * src/cff/cffdrivr.c (Get_Kerning): Renamed to...
+ (cff_get_kerning): This. Simplify.
+ (cff_driver_class): Updated.
+
+ * src/sfnt/Jamfile (_sources): Add `ttkern'.
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttkern.c'.
+
+ * src/sfnt/sfdriver.c (sfnt_interface): Add `tt_face_get_kerning'.
+
+ * src/sfnt/sfnt.c: Include `ttkern.c'.
+
+ * src/sfnt/sfobjs.c: Include `ttkern.h'.
+ (sfnt_load_face): Consider the `kern' and `gasp' table as optional.
+ (sfnt_done_face): Call `tt_face_done_kern'.
+ Handle horizontal metrics for FT_OPTIMIZE_MEMORY.
+
+ * src/sfnt/ttkern.c, src/sfnt/ttkern.h: New files. Code has been
+ taken from `ttload.c' and `ttload.h'.
+ Provide special versions of `tt_face_load_kern',
+ `tt_face_get_kerning', and `tt_face_done_kern' for
+ FT_OPTIMIZE_MEMORY.
+
+ * src/sfnt/ttload.c (tt_face_load_metrics, tt_face_load_hdmx,
+ tt_face_free_hdmx): Provide version for FT_OPTIMIZE_MEMORY.
+ (tt_face_load_kern, tt_kern_pair_compare, TT_KERN_INDEX): Moved to
+ `ttkern.c'.
+
+ * src/sfnt/ttload.h: Updated.
+
+ * src/sfnt/ttsbit.c (sbit_metrics_field): Add `static' keyword.
+
+ * src/truetype/ttdriver.c (Get_Kerning): Renamed to...
+ (tt_get_kerning): This. Simplify.
+ (tt_driver_class): Updated.
+
+ * src/truetype/ttgload.c (TT_Get_Metrics): Renamed to...
+ (tt_face_get_metrics): This. Provide version for FT_OPTIMIZE_MEMORY.
+ Update all callers.
+ (Get_Advance_Widths): Replaced with...
+ (Get_Advance_WidthPtr): This. Provide version for
+ FT_OPTIMIZE_MEMORY.
+ Update all callers.
+
+ * src/truetype/ttgload.h: Updated.
+
+2005-02-22 David Turner <[email protected]>
+
+ * src/base/ftdbgmem.c: Partly rewritten. Added the ability to list
+ all allocation sites in the memory debugger. Also a new function
+ FT_DumpMemory() was added. It is only available in builds with
+ FT_DEBUG_MEMORY defined, and you must declare it in your own code to
+ use it, i.e., with something like:
+
+ extern void FT_DumpMemory( FT_Memory );
+
+ ...
+
+ FT_DumpMemory( memory );
+
+ * include/freetype/config/ftoption.h
+ (TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Comment out definition --
+ again.
+ (FT_OPTIMIZE_MEMORY): New configuration macro to control various
+ optimizations for reducing the heap footprint of memory-mapped
+ TrueType files.
+
+ * include/freetype/internal/ftmemory.h (FT_ARRAY_ZERO): New
+ convenience macro.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec)
+ [FT_OPTIMIZE_MEMORY]: Use optimized types for `num_locations' and
+ `glyph_locations'.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Call
+ `tt_face_get_location'.
+
+ * src/truetype/ttobjs.c (tt_face_init)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Improve error handling.
+ (tt_face_done): Call `tt_face_done_loca'.
+
+ * src/truetype/ttpload.c (tt_face_get_location, tt_face_done_loca):
+ New functions. If FT_OPTIMIZE_MEMORY is set, the locations table is
+ read directly from memory-mapped streams, instead of being decoded
+ into the heap.
+ (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: New implementation.
+ (tt_face_load_cvt, tt_face_load_fpgm): Only load table if the
+ bytecode interpreter is compiled in.
+
+ * src/truetype/ttpload.h: Updated.
+
+ * src/autohint/ahglyph.c (ah_outline_load): Improve allocation
+ logic.
+
+2005-02-20 Werner Lemberg <[email protected]>
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.5.14.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.9.4.
+
+ * 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.
+
+2005-02-14 Werner Lemberg <[email protected]>
+
+ * src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build
+ a cmap for a CID-keyed font which doesn't have SIDs.
+
+2005-02-13 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (read_binary_data): Return more meaningful
+ value.
+ (parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check
+ parser error value after call to T1_Skip_PS_Token (where necessary).
+
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error
+ value after call to T1_Skip_PS_Token.
+
+ * src/cid/cidparse.c (cid_parser_new): Check parser error value
+ after call to cid_parser_skip_PS_token.
+
+ * src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts,
+ t42_parse_charstrings, t42_parse_dict): Check parser error value
+ after call to T1_Skip_PS_Token (where necessary).
+
+ * src/psaux/psobjc.c (skip_string, ps_parser_skip_PS_token,
+ ps_tobytes): Add error messages.
+
+2005-02-12 Werner Lemberg <[email protected]>
+
+ * configure: Output more variables to the created Makefile so that
+ it can be used for ft2demos also (if the FT2DEMOS variable is
+ defined).
+
+2005-02-10 David Turner <[email protected]>
+
+ * src/pfr/pfrgload.c (pfr_glyph_load): Fix an unbounded growing
+ dynamic array when loading a glyph from a PFR font (Savannah bug
+ #11921).
+
+ * src/base/ftbitmap.c (FT_Bitmap_Convert): Small improvements to the
+ conversion function (mainly stupid optimization).
+
+ * src/base/Jamfile: Adding ftbitmap.c to the list of compiled files.
+
+2005-02-10 Werner Lemberg <[email protected]>
+
+ * builds/unix/freetype-config.in: Add new flag `--ftversion' to
+ return the FreeType version. Suggested by George Williams
+
+ * docs/CHANGES: Updated.
+
+2005-02-09 Werner Lemberg <[email protected]>
+
+ * src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case
+ of error. Reported by YAMANO-UCHI Hidetoshi <[email protected]>.
+
+2005-02-08 Werner Lemberg <[email protected]>
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ <op_closepath>: Accept `T1_Parse_Have_Moveto' state also which can
+ happen in empty glyphs. Reported by Ian Brown
+ <[email protected]> (Savannah bug #11856).
+
+2005-02-04 Werner Lemberg <[email protected]>
+
+ * src/otlayout/*: Removed. Obsolete.
+
+2004-12-28 Werner Lemberg <[email protected]>
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.5.10.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.9.4.
+ * builds/unix/configure: Regenerated with autoconf 2.59b.
+
+ * builds/unix/config.guess, builds/unix/config.sub: Updated from
+ `config' CVS module at subversions.gnu.org.
+
+ * builds/unix/install-sh: Updated from
+ `texinfo' CVS module at subversions.gnu.org.
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Add proper cast for
+ ft_alloc.
+ Fix compiler warning.
+
+2004-12-27 Dirck Blaskey <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init): Improve computation of
+ FT_STYLE_BOLD_FLAG.
+
+2004-12-27 Werner Lemberg <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have
+ only a single font. This is undocumented but has been verified on
+ the opentype list.
+
+2004-12-26 Werner Lemberg <[email protected]>
+
+ * Jamfile (FT2_COMPONENTS): Add `otvalid'.
+
+2004-12-25 Werner Lemberg <[email protected]>
+
+ * src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning.
+
+2004-12-15 Werner Lemberg <[email protected]>
+
+ * vms_make.com: Add ftbitmap.obj.
+
+2004-12-14 Werner Lemberg <[email protected]>
+
+ * src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for
+ handling various bitmap formats.
+
+ * include/freetype/config/ftheader.h (FT_BITMAP_H): New macro.
+
+ * src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c.
+
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp
+ but return them as-is.
+
+ * docs/CHANGES: Mention new bitmap API.
+ * include/freetype/ftchapter.s: Updated.
+
+2004-12-11 Robert Clark <[email protected]>
+
+ * src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount
+ dependent on ppem by scaling down for ppem < 25, then do normal
+ rounding. This gives slightly better results than rounding towards
+ zero.
+
+2004-12-09 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (FT_Get_Kerning): Always round towards zero
+ for FT_KERNING_DEFAULT. This greatly enhances the kerning for
+ small ppem values.
+
+2004-12-08 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and
+ `rsb_delta'.
+
+2004-12-05 Werner Lemberg <[email protected]>
+
+ * builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h.
+
+2004-12-03 Antoine Leca <[email protected]>
+
+ * include/freetype/ttnameid.h: Updated to latest
+ specifications from Microsoft.
+
+2004-11-26 Jouk Jansen <[email protected]>
+
+ * vms_make.com: Include ftbbox.c.
+ Fix `ccopt'.
+ Handle `otvalid' module.
+ Update `vmslib.dat' default values.
+ Fixes to `libs.opt'.
+
+2004-11-23 Anders Kaseorg <[email protected]>
+
+ * src/base/ftoutln.c (FT_OrientationExtremumRec,
+ ft_orientation_extremum_compute): Removed.
+ (FT_Outline_Get_Orientation): Rewritten, simplified.
+
+ * src/autohint/ahglyph.c: Include FT_OUTLINE_H.
+ (ah_test_extremum, ah_get_orientation): Removed.
+ (ah_outline_load): Use FT_Outline_Get_Orientation.
+
+ * src/base/ftsynth.c (ft_test_extrama, ft_get_orientation): Removed.
+ (FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
+
+2004-11-23 Fernando Papa <[email protected]>
+
+ * src/truetype/ttinterp.h: Fix typo.
+
+2004-11-22 Antoine Leca <[email protected]>
+
+ * builds/win32/detect.mk: Corrected logic that detects Windows NT to
+ use the previous change even if win32 is forced. Corrected
+ detection of win32 on Win9X.
+
+ * builds/dos/detect.mk: Added same correction as for win32 about
+ COPY on Windows NT. Detection of plain DOS 7.x.
+
+2004-11-22 Werner Lemberg <[email protected]>
+
+ * builds/detect.mk: Undo change from 2004-11-20.
+ * builds/win32/detect.mk: If the `OS' environment variable contains
+ `Windows_NT', use `cmd.exe /c copy' for copying files.
+
+2004-11-20 Werner Lemberg <[email protected]>
+
+ * builds/detect.mk (dos_setup): Use `cmd.exe' for copying
+ $(CONFIG_MK) to force lowercase file name under Windows.
+
+2004-11-19 Werner Lemberg <[email protected]>
+
+ Fix a serious bug in the TT hinter.
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift
+ points vertically before hinting.
+
+ * docs/CHANGES: Updated.
+
+ * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
+ FTC_GCache_Lookup): A new try to fix comparison with zero.
+
+2004-11-16 Werner Lemberg <[email protected]>
+
+ * builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is
+ used.
+ * builds/unix/configure: Regenerated.
+ * builds/unix/config.guess, builds/unix/config.sub: Updated from
+ `config' CVS module at subversions.gnu.org.
+
+2004-11-16 Dr. Martin P.J. Zinser <[email protected]>
+
+ * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
+ FTC_GCache_Lookup): Fix comparison with zero.
+
+ * docs/INSTALL.VMS: Updated.
+
+ * vms_make.com: Updated. All `descrip.mms' files are now created
+ automatically.
+
+ * src/*/descrip.mms: Removed.
+
+2004-11-16 Owen Taylor <[email protected]>
+
+ * builds/unix/freetype-config.in: Suppress -L$libdir for
+ /usr/lib64 as well as /usr/lib. (Reported by Dan Winship -
+ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199)
+
+2004-11-11 Werner Lemberg <[email protected]>
+
+ * src/cff/cffdrivr.c (cff_service_ps_info): Updated.
+ * src/cid/cidriver.c (cid_service_ps_info): Updated.
+ * src/type42/t42drivr.c (t42_ps_get_font_private): New function.
+ (t42_service_ps_info): Updated.
+
+ * src/type42/t42parse.c (t42_parse_dict): Remove compiler warning.
+
+2004-11-11 David Bevan <[email protected]>
+
+ Add new function FT_Get_PS_Font_Private().
+
+ * include/freetype/internal/services/svpsinfo.h
+ (PS_GetFontPrivateFunc): New service function.
+
+ * include/freetype/t1tables.h, src/base/fttype1.c
+ (FT_Get_PS_Font_Private): New function.
+
+ * src/type1/t1driver.c (t1_ps_get_font_private): New function.
+ (t1_service_ps_info): Updated.
+
+2004-10-13 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftstdlib.h: Include `stddef.h'.
+ (ft_ptrdiff_t): Define.
+
+ * include/freetype/fttypes.h (FT_PtrDist): Use `ft_ptrdiff_t'.
+
+ * src/cid/cidload.c (cid_parse_dict), src/type1/t1load.c
+ (parse_dict): Fix compiler warning.
+
+2004-10-11 Joshua Neal <[email protected]>
+
+ * src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer
+ overflow.
+
+ * src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input.
+ Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work
+ in case of failure.
+
+ * src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals.
+ (tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after
+ frame test.
+
+ * src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for
+ `flag'.
+
+2004-10-09 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2004-10-09 Boris Letocha <[email protected]>
+
+ Fix handling of NPUSHW if skipped in data stream.
+
+ * src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW
+ to -2.
+ (SkipCode, TT_RunIns): Use opcode_length value for computation of
+ bytes to be skipped.
+
+2004-09-10 Jouk Jansen <[email protected]>
+
+ * vms_make.com: Updated.
+
+2004-09-09 Werner Lemberg <[email protected]>
+
+ Adding OpenType validation module. The code is based on the
+ (unfinished) `otlayout' module but has been heavily modified to make
+ it much more compact.
+
+ * src/otvalid/*: New module.
+
+ * include/freetype/ftotval.h, src/base/ftotval.c,
+ include/freetype/internal/services/svotval.h: New files.
+
+ * include/freetype/config/ftmodule.h: Add otv_module_class.
+ * include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
+ macro.
+ * include/freetype/internal/ftserv.h
+ (FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
+ * include/freetype/internal/fttrace.h (otvmodule, otvcommon,
+ otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
+
+ * include/freetype/ftchapters.h: Updated.
+
+ * src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
+ src/base/rules.mk (BASE_EXT_SRC): Updated.
+
+ * docs/CHANGES: Updated.
+
+2004-09-08 Werner Lemberg <[email protected]>
+
+ * src/tools/docmaker/sources.py (re_source_block_format2) <column>:
+ Use lookahead assertion to not match `*/'. This removes spurious
+ insertions of `/' in the HTML output.
+
+2004-09-07 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to
+ FT_NEW_ARRAY.
+
+2004-09-04 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/ftobjs.h: Don't include
+ FT_CONFIG_STANDARD_LIBRARY_H.
+ (FT_Validator, FT_ValidationLevel, FT_ValidatorRec, FT_VALIDATOR,
+ ft_validator_init, ft_validator_run, ft_validator_error, FT_INVALID,
+ FT_INVALID_TOO_SHORT, FT_INVALID_OFFSET, FT_INVALID_FORMAT,
+ FT_INVALID_GLYPH_ID, FT_INVALID_DATA): Move to...
+
+ * include/freetype/internal/ftvalid.h: New file.
+ Make FT_INVALID return module-specific error codes.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_VALIDATE_H): New
+ macro.
+
+ * include/freetype/fterrors.h: Undefine FT_ERR_PREFIX only if
+ FT_KEEP_ERR_PREFIX isn't defined.
+
+ * src/base/ftobjs.c: Include FT_INTERNAL_VALIDATE_H.
+
+ * src/sfnt/ttcmap.h: Don't include FT_INTERNAL_OBJECTS_H but
+ FT_INTERNAL_VALIDATE_H.
+
+ * src/sfnt/ttcmap.c: Don't include FT_INTERNAL_OBJECTS_H but
+ FT_INTERNAL_VALIDATE_H.
+ Include sferrors.h before FT_INTERNAL_VALIDATE_H.
+ s/FT_Err_Ok/SFNT_Err_Ok/.
+
+ * src/sfnt/sferrors.h: Define FT_KEEP_ERR_PREFIX.
+
+ * src/type1/t1afm.c: Include t1errors.h.
+
+2004-09-03 Werner Lemberg <[email protected]>
+
+ * src/base/ftdebug.c (ft_debug_init): Highest debug level is 7,
+ not 6.
+ * docs/DEBUG: Updated.
+
+2004-08-30 Werner Lemberg <[email protected]>
+
+ * include/freetype/tttags.h (TTAG_BASE, TTAG_GDEF, TTAG_GPOS,
+ TTAG_JSTF): New tags.
+
+ * include/freetype/fttypes.h (FT_Bytes, FT_Tag): New typedefs.
+ (FT_Int): Add `signed'.
+
+2004-08-29 Werner Lemberg <[email protected]>
+
+ * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): Add argument
+ to pass number of lookups.
+ Update all callers.
+ Don't call otl_lookup_list_validate but otl_lookup_validate.
+ (otl_gpos_validate): Call otl_lookup_list_validate instead of
+ otl_gpos_subtable_validate.
+
+ * src/otlayout/otlgpos.h: Updated.
+
+ * src/otlayout/otljstf.c (otl_jstf_max_validate): Add argument to
+ pass number of lookups.
+ Update all callers.
+
+
+ * src/cff/cffparse.c (cff_parse_real): s/exp/exponent/ to avoid
+ compiler warning.
+
+
+ * src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Renamed to...
+ * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: This.
+ * src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c,
+ src/sfnt/sfnt.c, src/sfnt/sfobjs.c: Updated.
+
+
+ * builds/compiler/gcc-dev.mk (CFLAGS): Don't add `-Wnested-externs'
+ if compiler is g++ (v3.3.3 emits a warning otherwise).
+
+2004-08-28 Werner Lemberg <[email protected]>
+
+ * src/otlayout/otlgpos.c (otl_value_length): Return number of bytes,
+ not number of 16bit entities.
+ (otl_gpos_lookup2_validate): Check class definition tables for
+ format 2.
+ Fix loop for format 2.
+ (otl_liga_mark2_validate): Fix offset for otl_anchor_validate.
+
+2004-08-27 Werner Lemberg <[email protected]>
+
+ * src/base/ftmac.c: Don't include truetype/ttobjs.h.
+ Don't include type1/t1objs.h.
+ (FT_New_Face_From_FSSpec) [!__MWERKS__]: Remove compiler warnings.
+
+2004-08-27 Mathieu Malaterre <[email protected]>
+
+ * src/base/ftmac.c: Handle OS_INLINE for xlc compiler also.
+
+2004-08-27 Werner Lemberg <[email protected]>
+
+ * src/otlayout/otlayout.h: Add copyright.
+ (OTL_INVALID_OFFSET): Removed.
+
+ * src/otlayout/otlgdef.h: Include otlayout.h.
+ Comment out inclusion of otltable.h.
+
+ * src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call
+ to otl_base_array_validate.
+ (otl_liga_mark2_validate): Fix `for' loop.
+
+ * src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id',
+ not components array.
+
+ * src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count):
+ Comment out.
+ (otl_lookup_list_get_count, otl_feature_list_get_count): Activate.
+ (otl_feature_list_validate, otl_gsubgpos_get_lookup_count):
+ s/otl_lookup_get_count/otl_lookup_list_get_count/.
+ (otl_script_list_validate):
+ s/otl_feature_get_count/otl_feature_list_get_count/.
+ (otl_script_validate): Call otl_lang_validate for default language.
+
+ * src/otlayout/otlcommn.h: Updated.
+
+2004-08-16 Werner Lemberg <[email protected]>
+
+ * src/otlayout/otlgpos.c (otl_gpos_lookup1_validate,
+ otl_gpos_lookup2_validate, otl_gpos_lookup3_validate,
+ otl_gpos_lookup4_validate, otl_gpos_lookup5_validate,
+ otl_gpos_lookup6_validate, otl_gpos_lookup9_validate,
+ otl_gpos_validate): Update
+ function arguments.
+ (otl_gpos_lookup7_validate, otl_gpos_lookup8_validate): Update
+ function arguments.
+ Handle NULL offsets correctly.
+ Check sequence and lookup indices for format 3.
+ (otl_pos_rule_validate, otl_chain_pos_rule_validate): Add argument
+ to pass lookup count.
+ Check sequence and glyph indices.
+ (otl_gpos_subtable_validate): Update function arguments.
+ Update callers.
+
+ * src/otlayout/otlgpos.h: Updated.
+
+ * src/otlayout/otlgsub.c (otl_gsub_lookup1_validate,
+ otl_gsub_lookup3_validate, otl_gsub_lookup8_validate): Update
+ function arguments.
+ Add glyph index checks.
+ (otl_sequence_validate, otl_alternate_set_validate,
+ otl_ligature_validate): Add argument to pass glyph count.
+ Update callers.
+ Add glyph index check.
+ (otl_gsub_lookup2_validate, otl_gsub_lookup4_validate): Update
+ function arguments.
+ (otl_ligature_set_validate): Add argument to pass glyph count.
+ Update caller.
+ (otl_sub_class_rule_validate,
+ otl_sub_class_rule_set_validate): Removed.
+ (otl_sub_rule_validate, otl_chain_sub_rule_validate): Add argument
+ to pass lookup count.
+ Update callers.
+ Add lookup index check.
+ (otl_sub_rule_set_validate, otl_chain_sub_rule_set_validate): Add
+ argument to pass lookup count.
+ Update callers.
+ (otl_gsub_lookup5_validate): Update function arguments.
+ Handle NULL offsets correctly.
+ Don't call otl_sub_class_rule_set_validate but
+ otl_sub_rule_set_validate.
+ Check sequence and lookup indices for format 3.
+ (otl_gsub_lookup6_validate): Update function arguments.
+ Handle NULL offsets correctly.
+ Check sequence and lookup indices for format 3.
+ (otl_gsub_lookup7_validate, otl_gsub_validate): Update function
+ arguments.
+
+ * src/otlayout/otlgsub.h: Updated.
+
+ * src/otlayout/otlbase.c (otl_base_validate): Handle NULL offsets
+ correctly.
+
+ * src/otlayout/otlcommn.c (otl_class_definition_validate): Fix
+ compiler warning.
+ (otl_coverage_get_first, otl_coverage_get_last): New functions.
+ (otl_lookup_validate): Add arguments to pass lookup and glyph
+ counts.
+ Update callers.
+ (otl_lookup_list_validate): Add argument to pass glyph count.
+ Update callers.
+
+ * src/otlayout/otlcommn.h: Updated.
+
+ * src/otlayout/otljstf.c (otl_jstf_extender_validate,
+ otl_jstf_max_validate, otl_jstf_script_validate,
+ otl_jstf_priority_validate, otl_jstf_lang_validate): Add parameter
+ to validate glyph indices.
+ Update callers.
+ (otl_jstf_validate): Add parameter which specifies number of glyphs
+ in font.
+
+ * src/otlayout/otljstf.h: Updated.
+
+2004-08-15 Werner Lemberg <[email protected]>
+
+ * src/otlayout/otlgpos.c (otl_liga_mark2_validate): Add parameter
+ to handle possible NULL values properly.
+ Update all callers.
+
+2004-08-15 Werner Lemberg <[email protected]>
+
+ * src/otlayout/gpos.c: Rename counting variables to be more
+ meaningful.
+ Add copyright.
+ (otl_liga_attach_validate): Renamed to...
+ (otl_liga_mark2_validate): This.
+ Update all callers.
+ (otl_mark2_array_validate): Removed.
+ (otl_gpos_lookup6_validate): Call otl_liga_mark2_validate, not
+ otl_mark2_array_validate.
+ (otl_pos_class_set_validate, otl_pos_class_rule_validate): Removed.
+ (otl_gpos_lookup7_validate): Complete code for format 2.
+ (otl_chain_pos_class_rule_validate,
+ otl_chain_pos_class_set_validate): Removed.
+ (otl_gpos_lookup8_validate): Don't call
+ otl_chain_pos_class_set_validate but
+ otl_chain_pos_rule_set_validate.
+ Simplify some code.
+
+ * src/otlayout/otlgpos.h: Add copyright.
+
+2004-08-14 Werner Lemberg <[email protected]>
+
+ * src/otlayout/otljstf.c (otl_jstf_gsub_mods_validate): Removed.
+ (otl_jstf_gpos_mods_validate): Renamed to...
+ (otl_jstf_gsubgpos_mods_validate): This.
+ Test whether lookup_count is zero.
+ (otl_jstf_priority_validate): Use otl_jstf_gsubgpos_mods_validate.
+ (otl_jstf_validate): Initialize gsub_lookup_count and
+ gpos_lookup_count if gsub or gpos is zero.
+
+ * src/otlayout/otlgsub.c: Rename counting variables to be more
+ meaningful.
+ Add copyright.
+ (otl_gsub_lookup1_validate): Simplify code.
+ (otl_gsub_lookup2_validate, otl_gsub_lookup3_validate,
+ otl_gsub_lookup4_validate, otl_gsub_lookup7_validate): Remove unused
+ variables.
+ (otl_gsub_lookup5_validate): Remove unused variable.
+ Fix call to otl_sub_rule_set_validate and
+ otl_sub_class_rule_set_validate.
+ (otl_chain_sub_class_rule_validate,
+ otl_chain_sub_class_set_validate): Removed.
+ (otl_gsub_lookup6_validate): Remove unused variable.
+ Fix call to otl_chain_sub_rule_set_validate.
+ (otl_gsub_lookup7_validate): Handle lookup type 8 also.
+ (otl_gsub_lookup8_validate: New function.
+ (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
+ otl_gsub_lookup3_apply): Commented out.
+ (otl_gsub_validate_funcs): Add otl_gsub_lookup7_validate and
+ otl_gsub_lookup8_validate.
+ (otl_gsub_validate): Updated.
+
+ * src/otlayout/otlgsub.h: Add copyright.
+
+ * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h
+ (otl_coverage_get_index): Comment out.
+
+2004-08-13 Werner Lemberg <[email protected]>
+
+ * src/otlayout/otlcommn.c (otl_gsubgpos_get_lookup_count): New
+ function.
+ * src/otlayout/otlcommn.h: Updated.
+
+ * src/otlayout/otlbase.c: Rename counting variables to be more
+ meaningful.
+ Add copyright message.
+ * src/otlayout/otlbase.h: Add copyright message.
+
+ * src/otlayout/otlgdef.c: Rename counting variables to be more
+ meaningful.
+ Add copyright message.
+ Use OTL_CHECK everywhere.
+ (otl_caret_value_validate): Remove unused variable.
+ (otl_gdef_validate): All tables are optional.
+ * src/otlayout/otlgdef.h: Add copyright message.
+
+ * src/otlayout/otljstf.c: Rename counting variables to be more
+ meaningful.
+ Add copyright message.
+ (otl_jstf_gsub_mods_validate, otl_jstf_gpos_mods_validate): Add
+ parameter to pass lookup count.
+ Update all callers.
+ Check lookup array.
+ (otl_jstf_max_validate):
+ s/otl_gpos_subtable_check/otl_gpos_subtable_validate/.
+ (otl_jstf_priority_validate, otl_jstf_lang_validate,
+ otl_jstf_script_validate): Add two parameters to pass lookup counts.
+ Update all callers.
+ (otl_jstf_validate): Add two parameters to pass GPOS and GSUB
+ table offsets; use otl_gsubgpos_get_lookup_count to convert extract
+ lookup counts.
+ Fix typo.
+ * src/otlayout/otljstf.h: Updated.
+ Add copyright message.
+
+ * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): New function.
+ (otl_gpos_validate): Use it.
+ * src/otlayout/otlgpos.h: Updated.
+
+2004-08-13 Werner Lemberg <[email protected]>
+
+ * src/otlayout/otcommn.c: Use OTL_CHECK everywhere.
+ (otl_coverage_validate): Initialize `p',
+ s/count/num_glyphs/.
+ s/start_cover/start_coverage/.
+ (otl_coverage_get_index): Return OTL_Long, not OTL_Int.
+ Remove unused variables.
+ (otl_class_definition_validate): s/count/num_glyphs/.
+ Remove unused variables.
+ (otl_class_definition_get_value, otl_device_table_get_start,
+ otl_device_table_get_end, otl_device_table_get_delta,
+ otl_lookup_get_table, otl_lookup_list_get_count,
+ otl_lookup_list_get_lookup, otl_lookup_list_get_table,
+ otl_feature_get_lookups, otl_feature_list_get_count,
+ otl_feature_list_get_feature, otl_lang_get_count,
+ otl_lang_get_req_feature, otl_lang_get_features): Commented out
+ temporarily until we really need it.
+ (otl_lookup_validate): Removed.
+ (otl_lookup_table_validate): Renamed to ...
+ (otl_lookup_validate): This. Update callers.
+ (otl_lookup_list_validate): Remove already commented out definition
+ and move the other definition up.
+ (otl_feature_validate): Add parameter to pass number of lookups.
+ Update callers.
+ Check lookup indices.
+ (otl_feature_list_validate): Add parameter to pass lookup table.
+ Update callers.
+ (otl_lang_validate): Add parameter to pass number of features.
+ Update callers.
+ Handle req_feature and check feature indices.
+ (otl_script_validate): Add parameter to pass number of features.
+ Update callers.
+ (otl_script_list_validate): Add parameter to pass feature table.
+ Update callers.
+
+ * src/otlayout/otcommn.h: s/LOCALDEF/LOCAL/.
+ Comment out the same functions as in otcommn.c.
+ (otl_script_list_get_script): Removed.
+
+ * src/otlayout/otlgsub.c (otl_gsub_lookup1_apply): Change `index' to
+ type OTL_Long.
+ (otl_gsub_lookup2_apply, otl_gsub_lookup3_apply): Change `index' to
+ type OTL_Long.
+ Fix test.
+ (otl_gsub_validate): Fix order of validation.
+
+ * src/otlayout/otlgpos.c (otl_gpos_validate): Fix order of
+ validation.
+
+2004-08-12 Werner Lemberg <[email protected]>
+
+ Make otlayout module compile (without actually working).
+
+ * src/otlayout/*: s/OTL_Valid/OTL_Validator/.
+ s/NULL/0/.
+
+ * src/otlayout/otlayout.h: Fix various typos.
+ (OTL_Bool): New typedef.
+ (OTL_Int, OTL_Long, OTL_Int16, OTL_Int32): Use `signed' keyword.
+ (OTL_Err_InvalidArgument): Removed.
+ (OTL_Err_InvalidData, OTL_Err_InvalidSize): New enum values.
+ (OTL_MAKE_TAG): Add missing parenthesis.
+ (OTL_INVALID_DATA): Use OTL_Err_InvalidData.
+ (OTL_INVALID_TOO_SHORT): Use OTL_Err_InvalidSize.
+ (OTL_INVALID_FORMAT, OTL_INVALID_OFFSET): New macros.
+
+ * src/otlayout/otlgpos.c: s/FT_/OTL_/.
+ s/OTL_Short/OTL_Int16/.
+ (otl_gpos_pairset_validate): Add return type.
+ (otl_base_array_validate): Fix call to otl_anchor_validate.
+ (otl_liga_array_validate): Fix call to otl_liga_attach_validate.
+ (otl_gpos_lookup5_validate): Fix typos.
+ (otl_gpos_lookup6_validate): Fix call to otl_mark2_array_validate.
+ (otl_gpos_lookup7_validate): Comment out unfinished code.
+ Fix typos.
+
+ * src/otlayout/otlgsub.c: Add forward declaration for
+ otl_gsub_validate_funcs.
+ (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply,
+ otl_gsub_lookup3_apply): Fix call to otl_parser_check_property.
+ s/otl_coverage_lookup/otl_coverage_get_index/.
+ (otl_ligature_validate): Add missing variable declaration.
+ (otl_sub_rule_validate): Fix typo.
+ (otl_sub_class_rule_validate): Add missing variable declaration.
+ Fix typo.
+ (otl_gsub_lookup5_validate): Fix typo.
+ (otl_gsub_lookup6_validate): Fix call to
+ otl_chain_sub_class_set_validate.
+ (otl_gsub_validate_funcs): Don't use `const'.
+
+ * src/otlayout/otlcommn.c (otl_class_definition_get_value,
+ otl_device_table_validate, otl_device_table_get_delta,
+ otl_lookup_validate, otl_script_validate): Add missing
+ variable declarations.
+ (otl_lookup_list_validate): Comment out first definition.
+ (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
+ (otl_feature_list_validate):
+ s/otl_feature_table_validate/otl_feature_validate/.
+ (otl_script_list_validate):
+ s/otl_script_table_validate/otl_script_validate/.
+
+ * src/otlayout/otlcommn.h: Comment out first declaration.
+ (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out.
+
+ * src/otlayout/otlbase.c (otl_base_coord_validate): Fix call to
+ otl_device_table_validate.
+ (otl_base_script_validate): Add missing variable declarations.
+ (otl_base_script_list_validate): Fix call to
+ otl_base_script_validate.
+ (otl_axis_table_validate): Fix calls to otl_base_tag_list_validate
+ and otl_base_script_list_validate.
+ (otl_base_validate): Fix calls to otl_axis_table_validate.
+
+ * src/otlayout/otlgdef.c (otl_attach_list_validate): Fix call to
+ otl_attach_point_validate.
+ (otl_caret_value_validate): Add missing variable declaration.
+ Fix call to otl_device_table_validate.
+ (otl_ligature_glyph_validate): Fix call to otl_caret_value_validate.
+ (otl_ligature_caret_list_validate): Fix call to
+ otl_ligature_glyph_validate.
+ (otl_gdef_validate): Fix calls to otl_class_definition_validate,
+ otl_attach_list_validate, otl_ligature_caret_list_validate, and
+ otl_class_definition_validate.
+
+ * src/otlayout/otltable.h (otl_table_validate, otl_table_init,
+ otl_table_set_script): Comment out.
+
+ * src/otlayout/otlparse.h (OTL_ParserRec):
+ s/OTL_Alternate/OTL_GSUB_Alternate/.
+ (OTL_ParseError): Add OTL_Err_Parser_Memory and
+ OTL_Err_Parser_Internal.
+ (otl_parser_error): Fix typo.
+ (otl_parser_check_property): Remove third argument.
+
+ * src/otlayout/otlparse.c (otl_string_ensure):
+ s/OTL_Parse_Err_Memory/OTL_Err_Parser_Memory/.
+ (OTL_STRING_ENSURE, otl_parser_error, otl_parser_get_index,
+ otl_parser_replace_1, otl_parser_replace_n): Fix typos.
+ (OTL_PARSER_UNCOVERED): Removed.
+ (otl_parser_check_property): Remove third argument.
+
+ * src/otlayout/otljstf.c (otl_jstf_priority_validate): Add missing
+ variable declaration.
+
+ * src/otlayout/otlutils.h (OTL_MEM_REALLOC): Fix typo.
+
+2004-08-11 Danny <[email protected]>
+
+ * src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close
+ to NULL. This allows custom close functions to delete the FT_STREAM
+ object.
+
+2004-08-11 Werner Lemberg <[email protected]>
+
+ Add API to get information about SFNT tables.
+
+ * include/freetype/internal/services/svsfnt.h
+ (FT_SFNT_Table_Info_Func): New typedef.
+ (SFNT_Table): Add it.
+
+ * src/base/ftobjs (FT_Sfnt_Table_Info): New function.
+
+ * include/freetype/tttables.h: Updated.
+
+ * src/sfnt/sfdriver.c (sfnt_table_info): New function.
+ (sfnt_service_sfnt_table): Add it.
+
+ * docs/CHANGES: Updated.
+
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
+
+ * builds/unix/configure.ac (version_info): Set to 9:8:3.
+ * builds/unix/configure: Updated.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
+
+ * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
+ s/2.1.9/2.1.10/.
+
+ * docs/CHANGES, docs/VERSION.DLL: Updated.
+
+2004-08-11 Detlef Würkner <[email protected]>
+
+ * src/base/ftrfork.c (FT_Raccess_Guess)
+ [!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler
+ warnings.
+
+2004-08-06 Adam Piotrowski <[email protected]>
+
+ * src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte
+ adjustments are unsigned, not signed.
+
+2004-08-05 David Turner <[email protected]>
+
+ `Activate' gray-scale specifing hinting within the TrueType
+ bytecode interpreter. This is an experimental feature which
+ should probably be made optional.
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+ load_truetype_glyph): Move the code to set the pedantic_hinting flag
+ to...
+ (TT_Load_Glyph): Here.
+ Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.
+
+ * src/truetyep/ttinterp.c (Ins_GETINFO): Return MS rasterizer
+ version 1.7.
+ Return rotation and stretching info only if glyph is rotated or
+ stretched, respectively.
+ Handle grayscale info.
+
+ * src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale'
+ member.
+
+2004-08-02 George Williams <[email protected]>
+
+ * src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'.
+
+2004-08-01 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2004-08-01 George Williams <[email protected]>
+
+ FreeType now can read kerning values from PFM files.
+
+ * src/type1/t1afm.c (T1_Done_AFM): Renamed to...
+ (T1_Done_Metrics): This.
+ Update all callers.
+ (T1_Read_AFM): Make it static.
+ Don't enter and leave a frame.
+ (LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros.
+ (T1_Read_PFM): New function.
+ (T1_Read_Metrics): New higher-level function to be used instead of
+ T1Read_AFM.
+ Update all callers.
+
+2004-07-31 Werner Lemberg <[email protected]>
+
+ * src/pcf/pcfread (pcf_load_font), src/bdf/bdfdrivr.c
+ (BDF_Face_Init), src/truetype/ttgxvar (TT_Get_MM_Var,
+ tt_face_vary_cvt): Fix compiler warnings.
+
+2004-07-26 Søren Sandmann <[email protected]>
+
+ * src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for
+ face->style_name.
+ * src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'.
+
+2004-07-26 Darren J Longhorn <[email protected]>
+
+ * include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize
+ five-byte `long' (which is avoided then).
+
+2004-07-25 Detlef Würkner <[email protected]>
+
+ * src/pcf/pcfdrivr.c (PCF_Set_Pixel_Size): Compare heights, not
+ ppem values.
+ (PCF_Set_Point_Size): Don't call PCF_Set_Pixel_Size but provide own
+ code to compare ppem values.
+ * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Compare heights, not
+ ppem values.
+ (BDF_Set_Point_Size): Don't call BDF_Set_Pixel_Size but provide own
+ code to compare ppem values.
+
+2004-07-25 Kornfeld Eliyahu Peter <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Handle
+ TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY.
+
+2004-07-24 Derek B. Noonburg <[email protected]>
+
+ * src/cff/cffload.c (cff_font_load): Always create inverse mapping.
+ Even if the charstring count is the same as the CID count, it is
+ still possible that the font uses a different CID -> GID mapping.
+
+2004-07-23 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag
+ found in some Arphic fonts made for Chinese version of Windows 3.1.
+
+2004-07-17 David Turner <[email protected]>
+
+ Fixed a dangling pointer bug in the cache code that happened in very
+ rare cases, i.e., when a new family object was destroyed by an
+ out-of-memory condition during a glyph node initialization. The
+ function FTC_Cache_Lookup would flush the cache and restart the
+ lookup with a bad pointer.
+
+ * include/freetype/cache/ftcglyph.h (FTC_FAMILY_TREE): New macro.
+ (FTC_GCACHE_LOOKUP_CMP): Use it.
+ Handle reference count in `num_nodes' correctly.
+
+ * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily): Use
+ FTC_FAMILY_FREE.
+ (FTC_GCache_Lookup): Handle reference count in `num_nodes' correctly.
+
+ * src/cache/ftcmanag.c (FTC_Manager_FlushN): Fixed a cache flushing
+ bug.
+
+ * src/truetype/ttinterp.c (Normalize): Fixed a bug that caused
+ long and unnecessary delays while normalizing huge vectors.
+
+2004-07-15 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+ * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler
+ warning.
+
+2004-07-15 David Turner <[email protected]>
+
+ * src/base/ftstroke.c (FT_Stroker_ParseOutline): Single points
+ are not stroked, preventing a bug with pala.ttf and other
+ fonts.
+
+ * include/freetype/ftstroke.h: Updating documentation comments.
+
+2004-07-13 Werner Lemberg <[email protected]>
+
+ * src/base/ftstroke.c (ft_stroke_border_reverse): Removed. Unused.
+
+2004-07-12 David Turner <[email protected]>
+
+ * src/base/ftstroke.c (ft_stroke_border_close): Add second parameter
+ to indicate reversion of points.
+ Update all callers.
+ (ft_stroke_border_reverse): Fix initialization of `point1' and
+ `tag1'.
+
+ * src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation
+ for transformed glyphs.
+
+2004-07-11 David Turner <[email protected]>
+
+ Fix bugs that prevented the stroker to correctly generate stroked
+ paths from closed paths, i.e., nearly all glyphs in vectorial fonts.
+
+ The code is still _very_ buggy though; treat with special care.
+
+ * src/base/ftstroke.c (FT_STROKE_TAG_BEGIN_END): New macro.
+ (ft_stroke_border_reverse): New function.
+ (ft_stroker_inside): Remove local variable `sigma'; use different
+ threshold.
+ (ft_stroker_add_reverse_left): Switch begin/end tags if necessary.
+ (FT_Stroker_EndSubPath): Call ft_stroker_inside and
+ ft_stroke_border_reverse.
+
+2004-06-26 Peter Kovar <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
+
+2004-06-25 Werner Lemberg <[email protected]>
+
+ * src/type1/t1afm.c (afm_atoindex): Fix boundary test. Reported
+ by Dirck Blaskey.
+
+2004-06-24 David Turner <[email protected]>
+
+
+ * Version 2.1.9 released.
+ =========================
+
+
+ * src/truetype/ttgload.c, src/truetype/ttxgvar.c: Removing
+ compiler warnings.
+
+2004-06-23 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare
+ FT_QAlloc_Debug and FT_QRealloc_Debug.
+
+ * src/base/ftutil.c (FT_QAlloc): Fix error and debug messages.
+ (FT_QRealloc): Call FT_QAlloc if original pointer is NULL.
+ Fix error message.
+
+2004-06-23 David Turner <[email protected]>
+
+ * include/freetype/internal/ftmemory.h, src/base/ftutil.c
+ (FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug,
+ FT_QRealloc_Debug): New functions that perform allocation without
+ zero-ing out the corresponding blocks.
+
+ * include/freetype/internal/ftmemory.h (FT_MEM_QALLOC,
+ FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY,
+ FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY,
+ FT_QRENEW_ARRAY): New macros.
+
+ * src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC.
+ * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use FT_QNEW_ARRAY.
+ * src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY.
+
+ * src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics,
+ tt_face_load_gasp): Use FT_QNEW_ARRAY.
+ (tt_face_load_kern): Use FT_QNEW_ARRAY.
+ Small optimization in the kerning table verifier; this speeds up
+ TrueType face opening by about 7%.
+ (tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC.
+
+ * include/freetype/config/ftmodule.h: Changed the order of modules,
+ putting TrueType and Type 1 first. This dramatically improves the
+ performance of face open/close operations. For example, putting the
+ TrueType driver first in the list results in a 5x speedup when
+ opening `Vera.ttf'.
+
+ The very problem is that both the PCF and BDF drivers do a lot more
+ than necessary to detect that they cannot handle a font file.
+
+2004-06-22 Werner Lemberg <[email protected]>
+
+ * src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties,
+ pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve
+ debugging messages.
+
+ * src/pcf/pcfdrivr.c (FT_COMPOMENT): Move up.
+ (PCF_Face_Init): Simplify code.
+
+ * src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'.
+
+ * src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start),
+ src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs.
+ Set `default_glyph'.
+ (BDF_Glyph_Load): Use `default_glyph' for undefined glyph.
+
+ * docs/CHANGES: Updated.
+
+2004-06-21 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2004-06-21 David Turner <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+ load_truetype_glyph): Don't access (unrounded)
+ `TT_Size.root.metrics' but (rounded) `TT_Size.metrics'. This fixes
+ a scaling bug that caused incorrect rendering when the bytecode
+ interpreter was enabled.
+
+2004-06-14 Huw D M Davies <[email protected]>
+
+ * src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem
+ based on pixel_width and pixel_height.
+ (FNT_Size_Set_Pixels): Updated.
+
+2004-06-14 Werner Lemberg <[email protected]>
+
+ * src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h.
+ Reported by Hyvärinen Jyrki Juhani.
+
+2004-06-11 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2004-06-10 David Turner <[email protected]>
+
+ * src/base/ftobject.c, src/base/fthash.c, src/base/ftexcept.c,
+ src/base/ftsysio.c, src/base/ftsysmem.c, src/base/ftlist.c: Removed.
+ Obsolete.
+
+ * src/raster/ftraster.c (Alignment, PAlignment): New union to fix
+ problems with 64bit systems.
+ (AlignProfileSize): Use it.
+
+2004-06-08 David Turner <[email protected]>
+
+ * include/freetype/freetype.h (FT_GlyphMetrics): Move `lsb_delta'
+ and `rsb_delta' elements to...
+ (FT_GlyphSlotRec): Here to retain binary compatibility with older
+ FreeType versions.
+ Update all users.
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning.
+
+ * src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization
+ of slot->metrics.width and slot->metrics.height when loading a
+ Windows FNT glyph. Thanks to Huw Davies.
+
+ * include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change
+ return type to FT_Bool.
+
+ * src/cache/ftbasic.c (ftc_basic_family_compare): Change return
+ type to FT_Bool.
+
+ * src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make
+ the former call the latter, not vice versa.
+ (FTC_Cache_Done, ftc_cache_done): Ditto.
+
+ * src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make
+ the former call the latter, not vice versa.
+ (FTC_GCache_Init, ftc_gcache_init): Ditto.
+ (FTC_GCache_Done, ftc_gcache_done): Ditto.
+
+ * src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the
+ former call the latter, not vice versa.
+ (FTC_INode_Weight, ftc_inode_weight): Ditto.
+
+ * src/cache/ftcmanag.c (ftc_size_node_compare,
+ ftc_size_node_compare_faceid, ftc_face_node_compare): Change return
+ type to FT_Bool.
+
+ * src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the
+ former call the latter, not vice versa.
+ (FTC_SNode_Weight, ftc_snode_weight): Ditto.
+ (FTC_SNode_Compare, ftc_snode_compare): Ditto.
+
+ * src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache
+ sub-system.
+
+2004-06-05 Werner Lemberg <[email protected]>
+
+ * src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and
+ `rsb_delta' in slot->metrics and tune side bearings slightly.
+
+2004-06-04 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2004-06-04 David Chester <[email protected]>
+
+ Improve inter-letter spacing for autohinted glyphs.
+
+ * include/freetype/freetype.h (FT_Glyph_Metrics): Add elements
+ `lsb_delta' and `rsb_delta'.
+
+ * src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and
+ `rsb_delta' in slot->metrics and tune side bearings slightly.
+
+2004-06-04 David Turner <[email protected]>
+
+ * src/autofit/*: Important fixes to the auto-fitter. The output
+ now seems to be 100% equivalent to the auto-hinter, while being
+ about 2% faster (which proves that script-specific algorithm
+ selection isn't a performance problem).
+
+ To test it, change `autohint' to `autofit' in
+ <freetype/config/ftmodule.h> and recompile.
+
+ A few more testing is needed before making this the official
+ auto-hinting module.
+
+2004-06-02 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler
+ warnings.
+
+2004-06-01 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Make sure that an English
+ name record for the Apple platform is preferred to a non-English
+ entry for the Microsoft platform. Problem reported by HANDA
+ Ken'ichi.
+
+2004-05-19 George Williams <[email protected]>
+
+ * src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New
+ auxiliary functions.
+ (T1_Get_MM_Var): Provide axis tags.
+ Use mm_axis_unmap and mm_weights_unmap to provide default values
+ for design and normalized axis coordinates.
+
+ * include/freetype/t1tables.h (PS_DesignMapRec): Change type of
+ `design_points' to FT_Long.
+ Update all users.
+
+2004-05-17 Werner Lemberg <[email protected]>
+
+ * src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases.
+ Reported by Mikey Anbary <[email protected]>.
+
+2004-05-15 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name.
+
+2004-05-15 George Williams <[email protected]>
+
+ * src/sfnt/ttload.c (tt_face_load_max_profile): Always set
+ face->root.num_glyphs.
+
+2004-05-14 Masatake YAMATO <[email protected]>
+ George Williams <[email protected]>
+
+ * src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.
+
+2004-05-14 Werner Lemberg <[email protected]>
+
+ * src/cache/ftcbasic.c (ftc_basic_family_compare,
+ ftc_basic_family_init, ftc_basic_family_get_count,
+ ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
+ ftc_basic_gnode_compare_faceid): Adjust parameters and return types
+ to prototypes given in header files from include/freetype/cache.
+ Use casts to proper types locally.
+ (ftc_basic_image_family_class, ftc_basic_image_cache_class,
+ ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): Remove
+ casts.
+
+ * src/cache/ftccback.h: Adjust parameters and return types to
+ prototypes given in header files from include/freetype/cache.
+
+ * src/cache/ftcimage.c (ftc_inode_free, ftc_inode_new,
+ ftc_inode_weight): Adjust parameters and return types to prototypes
+ given in header files from include/freetype/cache. Use casts to
+ proper types locally.
+
+ * src/cache/ftcsbits.c (ftc_snode_free, ftc_snode_new,
+ ftc_snode_weight, ftc_snode_compare): Adjust parameters and return
+ types to prototypes given in header files from
+ include/freetype/cache. Use casts to proper types locally.
+
+ * src/cache/ftccmap.c (ftc_cmap_node_free, ftc_cmap_node_new,
+ ftc_cmap_node_weight, ftc_cmap_node_compare,
+ ftc_cmap_node_remove_faceid): Adjust parameters and return types to
+ prototypes given in header files from include/freetype/cache. Use
+ casts to proper types locally.
+ (ftc_cmap_cache_class): Remove casts.
+
+ * src/cache/ftcglyph.c (ftc_gnode_compare, ftc_gcache_init,
+ ftc_gcache_done): Adjust parameters and return types to prototypes
+ given in header files from include/freetype/cache. Use casts to
+ proper types locally.
+
+ * src/cache/ftcmanag.c (ftc_size_node_done, ftc_size_node_compare,
+ ftc_size_node_init, ftc_size_node_reset,
+ ftc_size_node_compare_faceid, ftc_face_node_init,
+ ftc_face_node_done, ftc_face_node_compare: Adjust parameters and
+ return types to prototypes given in header files from
+ include/freetype/cache. Use casts to proper types locally.
+
+ (ftc_size_list_class, ftc_face_list_class): Remove casts.
+
+2004-05-13 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahmodule.c (ft_autohinter_init, ft_autohinter_done):
+ Use FT_Module as parameter and do a cast to FT_AutoHinter locally.
+ (autohint_module_class): Remove casts.
+
+ * src/base/ftglyph.c (ft_bitmap_glyph_init, ft_bitmap_glyph_copy,
+ ft_bitmap_glyph_done, ft_bitmap_glyph_bbox, ft_outline_glyph_init,
+ ft_outline_glyph_done, ft_outline_glyph_copy,
+ ft_outline_glyph_transform, ft_outline_glyph_bbox,
+ ft_outline_glyph_prepare): Use FT_Glyph as parameter and do a cast
+ to FT_XXXGlyph locally.
+ Use FT_CALLBACK_DEF throughout.
+ (ft_bitmap_glyph_class, ft_outline_glyph_class): Remove casts.
+
+ * src/bdf/bdfdrivr.c (bdf_cmap_init, bdf_cmap_done,
+ bdf_cmap_char_index, bdf_cmap_char_next): Use FT_CMap as parameter
+ and do a cast to BDF_CMap locally.
+ (bdf_cmap_class): Remove casts.
+
+2004-05-12 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.h (CFF_Builder): Remove `error'.
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace
+ `Memory_Error' with `Fail' und update all users.
+
+2004-05-11 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/psaux.h (T1_ParseState): New
+ enumeration.
+ (T1_BuilderRec): Replace `path_begun' with `parse_state'.
+ Remove `error'.
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace
+ `Memory_Error' with `Fail' and update all users.
+ Don't use `builder->error'.
+ Replace `path_begun' with `parse_state' and check parsing states.
+
+ * src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point):
+ Replace `path_begun' with `parse_state' and check parsing states.
+
+2004-05-10 George Williams <[email protected]>
+
+ * src/truetype/ttxgvar.c (ft_var_load_avar): Do free arrays in case
+ of error -- `avar' is optional so we can't rely on tt_done_blend
+ being called automatically.
+
+2004-05-09 George Williams <[email protected]>
+
+ * src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix
+ error handling.
+
+2004-05-07 Werner Lemberg <[email protected]>
+
+ * src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init,
+ pfr_face_done, pfr_face_get_kerning, pfr_slot_init, pfr_slot_done,
+ pfr_slot_load): Don't use PFR_XXX but FT_XXX arguments which are
+ typecast to the proper PFR_XXX types within the function.
+ Update code accordingly.
+
+ * src/pfr/pfrdrivr.c (pfr_get_kerning, pfr_get_advance,
+ pfr_get_metrics, pfr_get_service): Don't use PFR_XXX but FT_XXX
+ arguments which are typecast to the proper PFR_XXX types within the
+ function.
+ Update code accordingly.
+ Use FT_CALLBACK_DEF throughout.
+ (pfr_metrics_service_rec, pfr_driver_class): Remove casts.
+
+2004-05-06 Masatake YAMATO <[email protected]>
+
+ * src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM.
+ (*): Rename local variable OffsetToData to offsetToData.
+
+2004-05-06 Werner Lemberg <[email protected]>
+
+ * src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset,
+ cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access
+ root fields directly.
+ * src/cff/cffdrivr.c (Load_Glyph): Access root fields directly.
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current
+ frame before calling TT_Vary_Get_Glyph_Deltas.
+
+ * src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for
+ consistency.
+ (pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index,
+ pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which
+ are typecast to the proper PCF_XXX types within the function.
+ Update code accordingly.
+ (pcf_cmap_class): Remove casts.
+ (PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use
+ PCF_XXX but FT_XXX arguments which are typecast to the proper
+ PCF_XXX types within the function.
+ Update code accordingly.
+ Use FT_CALLBACK_DEF throughout.
+ (PCF_Set_Point_Size): New wrapper function.
+ (PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF.
+ (pcf_driver_class): Remove casts.
+
+2004-05-04 Steve Hartwell <[email protected]>
+
+ * src/truetype/ttobjs.c (tt_driver_done): Fix typo.
+
+2004-05-04 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init,
+ BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which
+ are typecast to the proper BDF_XXX types within the function.
+ Update code accordingly.
+ Use FT_CALLBACK_DEF throughout.
+ (BDF_Set_Point_Size): New wrapper function.
+ (bdf_driver_class): Remove casts.
+
+ * src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface):
+ Don't use CFF_XXX but FT_XXX arguments which are typecast to the
+ proper CFF_XXX types within the function.
+ Update code accordingly.
+ Use FT_CALLBACK_DEF throughout.
+ (cff_driver_class): Remove casts.
+
+ * src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done,
+ cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init,
+ cff_face_init, cff_face_done, cff_driver_init, cff_driver_done):
+ Don't use CFF_XXX but FT_XXX arguments which are typecast to the
+ proper CFF_XXX types within the function.
+ Update code accordingly.
+ (cff_point_size_reset): New wrapper function.
+
+ * src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done,
+ cid_slot_init, cid_size_done, cid_size_init, cid_size_reset,
+ cid_face_done, cid_face_init, cid_driver_init, cid_driver_done):
+ Don't use CID_XXX but FT_XXX arguments which are typecast to the
+ proper CID_XXX types within the function.
+ Update code accordingly.
+ (cid_point_size_reset): New wrapper function.
+
+ * src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph):
+ Don't use CID_XXX but FT_XXX arguments which are typecast to the
+ proper CID_XXX types within the function.
+ Update code accordingly.
+
+ * src/cid/cidriver.c (cid_get_interface):
+ Don't use CID_XXX but FT_XXX arguments which are typecast to the
+ proper CID_XXX types within the function.
+ Update code accordingly.
+ Use FT_CALLBACK_DEF.
+ (t1cid_driver_class): Remove casts.
+
+ * src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF.
+ * src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local
+ variables (this is done later).
+ (ft_var_load_avar): Fix call to FT_FRAME_ENTER.
+ (TT_Get_MM_Var): Fix size for `fvar_fields'.
+ (TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables
+ correctly.
+
+ * src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if
+ current size is zero.
+
+2004-05-03 Steve Hartwell <[email protected]>
+
+ * src/truetype/ttobjs.h, src/truetype/ttobjs.c (tt_face_init,
+ tt_face_done, tt_size_init, tt_size_done, tt_driver_init,
+ tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are
+ typecast to the proper TT_XXX types within the function.
+ Update code accordingly.
+
+ * src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes,
+ Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but
+ FT_XXX arguments which are typecast to the proper TT_XXX types
+ within the function.
+ Update code accordingly.
+ (tt_driver_class): Remove casts.
+
+2004-05-02 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttload.c (tt_face_free_names): Check that `table->names'
+ is not NULL. Reported by Gordon Childs <[email protected]>.
+
+2004-04-29 Werner Lemberg <[email protected]>
+
+ * docs/formats.txt: Add more information on PFR format.
+
+2004-04-28 Werner Lemberg <[email protected]>
+
+ * docs/formats.txt: New file.
+ * docs/CHANGES: Updated.
+
+2004-04-28 Masatake YAMATO <[email protected]>
+
+ * include/freetype/internal/tttypes.h (GX_BlendRec_)
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix a typo.
+
+ * src/truetype/ttgxvar.h (GX_BlendRec_): Fix a typo.
+
+2004-04-27 Masatake YAMATO <[email protected]>
+
+ * src/truetype/ttgxvar.h: Use FT_LOCAL instead of FT_LOCAL_DEF
+ for function declarations.
+
+2004-04-25 George Williams <[email protected]>
+
+ * src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo.
+
+2004-04-25 Werner Lemberg <[email protected]>
+
+ * src/truetype/Jamfile, docs/CHANGES: Updated.
+
+2004-04-24 Werner Lemberg <[email protected]>
+
+ * src/pcf/pcfdrivr.c: Revert change from 2004-04-17.
+ * src/pcf/pcfutil.c: Use FT_LOCAL_DEF.
+ * src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H.
+ Use FT_BEGIN_HEADER and FT_END_HEADER.
+ Use FT_LOCAL.
+
+2004-04-24 George Williams <[email protected]>
+
+ Add support for Apple's distortable font technology (in GX fonts).
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h
+ (TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro.
+
+ * include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style,
+ FT_MM_Var): New structures.
+ (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
+ FT_Set_Var_Blend_Coordinates): New function declarations.
+
+ * include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func,
+ FT_Set_Var_Design_Func): New typedefs.
+ Update MultiMasters service.
+
+ * include/freetype/internal/tttypes.h
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H.
+ (GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef.
+ (TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend'
+ and `blend'.
+
+ * include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New
+ macros.
+
+ * include/freetype/internal/fttrace.h: Add `ttgxvar'.
+
+ * src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
+ FT_Set_Var_Blend_Coordinates): New functions.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face)
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS
+ flag for GX var fonts.
+
+ * src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files.
+
+ * src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+ ttgxvar.c.
+
+ * src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+ FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h.
+ (tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
+ New service.
+ (tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.
+
+ * src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+ ttgxvar.h.
+ (TT_Process_Simple_Glyph, load_truetype_glyph)
+ [TT_CONFIG_OPTION_GX_VAR_SUPPORT] :Support GX var fonts.
+
+ * src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+ ttgxvar.h.
+ (tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
+ tt_done_blend.
+
+ * src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
+ ttgxvar.h.
+ (tt_face_load_cvt) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
+ tt_face_vary_cvt.
+
+ * src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c.
+
+ * src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var
+ and T1_Set_Var_Design.
+
+ * src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros.
+ (T1_Get_MM_Var, T1_Set_Var_Design): New functions.
+
+ * src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New
+ function declarations.
+
+2004-04-23 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftcache.h (FT_Get_CharMap_Index): Rename
+ declaration and move to...
+ * include/freetype/freetype.h (FT_Get_Charmap_Index): Here.
+ (FREETYPE_PATCH): Set to 9.
+
+ * src/base/ftobjs.c (FT_Get_Charmap_Index): New function.
+
+ * builds/unix/configure.ac (version_info): Set to 9:7:3.
+ * builds/unix/configure: Updated.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: s/218/219/.
+
+ * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
+ s/2.1.8/2.1.9/.
+
+ * docs/CHANGES, docs/VERSION.DLL: Updated.
+
+2004-04-21 Werner Lemberg <[email protected]>
+
+ * src/cff/cffparse.c (cff_parser_run), src/psaux/psobjs.c
+ (ps_parser_load_field): Use FT_CHAR_BIT.
+
+2004-04-21 David Turner <[email protected]>
+
+
+ * Version 2.1.8 released.
+ =========================
+
+
+ * src/cff/cffobjs.c (cff_face_init): Fix a small memory leak.
+
+ * src/autofit/afloader.c (af_loader_load_g), src/autofit/afmodule.c
+ (af_autofitter_load_glyph), src/base/ftdebug.c (FT_Trace_Get_Name):
+ Remove compiler warnings.
+
+ * src/autofit/aftypes.h: Undefine AF_DEBUG.
+
+ * src/lzw/zopen.c (rmask), src/pcf/pcfdrivr.c (pcf_service_bdf,
+ pcf_services), src/pcf/pcfread.c (tableNames), src/psaux/psobjs.c
+ (ft_char_table), src/type42/t42drivr.c (t42_service_glyph_dict,
+ t42_service_ps_font_name): Decorate data arrays with `const' to
+ avoid populating the `.data' segment.
+
+ * src/lzw/Jamfile: New file.
+
+2004-04-20 Werner Lemberg <[email protected]>
+
+ * src/psaux/psobjs.c (T1Radix): Renamed to...
+ (ps_radix): This.
+ Update current cursor position.
+
+ * docs/CHANGES: Updated.
+
+2004-04-18 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph),
+ src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to
+ FT_UInt. From Lex Warners.
+
+2004-04-17 Chisato Yamauchi <[email protected]>
+
+ * src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change
+ from 2004-03-19.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'.
+
+ * src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with
+ `static'.
+ Remove unused function `RepadBitmap'.
+ * src/pcf/pcfdrivr.c: Don't include pcfutil.h.
+
+2004-04-16 Werner Lemberg <[email protected]>
+
+ * builds/unix/freetype-config.in (usage): Fix and improve usage
+ information.
+
+2004-04-15 Werner Lemberg <[email protected]>
+
+ * builds/unix/ftconfig.in, builds/vms/ftconfig.h: Define
+ FT_CHAR_BIT.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Don't apply autohinting if
+ glyph is vertically distorted or mirrored.
+
+ * src/cff/cffgload.c (cff_slot_load): Handle zero `size' properly
+ for embedded bitmaps.
+
+ * docs/CHANGES: Updated.
+
+2004-04-15 bytesoftware <[email protected]>
+
+ * include/freetype/config/ftconfig.h, src/base/ftstream.c
+ (FT_Stream_ReadFields): More fixes using FT_CHAR_BIT.
+
+2004-04-14 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro.
+
+2004-04-14 Alex Strelnikov <[email protected]>
+
+ * src/cache/ftcsbits.c (ftc_snode_load): Initialize `*asize' in case
+ of error.
+
+2004-04-14 Werner Lemberg <[email protected]>
+
+ * src/base/ftmac.c [__GNUC__]: Define OS_INLINE.
+ * builds/unix/configure.ac: Don't try to remove `-ansi' compilation
+ switch on the Mac.
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.5.6.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.8a.
+ * builds/unix/configure: Regenerated with autoconf 2.59a.
+
+2004-04-13 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftconfig.h: Use CHAR_BIT to define
+ size of FT_SIZEOF_xxx.
+
+2004-04-12 Chisato Yamauchi <[email protected]>
+
+ * include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func,
+ TT_Load_SBit_Metrics_Func): New typedefs.
+ (SFNT_Interface): Add find_sbit_image and load_sbit_metrics.
+
+ * src/sfnt/sfdriver.c (sfnt_interface): Updated.
+ * src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New
+ declarations.
+ * src/sfnt/ttsbit.c (find_sbit_image): Renamed to...
+ (tt_find_sbit_image): This.
+ Updated all callers.
+ (load_sbit_metrics): Renamed to...
+ (tt_load_sbit_metrics): This.
+ Updated all callers.
+
+2004-04-12 Werner Lemberg <[email protected]>
+
+ * configure: Accept makepp also.
+
+ * builds/unix/detect.mk: Use proper path to unix-def.mk.
+ * builds/unix/unix-def.in (BUILD_DIR, PLATFORM): Remove.
+ * builds/unix/unix.mk (BUILD_DIR, PLATFORM): Define.
+ Use BUILD_DIR.
+
+ * docs/INSTALL, docs/INSTALL.GNU, docs/INSTALL.UNX: Update
+ documentation on makepp.
+
+2004-04-11 Werner Lemberg <[email protected]>
+
+ * src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h.
+
+2004-04-10 Werner Lemberg <[email protected]>
+
+ * src/lzw/ftlzw.c: Include zopen.h dependent on
+ FT_CONFIG_OPTION_USE_LZW.
+
+ * src/base/ftdebug.c: s/index/idx/ to avoid compiler warnings.
+
+2004-04-02 Werner Lemberg <[email protected]>
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.5.2.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.8a.
+ * builds/unix/configure: Regenerated with autoconf 2.59a.
+
+2004-04-01 Werner Lemberg <[email protected]>
+
+ * builds/unix/ft-munmap.m4 (FT_MUNMAP_PARAM): Fix arguments of
+ AC_COMPILE_IFELSE.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.8a.
+ * builds/unix/configure: Regenerated with autoconf 2.59a.
+ * 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/freetype.mk (refdoc): Updated.
+
+2004-03-31 Werner Lemberg <[email protected]>
+
+ Handle broken FNT files which don't have a trailing NULL byte
+ in the face name string.
+
+ * src/winfonts/winfnt.h (FNT_FontRec): New member `family_name'.
+ * src/winfonts/winfnt.c (fnt_font_done): Free font->family_name.
+ (FNT_Face_Init): Append a final zero byte to the font face name.
+
+2004-03-30 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttload.c (tt_face_load_sfnt_header): Fix change from
+ 2004-03-19.
+
+2004-03-27 Werner Lemberg <[email protected]>
+
+ * src/base/descrip.mms (OBJS): Add ftbbox.obj.
+
+2004-03-26 George Williams <[email protected]>
+
+ Add vertical phantom points.
+
+ * include/freetype/internal/tttypes.h (TT_LoaderRec): Add
+ `top_bearing', `vadvance', `pp3', and `pp4'.
+
+ * src/autofit/afloader.c (af_loader_load_g): Handle two more points.
+
+ * src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
+ * src/truetype/ttgload.c (Get_VMetrics): New function.
+ (TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
+ points.
+ (load_truetype_glyph): Use Get_VMetrics.
+ Handle two more points.
+ (compute_glyph_metrics): Thanks to vertical phantom points we now
+ can always compute `advance_height' and `top_bearing'.
+ * src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
+ points.
+
+
+ * src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
+ `news'.
+
+2004-03-21 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing.
+
+2004-03-20 Steve Hartwell <[email protected]>
+
+ * src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Handle a NULL
+ value for `selection' as `select all'.
+
+2004-03-19 Steve Hartwell <[email protected]>
+
+ * src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index
+ values > 0 if loading non-TTC fonts.
+
+ * src/base/ftmac.c (open_face_from_buffer): Set positive face_index
+ to zero before calling FT_Open_Face.
+
+ * docs/CHANGES: Updated.
+
+2004-03-04 Werner Lemberg <[email protected]>
+
+ * Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h:
+ Add LZW module.
+
+ * Jamfile.in: Removed.
+
+ * docs/CHANGES: Updated.
+
+ * include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/,
+ s/ABS/FT_ABS/. Updated all callers.
+
+ * src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c
+ (PCF_Face_Init): Use FT_ERROR_BASE.
+
+2004-03-04 Albert Chin <[email protected]>
+
+ Add support for PCF fonts compressed with LZW (extension .pcf.Z,
+ created with `compress').
+
+ * include/freetype/config/ftoption.h, devel/ftoption.h
+ (FT_CONFIG_OPTION_USE_LZW): New macro.
+
+ * include/freetype/ftlzw.h: New file.
+ * include/freetype/config/ftheader.h (FT_LZW_H): New macro for
+ ftlzw.h.
+
+ * src/lzw/*: New files.
+
+ * src/pcf/pcfdrivr.c: Include FT_LZW_H.
+ (PCF_Face_Init): Try LZW also.
+
+ * src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate.
+ Beautify.
+
+2004-03-03 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code.
+
+2004-03-02 Werner Lemberg <[email protected]>
+
+ Add embedded bitmap support to CFF driver.
+
+ * src/cff/cffobjs.h (CFF_SizeRec): New structure.
+
+ * src/cff/cffgload.c (cff_builder_init): Updated.
+ (cff_slot_load): Updated.
+ [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Load sbit.
+
+ * src/cff/cffobjs.c (sbit_size_reset)
+ [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New function.
+ (cff_size_get_globals_funcs, cff_size_done, cff_size_init): Updated.
+ (cff_size_reset): Updated.
+ [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Call sbit_size_reset.
+
+ * src/cff/cffdrivr.c (Load_Glyph): Updated.
+ (cff_driver_class): Use CFF_SizeRec.
+
+ * docs/CHANGES: Updated.
+
+2004-03-01 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use
+ FT_RoundFix but FT_PIX_ROUND.
+ (psh_blues_snap_stem): Don't use blue_shift but blue_threshold.
+
+ * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro.
+ (psh_glyph_find_string_points): Use PSH_STRONG_THRESHOLD_MAXIMUM.
+ (psh_glyph_find_blue_points): New function. Needed for fonts like
+ p052003l.pfb (URW Palladio L Roman) which have flex curves at the
+ base line within blue zones, but the flex curves aren't covered by
+ hints.
+ (ps_hints_apply): Use psh_glyph_find_blue_points.
+
+2004-02-27 Garrick Meeker <[email protected]>
+
+ * builds/unix/configure.ac: Fix compiler flags for
+ `--with-old-mac-fonts'.
+ * builds/unix/configure: Regenerated.
+
+ * src/base/ftmac.c: s/TARGET_API_MAC_CARBON/!TARGET_API_MAC_OS8/.
+ (FT_New_Face_From_Resource): New function.
+ (FT_New_Face): Use FT_New_Face_From_Resource.
+ (FT_New_Face_From_FSSpec): Use FT_New_Face_From_Resource.
+ [__MWERKS__]: Don't include FSp_fopen.h.
+
+2004-02-26 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshglob.c (psh_globals_new): Fix value of
+ `dim->stdw.count'.
+ Don't assign default values to blue scale and blue shift.
+
+2004-02-25 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2004-02-25 Garrick Meeker <[email protected]>
+ Steve Hartwell <[email protected]>
+
+ Improve MacOS fond support. Provide a new API
+ `FT_New_Face_From_FSSpec' similar to `FT_New_Face'.
+
+ * src/base/ftmac.c [__MWERKS__]: Include FSp_fpopen.h.
+ STREAM_FILE [__MWERKS__]: New macro.
+ (ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions.
+ (file_spec_from_path) [__MWERKS__]: Updated #if statement.
+ (get_file_type, make_lwfn_spec): Use `const' for argument.
+ (is_dfont) [TARGET_API_MAC_CARBON]: Removed.
+ (count_face_sfnt, count_faces): New functions.
+ (parse_fond): Do some range checking.
+ (read_lwfn): Change type of second argument.
+ No longer call FSpOpenResFile.
+ (OpenFileAsResource): New function.
+ (FT_New_Face_From_LWFN): Use `const' for second argument.
+ Use OpenFileAsResource.
+ (FT_New_Face_From_Suitcase): Change type of second argument.
+ No longer call FSpOpenResFile.
+ Loop over all resource indices.
+ (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed.
+ (FT_GetFile_From_Mac_Name): Use `const' for first argument.
+ (ResourceForkSize): Removed.
+ (FT_New_Face): Updated to use new functions.
+ (FT_New_Face_From_FSSpec): New function.
+
+ * include/freetype/ftmac.h: Updated.
+
+2004-02-24 Malcolm Taylor <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>:
+ Handle case where outline->num_vedges is zero while computing hinted
+ metrics.
+
+2004-02-24 Gordon Childs <[email protected]>
+
+ * src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
+ for `count'.
+
+2004-02-24 Werner Lemberg <[email protected]>
+
+ * include/freetype/t1tables.h (PS_PrivateRec): Add
+ `expansion_factor'.
+
+ * src/pshinter/pshglob (psh_blues_scale_zones): Fix computation
+ of blues->no_overshoots -- `blues_scale' is stored with a
+ magnification of 1000, and `scale' returns fractional pixels.
+
+ * src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift',
+ `blue_fuzz', `expansion_factor', and `blue_scale' according to the
+ Type 1 specification.
+
+ * src/type1/t1tokens.h: Handle `ExpansionFactor'.
+
+ * docs/CHANGES: Updated.
+
+2004-02-24 Masatake YAMATO <[email protected]>
+
+ Provide generic access to MacOS resource forks.
+
+ * src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New
+ files.
+
+ * src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H.
+ (Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments
+ `resource_listoffset' and `resource_data' and adapt code
+ accordingly. These values are calculated outside of the function
+ now.
+ Add new argument `offsets'.
+ (IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and
+ `FT_Raccess_Get_DataOffsets'.
+ (load_face_in_embedded_rfork): New function.
+ (load_mac_face): Use load_face_in_embedded_rfork.
+ (ft_input_stream_new): Renamed to...
+ (FT_Stream_New): This. Use FT_BASE_DEF. Updated all callers.
+ (ft_input_stream_free): Renamed to...
+ (FT_Stream_Free): This. Use FT_BASE_DEF. Updated all callers.
+
+ * src/base/ftbase.c: Include ftrfork.c.
+
+ * src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H):
+ New macro.
+
+ * include/freetype/internal/fttrace.h: Added `rfork' as a new
+ trace definition.
+
+ * include/freetype/internal/ftstream.h: Declare FT_Stream_New and
+ FT_Stream_Free.
+
+ * include/freetype/config/ftoption.h, devel/ftoption.h
+ (FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option.
+
+ * include/freetype/config/ftstdlib.h (ft_strrchr): New macro.
+
+2004-02-23 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+ * include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H.
+
+2004-02-23 Masatake YAMATO <[email protected]>
+
+ Provide a simple API to control FreeType's tracing levels.
+
+ * include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
+ FT_Trace_Get_Name): New declarations.
+
+ * src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New
+ functions.
+
+2004-02-23 David Turner <[email protected]>
+
+ * src/autofit/afhints.c, src/autofit/afhints.h,
+ src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave
+ bugs have been fixed. The auto-fitter works, doesn't crash, but
+ still produces unexpected results...
+
+2004-02-21 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold
+ the accepted shift for strong points in fractional pixels (which
+ is a heuristic value).
+ (psh_glyph_find_strong_points): Compute threshold for
+ psh_hint_table_find_strong_points.
+ (psh_hint_table_find_strong_point): Add parameter to pass threshold.
+
+2004-02-20 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call
+ ps_mask_table_alloc but ps_mask_table_last.
+ (ps_hints_t2mask): Use correct position and number for vertical
+ and horizontal hinter mask bits.
+
+ * docs/CHANGES: Updated.
+
+2004-02-19 Werner Lemberg <[email protected]>
+
+ * src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling.
+ * src/cff/cffdrivr.c (cff_get_cmap_info): Remove compiler warning.
+
+2004-02-18 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly.
+
+ * src/base/ftglyph.c (ft_bitmap_glyph_class,
+ ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render): Handle
+ FT_RENDER_MODE_LIGHT.
+
+2004-02-17 Werner Lemberg <[email protected]>
+
+ Fix callback functions in cache module.
+
+ * src/cache/ftccback.h: New file for callback declarations.
+
+ * src/cache/ftcbasic.c (ftc_basic_family_compare,
+ ftc_basic_family_init, ftc_basic_family_get_count,
+ ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
+ ftc_basic_gnode_compare_faceid): Use FT_CALLBACK_DEF.
+ (ftc_basic_image_family_class, ftc_basic_image_cache_class,
+ ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class):
+ Use FT_CALLBACK_TABLE_DEF and local wrapper functions.
+
+ * src/cache/ftccache.c: Include ftccback.h.
+ (ftc_cache_init, ftc_cache_done): New wrapper functions which use
+ FT_LOCAL_DEF.
+
+ * src/cache/ftccmap.c: Include ftccback.h.
+ (ftc_cmap_cache_class): Use local wrapper functions.
+
+ * src/cache/ftcglyph.c: Include ftccback.h.
+ (ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): New wrapper
+ functions which use FT_LOCAL_DEF.
+
+ * src/cache/ftcimage.c: Include ftccback.h.
+ (ftc_inode_free, ftc_inode_new, ftc_inode_weight): New wrapper
+ functions which use FT_LOCAL_DEF.
+
+ * src/cache/ftcmanag.c (ftc_size_list_class, ftc_face_list_class):
+ Use FT_CALLBACK_TABLE_DEF.
+
+ * src/cache;/ftcsbits.c: Include ftccback.h.
+ (ftc_snode_free, ftc_snode_new, ftc_snode_weight,
+ ftc_snode_compare): New wrapper functions which use FT_LOCAL_DEF.
+
+ * src/cache/rules.mk (CACHE_DRV_H): Add ftccback.h.
+
+2004-02-17 Masatake YAMATO <[email protected]>
+
+ * include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo
+ (FT_EXPORT_DEF -> FT_EXPORT).
+
+ * include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto.
+
+2004-02-15 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Fix typo.
+
+2004-02-14 Masatake YAMATO <[email protected]>
+
+ * builds/unix/ftsystem.c: Include errno.h.
+ (ft_close_stream): Renamed to...
+ (ft_close_stream_by_munmap): This.
+ (ft_close_stream_by_free): New function.
+ (FT_Stream_Open): Use fallback method if mmap fails.
+ Use proper function for closing the stream.
+
+2004-02-14 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_dict): Initialize `start_binary'.
+
+2004-02-13 Robert Etheridge <[email protected]>
+
+ * src/type42/t42objs.c (T42_Face_Init), src/type1/t1objs.c
+ (T1_Face_Init), src/cid/cidobjs.c (cid_face_init): Fix computation
+ of underline_position and underline_thickness.
+
+2004-02-12 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if
+ ppem values don't change. Suggested by Graham Asher.
+
+2004-02-11 Werner Lemberg <[email protected]>
+
+ * src/cid/cidload.c (cid_face_open): Always allocate
+ face->cid_stream so that we can deallocate it safely.
+
+2004-02-10 Werner Lemberg <[email protected]>
+
+ Make the PS parser more tolerant w.r.t. non-standard font data. In
+ general, an error is only reported in case of a syntax error; a
+ wrong type is now simply ignored (if possible). To be independent
+ of the order of various MM-specific keywords, the parse_shared_dict
+ routine has been removed -- the PS parser is now capable to skip
+ this data. It no longer fails on parsing e.g.
+
+ dup /WeightVector exch def
+
+ Since the token following /WeightVector isn't `[' (starting an
+ array) it is simply ignored.
+
+ * include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a
+ new internal error value.
+
+ * src/type1/t1load.c (parse_blend_axis_types,
+ parse_blend_design_positions, parse_blend_design_map): Return
+ T1_Err_Ignore if no proper array is following the keyword.
+ (parse_weight_vector): Use T1_ToTokenArray, initializing `blend'
+ structure, if necessary.
+ Return T1_Err_Ignore if no proper array is following the keyword.
+ (parse_shared_dict): Removed.
+ (parse_encoding): Set parser->root.error to return T1_Err_Ignore
+ if no result can be obtained.
+ Check for errors before accessing `elements' array.
+ (t1_keywords): Remove /shareddict.
+ (parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore.
+ Set keyword_flag only in case of success.
+ Check error code if skipping an unrecognized token.
+ (T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend
+ if blend commands haven't set up a proper MM font.
+
+ * src/psaux/psobjs.c (ps_parser_load_field_table): Remove special
+ code for synthetic fonts.
+ Return PSaux_Err_Ignore if no proper value has been found.
+
+2004-02-09 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings)
+ <cff_op_endchar>: Preserve glyph width before calling
+ cff_operator_seac.
+
+2004-02-09 Martin Muskens <[email protected]>
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special
+ first argument for `hintmask' and `cntrmask' operators also.
+
+2004-02-08 Werner Lemberg <[email protected]>
+
+ * builds/unix/configure.in: Call AC_SUBST for `enable_shared',
+ `hardcode_libdir_flag_spec', and `wl'.
+ * builds/unix/configure: Regenerated.
+
+ * builds/unix/freetype-config.in: Make --prefix and --exec-prefix
+ actually work.
+ Report a proper --rpath (or -R) value for --libs argument if a
+ shared library has been built.
+
+ * docs/CHANGES: Updated.
+
+2004-02-07 Keith Packard <[email protected]>
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init, BDF_Set_Pixel_Size): Fix
+ computation of various vertical and horizontal metric values.
+
+ * src/pcfdrivr.c (PCF_Set_Pixel_Size), src/pcfread (pcf_load_font):
+ Ditto.
+
+2004-02-07 Werner Lemberg <[email protected]>
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated.
+
+2004-02-07 Vitaliy Pasternak <[email protected]>
+
+ * builds/win32/visualc/freetype.sln,
+ builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003.
+
+2004-02-03 Werner Lemberg <[email protected]>
+
+ * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):
+ Initialize `node'.
+ * src/type1/t1load.c (parse_dict): Initialize `have_integer'.
+
+2004-02-02 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
+ outside of /Subrs or /CharStrings. This can happen if there is
+ additional code manipulating those two arrays so that FreeType
+ doesn't recognize them properly.
+ (T1_Open_Face): Improve an error message.
+
+2004-02-01 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_charstrings): Exit immediately if
+ there are no elements in /CharStrings. This is needed for fonts
+ like Optima-Oblique which not only define /CharStrings but access it
+ also.
+
+2004-02-01 David Turner <[email protected]>
+
+ * src/sfnt/Jamfile: Removing `ttcmap' from the list of sources.
+
+ * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP)
+ <FTC_INLINE>: Provide macro version which doesn't use inline code.
+ * include/freetype/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP)
+ <FTC_INLINE>: Ditto.
+ Use FTC_MRULIST_LOOKUP_CMP.
+ * include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): New
+ macro.
+ (FTC_MRULIST_LOOKUP): Use it.
+
+ * src/cache/Jamfile (_sources), src/cache/descrip.mms: Updated.
+ * src/cache/ftcbasic.c: Fix compiler warnings.
+ * src/cache/ftcmanag.c (FTC_Manager_LookupSize,
+ FTC_Manager_LookupFace) <FTC_INLINE>: Use FTC_MRULIST_LOOKUP_CMP.
+ * src/cache/ftcmru.c (FTC_MruList_Find): Fix a bug (found after
+ heavy testing).
+
+ * Jamfile: Updating `refdoc' target, and adding `autohint' to the
+ list of modules to build. Both the autohinter and autofitter will
+ be built by default. But which one will be used is determined by
+ the content of `ftmodule.h'.
+
+ * src/autofit/*: Many updates, but the code is still buggy...
+
+2004-01-31 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.c (cff_operator_seac): Fix magnitude of
+ 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.
+
+2004-01-30 Werner Lemberg <[email protected]>
+
+ * 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.
+
+2004-01-29 Antoine Leca <[email protected]>
+
+ * builds/win32/visualc/index.html: New file, giving detailed
+ explanations about forcing CR+LF line endings for the VC++ project
+ files.
+
+2004-01-22 Garrick Meeker <[email protected]>
+
+ * src/cff/cffload.c (cff_subfont_load): Initialize `dict'.
+
+2004-01-22 Werner Lemberg <[email protected]>
+
+ Add support for the hexadecimal representation of binary data
+ 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.
+
+2004-01-21 Werner Lemberg <[email protected]>
+
+ 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/.
+
+2004-01-20 Masatake YAMATO <[email protected]>
+
+ * include/freetype/ftcache.h: Delete duplicated definition of
+ FTC_FaceID.
+
+ * src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
+ Info service function if the cmap comes from sfnt. Return 0 if the
+ cmap is sythesized in cff module.
+
+2004-01-20 David Turner <[email protected]>
+
+ * src/cache/ftcmanag.c (ftc_size_node_compare): Call
+ FT_Activate_Size.
+
+2004-01-20 Werner Lemberg <[email protected]>
+
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one
+ CR, LF, or CR/LF after `eexec'.
+
+2004-01-18 David Turner <[email protected]>
+
+ * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Remove compiler
+ warning.
+
+ * src/tools/docmaker/*: Updating beautifier tool.
+
+2004-01-15 David Turner <[email protected]>
+
+ * src/base/ftoutln.c (ft_orientation_extremum_compute): Fix
+ infinite loop bug.
+
+ * include/freetype/ftstroke.h: Include FT_GLYPH_H.
+ (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New
+ declarations.
+
+ * src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H.
+ (FT_Outline_GetOutsideBorder): Inverse result.
+ (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_GlyphStrokeBorder): New
+ functions.
+ (FT_Stroker_EndSubPath): Close path if needed.
+ (FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind.
+
+ * include/freetype/cache/ftcmanag.h (FTC_ScalerRec,
+ FTC_Manager_LookupSize): Moved to...
+ * include/freetype/ftcache.h (FTC_ScalerRec,
+ FTC_Manager_LookupSize): Here.
+
+ * src/tools/docmaker/docbeauty.py: New file to beautify the
+ documentation comments (e.g., to convert them to single block border
+ mode).
+ * src/tools/docmaker/docmaker.py (file_exists, make_file_list):
+ Moved to...
+ * src/tools/docmaker/utils.py (file_exists, make_file_list): Here.
+
+2004-01-14 David Turner <[email protected]>
+
+ * include/freetype/internal/ftmemory.h (FT_ARRAY_COPY,
+ FT_ARRAY_MOVE): New macros to make copying arrays easier.
+ Updated all relevant code to use them.
+
+2004-01-14 Werner Lemberg <[email protected]>
+
+ * src/cff/cffload.c (cff_font_load): Load charstrings_index earlier.
+ Use number of charstrings as argument to CFF_Load_FD_Select (as
+ documented in the CFF specs).
+
+2004-01-13 Graham Asher <[email protected]>
+
+ * src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of
+ `glyph->memory' up to free arrays properly in case of failure.
+
+2004-01-10 Masatake YAMATO <[email protected]>
+
+ Make `FT_Get_CMap_Language_ID' work with CFF. Bug reported by
+ Steve Hartwell <[email protected]>.
+
+ * src/cff/cffdrivr.c: Include FT_SERVICE_TT_CMAP_H.
+ (cff_services): Added an entry for FT_SERVICE_ID_TT_CMAP.
+ (cff_get_cmap_info): New function.
+ (cff_service_get_cmap_info) New entry for cff_services.
+
+ * src/sfnt/ttcmap0.c: Exit loop after a format match has been found.
+ Suggested by Steve Hartwell <[email protected]>.
+
+2004-01-03 Masatake YAMATO <[email protected]>
+
+ * src/base/ftobjs.c (destroy_charmaps): New function.
+ (destroy_face, open_face): Use `destroy_charmaps'.
+
+2004-01-01 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2004-01-01 Michael Jansson <[email protected]>
+
+ * src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of
+ size->metrics.descender.
+
+2003-12-31 Wolfgang Domröse <[email protected]>
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings)
+ [FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4.
+ <cff_op_flex1>: Change type of dx and dy to FT_Pos and remove
+ cast for accessing arguments.
+
+2003-12-31 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous
+ change. It's not necessary.
+
+2003-12-29 Smith Charles <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated
+ flags set' correctly.
+
+2003-12-29 Werner Lemberg <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating
+ `full' and `weight' properly.
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings)
+ <cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for
+ tracing output.
+
+2003-12-26 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func):
+ Use FT_UInt for ppem values.
+ * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for
+ ppem values.
+ * src/sfnt/ttsbit.h: Updated.
+
+ * src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values
+ larger than -0FFFF.
+
+2003-12-25 Werner Lemberg <[email protected]>
+
+ * src/base/fttrigon.c, src/base/ftgloadr.c: Inlude
+ 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.
+
+2003-12-24 Werner Lemberg <[email protected]>
+
+ * src/cache/ftcsbits.c (FTC_SNode_Weight):
+ s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/.
+
+2003-12-24 David Turner <[email protected]>
+
+ * Fixed compilation problems in the cache sub-system.
+
+ * Partial updates to src/autofit.
+
+ * Jamfile (FT2_COMPONENTS): Add autofit module.
+
+2003-12-23 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle
+ CID-keyed fonts.
+
+2003-12-23 David Turner <[email protected]>
+
+ * include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND,
+ FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_CEIL): New macros. They
+ are used to avoid compiler warnings with very pedantic compilers.
+ Note that `(x) & -64' causes a warning if (x) is not signed. Use
+ `(x) & ~63' instead!
+ Updated all related code.
+
+ Add support for extraction of `inside' and `outside' borders.
+
+ * src/base/ftstroke.c (FT_StrokerBorder): New enumeration.
+ (FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder,
+ FT_Stroker_GetBorderCounts, FT_Stroker_ExportBorder): New functions.
+ (FT_StrokeBorderRec): New boolean member `valid'.
+ (ft_stroke_border_get_counts): Updated.
+ * include/freetype/ftstroke.h: Updated.
+
+2003-12-22 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions
+ 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 <[email protected]>.
+
+ * docs/CHANGES: Updated.
+
+2003-12-22 David Turner <[email protected]>
+
+ * include/freetype/ftcache.h,
+ include/freetype/cache/ftcmanag.h,
+ include/freetype/cache/ftccache.h,
+ include/freetype/cache/ftcmanag.h,
+ include/freetype/cache/ftcmru.h (added),
+ include/freetype/cache/ftlru.h (removed),
+ include/freetype/cache/ftcsbits.h,
+ include/freetype/cache/ftcimage.h,
+ include/freetype/cache/ftcglyph.h,
+ src/cache/ftcmru.c,
+ src/cache/ftcmanag.c,
+ src/cache/ftccache.c,
+ src/cache/ftcglyph.c,
+ src/cache/ftcimage.c,
+ src/cache/ftcsbits.c,
+ src/cache/ftccmap.c,
+ src/cache/ftcbasic.c (added),
+ src/cache/ftclru.c (removed):
+
+ *Complete* rewrite of the cache sub-system to `solve' the
+ following points:
+
+ - all public APIs have been moved to FT_CACHE_H, everything
+ under `include/freetype/cache' is only needed by client
+ applications that want to implement their own caches
+
+ - a new function named FTC_Manager_RemoveFaceID to deal
+ with the uninstallation of FaceIDs
+
+ - the image and sbit cache are now abstract classes, that
+ can be extended much more easily by client applications
+
+ - better performance in certain areas. Further optimizations
+ to come shortly anyway...
+
+ - the FTC_CMapCache_Lookup function has changed its signature,
+ charmaps can now only be retrieved by index
+
+ - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace
+ FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in
+ private header for the moment)
+
+2003-12-21 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword
+ is encountered.
+
+2003-12-19 Werner Lemberg <[email protected]>
+
+ * src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 32. For
+ example, the Japanese Hiragino font already contains 15 subfonts.
+
+ * src/cff/cffload.c (cff_font_load): Deallocate `sids' array for
+ CID-keyed fonts.
+
+ * devel/ftoption.h: Define FT_DEBUG_MEMORY.
+
+2003-12-18 Werner Lemberg <[email protected]>
+
+ * include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro.
+ * src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values.
+
+2003-12-18 Werner Lemberg <[email protected]>
+
+ * src/cff/cfftypes.h (CFF_FontRecDictRec): Change type of
+ `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.
+
+2003-12-17 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_init_face): Don't set
+ FT_FACE_FLAG_GLYPH_NAMES if the font contains a version 3.0 `post'
+ table.
+
+ * docs/CHANGES: Updated.
+
+2003-12-17 Masatake YAMATO <[email protected]>
+
+ Add new function FT_Get_CMap_Language_ID to extract the language ID
+ for TrueType/sfnt fonts.
+
+ * include/freetype/internal/services/svttcmap.h: New file.
+ * include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add
+ svttcmap.h.
+
+ * src/sfnt/sfdriver.c: Include ttcmap0.h.
+ (tt_service_get_cmap_info): New service.
+ (sfnt_services): Updated.
+
+ * src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions.
+ (tt_cmap*_class_rec): Add tt_cmap*_get_info members.
+ (tt_get_cmap_info): New function.
+ * src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H.
+ (TT_CMap_ClassRec): New field `get_cmap_info'.
+ (tt_get_cmap_info): New declaration.
+
+ * src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H.
+ (FT_Get_CMap_Language_ID): New function implementation.
+ * include/freetype/tttables.h (FT_Get_CMap_Language_ID): New
+ function declaration.
+
+2003-12-16 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed. Obsolete.
+
+ * include/freetype/internal/sfnt.h (SFNT_Interface): Remove
+ obsolete fields `load_charmap' and `free_charmap'.
+ (TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed.
+ * src/sfnt/sfnt.c: Don't include ttcmap.c.
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c.
+ * src/sfnt/ttload.c: Don't include ttcmap.h.
+ * src/sfnt/sfdriver.c: Don't include ttcmap.h.
+ (sfnt_interface): Updated.
+
+ * include/freetype/internal/tttypes.h (TT_TableDirRec,
+ TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec,
+ TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6,
+ TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func,
+ TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed.
+ Obsolete.
+ * src/cff/cffobjs.h (CFF_CharMapRec): Removed. Obsolete.
+
+2003-12-15 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2003-12-15 Wolfgang Domröse <[email protected]>
+
+ * builds/atari/*: New directory for building FreeType 2 on Atari
+ with the PureC compiler.
+
+2003-12-12 Wolfgang Domröse <[email protected]>
+
+ * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add
+ cast.
+ * src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return
+ value is either 0 or 1.
+
+2003-12-12 Werner Lemberg <[email protected]>
+
+ * src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message.
+ (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.
+
+2003-12-11 Werner Lemberg <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init): Don't set
+ FT_FACE_FLAG_GLYPH_NAMES for CID-keyed fonts.
+ Don't construct a cmap for CID-keyed fonts.
+
+2003-12-10 Werner Lemberg <[email protected]>
+
+ Use implementation specific SID value 0xFFFF to indicate that
+ a dictionary element is missing.
+
+ * src/cff/cffload.c (cff_subfont_load): Initialize all fields
+ which hold SIDs to 0xFFFF.
+ (cff_index_get_sid_string): Handle SID value 0xFFFF.
+ Handle case where `psnames' is zero.
+ (cff_font_load): Updated.
+ Don't load encoding for CID-keyed CFFs.
+
+ * src/cff/cffobjs.c (cff_face_init): Updated.
+ Don't check for PSNames module if font is CID-keyed.
+ Compute style name properly (using the same algorithm as in the
+ CID driver).
+ Fix computation of style flags.
+
+ * src/cff/cfftoken.h: Comment out handling of base_font_name.
+ Rename `postscript' field to `embedded_postscript'
+ * src/cff/cfftypes.h (CFF_FontRecDictRec): Remove `base_font_name'
+ and `postscript'.
+
+2003-12-10 Detlef Würkner <[email protected]>
+
+ * src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone
+ of the similar BDF function).
+ (pcf_service_bdf): Use it.
+
+2003-12-09 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES
+ only if a `post' table is present.
+
+2003-12-09 George Williams <[email protected]>
+
+ * src/base/ftobjs.c (load_mac_face): Recent versions of Linux
+ support Mac's HFS+ file system, thus enable code to read /rsrc on
+ non-Macintosh platforms also.
+
+2003-12-08 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/psaux.h (PS_TableRec): Change type
+ of `lengths' to FT_PtrDist.
+ (T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist.
+ * include/freetype/internal/t1types.h (T1_FontRec): Change type
+ of `subrs_len' and `charstrings_len' to FT_PtrDist.
+
+ * src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk'
+ variable with better solution.
+ (IsMacResource): Remove unused variable `map_len'.
+ Replace `junk' variable with better solution.
+ (FT_Open_Face) [!FT_MACINTOSH]: Add conditional
+ FT_CONFIG_OPTION_MAC_FONTS.
+
+2003-12-08 Wolfgang Domröse <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_hint_edges,
+ ah_hinter_align_strong_points): Add some casts.
+
+ * src/base/ftoutln.c (FT_OrientationExtremumRec): Change type
+ of `pos' to FT_Long.
+
+ * src/base/ftobjs.c (Mac_Read_POST_Resource,
+ Mac_Read_sfnt_Resource): Change type of `len' to FT_Long.
+
+ * src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
+
+2003-12-07 Werner Lemberg <[email protected]>
+
+ * docs/raster.txt: New file, taken from FreeType 1 and completely
+ revised.
+
+2003-12-04 Masatake YAMATO <[email protected]>
+
+ * src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for
+ t1_interface. t1_interface is used.
+
+2003-11-27 David Turner <[email protected]>
+
+ * src/pfr/pfrdrivr.c (pfr_get_metrics): Revert incorrect change of
+ 2003-11-23: For PFR fonts, metrics->x_scale and metrics->y_scale are
+ the scaling values for outline units, not for metric units.
+
+2003-11-25 Werner Lemberg <[email protected]>
+
+ * src/base/ftcalc.c, include/freetype/internal/ftcalc.h
+ (FT_MulDiv_No_Round): Surround code with `#ifdef
+ TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'.
+
+2003-11-23 Werner Lemberg <[email protected]>
+
+ * src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and
+ 64 bit version).
+ * include/freetype/internal/ftcalc.h: Updated.
+
+ * src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro.
+ (TT_INT64): Removed.
+ (DO_DIV): Use TT_MULDIV_NO_ROUND.
+
+ * src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use
+ metrics->x_scale and metrics->y_scale.
+
+2003-11-22 Rogier van Dalen <[email protected]>
+
+ * src/truetype/ttinterp.c (CUR_Func_move_orig): New macro.
+ (Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New
+ functions. Similar to Direct_Move, Direct_Move_X, and
+ Direct_Move_Y but without touching.
+ (Compute_Funcs): Use new functions.
+
+ (Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
+ Round_Up_To_Grid, Round_To_Double_Grid, Round_Super,
+ Round_Super_45): Fix rounding of value zero.
+
+ (DO_DIV): Don't use TT_MULDIV.
+
+ (Ins_SHC): This instruction actually touches the points.
+ (Ins_MSIRP): Fix undocumented behaviour.
+
+ * src/truetype/ttinterp.h (TT_ExecContextRec): Updated.
+
+2003-11-22 Werner Lemberg <[email protected]>
+
+ * docs/VERSION.DLL, docs/CHANGES: Updated.
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and
+ metrics->y_scale really precise.
+
+ (FT_Load_Glyph): Update computation of linearHoriAdvance and
+ linearVertAdvance.
+
+ * src/truetype/ttinterp.c (Update_Max): Use FT_REALLOC.
+
+2003-11-22 David Turner <[email protected]>
+
+ * src/autofit/*: More updates.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
+ * builds/unix/configure.ac (version_info): Set to 9:6:3.
+ * README: Updated.
+
+2003-11-13 John A. Boyd Jr. <[email protected]>
+
+ * src/bdf/bdfdrivr.c (bdf_interpret_style), src/pcf/pcfread.c
+ (pcf_interpret_style): Replace spaces with dashes in properties
+ SETWIDTH_NAME and ADD_STYLE_NAME to simplify parsing.
+
+2003-11-11 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2003-11-11 John A. Boyd Jr. <[email protected]>
+
+ Handle SETWIDTH_NAME and ADD_STYLE_NAME properties for BDF and PCF
+ fonts.
+
+ * src/bdf/bdfdrivr.c (bdf_interpret_style): New auxiliary function.
+ (BDF_Face_Init): Don't handle style properties but call
+ bdf_interpret_style.
+
+ * src/pcf/pcfread.c (pcf_interpret_style): New auxiliary function.
+ (pcf_load_font): Don't handle style properties but call
+ pcf_interpret_style.
+
+2003-11-07 Werner Lemberg <[email protected]>
+
+
+ * Version 2.1.7 released.
+ =========================
+
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
+
+ * 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.
+
+2003-11-07 David Turner <[email protected]>
+
+
+ * Version 2.1.6 released.
+ =========================
+
+
+ * install: Removed. Obsolete.
+
+2003-11-04 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfdriver.c: Include FT_SERVICE_SFNT_H.
+ (sfnt_service_sfnt_table): New service.
+ (sfnt_services): Updated.
+
+ * docs/license.txt: Reworded.
+
+2003-11-03 Werner Lemberg <[email protected]>
+
+ * include/freetype/*: Add a guard to all public header files which
+ load FT_FREETYPE_H to reject freetype.h from FreeType 1.
+
+2003-11-02 Patrick Welche <[email protected]>
+
+ * builds/unix/freetype2.m4, builds/unix/ft-munmap.m4: Protect
+ first argument of AC_DEFUN with brackets to avoid possible
+ expansion.
+
+2003-11-02 Werner Lemberg <[email protected]>
+
+ * include/freetype/cache/ftcglyph.h: Don't include stddef.h.
+
+ * include/freetype/freetype.h: Fix check for ft2build.h.
+
+2003-11-01 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h: Check that ft2build.h has been
+ loaded first.
+
+ * src/base/fttype1.c (FT_Get_PS_Font_Info): Fix incorrectly applied
+ patch.
+
+2003-10-31 Detlef Würkner <[email protected]>
+
+ * src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names):
+ Fix parameter order in calls to FT_FACE_FIND_SERVICE.
+
+2003-10-31 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/ftserv.h
+ (FT_SERVICE_POSTSCRIPT_NAMES_H): Removed. Unused.
+
+ * src/type42/t42drivr.c (t42_services): Updated.
+
+2003-10-29 David Turner <[email protected]>
+
+ * include/freetype/internal/bdftypes.h: Removed. Obsolete.
+ * src/base/ftbdf.c: Updated.
+
+ * include/freetype/internal/cfftypes.h: Moved to...
+ * src/cff/cfftypes.h: This place since no other module needs to
+ know about those types.
+
+ * include/freetype/internal/t42types.h: Moved to...
+ * src/type42/t42types.h: This place since no other module needs to
+ know about those types.
+
+ * include/freetype/internal/services/svbdf.h: Include FT_BDF_H.
+
+ * include/freetype/internal/services/svpsname.h: Renamed to...
+ * include/freetype/internal/services/svpscmap.h: This.
+ Updated `FT_Service_PsNames' -> `FT_Service_PsCMaps' and
+ `POSTSCRIPT_NAMES' -> `POSTSCRIPT_CMAPS' everywhere.
+
+ * include/freetype/internal/services/svpsinfo.h: New file, providing
+ PostScript info service.
+
+ * include/freetype/internal/ftserv.h (FT_SERVICE_POSTSCRIPT_CMAPS_H,
+ FT_SERVICE_POSTSCRIPT_INFO_H): New macros for svpscmap.h and
+ svpsinfo.h.
+ * include/freetype/internal/internal.h (FT_INTERNAL_TYPE42_TYPES_H,
+ FT_INTERNAL_CFF_TYPES_H, FT_INTERNAL_BDF_TYPES_H): Removed.
+
+ * src/base/fttype1.c: Don't include FT_INTERNAL_TYPE1_TYPES_H and
+ FT_INTERNAL_TYPE42_TYPES_H but FT_INTERNAL_SERVICE_H and
+ FT_SERVICE_POSTSCRIPT_INFO_H.
+ (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): Use new
+ POSTSCRIPT_INFO service.
+
+ * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+ (cff_ps_has_glyph_names): New function.
+ (cff_service_ps_info): New service.
+ (cff_services): Updated.
+
+ * src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't
+ include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly.
+
+ * src/cif/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+ (cid_ps_get_font_info): New function.
+ (cid_service_ps_info): New service.
+ (cid_services): Updated.
+
+ * src/type1/t1driver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+ (t1_ps_get_font_info, t1_ps_has_glyph_names): New functions.
+ (t1_service_ps_info): New service.
+ (t1_services): Updated.
+
+ * src/type42/t42drivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H.
+ (t42_ps_get_font_info, t42_ps_has_glyph_names): New functions.
+ (t42_service_ps_info): New service.
+
+ * src/type42/t42objs.h: Don't include FT_INTERNAL_TYPE42_TYPES_H
+ but t42types.h directly.
+
+ * src/psnames/psmodule.c (psnames_interface, psnames_services):
+ Renamed to...
+ (pscmaps_interface, pscmaps_services): This.
+ Updated all users.
+
+
+ * src/gzip/infblock.c (inflate_blocks): Remove compiler warning.
+
+2003-10-22 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_encoding): Handle `/Encoding [ ... ]'.
+
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Test whether `eexec'
+ is real.
+
+ * src/type42/t42parse.c (t42_parse_encoding): Improve boundary
+ checking while parsing.
+
+ * docs/CHANGES: Updated.
+
+2003-10-21 Josselin Mouette <[email protected]>
+
+ * include/freetype/internal/t1types.h (T1_FontRec): `paint_type'
+ and `stroke_width' aren't pointers.
+
+ * src/type42/t42objs.c (T42_Face_Done), src/type1/t1objs.c
+ (T1_Face_Done): Don't free `paint_type' and `stroke_width'.
+
+2003-10-20 Graham Asher <[email protected]>
+
+ * src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'.
+
+2003-10-19 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph): Patch from
+ 2003-08-18 introduced a severe bug (FT_Render_Glyph was called
+ twice under some circumstances, causing strange results). This
+ is fixed now by clearing the FT_LOAD_RENDER bit of `load_flags'.
+
+ * src/base/ftpfr.c (FT_Get_PFR_Metrics): Initialize `error'.
+ * src/psaux/psobjs.c (ps_tobytes): Initialize `n'.
+ * src/type42/t42parse.c (t42_parse_sfnts): Initialize `string_size'.
+
+2003-10-16 Werner Lemberg <[email protected]>
+
+ Completely revised Type 42 parser. It now handles both fonts
+ produced with ttftot42 (tested version 0.3.1) and
+ TrueTypeToType42.ps (tested version May 2001; it is necessary to
+ fix the broken header comment to be `%!PS-TrueTypeFont...').
+
+ * src/type42/t42objs.c (T42_GlyphSlot_Load): Change fourth
+ parameter to `FT_UInt'.
+ * src/type42/t42objs.h: Updated.
+
+ * src/type42/t42parse.h (T42_ParserRec): Change type of `in_memory'
+ to FT_Bool.
+ (T42_Loader): Change type of `num_chars' and `num_glyphs' to
+ FT_UInt.
+ Add `swap_table' element.
+ * src/type42/t42parse.c (T42_KEYWORD_COUNT, T1_ToFixed,
+ T1_ToCoordArray, T1_ToTokenArray): Removed.
+ (T1_ToBytes): New macro.
+ (t42_is_alpha, t42_hexval): Removed.
+ (t42_is_space): Handle `\0'.
+ (t42_parse_encoding): Updated to use new PostScript parser routines
+ from psaux.
+ Handle `/Encoding [ ... ]' also.
+ (T42_Load_Status): New enumeration.
+ (t42_parse_sfnts): Updated to use new PostScript parser routines
+ from psaux.
+ (t42_parse_charstrings): Updated to use new PostScript parser
+ routines from psaux.
+ Handle `/CharStrings << ... >>' also.
+ Don't expect that /.notdef is the first element in dictionary. Copy
+ code from type1 module to handle this.
+ (t42_parse_dict): Updated to use new PostScript parser routines
+ from psaux.
+ Remove code for synthetic fonts (which can't occur in Type 42
+ fonts).
+ (t42_loader_done): Release `swap_table'.
+
+ * src/psaux/psobjs.c (skip_string): Increase `cur' properly.
+
+ * src/type1/t1load.c (parse_charstrings): Make test for `.notdef'
+ faster.
+
+2003-10-15 Graham Asher <[email protected]>
+
+ * src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c
+ (fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty,
+ _num_bdf_properties), src/gzip/infutil.c (inflate_mask),
+ src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td),
+ src/gzip/inftrees.h (inflate_trees_fixed), srf/gzip/inftrees.c
+ (inflate_trees_fixed): Decorate with more `const' to avoid
+ writable global variables which are disallowed on ARM.
+
+2003-10-08 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_font_matrix, parse_charstrings): Remove
+ code specially for synthetic fonts; this is handled elsewhere.
+ (parse_encoding): Remove code specially for synthetic fonts; this is
+ handled elsewhere.
+ Improve boundary checking while parsing.
+ (parse_dict): Improve boundary checking while parsing.
+ Use ft_memcmp to simplify code.
+
+2003-10-07 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.c (parse_subrs, parse_dict): Handle synthetic
+ fonts properly.
+ (parse_charstrings): Copy correct number of characters into
+ `name_table'.
+
+2003-10-06 Werner Lemberg <[email protected]>
+
+ Heavy modification of the PS parser to handle comments and strings
+ correctly. This doesn't slow down the loading of PS fonts
+ significantly since charstrings aren't affected.
+
+ * include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to...
+ (ft_isxdigit): This. Updated all callers.
+ (ft_isdigit): New alias to `isdigit'.
+
+ * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed
+ `skip_alpha' to `skip_PS_token'.
+ Add parameter to `to_bytes' and change some argument types.
+
+ * src/psaux/psauxmod.c (ps_parser_funcs): Updated.
+ * src/psaux/psobjs.c (ft_char_table): New array to map character
+ codes (ASCII and EBCDIC) of digits to numbers.
+ (OP): New auxiliary macro holding either `>=' or `<' depending on
+ the character encoding.
+ (skip_comment): New function.
+ (skip_spaces): Use it.
+ (skip_alpha): Removed.
+ (skip_literal_string, skip_string): New functions.
+ (ps_parser_skip_PS_token): New function. This is a better
+ replacement of...
+ (ps_parser_skip_alpha): Removed.
+ (ps_parser_to_token, ps_parser_to_token_array): Updated.
+ (T1Radix): Rewritten, using `ft_char_table'.
+ (t1_toint): Renamed to...
+ (ps_toint): This. Update all callers.
+ Use `ft_char_table'.
+ (ps_tobytes): Add parameter to handle delimiters and change some
+ argument types.
+ Use `ft_char_table'.
+ (t1_tofixed): Renamed to...
+ (ps_tofixed): This. Update all callers.
+ Use `ft_char_table'.
+ (t1_tocoordarray): Renamed and updated to...
+ (ps_tocoordarray): This. Update all callers.
+ (t1_tofixedarray): Renamed and updated to...
+ (ps_tofixedarray): This. Update all callers.
+ (t1_tobool): Renamed to...
+ (ps_tobool): This. Update all callers.
+ (ps_parser_load_field): Updated.
+ (ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS'
+ everywhere.
+ (ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array,
+ ps_parser_to_fixed_array): Skip spaces. Updated.
+ (ps_parser_to_bytes): Add parameter to handle delimiters and change
+ some argument types. Updated.
+ * src/psaux/psobjs.h: Updated.
+
+ * src/cid/cidload.c (cid_parse_dict): Updated.
+ * src/cid/cidparse.c (cid_parser_new): Check whether the `StartData'
+ token was really found.
+ * src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed
+ to...
+ (cid_parser_skip_PS_token): This.
+
+ * src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean
+ fields.
+ (T1_Skip_Alpha): Replaced with...
+ (T1_Skip_PS_Token): This new macro.
+ * src/type1/t1parse.c (hexa_value): Removed.
+ (T1_Get_Private_Dict): Use `ft_isxdigit' and
+ `psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal
+ encoding.
+ After decrypting, replace the four random bytes at the beginning
+ with whitespace.
+ * src/type1/t1load.c (t1_allocate_blend): Use proper error values.
+ (parser_blend_design_positions, parse_blend_design_map,
+ parse_weight_vector): Updated.
+ (is_space): Handle `\f' also.
+ (is_name_char): Removed.
+ (read_binary_data): Updated.
+ (parse_encoding): Use `ft_isdigit'.
+ Updated.
+ (parse_subrs): Updated.
+ (TABLE_EXTEND): New macro.
+ (parse_charstrings): Updated.
+ Provide a workaround for buggy fonts which have more entries in the
+ /CharStrings dictionary then expected; the function now adds some
+ slots and skips entries which still exceed the new limit.
+ (parse_dict): Updated.
+ Terminate on the token `closefile'.
+
+ * src/type42/t42parse.c (T1_Skip_Alpha): Replaced with...
+ (T1_Skip_PS_Token): This new macro. Updated all callers.
+ (t42_parse_encoding): Use `ft_isdigit'.
+
+
+ * src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_OK if
+ success.
+
+2003-10-05 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftmodule.h: Renamed to...
+ * include/freetype/ftmodapi.h: This to avoid duplicate file names.
+ * include/freetype/config/ftheader.h (FT_MODULE_H): Updated.
+
+2003-10-04 Werner Lemberg <[email protected]>
+
+ * src/base/ftoutln.c (FT_OrientationExtremumRec,
+ FT_Outline_Get_Orientation): Trivial typo fixes to make it compile.
+
+2003-10-02 Markus F.X.J. Oberhumer <[email protected]>
+
+ * src/winfonts/winfnt.c (FT_WinFNT_HeaderRec): `color_table_offset'
+ has four bytes, not two.
+ Fix all users.
+ (fnt_font_load, FNT_Load_Glyph): Add more font validity tests.
+
+2003-10-01 David Turner <[email protected]>
+
+ * src/autofit/*: Adding first source files of the new multi-script
+ `auto-fitter'.
+
+ * include/freetype/ftoutln.h (FT_Orientation): New enumeration.
+ (FT_Outline_Get_Orientation): New declaration.
+
+ * src/base/ftoutln.c (FT_OrientationExtremumRec): New structure.
+ (ft_orientation_extremum_compute): New auxiliary function.
+ (FT_Outline_Get_Orientation): New function to compute the fill
+ orientation of a given glyph outline.
+
+ * include/freetype/internal/ftserv.h (FT_FACE_LOOKUP_SERVICE): Fixed
+ trivial bug which could crash the font engine when a cached service
+ pointer was retrieved.
+
+2003-09-30 Werner Lemberg <[email protected]>
+
+ * src/cid/cidload.c (cid_parse_dict): Skip token if no keyword is
+ found.
+
+ * src/type1/t1parse.c (IS_T1_WHITESPACE, IS_T1_LINESPACE,
+ IS_T1_SPACE): Removed.
+ (PFB_Tag): Removed.
+ (read_pfb_tag): Don't use PFB_Tag.
+
+ * src/type42/t42parse.c (t42_is_space): Handle `\f' also.
+ (t42_parse_encoding): Handle synthetic fonts.
+
+2003-09-29 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/t1types.h: Don't include
+ FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H.
+ * src/truetype/ttobjs.c: Don't include
+ FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+2003-09-29 David Turner <[email protected]>
+
+ Added new service to handle glyph name dictionaries, replacing the
+ old internal header named `psnames.h' by `services/svpsname.h'.
+ Note that this is different from `services/svpostnm.h' which only
+ handles the retrieval of PostScript font names for a given face.
+ (Should we merge these two services into a single header?)
+
+ * include/freetype/internal/psnames.h: Removed. Most of its
+ contents is moved to...
+ * include/freetype/internal/services/svpsname.h: New file.
+
+ * include/freetype/internal/services/svpostnm.h
+ (FT_SERVICE_ID_POSTSCRIPT_NAME): Replaced with...
+ (FT_SERVICE_ID_POSTSCRIPT_FONT_NAME): New macro.
+ (PsName): Service named changed to...
+ (PsFontName): This.
+ Updated `FT_Service_PsName' -> `FT_Service_PsFontName' and
+ `POSTSCRIPT_NAME' -> `POSTSCRIPT_FONT_NAME' everywhere.
+
+ * include/freetype/internal/internal.h
+ (FT_INTERNAL_POSTSCRIPT_NAMES_H): Removed.
+ * include/freetype/internal/psaux.h: Include
+ FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (T1_DecoderRec): Updated type of `psnames'.
+ * include/freetype/internal/t1types.h: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ Include FT_INTERNAL_OBJECTS_H.
+ * include/freetype/internal/t42types.h: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H.
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): Changed
+ order of parameters. All callers updated.
+ (FT_FACE_FIND_GLOBAL_SERVICE): New macro to look up a service
+ globally, checking all modules.
+ (FT_ServiceCacheRec): Updated.
+ (FT_SERVICE_POSTSCRIPT_NAMES_H): New macro for accessing
+ `svpsname.h'.
+
+ * include/freetype/internal/ftobjs.h, src/base/ftobjs.c
+ (ft_module_get_service): New function.
+
+ * src/cff/cffdrivr.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (cff_get_glyph_name, cff_get_name_index): Use new POSTSCRIPT_NAMES
+ service.
+ * src/cff/cffcmap.c (cff_cmap_unicode_init): Updated.
+ * src/cff/cffload.c, src/cff/cffload.h: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (cff_index_get_sid_string): Updated.
+ * src/cff/cffobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (cff_face_init): Use new POSTSCRIPT_NAMES service.
+ * src/cff/cffobjs.h: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+ * src/cid/cidobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (cid_face_init): Use new POSTSCRIPT_NAMES service.
+ * src/cid/cidriver.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H.
+
+ * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Use
+ new POSTSCRIPT_NAMES service.
+ * src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode,
+ t1_decode_init): Use new POSTSCRIPT_NAMES service.
+ * src/psaux/t1cmap.h, src/psaux/t1decode.h: Dont' include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H.
+
+ * src/psnames/psmodule.c: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (ps_build_unicode_table): Renamed to...
+ (ps_unicodes_init): This.
+ (ps_lookup_unicode): Renamed to...
+ (ps_unicodes_char_index): This.
+ (ps_next_unicode): Renamed to...
+ (ps_unicodes_char_next): This.
+ (psnames_interface): Updated.
+ (psnames_services): New services list.
+ (psnames_get_service): New function.
+ (psnames_module_class): Updated.
+
+ * src/sfnt/sfobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (sfnt_init_face): Use new POSTSCRIPT_NAMES service.
+ * src/sfnt/ttpost.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H
+ but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (tt_face_get_ps_name): Updated.
+
+ * src/truetype/ttobjs.c: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+ * src/type1/t1driver.c: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ * src/type1/t1objs.c: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+ (T1_Face_Init): Use new POSTSCRIPT_NAMES service.
+
+ * src/type42/t42drivr.c (t42_get_ps_name): Renamed to...
+ (t42_get_ps_font_name): This.
+ (t42_service_ps_name): Renamed to...
+ (t42_service_ps_font_name): This.
+ (t42_services): Updated.
+ * src/type42/t42objs.c (T42_Face_Init): Use new POSTSCRIPT_NAMES
+ service.
+ * src/type42/t42objs.h: Don't include
+ FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H.
+
+
+ * src/base/ftglyph.c (FT_Get_Glyph): Don't access `slot' before
+ testing its validity. Reported by Henry Maddocks
+
+2003-09-21 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE):
+ Fix compilation warning (s/pptr/Pptr/).
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H,
+ FT_INTERNAL_FNT_TYPES_H): Removed.
+
+2003-09-21 David Turner <[email protected]>
+
+ Migrating the PFR and WINFNT drivers to the new service-based
+ internal API.
+
+ * include/freetype/internal/fnttypes.h: Removed. Most of its data
+ are moved to winfnt.h and...
+ * include/freetype/internal/services/svwinfnt.h: New file.
+
+ * include/freetype/internal/pfr.h: Removed. Most of its data are
+ moved to...
+ * include/freetype/internal/services/svpfr.h: New file.
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
+ FT_FACE_LOOKUP_SERVICE): Simplify fix of 2003-09-16 by removing
+ pointer type argument.
+ Updated all callers.
+ Update macro names of services header files.
+
+ * src/base/ftobjs.c (FT_Get_Name_Index): Simplified code.
+
+ * src/base/ftpfr.c: Include FT_SERVICE_PFR_H instead of
+ FT_INTERNAL_PFR_H.
+ (ft_pfr_check, FT_Get_PFR_Metrics, FT_Get_PFR_Kerning,
+ FT_Get_PFR_Advance): Use services provided in `PFR_METRICS'.
+
+ * src/base/ftwinfnt.c: Include FT_SERVICE_WINFNT_H instead of
+ FT_INTERNAL_FNT_TYPES_H.
+ (FT_Get_WinFNT_Header): Use service provided in `WINFNT'.
+
+ * src/pfr/pfrdrivr.c: Include FT_SERVICE_PFR_H and
+ FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_PFR_H.
+ (pfr_service_bdf): Updated.
+ (pfr_services): New services list.
+ (pfr_get_service): New function.
+ (pfr_driver_class): Updated.
+
+ * src/winfonts/winfnt.c: Include FT_SERVICE_WINFNT_H and
+ FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_FNT_TYPES_H.
+ (winfnt_get_header, winfnt_get_service): New functions.
+ (winfnt_service_rec): New structure providing WINFNT services.
+ (winfnt_services): New services list.
+ (winfnt_driver_class): Updated.
+ * src/winfonts/winfnt.h: Add most of the removed fnttypes.h data.
+
+ * src/sfnt/sfdriver.c (sfnt_service_ps_name): Fix typo.
+
+ * src/type1/t1driver.c (t1_service_ps_name): Fix typo.
+
+ * src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c,
+ src/psaux/psobjs.c, src/sfnt/sfobjs.c, src/truetype/ttobjs.c,
+ src/type1/t1objs.c, src/type42/t42objs.c: Removing various compiler
+ warnings.
+
+2003-09-19 David Bevan <[email protected]>
+
+ * src/type1/t1parse.c (pfb_tag_fields): Removed.
+ (read_pfb_tag): Fix code so that it doesn't fail on end-of-file
+ indicator (0x8003).
+ * docs/CHANGES: Updated.
+
+2003-09-16 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
+ FT_FACE_LOOKUP_SERVICE): Add parameter to pass pointer type.
+ Ugly, I know, but this is needed for compilation with C++ --
+ maybe someone knows a better solution?
+ Updated all callers.
+
+ * src/base/ftobjs.c (FT_Get_Name_Index, FT_Get_Glyph_Name): Remove
+ C++ compiler warnings.
+
+ * src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property):
+ Fix order of arguments passed to FT_FACE_FIND_SERVICE.
+
+2003-09-15 Werner Lemberg <[email protected]>
+
+ Avoid header files with identical names.
+
+ * include/freetype/internal/services/bdf.h: Renamed to...
+ * include/freetype/internal/services/svbdf.h: This.
+ Add copyright notice.
+ * include/freetype/internal/services/glyfdict.h: Renamed to...
+ * include/freetype/internal/services/svgldict.h: This.
+ Add copyright notice.
+ * include/freetype/internal/services/multmast.h: Renamed to...
+ * include/freetype/internal/services/svmm.h: This.
+ Add copyright notice.
+ Add FT_BEGIN_HEADER and FT_END_HEADER.
+ * include/freetype/internal/services/sfnt.h: Renamed to...
+ * include/freetype/internal/services/svsfnt.h: This.
+ Add copyright notice.
+ * include/freetype/internal/services/postname.h: Renamed to...
+ * include/freetype/internal/services/svpostnm.h: This.
+ Add copyright notice.
+ * include/freetype/internal/services/xf86name.h: Renamed to...
+ * include/freetype/internal/services/svxf86nm.h: This.
+ Add copyright notice.
+
+ * include/freetype/internal/ftserv.h: Add FT_BEGIN_HEADER and
+ FT_END_HEADER.
+ Add copyright notice.
+ Update macro names of services header files.
+
+ * builds/freetype.mk (SERVICES_DIR): New variable.
+ (BASE_H): Add services header files.
+
+2003-09-11 Werner Lemberg <[email protected]>
+
+ * builds/toplevel.mk (distclean): Remove `builds/unix/freetype2.pc'.
+
+ * src/cff/cffdrivr.c: Don't load headers twice.
+
+ * include/freetype/internal/ftserv.h (FT_SERVICE_SFNT_H): New macro.
+ * src/base/ftobjs.c: Include FT_SERVICE_SFNT_H.
+
+ * src/cff/cffcmap.c: Include `cfferrs.h'.
+ * src/pfr/pfrdrivr.c: Include `pfrerror.h'.
+ * src/sfnt/sfdriver.c: Include `sferrors.h'.
+ * src/psaux/psobjs.h: Add declaration for `ps_parser_to_bytes'.
+
+2003-09-11 David Turner <[email protected]>
+
+ Introducing the concept of `module services'. This is the first
+ step towards a massive simplification of the engine's internals, in
+ order to get rid of various numbers of hacks.
+
+ Note that these changes will break source & binary compatibility for
+ authors of external font drivers.
+
+ * include/freetype/config/ftconfig.h (FT_BEGIN_STMNT, FT_END_STMNT,
+ FT_DUMMY_STMNT): New macros.
+
+ * include/freetype/internal/ftserv.h: New file, containing the new
+ structures and macros to provide `services'.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_EXTENSION_H,
+ FT_INTERNAL_EXTEND_H, FT_INTERNAL_HASH_H, FT_INTERNAL_OBJECT_H):
+ Removed, obsolete.
+ (FT_INTERNAL_SERVICE_H): New macro for `ftserv.h'.
+
+ * include/freetype/internal/services/bdf.h,
+ include/freetype/internal/services/glyfdict.h,
+ include/freetype/internal/services/postname.h,
+ include/freetype/internal/services/xf86name.h: New files.
+
+ * include/freetype/ftmm.h (FT_Get_MM_Func, FT_Set_MM_Design_Func,
+ FT_Set_MM_Blend_Func): Function pointers moved (in modified form)
+ to...
+ * include/freetype/internal/services/multmast.h: New file.
+
+ * include/freetype/internal/sfnt.h (SFNT_Interface): `get_interface'
+ is now of type `FT_Module_Requester'.
+ (SFNT_Get_Interface_Func, SFNT_Load_Table_Func): Function pointers
+ moved (in modified form) to...
+ * include/freetype/internal/services/sfnt.h: New file.
+
+ * include/freetype/tttables.h (FT_Get_Sfnt_Table_Func): Function
+ pointer moved (in modified form) to `services/sfnt.h'.
+
+ * include/freetype/ftmodule.h (FT_Module_Interface): Make it a
+ a typedef to `FT_Pointer'.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Add
+ `postscript_name'.
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
+ `postscript_name'.
+ Add `services' element.
+ (FT_LibraryRec): Remove `meta_class'.
+
+ * src/base/ftbdf.c: Include FT_SERVICE_BDF_H.
+ (test_font_type): Removed.
+ (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Use services
+ provided in `FT_SERVICE_ID_BDF'.
+
+ * src/base/ftmm.c: Include FT_SERVICE_MULTIPLE_MASTERS_H.
+ (ft_face_get_mm_service): New auxiliary function to get services
+ from `FT_SERVICE_ID_MULTI_MASTERS'.
+ (FT_Get_Multi_Master, FT_Set_MM_Design_Coordinates,
+ FT_Set_MM_Blend_Coordinates): Use `ft_face_get_mm_service'.
+
+ * src/base/ftobjs.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
+ FT_SERVICE_GLYPH_DICT_H.
+ (ft_service_list_lookup): New function to get a specific service.
+ (destroy_face): Updated.
+ (Mac_Read_POST_Resource): Simplify some code.
+ (IsMacResource): Fix warnings.
+ (FT_Get_Name_Index, FT_Get_Glyph_Name): Use services provided in
+ `FT_SERVICE_ID_GLYPH_DICT'.
+ (FT_Get_Postscript_Name): Use service provided in
+ `FT_SERVICE_ID_POSTSCRIPT_NAME'.
+ (FT_Get_Sfnt_Table, FT_Load_Sfnt_Table): Use services provided in
+ `FT_SERVICE_ID_SFNT_TABLE'.
+
+ * src/base/ftxf86.c: Include FT_SERVICE_XFREE86_NAME_H.
+ (FT_Get_X11_Font_Format): Use service provided in
+ `FT_SERVICE_ID_XF86_NAME'.
+
+ * src/bdf/bdfdrivr.c: Include FT_SERVICE_BDF_H and
+ FT_SERVICE_XFREE86_NAME_H.
+ (bdf_get_charset_id): New function.
+ (bdf_service_bdf): New structure providing BDF services.
+ (bdf_services): New services list.
+ (bdf_driver_requester): Use `ft_service_list_lookup'.
+
+ * src/cff/cffdrivr.c: Include FT_SERVICE_XFREE86_NAME_H and
+ FT_SERVICE_GLYPH_DICT_H.
+ (cff_service_glyph_dict): New structure providing CFF services.
+ (cff_services): New services list.
+ (cff_get_interface): Use `ft_service_list_lookup'.
+
+ * src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and
+ FT_SERVICE_XFREE86_NAME_H.
+ (cid_service_ps_name): New structure providing CID services.
+ (cid_services): New services list.
+ (cid_get_interface): Use `ft_service_list_lookup'.
+
+ * src/pcf/pcfdrivr.c: Include FT_SERVICE_BDF_H and
+ FT_SERVICE_XFREE86_NAME_H.
+ (pcf_service_bdf): New structure providing PCF services.
+ (pcf_services): New services list.
+ (pcf_driver_requester): Use `ft_service_list_lookup'.
+
+ * src/sfnt/sfdriver.c: Include FT_SERVICE_GLYPH_DICT_H and
+ FT_SERVICE_POSTSCRIPT_NAME_H.
+ (get_sfnt_glyph_name): Renamed to...
+ (sfnt_get_glyph_name): This.
+ (get_sfnt_postscript_name): Renamed to...
+ (sfnt_get_ps_name): This.
+ Updated.
+ (sfnt_service_glyph_dict, sfnt_service_ps_name): New structures
+ providing services.
+ (sfnt_services): New services list.
+ (sfnt_get_interface): Use `ft_service_list_lookup'.
+
+ * src/truetype/ttdriver.c: Include FT_SERVICE_XFREE86_NAME_H.
+ (tt_services): New services list.
+ (tt_get_interface): Use `ft_service_list_lookup'.
+
+ * src/type1/t1driver.c: Include FT_SERVICE_MULTIPLE_MASTERS_H,
+ FT_SERVICE_GLYPH_DICT_H, FT_SERVICE_XFREE86_NAME_H, and
+ FT_SERVICE_POSTSCRIPT_NAME_H.
+ (t1_service_glyph_dict, t1_service_ps_name,
+ t1_service_multi_masters): New structures providing Type 1 services.
+ (t1_services): New services list.
+ (Get_Interface): Use `ft_service_list_lookup'.
+
+ * src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H,
+ FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H.
+ (t42_service_glyph_dict, t42_service_ps_name): New strucures
+ providing Type 42 services.
+ (t42_services): New services list.
+ (T42_Get_Interface): Use `ft_service_list_lookup'.
+
+
+ * README, docs/CHANGES: Updating version numbers for 2.1.6, and
+ removing obsolete warnings in the documentation.
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
+ * builds/unix/configure.ac (version_info): Set to 9:5:3.
+ * builds/unix/configure: Regenerated.
+
+ * include/freetype/internal/ftcore.h,
+ include/freetype/internal/ftexcept.h,
+ include/freetype/internal/fthash.h,
+ include/freetype/internal/ftobject.h: Removed. Obsolete.
+
+2003-09-09 David Turner <[email protected]>
+
+ Fixing PFR kerning support. The tables within the font file contain
+ (charcode,charcode) kerning pairs, we need to convert them to
+ (gindex,gindex).
+
+ * src/base/ftpfr.c (ft_pfr_check): Fix serious typo.
+ * src/pfr/prfload.c: Remove dead code.
+ (pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs):
+ New functions.
+ (pfr_phy_font_done): Free `kern_pairs'.
+ (pfr_phy_font_load): Call `pfr_sort_kerning_pairs'.
+ * src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix kerning extraction.
+ * src/pfr/pfrtypes.h (PFR_KERN_PAIR_INDEX): New macro.
+ (PFR_KernPairRec): Make `kerning' an FT_Int.
+ (PFR_PhyFontRec): New element `kern_pairs'.
+ (PFR_KernFlags): Values of PFR_KERN_2BYTE_CHAR and
+ PFR_KERN_2BYTE_ADJ were erroneously reversed.
+
+ * include/freetype/ftoption.h: Commenting out the macro
+ TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
+
+2003-09-02 David Turner <[email protected]>
+
+
+ * Version 2.1.5 released.
+ =========================
+
+
+2003-08-31 Manish Singh <[email protected]>
+
+ * src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but
+ FT_MEM_MOVE.
+
+2003-08-30 Werner Lemberg <[email protected]>
+
+ * 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.
+
+2003-08-27 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters
+ for spacing.
+
+2003-08-27 Mike FABIAN <[email protected]>
+
+ * src/pcf/pcfread.c (pcf_load_font), src/bdf/bdfdrivr.c
+ (BDF_Face_Init): Accept lowercase characters for slant and weight.
+
+2003-08-18 David Turner <[email protected]>
+
+ * include/freetype/config/ftoption.h: Disabling TrueType bytecode
+ interpreter until the UNPATENTED_HINTING works as advertised.
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph): Use `|' for
+ setting `load_flags'.
+
+ * Jamfile: Adding the `refdoc' target to the Jamfile in order to
+ build the API Reference in `docs/reference' automatically.
+
+ * include/freetype/t1tables.h (PS_FontInfoRec), src/cid/cidtoken.h,
+ src/type1/t1tokens.h, src/type42/t42parse.c: Resetting the types of
+ `italic_angle', `underline_position', and `underline_thickness' to
+ their previous values (i.e., long, short, and ushort) in order to
+ avoid breaking binary compatibility.
+
+ * include/freetype/ttunpat.h: Fixing documentation comment.
+
+ * include/freetype/config/ftoption.h, devel/ftoption.h
+ (TT_CONFIG_OPTION_OPTION_COMPILE_UNPATENTED_HINTING): Replaced
+ with...
+ (TT_CONFIG_OPTION_UNPATENTED_HINTING): This. Updated all users.
+ (TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed.
+
+ * include/freetype/internal/ftobjs.h (FT_DEBUG_HOOK_TYPE1): Removed.
+ (FT_DEBUG_HOOK_UNPATENTED_HINTING): New macro. Use this with
+ `FT_Set_Debug_Hook' to get the same effect as the removed
+ TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING.
+
+ * src/truetype/ttobjs.c (tt_face_init): Use
+ `FT_DEBUG_HOOK_UNPATENTED_HINTING'.
+
+2003-08-06 Werner Lemberg <[email protected]>
+
+ * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
+ (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix
+ previous change.
+
+2003-08-05 Werner Lemberg <[email protected]>
+
+ * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
+ (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
+ font matrix to advance width also.
+ * docs/CHANGES: Updated.
+
+2003-07-26 Werner Lemberg <[email protected]>
+
+ * builds/unix/configure.ac (version_info): Set to 9:4:3.
+ * 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'.
+
+2003-07-25 Werner Lemberg <[email protected]>
+
+ Make API reference valid HTML 4.01 transitional.
+
+ * src/tools/docmaker/tohtml.py (html_header_1): Add doctype
+ and charset.
+ (html_header_2): Fix style elements and add some more.
+ Fix syntax.
+ (block_header, block_footer, description_header, description_footer,
+ marker_header, marker_footer, source_header, source_footer,
+ chapter_header): Don't use <center>...</center> but `align=center'
+ table attribute.
+ (chapter_inter, chapter_footer): Add <li> and use special <ul>
+ class.
+ Use double quotes around table widths given in percent.
+ (keyword_prefix, keyword_suffix): Don't change font colour directly
+ but use a new <span> class.
+ (section_synopsis_header, section_synopsis_footer): Don't change
+ colour.
+ (code_header, code_footer): Don't change font colour directly but
+ use a special <pre> class.
+ (print_html_field): <tr> gets the `valign' attribute, not <table>.
+ (print_html_field_list): Ditto.
+ (index_exit): Don't use <center>...</center> but `align=center'
+ table attribute.
+ (section_enter): Ditto.
+ (toc_exit): Don't emit </table>.
+ (block_enter): Use <h4><a>, not <a><h4>.
+ (__init__): Fix tag order in self.html_footer.
+
+2003-07-25 David Turner <[email protected]>
+
+ This change reimplements fix from 2003-05-30 without breaking
+ binary compatibility.
+
+ * include/freetype/t1tables.h (PS_FontInfoRec): `italic_angle',
+ `is_fixed_pitch', `underline_position', `underline_thickness' are
+ reverted to be normal values.
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Remove
+ `T1_FIELD_TYPE_BOOL_P', `T1_FIELD_TYPE_INTEGER_P',
+ `T1_FIELD_TYPE_FIXED_P', `T1_FIELD_TYPE_FIXED_1000_P'.
+ (T1_FIELD_TYPE_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P,
+ T1_FIELD_FIXED_1000_P): Removed.
+ (T1_FIELD_TYPE_BOOL): Renamed to...
+ (T1_FIELD_BOOL): New macro. Updated all callers.
+
+ * src/type42/t42parse.c: `italic_angle', `is_fixed_pitch',
+ `underline_position', `underline_thickness', `paint_type',
+ `stroke_width' are reverted to be normal values.
+ (T42_KEYWORD_COUNT): New macro.
+ (t42_parse_dict): New array `keyword_flags' to mark that a value has
+ already been assigned to a dictionary entry.
+ * src/type42/t42objs.c (T42_Face_Init, T42_Face_Done): Updated.
+
+ * src/cid/cidtoken.h: `italic_angle', `is_fixed_pitch',
+ `underline_position', `underline_thickness' are reverted to be
+ normal values.
+ * src/cid/cidobjs.c (cid_face_done, cid_face_init): Updated.
+
+ * src/psaux/psobjs.c (ps_parser_load_field): Updated.
+
+ * src/type1/t1tokens.h: `italic_angle', `is_fixed_pitch',
+ `underline_position', `underline_thickness', `paint_type',
+ `stroke_width' are reverted to be normal values.
+ * src/type1/t1objs.c (T1_Face_Done, T1_Face_Init): Updated.
+ * src/type1/t1load.c (T1_FIELD_COUNT): New macro.
+ (parse_dict): Add parameter for keyword flags.
+ Record only first instance of a field.
+ (T1_Open_Face): New array `keyword_flags'.
+
+2003-07-24 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+ * builds/unix/configure.ac (version_info): Set to 10:0:3.
+ * builds/unix/configure: Updated.
+ * builds/freetype.mk (refdoc): Fix --title.
+
+ * docs/CHANGES, docs/VERSION.DLL, README: Updated.
+
+ * src/tools/docmaker/sources.py (re_crossref): Fix regular
+ expression to handle trailing punctuation characters.
+ * src/tools/docmaker/tohtml.py (make_html_word): Updated.
+
+ * docs/release: New file.
+
+2003-07-23 YAMANO-UCHI Hidetoshi <[email protected]>
+
+ * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New
+ member function `to_bytes'.
+
+ * src/psaux/psauxmod.c (ps_parser_funcs): New member
+ `ps_parser_to_bytes'.
+ (psaux_module_class): Increase version to 0x20000L.
+
+ * src/psaux/psobjs.c (IS_T1_LINESPACE): Add \f.
+ (IS_T1_NULLSPACE): New macro.
+ (IS_T1_SPACE): Add it.
+ (skip_spaces, skip_alpha): New functions.
+ (ps_parser_skip_spaces, ps_parser_skip_alpha): Use them.
+ (ps_tobytes, ps_parser_to_bytes): New functions.
+
+2003-07-07 Werner Lemberg <[email protected]>
+
+ * builds/freetype.mk (DOC_DIR): New variable.
+ (refdoc): Use *_DIR variables.
+ (distclean): Remove documentation files.
+
+ * builds/detect.mk (std_setup, dos_setup): Mention `make refdoc'.
+
+ * configure: Set DOC_DIR variable.
+
+2003-07-07 Patrik Hägglund <[email protected]>
+
+ * builds/freetype.mk (refdoc): New target to build the
+ documentation.
+ (.PHONY): Updated.
+
+ * include/freetype/freetype.h: Improve documentation of FT_CharMap.
+ * include/freetype/ftimage,h: Fix documentation of FT_OUTLINE_FLAGS.
+ * include/freetype/tttables.h: Document FT_Sfnt_Tag.
+
+2003-07-06 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfread.c
+ (pcf_load_font): Fix computation of height if PIXEL_SIZE property is
+ missing.
+
+2003-07-01 Werner Lemberg <[email protected]>
+
+ * src/cache/ftcsbits.c (ftc_sbit_node_compare): Only add `size' if
+ there is no error. Reported by Knut St. Osmundsen
+
+2003-06-30 Werner Lemberg <[email protected]>
+
+ A new try to synchronize bitmap font access.
+
+ * include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
+ defined to return the baseline-to-baseline distance. This was
+ already the value returned by the BDF and PCF drivers.
+
+ The `width' field now gives the average width. I wasn't able to
+ find something better. It should be taken as informative only.
+
+ New fields `size', `x_ppem', and `y_ppem'.
+
+ * src/pcf/pcfread.c (pcf_load_font): Updated to properly fill
+ FT_Bitmap_Size.
+ Do proper rounding and conversion from 72.27 to 72 points.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill
+ FT_Bitmap_Size.
+ Do proper rounding and conversion from 72.27 to 72 points.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill
+ FT_Bitmap_Size.
+
+ * src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill
+ FT_Bitmap_Size.
+
+2003-06-29 Werner Lemberg <[email protected]>
+
+ Redesigning the FNT driver to return multiple faces, not multiple
+ strikes. At least one font (app850.fon from WinME) contains
+ different FNT charmaps for its subfonts. Consequently, the previous
+ design of having multiple bitmap strikes in a single font face fails
+ since we have only one charmap per face.
+
+ * include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed.
+ (FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with
+ `font'.
+
+ * src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated.
+
+ * src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal
+ to pixel_height.
+ (fnt_face_done_fonts): Removed.
+ (fnt_face_get_dll_fonts): Renamed to...
+ (fnt_face_get_dll_font): This. Add second function argument to
+ select face index.
+ Updated to load just one subfont.
+ (fnt_font_done, FNT_Face_Done): Updated.
+ (FNT_Face_Init): Handle `face_index'.
+ Updated.
+ (FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the
+ bitmap width is now ignored.
+ (FNT_Load_Glyph): Updated.
+ Fix glyph index computation.
+ (winfnt_driver_class): Updated.
+
+2003-06-25 Owen Taylor <[email protected]>
+
+ * src/sfnt/ttload.c (tt_face_load_hdmx): Don't assign
+ num_records until we actually decide to load the table,
+ otherwise, we'll segfault in tt_face_free_hdmx.
+
+2003-06-24 Werner Lemberg <[email protected]>
+
+ * src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero
+ glyph name pointer. Reported by Mikey Anbary <[email protected]>.
+
+2003-06-23 Werner Lemberg <[email protected]>
+
+ * src/tools/glnames.py: Updated to AGL 2.0.
+ * src/psnames/pstables.h: Regenerated.
+
+2003-06-22 Werner Lemberg <[email protected]>
+
+ * include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h,
+ src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c,
+ src/otlayout/otlgsub.c, src/pshinter/pshrec.c,
+ src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c:
+ Decorate constants with `U' and `L' if appropriate.
+
+ * include/freetype/ftmoderr.h: Updated to include recent module
+ additions.
+
+ * src/pshinter/pshnterr.h (FT_ERR_BASE): Define as
+ `FT_Mod_Err_PShinter'.
+ * src/type42/t42error.h (FT_ERR_BASE): Define as
+ `FT_Mod_Err_Type42'.
+
+ * src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed. Not used.
+
+ * include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64
+ and FT_INT64.
+
+2003-06-21 Werner Lemberg <[email protected]>
+
+ * src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in
+ computation of glyph_index.
+ (FNT_Size_Set_Pixels): To find a strike, first check pixel_height
+ only, then try to find a better hit by comparing pixel_width also.
+ Without this fix it isn't possible to access all strikes.
+ Also compute metrics.max_advance to be in sync with other bitmap
+ drivers.
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
+ (FT_Set_Pixel_Size): Assign value to `metrics' after validation of
+ arguments.
+
+2003-06-20 Werner Lemberg <[email protected]>
+
+ Synchronize computation of height and width for bitmap strikes. The
+ `width' field in the FT_Bitmap_Size structure is now only useful to
+ enumerate different strikes. The `max_advance' field of the
+ FT_Size_Metrics structure should be used to get the (maximum) width
+ of a strike.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for
+ computing `available_sizes->width' but make it always equal to
+ `available_sizes->height'.
+
+ * src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for
+ computing `available_sizes->width' but make it always equal to
+ `available_sizes->height'.
+
+ * src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single
+ argument to function.
+
+ * src/psnames/psmodule.c (ps_unicode_value): Handle `.' after
+ `uniXXXX' and `uXXXX[X[X]]'.
+
+2003-06-19 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/.
+ * src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c:
+ s/FT_Err_/FTC_Err_/.
+ * src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/.
+ * src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/.
+ * src/psaux/t1cmap.c: Include psauxerr.h.
+ s/FT_Err_/PSaux_Err_/.
+ * src/pshinter/pshnterr.h: New file.
+ * src/pshinter/rules.mk: Updated.
+ * src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h.
+ s/FT_Err_/PSH_Err_/.
+ * src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c:
+ s/FT_Err_/PFR_Err_/.
+ * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
+ src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/.
+ * src/truetype/ttgload.c: s/FT_Err_/TT_Err_/.
+ * src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define
+ FT_ERR_PREFIX and FT_ERR_BASE.
+ s/FT_Err_/Gzip_Err_/.
+
+2003-06-19 Dirck Blaskey <[email protected]>
+
+ * src/cff/cffload (cff_encoding_load): `nleft' must be FT_UInt,
+ otherwise adding 1 might wrap the result.
+
+2003-06-18 Werner Lemberg <[email protected]>
+
+ * src/psnames/psmodule.c (ps_unicode_value): Add support to
+ recognize `uXXXX[X[X]]' glyph names.
+ Don't handle glyph names starting with `uni' which have more than
+ four digits.
+
+2003-06-16 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h (FT_Open_Flags): Replaced with
+ #defines for the constants.
+ (FT_Open_Args): Change type of `flags' to FT_UInt.
+ (FT_GlyphSlot): Move `flags' to FT_Slot_Internal.
+
+ * include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag):
+ Replaced with #defines for the constants.
+
+ * include/freetype/internal/ftobjs.h (FT_Slot_Internal): New
+ field `flags' (from FT_GlyphSlot).
+ Updated all affected source files.
+ (FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h).
+
+ * include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved
+ to ftobjs.h.
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy
+ FT_GlyphSlot_Internal object.
+
+2003-06-15 Werner Lemberg <[email protected]>
+
+ * builds/compiler/gcc.mk, builds/compiler/gcc-dev.mk (CFLAGS):
+ Add -fno-strict-aliasing to get rid of zillion warnings from gcc
+ version 3.3.
+
+2003-06-14 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftglyph.h (ft_glyph_bbox_unscaled,
+ ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit,
+ ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with
+ FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS,
+ FT_GLYPH_BBIX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
+ The lowercase variants are now (deprecated aliases) to the uppercase
+ versions.
+ Updated all other files.
+
+ * include/freetype/ftmodule.h (ft_module_font_driver,
+ ft_module_renderer, ft_module_hinter, ft_module_styler,
+ ft_module_driver_scalable, ft_module_driver_no_outlines,
+ ft_module_driver_has_hinter): Replaced with FT_MODULE_FONT_DRIVER,
+ FT_MODULE_RENDERER, FT_MODULE_HINTER, FT_MODULE_STYLER,
+ FT_MODULE_DRIVER_SCALABLE, FT_MODULE_DRIVER_NO_OUTLINES,
+ FT_MODULE_DRIVER_HAS_HINTER.
+ The lowercase variants are now (deprecated aliases) to the uppercase
+ versions.
+ Updated all other files.
+
+ * src/base/ftglyph.c (FT_Glyph_Get_CBox): Handle bbox_mode better
+ as enumeration.
+
+ * src/pcf/pcfdrivr.c (pcf_driver_class), src/winfonts/winfnt.c
+ (winfnt_driver_class), src/bdf/bdfdrivr.c (bdf_driver_class): Add
+ the FT_MODULE_DRIVER_NO_OUTLINES flag.
+
+2003-06-13 Detlef Würkner <[email protected]>
+
+ * src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix.
+
+2003-06-13 Werner Lemberg <[email protected]>
+
+ * builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also.
+
+ * builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for
+ EMX gcc compiler.
+ * builds/dos/detect.mk: Add target `emx'.
+
+ * builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't
+ like a trailing semicolon; add a dummy command.
+
+ * src/cid/cidload.c: Remove parse_font_bbox code (already enclosed
+ with #if 0 ... #endif).
+
+ * src/type1/t1tokens.h: Handle /FontName.
+ * src/type1/t1load.c (parse_font_name): Removed.
+ Remove parse_font_bbox code (already enclosed with #if 0 ...
+ #endif).
+
+ * src/type42/t42parse.c (t42_parse_font_name): Removed.
+ Remove t42_parse_font_bbox code (already enclosed with #if 0 ...
+ #endif).
+ (t42_keywords): Handle /FontName with T1_FIELD_KEY.
+
+2003-06-12 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Add
+ T1_FIELD_TYPE_KEY.
+ (T1_FIELD_KEY): New macro.
+ * src/psaux/psobjs.c (ps_parser_load_field): Handle
+ T1_FIELD_TYPE_KEY.
+
+ * src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName.
+
+2003-06-11 Alexander Malmberg <[email protected]>
+
+ * src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease
+ number of nodes.
+ (FT_LruList_Lookup): Fix assertion for out-of-memory case.
+
+2003-06-11 Werner Lemberg <[email protected]>
+
+ * src/cid/cidload.c (cid_decrypt): Removed.
+ (cid_read_subrs): Use t1_decrypt from psaux module.
+ * src/cid/cidload.h: Updated.
+ * src/cid/cidgload.c (cid_load_glyph): Use t1_decrypt from psaux
+ module.
+
+2003-06-10 Werner Lemberg <[email protected]>
+
+ * src/cid/cidobjs.c: Apply change 2003-05-31 from <[email protected]>.
+ Compute style flags.
+ Fix computation of root->height.
+ * src/cid/cidtoken.h: Handle FontBBox.
+ * src/cid/cidload.c (cid_load_keyword): Handle
+ T1_FIELD_LOCATION_BBOX.
+ (parse_font_bbox): Commented out.
+ (cid_field_record): Comment out element for parsing FontBBox.
+
+ * src/type42/t42parse.c (t42_parse_font_bbox): Commented out.
+ (t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with
+ T1_FIELD_CALLBACK.
+ (t42_parse_font_bbox): Commented out.
+ (t42_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
+ * src/type42/t42objs.c (T42_Face_Init): Apply change 2003-05-31
+
+2003-06-09 George Williams <[email protected]>
+
+ * src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's
+ TrueType specification.
+ (Ins_MDRP, Ins_MIRP): Fix single width cut-in test.
+
+2003-06-09 Detlef Würkner <[email protected]>
+
+ * src/gzip/ftgzip.c: (inflate_mask): Replaced with...
+ (NO_INFLATE_MASK): This.
+ * src/gzip/infutil.h: Declare `inflate_mask' conditionally by
+ NO_INFLATE_MASK.
+
+2003-06-09 Alexis S. L. Carvalho <[email protected]>
+
+ * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END
+ correctly.
+
+2003-06-09 Wolfgang Domröse <[email protected]>
+
+ * src/pshinter/pshglob.c (psh_globals_new): Change calculation of
+ dim->stdw.count to avoid compiler problem.
+
+ * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block
+ variables to the beginning of the function to avoid compiler
+ problems.
+ Add casts necessary for 16bit compilers.
+
+2003-06-09 Werner Lemberg <[email protected]>
+
+ * src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c.
+ (PFR_DRV_H): Add pfrtypes.h.
+
+ * include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/.
+
+2003-06-08 Karl Schultz <[email protected]>
+
+ * src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third
+ argument to FT_Bool.
+ (pfr_lookup_bitmap_data): Change type of third and fourth argument
+ to FT_UInt. Updated caller.
+ (pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
+
+2003-06-08 Werner Lemberg <[email protected]>
+
+ Completely revised FreeType's make management.
+
+ . In all makefiles `/' is used as the path separator. The
+ conversion to the real path separators is done as late as
+ possible using $(subst ...).
+
+ . $(HOSTSEP) no longer exists. Now, $(SEP) gives the path separator
+ for the operating system, and the new $(COMPILER_SEP) the path
+ separator for the compiler tools.
+
+ . $(BUILD) has been renamed to $(BUILD_DIR). In general, all
+ directory variables end with `_DIR'. The variants ending in `_'
+ (like `BASE_' have been removed).
+
+ The following ChangeLog entries only describe changes which are
+ not related to the redesign.
+
+ * builds/beos/beos-def.mk (BUILD_DIR): Fix typo.
+ * builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid
+ overlong arguments as suggested by J. Ali Harlow
+ * builds/dos/dos-wat.mk: New file.
+ * builds/freetype.mk (FREETYPE_H): Include header files from the
+ `devel' subdirectory.
+
+ * builds/os2/os2-dev.mk, builds/unix/unixddef.mk,
+ builds/unix/unixddef.mk, builds/win32/w32-bccd.mk,
+ builds/win32/w32-dev.mk (BUILD_DIR): Fix path.
+
+ * builds/unix/configure.ac, builds/unix/configure: Updated.
+ * builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'.
+
+2003-06-07 Werner Lemberg <[email protected]>
+
+ * src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to
+ make it compile.
+
+ * devel/ftoption.h: Updated.
+
+2003-06-07 Detlef Würkner <[email protected]>
+
+ * include/freetype/internal/psaux.h, src/truetype/ttgload.h:
+ s/index/idx/ to fix compiler warnings.
+
+ * src/sfnt/ttcmap0.c (tt_face_build_cmaps): Use more `volatile' to
+ fix compiler warning.
+
+ * src/gzip/ftgzip.c (BUILDFIXED): Removed.
+ * src/gzip/inftrees.c (inflate_trees_fixed) [!BUILDFIXED]: Use
+ FT_UNUSED to remove compiler warning.
+
+2003-06-06 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftstroker.h: Renamed to...
+ * include/freetype/ftstroke.h: This.
+
+ * src/base/ftstroker.c: Renamed to...
+ * src/base/ftstroke.c: This.
+
+ * include/freetype/config/ftheader.h (FT_STROKER_H): Updated.
+
+ * src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
+ Updated.
+
+ * src/pcf/pcfdriver.c: Renamed to...
+ * src/pcf/pcfdrivr.c: This.
+ * src/pcf/pcfdriver.h: Renamed to...
+ * src/pcf/pcfdrivr.h: This.
+
+ * src/pcf/Jamfile, src/pcf/rules.mk: Updated.
+
+2003-06-05 Wenlin Institute (Tom Bishop) <[email protected]>
+
+ * src/base/ftmac.c (file_spec_from_path) [TARGET_API_MAC_CARBON]:
+ Add `#if !defined(__MWERKS__)'.
+
+2003-06-05 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Add
+ T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
+ (T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros.
+ * src/psaux/psobjs.c (ps_parser_load_field): Handle
+ T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
+
+ * src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration.
+ (CFF_FIELD_FIXED_1000): New macro.
+ (cff_parser_run): Handle cff_kind_fixed_thousand.
+ * src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale.
+ * src/cff/cffload (cff_subfont_load): Fix default values of
+ expansion_factor and blue_scale.
+
+ * src/cif/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
+ for blue_scale.
+
+ * src/pshinter/pshglob.c (psh_globals_new): Fix default value of
+ blue_scale.
+
+2003-06-04 Wolfgang Domröse <[email protected]>
+
+ * include/freetype/internal/ftdriver.h,
+ include/freetype/internal/ftobjs.h,
+ include/freetype/internal/psaux.h, src/cid/cidgload.c,
+ src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
+ src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
+ src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
+ src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
+ src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
+ src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
+ src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
+ Many casts and slight argument type changes to make it work with
+ a 16bit compiler.
+
+2003-06-04 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftoption.h: Defining
+ TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING by default is a bad idea
+ since some fonts (e.g. Arial) produce worse results than without
+ hinting. Reverted.
+
+2003-06-04 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call
+ FT_GlyphLoader_CheckPoints before adding phantom points. This fixes
+ a segfault bug with fonts (e.g. htst3.ttf) which have nested
+ subglyphs more than one level deep. Reported by Anthony Fok.
+
+ * include/freetype/config/ftoption.h: Define
+ TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
+ TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and
+ TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new
+ default.
+
+2003-06-03 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_hint_edges): Removed. Just a
+ wrapper for ah_hint_edges.
+ (ah_hint_edges): Renamed to...
+ (ah_hinter_hint_edges): This.
+
+ * src/base/ftobjs.c (FT_Set_Hint_Flags): Removed. Unused.
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec),
+ include/freetype/internal/psaux.h (T1_DecoderRec),
+ src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field.
+ Unused.
+
+ * src/cff/cffgload.c (cff_builder_init): Updated.
+ (cff_decoder_parse_charstrings) <cff_op_endchar>: Call hinter->apply
+ with decoder->hint_mode instead of builder->hint_flags.
+ * src/psaux/t1decode.c (t1_decoder_init): Updated.
+
+ * src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which
+ increased root->height by 15% if the line gap was zero. There exist
+ fonts (containing e.g. form drawing characters) which intentionally
+ have a zero line gap value.
+
+ * src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj):
+ Removed. Unused.
+ Updated all callers.
+
+2003-06-02 Werner Lemberg <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init): Use symbolic names for
+ Adobe specific encoding IDs (there was a wrong EID value for custom
+ encoding).
+
+ * src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'.
+ * src/cff/cffcmap.c (cff_cmap_encoding_init,
+ cff_cmap_encoding_done): Updated.
+ (cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use
+ 256 as limit for character code.
+
+2003-06-01 Werner Lemberg <[email protected]>
+
+ * src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from
+ 2003-03-20.
+
+2003-05-31 Werner Lemberg <[email protected]>
+
+ * include/freetype/fttrigon.h (FT_Vector_Normalize): Removed.
+
+2003-05-31 <[email protected]>
+
+ * src/type1/t1objs.c (T1_Face_Init): Improve algorithm for guessing
+ the font style by ignoring spaces and hyphens.
+
+ * builds/unix/freetype2.in: Fix `Version' field.
+
+2003-05-30 Werner Lemberg <[email protected]>
+
+ Avoid overwriting of numeric font dictionary entries for synthetic
+ fonts. Additionally, some entries were handled as `integer' instead
+ of `number'.
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Add
+ T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and
+ T1_FIELD_TYPE_FIXED_P.
+ (T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros.
+ * src/psaux/psobjs.c (ps_parser_load_field): Handle new field types.
+
+ * include/freetype/internal/cfftypes.h (CFF_FontRecDict),
+ src/cff/cfftoken.h: Change type of underline_position and
+ underline_thickness to FT_Fixed.
+ * src/cff/cffload.c (cff_subfont_load): Fix default values of
+ underline_position and underline_thickness.
+ * src/cff/cffobjs.c (cff_face_init): Set underline_position
+ and underline_thickness in `root'.
+
+ * include/freetype/internal/t1types.h (T1_Font): Change point_type
+ and stroke_width to pointers.
+ * include/freetype/t1tables.h (PS_FontInfo): Change italic_angle,
+ is_fixed_pitch, underline_position, and underline_thickness to
+ pointers.
+ * src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch,
+ underline_position, and underline_thickness to pointers. Change
+ the type of the latter two to `fixed'.
+ Change type of stroke_width to `fixed' and make it a pointer.
+ Change paint_type to pointer.
+ * src/type1/t1objs.c (T1_Face_Done): Updated.
+ (T1_Face_Init): Updated.
+ Fix assignment of underline_position and underline_thickness.
+
+ * src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch,
+ underline_position, and underline_thickness to pointers. Change
+ the type of the latter two to `fixed'.
+ Change type of stroke_width to `fixed'.
+ * src/cid/cidobjs.c (cid_face_done): Updated.
+ (cid_face_init): Updated.
+ Fix assignment of underline_position and underline_thickness.
+
+ * src/type42/t42parse.c: Change italic_angle, is_fixed_pitch,
+ underline_position, and underline_thickness to pointers. Change the
+ type of the latter two to `fixed'.
+ Change type of stroke_width to `fixed' and make it a pointer.
+ Change paint_type to pointer.
+ * src/type42/t42objs.c (T42_Face_Init): Updated.
+ Fix assignment of underline_position and underline_thickness.
+ (T42_Face_Done): Updated.
+
+ * src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning.
+ * src/pshinter/pshglob.c, src/pshinter/pshglob.h
+ (psh_globals_set_scale): Make it a local function.
+
+ * test/gview.c: Fix renaming ps3->ps typo.
+ Formatting.
+
+2003-05-29 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed.
+ * src/pshinter/pshalgo.h: Removed.
+
+ * src/pshinter/pshalgo3.[ch]: Renamed to...
+ * src/pshinter/pshalgo.[ch]: New files.
+ s/PSH3/PSH/.
+ s/psh3/psh/.
+ s/ps3/ps/.
+
+ * src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated.
+ * src/pshinter/rules.mk, src/pshinter/Jamfile: Updated.
+
+ * src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented
+ out.
+
+ * tests/gview.c: Remove code for pshalgo1 and pshalgo2.
+ Updated.
+
+2003-05-28 Martin Zinser <[email protected]>
+
+ * vms_make.com: Reworked support for shareable images on VMS. The
+ first version was kind of a hack; the current implementation of the
+ procedure to extract the required symbols is much cleaner.
+
+ Reworked creation of MMS files, avoiding a number of temporary files
+ which were created in the previous version.
+
+ Further work on creating descrip.mms files on the fly.
+
+ * builds/vms/descrip.mms, src/autohint/descrip.mms,
+ src/type1/descrip.mms: Removed.
+
+2003-05-28 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip
+ contours with only a single point to avoid segfault.
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Activate code for
+ handling `origin'.
+
+2003-05-24 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION):
+ Removed since unused.
+
+2003-05-21 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro
+ for strcat.
+
+ * src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/.
+ (parse_font): s/memcpy/ft_memcpy/.
+ (is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/.
+ * src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]:
+ s/strlen/ft_strlen/.
+ s/strcat/ft_strcat/.
+ s/strcpy/ft_strcpy/.
+ * src/gzip/zutil.h: s/memset/ft_memset/.
+ s/memcmp/ft_memcmp/.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
+ (PCF_Face_Init): Test for charset registry case-insensitively.
+
+ * src/gzip/ftgzip.c (ft_gzip_fil_io): Revert change from yesterday;
+ it has already been fixed differently.
+
+ * src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
+ if-clause.
+
+2003-05-21 Martin Zinser <[email protected]>
+
+ * t1load.c (parse_blend_axis_types): Fix compiler warning.
+
+ * descrip.mms: Removed. Now created by...
+
+ * vms_make.com: New file.
+
+2003-05-21 Weiqi Gao <[email protected]>
+
+ * src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta'
+ to prevent infinite loop.
+
+2003-05-21 Lars Clausen <[email protected]>
+
+ * docs/VERSION.DLL: Provide better autoconf snippet to check
+ FreeType version.
+
+2003-05-21 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (open_face): Free `internal' not
+ `face->internal' in case of error to avoid possible segfault.
+
+ * src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we
+ actually have an outline.
+
+2003-05-20 David Chester <[email protected]>
+
+ * src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
+ y_scale so that the top of non-capital letters is aligned on a pixel
+ boundary whenever possible.
+
+ * src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase
+ m's maintain their symmetry.
+
+2003-05-20 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph): Oops! David's
+ patch from yesterday has been resolved already in a different
+ way. Reverted.
+
+2003-05-19 David Chester <[email protected]>
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph): Don't scale
+ y_scale locally but face->size->metrics.y_scale.
+
+2003-05-19 David Turner <[email protected]>
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Select proper start
+ value for `hi' to avoid infinite loop.
+
+2003-05-18 Yong Sun <[email protected]>
+
+ * src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test.
+
+2003-05-18 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]:
+ New macro.
+ * src/base/ftobjs.c: Use it to control mac font support on non-mac
+ platforms.
+
+2003-05-17 George Williams <[email protected]>
+
+ Implement partial support of Mac fonts on non-Mac platforms.
+
+ * src/base/ftobjs.c (memory_stream_close, new_memory_stream,
+ open_face_from_buffer, Mac_Read_POST_Resource,
+ Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face)
+ [!FT_MACINTOSH]: New functions.
+ (FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face.
+
+2003-05-17 Werner Lemberg <[email protected]>
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only
+ if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by
+ zero since FNT and friends don't define `face->units_per_EM').
+
+2003-05-15 David Turner <[email protected]>
+
+ * src/base/fttrigon.c (FT_Vector_Rotate): Avoid rounding errors
+ for small values.
+
+2003-05-15 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahtypes.h (AH_PointRec): Remove unused `in_angle'
+ and `out_angle' fields.
+
+2003-05-14 George Williams <[email protected]>
+
+ * src/base/ftmac.c (FT_New_Face_From_SFNT): Handle CFF files also.
+
+2003-05-14 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h: Fix typo in comment
+ (FT_HAS_FIXED_SIZES).
+
+2003-05-10 Dan Williams <[email protected]>
+
+ * builds/unix/aclocal.m4: Comment out definition of
+ `allow_undefined_flag' for Darwin 1.3.
+ * builds/unix/configure.ac: Add option --with-old-mac-fonts.
+ * builds/unix/ltmain.sh: Fix version numbering for Darwin 1.3.
+ * builds/unix/configure: Regenerated.
+
+ * include/freetype/config/ftconfig.h: Fix conditions for defining
+ `FT_MACINTOSH'.
+ * src/base/ftbase.c: Include `ftmac.c' conditionally.
+ * src/base/ftmac.c: Handle __GNUC__.
+
+2003-05-07 YAMANO-UCHI Hidetoshi <[email protected]>
+
+ * src/cid/cidload.c (is_alpha): Removed.
+ (cid_parse_dict): Use `cid_parser_skip_alpha' instead of `is_alpha'.
+
+2003-05-07 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed.
+
+2003-05-07 David Turner <[email protected]>
+
+ * src/autohint/ahglyph.c (ah_setup_uv): Exchange `for' loop and
+ `switch' statement to make it run faster.
+ (ah_outline_compute_segments): Reset `segment->score' and
+ `segment->link'.
+ (ah_outline_link_segments): Provide alternative code which does
+ the same but runs much faster.
+ Handle major direction also.
+ (ah_outline_compute_edges): Scale `edge_distance_threshold' down
+ after rounding instead of scaling comparison value in loop.
+
+ * src/autohint/ahhint.c (ah_hinter_align_stong_points): Provide
+ alternative code which runs faster.
+ Handle `before->scale == 0'.
+
+ * src/autohint/ahtypes.h (AH_SegmentRec): Move some fields down.
+ (AH_EdgeRec): Move some fields in structure.
+ New field `scale'.
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Use binary search.
+
+2003-05-02 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahoptim.c (LOG): Renamed to...
+ (AH_OPTIM_LOG): This.
+ (AH_Dump_Springs): Fix log message format.
+
+ * src/autohint/ahhint.c (ah_hint_edges_3): Renamed to...
+ (ah_hint_edges): This.
+
+2002-05-02 Keith Packard <[email protected]>
+
+ * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'.
+
+2003-05-01 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahglyph.c (ah_test_extrema): Renamed to...
+ (ah_test_extremum): This.
+
+2003-04-28 Werner Lemberg <[email protected]>
+
+ * builds/unix/configure.ac: Generate `freetype.pc' from
+ `freetype.in'.
+ * builds/unix/configure: Regenerated.
+ * builds/unix/install.mk (install, uninstall): Handle `freetype.pc'.
+
+2003-04-28 Gustavo J. A. M. Carneiro <[email protected]>
+
+ * builds/unix/freetype2.in: New file. Contains building information
+ for the `pkg-config' package.
+
+2003-04-28 David Turner <[email protected]>
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for
+ `glyph_index'.
+
+2003-04-25: Graham Asher <[email protected]>
+
+ Added the optional unpatented hinting system for TrueType. It
+ allows typefaces which need hinting to produce correct glyph forms
+ (e.g., Chinese typefaces from Dynalab) to work acceptably without
+ infringing Apple patents. This system is compiled only if
+ TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
+ ftoption.h.
+
+ * include/freetype/ttunpat.h: New file. Defines
+ FT_PARAM_TAG_UNPATENTED_HINTING.
+
+ * include/freetype/config/ftheader.h (FT_TRUETYPE_UNPATENTED_H): New
+ macro to use when including ttunpat.h.
+
+ * include/freetype/config/ftoption.h
+ (TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
+ TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): New configuration macros
+ (not defined, but in comments) for the unpatented hinting system.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec)
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: New element `FT_Bool
+ unpatented_hinting'.
+
+ * src/truetype/ttinterp.c (NO_APPLE_PATENT, APPLE_THRESHOLD):
+ Removed.
+ (GUESS_VECTOR): New macro.
+ (TT_Run_Context) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+ Set `both_x_axis'.
+ (tt_default_graphics_state)
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Updated.
+ (Current_Ratio) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+ Handle `unpatented_hinting'.
+ (Direct_Move) [NO_APPLE_PATENT]: Removed.
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
+ (Project, FreeProject)
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Insert assertion.
+ (Compute_Funcs) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+ Implement unpatented hinting.
+ (DO_SPVTCA, DO_SFVTCA, DO_SPVTL, DO_SFVTL, DO_SPVFS, DO_SFVFS,
+ Ins_SDPVTL): Call `GUESS_VECTOR'.
+ (DO_GPV, DO_GFV) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]:
+ Handle `unpatented_hinting'.
+ (Compute_Point_Displacement) [NO_APPLE_PATENT]: Removed.
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
+ hinting.
+ (Move_Zp2_Point, Ins_SHPIX, Ins_DELTAP, Ins_DELTAC)
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Implement unpatented
+ hinting.
+ (TT_RunIns): Updated.
+
+ * src/truetype/ttobjs.c
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Include
+ FT_TRUETYPE_UNPATENTED_H.
+ (tt_face_init) [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING,
+ TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING]: Check
+ FT_PARAM_TAG_UNPATENTED_HINTING.
+
+ * src/truetype/ttobjs.h (TT_GraphicsState)
+ [TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING]: Add `both_x_axis'.
+
+2003-04-25 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first
+ argument.
+ (bdf_get_font_property): Use `const' for third argument.
+ Updated all callers.
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height
+ similar to the PCF driver.
+ * src/bdf/bdf.h (_hashnode): Use `const' for `key'.
+ Updated.
+
+ * src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
+ is declared twice. It is perhaps better to modify the zlib source
+ files directly instead of this hack.
+ (zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
+ to make build with g++ successful.
+
+2003-04-24 Manish Singh <[email protected]>
+
+ * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
+ (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Split on `-'
+ also for searching the style name.
+
+2003-04-24 David Turner <[email protected]>
+
+ * src/pcf/pcfread.c (pcf_load_font): Fixed the computation of
+ face->num_glyphs. We must increase the value by 1 to respect the
+ convention that glyph index 0 always corresponds to the `missing
+ glyph'.
+
+2003-04-24 Werner Lemberg <[email protected]>
+
+ * builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@.
+
+2003-04-24 Dieter Baron <[email protected]>
+
+ * builds/unix/freetype-config.in (cflags): Emit FreeType 2's include
+ files first. Otherwise there are conflicts with FreeType 1
+ installed simultaneously.
+
+2003-04-23 Werner Lemberg <[email protected]>
+
+ Fixing bugs reported by Nelson Beebe.
+
+ * src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused
+ variable `in_path'.
+
+ * src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of
+ second argument to `FT_Byte*'.
+ * include/freetype/internal/ftobjs.h: Updated.
+
+ * src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'.
+ (_bdf_parse_glyphs): Remove unused variable `next'.
+ Mark `call_data' as unused.
+
+ * src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable
+ `plast'.
+
+ * src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to
+ actually use `error'.
+ (pcf_load_font): Remove unused variable `avgw'.
+
+ * src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type
+ to `void'.
+ Mark `error' as unused.
+ * src/pfr/pfrobjs.h: Updated.
+ * src/pfr/pfrdrivr.c (pfr_get_kerning): Updated.
+
+ * src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable
+ `format_tag'.
+
+ * src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove
+ unused variable `start'.
+ (tt_cmap10_char_next): Remove unused variable `result'
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused.
+
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as
+ unused.
+
+ * src/type1/t1objs.c (T1_Face_Init): Remove unused variable
+ `pshinter'.
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded'
+ only for FT_CONFIG_OPTION_INCREMENTAL.
+
+2003-04-23 Akito Hirai <[email protected]>
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_validate): Provide a weak variant
+ of the glyph ID bounding check if FT_VALIDATE_TIGHT is not active.
+ Without this change, many CJK fonts from Dynalab are rejected.
+
+2003-04-23 Joe Marcus Clarke <[email protected]>
+
+ * src/base/ftbdf.c (FT_Get_BDF_Property): Check for valid
+ `get_interface'.
+
+2003-04-23 Paul Miller <[email protected]>
+
+ * src/base/ftmac.c (parse_fond): Fix handling of style names.
+
+2003-04-23 Werner Lemberg <[email protected]>
+
+ * src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist
+ instead of FT_Uint for `len'.
+
+2003-04-22 Werner Lemberg <[email protected]>
+
+ * src/gzip/ftgzip.c (zcalloc) [!FT_CONFIG_OPTION_SYSTEM_ZLIB]:
+ Convert K&R format to modern C usage.
+ (FT_Stream_OpenGzip): Use long constant.
+
+2003-04-21 Werner Lemberg <[email protected]>
+
+ * src/cache/ftccache.c (ftc_cache_lookup): Remove shadow declaration
+ of `manager'.
+
+2003-04-20 Werner Lemberg <[email protected]>
+
+ * doc/INSTALL.UNX: Cleaned up.
+
+2003-04-09 Torrey Lyons <[email protected]>
+
+ * src/base/ftmac.c (open_face_from_buffer): Removed a double-free
+ bug that had nasty consequences when trying to open an `invalid'
+ font on a Mac.
+
+2003-04-09 Mike Fabian <[email protected]>
+
+ * src/bdf/bdfdrivr.h (BDF_encoding_el), src/pcf/pcf.h
+ (PCF_EncodingRec): Changed FT_Short to FT_UShort in order to be able
+ to access more than 32768 glyphs in fonts.
+
+2003-04-08 David Turner <[email protected]>
+
+
+ * Version 2.1.4 released.
+ =========================
+
+
+2003-04-03 Martin Muskens <[email protected]>
+
+ * src/type1/t1load.c (T1_Open_Face): Fixed the code to make it
+ handle special cases where a font only contains a `.notdef' glyph
+ (happens in PDF-embedded fonts). Otherwise, FT_Panic was called.
+
+2003-03-27 David Turner <[email protected]>
+
+ * README: Udpated.
+
+ * README.UNX: Removed (now replaced by docs/INSTALL.UNX).
+
+ * src/pshinter/pshalgo3.c: The hinter now performs as in 2.1.3 and
+ will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is
+ used.
+ (psh3_dimension_quantize_len): Enabled.
+ (psh3_hint_align): Enable commented code.
+ (psh3_hint_align_light): Commented out.
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Changed the default
+ computations to include rounding in all cases; this is required to
+ provide accurate kerning data when native TrueType hinting is
+ enabled.
+
+ * src/type1/t1load.c (is_name_char): The Type 1 loader now accepts
+ more general names according to the PostScript specification (the
+ previous one was too restrictive).
+ (parse_font_name, parse_encoding, parse_charstrings, parse_dict):
+ Use `is_name_char'.
+ (parse_subrs): Handle empty arrays.
+
+2003-03-20 David Turner <[email protected]>
+
+ Serious rewriting of the documentation.
+
+ * docs/BUGS, docs/BUILD: Removed.
+ * docs/DEBUG.TXT: Renamed to...
+ * docs/DEBUG: This.
+ * docs/CUSTOMIZE, docs/TRUETYPE, docs/UPGRADE.UNX: New files.
+ * docs/INSTALL.ANY, docs/INSTALL.UNX, docs/INSTALL.GNU New files,
+ containing platform specific information previously in INSTALL.
+ * docs/readme.vms: Renamed to...
+ * docs/INSTALL.VMS: This.
+
+ * docs/*: Updated.
+
+ Introduced three new functions to deal with glyph bitmaps within
+ FT_GlyphSlot objects:
+
+ ft_glyphslot_free_bitmap
+ ft_glyphslot_alloc_bitmap
+ ft_glyphslot_set_bitmap
+
+ These functions are much more convenient to use than managing the
+ FT_GLYPH_OWN_BITMAP flag manually.
+
+ * include/freetype/internal/ftobjs.h (ft_glyphslot_free_bitmap,
+ ft_glyphslot_alloc_bitmap, ft_glyphslot_set_bitmap): New functions.
+ * src/base/ftobjs.c: Implement them.
+ (ft_glyphslot_done): Use ft_glyphslot_free_bitmap.
+
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdriver.c
+ (PCF_Glyph_Load): Remove unused variable `memory'.
+ Use `ft_glyphslot_*' functions.
+ Don't set `FT_GLYPH_OWN_BITMAP'.
+
+ * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Use
+ `ft_glyphslot_alloc_bitmap'.
+
+ * src/sfnt/ttsbit.c (Load_SBit_Image): Change 5th argument to type
+ `FT_GlyphSlot'.
+ Adding argument `depth' to handle recursive calls.
+ Use `ft_glyphslot_alloc_bitmap'.
+ (tt_face_load_sbit_image): Remove unused variable `memory'.
+ Don't handle `FT_GLYPH_OWN_BITMAP'.
+ Update call to Load_SBit_Image.
+
+ * src/type42/t42objs.c (ft_glyphslot_clear): Renamed to...
+ (t42_glyphslot_clear): This. Updated caller.
+ Call `ft_glyphslot_free_bitmap'.
+
+ * src/winfonts/winfnt.c (FNT_Load_Glyph): Use
+ `ft_glyphslot_set_bitmap'.
+ Don't handle `FT_GLYPH_OWN_BITMAP'.
+
+ * src/cache/ftlru.c (FT_LruList_Lookup): Fixed an invalid assertion
+ check.
+
+ * src/autohint/ahglyph.c (ah_outline_load): Add two scaling
+ arguments.
+ * src/autohint/ahglyph.h: Updated.
+ * src/autohint/ahhint.c (ah_hinter_load): Updated.
+ * src/autohint/ahglobal.c (ah_hinter_compute_widths): Updated.
+
+ * src/cache/ftccache.c (ftc_family_done): Fixed small bug that could
+ crash the cache in rare circumstances (mostly with broken fonts).
+
+2003-03-15 David Turner <[email protected]>
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a small rounding
+ bug. Actually, it seems that previous versions of FreeType didn't
+ perform TrueType rounding exactly as appropriate.
+
+2003-03-14 David Turner <[email protected]>
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): Fixing the small
+ TrueType native rendering glitches; they came from a small rounding
+ error.
+
+2003-03-13 David Turner <[email protected]>
+
+ Added new environment variables to control memory debugging with
+ FreeType. See the description of `FT2_DEBUG_MEMORY',
+ `FT2_ALLOC_TOTAL_MAX' and `FT2_ALLOC_COUNT_MAX' in DEBUG.TXT.
+
+ * src/base/ftdbgmem.c (FT_MemTableRec): Add `alloc_count',
+ `bound_total', `alloc_total_max', `bound_count', `alloc_count_max'.
+ (ft_mem_debug_alloc): Handle new variables.
+ (ft_mem_debug_init): s/FT_DEBUG_MEMORY/FT2_DEBUG_MEMORY/.
+ Handle new environment variables.
+ * docs/DEBUG.TXT: Updated.
+
+ Fixed the cache sub-system to correctly deal with out-of-memory
+ conditions.
+
+ * src/cache/ftccache.c (ftc_node_destroy): Comment out generic
+ check.
+ (ftc_cache_lookup): Implement loop.
+ * src/cache/ftccmap.c: Define FT_COMPONENT.
+ * src/cache/ftcsbits.c (ftc_sbit_node_load): Handle
+ FT_Err_Out_Of_Memory.
+ * src/cache/ftlru.c: Include FT_INTERNAL_DEBUG_H.
+ (FT_LruList_Lookup): Implement loop.
+
+ * src/pfr/pfrobjs.c (pfr_face_done): Fix memory leak.
+ (pfr_face_init): Fixing compiler warnings.
+
+ * src/psaux/psobjs.c (reallocate_t1_table): Fixed a bug (memory
+ leak) that only happened when a try to resize an array would end in
+ an out-of-memory condition.
+
+ * src/smooth/ftgrays.c (gray_convert_glyph): Removed compiler
+ warnings / volatile bug.
+
+ * src/truetype/ttobjs.c (tt_glyphzone_done): Removed segmentation
+ fault that happened in tight memory environments.
+
+2003-02-28 Pixel <[email protected]>
+
+ * src/gzip/ftgzip.c (ft_gzip_file_done): Fixed memory leak: The ZLib
+ stream was not properly finalized.
+
+2003-02-25 Anthony Fok <[email protected]>
+
+ * src/cache/ftccmap.c: Include FT_TRUETYPE_IDS_H.
+ (ftc_cmap_family_init): The cmap cache now
+ supports UCS-4 charmaps when available in Asian fonts.
+
+ * src/sfnt/ttload.c, src/base/ftobjs.c: Changed `asian' to `Asian'
+ in comments.
+
+2003-02-25 David Turner <[email protected]>
+
+ * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Fixed a bug that
+ caused FreeType to loop endlessly when trying to read certain
+ compressed gzip files. The following test reveals the bug:
+
+ touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz
+
+ Several fixes to the PFR font driver:
+
+ - The list of available embedded bitmaps was not correctly set in
+ the root FT_FaceRec structure describing the face.
+
+ - The glyph loader always tried to load the outlines when
+ FT_LOAD_SBITS_ONLY was specified.
+
+ - The table loaded now scans for *undocumented* elements of a
+ physical font's auxiliary data record. This is necessary to
+ retrieve the `real' family and style names.
+
+ NOTE THAT THESE CHANGES THE FAMILY NAME OF MANY PFR FONTS!
+
+ * src/pfr/pfrload.c (pfr_aux_name_load): New function.
+ (pfr_phy_font_done): Free `family_name' and `style_name' also.
+ Remove unused variables.
+ (pfr_phy_font_load): Extract useful information from the auxiliary
+ bytes.
+
+ * src/pfr/pfrobjs.c (pfr_face_done): Set pointers to NULL.
+ (pfr_face_init): Provide fallback values for `family_name' and
+ `style_name'.
+ Handle strikes.
+ (pfr_slot_load): Handle FT_LOAD_SBITS_ONLY.
+ * src/pfr/pfrtypes.h (PFR_PhyFontRec): Add fields `ascent',
+ `descent', `leading', `family_name', and `style_name'.
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): Fixed a rounding bug
+ when computing the scale factors for a given character size in
+ points with resolution.
+
+ * devel/ft2build.h, devel/ftoption.h: New files (in a new directory)
+ which are special development versions of include/ft2build.h and
+ include/freetype/config/ftoption.h, respectively.
+
+2003-02-18 David Turner <[email protected]>
+
+ Fixing the slight distortion problem that occurred due to the latest
+ auto-hinter changes.
+
+ * src/base/ftobjs.c (ft_recompute_scaled_metrics): Fix rounding.
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): New variable `metrics2'.
+ [!TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Removed.
+
+ * src/truetype/ttobjs.h (TT_SizeRec): New field `metrics'.
+ * src/truetype/ttobjs.c (Reset_Outline_Size): Fix initialization of
+ `metrics'.
+ [FT_CONFIG_CHESTER_ASCENDER]: Code removed.
+ (Reset_SBit_Size): Fix initialization of `metrics'.
+
+ * src/truetype/ttinterp.c (TT_Load_Context): Fix initialization of
+ `exec->metrics'.
+
+ * src/autohint/ahhint.c (ah_hinter_load): Disabled the advance width
+ `correction' which seemed to provide more trouble than benefits.
+
+2003-02-13 Graham Asher <[email protected]>
+
+ Changed the incremental loading interface in a way that makes it
+ simpler and allows glyph metrics to be changed (e.g., by adding a
+ constant, as required by CFF fonts) rather than just overridden.
+ This was required to make the GhostScript-to-FreeType bridge work.
+
+ * src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Allow metrics to be overridden.
+ * src/cid/cidgload.c (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Ditto.
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Simplify.
+ (compute_glyph_metrics) [FT_CONFIG_OPTION_INCREMENTAL]: Code block
+ moved down.
+
+ * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+
+ * include/freetype/ftincrem.h: Updated.
+
+2003-01-31 David Turner <[email protected]>
+
+ * docs/CHANGES, docs/VERSION.DLL, docs/TODO: Updating documentation
+ for the 2.1.4 release.
+
+ * builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/index.html: Updating the project file for
+ 2.1.4.
+
+ * src/gzip/adler32.c, src/gzip/ftgzip.c, src/gzip/infblock.c,
+ src/gzip/infcodes.c, src/gzip/inflate.c, src/gzip/inftrees.c,
+ src/gzip/infutil.c: Removed old-style (K&R)function definitions.
+ This avoids warnings with Visual C++ at its most pedantic mode.
+
+ * src/pfr/pfrsbit.c: Removed compiler warnings.
+
+ * src/cache/ftccmap.c (ftc_cmap_family_init): Changed an FT_ERROR
+ into an FT_TRACE1 since it caused `ftview' and others to dump too
+ much junk when trying to display a waterfall with a font without a
+ Unicode charmap (e.g. SYMBOL.TTF).
+
+ Implemented FT_CONFIG_CHESTER_BLUE_SCALE, corresponding to the last
+ patch from David Chester, but with a much simpler (and saner)
+ implementation.
+
+ * src/autohint/ahhint.c (ah_hinter_load_glyph)
+ [FT_CONFIG_CHESTER_BLUE_SCALE]: Try to optimize the y_scale so that
+ the top of non-capital letters is aligned on a pixel boundary
+ whenever possible.
+
+ * src/base/ftobjs.c (FT_Set_Char_Size)
+ [FT_CONFIG_CHESTER_BLUE_SCALE]: Round differently.
+ * src/truetype/ttdriver.c (Set_Char_Sizes)
+ [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Do some rounding only
+ if this macro is defined.
+
+ * src/truetype/ttobjs.c (Reset_Outline_Size)
+ [FT_CONFIG_CHESTER_ASCENDER]: Round differently.
+
+ * src/pshinter/pshalgo3.c: Improved the Postscript hinter. Getting
+ rid of stem snapping seems to work well here (though the stems are
+ still slightly moved to increase contrast).
+ (psh3_dimension_quantize_len): Commented out.
+ (psh3_hint_align_light): New function.
+ (psh3_hint_align): Comment out some code.
+
+ THIS IMPROVES ANTI-ALIASED RENDERING, BUT MONOCHROME AND LCD MODES
+ STILL SUCK.
+
+2003-01-22 David Chester <[email protected]>
+
+ * src/autohint/ahhint.c (ah_compute_stem_width): Small fix to the
+ stem width optimization.
+
+2003-01-22 David Turner <[email protected]>
+
+ Adding a new API `FT_Get_BDF_Property' to retrieve the BDF
+ properties of a given PCF or BDF font.
+
+ * include/freetype/ftbdf.h (FT_PropertyType): New enumeration.
+ (BDF_Property, BDF_PropertyRec): New structure.
+ FT_Get_BDF_Property): New function.
+ * include/freetype/internal/bdftypes.h: Include FT_BDF_H.
+ (BDF_GetPropertyFunc): New function pointer.
+
+ * src/base/ftbdf.c (test_font_type): New helper function.
+ (FT_Get_BDF_Charset_ID): Use `test_font_type'.
+ (FT_Get_BDF_Property): New function.
+
+ * src/bdf/bdfdrivr.c: Include FT_BDF_H.
+ (bdf_get_bdf_property, bdf_driver_requester): New functions.
+ (bdf_driver_class): Use `bdf_driver_requester'.
+
+ * src/pcf/pcfdrivr.c: Include FT_BDF_H.
+ (pcf_get_bdf_property, pdc_driver_requester): New functions
+ (pcf_driver_class): Use `pcf_driver_requester'.
+
+ * src/pcf/pcfread.c: Include `pcfread.h'.
+ (pcf_find_property): Decorate it with FT_LOCAL_DEF.
+ * src/pcf/pcfread.h: New file, providing `pcf_find_property'.
+
+ * src/sfnt/ttload.c (sfnt_dir_check): Relaxed the `head' table size
+ verification to accept a few broken fonts who pad the size
+ incorrectly (the table should be padded, but its `size' field
+ shouldn't according to the specification).
+
+2003-01-18 Werner Lemberg <[email protected]>
+
+ * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
+ --copy' from libtool 1.4.3.
+ * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
+ automake 1.7.1.
+ * builds/unix/configure: Regenerated with autoconf 2.54.
+ * 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
+ `automake' CVS module at subversions.gnu.org.
+
+2003-01-15 David Turner <[email protected]>
+
+ * include/freetype/freetype.h: Fixed documentation for
+ FT_Size_Metrics.
+
+2003-01-15 James Su <[email protected]>
+
+ * src/gzip/ftgzip.c (ft_gzip_check_header): Bugfix: couldn't read
+ certain gzip-ed font files (typo: `&&' -> `&').
+
+2003-01-15 Huw D M Davies <[email protected]>
+
+ Added a Windows .FNT specific API (mostly for Wine). Also fixed a
+ nasty bug in the header loader which would cause invalid memory
+ overwrites.
+
+ * include/freetype/config/ftheader.h (FT_WINFONTS_H): New macro
+ for ftwinfnt.h.
+ * include/freetype/internal/fnttypes.h: Include FT_WINFONTS_H.
+ (FNT_FontRec): Updated.
+ Move Windows FNT definition to...
+ * include/freetype/ftwinfnt.h: This new file.
+ (FT_WinFNT_HeaderRec): Rename `reserved2' to `reserved1'.
+ * src/base/ftwinfnt.c: New file, providing `FT_Get_WinFNT_Header'.
+ * src/winfonts/winfnt.c (winfnt_header_fields): Updated.
+ Rename `reserved2' to `reserved1'.
+ (fnt_font_load): Updated.
+
+ * src/base/Jamfile, src/base/descrip.mms, src/base/rules.mk:
+ Updated.
+
+2003-01-14 Graham Asher <[email protected]>
+
+ * include/freetype/ftglyph.h, src/base/ftglyph.c: Added `const' to
+ the type of the first argument to FT_Matrix_Multiply, which isn't
+ changed -- this adds documentation and convenience.
+
+2003-01-13 Graham Asher <[email protected]>
+
+ * src/sfnt/ttload.c (tt_face_load_metrics)
+ [FT_CONFIG_OPTION_INCREMENTAL]: TrueType typefaces without
+ horizontal metrics (without the `hmtx' table) are now tolerated if
+ an incremental interface has been specified that has a
+ get_glyph_metrics function, implying that metrics will be supplied
+ from outside. This happens for certain Type 42 fonts passed from
+ GhostScript.
+
+2003-01-11 David Chester <[email protected]>
+
+ Patches to the auto-hinter in order to slightly improve the output.
+ Note that everything is controlled through the new
+ FT_CONFIG_OPTION_CHESTER_HINTS defined in `ftoption.h'. There are
+ also individual FT_CONFIG_CHESTER_XXX macros to control individual
+ `features'.
+
+ Note that all improvements are enabled by default, but can be
+ tweaked for optimization and testing purposes. The configuration
+ macros will most likely disappear in the short future.
+
+ * include/freetype/config/ftoption.h
+ (FT_CONFIG_OPTION_CHESTER_HINTS): New macro.
+ (FT_CONFIG_CHESTER_{SMALL_F,ASCENDER,SERIF,STEM,BLUE_SCALE})
+ [FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual
+ features.
+
+ * src/autohint/ahglobal.c (blue_chars) [FT_CONFIG_CHESTER_SMALL_F]:
+ Add blue zone for `fijkdbh'.
+ * src/autohint/ahglobal.h (AH_IS_TOP_BLUE)
+ [FT_CONFIG_CHESTER_SMALL_F]: Use `AH_BLUE_SMALL_F_TOP'.
+ * src/autohint/ahglyph.c (ah_outline_compute_edges)
+ [FT_CONFIG_CHESTER_SERIF]: Use `AH_EDGE_SERIF'.
+ (ah_outline_compute_blue_edges) [FT_CONFIG_CHESTER_SMALL_F]:
+ Increase threshold for `best_dist'.
+ * src/autohint/ahhint.c (ah_compute_stem_width)
+ [FT_CONFIG_CHESTER_SERIF]: Provide new version for improved serif
+ handling.
+ (ah_align_linked_edge) [FT_CONFIG_CHESTER_SERIF]: Use special
+ version of `ah_compute_stem_width'.
+ (ah_hint_edges_3) [FT_CONFIG_CHESTER_STEM]: A new algorithm for stem
+ alignment when stem widths are less than 1.5 pixels wide centers the
+ stem slightly off-center of the center of a pixel (this increases
+ sharpness and consistency).
+ [FT_CONFIG_CHESTER_SERIF]: Use special version of
+ `ah_compute_stem_width'.
+ * src/autohint/ahtypes.h [FT_CONFIG_CHESTER_SMALL_F]: Add
+ `AH_BLUE_SMALL_F_TOP'.
+
+2003-01-11 David Turner <[email protected]>
+
+ * include/freetype/internal/fnttypes.h (WinFNT_HeaderRec): Increase
+ size of `reserved2' to avoid memory overwrites.
+
+2003-01-08 Huw Davies <[email protected]>
+
+ * src/winfonts/winfnt.c (winfnt_header_fields): Read 16 bytes into
+ `reserved2', not `reserved'.
+
+ * src/base/ftobjs.c (find_unicode_charmap): Fixed the error code
+ returned when the font doesn't contain a Unicode charmap. This
+ allows FT2 to load `symbol.ttf' and a few others correctly since the
+ last release.
+ (open_face): Fix return value.
+
+2003-01-08 Owen Taylor <[email protected]>
+
+ Implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and
+ postscript hinters.
+
+ * src/autohint/ahtypes.h (AH_HinterRec): Add `do_stem_adjust'.
+ * src/autohint/ahhint.c (ah_compute_stem_width): Handle
+ hinter->do_stem_adjust.
+ (ah_hinter_load_glyph): Set hinter->do_stem_adjust.
+
+ * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add `do_stem_adjust'.
+ * src/pshinter/pshalgo3.c (psh3_hint_align): Use `do_stem_adjust'.
+ (ps3_hints_apply): Handle FT_RENDER_MODE_LIGHT.
+
+ * include/freetype/freetype.h (FT_Render_Mode): Add
+ FT_RENDER_MODE_LIGHT.
+
+ * src/truetype/ttgload.c: Fixing the TrueType loader to handle
+ invalid composites correctly by limiting the recursion depth.
+ (TT_MAX_COMPOSITE_RECURSE): New macro.
+ (load_truetype_glyph): Add argument `recurse_count'.
+ Load a composite only if the numbers of contours is -1, emit error
+ otherwise.
+ (TT_Load_Glyph): Updated.
+
+2003-01-08 David Turner <[email protected]>
+
+ * Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: Small changes to
+ support the compilation of FreeType 2 as part of larger projects
+ with their own configuration options (only with Jam).
+
+2003-01-07 David Turner <[email protected]>
+
+ * src/base/ftstroker.c: Probably the last bug-fixes to the stroker;
+ the API is likely to change, however.
+ (ft_stroke_border_close): Don't record empty paths.
+ (ft_stroke_border_get_counts): Increase `num_points' also in for loop.
+ (ft_stroke_border_export): Don't increase `write' twice in for loops.
+ (ft_stroker_outside): Handle `phi' together with `theta'.
+ (FT_Stroker_ParseOutline): New function.
+
+ * src/base/fttrigon.c (FT_Angle_Diff): Fixing function: It returned
+ invalid values for large negative angle differences (resulting in
+ incorrect stroker computations, among other things).
+
+ * src/cache/ftccache.c (ftc_node_hash_unlink): Removing incorrect
+ assertion, and changing code to avoid hash table size contraction.
+
+ * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: Adding
+ `ftstroker' to default build, as optional component.
+
+2002-12-26 David Turner <[email protected]>
+
+ * src/gzip/adler32.c, src/gzip/infblock.c, src/gzip/inflate.c,
+ src/gzip/inftrees.c, src/gzip/zconf.h, src/gzip/zlib.h,
+ src/gzip/zutil.h: Updates to allow compilation without compiler
+ warnings with LCC-Win32.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+ * builds/unix/configure.ac (version_info): Increased to 9:3:3.
+ * builds/unix/configure: Regenerated.
+ * docs/VERSION.DLL: Updated.
+
+2002-12-23 Anthony Fok <[email protected]>
+
+ * builds/unix/configure.ac, builds/unix/unix-cc.in (LINK_LIBRARY),
+ builds/unix/unix-def.in (SYSTEM_ZLIB): Small fix to configure
+ sub-system on Unix to allow other programs to correctly link with
+ zlib when needed.
+
+2002-12-19 David Turner <[email protected]>
+
+ * include/freetype/internal/sfnt.h (SFNT_Load_Table_Func): New
+ function pointer.
+
+ * include/freetype/tttables.h (FT_Load_Sfnt_Table): New function.
+ * src/base/ftobjs.c: Implement it.
+
+ * src/sfnt/sfdriver.c (sfnt_get_interface): Handle `load_sfnt'
+ module request.
+
+2002-12-17 David Turner <[email protected]>
+
+ * src/base/ftobjs.c (find_unicode_charmap): Added some comments to
+ better explain what's happening there.
+ (open_face): Included Graham Asher's fix to prevent faces without
+ Unicode charmaps from loading.
+
+ * src/winfonts/winfnt.c: Included George Williams's fix to support
+ version 2 fonts correctly.
+ (winfnt_header_fields): Updated.
+ (fnt_font_load): Handle version 2 fonts.
+ (FNT_Load_Glyph): Updated.
+
+2002-12-16 David Turner <[email protected]>
+
+ * docs/VERSION.DLL: Updating document to better explain the
+ differences between the three version numbers being used on Unix, as
+ well as providing an autoconf fragment provided by Lars Clausen.
+
+ * src/smooth/ftgrays.c (gray_render_conic): Fixed small bug that
+ prevented Bézier arcs with negative vertical coordinates to be
+ rendered appropriately.
+
+2002-12-02 Antoine Leca <[email protected]>
+
+ * src/base/ftobjs.c: Modified the logic to get Unicode charmaps.
+ Now it loads UCS-4 charmaps when there is one.
+ (find_unicode_charmap): New function.
+ (open_face): Refer to the above one.
+ (FT_Select_Charmap): Idem.
+
+2002-11-29 Antoine Leca <[email protected]>
+
+ * include/freetype/ftgzip.h: Correct the name of the controlling
+ macro (was __FTXF86_H__ ...).
+
+2002-11-27 Vincent Caron <[email protected]>
+
+ * builds/unix/unix-def.in, builds/unix/freetype-config.in,
+ builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c
+ [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Adding support for system zlib
+ installations if available on the target platform (Unix only).
+
+2002-11-23 David Turner <[email protected]>
+
+ * src/cff/cffload.c (cff_charset_load, cff_encoding_load): Modified
+ charset loader to accept pre-defined charsets, even when the font
+ contains fewer glyphs. Also enforced more checks to ensure that we
+ never overflow the character codes array in the encoding.
+
+2002-11-22 Antoine Leca <[email protected]>
+
+ * include/freetype/ttnameid.h: Updated to latest OpenType
+ specification.
+
+2002-11-18 David Turner <[email protected]>
+
+
+ * Version 2.1.3 released.
+ =========================
+
+
+2002-11-07 David Turner <[email protected]>
+
+ * src/cache/ftcsbit.c (ftc_sbit_node_load): Fixed a small bug that
+ caused problems with embedded bitmaps.
+
+ * src/otlayout/otlayout.h, src/otlyaout/otlconf.h,
+ src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
+ src/otlayout/otlparse.c, src/otlayout/otlparse.h,
+ src/otlayout/otlutils.h: Updating the OpenType Layout code, adding
+ support for the first GSUB lookups. Nothing that really compiles
+ for now though.
+
+ * src/autohint/ahhint.c (ah_align_serif_edge): Disabled serif stem
+ width quantization. It produces slightly better shapes though this
+ is not distinguishable with many fonts.
+ Remove other dead code.
+
+ * src/Jamfile, src/*/Jamfile: Simplified.
+ Use $(FT2_SRC_DIR).
+
+2002-11-06 David Turner <[email protected]>
+
+ * include/freetype/freetype.h (FT_LOAD_TARGET_LIGHT): New macro.
+ (FT_LOAD_TARGET, FT_LOAD_TARGET_MODE): Use `& 15' instead of `& 7'.
+
+2002-11-05 David Turner <[email protected]>
+
+ * include/freetype/config/ftoption.h, src/gzip/ftgzip.c: Added
+ support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify
+ the use of system-wide zlib.
+
+ Note that this macro, as well as
+ TT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore.
+ This allows the build system to define them depending on the
+ configuration (typically by adding -D flags at compile time).
+
+ * src/sfnt/ttcmap0.c (tt_face_build_cmaps): Removed compiler
+ warnings in optimized mode relative to the `volatile' local
+ variables. This was not a compiler bug after all, but the fact that
+ a pointer to a volatile variable is not the same as a volatile
+ pointer to a variable :-)
+
+ The fix was to change
+ `volatile FT_Byte* p'
+ into
+ `FT_Byte* volatile p'.
+
+ * src/pfr/pfrload.c (pfr_phy_font_load), src/pfr/pfrdrivr.c
+ (pfr_get_metrics), src/gzip/inftrees.c: Removed compiler warnings in
+ optimized modes.
+
+ * src/gzip/*.[hc]: Modified our zlib copy in order to prevent
+ exporting any zlib function names outside of the component. This
+ prevents linking problems on some platforms, when applications want
+ to link FreeType _and_ zlib together.
+
+2002-11-05 Juliusz <[email protected]>
+
+ * src/psaux/psobjs.c (ps_table_add): Modified increment loop in
+ order to implement exponential behaviour.
+
+2002-11-01 David Turner <[email protected]>
+
+ Added PFR-specific public API. Fixed the kerning retrievel routine
+ (it returned invalid values when the outline and metrics resolution
+ differ).
+
+ * include/freetype/ftpfr.h, include/freetype/internal/pfr.h: New
+ files.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H): New
+ macro for pfr.h.
+
+ * src/base/ftpfr.c: New file.
+ * src/base/Jamfile, src/base/descrip.mms: Updated.
+
+ * src/pfr/pfrdrivr.c: Include FT_INTERNAL_PFR_H.
+ (pfr_get_kerning, pfr_get_advance, pfr_get_metrics): New functions.
+ (pfr_service_rec): New format interface.
+ (pfr_driver_class): Use `pfr_service_rec'.
+ Replace `pfr_face_get_kerning' with `pfr_get_kerning'.
+ * src/pfr/pfrobjs.c: Remove dead code.
+
+ * src/base/ftobjs.c (ft_glyphslot_clear): Small internal fix to
+ better support bitmap-based font formats.
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix handling of
+ `scale'.
+ Fix arguments to `FT_Vector_From_Polar'.
+
+2002-10-31 David Turner <[email protected]>
+
+ Add support for automatic handling of gzip-compressed PCF files.
+
+ * src/gzip/*: New files, taken from the zlib package (except
+ ftgzip.c).
+
+ * include/freetype/ftgzip.h, src/gzip/ftgzip.c: New files.
+ * include/freetype/config/ftheader.h (FT_GZIP_H): New macro for
+ `ftgzip.h'.
+
+ * src/pcf/pcfdriver.c: Include FT_GZIP_H and FT_ERRORS_H.
+ (PCF_Face_Init): If normal open fails, try to open gzip stream.
+ (PCF_Face_Done): Close gzip stream.
+
+ * include/freetype/internal/pcftypes.h (PCF_Public_FaceRec),
+ src/pcf/pcf.h (PCF_FaceRec): Add `gzip_stream' and `gzip_source'.
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_ZLIB):
+ New macro.
+ (T1_CONFIG_OPTION_DISABLE_HINTER, FT_CONFIG_OPTION_USE_CMAPS
+ FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS,
+ FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS): Removed.
+
+ (FT_EXPORT, FT_EXPORT_DEF, FT_DEBUG_LEVEL_ERROR,
+ FT_DEBUG_LEVEL_TRACE, FT_DEBUG_MEMORY): Comment out definitions so
+ that platform specific configuration file can override.
+
+ * include/freetype/internal/ftstream.h: Include FT_SYSTEM_H.
+
+2002-10-30 David Turner <[email protected]>
+
+ * FreeType 2.1.3rc3 released.
+
+2002-10-25 David Turner <[email protected]>
+
+ * include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro.
+ (FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG.
+
+2002-10-22 Giuseppe Ghibò <[email protected]>
+
+ * include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2.
+
+2002-10-07 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h (FT_Open_Face): Use `const' for `args'
+ (suggested by Graham).
+ * src/base/ftobjs.c (FT_Open_Face): Updated.
+ (ft_input_stream_new): Ditto.
+
+2002-10-05 David Turner <[email protected]>
+
+ Adding support for embedded bitmaps to the PFR driver, and rewriting
+ its kerning loader/handler to use all kerning pairs in a physical
+ font (and not just the first item).
+
+ * src/pfr/pfr.c: Include `pfrsbit.c'.
+ * src/pfr/pfrgload.c: Include `pfrsbit.h'.
+ * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): Rewritten.
+ (pfr_phy_font_done, pfr_phy_font_load): Updated.
+ * src/pfr/pfrobks.c: Include `pfrsbit.h'.
+ (pfr_face_init): Handle kerning and embedded bitmaps.
+ (pfr_slot_load): Load embedded bitmaps.
+ (PFR_KERN_INDEX): Removed.
+ (pfr_face_get_kerning): Rewritten.
+ * src/pfr/pfrsbit.c, src/pfr/pfrsbit.h: New files.
+ * src/pfr/pfrtypes.h (PFR_KernItemRec): New structure.
+ (PFR_KERN_INDEX): New macro.
+ (PFR_PhyFontRec): Add items for kerning and embedded bitmaps.
+ * src/pfr/Jamfile (_sources) [FT2_MULTI]: Add `pfrsbit'.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Don't load bitmap fonts if
+ FT_LOAD_NO_RECURSE is set.
+ Load embedded bitmaps only if FT_LOAD_NO_BITMAP isn't set.
+
+ * src/tools/docmaker/content.py, src/tools/docmaker/sources.py,
+ src/tools/docmaker/tohtml.py: Fixing a few nasty bugs.
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_validate): The validator for format 4
+ sub-tables is now capable of dealing with invalid `length' fields at
+ the start of the sub-table. This allows fonts like `mg______.ttf'
+ (i.e. Marriage) to return accurate charmaps.
+
+ * docs/CHANGES: Updated.
+
+2002-10-05 Werner Lemberg <[email protected]>
+
+ * src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
+ Update all callers.
+ (TRUNC): Add cast to `TCoord'.
+ Update all callers.
+ (TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
+ last_ey.
+ Update all casts.
+ (gray_render_line): Fix casts for `p' and `first'.
+
+2002-10-02 Detlef Würkner <[email protected]>
+
+ * src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t
+ structure with FT_ALLOC instead of using the stack.
+
+2002-09-27 Werner Lemberg <[email protected]>
+
+ * src/include/freetype/internal/tttypes.h (num_sbit_strikes,
+ num_sbit_scales): Use `FT_ULong'.
+ * src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
+ * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
+ (find_sbit_image): Remove cast.
+ * src/raster/ftrend1.c (ft_raster1_render): Fix cast.
+
+2002-09-27 Wolfgang Domröse <[email protected]>
+
+ * src/sfnt/ttload.c (tt_face_load_names): Use cast.
+ * src/sfnt/ttcmap.c (code_to_next2): Use long constant.
+ (code_to_index4): Use cast.
+ (code_to_index8_12): Fix cast.
+ * src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
+ tt_cmap12_char_index): Use cast for `result'.
+ (tt_face_build_cmaps): Use cast.
+ * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
+ `code'.
+ (sfnt_load_face): Use FT_Int32 for `flags'.
+
+ * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
+ gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
+ to `TCoord' and `int'.
+ More 16bit fixes.
+ s/FT_Pos/TPos/.
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
+
+2002-09-26 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names,
+ tt_face_get_ps_name): Replace switch statement with if clauses to
+ make it more portable.
+
+ * src/cff/cffobjs.c (cff_face_init): Ditto.
+
+ * include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for
+ `module_size'.
+ * include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for
+ `glyph_size'.
+
+ * src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to
+ `FT_Render_Mode'.
+ (FT_Render_Glyph_Internal): Change third parameter to
+ `FT_Render_Mode'.
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter
+ to `FT_Render_Mode'.
+
+ * src/raster/ftrend1.c (ft_raster1_render): Change third parameter
+ to `FT_Render_Mode'.
+ * src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd,
+ ft_smooth_render_lcd_v): Ditto.
+ (ft_smooth_render_generic): Change third and fifth parameter to
+ `FT_Render_Mode'.
+
+ * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
+ include/freetype/ftglyph.h: Updated.
+
+ * src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c
+ (PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load),
+ src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c
+ (T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change
+ fourth parameter to `FT_Int32'.
+
+ * src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters
+ and declare them as unused.
+
+ * src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'.
+
+ * src/psnames/psnames.h (PS_Unicode_Value_Func): Change return
+ value to FT_UInt32.
+ * src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table):
+ Updated accordingly.
+
+2002-09-26 Wolfgang Domröse <[email protected]>
+
+ * src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'.
+ (cff_get_glyph_name): Use cast for result of ft_strlen.
+ * src/cff/cffparse.c (cff_parse_real): User cast for assigning
+ `exp'.
+ * src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for
+ some local variables.
+ (cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some
+ switch statements.
+ (cff_font_load): Use cast in call to CFF_Load_FD_Select.
+ * src/cff/cffobjs.c (cff_size_init): Use more casts.
+ (cff_face_init): Use FT_Int32 for `flags'.
+ * src/cff/cffgload.c (cff_operator_seac): Use cast for assigning
+ `adx' and `ady'.
+ (cff_decoder_parse_charstrings): Use FT_ULong for third parameter.
+ Use more casts.
+ * src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'.
+
+ * src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'.
+ * src/cid/cidgload.c (cid_load_glyph): Add missing cast for
+ `cid_get_offset'.
+
+ * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use
+ cast for `num_points'.
+ (t1_decoder_init): Use cast for assigning `decoder->num_glyphs'.
+
+ * src/base/ftdebug.c (ft_debug_init): Use FT_Int.
+ * include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use
+ `FT_Int32' for fourth parameter.
+ * src/base/ftobjs.c (open_face): Use cast for calling
+ clazz->init_face.
+
+ * src/raster/ftraster.c (Set_High_Precision): Use `1' instead of
+ `1L'.
+ (Finalize_Profile_Table, Line_Up, ft_black_init): Use casts.
+ * src/raster/ftrend1.c (ft_raster1_render): Ditto.
+
+ * src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long
+ constant.
+
+2002-09-26 Detlef Würkner <[email protected]>
+
+ * builds/amiga/include/freetype/config/ftmodule.h: Updated.
+
+2002-09-25 David Turner <[email protected]>
+
+ * src/autohint/ahtypes.h (AH_HINT_METRICS): Disabling metrics
+ hinting in the auto-hinter. This produces much better anti-aliased
+ text.
+
+ * docs/CHANGES: Updating the changes documentation.
+
+2002-09-25 Anthony Fok <[email protected]>
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_validate, tt_cmap4_char_index,
+ tt_cmap4_char_next): Added support for opens___.ttf (it contains a
+ charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
+ missing glyph).
+
+2002-09-21 Wolfgang Domröse <[email protected]>
+
+ * src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
+ FT_Int32.
+ * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
+ Ditto.
+
+2002-09-19 Wolfgang Domröse <[email protected]>
+
+ More 16bit fixes.
+
+ * src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
+ (ah_hinter_compute_widths): Use FT_Pos for `dist'.
+ Use AH_MAX_WIDTHS.
+ * src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
+ for `delta'.
+ (ah_outline_compute_edges): Replace some ints with FT_Int and
+ FT_Pos.
+ (ah_test_extrema): Clean up code.
+ (ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
+ hold indices.
+ * src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
+ to FT_Pos.
+
+2002-09-19 Werner Lemberg <[email protected]>
+
+ * builds/unix/config.guess, builds/unix/config.sub: Updated to
+ recent versions.
+
+2002-09-18 David Turner <[email protected]>
+
+ * src/base/ftobjs.c (FT_Library_Version): Bugfix.
+
+ * FreeType 2.1.3rc2 (release candidate 2) is released!
+
+2002-09-17 David Turner <[email protected]>
+
+ * include/freetype/freetype.h, include/freetype/ftimage.h,
+ include/freetype/ftstroker.h, include/freetype/ftsysio.h,
+ include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating
+ the in-source documentation.
+
+ * src/tools/docmaker/tohtml.py: Updating the HTML formatter in the
+ DocMaker tool.
+
+ * src/tools/docmaker.py: Removed.
+
+2002-09-17 Werner Lemberg <[email protected]>
+
+ More 16bit fixes.
+
+ * src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for
+ second parameter.
+
+2002-09-16 Werner Lemberg <[email protected]>
+
+ 16bit fixes from Wolfgang Domröse.
+
+ * src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
+ and `private_len' to FT_Long.
+ * src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
+ `private_len'.
+ * src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
+ Use FT_PtrDist where appropriate.
+ (parse_encoding): Use FT_Long for `count' and `n'.
+ (read_binary_data): Use FT_Long* for second parameter.
+ * src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.
+
+ * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
+ * src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
+
+2002-09-14 Werner Lemberg <[email protected]>
+
+ Making ftgrays.c compile stand-alone again.
+
+ * include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
+ isn't defined.
+ * src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
+ FT_BEGIN_HEADER, FT_END_HEADER.
+ (FT_MEM_ZERO): Define.
+ (TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
+ (gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
+ Don't cast with `FT_Byte'.
+ (grays_init_gamma): Don't use `FT_UInt'.
+
+2002-09-14 Werner Lemberg <[email protected]>
+
+ * src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
+ * src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
+ * include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
+ to 32.
+
+2002-09-10 Werner Lemberg <[email protected]>
+
+ * builds/unix/configure.ac (version_info): Set to 9:2:3.
+ * builds/unix/configure: Regenerated.
+ * docs/VERSION.DLL: Updated.
+
+2002-09-09 David Turner <[email protected]>
+
+ * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
+ src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
+ to prevent seg fault when hints are provided in an empty glyph.
+
+ * src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
+ Removed conditional code. This fixes a bug that prevented
+ compilation in debug mode of template instantiation.
+
+ * include/freetype/ftimage.h: Removed incorrect `zft_' definitions
+ and updated constants documentation comments.
+
+ * src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader.
+ It didn't accept empty arrays, and this prevented the loading of
+ certain fonts.
+
+ * include/freetype/freetype.h (FT_FaceRec): Updating documentation
+ comment. The `descender' value is always *negative*, not positive.
+
+2002-09-09 Owen Taylor <[email protected]>
+
+ * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation
+ of bitmap metrics.
+
+2002-09-08 David Turner <[email protected]>
+
+ Various updates to correctly support sub-pixel rendering.
+
+ * include/freetype/config/ftmodule.h: Add two renderers for LCD.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Updated.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render_lcd,
+ ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and
+ FT_PIXEL_MODE_LCD_V, respectively.
+
+ * include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New
+ structure.
+ Updated all users.
+ (FTC_ImageDesc): Removed.
+ (FTC_ImageCache_Lookup): Second parameter is now of type
+ `FTC_ImageType'.
+ Updated all users.
+ (FTC_IMAGE_DESC_COMPARE): Updated and renamed to...
+ (FTC_IMAGE_TYPE_COMPARE): This.
+ (FTC_IMAGE_DESC_HASH): Updated and renamed to...
+ (FTC_IMAGE_TYPE_HASH): This.
+
+ * include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays'
+ replaced with `max_grays'.
+ `pitch' is now FT_Short.
+ (FTC_SBitCache_Lookup): Second parameter is now of type
+ `FTC_ImageType'.
+ Updated all users.
+
+ * src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec):
+ Updated.
+ (ftc_image_node_init): Updated.
+ Moved code to convert type flags to load flags to...
+ (FTC_Image_Cache_Lookup): This function.
+ (ftc_image_family_init): Updated.
+
+ * src/cache/ftcsbit.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
+ Updated.
+ (ftc_sbit_node_load): Updated.
+ Moved code to convert type flags to load flags to...
+ (FTC_SBitCache_Lookup): This function.
+
+ * src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with
+ `do_*_snapping'.
+ Update all users (with negation).
+ * src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for
+ `dist' for `delta' < 40.
+
+ * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with
+ `do_*_snapping'.
+ Update all users (with negation).
+ * src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New
+ function.
+ (psh3_hint_align): Use it.
+ Improve hinting code.
+ [STRONGER]: Removed.
+ (STRONGER): Removed.
+
+ * include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*):
+ Removed.
+
+2002-09-05 Werner Lemberg <[email protected]>
+
+ * src/cid/cidobjs.c (CID_Size_Init): Renamed to...
+ (cid_size_init): This.
+ * src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
+ (t1_builder_add_point1): This.
+
+ Updated all affected code.
+
+ * src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
+ * src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.
+
+2002-09-04 David Turner <[email protected]>
+
+ * include/freetype/freetype.h: Corrected the definition of
+ ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
+ the erroneous FT_ENCODING_SYMBOL).
+
+ * builds/unix/unix-def.in (datadir): Initialize it (thanks to
+ Anthony Fok).
+
+2002-08-29 David Turner <[email protected]>
+
+ Slight modification to the Postscript hinter to slightly increase
+ the contrast of smooth hinting. This is very similar to what the
+ auto-hinter does when it comes to stem width computations. However,
+ it produces better results with well-hinted fonts.
+
+ * include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint
+ mode to `init' member function.
+ (T1_DecoderRec): Add hint mode.
+ * include/freetype/internal/pshints (T1_Hints_ApplyFunc,
+ T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'.
+ * src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument.
+ * src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not
+ hint flags.
+ * src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto.
+ * src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto.
+ (STRONGER): New macro.
+ (psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead
+ of `hint_flags'.
+ Implement announced changes.
+ * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control
+ vertical and horizontal hints and snapping.
+
+ * README, docs/CHANGES: Updating for the 2.1.3 release.
+
+2002-08-27 David Turner <[email protected]>
+
+ * Massive re-formatting changes to many, many source files. I don't
+ want to list them all here. The operations performed were all
+ logical transformations of the sources:
+
+ - trying to convert all enums and constants to CAPITALIZED_STYLE,
+ #with define definitions like
+
+ #define my_old_constants MY_NEW_CONSTANT
+
+ - big, big update of the documentation comments
+
+ * include/freetype/freetype.h, src/base/ftobjs.c,
+ src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support
+ for LCD-optimized rendering though the new constants/enums:
+
+ FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
+ FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V
+
+ This is still work in progress, don't expect everything to work
+ correctly though most of the features have been implemented.
+
+ * Adding new FT_LOAD_XXX flags, used to specify both hinting and
+ rendering targets:
+
+ FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
+ FT_LOAD_TARGET_MONO :: monochrome bitmaps
+ FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated
+ hinting & rendering
+ FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated
+ hinting & rendering
+
+ Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
+ behaviour of the font engine is _unchanged_.
+
+ * include/freetype/ftimage.h
+ (FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to...
+ (FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This.
+ (FT_Raster_Span_Func): Renamed to ...
+ (FT_SpanFunc): This.
+ (FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ...
+ (FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This.
+
+ Updated all affected code.
+
+ * include/freetype/ftrender.h
+ (FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed
+ to ...
+ (FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This.
+ (FTRenderer_{render,transform,getCBox,setMode}): Renamed to ...
+ (FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SeteModeFunc}):
+ This.
+
+ Updated all affected code.
+
+ * src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals,
+ AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now
+ pointers to the corresponding `*Rec' structures. All source files
+ have been updated accordingly.
+
+ * src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter.
+ * src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element.
+
+ * src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to...
+ (cid_face_compute_max_advance): This.
+ (CID_Load_Glyph): Renamed to...
+ (cid_slot_load_glyph): This.
+ * src/cid/cidload.c (CID_Open_Face): Renamed to...
+ (cid_face_open): This.
+ * src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to...
+ (cid_slot_{done,init}): This.
+ (CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to...
+ (cid_size_{get_globals_funcs,done,reset): This.
+ (CID_Face_{Done,Init}): Renamed to...
+ (cid_face_{done,init}): This.
+ (CID_Driver_{Done,Init}: Renamed to...
+ (cid_driver_{done,init}: This.
+ * src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to...
+ (cid_parser_{new,done}): This.
+ * src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to...
+ (cid_parser_skip_{spaces,alpha}): This.
+ (CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed
+ to...
+ (cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}):
+ This.
+ (CID_Load_{Field,Field_Table): Renamed to...
+ (cid_parser_load_{field,field_table}): This.
+ * src/cid/cidriver.c (CID_Get_Interface): Renamed to...
+ (cid_get_interface): This.
+
+ Updated all affected code.
+
+ * src/psaux/psobjs.c (PS_Table_*): Renamed to...
+ (ps_table_*): This.
+ (T1_Builder_*): Renamed to...
+ (t1_builder_*): This.
+ * src/psaux/t1decode.c (T1_Decoder_*): Renamed to...
+ (t1_decoder_*): This.
+
+ * src/psnames/psmodule.c (PS_*): Renamed to...
+ (ps_*): This.
+
+ Updated all affected code.
+
+ * src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to...
+ (sfnt_get_interface): This.
+ * src/sfnt/sfobjs.c (SFNT_*): Renamed to...
+ (sfnt_*): This.
+ * src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to...
+ (tt_face_{load,free}_charmap): This.
+ * src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to...
+ (tt_face_build_cmaps): This.
+ * src/sfnt/ttload.c (TT_*): Renamed to...
+ (tt_face_*): This.
+ * src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to...
+ (tt_post_default_names): This.
+ (Load_*): Renamed to...
+ (load_*): This.
+ (TT_*): Renamed to...
+ (tt_face_*): This.
+ * src/sfnt/ttsbit.c (TT_*): Renamed to...
+ (tt_face_*): This.
+ ({Find,Load,Crop}_*): Renamed to...
+ ({find,load,crop}_*): This.
+
+ Updated all affected code.
+
+ * src/smooth/ftsmooth.c (ft_smooth_render): Renamed to...
+ (ft_smooth_render_generic): This.
+ Make function more generic by adding vertical and horizontal scaling
+ factors.
+ (ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v):
+ New functions.
+
+ (ft_smooth_locd_renderer_class, ft_smooth_lcdv_renderer_class): New
+ classes.
+
+ * src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to...
+ (tt_glyphzone_{done,new}): This.
+ (TT_{Face,Size,Driver}_*): Renamed to...
+ (tt_{face,size,driver}_*): This.
+ * src/truetype/ttpload.c (TT_Load_Locations): Renamed to...
+ (tt_face_load_loca): This.
+ (TT_Load_Programs): Renamed to...
+ (tt_face_load_fpgm): This.
+ (TT_*): Renamed to...
+ (tt_face_*): This.
+
+2002-08-27 Werner Lemberg <[email protected]>
+
+ * docs/VERSION.DLL: New file.
+
+2002-08-23 Graham Asher <[email protected]>
+
+ * src/cff/cffgload.c (cff_operator_seac)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not
+ incremental in the case of CFF but just using callbacks to get glyph
+ recipes) pass the character code, not the glyph index, to the
+ get_glyph_data function; they have no valid charset table.
+
+ * src/cff/cffload.c (cff_font_load): Removed special cases for
+ FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF
+ fonts provided via the incremental interface now have to conform
+ more closely to the CFF font format.
+
+ * src/cff/cffload.h (cff_font_load): Removed argument now unneeded.
+
+ * src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load
+ to conform with new signature.
+
+2002-08-22 David Turner <[email protected]>
+
+ * src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c,
+ src/bdf/bdfdrivr.c: Removed compiler warnings.
+
+2002-08-21 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections,
+ psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix
+ compiler warnings and resolve shadowing of local variables.
+
+2002-08-21 David Turner <[email protected]>
+
+ The automatic and Postscript hinter now automatically detect
+ inflection points in glyph outlines and treats them specially. This
+ is very useful to prevent nasty effect like the disappearing
+ diagonals of `S' and `s' in many, many fonts.
+
+ * src/autohint/ahtypes.h (ah_flag_inflection): New macro.
+ * src/autohint/ahangles.c (ah_angle_diff): New function.
+ * src/autohint/ahangles.h: Updated.
+ * src/autohint/ahglyph.c (ah_outline_compute_inflections): New
+ function.
+ (ah_outline_detect_features): Use it.
+ * src/autohint/ahhint.c (ah_hinter_align_strong_points)
+ [!AH_OPTION_NO_WEAK_INTERPOLATION]: Handle inflection.
+
+ * src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py,
+ src/tools/docmaker/tohtml.py: Updating the DocMaker tool.
+
+ * include/freetype/freetype.h: Changing the type of the `load_flags'
+ parameter from `FT_Int' to `FT_Int32', this in order to support more
+ options. This should only break binary and/or source compatibility
+ on 16-bit platforms (Atari?).
+ (FT_LOAD_NO_AUTOHINT): New macro.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Updated.
+ Handle FT_LOAD_NO_AUTOHINT.
+ (FT_Load_Char): Updated.
+
+ * src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c,
+ src/autohint/ahglyph.c, include/freetype/freetype.h: Fixing typos
+ and removing compiler warnings.
+
+2002-08-20 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
+
+2002-08-20 David Turner <[email protected]>
+
+ * src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
+ src/pshinter/pshglob.c, src/pshinter/pshrec.c,
+ src/autohint/ahmodule.c [DEBUG_HINTER]: Removing compiler warnings
+ (only used in development builds anyway).
+
+ Improve support of local extrema and stem edge points.
+
+ * src/pshinter/pshalgo3.h (PSH3_Hint_TableRec): Use PSH3_ZoneRec
+ for `zones'.
+ (PSH3_DIR_UP, PSH3_DIR_DOWN): Exchange values.
+ (PSH3_DIR_HORIZONTAL, PSH3_DIR_VERTICAL): New macros.
+ (PSH3_DIR_COMPARE, PSH3_DIR_IS_HORIZONTAL, PSH3_IS_VERTICAL): New
+ macros.
+ (PSH3_POINT_INFLEX): New enum.
+ (psh3_point_{is,set}_{off,inflex}): New macros.
+ (PSH3_POINT_{EXTREMUM,POSITIVE,NEGATIVE,EDGE_MIN,EDGE_MAX): New
+ enum values.
+ (psh3_point_{is,set}_{extremum,positive,negative,edge_min,edge_max}):
+ New macros.
+ (PSH3_PointRec): New members `flags2' and `org_v'.
+ (PSH3_POINT_EQUAL_ARG, PSH3_POINT_ANGLE): New macros.
+
+ * src/pshinter/pshalgo3.c [DEBUG_HINTER]: Removing compiler
+ warnings.
+ (COMPUTE_INFLEXS): New macro.
+ (psh3_hint_align): Simplify some basic arithmetic computations.
+ (psh3_point_is_extremum): Removed.
+ (psh3_glyph_compute_inflections) [COMPUTE_INFLEXS]: New function.
+ (psh3_glyph_init) [COMPUTE_INFLEXS]: Use it.
+ (psh3_glyph_compute_extrema): New function.
+ (PSH3_STRONG_THRESHOLD): Increased to 30.
+ (psh3_hint_table_find_strong_point): Improved.
+ (psh3_glyph_find_strong_points,
+ psh3_glyph_interpolate_strong_points): Updated.
+ (psh3_hints_apply): Use psh3_glyph_compute_extrema.
+
+ * test/gview.c (draw_ps3_hint, ps3_draw_control_points): New
+ functions.
+ Other small updates.
+
+ * Jamfile: Small updates.
+
+2002-08-18 Arkadiusz Miskiewicz <[email protected]>
+
+ * builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to
+ make life easier for package maintainers.
+
+2002-08-18 Werner Lemberg <[email protected]>
+
+ * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
+ horiBearingX.
+ * src/bdf/bdfdrivr.c (BDF_GlyphLoad): Fix computation of
+ horiBearingY.
+
+2002-08-16 George Williams <[email protected]>
+
+ Add support for Apple composite glyphs.
+
+ * include/freetype/config/ftoption.h
+ (TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.
+
+ * src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
+ UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
+ glyph loading flags.
+ (load_truetype_glyph): Implement it.
+
+2002-08-16 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.c (cff_free_glyph_data),
+ src/cff/cffload.c (cff_font_load): Use FT_UNUSED.
+
+2002-08-15 Werner Lemberg <[email protected]>
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'.
+ * src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
+
+2002-08-15 Graham Asher <[email protected]>
+
+ Implemented the incremental font loading system for the CFF driver.
+ Tested using the GhostScript-to-FreeType bridge (under development).
+
+ * src/cff/cffgload.c (cff_get_glyph_data, cff_free_glyph_data): New
+ functions.
+ (cff_operator_seac, cff_compute_max_advance, cff_slot_load): Use
+ them.
+ * src/cff/cffload.c (cff_font_load): Add `face' parameter.
+ Load charset and encoding only if there are glyphs.
+ [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts don't need
+ character recipes.
+ * src/cff/cffload.h, src/cff/cffobjs.c: Updated.
+
+ * src/cid/cidgload.c (cid_load_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Corrected the incremental font
+ loading implementation to use the new system introduced on
+ 2002-08-01.
+
+2002-08-06 Werner Lemberg <[email protected]>
+
+ * src/cff/cffcmap.c: Remove compiler warnings.
+ * src/cache/ftccache.c, src/cache/ftccache.i,
+ src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
+ * src/cff/cffload.c: s/select/fdselect/.
+ * src/raster/ftraster.c: s/wait/waiting/.
+
+2002-08-01 Graham Asher <[email protected]>
+
+ * src/type1/t1load.c (T1_Open_Face): Tolerate a face with no
+ charstrings if there is an incremental loading interface. Type 1
+ faces supplied by PostScript interpreters like GhostScript will
+ typically not provide any charstrings at load time, so this is
+ essential if they are to work.
+
+2002-08-01 Graham Asher <[email protected]>
+
+ Modified incremental loading interface to be closer to David's
+ preferences. The header freetype.h is not now affected, the
+ interface is specified via an FT_Parameter, the pointer to the
+ interface is hidden in an internal part of the face record, and all
+ the definitions are in ftincrem.h.
+
+ * include/freetype/freetype.h [FT_CONFIG_OPTION_INCREMENTAL]:
+ Removed.
+ * include/freetype/internal/ftobjs.h [FT_CONFIG_OPTION_INCREMENTAL]:
+ Include FT_INCREMENTAL_H.
+ (FT_Face_InternalRec) [FT_CONFIG_OPTION_INCREMENTAL]: Add
+ `incremental_interface'.
+
+ * src/base/ftobjs.c (open_face, FT_Open_Face)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+ * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Updated.
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+ Free loaded glyph data properly.
+ (compute_glyph_metrics, TT_Load_Glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+ * src/truetype/ttobjs.c (TT_Face_Init)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+
+ * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+ (T1_Parse_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Updated.
+ Free loaded glyph data properly.
+ (T1_Load_Glyph): Updated.
+ [FT_CONFIG_OPTION_INCREMENTAL]: Free loaded glyph data properly.
+
+2002-07-30 David Turner <[email protected]>
+
+ * include/freetype/ftincrem.h: Adding new experimental header file
+ to demonstrate a `cleaner' API to support incremental font loading.
+
+ * include/freetype/config/ftheader.h (FT_INCREMENTAL_H): New macro.
+
+ * src/tools/docmaker/*: Adding new (more advanced) version of
+ the DocMaker tool, using Python's sophisticated regexps.
+
+2002-07-28 Werner Lemberg <[email protected]>
+
+ s/ft_memset/FT_MEM_SET/.
+ s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
+
+2002-07-27 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs.
+
+2002-07-26 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.
+
+ * src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
+ * src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
+ * src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
+ variable.
+ * src/truetype/ttgload.c (load_truetype_glyph): Remove statement
+ without effect.
+ * src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
+
+ * src/pshinter/pshalgo3.c (psh3_hint_table_record,
+ psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error
+ message.
+
+2002-07-24 Graham Asher <[email protected]>
+
+ * src/truetype/ttobjs.c: Fix for bug reported by Sven Neumann
+ [[email protected]] on the FreeType development forum: `If
+ FT_CONFIG_OPTION_INCREMENTAL is undefined (this is the default), the
+ TrueType loader crashes in line 852 of src/truetype/ttgload.c when
+ it tries to access face->glyph_locations.'
+
+2002-07-18 Graham Asher <[email protected]>
+
+ Added types and structures to support incremental typeface loading.
+ The FT_Incremental_Interface structure, defined in freetype.h, is
+ designed to be passed to FT_Open_Face to provide callback functions
+ to obtain glyph recipes and metrics, for fonts like those passed
+ from PostScript that do not necessarily provide all, or any, glyph
+ information, when first opened.
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
+ New configuration macro to enable incremental face loading. By
+ default it is not defined.
+
+ * include/freetype/freetype.h (FT_Basic_Glyph_Metrics,
+ FT_Get_Glyph_Data_Func, FT_Get_Glyph_Metrics_Func,
+ FT_Incremental_Interface_Funcs, FT_Incremental_Interface)
+ [FT_CONFIG_OPTION_INCREMENTAL]: New.
+ (FT_Open_Args, FT_FaceRec) [FT_CONFIG_OPTION_INCREMENTAL]: New field
+ `incremental_interface'.
+ (FT_Open_Flags) [FT_CONFIG_OPTION_INCREMENTAL]: New enum
+ `ft_open_incremental'.
+
+ * include/freetype/fttypes.h: Include FT_CONFIG_CONFIG_H.
+ (FT_Data): New structure to represent binary data.
+
+ * src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Add parameter for incremental loading.
+ (FT_Open_Face) [FT_CONFIG_OPTION_INCREMENTAL]: Use incremental
+ interface.
+
+ * src/truetype/ttgload.c (load_truetype_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
+ for the TrueType driver.
+ (compute_glyph_metrics): Return FT_Error.
+ [FT_CONFIG_OPTION_INCREMENTAL]: Check for overriding metrics.
+ (TT_Load_Glyph) [FT_CONFIG_OPTION_INCREMENTAL]: Don't look for
+ the glyph table while handling an incremental font.
+ Get glyph offset.
+
+ * src/truetype/ttobjs.c (TT_Face_Init)
+ [FT_CONFIG_OPTION_INCOREMENTAL]: Added the incremental loading
+ system for the TrueType driver.
+
+ * src/cid/cidgload.c (cid_load_glyph)
+ [FT_CONFIG_OPTION_INCREMENTAL]: Added the incremental loading system
+ for the CID driver.
+
+ * src/sfnt/sfobjs.c (SFNT_Load_Face) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Changes to support incremental Type 42 fonts: Assume a font has
+ glyphs if it has an incremental interface object.
+
+ * src/type1/t1gload.c (T1_Parse_Glyph): Renamed to...
+ (T1_Parse_Glyph_And_Get_Char_String): This.
+ [FT_CONFIG_OPTION_INCREMENTAL]: Added support for incrementally
+ loaded Type 1 faces.
+ (T1_Parse_Glyph): New function.
+ (T1_Load_Glyph): Updated.
+
+2002-07-17 David Turner <[email protected]>
+
+ Cleaning up the cache sub-system code; linear hashing is now the
+ default.
+
+ * include/freetype/cache/ftccache.h, src/cache/ftccache.i,
+ src/cache/ftccache.c [!FTC_CACHE_USE_LINEAR_HASHING]: Removed.
+ (FTC_CACHE_USE_LINEAR_HASHING: Removed also.
+
+ FT_CONFIG_OPTION_USE_CMAPS is now the default.
+
+ * include/freetype/internal/ftdriver.h (FT_Driver_ClassRec): Remove
+ `get_char_index' and `get_next_char'.
+
+ * include/freetype/config/ftoption.h,
+ include/freetype/internal/tttypes.h, src/base/ftobjs.c,
+ src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c,
+ src/pfr/pfrdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
+ src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c,
+ src/type42/t42objs.c, src/winfonts/winfnt.c
+ [!FT_CONFIG_OPTION_USE_CMAPS]: Removed. The new cmap code is now
+ the default.
+
+ * src/type42/t42objs.c (T42_CMap_CharIndex, T42_CMap_CharNext):
+ Removed.
+ * src/type42/t42objs.h: Updated.
+
+ * src/cid/cidriver.c (Cid_Get_Char_Index, Cid_Get_Next_Char):
+ Removed.
+ (t1_cid_driver_class): Updated.
+ * src/truetype/ttdriver.c (tt_driver_class): Updated.
+ * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Removed
+ (t1_driver_class): Updated.
+ * src/type42/t42drivr.c (t42_driver_class): Updated.
+
+ * src/base/ftobjs.c (open_face): Select Unicode cmap by default.
+
+ * src/sfnt/ttload.c (TT_Load_SFNT_Header): Fixed a recent bug that
+ prevented OpenType fonts to be recognized by FreeType.
+
+2002-07-11 David Turner <[email protected]>
+
+ Changing the SFNT loader to check for SFNT-based font files
+ differently. We now ignore the range `helper' fields and check the
+ `head' table's magic number instead.
+
+ * include/freetype/internal/tttypes.h (SFNT_HeaderRec): Add `offset'
+ field.
+
+ * src/sfnt/ttload.c (sfnt_dir_check): New function.
+ (TT_Load_SFNT_HeaderRec): Renamed to...
+ (TT_Load_SFNT_Header): This.
+ Implement new functionality.
+ * src/sfnt/ttload.h: Updated.
+ * src/sfnt/sfdriver.c (sfnt_interface): Updated.
+
+ * src/base/ftobject.c, src/base/fthash.c: Updated object sub-system
+ and dynamic hash table implementation (still experimental, don't
+ use).
+ * include/freetype/internal/fthash.h: Updated.
+ * include/freetype/internal/ftobjs.h (FT_LibraryRec): New member
+ `meta_class'.
+
+ Fixing a bug in the Type 1 loader that prevented valid font bounding
+ boxes to be loaded from multiple master fonts.
+
+ * include/freetype/t1tables.h (PS_BlendRec): Add `bboxes' field.
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Add
+ `T1_FIELD_TYPE_BBOX'.
+ (T1_FieldLocation): Add `T1_FIELD_LOCATION_BBOX'.
+ (T1_FIELD_BBOX): New macro.
+
+ * src/psaux/psobjs.c (PS_Parser_LoadField): Handle T1_FIELD_TYPE_BBOX.
+ * src/type1/t1load.c (t1_allocate_blend): Create blend->bboxes.
+ (T1_Done_Blend): Free blend->bboxes.
+ (t1_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
+ (parse_font_bbox): Commented out.
+ (t1_keywords): Comment out `parse_font_bbox'.
+ * src/type1/t1tokens.h: Define `FontBBox' field.
+
+2002-07-10 David Turner <[email protected]>
+
+ * src/cff/cffobjs.c: Small fix to select the Unicode charmap by
+ default when needed.
+ Small fix to allow OpenType fonts to support Adobe charmaps when
+ needed.
+
+ * src/cff/cffcmap.c, src/cff/cffcmap.h: New files to support
+ charmaps for CFF fonts.
+
+ * src/cff/cff.c, src/cff/Jamfile, src/cff/rules.mk: Updated.
+
+ * include/freetype/internal/cfftypes.h (CFF_EncodingRec): Use
+ fixed-length arrays for `sids' and `codes'. Add `count' member.
+ (CFF_FontRec): Add `psnames' member.
+
+ * src/cff/cffdrivr.c, src/cff/cffload.c, src/cff/cffload.h,
+ src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
+ src/cffparse.h, src/cff/cffgload.c, src/cff/cffgload.h: Adding
+ support for CFF charmaps, reformatting the sources, and removing
+ some bugs in the Encoding and Charset loaders.
+ Many fonts renamed to use lowercase only:
+
+ CFF_Builder_Init -> cff_builder_init
+ CFF_Builder_Done -> cff_builder_done
+ CFF_Init_Decoder -> cff_decoder_init
+ CFF_Parse_CharStrings -> cff_decoder_parse_charstrings
+ CFF_Load_Glyph -> cff_slot_load
+ CFF_Init_Decoder -> cff_decoder_init
+ CFF_Prepare_Decoder -> cff_decoder_prepare
+ CFF_Get_Standard_Encoding -> cff_get_standard_encoding
+ CFF_Access_Element -> cff_index_access_element
+ CFF_Forget_Element -> cff_index_forget_element
+ CFF_Get_Name -> cff_index_get_name
+ CFF_Get_String -> cff_index_get_sid_string
+ CFF_Get_FD -> cff_fd_select_get
+ CFF_Done_Charset -> cff_charset_done
+ CFF_Load_Charset -> cff_charset_load
+ CFF_Done_Encoding -> cff_encoding_done
+ CFF_Load_Encoding -> cff_encoding_load
+ CFF_Done_SubFont -> cff_subfont_done
+ CFF_Load_Font -> cff_font_load
+ CFF_Done_Font -> cff_font_done
+ CFF_Size_Get_Global_Funcs -> cff_size_get_global_funcs
+ CFF_Size_Done -> cff_size_done
+ CFF_Size_Init -> cff_size_init
+ CFF_Size_Reset -> cff_size_reset
+ CFF_GlyphSlot_Done -> cff_slot_done
+ CFF_GlyphSlot_Init -> cff_slot_init
+ CFF_StrCopy -> cff_strcpy
+ CFF_Face_Init -> cff_face_init
+ CFF_Face_Done -> cff_face_done
+ CFF_Driver_Init -> cff_driver_init
+ CFF_Driver_Done -> cff_driver_done
+ CFF_Parser_Init -> cff_parser_init
+ CFF_Parser_Run -> cff_parser_run
+
+ add_point -> cff_builder_add_point
+ add_point1 -> cff_builder_add_point1
+ add_contour -> cff_builder_add_contour
+ close_contour -> cff_builder_close_contour
+ cff_explicit_index -> cff_index_get_pointers
+
+2002-07-09 Owen Taylor <[email protected]>
+
+ * src/pshinter/pshglob.c (psh_globals_new): Fixed a bug that
+ prevented the hinter from using correct standard width and height
+ values, resulting in hinting bugs with certain fonts (e.g. Utopia).
+
+2002-07-07 David Turner <[email protected]>
+
+ * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Added code to return
+ successfully when the function is called with a bitmap glyph (the
+ previous code simply returned with an error).
+
+ * docs/DEBUG.TXT: Adding debugging support documentation.
+
+ * src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c
+ (ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): Changed
+ the syntax of the FT2_DEBUG environment variable used to control
+ debugging output (i.e. logging and error messages). It must now
+ look like:
+
+ any:6 memory:4 io:3 or
+ any:6,memory:4,io:3 or
+ any:6;memory:4;io:3
+
+2002-07-07 Owen Taylor <[email protected]>
+
+ * src/pshinter/pshglob.c (psh_blues_snap_stem): Adding support for
+ blue fuzz.
+ * src/pshinter/pshglob.h (PSH_BluesRec): Add `blue_fuzz' field.
+ * src/type1/t1load.c (T1_Open_Face): Initialize `blue_fuzz'.
+
+ Adding support for hinter-specific bit flags, and the new
+ FT_Set_Hint_Flags high-level API.
+
+ * include/freetype/freetype.h (FT_Set_Hint_Flags): New function.
+ (FT_HINT_NO_INTEGER_STEM, FT_HINT_NO_HSTEM_ALIGN,
+ FT_HINT_NO_VSTEM_ALIGN): New macros.
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
+ `hint_flags' member.
+
+ * src/base/ftobjs.c (FT_Set_Hint_Flags): New function.
+
+ * include/freetype/internal/psaux.h (T1_DecoderRec): Add `hint_flags'
+ member.
+
+ * include/freetype/internal/pshints.h (T1_Hints_ApplyFunc,
+ T2_Hints_ApplyFunc): Add parameter to pass hint flags.
+
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings,
+ T1_Decoder_Init): Use decoder->hint_flags.
+ * src/cff/cffgload.h (CFF_Builder): Add `hint_flags' field.
+ * src/cff/cffgload.c (CFF_Builder_Init): Set builder->hint_flags.
+ (CFF_Parse_CharStrings): Updated.
+ * src/pshinter/pshalgo1.c (ps1_hints_apply): Add parameter to handle
+ hint flags (unused).
+ * src/pshinter/pshalgo1.h: Updated.
+ * src/pshinter/pshalgo2.c (ps2_hints_apply): Add parameter to handle
+ hint flags (unused).
+ * src/pshinter/pshalgo2.h: Updated.
+ * src/pshinter/pshalgo3.c (ps3_hints_apply): Add parameter to handle
+ hint flags.
+ * src/pshinter/pshalgo3.h: Updated.
+
+2002-07-04 David Turner <[email protected]>
+
+ * src/pfr/pfrobjs.c (pfr_slot_load): Fixed a small bug that returned
+ incorrect advances when the outline resolution was different from
+ the metrics resolution.
+
+ * src/autohint/ahhint.c: Removing compiler warnings.
+
+ * src/autohint/ahglyph.c: s/FT_MEM_SET/FT_ZERO/ where appropriate.
+ (ah_outline_link_segments): Slight improvements to the serif
+ detection code. More work is needed though.
+
+2002-07-03 David Turner <[email protected]>
+
+ Small improvements to the automatic hinter. Uneven stem-widths have
+ now disappeared and everything looks much better, even if there are
+ still issues with serifed fonts.
+
+ * src/autohint/ahtypes.h (AH_Globals): Added `stds' array.
+ * src/autohint/ahhint.c (OPTIM_STEM_SNAP): New #define.
+ (ah_snap_width): Commented out.
+ (ah_align_linked_edge): Renamed to...
+ (ah_compute_stem_width): This.
+ Don't allow uneven stem-widths.
+ (ah_align_linked_edge): New function.
+ (ah_align_serifed_edge): Don't strengthen serifs.
+ (ah_hint_edges_3, ah_hinter_scale_globals): Updated.
+
+2002-07-03 Owen Taylor <[email protected]>
+
+ Adding new algorithm based on Owen Taylor's recent work.
+
+ * src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: New files.
+ * src/pshinter/pshalgo.h: Updated.
+ Use pshalgo3 by default.
+ * src/pshinter/pshinter.c: Include pshalgo3.c.
+
+ * src/pshinter/Jamfile, src/pshinter/rules.mk: Updated.
+
+2002-07-01 Owen Taylor <[email protected]>
+
+ * src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points): Fix a bug
+ where, if a glyph has more than hint mask, the second mask gets
+ applied to points that should have been covered by the first mask.
+
+2002-07-01 Keith Packard <[email protected]>
+
+ * src/sfnt/ttcmap0.c (tt_cmap8_char_next, tt_cmap12_char_next):
+ Fixing the cmap 8 and 12 parsing routines.
+
+2002-07-01 David Turner <[email protected]>
+
+ * src/base/ftsynth.c: Include FT_TRIGONOMETRY_H.
+ (FT_Outline_Embolden): Renamed to...
+ (FT_GlyphSlot_Embolden): This.
+ Updated to new trigonometric functions.
+ (FT_Outline_Oblique): Renamed to...
+ (FT_GlyphSlot_Oblique): This.
+ (ft_norm): Removed.
+ * include/freetype/ftsynth.h: Updated.
+
+2002-06-26 David Turner <[email protected]>
+
+ * include/freetype/internal/ftobject.h: Updating the object
+ sub-system definitions (still experimental).
+
+ * src/base/fthash.c (ft_hash_remove): Fixing a small reallocation
+ bug.
+
+ * src/base/fttrigon.c (FT_Vector_From_Polar, FT_Angle_Diff): New
+ functions.
+ * include/freetype/fttrigon.h: Updated.
+
+
+ Adding path stroker component (work in progress).
+
+ * include/freetype/ftstroker.h, src/base/ftstroker.c: New files.
+ * src/base/Jamfile: Updated.
+
+ * include/freetype/config/ftheader.h (FT_STROKER_H): New macro.
+
+
+ * src/truetype/ttgload.c (TT_Load_Composite_Glyph),
+ src/base/ftoutln.c (FT_Vector_Transform): Fixed Werner's latest fix.
+ FT_Vector_Transform wasn't buggy, the TrueType composite loader was.
+
+2002-06-24 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+
+2002-06-21 David Turner <[email protected]>
+
+
+ * Version 2.1.2 released.
+ =========================
+
+
+2002-06-21 Roberto Alameda <[email protected]>.
+
+ * include/freetype/internal/t42types.h (T42_Font): Removed since
+ it is already in t42objs.h.
+ (T42_Face): Use T1_FontRec.
+
+ * src/base/fttype1.c (FT_Get_PS_Font_Info): Updated.
+ (FT_Has_PS_Glyph_Names): Check for type42 driver name also.
+ * src/type42/t42objs.h: Include FT_INTERNAL_TYPE42_TYPES_H.
+ (T42_Face): Removed since it is already in t42types.h.
+
+2002-06-21 Detlef Würkner <[email protected]>
+
+ * src/pfrgload.c (pfr_glyph_load_compound): Fix loading of composite
+ glyphs.
+
+2002-06-21 Sven Neumann <[email protected]>
+
+ * src/prf/pfrtypes.h (PFR_KernPair): New structure.
+ (PFR_PhyFont): Use it.
+ (PFR_KernFlags): New enumeration.
+ * src/pfr/pfrload.c (pfr_extra_item_load_kerning_pairs): New
+ function.
+ (pfr_phy_font_extra_items): Use it.
+ (pfr_phy_font_done): Updated.
+ * src/pfr/pfrobjs.c (pfr_face_init): Set kerning flag conditionally.
+ (pfr_face_get_kerning): New function.
+ * src/pfr/pfrobjs.h: Updated.
+ * src/pfr/pfrdrivr.c (pfr_driver_class): Updated.
+
+2002-06-21 David Turner <[email protected]>
+
+ * README, docs/CHANGES: Preparing the 2.1.2 release.
+
+2002-06-19 Detlef Würkner <[email protected]>
+
+ * src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H.
+ (t1_face_check_cast): Removed.
+ (FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers
+ also.
+
+2002-06-19 Sebastien BARRE <http://barre.nom.fr/contact.html#email>
+
+ * src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
+
+2002-06-19 Werner Lemberg <[email protected]>
+
+ * src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
+ (xy <-> yx).
+ * src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
+ `||' to make code easier to read.
+
+2002-06-18 Roberto Alameda <[email protected]>.
+
+ * src/type42/t42objs.c (t42_check_size_change): Removed.
+ (T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size
+ instead.
+ (T42_GlyphSlot_Load): Remove call to t42_check_size_change.
+
+2002-06-18 Detlef Würkner <[email protected]>
+
+ * src/psaux/t1cmap.c (t1_cmap_custom_char_index,
+ t1_cmap_custom_char_next): Fix index computation -- indices start
+ with 0 and not with cmap->first.
+
+ Provide default charmaps.
+
+ * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
+ (PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init),
+ src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c
+ (FNT_Face_Init): Implement it.
+
+2002-06-17 Sven Neumann <[email protected]>
+
+ * src/pfr/pfrobjs.c (pfr_face_init): Fix typo.
+
+2002-06-16 Leonard Rosenthol <[email protected]>
+
+ Updated Win32/VC++ projects to include the new PFR driver.
+
+ * builds/win32/visualc/freetype.dsp: Updated.
+
+2002-06-16 Anthony Fok <[email protected]>
+
+ Install freetype2.m4.
+
+ * builds/unix/install.mk (install, uninstall): Handle it.
+
+2002-06-16 Detlef Würkner <[email protected]>
+
+ Same fix for PFR driver.
+
+ * src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next):
+ Increase return value by 1.
+ * src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1.
+
+2002-06-15 Detlef Würkner <[email protected]>
+
+ Fix glyph indices to make index zero always the undefined glyph.
+
+ * src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease
+ cmap->num_encodings.
+ (bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index):
+ Increase result by 1 for normal cases.
+ (BDF_Glyph_Load): Decrease index by 1.
+
+ * src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next,
+ PCF_Char_Get_Index): Increase result by 1 for normal cases.
+ (PCF_Glyph_Load): Decrease index by 1.
+ * src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for
+ allocating `encoding'.
+
+ * src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix
+ bounding tests.
+
+2002-06-14 Detlef Würkner <[email protected]>
+
+ Add new cmap support to BDF driver.
+
+ * src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]:
+ New structure.
+ (bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index,
+ bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions.
+ (BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only
+ conditionally.
+ (BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords.
+ Implement new cmap handling.
+ (bdf_driver_class): Updated.
+
+2002-06-14 Werner Lemberg <[email protected]>
+
+ * Makefile, configure, */*.mk, builds/unix/unix-def.in,
+ docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/.
+
+2002-06-12 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdflib.c: s/FT_Short/short/ for consistency.
+
+2002-06-11 David Turner <[email protected]>
+
+ * builds/win32/ftdebug.c: Added a missing #endif.
+
+ * src/sfnt/ttload.c, src/bdf/bdflib.c: Removing compiler warnings.
+
+ Removed the bug in Type 42 driver that prevented un-hinted outlines
+ to be loaded.
+
+ * src/type42/t42objs.c (T42_Face_Init): Call FT_Done_Size.
+ (T42_Size_Init): Call FT_Activate_Size.
+ (t42_check_size_change): New function.
+ (T42_Size_SetChars, T42_Size_SetPixels): Use it.
+ (ft_glyphslot_clear): Replace FT_MEM_SET with FT_ZERO.
+ (T42_GlyphSlot_Load): Use t42_check_size_change.
+ Initialize more fields of `glyph'.
+
+ * builds/win32/visualc/freetype.dsp: Updated.
+
+2002-06-09 David Turner <[email protected]>
+
+
+ * Version 2.1.1 released.
+ =========================
+
+
+2002-06-08 Juliusz Chroboczek <[email protected]>
+
+ * include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
+ src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: Don't
+ use `setjmp', `longjmp', and `jmp_buf' but `ft_setjmp', `ft_longjmp',
+ and `ft_jmp_buf'.
+ Removed direct references to <stdio.h> and <setjmp.h> when
+ appropriate, to eventually replace them with a
+ FT_CONFIG_STANDARD_LIBRARY_H. Useful for the XFree86 Font Server
+ backend based on FT2.
+
+ * src/base/fttype1.c (FT_Has_PS_Glyph_Names): Fix return value.
+
+2002-06-08 David Turner <[email protected]>
+
+ * src/pcf/pcfdriver.c (pcf_cmap_char_next): Fixed a bug that caused
+ the function to return invalid values.
+
+ * src/cache/ftccache.i: Removing a typo that prevented
+ the source's compilation.
+
+ * src/cache/ftccache.c (ftc_node_hash_unlink): Fixed a
+ bug that caused nasty memory overwrites. The hash table's
+ buckets array wasn't correctly resized when shrunk.
+
+2002-06-08 Detlef Würkner <[email protected]>
+
+ * builds/amiga/smakefile, builds/amiga/makefile: Updated.
+
+2002-06-08 Werner Lemberg <[email protected]>
+
+ * src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
+ [FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
+ Fix debugging messages.
+ * src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of
+ `family' and `hash' up to make it compilable with g++.
+
+ * src/type42/t42error.h: New file.
+ * src/type42/t42drivr.c, src/type42/t42objs.c,
+ src/type42/t42parse.c: Use t42 error codes.
+ * src/type42/rules.mk: Updated.
+
+ * src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.
+
+2002-06-08 David Turner <[email protected]>
+
+ * src/cache/ftccmap.c: GEN_CACHE_FAMILY_COMPARE,
+ GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
+ New macros.
+ (ftc_cmap_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
+ ftc_cache_lookup.
+ (FTC_CMapCache_Lookup): Updated.
+
+ Adding various experimental optimizations to the cache manager.
+
+ * include/freetype/cache/ftccache.h (FTC_CACHE_USE_INLINE,
+ FTC_CACHE_USE_LINEAR_HASHING): New options.
+ (FTC_CacheRec) [FTC_CACHE_USE_LINEAR_HASHING]: New elements `p',
+ `mask', and `slack'.
+
+ * src/cache/ftccache.c (FTC_HASH_MAX_LOAD, FTC_HASH_MIN_LOAD,
+ FTC_HASH_SUB_LOAD) [FTC_CACHE_USE_LINEAR_HASHING,
+ FTC_HASH_INITIAL_SIZE]: New macros.
+ (ftc_node_mru_link, ftc_node_mru_up): Optimized.
+ (ftc_node_hash_unlink, ftc_node_hash_link)
+ [FTC_CACHE_USE_LINEAR_HASHING]: New variants.
+ (FTC_PRIMES_MIN, FTC_PRIMES_MAX, ftc_primes, ftc_prime_closest,
+ FTC_CACHE_RESIZE_TEST, ftc_cache_resize)
+ [!FTC_CACHE_USE_LINEAR_HASHING]: Define it conditionally.
+ (ftc_cache_init, ftc_cache_clear) [FTC_CACHE_USE_LINEAR_HASHING]:
+ Updated.
+ (ftc_cache_lookup) [FTC_CACHE_USE_LINEAR_HASHING]: Implement it.
+
+ * src/cache/ftccache.i: New file.
+
+ * src/cache/ftcsbits.c (GEN_CACHE_FAMILY_COMPARE,
+ GEN_CACHE_NODE_COMPARE, GEN_CACHE_LOOKUP) [FTC_CACHE_USE_INLINE]:
+ New macros.
+ (ftc_sbit_cache_lookup) [!FTC_CACHE_USE_INLINE]: Typedef to
+ ftc_cache_lookup.
+ (FTC_SBitCache_Lookup): Updated.
+
+ * src/type42/t42parse.c: Removing duplicate function.
+
+2002-06-07 Graham Asher <[email protected]>
+
+ * src/base/ftobjs.c (FT_Render_Glyph_Internal): Changed definition
+ from FT_EXPORT_DEF to FT_BASE_DEF.
+
+2002-06-07 David Turner <[email protected]>
+
+ Fixed the bug that prevented the correct display of fonts with
+ `ftview'.
+
+ * src/type42/t42drivr.c: Split into...
+ * src/type42/t42drivr.h, src/type42/t42parse.c,
+ src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c,
+ src/type42/type42.c: New files.
+
+ (t42_get_glyph_name, t42_get_ps_name, t42_get_name_index): Use
+ `face->type1'.
+
+ (Get_Interface): Renamed to...
+ (T42_Get_Interface): This.
+ Updated.
+ (T42_Open_Face, T42_Face_Done): Updated.
+ (T42_Face_Init): Add new cmap support.
+ Updated.
+ (T42_Driver_Init, T42_Driver_Done, T42_Size_Init, T42_Size_Done,
+ T42_GlyphSlot_Init, T42_GlyphSlot_Done): Updated.
+ (Get_Char_Index, Get_Next_Char): Renamed to...
+ (T42_CMap_CharIndex, T42_CMap_CharNext): This.
+ Updated.
+ (T42_Char_Size, T42_Pixel_Size): Renamed to...
+ (T42_Size_SetChars, T42_Size_SetPixels): This.
+ (T42_Load_Glyph): Renamed to...
+ (T42_GlyphSlot_Load): This.
+
+ (t42_init_loader, t42_done_loader): Renamed to...
+ (t42_loader_init, t42_loader_done): This.
+ (T42_New_Parser, T42_Finalize_Parser): Renamed to...
+ (t42_parser_init, t42_parser_done): This.
+ (parse_dict): Renamed to...
+ (t42_parse_dict): This.
+ (is_alpha, is_space, hexval): Renamed to...
+ (t42_is_alpha, t42_is_space, t42_hexval): This.
+ (parse_font_name, parse_font_bbox, parse_font_matrix,
+ parse_encoding, parse_sfnts, parse_charstrings, parse_dict):
+ Renamed to...
+ (t42_parse_font_name, t42_parse_font_bbox, t42_parse_font_matrix,
+ t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings,
+ t42_parse_dict): This.
+ Updated.
+
+ (t42_keywords): Updated.
+
+ * src/type42/Jamfile, src/type42/descrip.mms: Updated.
+
+2002-06-03 Werner Lemberg <[email protected]>
+
+ Add 8bpp support to BDF driver.
+
+ * src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp.
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto.
+ * src/bdf/README: Updated.
+
+2002-06-02 Detlef Würkner <[email protected]>
+
+ * src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array.
+
+2002-05-29 Detlef Würkner <[email protected]>
+
+ * src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically.
+ (_bdf_parse_glyphs): Use correct size for allocating
+ `font->unencoded'.
+ (bdf_load_font): Free array conditionally.
+ Return proper error code in case of failure.
+ * src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against
+ unusual fonts.
+
+2002-05-29 Werner Lemberg <[email protected]>
+
+ * src/bdf/descrip.mms, src/type42/descrip.mms: New files.
+ * descrip.mms (all): Updated.
+
+ * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
+ compilation.
+ * src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
+
+2002-05-28 Detlef Würkner <[email protected]>
+
+ * builds/amiga/makefile, builds/amiga/smakefile,
+ amiga/include/freetype/config/ftmodule.h: Updated to include
+ support for BDF and Type42 drivers.
+
+ * docs/modules.txt: Updated.
+
+2005-05-28 David Turner <[email protected]>
+
+ * docs/CHANGES: Updating file for next release (2.1.1).
+
+ * src/bdf/bdflib.c: Removing compiler warnings.
+
+ * include/freetype/ftxf86.h, src/base/ftxf86.c: New files.
+ They provide a new API (FT_Get_X11_Font_Format) to retrieve an
+ X11-compatible string describing the font format of a given face.
+ This was put in a new optional base source file, corresponding to a
+ new public header (named FT_XFREE86_H since this function should
+ only be used within the XFree86 font server IMO).
+
+ * include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not
+ documented yet).
+
+ * src/base/fttype1.c: New file, providing two new API functions
+ (FT_Get_PS_Font_Info and FT_Has_PS_Glyph_Names).
+ * include/freetype/t1tables.h: Updated.
+
+ * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:
+ Updating build control files for the new files `ftxf86.c' and
+ `fttype1.c' in src/base.
+
+ * src/pshinter/pshglob.c (psh_blues_scale_zones): Fixed a bug that
+ prevented family blue zones substitution from hapenning correctly.
+
+ * include/freetype/ftbdf.h FT_Get_BDF_Charset_ID): Adding
+ documentation comment.
+
+2002-05-28 Werner Lemberg <[email protected]>
+
+ * src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT
+ but FT_STREAM_READ.
+ Declare `stream' variable.
+
+ * src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math
+ with calls to `FT_MulDiv'.
+
+2002-05-28 David Turner <[email protected]>
+
+ Fixing the SFNT name table loader to support various buggy fonts.
+ It now ignores empty name entries, entries with invalid pointer
+ Offsets and certain fonts containing tables with broken
+ `storageOffset' fields.
+
+ Name strings are now loaded on demand, which reduces the memory
+ requirements for a given FT_Face tremendously (for example, the name
+ table of Arial.ttf is about 10Kb and contains 70 names).
+
+ This is a temporary fix. The whole name table loader and interface
+ will be rewritten in a much more cleanly way shortly, once CSEH have
+ been introduced in the sources.
+
+ * include/freetype/internal/tttypes.h (TT_NameEntryRec): Change
+ type of `stringOffset' to FT_ULong.
+ (TT_NameTableRec): Change type of `numNameRecords' and
+ `storageOffset' to FT_UInt.
+ Replace `storage' with `stream'.
+ * src/base/ftnames.c (FT_Get_Sfnt_Name): Load name on demand.
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
+ Make code more robust.
+ * src/sfnt/sfobjs.c (TT_NameEntry_ConvertFunc): New typedef.
+ (tt_face_get_name): Use it.
+ Make code more robust.
+ * src/sfnt/ttload.c (TT_Load_Names): Use `static' for arrays.
+ Handle invalid `storageOffset' data better.
+ Set length fields to zero for invalid or ignored data.
+ Remove code within FT_DEBUG_LEVEL_TRACE.
+ (TT_Free_Names): Updated.
+
+2002-05-24 Tim Mooney <[email protected]>
+
+ * builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and
+ FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be
+ rebuilt from sources. Set macro serial to 1, and use third argument
+ to AC_DEFINE for our two custom symbols, so ftconfig.in could one day
+ be rebuilt with autoheader (not recommended now, ftconfig.in is a
+ custom source file)
+
+2002-05-22 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftheader.h (FT_BEZIER_H): Removed.
+ (FT_BDF_H): New macro for accessing `ftbdf.h'.
+
+ * src/type42/t42drivr.c (hexval): Fix typo.
+
+2002-05-21 Martin Muskens <[email protected]>
+
+ * src/psaux/psobjs.c (T1Radix): New function.
+ (t1_toint): Use it to handle numbers in radix format.
+
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy
+ for undocumented, obsolete opcode 15.
+
+2002-05-21 David Turner <[email protected]>
+
+ * src/bdf/bdflib.c: Removed compiler warning, and changed all tables
+ to the `static const' storage specifier (instead of simply
+ `static').
+
+ * src/type42/t42drivr.c (hexval): Use more efficient code.
+ Removing compiler warnings.
+ * src/bdf/bdfdrivr.c: Removing compiler warnings.
+
+ * include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
+ src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk
+ (FT_Get_BDF_Charset_ID): New API to retrieve BDF-specific strings
+ from a face. This is much cleaner than accessing the internal types
+ `BDF_Public_Face' defined in FT_INTERNAL_BDF_TYPES_H.
+
+2002-05-21 Werner Lemberg <[email protected]>
+
+ * src/bdf/README: Mention Microsoft's SBIT tool.
+
+ * src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c,
+ src/truetype/ttdriver.c, src/type1/t1driver.c,
+ src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c
+ [FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed. It has
+ been never used.
+
+2002-05-21 Roberto Alameda <[email protected]>.
+
+ * src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/.
+ (parse_font_matrix): Remove unnecessary code.
+ (parse_sfnts): Initialize some variables.
+ (t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use
+ ft_module_driver_has_hinter conditionally.
+ Moved some type 42 specific structure definitions to...
+ * include/freetype/internal/t42types.h: New file.
+ * include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H):
+ New macro.
+
+2002-05-20 Werner Lemberg <[email protected]>
+
+ * include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field
+ `num_grays' for specifying the number of used gray levels.
+ * src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it.
+
+2002-05-19 Werner Lemberg <[email protected]>
+
+ Adding a driver for BDF fonts written by Francesco Zappa Nardelli
+ <[email protected]>. Heavily modified by me to
+ better adapt it to FreeType, removing unneeded stuff. Additionally,
+ it now supports Mark Leisher's BDF extension for anti-aliased
+ bitmap glyphs with 2 and 4 bpp.
+
+ * src/bdf/*: New driver.
+ * include/freetype/internal/bdftypes.h: New file.
+ * include/freetype/internal/fttrace.h: Added BDF driver components.
+ * include/freetype/fterrdef.h: Added error codes for BDF driver.
+ * include/freetype/config/ftmodule.h, src/Jamfile: Updated.
+ * include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H):
+ New macro.
+
+ * include/freetype/config/ftstdlib.h (ft_sprintf): New alias for
+ sprintf.
+
+2002-05-18 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/fttrace.h: Added Type 42 driver
+ component.
+ * src/type42/t42drivr.c: Use it.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H):
+ New macro.
+
+2002-05-17 Werner Lemberg <[email protected]>
+
+ * src/type42/Jamfile: New file.
+
+2002-05-14 Werner Lemberg <[email protected]>
+
+ Adding a driver for Type42 fonts written by Roberto Alameda
+
+ * src/type42/*: New driver.
+ * include/freetype/config/ftmodule.h, src/Jamfile: Updated.
+ * include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp,
+ ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively.
+
+2002-05-12 Owen Taylor <[email protected]>
+
+ * src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables
+ with a zero length value.
+
+2002-05-12 Michael Pfeiffer <[email protected]>
+
+ * builds/beos/beos.mk: Include `link-std.mk'.
+
+2002-05-12 Werner Lemberg <[email protected]>
+
+ * src/type1/t1load.h (T1_Loader): Renamed to...
+ (T1_LoaderRec): This.
+ (T1_Loader): Now pointer to T1_LoaderRec.
+ * src/type1/t1load.c: Updated.
+
+ * include/freetype/internal/t1types.h, src/type1/t1load.c,
+ src/type1/t1objs.c:
+ s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/.
+
+2002-05-06 Werner Lemberg <[email protected]>
+
+ * README: Add a note regarding libttf vs. libfreetype.
+
+2002-05-05 Werner Lemberg <[email protected]>
+
+ FreeType 2 can now be built in an external directory with the
+ configure script also.
+
+ * builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.
+
+ * builds/unix/detect.mk (have_mk): New variable to test for
+ external build.
+ (unix-def.mk): Defined according to value of `have_mk'.
+ * builds/unix/unix.mk (have_mk): New variable to test for
+ external build.
+ Select include paths for unix-def.mk and unix-cc.mk according
+ to value of `have_mk'.
+ * builds/unix/unix-def.in (OBJ_BUILD): New variable.
+ (DISTCLEAN): Use it.
+ * builds/unix/unix-cc.in (LIBTOOL): Define default value only
+ if not yet defined.
+ * builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
+ freetype-config.
+
+ * configure: Don't depend on bash features.
+ (ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
+ partially taken from Autoconf).
+ Build a dummy Makefile if not building in source tree.
+
+ * docs/INSTALL: Document it.
+
+2002-05-04 David Turner <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Glyph): Finally fixing the last
+ bug that prevented FreeType 2.x and FreeType 1.x to produce
+ bit-by-bit identical monochrome glyph bitmaps with native TrueType
+ hinting. The culprit was a single-bit flag that wasn't set
+ correctly by the TrueType glyph loader.
+
+ * src/otlayout/otlayout.h, src/otlayout/otlbase.c,
+ src/otlayout/otlbase.h, src/otlayout/otlconf.h,
+ src/otlayout/otlgdef.c, src/otlayout/otlgdef.h,
+ src/otlayout/otlgpos.c, src/otlayout/otlgpos.h,
+ src/otlayout/otlgsub.c, src/otlayout/otlgsub.h,
+ src/otlayout/otljstf.c, src/otlayout/otljstf.h,
+ src/otlayout/otltable.c, src/otlayout/otltable.h,
+ src/otlayout/otltags.h: New OpenType Layout source files. The
+ module is still incomplete.
+
+2002-05-02 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo
+ (0xFFFU -> 0xFFFFU).
+
+2002-05-01 Werner Lemberg <[email protected]>
+
+ * docs/INSTALL: Fix URL of makepp.
+
+2002-05-01 David Turner <[email protected]>
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused
+ FreeType to crash when certain broken fonts (e.g. `hya6gb.ttf')
+ were opened.
+
+ * src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to
+ manage fonts containing a broken name table (e.g. `hya6gb.ttf').
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive
+ validation test. The charmap validator now accepts overlapping
+ ranges in format 4 charmaps.
+
+ * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary
+ search algorithm. Certain fonts contain more than 170 distinct
+ segments!
+
+ * include/freetype/config/ftstdlib.h: Adding an alias for the `exit'
+ function. This will be used in the near future to panic in case of
+ unexpected exception (which shouldn't happen in theory).
+
+ * include/freetype/internal/fthash.h, src/base/fthash.c: New files.
+ This is generic implementation of dynamic hash tables using a linear
+ algorithm (to get rid of `stalls' during resizes). In the future
+ this will be used in at least three parts of the library: the cache
+ sub-system, the object sub-system, and the memory debugger.
+
+ * src/base/Jamfile: Updated.
+
+ * include/freetype/internal/internal.h (FT_INTERNAL_HASH_H,
+ FT_INTERNAL_OBJECT_H): New macros.
+
+ * include/freetype/internal/ftcore.h: New file to group all new
+ definitions related to exception handling and memory management. It
+ is very likely that this file will disappear or be renamed in the
+ future.
+
+ * include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h:
+ Adding comments to better explain the object sub-system as well as
+ the new memory manager interface.
+
+2002-04-30 Wenlin Institute (Tom Bishop) <[email protected]>
+
+ * src/base/ftmac.c (p2c_str): Removed.
+ (file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
+ OS X.
+ (is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
+ Handle `nameLen' <= 6 also.
+ (parse_fond): Remove unused variable `name_table'.
+ Use functionality of old p2c_str directly.
+ Add safety checks.
+ (read_lwfn): Initialize `size_p'.
+ Check for size_p == NULL.
+ (new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
+ (FT_New_Face_From_LWFN): Remove unused variable `memory'.
+ Remove some dead code.
+ (FT_New_Face_From_SFNT): Remove unused variable `stream'.
+ (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
+ OS X.
+ (FT_New_Face_From_FOND): Remove unused variable `error'.
+ (ResourceForkSize): New function.
+ (FT_New_Face): Use it.
+ Handle empty resource forks.
+ Conditionalize some code for OS X.
+ Add code to call normal loader as a fallback.
+
+2002-04-30 Werner Lemberg <[email protected]>
+
+ `interface' is reserved on the Mac.
+
+ * include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
+ src/base/ftoutln.c: s/interface/func_interface/.
+ * src/base/ftbbox.c (FT_Outline_Get_BBox):
+ s/interface/bbox_interface/.
+ * src/cff/cffdrivr.c: s/interface/module_interface/.
+ * src/cff/cffload.c, src/cff/cffload.h:
+ s/interface/psnames_interface/.
+ * src/cid/cidriver.c: s/interface/cid_interface/.
+ * src/sfnt/sfdriver.c: s/interface/module_interface/.
+ * src/smooth/ftgrays.c: s/interface/func_interface/.
+ * src/truetype/ttdriver.c: s/interface/tt_interface/.
+ * src/type1/t1driver.c: s/interface/t1_interface/.
+
+ Some more variable renames to avoid troubles on the Mac.
+
+ * src/raster/ftraster.c:
+ s/Unknown|Ascending|Descending|Flat/\1_State/.
+ * src/smooth/ftgrays.c: s/TScan/TCoord/.
+
+ Other changes for the Mac.
+
+ * include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
+ Mac platforms.
+ * src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.
+
+ * src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
+ an even number.
+
+2002-04-29 Jouk Jansen <[email protected]>
+
+ * descrip.mms (all): Add pfr driver.
+
+2002-04-28 Werner Lemberg <[email protected]>
+
+ * src/pfr/pfrerror.h: New file.
+ * include/freetype/ftmoderr.h: Add PFR error codes.
+ * src/pfr/pfrgload.c: Include pfrerror.h.
+ Use PCF error codes.
+ (pfr_extra_item_load_stem_snaps): Fix debug message.
+ * src/pfr/pfrgload.c: Include pfrerror.h.
+ Use PCF error codes.
+ (pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple,
+ pfr_glyph_load_compound): Fix debug message.
+ * src/pfr/pfrobjs.c: Include pfrerror.h.
+ Use PCF error codes.
+ (pfr_face_init): Return PFR_Err_Unknown_File_Format.
+ * src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h.
+
+ * src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]:
+ `root' -> `face->root'.
+ * src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]:
+ Removed.
+ * src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for
+ FT_CONFIG_OPTION_USE_CMAPS.
+
+2002-04-27 Werner Lemberg <[email protected]>
+
+ * src/cache/ftccache.c (ftc_cache_lookup),
+ src/cache/ftccmap.c (ftc_cmap_family_init),
+ src/cache/ftcmanag.c (ftc_family_table_alloc),
+ src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
+ src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
+ (FTC_ImageCache_Lookup): Fix handling of invalid arguments.
+
+2002-04-22 Werner Lemberg <[email protected]>
+
+ * builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2
+ version 2.0.9 has 9:0:3).
+ * builds/unix/configure: Regenerated (using autoconf 2.53).
+
+2002-04-19 Werner Lemberg <[email protected]>
+
+ * src/pfr/pfrload.c (pfr_extra_items_farse): Fix debug message.
+ (pfr_phy_font_load): s/size/Size/ for local variable to avoid
+ compiler warning.
+ * src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
+ (pfr_slot_load): Remove redundant local variable.
+
+2002-04-19 David Turner <[email protected]>
+
+ Adding a PFR font driver to the FreeType sources. Note that it
+ doesn't support embedded bitmaps or kerning tables yet.
+
+ src/pfr/*: New files.
+
+ * include/freetype/config/ftmodule.h,
+ include/freetype/internal/fttrace.h, src/Jamefile: Updated.
+
+ * src/type1/t1gload.h (T1_Load_Glyph), src/type1/t1gload.c
+ (T1_Load_Glyph): Fixed incorrect parameter sign-ness in callback
+ function.
+
+ * include/freetype/internal/ftmemory.h (FT_MEM_ZERO, FT_ZERO): New
+ macros.
+
+ * include/freetype/internal/ftstream.h (FT_NEXT_OFF3, FT_NEXT_UOFF3,
+ FT_NEXT_OFF3_LE, FT_NEXT_UOFF3_LE): New macros to parse in-memory
+ 24-bit integers.
+
+2002-04-18 David Turner <[email protected]>
+
+ * src/base/ftobjs.c, builds/win32/ftdebug.c,
+ builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked
+ against applications in Win32 and Amiga builds due to changes to
+ `src/base/ftdebug.c' that were not properly propagated to
+ `builds/win32' and `builds/amiga'. This has been fixed.
+
+ * include/freetype/internal/ftobject.h,
+ include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h,
+ include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c:
+ New experimental files.
+
+2002-04-17 David Turner <[email protected]>
+
+
+ * Version 2.1.0 released.
+ =========================
+
+
+2002-04-17 Michael Jansson <[email protected]>
+
+ * src/type1/t1gload.c (T1_Compute_Max_Advance): Fixed a small bug
+ that prevented the function to return the correct value.
+
+2002-04-16 Francesco Zappa Nardelli <[email protected]>
+
+ * src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
+ tables.
+
+2002-04-15 David Turner <[email protected]>
+
+ * docs/FTL.txt: Formatting.
+
+ * include/freetype/config/ftoption.h: Reduce the size of the
+ render pool from 32kByte to 16kByte.
+
+ * src/pcf/pcfread.c (pcf_seek_to_table_type): Remove compiler
+ warning.
+
+ * include/freetype/config/ftoption.h (FT_MAX_EXTENSIONS): Removed.
+
+ * docs/CHANGES: Preparing 2.1.0 release.
+
+2002-04-13 Werner LEMBERG <[email protected]>
+
+ * src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
+ compiler warning.
+
+2002-04-12 David Turner <[email protected]>
+
+ * README.UNX: Updated the Unix-specific quick-compilation guide to
+ warn about the GNU Make requirement at compile time.
+
+ * include/freetype/config/ftstdlib.h,
+ include/freetype/config/ftconfig.h,
+ include/freetype/config/ftheader.h,
+ include/freetype/internal/ftmemory.h,
+ include/freetype/internal/ftobjs.h,
+
+ src/autohint/ahoptim.c,
+
+ src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c,
+ src/base/ftobjs.c, src/base/ftsystem.c,
+
+ src/cache/ftcimage.c, src/cache/ftcsbits.c,
+
+ src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
+
+ src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
+
+ src/pcf/pcfdriver.c, src/pcf/pcfread.c,
+
+ src/psaux/t1cmap.c, src/psaux/t1decode.c,
+
+ src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
+ src/pshinter/pshrec.c,
+
+ src/psnames/psmodule.c,
+
+ src/raster/ftraster.c,
+
+ src/sfnt/sfdriver.c, src/sfnt/ttload.c,
+
+ src/smooth/ftgrays.c,
+
+ src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
+ src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c,
+
+ builds/unix/ftconfig.in, builds/vms/ftconfig.h,
+
+ builds/amiga/src/base/ftdebug.c:
+
+ Added the new configuration file `ftstdlib.h' used to define
+ aliases for all ISO C library functions used by the engine
+ (e.g. strlen, qsort, setjmp, etc.).
+
+ This eases the porting of FreeType 2 to environments like
+ XFree86 modules/extensions.
+
+ Also removed many #include <string.h>, #include <stdlib.h>, etc.
+ from the engine's sources where they are not needed.
+
+ * src/sfnt/ttpost.c: Use macro name for psnames.h.
+
+2002-04-12 Vincent Caron <[email protected]>
+
+ * configure, builds/detect.mk: Updated the build system to print
+ a warning message in case GNU Make isn't used to build the library.
+
+2002-04-11 David Turner <[email protected]>
+
+ * README, docs/CHANGES, Jamfile.in: Updates for the 2.1.0 release.
+
+ * docs/FTL.txt: Updated license text to provide a preferred
+ disclaimer and adjust copyright dates/extents.
+
+ * include/freetype/cache/ftcglyph.h: Removing obsolete (and
+ confusing) comment.
+
+ * Jamfile.in: New file.
+
+2002-04-11 Maxim Shemanarev <[email protected]>
+
+ * src/smooth/ftgrays.c (gray_hline): Minor optimization.
+
+2002-04-02 Werner Lemberg <[email protected]>
+
+ Fixes from the stable branch:
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS):
+ Removed.
+ [FT_CONFIG_OPTION_OLD_CALCS]: Removed.
+ * include/freetype/internal/ftcalc.h, src/base/ftcalc.c
+ [FT_CONFIG_OPTION_OLD_CALCS]: Removed.
+
+ * src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match
+ output of FreeType 1.
+
+ * src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small
+ bug that created un-even stem widths when hinting Postscript fonts.
+
+ * src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
+
+2002-04-01 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c: 16bit fixes.
+ (TT_Load_Simple_Glyph): Improve debug messages.
+ (load_truetype_glyph): Remove dead code.
+ * src/truetype/ttinterp.c: 16bit fixes.
+ * src/truetype/ttobjs.c: Ditto.
+
+ * include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
+ src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
+ src/sfnt/ttpost.h: s/index/idx/.
+
+2002-03-31 Yao Zhang <[email protected]>
+
+ * src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
+
+2002-03-31 Werner Lemberg <[email protected]>
+
+ * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/.
+ * src/psaux/t1cmap.c: Ditto.
+ * src/sfnt/ttcmap0.c: Ditto.
+
+ * include/freetype/internal/tttypes.h,
+ include/freetype/internal/sfnt.h (TT_Goto_Table_Func): Renamed to ...
+ (TT_Loader_GotoTableFunc): This.
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug
+ messages.
+ * src/psnames/psmodule.c (psnames_interface)
+ [!FT_CONFIG_OPTION_ADOBE_GLYPH_LIST]: Fix typo.
+ * src/sfnt/sfdriver.c (get_sfnt_table): 16bit fix.
+ * src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
+ * src/sfnt/ttcmap0.c: 16bit fixes.
+ (TT_Build_CMaps): Simplify debug messages.
+ (tt_cmap12_char_next): Fix offset.
+ * src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
+ messages.
+ (TT_Load_OS2): 16bit fix.
+
+2002-03-30 David Turner <[email protected]>
+
+ * include/freetype/internal/tttypes.h: Adding comments to some of
+ the TT_FaceRec fields.
+
+ * src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings.
+
+ * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_{utf16,ucs4,other}:
+ New functions.
+ (tt_face_get_name): Use them to properly extract an ascii font name.
+
+2002-03-30 Werner Lemberg <[email protected]>
+
+ * include/freetype/t1tables.h (t1_blend_max): Fix typo.
+ * src/base/ftstream.c: Simplify FT_ERROR calls.
+ * src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
+
+ * src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
+ [TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
+ * src/cff/sfobjs.c (SFNT_Load_Face)
+ [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
+ * src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
+ [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
+
+ * src/truetype/ttdriver.c, src/truetype/ttobjs.c,
+ src/truetype/ttobjs.h: Renaming driver functions to the
+ FT_<Subject>_<Action> scheme:
+
+ TT_Init_Driver => TT_Driver_Init
+ TT_Done_Driver => TT_Driver_Done
+ TT_Init_Face => TT_Face_Init
+ TT_Done_Face => TT_Face_Done
+ TT_Init_Size => TT_Size_Init
+ TT_Done_Size => TT_Size_Done
+ TT_Reset_Size => TT_Size_Reset
+
+2002-03-29 Werner Lemberg <[email protected]>
+
+ * builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
+ FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
+ files.
+ * builds/unix/ftconfig.in: Add argument to FT_LOCAL and
+ FT_LOCAL_DEF.
+ * src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
+ * builds/unix/configure.ac: Temporarily deactivate creation of
+ ../../Jamfile.
+ * builds/unix/configure: Updated.
+
+2002-03-28 KUSANO Takayuki <[email protected]>
+
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos.
+
+2002-03-28 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
+ compiler warnings.
+ * include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
+ some members.
+ * src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
+ * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
+ cast.
+ (t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
+ `FT_CALLBACK_TABLE_DEF'.
+ * src/psaux/t1cmap.h: Updated.
+ * src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
+ instead of zero.
+ * src/type1/t1objs.c (T1_Face_Init): Use casts.
+
+2002-03-26 David Turner <[email protected]>
+
+ * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c:
+ Fixed a small bug in the FT_CMaps support code.
+
+2002-03-25 David Turner <[email protected]>
+
+ * src/truetype/ttinterp.c (Norm): Replaced with...
+ (TT_VecLen): This.
+ (TT_MulFix14, TT_DotFix14): New functions.
+ (Project, Dual_Project, Free_Project, Compute_Point_Displacement,
+ Ins_SHPIX, Ins_MIAP, Ins_MIRP): Use them.
+ [FT_CONFIG_OPTION_OLD_CALCS]: Removed all code.
+
+2002-03-22 David Turner <[email protected]>
+
+ * src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
+ Various fixes to make the FT_CMaps support work correctly (more
+ tests are still needed).
+
+ * include/freetype/internal/ftobjs.h, src/sfnt/Jamfile,
+ src/sfnt/rules.mk, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
+ src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
+ the SFNT charmap support to use FT_CMaps.
+
+ * include/freetype/fterrdef.h: New file.
+ * include/freetype/fterrors.h: Include it. It contains all error
+ codes.
+ * include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New
+ macro.
+
+ * include/freetype/internal/ftmemory.h, and a lot of other files:
+ Changed the names of memory macros. Examples:
+
+ MEM_Set => FT_MEM_SET
+ MEM_Copy => FT_MEM_COPY
+ MEM_Move => FT_MEM_MOVE
+
+ ALLOC => FT_ALLOC
+ FREE => FT_FREE
+ REALLOC = >FT_REALLOC
+
+ FT_NEW was introduced to allocate a new object from a _typed_
+ pointer.
+
+ Note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by
+ FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
+ arguments.
+
+ This results in _lots_ of sources being changed, but makes the code
+ more generic and less error-prone.
+
+ * include/freetype/internal/ftstream.h, src/base/ftstream.c,
+ src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c,
+ src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
+ src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c,
+ src/winfonts/winfnt.c: Changed the definitions of stream macros.
+ Examples:
+
+ NEXT_Byte => FT_NEXT_BYTE
+ NEXT_Short => FT_NEXT_SHORT
+ NEXT_UShortLE => FT_NEXT_USHORT_LE
+ READ_Short => FT_READ_SHORT
+ GET_Long => FT_GET_LONG
+ etc.
+
+ Also introduced the FT_PEEK_XXXX functions.
+
+ * src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented
+ out function.
+ (find_encoding): Removed.
+ (CFF_Face_Init): Remove charmap support.
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS,
+ TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune
+ support of cmaps.
+
+2002-03-21 David Turner <[email protected]>
+
+ * src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
+ to new FT_CMap definitions.
+
+ * src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
+ src/type1/t1cmap.c: Updating and moving the Type 1 FT_CMap support
+ from `src/type1' to `src/psaux' since it is going to be shared by
+ the Type 1 and CID font drivers.
+
+ * src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
+ src/psaux/rules.mk, include/freetype/internal/psaux.h: Added support
+ for Type 1 FT_CMaps.
+
+2002-03-20 David Turner <[email protected]>
+
+ * src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): Fixed a
+ memory allocation bug that was due to un-careful renaming of the
+ FT_SubGlyph type.
+
+ * src/base/ftdbgmem.c (ft_mem_table_destroy): Fixed a small bug that
+ caused the library to crash with Electric Fence when memory
+ debugging is used.
+
+ * Renaming stream macros. Examples:
+
+ FILE_Skip => FT_STREAM_SKIP
+ FILE_Read => FT_STREAM_READ
+ ACCESS_Frame => FT_FRAME_ENTER
+ FORGET_Frame => FT_FRAME_EXIT
+ etc.
+
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed memory leak.
+
+ * include/freetype/internal/ftobjs.h: Changing the definition of
+ FT_CMap_CharNextFunc slightly.
+
+ * src/cff/*.c: Updating CFF type definitions.
+
+2002-03-14 David Turner <[email protected]>
+
+ * include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
+ src/base/ftapi.c, src/base/ftobjs.c: Updating the type definitions
+ for the auto-hinter module.
+
+ FT_AutoHinter_Interface => FT_AutoHinter_ServiceRec
+ FT_AutoHinter_Interface* => FT_AutoHinter_Service
+ etc.
+
+ FT_AutoHinter_Get_Global_Func => FT_AutoHinter_GlobalGetFunc
+ FT_AutoHinter_Done_Global_Func => FT_AutoHinter_GlobalDoneFunc
+ etc.
+
+ * ahloader.h [_STANDALONE_]: Removed all conditional code.
+
+ * include/freetype/internal/cfftypes.h, src/cff/*.c: Updating the
+ type definitions of the CFF font driver.
+
+ CFF_Font => CFF_FontRec
+ CFF_Font* => CFF_Font
+ etc.
+
+ * include/freetype/internal/fnttypes.h, src/winfonts/*.c: Updating
+ type definitions of the Windows FNT font driver.
+
+ * include/freetype/internal/ftdriver.h,
+ include/freetype/internal/ftobjs.h, src/base/ftapi.c,
+ src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h,
+ src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c,
+ src/pcf/pcfdriver.h, src/truetype/ttdriver.c,
+ src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h,
+ src/winfonts/winfnt.c, src/winfonts/winfnt.h: Updating type
+ definitions for font drivers.
+
+ FTDriver_initFace => FT_Face_InitFunc
+ FTDriver_initGlyphSlot => FT_Slot_InitFunc
+ etc.
+
+ * src/cid/cidobjs.c (CID_Face_Init): Remove dead code.
+
+ * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: Updated a
+ few face method definitions:
+
+ FT_PSName_Requester => FT_Face_GetPostscriptNameFunc
+ FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
+ FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
+
+ * src/base/ftapi.c: New file. It contains backwards compatibility
+ functions.
+
+ * include/freetype/internal/psaux.h, src/cid/cidload.c,
+ src/cidtoken.h, src/psaux/psobjs.c, src/psaux/psobjs.h,
+ src/psaux/t1decode.c, stc/type1/t1load.c, src/type1/t1tokens.h:
+ Updated common PostScript type definitions.
+ Renamed all enumeration values like to uppercase variants:
+
+ t1_token_any => T1_TOKEN_TYPE_ANY
+ t1_field_cid_info => T1_FIELD_LOCATION_CID_INFO
+ etc.
+
+ * include/freetype/internal/psglobals.h: Removed.
+ * include/freetype/internal/pshints.h, src/pshinter/pshglob.h:
+ Updated.
+
+ * include/freetype/internal/tttypes.h,
+ include/freetype/internal/sfnt.h, src/base/ftnames.c,
+ src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: Updated
+ SFNT/TrueType type definitions.
+
+ * include/freetype/freetype.h, include/freetype/internal/ftgloadr.h:
+ Updating type definitions for the glyph loader.
+
+2002-03-13 Antoine Leca <[email protected]>
+
+ * include/freetype/config/ftoption.h: Changed the automatic
+ detection of Microsoft C compilers to automatically support 64-bit
+ integers only since revision 9.00 (i.e. >= Visual C++ 2.0).
+
+2002-03-08 Werner Lemberg <[email protected]>
+
+ * src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
+
+2002-03-07 Werner Lemberg <[email protected]>
+
+ * src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
+ ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
+ ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
+ FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
+ * src/base/ftcalc.c (FT_MulFix): Ditto.
+ * src/cff/cffdrivr.c (cff_get_name_index): Ditto.
+ * src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init,
+ CFF_GlyphSlot_Init): Ditto.
+ * src/cid/cidobjs.c (CID_GlyphSlot_Init,
+ CID_Size_Get_Globals_Funcs): Ditto.
+ * src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
+ Ditto.
+ * src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
+ * src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
+ variables.
+
+ * include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
+ to...
+ (T1_Builder_FuncsRec): This.
+ (T1_Builder_Funcs): New typedef.
+ (PSAux_Interface): Remove compiler warnings.
+ * src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
+ (t1_builder_funcs): Updated.
+
+ * src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
+ (PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
+ (PSH_AlignmentRec): Updated.
+
+ * include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
+ typo.
+ * include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
+ * src/base/ftstream (FT_Get_Char): Rename to...
+ (FT_Stream_Get_Char): This.
+
+ * src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
+ a built-in function in gcc, causing warning messages with gcc 3.0.
+ * src/autohint/ahglyph.c (ah_outline_load): Ditto.
+ * src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
+ * src/cache/ftcmanag.c (ftc_family_table_alloc,
+ ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
+ Ditto.
+ * src/cff/cffload.c (cff_new_index, cff_done_index,
+ cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
+ CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
+ CFF_Done_Font): Ditto.
+ * src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
+ * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
+ * src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
+ ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
+ * src/pshinter/pshalgo1.c (psh1_hint_table_record,
+ psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
+ * src/pshinter/pshalgo2.c (psh2_hint_table_record,
+ psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
+ * src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
+ TT_Get_PS_Name): Ditto.
+ * src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
+ load_truetype_glyph): Ditto.
+ * src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
+ * src/type1/t1afm.c (T1_Get_Kerning): Ditto.
+ * include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
+
+2002-03-06 David Turner <[email protected]>
+
+ * src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c
+ (CID_Face_Init): Fixed another bug related to the
+ ascender/descender/text height of Postscript fonts.
+
+ * src/pshinter/pshalgo2.c (print_zone): Renamed to ...
+ (psh2_print_zone): This.
+ * src/pshinter/pshalgo1.c (print_zone): Renamed to ...
+ (psh1_print_zone): This.
+
+ * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
+ src/base/ftobjs.c: Adding the new FT_Library_Version API to return
+ the library's current version in dynamic links.
+ * src/base/ftinit.c (FT_Init_FreeType): Updated.
+
+2002-03-06 Werner Lemberg <[email protected]>
+
+ * src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/.
+ * src/pshinter/pshglob.c (psh_global_scale_widths,
+ psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
+ Ditto.
+
+2002-03-05 David Turner <[email protected]>
+
+ * src/type1/t1objs.c (T1_Face_Init), src/cff/cffobjs.c
+ (CFF_Face_Init), src/cid/cidobjs.c (CID_Face_Init): Removing the bug
+ that returned global BBox values in 16.16 fixed format (instead of
+ integer font units).
+
+ * src/cid/cidriver.c (cid_get_postscript_name): Fixed a bug that
+ caused the CID driver to return Postscript font names with a leading
+ slash (`/') as in `/MOEKai-Regular'.
+
+ * src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
+ src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
+ that it accepts broken fonts like `foxjump.ttf', which made FreeType
+ crash when trying to load them.
+
+ Also improved the name table parser to be able to load
+ Windows-encoded entries before Macintosh or Unicode ones, since it
+ seems some fonts don't have reliable values here anyway.
+
+ * include/freetype/internal/psnames.h: Add typedef for
+ `PSNames_Service'.
+
+2002-03-05 Werner Lemberg <[email protected]>
+
+ * builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
+ 1.4.2.
+ Apply a small patch for AIX to make shared libraries work (this
+ patch is already in the CVS version of libtool).
+
+ * builds/unix/config.sub, builds/unix/config.guess: Updated to
+ recent versions.
+
+ * builds/unix/configure.ac: Fix typo
+ (AC_CONFIG_FILE->AC_CONFIG_FILES).
+
+ * builds/unix/configure: Regenerated.
+
+2002-02-28 David Turner <[email protected]>
+
+ * include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
+ `FT_LOCAL( xxxx )' everywhere in the source. The same goes for
+ `FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'.
+
+ * include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH):
+ Changing version to 2.1.0 to indicate an unstable branch.
+ Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
+
+ * src/base/ftobjs.c: Implement FT_Get_First_Char and
+ FT_Get_Next_Char.
+
+ * include/freetype/t1tables.h: Renaming structure types. This
+
+ typedef T1_Struct_
+ {
+ } T1_Struct;
+
+ becomes
+
+ typedef PS_StructRec_
+ {
+ } PS_StructRec, *PS_Struct;
+
+ typedef PS_StructRec T1_Struct; /* backwards-compatibility */
+
+ Hence, we increase the coherency of the source code by effectively
+ using the `Rec' prefix for structure types.
+
+2002-02-27 David Turner <[email protected]>
+
+ * src/sfnt/ttload.c (TT_Load_Names): Simplifying and securing the
+ names table loader. Invalid individual name entries are now handled
+ correctly. This allows the loading of very buggy fonts like
+ `foxjump.ttf' without allocating tons of memory and causing crashes.
+
+ * src/otlayout/otlcommon.h, src/otlayout/otlcommon.c: Adding (still
+ experimental) code for OpenType Layout tables validation and
+ parsing.
+
+ * src/type1/t1cmap.h, src/type1/t1cmap.c: Adding (still
+ experimental) code for Type 1 charmap processing.
+
+ * src/sfnt/ttcmap0.c: New file. It contains a new, still
+ experimental SFNT charmap processing support.
+
+ * include/freetype/internal/ftobjs.h: Adding validation support as
+ well as internal charmap object definitions (FT_CMap != FT_CharMap).
+
+2002-02-24 David Turner <[email protected]>
+
+ * Renaming stream functions to the FT_<Subject>_<Action> scheme:
+
+ FT_Seek_Stream => FT_Stream_Seek
+ FT_Skip_Stream => FT_Stream_Skip
+ FT_Read_Stream => FT_Stream_Read
+ FT_Read_Stream_At => FT_Stream_Read_At
+ FT_Access_Frame => FT_Stream_Enter_Frame
+ FT_Forget_Frame => FT_Stream_Exit_Frame
+ FT_Extract_Frame => FT_Stream_Extract_Frame
+ FT_Release_Frame => FT_Stream_Release_Frame
+ FT_Get_XXXX => FT_Stream_Get_XXXX
+ FT_Read_XXXX => FT_Stream_Read_XXXX
+
+ FT_New_Stream( filename, stream ) =>
+ FT_Stream_Open( stream, filename )
+
+ (The function doesn't create the FT_Stream structure, it simply
+ initializes it for reading.)
+
+ FT_New_Memory_Stream( library, FT_Byte* base, size, stream ) =>
+ FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
+
+ FT_Done_Stream => FT_Stream_Close
+ FT_Stream_IO => FT_Stream_IOFunc
+ FT_Stream_Close => FT_Stream_CloseFunc
+
+ ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only)
+ ft_io_stream => ft_ansi_stream_io (in base/ftsystem.c only)
+
+ * src/base/ftutil.c: New file. Contains all memory and list
+ management code (previously in `ftobjs.c' and `ftlist.c',
+ respectively).
+
+ * include/freetype/internal/ftobjs.h: Moving all code related to
+ glyph loaders to ...
+ * include/freetype/internal/ftgloadr.h: This new file.
+ `FT_GlyphLoader' is now a pointer to the structure
+ `FT_GlyphLoaderRec'.
+ (ft_glyph_own_bitmap): Renamed to ...
+ (FT_GLYPH_OWN_BITMAP): This.
+ * src/base/ftobjs.c: Moving all code related to glyph loaders
+ to ...
+ * src/base/ftgloadr.c: This new file.
+
+2002-02-22 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
+ enum to avoid compiler warnings.
+
+2002-02-21 David Turner <[email protected]>
+
+ Modified the debug sub-system initialization. Trace levels can now
+ be specified within the `FT2_DEBUG' environment variable. See the
+ comments within `ftdebug.c' for more details.
+
+ * src/base/ftdebug.c: (FT_SetTraceLevel): Removed.
+ (ft_debug_init): New function.
+ (ft_debug_dummy): Removed.
+ Updated to changes in ftdebug.h
+
+ * include/freetype/internal/ftdebug.h: Always define
+ FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE is defined.
+ (FT_Assert): Renamed to ...
+ (FT_ASSERT): This.
+ Some stuff from ftdebug.h has been moved to ...
+
+ * include/freetype/internal/fttrace.h: New file, to define the trace
+ levels used for debugging. It is used both to define enums and
+ toggle names for FT2_DEBUG.
+
+ * include/freetype/internal/internal.h: Updated.
+
+ * src/base/ftobjs.c, src/base/ftstream.c: Updated.
+
+ * include/freetype/internal/ftextend.h, src/base/ftextend.c:
+ Removed. Both files are now completely obsolete.
+ * src/base/Jamfile, src/base/rules.mk: Updated.
+
+ * include/freetype/fterrors.h: Adding `#undef FT_ERR_CAT' and
+ `#undef FT_ERR_XCAT' to avoid warnings with certain compilers (like
+ LCC).
+
+ * src/pshinter/pshalgo2.c (print_zone): Renamed to ...
+ (psh2_print_zone): This to avoid errors during compilation of debug
+ library.
+
+ * src/smooth/ftgrays.c (FT_COMPONENT): Change definition to as
+ `trace_smooth'.
+
+2002-02-20 David Turner <[email protected]>
+
+ * README: Adding `[email protected]' address for bug reports.
+
+2002-02-20 Werner Lemberg <[email protected]>
+
+ * builds/unix/install.mk (check): New dummy target.
+ (.PHONY): Add it.
+
+2002-02-19 Werner Lemberg <[email protected]>
+
+ * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
+
+ * src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
+ to avoid compiler warning.
+ * src/cff/cffload.c (CFF_Get_String): Ditto.
+ * src/cff/cffobjs.c (CFF_StrCopy): Ditto.
+ * src/psaux/psobjs.c (PS_Table_Done): Ditto.
+ * src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
+ * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
+ (pcf_get_bitmaps): The same for `sizebitmaps'.
+ * src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for
+ `orig_y'.
+ (t1operator_seac): Comment out more dead code.
+ * src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
+ conditional.
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph,
+ load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
+ conditional.
+
+2002-02-18 Werner Lemberg <[email protected]>
+
+ * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
+ variables.
+ * src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
+ of UNUSED.
+ * src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
+ * src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
+ swapping code.
+ * src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
+ * src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
+ * src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
+ * src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
+ * include/freetype/internal/ftobjs.h (UNUSED): Removed.
+
+2002-02-10 Roberto Alameda <[email protected]>
+
+ Add support for ISOLatin1 PS encoding.
+
+ * include/freetype/freetype.h (ft_encoding_latin_1): New tag
+ (`lat1').
+ * include/freetype/internal/t1types.h (T1_Encoding_Type): Add
+ `t1_encoding_isolatin1'.
+ * src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
+ ft_encoding_latin_1.
+ * src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
+ * src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
+
+----------------------------------------------------------------------------
+
+Copyright 2002, 2003, 2004, 2005, 2007, 2008 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT. By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
diff --git a/components/external/freetype/ChangeLog.22 b/components/external/freetype/ChangeLog.22
index 0462be96db..4144288a5b 100644
--- a/components/external/freetype/ChangeLog.22
+++ b/components/external/freetype/ChangeLog.22
@@ -1,2837 +1,2837 @@
-2006-05-12 Werner Lemberg <[email protected]>
-
-
- * Version 2.2.1 released.
- =========================
-
-
- Tag sources with `VER-2-2-1'.
-
-2006-05-12 Werner Lemberg <[email protected]>
-
- * src/tools/docmaker/sources.py (re_source_keywords): Add word
- boundary markers.
- * src/tools/docmaker/content.py (re_field): Allow `.' in field names
- (but not at the beginning or end).
- * src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset.
- (block_footer): Split into...
- (block_footer_start, block_footer_middle, block_footer_end): This to
- add navigation buttons.
- (HtmlFormatter::block_exit): Updated.
-
- * include/freetype/*: Many minor documentation improvements (adding
- links, spelling errors, etc.).
-
-2006-05-11 Werner Lemberg <[email protected]>
-
- * README: Minor updates.
-
- * include/freetype/*: s/scale/scaling value/ where appropriate.
- Many other minor documentation improvements.
-
- * src/tools/docmaker/sources.py (re_italic, re_bold): Handle
- trailing punctuation.
- * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add
- warning message for undefined cross references.
- Update handling of re_italic and re_bold.
-
-2006-05-11 Masatake YAMATO <[email protected]>
-
- * builds/unix/ftsystem.c (FT_Stream_Open): Check errno only if
- read system call returns -1.
- Remove a redundant parenthesis.
-
-2006-05-10 Werner Lemberg <[email protected]>
-
- * builds/unix/ftsystem.c (FT_Stream_Open): Avoid infinite loop if
- given an empty, un-mmap()able file. Reported and suggested fix in
- Savannah bug #16555.
-
- * builds/freetype.mk (refdoc): Write-protect the `docmaker'
- directory to suppress generation of .pyc files. According to the
- Python docs there isn't a more elegant solution (currently).
-
- * builds/toplevel.mk (dist): New target which builds .tar.gz,
- .tar.bz2, and .zip files. Note that the version number is still
- hard-coded.
- (do-dist): Sub-target of `dist'.
- (CONFIG_GUESS, CONFIG_SUB): New variables.
- (.PHONY): Updated.
-
-2006-05-09 Rajeev Pahuja <[email protected]>
-
- * builds/win32/visualc/freetype.sln,
- builds/win32/visualc/freetype.vcproj: Upgraded to VS.NET 2005 from
- VS.NET 2003
- Added files ftbbox.c, fttype1.c, ftwinfnt.c, ftsynth.c.
-
- * builds/win32/visualc/index.html: Updated.
-
-2006-05-07 Werner Lemberg <[email protected]>
-
- Put version information into the configure script. Reported by Paul
- Watson <[email protected]>.
-
- * builds/unix/configure.ac: Renamed to...
- * builds/unix/configure.raw: This which now serves (with appropriate
- modifications) as a template for configure.ac.
-
- * version.sed: New script.
-
- * autogen.sh: Generate configure.ac from configure.raw, using
- FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH from freetype.h.
-
-2006-05-06 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
- * builds/unix/configure.ac (version_info): Set to 9:10:3.
-
- * builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj, builds/freetype.mk (refdoc),
- Jamfile (RefDoc), README: s/220/221/, s/2.2.0/2.2.1/.
- Minor updates.
-
- * docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS:
- Updated.
-
- * builds/unix/install-sh: Updated from `texinfo' CVS module at
- savannah.gnu.org.
-
- * devel/ftoption.h: Synchronize with
- include/freetype/config/ftoption.h.
-
-2006-05-04 Werner Lemberg <[email protected]>
-
- * src/lzw/ftlzw2.c: Renamed to...
- * src/lzw/ftlzw.c: This.
-
- * src/lzw/Jamfile, src/lzw/rules.mk: Updated.
-
- * builds/mac/FreeType.m68k_cfm.make.txt,
- builds/mac/FreeType.m68k_far.make.txt,
- builds/mac/FreeType.ppc_carbon.make.txt,
- builds/mac/FreeType.ppc_classic.make.txt: Updated.
-
-2006-05-03 David Turner <[email protected]>
-
- Allow compilation again with C++ compilers.
-
- * include/freetype/internal/ftmemory.h (FT_ASSIGNP,
- FT_ASSIGNP_INNER): New macros which do the actual assignment, and
- which exist in two variants (for C and C++).
- Update callers accordingly.
-
-2006-05-03 Werner Lemberg <[email protected]>
-
- * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
-
-2006-05-02 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
- (FT_ALLOC): Remove redundant redefinition.
-
- * builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
- `-Wstrict-prototypes'.
-
- * src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
-
- * include/freetype/config/ftconfig.h (FT_BASE_DEF) [__cplusplus]:
- Remove `extern'.
-
-2006-05-02 David Turner <[email protected]>
-
- Update the memory management functions and macros to safely deal
- with array size buffer overflows. This corresponds to attempts to
- allocate arrays that are too large. For an example, consider the
- following code:
-
- count = read_uint32_from_file(); array = malloc( sizeof ( Item ) *
- count ); for ( nn = 0; nn < count; nn++ )
- array[nn] = read_item_from_file();
-
- If `count' is larger than `FT_UINT_MAX/sizeof(Item)', the
- multiplication overflows, and the array allocated os smaller than
- the data read from the file. In this case, the heap will be
- trashed, and this can be used as a denial-of-service attack, or make
- the engine crash later.
-
- The FT_ARRAY_NEW and FT_ARRAY_RENEW macros now ensure that the new
- count is no larger than `FT_INT_MAX/item_size', otherwise a new
- error code `FT_Err_Array_Too_Large' will be returned.
-
- Note that the memory debugger now works again when FT_DEBUG_MEMORY
- is defined. FT_STRICT_ALIASING has disappeared; the corresponding
- code is now the default.
-
-
- * include/freetype/config/ftconfig.h (FT_BASE_DEF) [!__cplusplus]:
- Don't use `extern'.
-
- * include/freetype/fterrdef.h (FT_Err_Array_Too_Large): New error
- code.
-
- * include/freetype/internal/ftmemory.h (FT_DEBUG_INNER)
- [FT_DEBUG_MEMORY]: New macro.
- (ft_mem_realloc, ft_mem_qrealloc): Pass new object size count also.
- (ft_mem_alloc_debug, ft_mem_qalloc_debug, ft_mem_realloc_debug,
- ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
- (FT_MEM_ALLOC, FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC,
- FT_MEM_FREE): Redefine.
- (FT_MEM_NEW_ARRAY, FT_MEM_RENEW_ARRAY, FT_MEM_QNEW_ARRAY,
- FT_MEM_QRENEW_ARRAY): Redefine.
- (FT_ALLOC_MULT, FT_REALLOC_MULT, FT_MEM_QALLOC_MULT,
- FT_MEM_QREALLOC_MULT): New macros. Update callers where
- appropriate.
- (FT_MEM_SET_ERROR): Slightly redefine.
-
-
- * src/base/ftdbgmem.c (_ft_debug_file, _ft_debug_lineno)
- [FT_DEBUG_MEMORY]: New global variables, replacing...
- (FT_MemTable_Rec) [FT_DEBUG_MEMORY]: Remove `filename' and
- `line_no'. Update all callers.
- (ft_mem_debug_alloc) [FT_DEBUG_MEMORY]: Avoid possible integer
- overflow.
- (ft_mem_alloc_debug, ft_mem_realloc_debug, ft_mem_qalloc_debug,
- ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
-
- * src/base/ftmac.c (read_lwfn): Catch integer overflow.
- * src/base/ftrfork.c (raccess_guess_darwin_hfsplus): Ditto.
- * src/base/ftutil.c: Remove special code for FT_STRICT_ALIASING.
- (ft_mem_alloc, ft_mem_realloc, ft_mem_qrealloc): Rewrite.
-
-
- * include/freetype/ftstream.h (FT_FRAME_ENTER, FT_FRAME_EXIT,
- FT_FRAME_EXTRACT, FT_FRAME_RELEASE): Use FT_DEBUG_INNER to report the
- place where the frames were entered, extracted, exited or released
- in the memory debugger.
-
- * src/base/ftstream.c (FT_Stream_ReleaseFrame) [FT_DEBUG_MEMORY]:
- Call ft_mem_free.
- (FT_Stream_EnterFrame) [FT_DEBUG_MEMORY]: Use ft_mem_qalloc.
- (FT_Stream_ExitFrame) [FT_DEBUG_MEMORY]: Use ft_mem_free.
-
-2006-04-30 suzuki toshiya <[email protected]>
-
- * src/base/ftobjs.c (Mac_Read_POST_Resource): Correct pfb_pos
- initialization, remove extra cast to copy to pfb_lenpos. This fixes
- parsing of PFB fonts with MacOS resource fork (bug introduced
- 2003-09-11). Patch provided by Huib-Jan Imbens <[email protected]>.
-
-2006-04-29 Werner Lemberg <[email protected]>
-
- Further C library abstraction. Based on a patch from
-
- * include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE,
- ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc,
- ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for
- C library functions. Update all users accordingly (and catch some
- other places where the C library function was used instead of the
- wrapper functions).
-
- * src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
- * src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
- include malloc.h.
-
-
- * builds/unix/unix-def.in (datarootdir): Define, for autoconf 2.59c
- and forthcoming versions.
-
-2006-04-28 Werner Lemberg <[email protected]>
-
- * src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed,
- obsolete.
-
-2006-04-27 yi luo <[email protected]>
-
- * builds/win32/visualc/freetype.vcproj: Updated.
-
-2006-04-26 David Turner <[email protected]>
-
-
- * Version 2.2 released.
- =======================
-
-
- Tag sources with `VER-2-2-0'.
-
-2006-04-26 Werner Lemberg <[email protected]>
-
- * src/psaux/psobjs.c (shift_elements): Don't use FT_Long but
- FT_PtrDiff for `delta'. Reported by Céline PILLET
-
-2006-04-21 David Turner <[email protected]>
-
- * include/freetype/ftincrem.h: Documentation updates.
- (FT_Incremental_Interface): New typedef.
-
- * include/freetype/ftmodapi.h, include/freetype/ftglyph.h:
- Documentation updates.
-
- * include/freetype/freetype.h: Documentation update.
- (FT_HAS_FAST_GLYPHS): Always set to 0.
-
- * include/freetype/ftstroke.h, src/base/ftstroke.c (FT_Stroker_New):
- Take an FT_Library argument instead of FT_Memory.
-
- * src/sfnt/ttcmap.c: Remove compiler warnings (gcc-4.0.2).
-
-2006-04-13 David Turner <[email protected]>
-
- * src/autofit/afloader.c (af_loader_init, af_loader_load_g): Remove
- superfluous code in the auto-fitter's loader.
-
-2006-04-05 Detlef Würkner <[email protected]>
-
- * builds/amiga/makefile, builds/amiga/makefile.os4,
- builds/amiga/smakefile: Added FT2_BUILD_LIBRARY define.
-
-2006-04-03 luoyi <[email protected]>
-
- * builds/compiler/intelc.mk (TE): New variable.
- (ANSIFLAGS): Updated.
-
-2006-04-03 Werner Lemberg <[email protected]>
-
- * builds/exports.mk (clean_symbols_list, clean_apinames): Removed.
- (CLEAN): Add $(EXPORTS_LIST) and $(APINAMES_EXE).
- (.PHONY): Updated.
-
- * configure.ac: Minor fixes to improve --help output.
-
-
- * docs/PROBLEMS: New file.
-
-2006-04-01 David Turner <[email protected]>
-
- * docs/CHANGES: Updated.
-
- * include/freetype/ftcache.h, include/freetype/config/ftheader.h:
- Update documentation comments.
-
-2006-04-01 Werner Lemberg <[email protected]>
-
- * builds/unix/install.mk (uninstall): Don't handle `cache'
- directory which no longer exists.
-
-2006-03-29 Detlef Würkner <[email protected]>
-
- * src/psaux/psconv.c: Changed some variables which are expected to
- hold negative values from `char' to `FT_Char' to allow building with
- a compiler where `char' is unsigned by default.
-
-2006-03-27 David Turner <[email protected]>
-
- * src/sfnt/ttkern.c (tt_face_get_kerning): Fix a serious bug that
- causes some programs to go into an infinite loop when dealing with
- fonts that don't have a properly sorted kerning sub-table.
-
-2006-03-26 Werner Lemberg <[email protected]>
-
- * src/bdf/bdflib.c (ERRMSG4): New macro.
- (_bdf_parse_glyphs): Handle invalid BBX values.
-
- * include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error
- macro.
-
-2006-03-23 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-
- * src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
- padding between table elements.
- (html_header_1): The `DOCTYPE' comment must be in uppercase.
- (make_html_para): Convert `...' quotations into real left and
- right single quotes.
- Use `para_header' and `para_footer'.
-
- * src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'"
- also.
-
-2006-03-23 David Turner <[email protected]>
-
- Add FT_Get_SubGlyph_Info API to retrieve subglyph data. Note that
- we do not expose the FT_SubGlyphRec structure.
-
- * include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
- to...
- * include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
- (FT_Get_SybGlyph_Info): New declaration.
-
- * src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
-
-
- * src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and
- rsb_delta correctly in edge cases.
-
-2006-03-22 Werner Lemberg <[email protected]>
-
- * src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup)
- [!FTC_INLINE]: Compile conditionally.
- * src/cache/ftccache.h: Updated.
-
- * src/cache/ftcglyph.c (FTC_GNode_Init, FTC_GNode_UnselectFamily,
- FTC_GNode_Done, FTC_GNode_Compare, FTC_Family_Init, FTC_GCache_New):
- s/FT_EXPORT/FT_LOCAL/.
- (FTC_GCache_Init, FTC_GCache_Done): Commented out.
- (FTC_GCache_Lookup) [!FTC_INLINE]: Compile conditionally.
- s/FT_EXPORT/FT_LOCAL/.
- * src/cache/ftcglyph.h: Updated.
-
- * src/cache/ftcimage.c (FTC_INode_Free, FTC_INode_New):
- s/FT_EXPORT/FT_LOCAL/.
- (FTC_INode_Weight): Commented out.
- * src/cache/ftcimage.h: Updated.
-
- * src/cache/ftmanag.c (FTC_Manager_Compress,
- FTC_Manager_RegisterCache, FTC_Manager_FlushN):
- s/FT_EXPORT/FT_LOCAL/.
- * src/cache/ftmanag.h: Updated.
-
- * src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New,
- FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/.
- (FTC_SNode_Weight): Commented out.
- * src/cache/ftcsbits.h: Updated.
-
-2006-03-22 Werner Lemberg <[email protected]>
-
- * src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy):
- Remove, unused.
-
- * src/cache/ftccmap.h: Remove, unused.
-
- * src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h.
-
-2006-03-21 Zhe Su <[email protected]>
-
- * src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve
- algorithm.
-
-2006-03-21 Werner Lemberg <[email protected]>
-
- * src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member.
-
- * src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'.
-
- * src/cff/cffgload.c (cff_slot_load): Change type of third parameter
- to `FT_UInt'.
- Check range of `glyph_index'.
- * src/cff/cffgload.h: Updated.
-
-
- * src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset
- correctly.
-
-
- * builds/freetype.mk (refdoc), docs/CHANGES, Jamfile (RefDoc),
- README: s/2.1.10/2.2/.
-
-2006-03-21 David Turner <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_metrics_scale): Fix small bug
- that crashes the auto-hinter (introduced by previous patch).
-
-2006-03-20 Werner Lemberg <[email protected]>
-
- * builds/freetype.mk (CACHE_DIR, CACHE_H): Remove.
- (FREETYPE_H): Updated.
-
- * src/cache/rules.mk (CACHE_H_DIR): Remove.
- (CACHE_DRV_H): Updated.
-
-2006-03-20 David Turner <[email protected]>
-
- * include/freetype/cache/ftccache.h,
- include/freetype/cache/ftccmap.h, include/freetype/cache/ftcglyph.h
- include/freetype/cache/ftcimage.h include/freetype/cache/ftcmanag.h
- include/freetype/cache/ftcmru.h include/freetype/cache/ftcsbits.h:
- Move to...
-
- * src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h,
- src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h,
- src/cache/ftcmru.h: This new location.
- Update declarations according to the changes in the corresponding
- source files.
-
- Note that these files are not used by FreeType clients; all public
- APIs of the cache module have been already moved to
- `include/freetype/ftcache.h', and all FT_CACHE_INTERNAL_XXXX_H
- macros resolve to it.
-
- Reason for the move is to allow modifications of the internals
- without interferences with rogue clients. Note that there are no
- known clients that access the cache internals at the moment.
-
- * builds/unix/install.mk (install): Don't install headers from
- $(CACHE_H).
- Remove `freetype/cache' from the target directory.
-
- * include/freetype/config/ftheader.h (FT_CACHE_MANAGER_H,
- FT_CACHE_INTERNAL_MRU_H, FT_CACHE_INTERNAL_MANAGER_H,
- FT_CACHE_INTERNAL_CACHE_H, FT_CACHE_INTERNAL_GLYPH_H,
- FT_CACHE_INTERNAL_IMAGE_H, FT_CACHE_INTERNAL_SBITS_H): Point to
- FT_CACHE_H.
-
- * src/cache/ftcbasic.c, src/cache/ftccache.h, src/cache/ftccback.h,
- src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h,
- src/cache/ftcimage.c, src/cache/ftcimage.h, src/cache/ftcmanag.c,
- src/cache/ftcmanag.h, src/cache/ftcmru.h, src/cache/ftcsbits.c,
- src/cache/ftcsbits.h: Don't use the FT_CACHE_INTERNAL_XXX_H macros
- but include the headers directly (which are now in `src/cache').
-
- * src/cache/ftccache.c: Don't use the FT_CACHE_INTERNAL_XXX_H
- macros but include the headers directly.
- (FTC_Cache_Init, FTC_Cache_Done, FTC_Cache_NewNode,
- FTC_Cache_Lookup, FTC_Cache_RemoveFaceID): Declare as FT_LOCAL_DEF.
-
- * src/cache/ftccache.c: Don't use the FT_CACHE_INTERNAL_XXX_H
- macros but include the headers directly.
- (FTC_MruNode_Prepend, FTC_MruNode_Up, FTC_MruNode_Remove,
- FTC_MruList_Init, FTC_MruList_Reset, FTC_MruList_Done,
- FTC_MruList_New, FTC_MruList_Remove, FTC_MruList_RemoveSelection):
- Declare as FT_LOCAL_DEF.
- (FTC_MruListFind, FTC_MruList_Lookup) [!FTC_INLINE]: Compile
- conditionally.
- Declare as FT_LOCAL_DEF.
-
-
- * builds/win32/visualc/freetype.dsp: Update project file, add
- missing base source files (ftstroke.c, ftxf86.c, etc.).
-
-
- * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c,
- src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c,
- src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/type1/t1afm.c,
- src/type1/t1objs.c: Remove compiler warnings when building with
- Visual C++ 6 and /W4.
-
- * src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
- hinting for italic/oblique fonts.
-
-
-
- * src/truetype/ttpload.c, src/truetype/ttpload.h
- (tt_face_get_device_metrics): Change second argument to `FT_UInt'.
-
-2006-03-06 David Turner <[email protected]>
-
- * src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): Prevent crashes in
- Mozilla/FireFox print preview in Ubuntu Hoary.
-
-2006-02-28 Chia-I Wu <[email protected]>
-
- * src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not
- return error when size == 0.
-
-2006-02-28 Chia-I Wu <[email protected]>
-
- * src/base/ftobjs.c (FT_Done_Library): Remove modules in reverse
- order so that type42 module is removed before truetype module. This
- avoids double free in some occasions.
-
-2006-02-28 David Turner <[email protected]>
-
- * Release candidate VER-2-2-0-RC4.
- ----------------------------------
-
- * docs/CHANGES: Documentation updates.
-
-2006-02-28 suzuki toshiya <[email protected]>
-
- * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
- build ftvalid in ft2demos. It works as dummy ABI if gxvalid is not
- built.
-
-2006-02-27 Werner Lemberg <[email protected]>
-
- * include/freetype/cache/ftccache.h
- [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of
- ftc_node_done.
-
- * src/cache/ftccache.c (ftc_node_destroy)
- [!FT_CONFIG_OPTION_OLD_INTERNALS]: Mark as FT_LOCAL_DEF. This
- should now fix all possible compilation options.
-
-2006-02-27 David Turner <[email protected]>
-
- * src/base/ftutil.c (ft_mem_alloc, ft_mem_qalloc, ft_mem_realloc,
- ft_mem_qrealloc): Return an error if a negative size is passed in
- parameters.
-
- * src/cache/ftccache.c (ftc_node_destroy): Mark as FT_BASE_DEF since
- it needs to be exported for rogue clients.
-
- * src/pshinter/pshglob.c (psh_blues_set_zones_0): Prevent problems
- with malformed fonts which have an odd number of blue values (these
- are broken according to the specs).
-
- * src/cff/cffload.c (cff_subfont_load), src/type1/t1load.c
- (T1_Open_Face): Modify the loaders to force even-ness of
- `num_blue_values'.
-
- (cff_index_access_element): Ignore invalid entries in index files.
-
-2006-02-27 Chia-I Wu <[email protected]>
-
- * src/base/ftobjs.c (FT_Set_Char_Size): Check the case where width
- or height is 0.
-
-2006-02-27 suzuki toshiya <[email protected]>
-
- * builds/mac/FreeType.m68k_cfm.make.txt,
- builds/mac/FreeType.m68k_far.make.txt,
- builds/mac/FreeType.ppc_carbon.make.txt,
- builds/mac/FreeType.ppc_classic.make.txt: Update to new header
- inclusion introduced on 2006-02-16.
-
-2006-02-27 Chia-I Wu <[email protected]>
-
- * src/base/ftobjs.c (GRID_FIT_METRICS): New macro.
- (ft_glyphslot_grid_fit_metrics, FT_Load_Glyph) [GRID_FIT_METRICS]:
- Re-enable glyph metrics grid-fitting. It is now done in the base
- layer.
- (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Make sure the width and
- height are not too small or too large, just like we were doing in
- 2.1.10.
-
- * src/autofit/afloader.c (af_loader_load_g): The vertical metrics
- are not scaled.
-
-2006-02-26 Werner Lemberg <[email protected]>
-
- * docs/release: Minor additions and clarifications.
-
- * docs/CHANGES: Updated to reflect many fixes for backwards
- compatibility. Still incomplete.
-
-2006-02-26 David Turner <[email protected]>
-
- * src/base/ftobjs.c (ft_recompute_scaled_metrics): Re-enable
- conservative rounding of metrics to avoid breaking clients like
- Pango (see http://bugzilla.gnome.org/show_bug.cgi?id=327852).
-
-2006-02-25 Werner Lemberg <[email protected]>
-
- * devel/ftoption.h: Synchronize with
- include/freetype/config/ftoption.h.
-
- * src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF (again).
-
-2006-02-25 David Turner <[email protected]>
-
- Fix compiler warnings as well as C++ compilation problems.
- Add missing prototypes.
-
- * src/autofit/afcjk.c, src/base/ftobjs.c, src/base/ftutil.c,
- src/bdf/bdfdrivr.c, src/cff/cffcmap.c, src/cff/cffobjs.c,
- src/psaux/afmparse.c,, src/psaux/t1cmap.c, src/smooth/ftgrays.c
- src/tools/apinames.c, src/truetype/ttdriver.c: Add various casts,
- initialize variables, and decorate functions with FT_CALLBACK_DEF,
- etc., to fix compiler warnings (and C++ compiling errors).
-
- * src/cache/ftcbasic.c: Fix `-Wmissing-prototypes' warnings with
- gcc.
-
- * builds/unix/ftsystem.c: Don't include FT_INTERNAL_OBJECTS_H but
- FT_INTERNAL_STREAM_H.
-
- * src/base/ftsystem.c: Include FT_INTERNAL_STREAM_H.
-
- * include/freetype/config/ftheader.h (FT_PFR_H): New macro.
-
- * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Don't
- define for C++.
-
- * include/freetype/internal/services/svotval.h: Don't include
- FT_OPENTYPE_VALIDATE_H but FT_INTERNAL_VALIDATE_H.
-
- * include/freetype/internal/services/svpfr.h: Include FT_PFR_H.
-
- * src/gzip/ftgzip.c: Include FT_GZIP_H.
-
- * src/lzw/ftlzw.c, src/lzw/ftlzw2.c: Include FT_LZW_H.
-
- * src/sfnt/ttbdf.c (tt_face_load_bdf_props): Rearrange code.
-
-2006-02-24 Chia-I Wu <[email protected]>
-
- * src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
- ft_contour_enclosed, ft_outline_get_orientation): Commented out. We
- have to wait until `FT_GlyphSlot_Own_Bitmap' is stabilized.
- (FT_Outline_Embolden): Use `FT_Outline_Get_Orientation'.
-
-2006-02-24 Chia-I Wu <[email protected]>
-
- * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Update
- documentation.
-
- * include/freetype/ftsynth.h (FT_GlyphSlot_Own_Bitmap),
- src/base/ftsynth.c (FT_GlyphSlot_Own_Bitmap): New function to make
- sure a glyph slot owns its bitmap. It is also marked experimental
- and due to change.
- (FT_GlyphSlot_Embolden): Undo the last change. It turns out that
- rendering the outline confuses some applications.
-
-2006-02-24 David Turner <[email protected]>
-
- * Release candidate VER-2-2-0-RC3.
- ----------------------------------
-
- * src/cache/ftcbasic.c: Correct compatibility hack bug.
-
-2006-02-24 Chia-I Wu <[email protected]>
-
- * include/freetype/freetype.h (FT_Size_RequestRec): Change the type
- of `width' and `height' to `FT_Long'.
- (enum FT_Size_Request_Type), src/base/ftobjs.c (FT_Request_Metrics):
- New request type `FT_SIZE_REQUEST_TYPE_SCALES' to specify the scales
- directly.
-
-2006-02-23 David Turner <[email protected]>
-
- Two BDF patches from Debian libfreetype6 for 2.1.10.
-
- * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix a bug with zero-width
- glyphs.
- Fix a problem with large encodings.
-
-
- Fix binary compatibility issues for gnustep-back (GNUstep backend
- module) which still crashes under Sarge.
-
- * src/cache/ftccmap.c (FTC_OldCMapType, FTC_OldCMapIdRec,
- FTC_OldCMapDesc) [FT_CONFIG_OPTION_OLD_INTERNALS]: New data
- structures and enumerations.
- (FTC_CMapCache_Lookup) [FT_CONFIG_OPTION_OLD_INTERNALS]: New
- compatibility code.
-
- * src/cache/ftcbasic.c: Fix a silly bug that prevented our `hack' to
- support rogue clients compiled against 2.1.7 to work correctly.
- This probably explains the GNUstep crashes with the second release
- candidate.
-
-2006-02-23 Chia-I Wu <[email protected]>
-
- * include/freetype/ftoutln.h (enum FT_Orientation): New value
- `FT_ORIENTATION_NONE'.
-
- * src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
- ft_contour_enclosed, ft_outline_get_orientation): Another version of
- `FT_Outline_Get_Orientation'. This version differs from the public
- one in that each part (contour not enclosed in another contour) of the
- outline is checked for orientation.
- (FT_Outline_Embolden): Use `ft_outline_get_orientation'.
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Render the outline and
- use bitmap's embolden routine when the outline one failed.
-
-2006-02-22 Chia-I Wu <[email protected]>
-
- * modules.cfg: Compile in ftotval.c and ftxf86.c by default for ABI
- compatibility.
-
- * src/sfnt/sfobjs.c (sfnt_done_face): Fix a memory leak.
-
- * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned,
- tt_sbit_decoder_load_byte_aligned) [FT_OPTIMIZE_MEMORY]: Fix sbit
- loading. (Only tested with bit aligned sbit with x_pos == 0.)
-
- * src/truetype/ttpload.c (tt_face_load_hdmx,
- tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: `hdmx' is not
- actually used.
-
-2006-02-21 David Turner <[email protected]>
-
- Add a new API named FT_Get_TrueType_Engine_Type to determine whether
- we have a patented, unpatented, or unimplemented TrueType bytecode
- interpreter.
-
- The FT_Get_Module_Flags API was removed consequently.
-
- * include/freetype/ftmodapi.h (FT_Module_Get_Flags): Removed.
- Replaced with...
- (FT_Get_TrueType_Engine_Type): This.
- (FT_TrueTypeEngineType): New enumeration.
-
- * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H):
- New macro.
-
- * src/base/ftobjs.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
- (FT_Module_Get_Flags): Removed. Replaced with...
- (FT_Get_TrueType_Engine_Type): This.
-
- * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
- (tt_service_truetype_engine): New service structure.
- (tt_services): Register it.
-
- * include/freetype/internal/services/svtteng.h: New file.
-
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Fix silly bug that prevented
- embedded bitmaps from being correctly listed and used.
-
-
- * src/sfnt/ttmtx.c (tt_face_load_hmtx): Disable memory optimization
- if FT_CONFIG_OPTION_OLD_INTERNALS is used. The is necessary because
- libXfont is directly accessing the HMTX data, unfortunately.
- Fix some compiler warnings.
- (tt_face_get_metrics): Ditto.
-
-
- * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix handling of
- character advances.
-
-2006-02-20 David Turner <[email protected]>
-
- Support binary compatibility with the X.Org server's Xfont library.
- Note that this change unfortunately prevents memory optimizations
- for the embedded bitmap loader.
-
- * include/freetype/internal/sfnt.h (SFNT_Interface): Move
- `set_sbit_strike' and `load_sbit_metrics' fields to the location of
- version 2.1.8.
-
- * src/sfnt/sfdriver.c (tt_face_set_sbit_strike_stub): Call
- FT_Size_Request.
- (sfnt_interface): Updated.
-
- * src/sfnt/ttsbit.c [FT_CONFIG_OPTION_OLD_INTERNALS]: Don't load
- ttsbit0.c.
- (tt_load_sbit_metrics): Make `sbit_small_metrics_fields' static.
-
- * src/sfnt/ttsbit.h: Updated.
-
-2006-02-17 David Turner <[email protected]>
-
- * builds/unix/unix-cc.in (LINK_LIBRARY): Don't filter out exported
- functions anymore. This ensures that all FT_BASE internal functions
- are available for dynamic linking.
-
- * include/freetype/ftcache.h (FTC_IMAGE_TYPE_COMPARE,
- FTC_IMAGE_TYPE_HASH), src/cache/ftcbasic.c (FTC_OldFontRec,
- FTC_OldImageDescRec, FTC_ImageCache_Lookup, FTC_Image_Cache_New,
- FTC_OldImage_Desc, FTC_OLD_IMAGE_FORMAT, ftc_old_image_xxx,
- ftc_image_type_from_old_desc, FTC_Image_Cache_Lookup,
- FTC_SBitCache_Lookup, FTC_SBit_Cache_New, FTC_SBit_Cache_Lookup)
- [FT_CONFIG_OPTION_OLD_INTERNALS]: Try to revive old functions of the
- cache sub-system. We try to recognize old legacy signatures with a
- gross hack (hope it works).
-
-2006-02-17 Werner Lemberg <[email protected]>
-
- * devel/ftoption.h: Synchronize with
- include/freetype/config/ftoption.h.
-
-2006-02-16 David Turner <[email protected]>
-
- Massive changes to the internals to respect the internal object
- layouts and exported functions of FreeType 2.1.7. Note that the
- cache sub-system cannot be fully retrofitted, unfortunately.
-
- * include/freetype/config/ftoption.h
- (FT_CONFIG_OPTION_OLD_INTERNALS): New macro.
-
- * include/freetype/ftcache.h, include/freetype/cache/ftccache.h,
- include/freetype/cache/ftccmap.h,
- include/freetype/internal/ftcalc.h,
- include/freetype/internal/ftdriver.h,
- include/freetype/internal/ftmemory.h,
- include/freetype/internal/ftobjs.h,
- include/freetype/internal/psaux.h, include/freetype/internal/sfnt.h,
- include/freetype/internal/t1types.h,
- include/freetype/internal/tttypes.h, src/base/ftcalc.c,
- src/base/ftdbgmem.c, src/base/ftobjs.c, src/base/ftutil.c,
- src/bdf/bdfdrivr.c, src/cache/ftccache.c, src/cache/ftccback.h,
- src/cache/ftcmanag.c, src/cff/cffdrivr.c, src/cid/cidriver.c,
- src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/psaux/psauxmod.c,
- src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c,
- src/type1/t1objs.c, src/type42/t42drivr.c, src/winfonts/winfnt.c:
- Use FT_CONFIG_OPTION_OLD_INTERNALS to revive old functions and data
- structures.
-
- Move newly added structure elements to the end of the affected
- structure and add stub fields (if FT_CONFIG_OPTION_OLD_INTERNALS is
- defined) to assure binary compatibility with older FreeType
- versions.
- Use FT_CONFIG_OPTION_OLD_INTERNALS to add function stubs for old
- functions:
-
- ft_stub_set_char_sizes
- ft_stub_set_pixel_sizes
-
- Rename the following internal functions to provide the old function
- names as stubs:
-
- FT_Alloc -> ft_mem_alloc
- FT_QAlloc -> ft_mem_qalloc
- FT_Realloc -> ft_mem_realloc
- FT_QRealloc -> ft_mem_qrealloc
- FT_Free -> ft_mem_free
- FT_Alloc_Debug -> ft_mem_alloc_debug
- FT_QAlloc_Debug -> ft_mem_qalloc_debug
- FT_Realloc_Debug -> ft_mem_realloc_debug
- FT_QRealloc_Debug -> ft_mem_qrealloc_debug
- FT_Free_Debug -> ft_mem_free_debug
-
-2006-02-15 Chia-I Wu <[email protected]>
-
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
- unused `max_points' and `max_contours'.
-
- * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
- (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
- `max_components'.
-
- * src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused
- `loadSize' and `loadStack'.
-
- * src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context),
- src/sfnt/ttload.c (tt_face_load_maxp): Update.
-
- * src/cff/cffobjs.h (cff_size_select), src/sfnt/sfdriver.c
- (sfnt_interface), src/truetype/ttdriver.c (tt_size_request): Fix
- compiler errors/warnings when TT_CONFIG_OPTION_EMBEDDED_BITMAPS is not
- defined.
-
- * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Fix
- possible segment faults for the non-FT_OPTIMIZE_MEMORY'ed versions.
- (finally!)
-
-
- For most OpenType tables, `tt_face_load_xxxx' simply loads the table
- and `face->root' is set later in `sfnt_load_face'. Here, we try to
- make this work for _all_ tables. Also improve tracing messages.
-
- * src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/sfnt/ttload.c,
- src/sfnt/ttmtx.c: all `tt_face_load_xxxx' should load the table and
- then exit. Error handling or setting face->root is done later in
- `sfnt_load_face'.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Work harder.
- Mac bitmap-only fonts are not scalable.
- Check that `face->header.Units_Per_EM' is not zero.
- (LOAD_, LOADM_): Emit pretty trace messages.
-
- * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics
- from `eblc'.
-
- * src/sfnt/ttcmap.c (tt_face_build_cmaps), src/sfnt/ttpost.c
- (load_format_20, load_format_25, tt_face_get_ps_name): Use
- face->max_profile.numGlyphs, instead of face->root.num_glyphs.
-
-2006-02-14 Werner Lemberg <[email protected]>
-
- * include/freetype/ftoutln.h (FT_Outline_Embolden): Mention in
- documentation that negative strength values are possible.
- Give an example call.
-
- * include/freetype/freetype.h (FT_GlyphSlotRec): Improve
- documentation of `outline' field.
-
- * src/sfnt/sfobjc.s: Inckude FT_INTERNAL_DEBUG_H.
- * src/sfnt/sfdriver.c: Include ttmtx.h.
-
- * src/autofit/afcjk.c: Include aftypes.h and aflatin.h.
-
-2006-02-14 Chia-I Wu <[email protected]>
-
- * src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
-
-2006-02-14 Chia-I Wu <[email protected]>
-
- * src/sfnt/ttmtx.c (tt_face_load_hhea, tt_face_load_hmtx): Simply
- return error if table is missing.
- Check table length in non-FT_OPTIMIZE_MEMORY'ed `tt_face_load_hmtx'.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Take care of missing metrics
- tables. The last change makes Mac bitmap-only font not load and
- this fixes it.
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation
- error when FT_CONFIG_OPTION_INCREMENTAL is defined.
-
-2006-02-13 Chia-I Wu <[email protected]>
-
- Clean up the SFNT_Interface. In this final pass, `load_hmtx' is
- split from `load_hhea'.
-
- * include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c,
- src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Split `hmtx' from `hhea'.
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Update.
-
-2006-02-13 Chia-I Wu <[email protected]>
-
- * src/sfnt/ttmtx.h, src/sfnt/ttmtx.c: Why are there two copies of
- code...
-
-2006-02-13 Chia-I Wu <[email protected]>
-
- Clean up the SFNT_Interface. In this pass, we want to treat the
- font directory (offset table and table directory) as a normal table
- like the others. This also means that TTCs are no longer recognized
- there but in `init_face'.
-
- * include/freetype/internal/sfnt.h (SFNT_Interface),
- src/sfnt/sfdriver.c: `load_sfnt_header' and `load_directory' are
- combined and renamed to `load_font_dir'.
-
- * src/sfnt/ttload.h, src/sfnt/ttload.c:
- s/sfnt_dir_check/check_table_dir/.
- `sfnt_init' is moved to sfobjs.c and renamed to `sfnt_open_font'.
- `tt_face_load_sfnt_header' and `tt_face_load_directory' are combined
- and renamed to `tt_face_load_font_dir'.
-
- * src/sfnt/sfobjs.c (sfnt_init_face): Recognize TTC here.
-
-2006-02-13 Chia-I Wu <[email protected]>
-
- Clean up the SFNT_Interface. Table loading functions are now named
- after the tables' tags; `hdmx' is TrueType-specific and thus the
- code is moved to the truetype module; `get_metrics' is moved here
- from the truetype module so that the code can be shared with the cff
- module.
-
- This pass involves no real changes. That is, the code is moved
- verbatim mostly. The only exception is the return value of
- `tt_face_get_metrics'.
-
- * include/freetype/internal/sfnt.h, src/sfnt/rules.mk,
- src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
- src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c,
- src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface.
-
- * src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: New files. Metrics-related
- tables' loading and parsing code is moved to here.
- Move `tt_face_get_metrics' here from the truetype module. The
- return value is changed from `void' to `FT_Error'.
-
- * include/freetype/internal/fttrace.h: New trace: ttmtx.
-
- * src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and
- parsing code is moved here.
- New function `tt_face_load_prep' split from `tt_face_load_fpgm'.
- `tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist.
-
- * src/cff/cffgload.c, src/cff/cffobjs.c: Update.
-
- * src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
-
-2006-02-11 Chia-I Wu <[email protected]>
-
- * src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug...
-
- * src/autofit/aflatin.c (af_latin_metrics_init_widths): Use
- AF_LatinMetricsRec as the dummy metrics because we cast the metrics
- to it later in `af_latin_hints_link_segments'.
-
-2006-02-11 Chia-I Wu <[email protected]>
-
- * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define
- to enable autofit CJK script support. (#define'd by default.)
-
- * src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro.
-
- * src/autofit/aflatin.c (af_latin_metrics_init_widths): Make sure
- that `edge_distance_threshold' is always set.
- (af_latin_hints_link_segments): Potential divide-by-zero bug.
- Use latin constant in the scoring formula.
-
- * src/autofit/afcjk.c: Minor updates due to the above three changes.
-
- * docs/TODO, docs/CHANGES: Updated.
-
-2006-02-09 Chia-I Wu <[email protected]>
-
- Introduce experimental autofit CJK module based on akito's autohint
- patch. You need to #define AF_MOD_CJK in afcjk.c to enable it.
-
- * src/autofit/afglobal.c, src/autofit/afcjk.h, src/autofit/afcjk.c,
- src/autofit/rules.mk, src/autofit/autofit.c, src/autofit/aftypes.h:
- Add CJK module based on akito's autohint patch.
-
- * src/autofit/afhints.h (AF_SegmentRec): New field `len' for the
- overlap length of the segments.
- (AF_SEGMENT_LEN, AF_SEGMENT_DIST): New macros.
-
- * src/autofit/aflatin.h (af_latin_metrics_init_widths),
- src/autofit/aflatin.c (af_latin_metrics_init_widths): Made
- `FT_LOCAL'.
- Use the character given by the caller.
- (af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale
- the thresholds.
-
- * src/autofit/afloader.c (af_loader_load_g): Respect
- AF_SCALER_FLAG_NO_ADVANCE.
-
-2006-02-09 Werner Lemberg <[email protected]>
-
- * src/cid/cidparse.c (cid_parse_new): Remove shadowing variable.
-
-2006-02-09 suzuki toshiya <[email protected]>
-
- * src/cid/cidparse.c (cid_parse_new): Fix for abnormally short or
- broken CIDFont. Reported by Taek Kwan(TK) Lee (see ft-devel
- 2005-11-02).
-
-2006-02-08 suzuki toshiya <[email protected]>
-
- * builds/unix/configure.ac: Fix bug for `--with-old-mac-fonts'
- option on UNIX platform. It has been broken since 2006-01-11.
-
-2006-02-01 Werner Lemberg <[email protected]>
-
- * src/otvalid/module.mk: s/otvalid_module_class/otv_module_class/.
- * src/gxvalid/module.mk: s/gxvalid_module_class/gxv_module_class/.
-
- * builds/unix/unixddef.mk: Actually do define PLATFORM (fixing
- change from 2006-01-31).
- (TOP_DIR, OBJ_DIR): Update.
-
- * builds/unix/install.mk (install): Fix path for ftmodule.h.
-
- * Makefile, *.mk, builds/unix/unix-cc.in, builds/unix-def.in: Use
- `?=' where appropriate.
-
- * builds/detect.mk (TOP_DIR), builds/os2/os2-dev.mk (TOP_DIR),
- builds/win32/w32-dev.mk (TOP_DIR): Removed. Defined elsewhere.
-
-2006-01-31 Werner Lemberg <[email protected]>
-
- Implement new, simplified module selection. With GNU make it is now
- sufficient to modify a single file, `modules.cfg', to control the
- inclusion of modules and base extension files.
-
- This change also fixes the creation of ftmodule.h; it now depends on
- `modules.cfg' and thus is rebuilt only if necessary.
-
- Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
- default location.
-
- * modules.cfg: New file.
-
- * builds/freetype.mk: Don't include `modules.mk'.
- Include all `rules.mk' files as specified in `modules.cfg'.
- (FTOPTION_FLAG, FTOPTION_H): New variables.
- (FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H.
- Add FTOPTION_FLAG.
- ($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST.
- (CONFIG_H): Add FTMODULE_H and FTOPTION_H.
- (INCLUDES): Add DEVEL_DIR.
- (INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ,
- OBJ_M, OBJ_S): Use `:=', not `='.
- (remove_ftmodule_h): New phony target to delete `ftmodule.h'.
- (distclean): Add remove_ftmodule_h.
-
- * builds/modules.mk: (MODULE_LIST): Removed.
- (make_module_list, clean_module_list): Replace targets
- with...
- (FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New
- variables. Reason for the change is that it is not possible to have
- a phony prerequisite which is run only if the target file must be
- rebuilt (phony prerequisites act like subroutines and are *always*
- executed). We only want to rebuild `ftmodule.h' if `module.cfg' is
- changed.
- Update all callers.
- ($FTMODULE_H)): Rule to create `ftmodule.h', depending on
- `modules.cfg'.
-
- * builds/toplevel.mk: Rewrite and simplify module handling.
- (MODULES_CFG, FTMODULE_H): New variables.
- Include MODULES_CFG.
- (MODULES): New variable to include all `module.mk' and `rules.mk'
- files. We no longer use make's `wildcard' function for this.
-
- * Makefile (USE_MODULES): Remove. Update all users.
- (OBJ_DIR): Define it here.
-
- * src/*/module.mk: Change
-
- make_module_list: foo
- foo: ...
-
- to
-
- FTMODULE_H_COMMANDS += FOO
- define FOO
- ...
- endef
-
- in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
-
- * src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
-
- * builds/unix/detect.mk (setup): Always execute `configure' script.
- (have_mk): Rename to...
- (have_Makefile): This.
- Don't use `strip' function.
-
- * builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
- defined.
- (have_mk): Don't use `strip' function.
- Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
- accordingly).
-
- * builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
-
- * builds/os2/os2-dev.mk, builds/unix/unix-dev.mk,
- builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define
- BUILD_DIR but DEVEL_DIR for development header files.
-
- * builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR),
- builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in
- (TOP_DIR, OBJ_DIR): Removed. Defined elsewhere.
-
- * builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR),
- builds/win32/win32-def.mk (OBJ_DIR): Removed. Defined elsewhere.
-
- * builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
- development header files.
- Don't define PLATFORM.
-
- * configure: Copy `modules.cfg' to builddir if builddir != srcdir.
- Update snippet taken from autoconf's m4sh.m4 to current CVS version.
- Be more verbose.
-
- * include/freetype/config/ftmodule.h: Add comments -- this file is
- no longer used if FreeType is built with GNU make.
-
- * docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY,
- docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism.
- Other minor updates.
-
- * modules.txt: Removed. Contents included in `modules.cfg'.
-
-
- * include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
- FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
-
- * src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug,
- FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug)
- [FT_STRICT_ALIASING]: Implement.
-
-2006-01-31 Chia-I Wu <[email protected]>
-
- * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
- (cid_face_init), src/pfr/pfrobjs.c (pfr_face_init),
- src/type1/t1objs.c (T1_Face_Init): Set face->height to MAX(1.2 *
- units_per_EM, ascender - descender).
-
-2006-01-31 Chia-I Wu <[email protected]>
-
- * include/freetype/internal/t1types.h (AFM_FontInfo),
- src/psaux/afmparse.c, src/tools/test_afm.c: Read `FontBBox',
- `Ascender', and `Descender' from an AFM.
-
- * src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
-
- * include/freetype/freetype.h (FT_FaceRec): Mention that fields may
- be changed after file attachment.
-
-2006-01-28 Werner Lemberg <[email protected]>
-
- * src/*/module.mk (.PHONY): Add.
-
-2006-01-27 Werner Lemberg <[email protected]>
-
- * README, docs/FTL.TXT: Fix email address for bug reports.
- Other minor formatting.
-
- * devel/ftoption.h: Synchronize with
- include/freetype/config/ftoption.h.
-
- * src/autofit/module.mk (add_autofit_module), src/bdf/module.mk
- (add_bdf_module), src/type42/module.mk (add_type42_driver): Fix
- whitespace.
-
- * src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv
- renderer classes.
-
-2006-01-27 David Turner <[email protected]>
-
- * builds/unix/configure.ac: Fix build problem on Cygwin.
-
- * builds/unix/install.mk (install): Don't install the internal
- headers, and remove existing ones if found in the target install
- directory.
-
- * src/autofit/afwarp.c: Add simple #ifdef to prevent compilation
- if the warp hinter isn't active (it shouldn't, still experimental).
-
- * Jamfile, include/freetype/config/ftmodule.h: Remove `gxvalid'
- and `otvalid' from the list of modules that are linked statically
- to a given FreeType library. Functionality has been moved to the
- `ftvalid' CVS module.
-
- Note also that current Make-based build system still compiles the
- modules though.
-
- * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): New macro
- which controls the definitions of the memory management functions to
- avoid warnings with recent versions of GCC. This macro is only here
- to be disabled, in case we detect problems with the new scheme.
-
- NOTE: Disable macro to use the memory debugger -- this will be fixed
- later!
-
- * include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_Alloc,
- FT_QAlloc, FT_Realloc, FT_QRealloc, FT_Free) [FT_STRICT_ALIASING]:
- New versions.
-
-
- * builds/win32/visualc/freetype.dsp: Updating project file to
- define FT2_BUILD_LIBRARY, and remove gxvalid + otvalid modules from
- compilation.
-
-
- * builds/freetype.mk (FT_CFLAGS), Jamfile (DEFINES): Define the
- macro FT2_BUILD_LIBRARY when compiling the library.
-
- * include/freetype/config/ftheader.h: Remove inclusions of internal
- headers except if the macro FT2_BUILD_LIBRARY is defined.
-
-
- * include/freetype/internal/psaux.h (AFM_KernPair, AFM_TrackKern,
- AFM_FontInfo): Move structure declarations to...
- * include/freetype/internal/t1types.h: This file.
-
-
- * (many files): Fix compiler warnings.
- Various minor reorganizations.
-
-
- * src/cff/cffload.c (cff_font_done): Don't free static array
- `subfonts'.
-
- * src/otvalid/otvcommn.c (otv_ClassDef_validate),
- src/otvalid/otvgpos.c (otv_x_sxy): Fix debugging information.
-
-
- Get rid of writable static variables (i.e., the string table) in
- afmparse, and fix compilation in FT2_MULTI mode.
-
- * src/psaux/afmparse.c: Include ft2build.h and FT_FREETYPE_H.
- (AFM_MAX_ARGUMENTS): Define...
- * src/psaux/afmparse.h: Here.
- * src/psaux/Jamfile (_sources): Add afmparse.
-
- * src/psaux/psconv.c: Include psconv.h.
-
- * src/type1/t1afm.c: Don't include FT_INTERNAL_TYPE1_TYPES_H but
- FT_INTERNAL_POSTSCRIPT_AUX_H.
- * src/type1/t1afm.h: Include FT_INTERNAL_TYPE1_TYPES_H.
-
-2006-01-23 Chia-I Wu <[email protected]>
-
- * include/freetype/freetype.h (FT_Select_Size): Rename the second
- argument from `idx' to `strike_index'.
- (FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of
- this enum.
-
- * include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH,
- FT_REQUEST_HEIGHT): New macros to get the width and height of a
- request, in fractional pixels.
-
- * include/freetype/internal/ftobjs.h (FT_Select_Metrics,
- FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics,
- FT_Request_Metrics): New base functions to set the font metrics. They
- were part of FT_Select_Size/FT_Request_Size and are made independent
- functions so that metrics are not set again and again.
-
- * src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set
- only when driver's size_select/size_request is NULL. That is, drivers
- should set the metrics themselves.
- (FT_Match_Size): Round before matching. This was what we did and it
- does cause some problems without rounding.
-
- * src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c
- (tt_size_select): Set the font metrics.
- s/index/strike_index/.
- The scaled metrics are always preferred over strikes' metrics, even
- when some strike is selected. This is done because the strikes'
- metrics are not reliable, e.g., the sign of the descender is wrong for
- some fonts.
-
- * src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c
- (tt_size_request): Set the font metrics.
- Call cff_size_select/tt_size_select when some strike is matched.
-
- * src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c,
- src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c,
- src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c:
- Set the font metrics.
- s/index/strike_index/.
-
- * src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these
- files were committed. Just a catch-up.
- (PS_Conv_ToFixed): Remove the `goto'.
- (PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little.
-
- * src/sfnt/ttsbit.c (tt_face_load_sbit_strikes,
- tt_face_load_strike_metrics), src/sfnt/ttsbit0.c
- (tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The
- advertised metrics in `available_sizes' are different from those
- actually used.
-
-2006-01-23 Chia-I Wu <[email protected]>
-
- * src/psaux/psaux.c src/psaux/psauxmod.c src/type1/t1driver.c: Make
- AFM parser optional, controlled by `T1_CONFIG_OPTION_NO_AFM'.
-
-2006-01-22 Werner Lemberg <[email protected]>
-
- * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
- `texinfo' CVS module at savannah.gnu.org.
-
-2006-01-21 Werner Lemberg <[email protected]>
-
- * src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
-
- * src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up
- to avoid compiler warnings.
-
- * src/autofit/afwarp.c (af_warper_compute_line_best): Remove
- shadowing variable declarations.
- Fix warning parameters and replace printf with AF_LOG.
- (af_warper_compute): Remove unused variable.
-
-2006-01-20 David Turner <[email protected]>
-
- Adding experimental implementation of `warp hinting' (new hinting
- algorithm for gray-level and LCD rendering). It is disabled by
- default, you need to #define AF_USE_WARPER in aftypes.h.
-
- * src/autofit/afhints.c (af_glyph_hints_scale_dim) [AF_USE_WARPER]:
- New function.
- * src/autofit/afhints.h: Updated.
-
- * src/autofit/aflatin.c [AF_USE_WARPER]: Include afwarp.h.
- (af_latin_hints_init) [AF_USE_WARPER]: Reset mode to
- FT_RENDER_MODE_NORMAL if an LCD mode is selected.
- (af_latin_hints_apply) [AF_USE_WARPER]: Call af_warper_compute
- appropriately.
-
- * src/autofit/afloader.c (af_loader_load_g) [!AF_USER_WARPER]:
- Isolate code for adjusting metrics.
-
- * src/autofit/aftypes.h (AF_USE_WARPER): New macro (commented out by
- default).
-
- * src/autofit/afwarp.c, src/autofit/afwarp.h: New files.
-
- * src/autofit/autofit.c [AF_USE_WARPER]: Include afwarp.c.
-
- * src/autofit/Jamfile (_sources): Add afwarp.
-
-2006-01-19 David Turner <[email protected]>
-
- * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Fix small bug
- that prevented compilation when FT_OPTIMIZE_MEMORY is defined.
-
-2006-01-19 Brian Weed <[email protected]>
-
- * builds/win32/visualc/freetype.dsp: Updated.
-
-2006-01-17 Werner Lemberg <[email protected]>
-
- Use pscmap service in CFF module.
-
- * src/cff/cffcmap.c (cff_cmap_uni_pair_compare): Removed.
- (cff_sid_to_glyph_name): New function.
- (cff_cmap_unicode_init, cff_cmap_unicode_done,
- cff_cmap_unicode_char_index, cff_cmap_unicode_char next): Use pscmap
- service.
- (cff_cmap_unicode_class_rec): Updated.
- * src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed.
-
-
- * src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode'
- return value.
-
-
- * src/psaux/afmparse.c (afm_parser_read_vals): Use double casting
- to avoid compiler warnings regarding type-punning.
-
-2006-01-16 Chia-I Wu <[email protected]>
-
- * src/psaux/afmparse.c, src/psaux/afmparse.h: New files which
- implement an AFM parser.
-
- * src/psaux/psconv.c, src/psaux/psconv.h: New files to provide
- conversion functions (e.g., PS real number => FT_Fixed) for the
- PS_Parser and AFM_Parser. Some of the functions are taken, with
- some modifications, from the file psobjs.c.
-
- * src/psaux/psobjs.c: Use functions from psconv.c.
-
- * include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Add
- `AFM_Parser' to the `psaux' service.
-
- * src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Include
- those new files.
-
- * src/tools/test_afm.c: A test program for AFM parser.
-
- * include/freetype/internal/services/svkern.h: New file providing a
- `Kerning' service. It is currently only used to get the track
- kerning information.
-
- * include/freetype/internal/ftserv.h (FT_SERVICE_KERNING_H): New
- macro.
-
- * src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1afm.c,
- src/type1/t1afm.h: Update to use the AFM parser.
- Provide the `Kerning' service.
-
- * include/freetype/freetype.h, src/base/ftobjs.c: New API
- `FT_Get_Track_Kerning'.
-
-2006-01-15 Chia-I Wu <[email protected]>
-
- * include/freetype/internal/ftobjs.h, src/base/ftobjs.c,
- src/bdf/bdfdrivr.c, src/cff/cffgload.c, src/cid/cidgload.c,
- src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c:
- s/ft_fake_vertical_metrics/ft_synthesize_vertical_metrics/.
-
- * docs/CHANGES: Mention that vertical metrics are synthesized for
- fonts not having this info.
-
-2006-01-15 Chia-I Wu <[email protected]>
-
- * include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics),
- src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake
- vertical metrics.
-
- * src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c,
- src/type1/t1gload.c, src/winfonts/winfnt.c: Fake vertical metrics,
- which are monotone.
-
- * src/truetype/ttgload.c (compute_glyph_metrics): Some fixes and
- formattings in vertical metrics faking. There is still room for
- improvements (and so does the CFF module).
-
-2006-01-15 Chia-I Wu <[email protected]>
-
- * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdrivr.c
- (PCF_Glyph_Load), src/winfonts/winfnt.c (FNT_Load_Glyph): Don't set
- the linear advance fields as they are only used by the outline
- glyphs.
-
- * include/freetype/freetype.h: Documentation updates and
- clarifications.
- The meaning of FT_LOAD_FORCE_AUTOHINT is changed so that no real
- change need be made to the code.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Resolve flag dependencies and
- decide whether to use the auto-hinter according to documentation.
- There should to be no real difference.
- Some checks (e.g., is text height positive?) after the glyph is
- loaded.
- (FT_Select_Size, FT_Request_Size): Scales are set to wrong values.
- Be careful that scales won't be negative.
-
-2006-01-14 Chia-I Wu <[email protected]>
-
- * docs/CHANGES: Mention the size selection change.
-
- * src/bdf/bdfdrivr.c (BDF_Size_Request, BDF_Size_Select),
- src/pcf/pcfdrivr.c (PCF_Size_Request, PCF_Size_Select),
- src/winfonts/winfnt.c (FNT_Size_Request, FNT_Size_Select): Do size
- matching for requests of type NOMINAL and REAL_DIM.
-
- * src/winfonts/winfnt.c (FNT_Face_Init): Print trace message when
- `pixel_height' is used for nominal height.
-
- * src/base/ftobjs.c (FT_Request_Size): Call `FT_Match_Size' if the
- face is bitmap only and driver doesn't provide `request_size'. This
- is added merely for completion as no driver satisfies the conditions.
-
-2006-01-13 Chia-I Wu <[email protected]>
-
- Introduce new size selection interface.
-
- * include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec):
- Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and
- `select_size'.
-
- * include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type,
- FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c
- (FT_Select_Size, FT_Request_Size): API additions to export the new
- size selection interface.
-
- * src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use
- `FT_Request_Size'.
-
- * include/freetype/internal/ftobjs.h (FT_Match_Size),
- src/base/ftobjs.c (FT_Match_Size): New function to match a size
- request against `available_sizes'. Drivers supporting bitmap strikes
- can use this function to implement `request_size'.
-
- * src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
- src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c,
- src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c,
- src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c:
- Update to new size selection interface.
-
- * src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c,
- src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c,
- src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size
- selection interface.
- Make `strike_index' FT_ULong and always defined.
- Use `load_strike_metrics' provided by SFNT interface.
-
-2006-01-13 Chia-I Wu <[email protected]>
-
- * include/freetype/internal/sfnt.h (SFNT_Interface): New method
- `load_strike_metrics' used to load the strike's metrics.
-
- * src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
- src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'.
-
- * src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly.
-
- * src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for
- nominal size unless it is obviously incorrect.
-
- * include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on
- FNT driver.
-
-2006-01-12 Werner Lemberg <[email protected]>
-
- Prepare use of pscmap service within CFF module.
-
- * include/freetype/internal/services/svpscmap.h: Include
- FT_INTERNAL_OBJECTS_H.
- (PS_Unicode_Index_Func): Removed. Unused.
- (PS_Macintosh_Name_Func): Renamed to...
- (PS_Macintosh_NameFunc): This.
- Update all callers.
- (PS_Adobe_Std_Strings_Func): Renamed to...
- (PS_Adobe_Std_StringsFunc): This.
- Update all callers.
- (PS_UnicodesRec): This is the former `PS_Unicodes' structure.
- Add `cmap' member.
- Update all callers.
- (PS_Unicodes): This is now a typedef'd pointer to PS_UnicodesRec.
- Update all callers.
- (PS_Glyph_NameFunc): New typedef.
- (PS_Unicodes_InitFunc): Change arguments to expect a function
- and generic data pointer which returns a glyph name from a given
- index.
-
- * src/psnames/psmodule.c (ps_unicodes_init, ps_unicodes_char_index,
- ps_unicodes_char_next, pscmaps_interface): Updated.
-
- * include/freetype/internal/t1types.h (T1_FaceRec): Updated.
-
- * src/psaux/t1cmap.h (T1_CmapStdRec): Updated.
- (T1_CmapUnicode, T1_CmapUnicodeRec): Removed.
-
- * src/psaux/t1cmap.c (t1_get_glyph_name): New callback function.
- (t1_cmap_unicode_init, t1_cmap_unicode_done,
- t1_cmap_unicode_char_index, t1_cmap_unicode_char_next,
- t1_cmap_unicode_class_rec): Updated.
-
- * src/type42/t42types.h (T42_FaceRec): Updated.
-
-2006-01-11 suzuki toshiya <[email protected]>
-
- * include/freetype/ftmac.h: Add declaration of new functions
- FT_New_Face_From_FSRef and FT_GetFile_From_Mac_ATS_Name that
- were introduced by the jumbo patch on 2006-01-11.
-
-2006-01-11 Werner Lemberg <[email protected]>
-
- Fix Savannah bug #15056 and use pscmap service in psaux module.
-
- * include/freetype/internal/services/svpscmap.h (PS_UniMap): Use
- FT_UInt32 for `glyph_index'.
- (PS_Unicodes_InitFunc): Use FT_String for `glyph_names'.
- (PS_Unicodes_CharIndexFunc): Use FT_UInt32 for `unicode'.
- (PS_Unicodes_CharNextFunc): Make second argument a pointer to
- FT_UInt32.
-
- * src/psnames/psmodule.c (VARIANT_BIT, BASE_GLYPH): New macros.
- (ps_unicode_value): Set VARIANT_BIT in return value if glyph is a
- variant glyph (this is, it has non-leading `.' in its name).
- (compare_uni_maps): Sort base glyphs before variant glyphs.
- (ps_unicodes_init): Use FT_String for `glyph_names' argument.
- Reallocate only if number of used entries is much smaller.
- Updated to handle variant glyphs.
- (ps_unicodes_char_index, ps_unicodes_char_next): Prefer base glyphs
- over variant glyphs.
- Simplify code.
-
- * src/psaux/t1cmap.c (t1_cmap_uni_pair_compare): Removed.
- (t1_cmap_unicode_init, t1_cmap_unicode_char_index,
- t1_cmap_unicode_char_next): Use pscmap service.
- (t1_cmap_unicode_done): Updated.
-
- * src/psaux/t1cmap.h (T1_CMapUniPair): Removed.
- (T1_CMapUnicode): Use PS_Unicodes structure.
-
-2006-01-11 suzuki toshiya <[email protected]>
-
- Jumbo patch to fix `deprecated' warning of cross-build for Tiger on
- Intel, as reported by Sean McBride <[email protected]> on
- 2005-08-24.
-
- * src/base/ftmac.c: Heavy change to build without deprecated Carbon
- functions on Tiger.
-
- * builds/unix/configure.ac: Add options and autochecks for Carbon
- functions availabilities, for MacOS X.
-
- * builds/mac/ascii2mpw.py: Add converter for character `\305'.
- * builds/mac/FreeType.m68k_{far|cfm}.make.txt: Add conditional
- macros to avoid unavailable functions.
- ftmac.c must be compiled without `-strict ansi', because it disables
- cpp macro to use ToolBox system call.
-
- * builds/mac/FreeType.ppc_{classic|carbon}.make.txt: Add conditional
- macros to avoid unavailable functions.
-
- * builds/mac/README: Detailed notes on function availabilities.
-
- * docs/CHANGES: Notes about (possible) incompatibilities.
-
-2006-01-08 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Updated.
-
-2006-01-08 Huw D M Davies <[email protected]>
-
- * include/freetype/ftmodapi.h (FT_Module_Get_Flags): New
- declaration.
-
- * src/base/ftobjs.c (FT_Module_Get_Flags): New function.
-
-2006-01-07 Werner Lemberg <[email protected]>
-
- * src/pcf/pcfread.c (pcf_get_bitmaps): Remove unused variable
- `bitmaps'. Reported by Yu Lei <[email protected]>.
-
- * src/base/ftutil.c (ft_highpow2): s/FT_BASE/FT_BASE_DEF/.
- Reported by Niels Boldt <[email protected]>.
-
-2005-12-28 suzuki toshiya <[email protected]>
-
- * src/sfnt/sfnt/ttbdf.c: Add newline '\n' to the end of file, for
- MPW compiler.
-
-2005-12-23 David Turner <[email protected]>
-
- * Jamfile (RefDoc), docs/reference/README: Fix it so that `jam
- refdoc' works correctly to generate the API reference in
- `docs/reference'.
-
- * src/tools/docmaker/tohtml.py (print_html_field,
- print_html_field_list): Update to output nicer fields lists in the
- API reference.
-
- * src/base/ftobjs.c (FT_Load_Glyph): FT_LOAD_TARGET_LIGHT now
- forces auto-hinting.
-
- * freetype/freetype.h: Updating the documentation for
- FT_LOAD_TARGET_XXX and FT_Render_Mode values.
-
-2005-12-23 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c (FT_New_Face_From_Suitcase): Count scalable faces
- in supported formats (sfnt, LWFN) only, and ignore bitmap faces in
- unsupported formats (fbit, NFNT). The number of available faces are
- passed via face->num_faces. If bitmap faces are embedded in sfnt
- resource, face->num_fixed_size is correctly set. In public API,
- FT_New_Face() and FT_New_Face_From_FSSpec() count the faces as
- FT_GetFile_From_Mac_Name(), which ignores NFNT resources.
-
- * doc/CHANGES: Mention the changes.
-
-2005-12-17 Chia-I Wu <[email protected]>
-
- * src/truetype/ttinterp.c (Update_Max): Set current size of buffer
- correctly (so that memory debug system won't panic).
-
-2005-12-16 Chia-I Wu <[email protected]>
-
- * include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics),
- src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed.
-
- * src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round.
-
- * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
- (cid_slot_load_glyph), src/truetype/ttgload.c (compute_glyph_metrics),
- src/type1/t1gload.c (T1_Load_Glyph): Do not round glyph metrics.
-
- * doc/CHANGES: Mention the changes.
-
-2005-12-13 David Turner <[email protected]>
-
- Change the implementation of the LIGHT hinting mode to completely
- disable horizontal hinting. This is an experimental effort to
- integrate David Chester's latest patch without affecting the other
- hinting modes as well.
-
- Note that this doesn't force auto-hinting for all fonts, however.
-
- * src/autofit/afhints.c (af_glyph_hints_reload): Don't set
- scaler_fiags here but...
- (af_glyph_hints_rescale): Here.
-
- * src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
- hinting for `light' hinting mode.
-
-
- * Jamfile: Small fix to ensure that ftexport.sym is placed into the
- same location as other generated objects (i.e., within the `objs'
- directory of the current directory).
-
-
- Add support for an embedded `BDF ' table within SFNT-based bitmap
- font files. This is used to store atoms & properties from the
- original BDF fonts that were used to generate the font file.
-
- The feature is controlled by TT_CONFIG_OPTION_BDF within
- `ftoption.h' and is used to implement FT_Get_BDF_Property for these
- font files.
-
- At the moment, this is still experimental, the BDF table format
- isn't cast into stone yet.
-
- * include/freetype/config/ftoption.h (TT_CONFIG_OPTION_BDF): New
- macro.
-
- * include/freetype/config/ftstdlib.h (ft_memchr): New macro.
-
- * include/freetype/internal/tttypes.h (TT_BDFRec, TT_BDF)
- [TT_CONFIG_OPTION_BDF]: New structure.
- (TT_FaceRec) [TT_CONFIG_OPTION_BDF]: New member `bdf'.
-
- * include/freetype/ttags.h (TTAG_BDF): New macro.
-
- * src/sfnt/Jamfile (_sources): Add ttbdf.
-
- * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttbdf.c.
-
- * src/sfnt/sfdriver.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h and
- FT_SERVICE_BDF_H.
- (sfnt_get_charset_it) [TT_CONFIG_OPTION_BDF]: New function.
- (sfnt_service_bdf) [TT_CONFIG_OPTION_BDF]: New service.
- (sfnt_services) [TT_CONFIG_OPTION_BDF]: Add sfnt_service_bdf.
-
- * src/sfnt/sfnt.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.c.
-
- * src/sfnt/sfobjs.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h.
- (sfnt_done_face) [TT_CONFIG_OPTION_BDF]: Call
- tt_face_free_bdf_props.
-
- * src/sfnt/ttbdf.h, src/sfnt/ttbdf.c: New files.
-
-2005-12-07 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjc.c (sfnt_init_face): Move tag check to...
- * src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
-
-2005-12-06 Chia-I Wu <[email protected]>
-
- * src/truetype/ttobjs.c (tt_size_init): size->ttmetrics.valid is
- initialized twice.
- size->strike_index is not initialized.
-
-2005-12-02 Taek Kwan(TK) Lee <[email protected]>
-
- * src/type42/t42objs.c (T42_Face_Init): Replace call to
- FT_New_Memory_Face with call to FT_Open_Face to pass `params'.
-
-2005-11-30 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Document ftdump's `-v' option.
- Document latest charmap code changes.
-
- * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h:
- s/TT_CMAP_FLAG_OVERLAPPED/TT_CMAP_FLAG_OVERLAPPING/.
-
-2005-11-30 Chia-I Wu <[email protected]>
-
- * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary,
- tt_cmap12_char_map_binary): Fix compiler warnings.
-
-2005-11-29 Chia-I Wu <[email protected]>
-
- Major update to distinguish between unsorted and overlapping
- segments for cmap format 4. For overlapping but sorted segments,
- which is previously considered unsorted, we still use binary search.
-
- * src/sfnt/ttcmap.h (TT_CMapRec_): Replace `unsorted' by `flags'.
- (TT_CMAP_FLAG_UNSORTED, TT_CMAP_FLAG_OVERLAPPED): New macros.
-
- * src/sfnt/ttcmap.c (OPT_CMAP4): Removed as it is always defined.
- (TT_CMap4Rec_): Remove `old_charcode' and `table_length'.
- (tt_cmap4_reset): Removed.
- (tt_cmap4_init): Updated accordingly.
- (tt_cmap4_next): Updated accordingly.
- Take care of overlapping segments.
- (tt_cmap4_validate): Make sure the subtable is large enough.
- Do not check glyph_ids because some fonts set the length wrongly.
- Also, if all segments have offset 0, glyph_ids is always invalid.
- It does not cause any problem so far only because the check misses
- equality.
- Distinguish between unsorted and overlapping segments.
- (tt_cmap4_char_map_linear, tt_cmap4_char_map_binary): New functions
- to do `charcode => glyph index' by linear/binary search.
- (tt_cmap4_char_index, tt_cmap4_char_next): Use
- tt_cmap4_char_map_linear and tt_cmap4_char_map_binary.
- (tt_face_build_cmaps): Treat the return value of validator as flags
- for cmap.
-
-2005-11-29 Chia-I Wu <[email protected]>
-
- * src/sfnt/ttcmap.c (TT_CMap12Rec_, tt_cmap12_init, tt_cmap12_next):
- New structures and functions for fast `next char'.
- (tt_cmap12_char_map_binary): New function to do `charcode => glyph
- index' by binary search.
- (tt_cmap12_char_index, tt_cmap12_char_next): Use
- tt_cmap12_char_map_binary.
- (tt_face_build_cmaps): Check table and offset correctly (equality is
- missing).
-
-2005-11-15 Detlef Würkner <[email protected]>
-
- * builds/amiga/smakefile: Adjusted the compiler options
- to the current sources, now really builds the gxvalid, gzip
- and psnames modules.
-
- * builds/amiga/src/base/ftsystem.c: The assumed Seek() position
- in the file cache was off by one byte which could cause false
- errors in font files.
-
-2005-11-24 suzuki toshiya <[email protected]>
-
- * builds/mac/FreeType.m68k_far.make.txt,
- builds/mac/FreeType.m68k_cfm.make.txt,
- builds/mac/FreeType.ppc_classic.make.txt,
- builds/mac/FreeType.ppc_carbon.make.txt:
- Updated for MPW to build all available modules.
-
-2005-11-21 HÃ¥vard Wall <[email protected]>
-
- * src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Done): Fix small
- memory leak.
-
-2005-11-21 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttload.c (sfnt_init): Add tracing message.
-
-2005-11-21 Chia-I Wu <[email protected]>
-
- * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Image_offset was
- added twice to image_start if image_format was 2 or 5.
-
-2005-11-21 Chia-I Wu <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_init_face): Check that format_tag is known
- before loading the table directory.
-
- * src/sfnt/ttload.c (tt_face_load_sfnt_header,
- tt_face_load_directory): Delay sfnt_dir_check from
- tt_face_load_sfnt_header to tt_face_load_directory.
-
-2005-11-20 Chia-I Wu <[email protected]>
-
- * src/sfnt/ttload.c (sfnt_dir_check): Clean up and return correct
- error code.
- (sfnt_init): New function to fill in face->ttc_header. A non-TTC font
- is synthesized into a TTC font with one offset table.
- (tt_face_load_sfnt_header): Use sfnt_init.
- Fix an invalid access if the font is TTC and face_index is -1.
-
-2005-11-18 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttload.c (tt_face_load_metrics): Ignore excess number
- of metrics instead of aborting. Patch suggested by Derek Noonburg.
-
- * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
- (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Scale
- the glyph properly if no hinter is available.
-
- * docs/CHANGES: Mention scaling bug.
-
-2005-11-18 susuzki toshiya <[email protected]>
-
- * include/freetype/ftgxval.h, src/base/ftgxval.c
- (FT_TrueTypeGX_Free, FT_ClassicKern_Free): New functions to free
- buffers allocated by gxvalid module.
- * include/freetype/ftotval.h, src/base/ftotval.c
- (FT_OpenType_Free): New function to free buffer allocated by
- otvalid module.
-
-2005-11-18 Chia-I Wu <[email protected]>
-
- * builds/unix/ftsystem.c (FT_Stream_Open, FT_New_Memory,
- FT_Done_Memory), builds/vms/ftsystem.c (FT_Stream_Open, FT_New_Memory,
- FT_Done_Memory), builds/win32/ftdebug.c (FT_Message, FT_Panic):
- s/FT_EXPORT/FT_BASE/.
-
-2005-11-17 Detlef Würkner <[email protected]>
-
- * builds/amiga/src/base/ftdebug.c (FT_Trace_Get_Count,
- FT_Trace_Get_Name, FT_Message, FT_Panic),
- builds/amiga/src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory,
- FT_Stream_Open): s/FT_EXPORT/FT_BASE/.
-
-2005-11-17 Detlef Würkner <[email protected]>
-
- * builds/amiga/makefile, builds/amiga/makefile.os4,
- builds/amiga/smakefile,
- builds/amiga/include/freetype/config/ftmodule.h: Updated the Amiga
- build files (added support for the gxvalid module).
-
-2005-11-17 Werner Lemberg <[email protected]>
-
- Add vertical metrics support to OpenType CFF outlines. Based on a
- patch from Mike Moening <[email protected]>.
-
- * src/cff/cffgload.c (cff_face_get_vertical_metrics): New function.
- (cff_slot_load): Use cff_face_get_vertical_metrics.
-
- * docs/CHANGES: Updated.
-
-2005-11-17 Chia-I Wu <[email protected]>
-
- * src/base/ftcalc.c (FT_MulTo64): Commented out.
-
- * include/freetype/internal/ftcalc.h (FT_SqrtFixed),
- src/base/ftcalc.c (FT_SqrtFixed),
- include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
- FT_Trace_Get_Name, FT_Message, FT_Panic), src/base/ftdebug.c
- (FT_Trace_Get_Count, FT_Trace_Get_Name, FT_Message, FT_Panic),
- include/freetype/internal/ftobjs.h (FT_New_Memory, FT_Done_Memory),
- include/freetype/internal/ftstream.h (FT_Stream_Open),
- src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory, FT_Stream_Open):
- s/FT_EXPORT/FT_BASE/.
-
- * builds/exports.mk: Manually add TT_New_Context to EXPORTS_LIST
- too.
-
-2005-11-15 David Turner <[email protected]>
-
- * src/base/fttrigon.c (ft_trig_prenorm): Fix a bug that created
- invalid computations, resulting in very weird bugs in TrueType
- bytecode hinted fonts.
-
- * src/truetype/ttinterp.c (FT_UNUSED_EXEC): Don't perform a
- structure copy each time.
-
-2005-11-11 Werner Lemberg <[email protected]>
-
- * src/cache/ftccache.c (FTC_Cache_Clear), src/cache/ftcmanag.c
- (FTC_Manager_Check): Remove FT_EXPORT_DEF tag.
-
- * src/base/ftcalc.c (FT_Add64): Remove FT_EXPORT_DEF tag.
- (FT_Div64by32, FT_Sqrt32): Commented out. Unused.
-
- * include/freetype/internal/ftcalc.h (SQRT_32): Removed. Unused.
- (FT_Sqrt32): Commented out. Unused.
-
- * include/freetype/cache/ftccache.h:
- s/ftc_node_destroy/FTC_Node_Destroy/.
-
- * src/cache/ftccback.h (ftc_node_destroy): New declaration.
-
- * src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF tag.
- (FTC_Node_Destroy): New exported wrapper function for
- ftc_node_destroy.
-
- * src/cache/ftcmanag.c: Include ftccback.c.
-
-2005-11-10 Werner Lemberg <[email protected]>
-
- * src/autofit/afangles.c, src/autofit/aftypes.h (af_angle_diff):
- Comment out. Unused.
-
- * builds/exports.mk ($(EXPORTS_LIST)): Add TT_RunIns.
-
-2005-11-10 Christian Biesinger <[email protected]>
-
- * builds/beos/beos.mk: Call beos-def.mk before anything else to
- define the separator.
-
- * builds/unix/unix-cc.in (LINK_LIBRARY): Add `-no-undefined' flag.
-
-2005-11-07 Werner Lemberg <[email protected]>
-
- * src/type1/t1afm.c (T1_Read_PFM): Zero offset means `no kerning
- table available'. From Sergey Tolstov <[email protected]>.
-
-2005-11-03 Ville Syrjälä <[email protected]>
-
- * src/base/ftobjs.c (FT_Open_Face): Avoid possible memory leak.
-
-2005-11-02 Werner Lemberg <[email protected]>
-
- Make compiling instructions in docs/CUSTOMIZE work again.
-
- * builds/unix/unix-cc.in (CPPFLAGS): New variable.
- (CFLAGS): Don't include @CPPFLAGS@.
- * builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.
-
-2005-10-28 David Turner <[email protected]>
-
- Update build system to support the generation of a list of exported
- symbols or Windows .DEF files by parsing the public headers with the
- `apinames' tool located in src/tools/apinames.c.
-
- Only tested on Unix at the moment. On Windows, the .DEF file is
- generated but isn't used yet to generate a DLL.
-
- * builds/exports.mk: New file.
-
- * builds/freetype.mk: Include exports.mk.
- (dll): New target.
- (clean_project_dos): Fix rule.
-
- * builds/compiler/visualc.mk (TE), builds/dos/dos-def.mk (E),
- builds/os2/os2-def.mk (E), builds/win32/win32-def.mk (E): New
- variables for controlling executable extensions.
-
- * builds/unix/unix-cc.in (EXPORTS_LIST, CCexe),
- builds/win32/w32-bcc.mk, builds/win32/w32-gcc.mk,
- builds/win32/w32-icc.mk, builds/win32/w32-icc.mk,
- builds/win32/w32-mingw32.mk, builds/win32/w32-vcc,
- builds/win32/w32-wat.mk (EXPORTS_LIST, EXPORT_OPTIONS,
- APINAMES_OPTIONS): New targets for controlling the `apinames' tool.
-
- * Jamfile (GenExportSymbols): Updated.
-
-
- * src/pfr/pfrtypes.h, src/pfr/pfrload.c, src/pfr/pfrobjs.c
- [!FT_OPTIMIZE_MEMORY]: Fold memory optimization code into
- FT_OPTIMIZE_MEMORY chunks for better maintainability and simplicity.
-
-
- * src/base/fttrigon.c (ft_trig_prenorm), src/base/ftcalc.c
- (FT_MulFix): Performance optimizations.
-
-
- * include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
- FT_GLYPHLOADER_CHECK_C, FT_GLYPHLOADER_CHECK_POINTS): New macros for
- checking points and contours. Update callers to use
- FT_GLYPHLOADER_CHECK_POINTS instead of FT_GlyphLoader_CheckPoints
- at profile-detected hot-spots.
-
- * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Set `adjust'
- to 0 to not call `AdjustPoints' every time.
-
-
- * src/autofit/aftypes.h (AF_ANGLE_DIFF): New macro to inline
- FT_Angle_Diff.
-
- * src/autofit/afhints.c (af_direction_compute): Re-implement.
- (af_glyph_hints_compute_inflections, af_glyph_hints_reload): Use
- AF_ANGLE_DIFF to speed up the detection of inflexions.
-
-
- * src/tools/apinames.c: Include <string.h>.
- (OutputFormat): New enumeration.
- (names_dump): Add two parameters to control output format and DLL
- name.
- (names_dump_windef): Removed. Code folded into `names_dump'.
- (read_header_file): Use isalnum, not isalpha. Otherwise function
- names with digits aren't read correctly.
- (usage): Updated.
- (main): New option `-o' to control output file name.
- New option `-d' to indicate DLL file name.
- Extend `-w' flag to handle Borland and Watcom compilers and linkers.
-
-2005-10-28 suzuki toshiya <[email protected]>
-
- * builds/mac/ftlib.prj, builds/mac/freetype.mak: Removed.
- ftlib.prj is unmaintained and incompatible with current tree.
- freetype.mak is unrecoverably broken.
-
- * builds/mac/ftlib.prj.xml: Added.
- Generated by Metrowerks CodeWarrior 9.0.
-
- * builds/mac/FreeType.m68k_far.make.txt,
- builds/mac/FreeType.m68k_cfm.make.txt,
- builds/mac/FreeType.ppc_classic.make.txt,
- builds/mac/FreeType.ppc_carbon.make.txt: Added.
- Skeleton files of MPW makefiles.
-
- * builds/mac/ascii2mpw.py: Added.
- Python script to make MPW makefile from skeleton.
-
- * builds/mac/README: Updated.
- Almost rewritten to use new files.
-
-2005-10-28 suzuki toshiya <[email protected]>
-
- * src/base/ftmac.c: Fix invalid casts from NULL to integer typed
- variables. Advised by David Turner, Masatake YAMATO, Sean McBride,
- and George Williams.
-
-2005-10-27 Werner Lemberg <[email protected]>
-
- * include/freetype/ftsysmem.h, include/freetype/ftsysio.h: Removed.
- Obsolete.
-
-2005-10-25 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfdriver.c (sfnt_interface): Move out
- `tt_face_get_kerning' from a #ifdef clause. Reported by Tony J.
-
-2005-10-23 Werner Lemberg <[email protected]>
-
- * src/base/ftdbgmem.c (ft_mem_debug_realloc): Make it compile with
- C++.
-
-2005-10-21 David Turner <[email protected]>
-
- * src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_debug_realloc):
- Another realloc memory counting bug fix.
-
- * src/tools/Jamfile: Add missing file.
-
- * src/lzw/Jamfile: Fix incorrect source file reference.
-
-2005-10-20 David Turner <[email protected]>
-
- * src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_table_remove,
- ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc): Fixes
- to better account for memory reallocations.
-
- * src/lzw/ftlzw2.c, src/lzw/ftzopen.h, src/lzw/ftzopen.c,
- src/lzw/rules.mk: First version of LZW loader re-implementation.
- Apparently, this saves about 330 KB of heap memory when loading
- timR24.pcf.Z.
-
-2005-10-20 Chia-I Wu <[email protected]>
-
- * include/freetype/ftbitmap.h (FT_Bitmap_Copy, FT_Bitmap_Embolden),
- src/base/ftbdf.c (FT_Get_BDF_Property), src/cache/ftcmru.c
- (FTC_MruList_Reset, FTC_MruList_Done, FTC_MruList_Lookup): Fix
- FT_EXPORT/FT_EXPORT_DEF tagging.
-
-2005-10-19 Chia-I Wu <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to
- be invalid when FT_LOAD_NO_SCALE is set.
-
-2005-10-17 David Turner <[email protected]>
-
- * src/base/ftobjs.c (FT_Open_Face): Don't call FT_New_GlyphSlot and
- FT_New_Size if we are opening a face with face_index < 0 (which is
- only used for testing the format).
-
- * src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_entry_validate):
- Remove compiler warning.
-
-2005-10-16 David Turner <[email protected]>
-
- * src/tools/apinames.c: Add new tool to extract public API function
- names from header files.
-
-2005-10-05 Werner Lemberg <[email protected]>
-
- Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
- a hinting engine of its own.
-
- * include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
-
- * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
- (cid_face_init), src/truetype/ttobjs.c (tt_face_init)
- [TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c
- (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init)
- [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags.
-
- * docs/CHANGES: Document it.
-
-2005-09-27 Werner Lemberg <[email protected]>
-
- * builds/unix/freetype2.m4: Add license exception so that the file
- can be used in any other autoconf script.
-
-2005-09-26 David Turner <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_compute_stem_width): Fix bad
- computation of the `vertical' flag, causing ugly things in LCD mode
- and others.
-
-2005-09-23 David Turner <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_hints_init): Fix a bug that
- prevented internal hint mode bitflags from being computed correctly.
-
- * src/base/Jamfile: Adding src/base/ftgxval.c.
-
- * src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
- src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c,
- src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
- src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
- src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
- src/gxvalid/gxvmort5.c, src/gxvalid/gxvmorx.c,
- src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
- src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c,
- src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c,
- src/truetype/ttgload.c: Remove _many_ compiler warnings when
- compiling with Visual C++ at maximum level (/W4).
-
- * src/autofit/afangles.c (af_angle_atan): Replaced CORDIC-based
- implementation with one using lookup tables. This simple thing
- speeds up glyph loading by 18%, according to ftbench!
-
- * src/sfnt/sfdriver.c (sfnt_get_interface): Don't check for
- `get_sfnt' and `load_sfnt' module interfaces.
-
-2005-09-22 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Mention SING Glyphlet support.
-
-2005-09-22 David Turner <[email protected]>
-
- * src/base/Jamfile: Disable compilation of ftgxval module
- temporarily.
-
-2005-09-19 David Somers <[email protected]>
-
- * src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a
- font to have no `head' table if tables `SING' and `META' are
- present; this is to support `SING Glyphlet'.
-
- `SING Glyphlet' is an extension to OpenType developed by Adobe
- primarily to facilitate adding supplemental glyphs to an OpenType
- font (with emphasis on, but not necessarily limited to, gaiji to a
- CJK font). A SING Glyphlet Font is an OpenType font that contains
- the outline(s), either in a `glyf' or `CFF' table, for a glyph;
- `cmap', `BASE', and `GSUB' tables are present with the same format
- and functionaliy as a regular OpenType font; there are no `name',
- `head', `OS/2', and `post' tables; there are two new tables, `SING'
- which contains details about the glyphlet, and `META' which contains
- metadata.
-
- Further information on the SING Glyphlet format can be found at:
-
- http://www.adobe.com/products/indesign/sing_gaiji.html
-
- * include/freetype/ttags.h (TTAG_SING, TTAG_META): New macros for
- the OpenType tables `SING' and `META'. These two tables are used in
- SING Glyphlet Format fonts.
-
-2005-09-09 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
- FT_FACE_FLAG_KERNING which has been commented out erroneously.
-
- * docs/CHANGES: Document it.
-
-2005-09-05 Werner Lemberg <[email protected]>
-
- Fixes for `make multi' and using C++ compiler.
-
- * src/gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
- gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
- gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
- (gxv_compare_ranges): Make it static.
- (gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
- gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
- gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
- trace messages.
- (gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
- (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
- GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
- gxvcommn.h.
-
- * src/gxvalid/gxvcommn.h: Add prototypes for
- gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
- gxv_XStateTable_validate, gxv_array_getlimits_byte,
- gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
- gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
- gxv_odtect_validate.
- (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
- GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
- gxvcommn.c.
-
- * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
- gxv_bsln_parts_fmt1_validate): Improve trace messages.
-
- * src/gxvalid/gxvfeat.c: Split off predefined registry stuff to...
- * src/gxvalid/gxvfeat.h: New file.
-
- * src/gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
- message.
-
- * src/gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
- (gxv_kern_subtable_fmt1_valueTable_load,
- gxv_kern_subtable_fmt1_subtable_setup,
- gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
- (gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN.
- Improve trace message.
- (gxv_kern_validate_generic): Fix C++ compiler error.
- Improve trace message.
- (gxv_kern_validate_classic): Fix C++ compiler error.
-
- * src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
- with FT_LOCAL_DEF.
-
- * src/gxvalid/gxvmort1.c
- (gxv_mort_subtable_type1_substitutionTable_load,
- gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
- (gxv_mort_subtable_type1_substTable_validate): Improve trace
- message.
- (gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
-
- * src/gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
- gxv_mort_subtable_type2_subtable_setup,
- gxv_mort_subtable_type2_ligActionOffset_validate,
- gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
- errors.
- (gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
-
- * src/gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
- with FT_LOCAL_DEF.
-
- * src/gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
- gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
- errors.
- (gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
-
- * src/gxvalid/gxvmort.c: Include gxvfeat.h.
- (gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
- Declare with FT_LOCAL_DEF.
- (gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
- messages.
-
- * src/gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
-
- * src/gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
- with FT_LOCAL_DEF.
-
- * src/gxvalid/gxvmorx1.c
- (gxv_morx_subtable_type1_substitutionTable_load,
- gxv_morx_subtable_type1_subtable_setup,
- gxv_morx_subtable_type1_entry_validate,
- gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
- compiler errors.
- (gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
-
- * src/gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
- gxv_morx_subtable_type2_subtable_setup,
- gxv_morx_subtable_type2_ligActionIndex_validate,
- gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
- errors.
- (gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
- Fix typo.
-
- * src/gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
- with FT_LOCAL_DEF.
-
- * src/gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
- gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
- (gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.
-
- * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
- gxv_morx_validate): Improve trace message.
-
- * src/gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
- warnings.
- (gxv_opbd_validate): Improve trace message.
-
- * src/gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
- appropriate.
- (gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
- message.
-
- * src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
- parameter. Update all callers.
- (gxv_trak_validate): Improve trace message.
-
- * rules.mk (GXV_DRV_H): Add gxvfeat.h.
-
-2005-09-01 Werner Lemberg <[email protected]>
-
- * src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
-
- * src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
- src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
- typo.
-
- * src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
- src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c,
- src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve trace
- messages.
- Decorate constants with `U' and `L' where appropriate.
- Fix compiler warnings.
-
-2005-08-31 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
-
- * src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix trace message.
-
- * src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
-
- * src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c,
- src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c,
- src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
- src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
- src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve trace
- messages.
- Decorate constants with `U' and `L' where appropriate.
- Fix compiler warnings.
-
-2005-08-30 Werner Lemberg <[email protected]>
-
- * src/gxvalid/README: Revised.
- * src/gxvalid/gxvbsln.c: Fix compiler warnings.
- * src/gxvalid/gxvcommn.c: Fix compiler warnings.
- (gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused
- parameter. Update all callers.
- Improve trace messages.
- Some formatting.
-
-2005-08-29 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h, include/freetype/ftchapters.h: Add
- a preliminary section with some explanations about user allocation.
-
- * src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
- Don't abort if there are no data types, functions, etc., in a
- section.
- Print synopsis only if we have a data type, function, etc.
-
- * docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
- docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
- docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
-
-2005-08-28 George Williams <[email protected]>
-
- * src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
- (load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
-
-2005-08-25 J. Ali Harlow <[email protected]>
-
- * builds/unix/freetype2.in (CFlags): Add missing directory.
-
-2005-08-24 Werner Lemberg <[email protected]>
-
- * docs/CHANGES: Mention gxvalid module.
-
-2005-08-23 Werner Lemberg <[email protected]>
-
- * src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
- render mode properly. Reported by [email protected].
-
-2005-08-23 suzuki toshiya <[email protected]>
-
- Add gxvalid module to validate TrueType GX/AAT tables.
-
- Modifications on existing files:
-
- * Jamfile: Register gxvalid module.
- * src/base/Jamfile: Register ftgxval.c.
- * src/base/rule.mk: Register ftgxval.c.
- * docs/INSTALL.ANY: Register gxvalid/gxvalid.c.
-
- * include/freetype/config/ftheader.h (FT_GX_VALIDATE_H): New macro
- to include gxvalid header file.
- * include/freetype/config/ftmodule.h: Register gxv_module_class.
-
- * include/freetype/ftchapters.h: Add comment about gx_validation.
- * include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX
- to FT_VALIDATE_OTXXX to co-exist with gxvalid.
- * include/freetype/tttags.h: Add tags for TrueType GX/AAT tables.
-
- * include/freetype/internal/ftserv.h (FT_SERVICE_GX_VALIDATE_H): New
- macro for gxvalid service.
- * include/freetype/internal/fttrace.h: Add trace facilities for
- gxvalid.
-
- New files on existing directories:
-
- * include/freetype/internal/services/svgxval.h: Registration of
- validation service for TrueType GX/AAT and classic kern table.
- * include/freetype/ftgxval.h: Public API definition to use gxvalid.
- * src/base/ftgxval.c: Public API of gxvalid.
-
- New files under src/gxvalid/:
-
- * src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk
- src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h
- src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h
- src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c
- src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c
- src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c
- src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c
- src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c
- src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c
- src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c
- src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c
- src/gxvalid/gxvtrak.c: New files, gxvalid body.
-
-2005-08-21 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
- to (0,0) if bit 1 of the `head' table isn't set. This improves
- rendering of buggy fonts.
-
-2005-08-20 Chia I Wu <[email protected]>
-
- * src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
- ttmetrics here. TrueType fonts with only sbits always have
- ttmetrics.valid set to false.
-
- * src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
- valid before loading outline glyph.
-
- * src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
-
-2005-08-20 Werner Lemberg <[email protected]>
-
- * src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
- `hhea' table for SFNT Mac fonts. Change based on a patch by
-
-2005-08-20 Masatake YAMATO <[email protected]>
-
- * src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
- of ft_setjmp.
-
-2005-08-19 Werner Lemberg <[email protected]>
-
- * src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
- warnings.
-
-2005-08-16 Chia I Wu <[email protected]>
-
- * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
- messages.
-
-2005-08-16 Chia I Wu <[email protected]>
-
- * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
- TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context
- with slight changes.
- Update all callers.
- (TT_New_Context): Now takes TT_Driver argument directly.
- Update all callers.
-
- * src/truetype/ttobjs.h (tt_slot_init): New function.
- * src/truetype/ttobjs.c (tt_driver_init): Initialize execution
- context here.
- (tt_slot_init): New function to create extra points for the internal
- glyph loader. We then use it directly, instead of face's glyph
- loader, when loading glyph.
-
- * src/truetype/ttdriver.c (tt_driver_class): Use tt_slot_init for
- glyph slot initialization.
- (Load_Glyph): Load flag dependencies are handled here. Return error
- if size is NULL.
-
- * src/truetype/ttgload.c: Heavy cleanup and refactoring.
- (org_to_cur): Removed.
- (TT_Load_Simple_Glyph): Call FT_GlyphLoader_CheckPoints.
- (TT_Hint_Glyph): New function to hint a zone, prepared by caller.
- (TT_Process_Simple_Glyph): s/load/loader/.
- Use loader->pp values instead of recalculation.
- Use TT_Hint_Glyph.
- No need to save/restore loader->stream before and after
- TT_Vary_Get_Glyph_Deltas now.
- (TT_LOADER_SET_PP): New macro to calculate and set the four phantom
- points.
- (load_truetype_glyph): Never set exec->glyphSize to 0. This closes
- Savannah bug #13107.
- Forget glyph frame before calling TT_Process_Simple_Glyph.
- Use TT_LOADER_SET_PP.
- Scale all four phantom points.
- Split off some functionality to ...
- (TT_Process_Composite_Component, TT_Process_Composite_Glyph): These
- new functions.
- (TT_Load_Glyph): Set various fields of `glyph' here, not in
- load_truetype_glyph and compute_glyph_metrics.
- Split off some functionality to ...
- (load_sbit_image, tt_loader_init): These new functions.
- (compute_glyph_metrics): Call FT_Outline_Get_CBox.
-
-2005-08-08 Werner Lemberg <[email protected]>
-
- * docs/INSTALL.ANY: Updated.
-
-2005-08-05 Werner Lemberg <[email protected]>
-
- * src/cff/cffgload.c (cff_builder_close_contour),
- src/psaux/psobjs.c (t1_builder_close_contour): Protect against
- zero `outline' pointer.
-
- * src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero
- `loader' address.
-
-2005-08-03 Werner Lemberg <[email protected]>
-
- * src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]:
- Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics
- to make X work again.
-
-2005-08-02 Werner Lemberg <[email protected]>
-
- * src/otvalid/otvcommn.h: Remove dead code.
-
-2005-07-31 Chia I Wu <[email protected]>
-
- * src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New
- functions.
-
- * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New
- functions.
- (tt_size_init): Add 4, instead of 2, (phantom) points to twilight
- zone.
- Move code that runs fpgm to tt_size_run_fpgm.
- (Reset_Outline_Size): Move code that runs prep to tt_size_run_prep.
- (tt_glyphzone_new): Allocate right size of arrays.
- Set max_points and max_contours properly.
-
-2005-07-26 Chia I Wu <[email protected]>
-
- * src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
- computations and clean up.
-
- * src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
- internal copy of metrics.
-
-2005-07-12 Werner Lemberg <[email protected]>
-
- * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
- Reported by Xerxes.
-
-2005-07-04 Werner Lemberg <[email protected]>
-
- * include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
- Reported by Brett Hutley.
-
-2005-06-30 David Turner <[email protected]>
-
- * src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
- Removing compiler warnings (Visual C++ /W4).
-
-
- Implement a work-around for broken C preprocessor in Visual C++ (it
- has been confirmed by the MS developers that it is indeed a bug
- which won't be fixed in the very near future).
-
- * Jamfile (FT2_COMPONENTS): Include otvalid (again).
-
- * src/otvalid/otvcommn.h (OTV_NAME, OTV_FUNC): New macros.
- (OTV_NEST1, OTV_NEST2, OTV_NEST3): Use OTV_NAME and OTV_FUNC to
- avoid argument expansion by argument prescan.
- Append `Func' to all affected macros and change them to take just a
- single argument. Example: `AttachList' is renamed to
- `AttachListFunc'.
-
- * src/otvalid/otvgdef.c, src/otvalid/otvgpos.c,
- src/otvalid/otvgsub.c, src/otvjstf.c: Append `Func' to macros
- affected by the changes to OTV_NESTx and modify them to take just a
- single argument.
-
-2005-06-20 Chia I Wu <[email protected]>
-
- * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
- ft_glyphslot_grid_fit_metrics.
-
- * src/truetype/ttgload.c (compute_glyph_metrics): Use
- ft_glyphslot_grid_fit_metrics.
-
- * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
- (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use
- ft_glyphslot_grid_fit_metrics.
- FT_Outline_Get_CBox is called twice.
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more
- reasonable values when emboldening outline glyphs. The theoretic
- ones are unrealistic.
-
-2005-06-16 Chia I Wu <[email protected]>
-
- * src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
- halved.
-
- * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
- strength.
- Don't increase slot->advance.y.
-
-2005-06-16 Werner Lemberg <[email protected]>
-
- * include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
- (FREETYPE_PATCH): Set to 0.
-
- * builds/unix/configure.ac (version_info): Set to 9:9:3.
- Currently, we are still binary compatible.
-
- * builds/win32/visualc/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
-
- * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
- s/2.1.9/2.1.10/.
-
- * docs/CHANGES, docs/VERSION.DLL: Updated.
-
- * ChangeLog: Split off older entries into...
- * ChangeLog.20, ChangeLog.21: These new files.
-
-2005-06-15 Kirill Smelkov <[email protected]>
-
- The next release will be 2.2.0, so don't worry about source code
- backwards compatibility.
-
- * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
- FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
- FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
- include/freetype/ftrender.h (FT_Glyph_TransformFunc,
- FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
- parameters with `const' where appropriate.
-
-2005-06-15 Chia I Wu <[email protected]>
-
- * src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
- to make glyphs centered vertically.
-
- * src/truetype/ttgload.c (compute_glyph_metrics): Compute
- vertBearingY to make glyphs centered vertically.
- Fix some bugs in vertical metrics:
-
- . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
- units.
- . As we use the glyph's cbox to calculate the top bearing now
- there is no need to adjust `top'.
-
-2005-06-15 Werner Lemberg <[email protected]>
-
- * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
- in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.
-
-2005-06-13 Werner Lemberg <[email protected]>
-
- * docs/release: Update.
-
-----------------------------------------------------------------------------
-
-Copyright 2005, 2006, 2007, 2008 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT. By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
+2006-05-12 Werner Lemberg <[email protected]>
+
+
+ * Version 2.2.1 released.
+ =========================
+
+
+ Tag sources with `VER-2-2-1'.
+
+2006-05-12 Werner Lemberg <[email protected]>
+
+ * src/tools/docmaker/sources.py (re_source_keywords): Add word
+ boundary markers.
+ * src/tools/docmaker/content.py (re_field): Allow `.' in field names
+ (but not at the beginning or end).
+ * src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset.
+ (block_footer): Split into...
+ (block_footer_start, block_footer_middle, block_footer_end): This to
+ add navigation buttons.
+ (HtmlFormatter::block_exit): Updated.
+
+ * include/freetype/*: Many minor documentation improvements (adding
+ links, spelling errors, etc.).
+
+2006-05-11 Werner Lemberg <[email protected]>
+
+ * README: Minor updates.
+
+ * include/freetype/*: s/scale/scaling value/ where appropriate.
+ Many other minor documentation improvements.
+
+ * src/tools/docmaker/sources.py (re_italic, re_bold): Handle
+ trailing punctuation.
+ * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add
+ warning message for undefined cross references.
+ Update handling of re_italic and re_bold.
+
+2006-05-11 Masatake YAMATO <[email protected]>
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Check errno only if
+ read system call returns -1.
+ Remove a redundant parenthesis.
+
+2006-05-10 Werner Lemberg <[email protected]>
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Avoid infinite loop if
+ given an empty, un-mmap()able file. Reported and suggested fix in
+ Savannah bug #16555.
+
+ * builds/freetype.mk (refdoc): Write-protect the `docmaker'
+ directory to suppress generation of .pyc files. According to the
+ Python docs there isn't a more elegant solution (currently).
+
+ * builds/toplevel.mk (dist): New target which builds .tar.gz,
+ .tar.bz2, and .zip files. Note that the version number is still
+ hard-coded.
+ (do-dist): Sub-target of `dist'.
+ (CONFIG_GUESS, CONFIG_SUB): New variables.
+ (.PHONY): Updated.
+
+2006-05-09 Rajeev Pahuja <[email protected]>
+
+ * builds/win32/visualc/freetype.sln,
+ builds/win32/visualc/freetype.vcproj: Upgraded to VS.NET 2005 from
+ VS.NET 2003
+ Added files ftbbox.c, fttype1.c, ftwinfnt.c, ftsynth.c.
+
+ * builds/win32/visualc/index.html: Updated.
+
+2006-05-07 Werner Lemberg <[email protected]>
+
+ Put version information into the configure script. Reported by Paul
+ Watson <[email protected]>.
+
+ * builds/unix/configure.ac: Renamed to...
+ * builds/unix/configure.raw: This which now serves (with appropriate
+ modifications) as a template for configure.ac.
+
+ * version.sed: New script.
+
+ * autogen.sh: Generate configure.ac from configure.raw, using
+ FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH from freetype.h.
+
+2006-05-06 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+ * builds/unix/configure.ac (version_info): Set to 9:10:3.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj, builds/freetype.mk (refdoc),
+ Jamfile (RefDoc), README: s/220/221/, s/2.2.0/2.2.1/.
+ Minor updates.
+
+ * docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS:
+ Updated.
+
+ * builds/unix/install-sh: Updated from `texinfo' CVS module at
+ savannah.gnu.org.
+
+ * devel/ftoption.h: Synchronize with
+ include/freetype/config/ftoption.h.
+
+2006-05-04 Werner Lemberg <[email protected]>
+
+ * src/lzw/ftlzw2.c: Renamed to...
+ * src/lzw/ftlzw.c: This.
+
+ * src/lzw/Jamfile, src/lzw/rules.mk: Updated.
+
+ * builds/mac/FreeType.m68k_cfm.make.txt,
+ builds/mac/FreeType.m68k_far.make.txt,
+ builds/mac/FreeType.ppc_carbon.make.txt,
+ builds/mac/FreeType.ppc_classic.make.txt: Updated.
+
+2006-05-03 David Turner <[email protected]>
+
+ Allow compilation again with C++ compilers.
+
+ * include/freetype/internal/ftmemory.h (FT_ASSIGNP,
+ FT_ASSIGNP_INNER): New macros which do the actual assignment, and
+ which exist in two variants (for C and C++).
+ Update callers accordingly.
+
+2006-05-03 Werner Lemberg <[email protected]>
+
+ * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
+
+2006-05-02 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
+ (FT_ALLOC): Remove redundant redefinition.
+
+ * builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
+ `-Wstrict-prototypes'.
+
+ * src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
+
+ * include/freetype/config/ftconfig.h (FT_BASE_DEF) [__cplusplus]:
+ Remove `extern'.
+
+2006-05-02 David Turner <[email protected]>
+
+ Update the memory management functions and macros to safely deal
+ with array size buffer overflows. This corresponds to attempts to
+ allocate arrays that are too large. For an example, consider the
+ following code:
+
+ count = read_uint32_from_file(); array = malloc( sizeof ( Item ) *
+ count ); for ( nn = 0; nn < count; nn++ )
+ array[nn] = read_item_from_file();
+
+ If `count' is larger than `FT_UINT_MAX/sizeof(Item)', the
+ multiplication overflows, and the array allocated os smaller than
+ the data read from the file. In this case, the heap will be
+ trashed, and this can be used as a denial-of-service attack, or make
+ the engine crash later.
+
+ The FT_ARRAY_NEW and FT_ARRAY_RENEW macros now ensure that the new
+ count is no larger than `FT_INT_MAX/item_size', otherwise a new
+ error code `FT_Err_Array_Too_Large' will be returned.
+
+ Note that the memory debugger now works again when FT_DEBUG_MEMORY
+ is defined. FT_STRICT_ALIASING has disappeared; the corresponding
+ code is now the default.
+
+
+ * include/freetype/config/ftconfig.h (FT_BASE_DEF) [!__cplusplus]:
+ Don't use `extern'.
+
+ * include/freetype/fterrdef.h (FT_Err_Array_Too_Large): New error
+ code.
+
+ * include/freetype/internal/ftmemory.h (FT_DEBUG_INNER)
+ [FT_DEBUG_MEMORY]: New macro.
+ (ft_mem_realloc, ft_mem_qrealloc): Pass new object size count also.
+ (ft_mem_alloc_debug, ft_mem_qalloc_debug, ft_mem_realloc_debug,
+ ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
+ (FT_MEM_ALLOC, FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC,
+ FT_MEM_FREE): Redefine.
+ (FT_MEM_NEW_ARRAY, FT_MEM_RENEW_ARRAY, FT_MEM_QNEW_ARRAY,
+ FT_MEM_QRENEW_ARRAY): Redefine.
+ (FT_ALLOC_MULT, FT_REALLOC_MULT, FT_MEM_QALLOC_MULT,
+ FT_MEM_QREALLOC_MULT): New macros. Update callers where
+ appropriate.
+ (FT_MEM_SET_ERROR): Slightly redefine.
+
+
+ * src/base/ftdbgmem.c (_ft_debug_file, _ft_debug_lineno)
+ [FT_DEBUG_MEMORY]: New global variables, replacing...
+ (FT_MemTable_Rec) [FT_DEBUG_MEMORY]: Remove `filename' and
+ `line_no'. Update all callers.
+ (ft_mem_debug_alloc) [FT_DEBUG_MEMORY]: Avoid possible integer
+ overflow.
+ (ft_mem_alloc_debug, ft_mem_realloc_debug, ft_mem_qalloc_debug,
+ ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
+
+ * src/base/ftmac.c (read_lwfn): Catch integer overflow.
+ * src/base/ftrfork.c (raccess_guess_darwin_hfsplus): Ditto.
+ * src/base/ftutil.c: Remove special code for FT_STRICT_ALIASING.
+ (ft_mem_alloc, ft_mem_realloc, ft_mem_qrealloc): Rewrite.
+
+
+ * include/freetype/ftstream.h (FT_FRAME_ENTER, FT_FRAME_EXIT,
+ FT_FRAME_EXTRACT, FT_FRAME_RELEASE): Use FT_DEBUG_INNER to report the
+ place where the frames were entered, extracted, exited or released
+ in the memory debugger.
+
+ * src/base/ftstream.c (FT_Stream_ReleaseFrame) [FT_DEBUG_MEMORY]:
+ Call ft_mem_free.
+ (FT_Stream_EnterFrame) [FT_DEBUG_MEMORY]: Use ft_mem_qalloc.
+ (FT_Stream_ExitFrame) [FT_DEBUG_MEMORY]: Use ft_mem_free.
+
+2006-04-30 suzuki toshiya <[email protected]>
+
+ * src/base/ftobjs.c (Mac_Read_POST_Resource): Correct pfb_pos
+ initialization, remove extra cast to copy to pfb_lenpos. This fixes
+ parsing of PFB fonts with MacOS resource fork (bug introduced
+ 2003-09-11). Patch provided by Huib-Jan Imbens <[email protected]>.
+
+2006-04-29 Werner Lemberg <[email protected]>
+
+ Further C library abstraction. Based on a patch from
+
+ * include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE,
+ ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc,
+ ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for
+ C library functions. Update all users accordingly (and catch some
+ other places where the C library function was used instead of the
+ wrapper functions).
+
+ * src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
+ * src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
+ include malloc.h.
+
+
+ * builds/unix/unix-def.in (datarootdir): Define, for autoconf 2.59c
+ and forthcoming versions.
+
+2006-04-28 Werner Lemberg <[email protected]>
+
+ * src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed,
+ obsolete.
+
+2006-04-27 yi luo <[email protected]>
+
+ * builds/win32/visualc/freetype.vcproj: Updated.
+
+2006-04-26 David Turner <[email protected]>
+
+
+ * Version 2.2 released.
+ =======================
+
+
+ Tag sources with `VER-2-2-0'.
+
+2006-04-26 Werner Lemberg <[email protected]>
+
+ * src/psaux/psobjs.c (shift_elements): Don't use FT_Long but
+ FT_PtrDiff for `delta'. Reported by Céline PILLET
+
+2006-04-21 David Turner <[email protected]>
+
+ * include/freetype/ftincrem.h: Documentation updates.
+ (FT_Incremental_Interface): New typedef.
+
+ * include/freetype/ftmodapi.h, include/freetype/ftglyph.h:
+ Documentation updates.
+
+ * include/freetype/freetype.h: Documentation update.
+ (FT_HAS_FAST_GLYPHS): Always set to 0.
+
+ * include/freetype/ftstroke.h, src/base/ftstroke.c (FT_Stroker_New):
+ Take an FT_Library argument instead of FT_Memory.
+
+ * src/sfnt/ttcmap.c: Remove compiler warnings (gcc-4.0.2).
+
+2006-04-13 David Turner <[email protected]>
+
+ * src/autofit/afloader.c (af_loader_init, af_loader_load_g): Remove
+ superfluous code in the auto-fitter's loader.
+
+2006-04-05 Detlef Würkner <[email protected]>
+
+ * builds/amiga/makefile, builds/amiga/makefile.os4,
+ builds/amiga/smakefile: Added FT2_BUILD_LIBRARY define.
+
+2006-04-03 luoyi <[email protected]>
+
+ * builds/compiler/intelc.mk (TE): New variable.
+ (ANSIFLAGS): Updated.
+
+2006-04-03 Werner Lemberg <[email protected]>
+
+ * builds/exports.mk (clean_symbols_list, clean_apinames): Removed.
+ (CLEAN): Add $(EXPORTS_LIST) and $(APINAMES_EXE).
+ (.PHONY): Updated.
+
+ * configure.ac: Minor fixes to improve --help output.
+
+
+ * docs/PROBLEMS: New file.
+
+2006-04-01 David Turner <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+ * include/freetype/ftcache.h, include/freetype/config/ftheader.h:
+ Update documentation comments.
+
+2006-04-01 Werner Lemberg <[email protected]>
+
+ * builds/unix/install.mk (uninstall): Don't handle `cache'
+ directory which no longer exists.
+
+2006-03-29 Detlef Würkner <[email protected]>
+
+ * src/psaux/psconv.c: Changed some variables which are expected to
+ hold negative values from `char' to `FT_Char' to allow building with
+ a compiler where `char' is unsigned by default.
+
+2006-03-27 David Turner <[email protected]>
+
+ * src/sfnt/ttkern.c (tt_face_get_kerning): Fix a serious bug that
+ causes some programs to go into an infinite loop when dealing with
+ fonts that don't have a properly sorted kerning sub-table.
+
+2006-03-26 Werner Lemberg <[email protected]>
+
+ * src/bdf/bdflib.c (ERRMSG4): New macro.
+ (_bdf_parse_glyphs): Handle invalid BBX values.
+
+ * include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error
+ macro.
+
+2006-03-23 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+
+ * src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
+ padding between table elements.
+ (html_header_1): The `DOCTYPE' comment must be in uppercase.
+ (make_html_para): Convert `...' quotations into real left and
+ right single quotes.
+ Use `para_header' and `para_footer'.
+
+ * src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'"
+ also.
+
+2006-03-23 David Turner <[email protected]>
+
+ Add FT_Get_SubGlyph_Info API to retrieve subglyph data. Note that
+ we do not expose the FT_SubGlyphRec structure.
+
+ * include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
+ to...
+ * include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
+ (FT_Get_SybGlyph_Info): New declaration.
+
+ * src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
+
+
+ * src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and
+ rsb_delta correctly in edge cases.
+
+2006-03-22 Werner Lemberg <[email protected]>
+
+ * src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup)
+ [!FTC_INLINE]: Compile conditionally.
+ * src/cache/ftccache.h: Updated.
+
+ * src/cache/ftcglyph.c (FTC_GNode_Init, FTC_GNode_UnselectFamily,
+ FTC_GNode_Done, FTC_GNode_Compare, FTC_Family_Init, FTC_GCache_New):
+ s/FT_EXPORT/FT_LOCAL/.
+ (FTC_GCache_Init, FTC_GCache_Done): Commented out.
+ (FTC_GCache_Lookup) [!FTC_INLINE]: Compile conditionally.
+ s/FT_EXPORT/FT_LOCAL/.
+ * src/cache/ftcglyph.h: Updated.
+
+ * src/cache/ftcimage.c (FTC_INode_Free, FTC_INode_New):
+ s/FT_EXPORT/FT_LOCAL/.
+ (FTC_INode_Weight): Commented out.
+ * src/cache/ftcimage.h: Updated.
+
+ * src/cache/ftmanag.c (FTC_Manager_Compress,
+ FTC_Manager_RegisterCache, FTC_Manager_FlushN):
+ s/FT_EXPORT/FT_LOCAL/.
+ * src/cache/ftmanag.h: Updated.
+
+ * src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New,
+ FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/.
+ (FTC_SNode_Weight): Commented out.
+ * src/cache/ftcsbits.h: Updated.
+
+2006-03-22 Werner Lemberg <[email protected]>
+
+ * src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy):
+ Remove, unused.
+
+ * src/cache/ftccmap.h: Remove, unused.
+
+ * src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h.
+
+2006-03-21 Zhe Su <[email protected]>
+
+ * src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve
+ algorithm.
+
+2006-03-21 Werner Lemberg <[email protected]>
+
+ * src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member.
+
+ * src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'.
+
+ * src/cff/cffgload.c (cff_slot_load): Change type of third parameter
+ to `FT_UInt'.
+ Check range of `glyph_index'.
+ * src/cff/cffgload.h: Updated.
+
+
+ * src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset
+ correctly.
+
+
+ * builds/freetype.mk (refdoc), docs/CHANGES, Jamfile (RefDoc),
+ README: s/2.1.10/2.2/.
+
+2006-03-21 David Turner <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_metrics_scale): Fix small bug
+ that crashes the auto-hinter (introduced by previous patch).
+
+2006-03-20 Werner Lemberg <[email protected]>
+
+ * builds/freetype.mk (CACHE_DIR, CACHE_H): Remove.
+ (FREETYPE_H): Updated.
+
+ * src/cache/rules.mk (CACHE_H_DIR): Remove.
+ (CACHE_DRV_H): Updated.
+
+2006-03-20 David Turner <[email protected]>
+
+ * include/freetype/cache/ftccache.h,
+ include/freetype/cache/ftccmap.h, include/freetype/cache/ftcglyph.h
+ include/freetype/cache/ftcimage.h include/freetype/cache/ftcmanag.h
+ include/freetype/cache/ftcmru.h include/freetype/cache/ftcsbits.h:
+ Move to...
+
+ * src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h,
+ src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h,
+ src/cache/ftcmru.h: This new location.
+ Update declarations according to the changes in the corresponding
+ source files.
+
+ Note that these files are not used by FreeType clients; all public
+ APIs of the cache module have been already moved to
+ `include/freetype/ftcache.h', and all FT_CACHE_INTERNAL_XXXX_H
+ macros resolve to it.
+
+ Reason for the move is to allow modifications of the internals
+ without interferences with rogue clients. Note that there are no
+ known clients that access the cache internals at the moment.
+
+ * builds/unix/install.mk (install): Don't install headers from
+ $(CACHE_H).
+ Remove `freetype/cache' from the target directory.
+
+ * include/freetype/config/ftheader.h (FT_CACHE_MANAGER_H,
+ FT_CACHE_INTERNAL_MRU_H, FT_CACHE_INTERNAL_MANAGER_H,
+ FT_CACHE_INTERNAL_CACHE_H, FT_CACHE_INTERNAL_GLYPH_H,
+ FT_CACHE_INTERNAL_IMAGE_H, FT_CACHE_INTERNAL_SBITS_H): Point to
+ FT_CACHE_H.
+
+ * src/cache/ftcbasic.c, src/cache/ftccache.h, src/cache/ftccback.h,
+ src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h,
+ src/cache/ftcimage.c, src/cache/ftcimage.h, src/cache/ftcmanag.c,
+ src/cache/ftcmanag.h, src/cache/ftcmru.h, src/cache/ftcsbits.c,
+ src/cache/ftcsbits.h: Don't use the FT_CACHE_INTERNAL_XXX_H macros
+ but include the headers directly (which are now in `src/cache').
+
+ * src/cache/ftccache.c: Don't use the FT_CACHE_INTERNAL_XXX_H
+ macros but include the headers directly.
+ (FTC_Cache_Init, FTC_Cache_Done, FTC_Cache_NewNode,
+ FTC_Cache_Lookup, FTC_Cache_RemoveFaceID): Declare as FT_LOCAL_DEF.
+
+ * src/cache/ftccache.c: Don't use the FT_CACHE_INTERNAL_XXX_H
+ macros but include the headers directly.
+ (FTC_MruNode_Prepend, FTC_MruNode_Up, FTC_MruNode_Remove,
+ FTC_MruList_Init, FTC_MruList_Reset, FTC_MruList_Done,
+ FTC_MruList_New, FTC_MruList_Remove, FTC_MruList_RemoveSelection):
+ Declare as FT_LOCAL_DEF.
+ (FTC_MruListFind, FTC_MruList_Lookup) [!FTC_INLINE]: Compile
+ conditionally.
+ Declare as FT_LOCAL_DEF.
+
+
+ * builds/win32/visualc/freetype.dsp: Update project file, add
+ missing base source files (ftstroke.c, ftxf86.c, etc.).
+
+
+ * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c,
+ src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c,
+ src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/type1/t1afm.c,
+ src/type1/t1objs.c: Remove compiler warnings when building with
+ Visual C++ 6 and /W4.
+
+ * src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
+ hinting for italic/oblique fonts.
+
+
+
+ * src/truetype/ttpload.c, src/truetype/ttpload.h
+ (tt_face_get_device_metrics): Change second argument to `FT_UInt'.
+
+2006-03-06 David Turner <[email protected]>
+
+ * src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): Prevent crashes in
+ Mozilla/FireFox print preview in Ubuntu Hoary.
+
+2006-02-28 Chia-I Wu <[email protected]>
+
+ * src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not
+ return error when size == 0.
+
+2006-02-28 Chia-I Wu <[email protected]>
+
+ * src/base/ftobjs.c (FT_Done_Library): Remove modules in reverse
+ order so that type42 module is removed before truetype module. This
+ avoids double free in some occasions.
+
+2006-02-28 David Turner <[email protected]>
+
+ * Release candidate VER-2-2-0-RC4.
+ ----------------------------------
+
+ * docs/CHANGES: Documentation updates.
+
+2006-02-28 suzuki toshiya <[email protected]>
+
+ * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
+ build ftvalid in ft2demos. It works as dummy ABI if gxvalid is not
+ built.
+
+2006-02-27 Werner Lemberg <[email protected]>
+
+ * include/freetype/cache/ftccache.h
+ [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of
+ ftc_node_done.
+
+ * src/cache/ftccache.c (ftc_node_destroy)
+ [!FT_CONFIG_OPTION_OLD_INTERNALS]: Mark as FT_LOCAL_DEF. This
+ should now fix all possible compilation options.
+
+2006-02-27 David Turner <[email protected]>
+
+ * src/base/ftutil.c (ft_mem_alloc, ft_mem_qalloc, ft_mem_realloc,
+ ft_mem_qrealloc): Return an error if a negative size is passed in
+ parameters.
+
+ * src/cache/ftccache.c (ftc_node_destroy): Mark as FT_BASE_DEF since
+ it needs to be exported for rogue clients.
+
+ * src/pshinter/pshglob.c (psh_blues_set_zones_0): Prevent problems
+ with malformed fonts which have an odd number of blue values (these
+ are broken according to the specs).
+
+ * src/cff/cffload.c (cff_subfont_load), src/type1/t1load.c
+ (T1_Open_Face): Modify the loaders to force even-ness of
+ `num_blue_values'.
+
+ (cff_index_access_element): Ignore invalid entries in index files.
+
+2006-02-27 Chia-I Wu <[email protected]>
+
+ * src/base/ftobjs.c (FT_Set_Char_Size): Check the case where width
+ or height is 0.
+
+2006-02-27 suzuki toshiya <[email protected]>
+
+ * builds/mac/FreeType.m68k_cfm.make.txt,
+ builds/mac/FreeType.m68k_far.make.txt,
+ builds/mac/FreeType.ppc_carbon.make.txt,
+ builds/mac/FreeType.ppc_classic.make.txt: Update to new header
+ inclusion introduced on 2006-02-16.
+
+2006-02-27 Chia-I Wu <[email protected]>
+
+ * src/base/ftobjs.c (GRID_FIT_METRICS): New macro.
+ (ft_glyphslot_grid_fit_metrics, FT_Load_Glyph) [GRID_FIT_METRICS]:
+ Re-enable glyph metrics grid-fitting. It is now done in the base
+ layer.
+ (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Make sure the width and
+ height are not too small or too large, just like we were doing in
+ 2.1.10.
+
+ * src/autofit/afloader.c (af_loader_load_g): The vertical metrics
+ are not scaled.
+
+2006-02-26 Werner Lemberg <[email protected]>
+
+ * docs/release: Minor additions and clarifications.
+
+ * docs/CHANGES: Updated to reflect many fixes for backwards
+ compatibility. Still incomplete.
+
+2006-02-26 David Turner <[email protected]>
+
+ * src/base/ftobjs.c (ft_recompute_scaled_metrics): Re-enable
+ conservative rounding of metrics to avoid breaking clients like
+ Pango (see http://bugzilla.gnome.org/show_bug.cgi?id=327852).
+
+2006-02-25 Werner Lemberg <[email protected]>
+
+ * devel/ftoption.h: Synchronize with
+ include/freetype/config/ftoption.h.
+
+ * src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF (again).
+
+2006-02-25 David Turner <[email protected]>
+
+ Fix compiler warnings as well as C++ compilation problems.
+ Add missing prototypes.
+
+ * src/autofit/afcjk.c, src/base/ftobjs.c, src/base/ftutil.c,
+ src/bdf/bdfdrivr.c, src/cff/cffcmap.c, src/cff/cffobjs.c,
+ src/psaux/afmparse.c,, src/psaux/t1cmap.c, src/smooth/ftgrays.c
+ src/tools/apinames.c, src/truetype/ttdriver.c: Add various casts,
+ initialize variables, and decorate functions with FT_CALLBACK_DEF,
+ etc., to fix compiler warnings (and C++ compiling errors).
+
+ * src/cache/ftcbasic.c: Fix `-Wmissing-prototypes' warnings with
+ gcc.
+
+ * builds/unix/ftsystem.c: Don't include FT_INTERNAL_OBJECTS_H but
+ FT_INTERNAL_STREAM_H.
+
+ * src/base/ftsystem.c: Include FT_INTERNAL_STREAM_H.
+
+ * include/freetype/config/ftheader.h (FT_PFR_H): New macro.
+
+ * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Don't
+ define for C++.
+
+ * include/freetype/internal/services/svotval.h: Don't include
+ FT_OPENTYPE_VALIDATE_H but FT_INTERNAL_VALIDATE_H.
+
+ * include/freetype/internal/services/svpfr.h: Include FT_PFR_H.
+
+ * src/gzip/ftgzip.c: Include FT_GZIP_H.
+
+ * src/lzw/ftlzw.c, src/lzw/ftlzw2.c: Include FT_LZW_H.
+
+ * src/sfnt/ttbdf.c (tt_face_load_bdf_props): Rearrange code.
+
+2006-02-24 Chia-I Wu <[email protected]>
+
+ * src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
+ ft_contour_enclosed, ft_outline_get_orientation): Commented out. We
+ have to wait until `FT_GlyphSlot_Own_Bitmap' is stabilized.
+ (FT_Outline_Embolden): Use `FT_Outline_Get_Orientation'.
+
+2006-02-24 Chia-I Wu <[email protected]>
+
+ * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Update
+ documentation.
+
+ * include/freetype/ftsynth.h (FT_GlyphSlot_Own_Bitmap),
+ src/base/ftsynth.c (FT_GlyphSlot_Own_Bitmap): New function to make
+ sure a glyph slot owns its bitmap. It is also marked experimental
+ and due to change.
+ (FT_GlyphSlot_Embolden): Undo the last change. It turns out that
+ rendering the outline confuses some applications.
+
+2006-02-24 David Turner <[email protected]>
+
+ * Release candidate VER-2-2-0-RC3.
+ ----------------------------------
+
+ * src/cache/ftcbasic.c: Correct compatibility hack bug.
+
+2006-02-24 Chia-I Wu <[email protected]>
+
+ * include/freetype/freetype.h (FT_Size_RequestRec): Change the type
+ of `width' and `height' to `FT_Long'.
+ (enum FT_Size_Request_Type), src/base/ftobjs.c (FT_Request_Metrics):
+ New request type `FT_SIZE_REQUEST_TYPE_SCALES' to specify the scales
+ directly.
+
+2006-02-23 David Turner <[email protected]>
+
+ Two BDF patches from Debian libfreetype6 for 2.1.10.
+
+ * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix a bug with zero-width
+ glyphs.
+ Fix a problem with large encodings.
+
+
+ Fix binary compatibility issues for gnustep-back (GNUstep backend
+ module) which still crashes under Sarge.
+
+ * src/cache/ftccmap.c (FTC_OldCMapType, FTC_OldCMapIdRec,
+ FTC_OldCMapDesc) [FT_CONFIG_OPTION_OLD_INTERNALS]: New data
+ structures and enumerations.
+ (FTC_CMapCache_Lookup) [FT_CONFIG_OPTION_OLD_INTERNALS]: New
+ compatibility code.
+
+ * src/cache/ftcbasic.c: Fix a silly bug that prevented our `hack' to
+ support rogue clients compiled against 2.1.7 to work correctly.
+ This probably explains the GNUstep crashes with the second release
+ candidate.
+
+2006-02-23 Chia-I Wu <[email protected]>
+
+ * include/freetype/ftoutln.h (enum FT_Orientation): New value
+ `FT_ORIENTATION_NONE'.
+
+ * src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
+ ft_contour_enclosed, ft_outline_get_orientation): Another version of
+ `FT_Outline_Get_Orientation'. This version differs from the public
+ one in that each part (contour not enclosed in another contour) of the
+ outline is checked for orientation.
+ (FT_Outline_Embolden): Use `ft_outline_get_orientation'.
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Render the outline and
+ use bitmap's embolden routine when the outline one failed.
+
+2006-02-22 Chia-I Wu <[email protected]>
+
+ * modules.cfg: Compile in ftotval.c and ftxf86.c by default for ABI
+ compatibility.
+
+ * src/sfnt/sfobjs.c (sfnt_done_face): Fix a memory leak.
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned,
+ tt_sbit_decoder_load_byte_aligned) [FT_OPTIMIZE_MEMORY]: Fix sbit
+ loading. (Only tested with bit aligned sbit with x_pos == 0.)
+
+ * src/truetype/ttpload.c (tt_face_load_hdmx,
+ tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: `hdmx' is not
+ actually used.
+
+2006-02-21 David Turner <[email protected]>
+
+ Add a new API named FT_Get_TrueType_Engine_Type to determine whether
+ we have a patented, unpatented, or unimplemented TrueType bytecode
+ interpreter.
+
+ The FT_Get_Module_Flags API was removed consequently.
+
+ * include/freetype/ftmodapi.h (FT_Module_Get_Flags): Removed.
+ Replaced with...
+ (FT_Get_TrueType_Engine_Type): This.
+ (FT_TrueTypeEngineType): New enumeration.
+
+ * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H):
+ New macro.
+
+ * src/base/ftobjs.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
+ (FT_Module_Get_Flags): Removed. Replaced with...
+ (FT_Get_TrueType_Engine_Type): This.
+
+ * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
+ (tt_service_truetype_engine): New service structure.
+ (tt_services): Register it.
+
+ * include/freetype/internal/services/svtteng.h: New file.
+
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Fix silly bug that prevented
+ embedded bitmaps from being correctly listed and used.
+
+
+ * src/sfnt/ttmtx.c (tt_face_load_hmtx): Disable memory optimization
+ if FT_CONFIG_OPTION_OLD_INTERNALS is used. The is necessary because
+ libXfont is directly accessing the HMTX data, unfortunately.
+ Fix some compiler warnings.
+ (tt_face_get_metrics): Ditto.
+
+
+ * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix handling of
+ character advances.
+
+2006-02-20 David Turner <[email protected]>
+
+ Support binary compatibility with the X.Org server's Xfont library.
+ Note that this change unfortunately prevents memory optimizations
+ for the embedded bitmap loader.
+
+ * include/freetype/internal/sfnt.h (SFNT_Interface): Move
+ `set_sbit_strike' and `load_sbit_metrics' fields to the location of
+ version 2.1.8.
+
+ * src/sfnt/sfdriver.c (tt_face_set_sbit_strike_stub): Call
+ FT_Size_Request.
+ (sfnt_interface): Updated.
+
+ * src/sfnt/ttsbit.c [FT_CONFIG_OPTION_OLD_INTERNALS]: Don't load
+ ttsbit0.c.
+ (tt_load_sbit_metrics): Make `sbit_small_metrics_fields' static.
+
+ * src/sfnt/ttsbit.h: Updated.
+
+2006-02-17 David Turner <[email protected]>
+
+ * builds/unix/unix-cc.in (LINK_LIBRARY): Don't filter out exported
+ functions anymore. This ensures that all FT_BASE internal functions
+ are available for dynamic linking.
+
+ * include/freetype/ftcache.h (FTC_IMAGE_TYPE_COMPARE,
+ FTC_IMAGE_TYPE_HASH), src/cache/ftcbasic.c (FTC_OldFontRec,
+ FTC_OldImageDescRec, FTC_ImageCache_Lookup, FTC_Image_Cache_New,
+ FTC_OldImage_Desc, FTC_OLD_IMAGE_FORMAT, ftc_old_image_xxx,
+ ftc_image_type_from_old_desc, FTC_Image_Cache_Lookup,
+ FTC_SBitCache_Lookup, FTC_SBit_Cache_New, FTC_SBit_Cache_Lookup)
+ [FT_CONFIG_OPTION_OLD_INTERNALS]: Try to revive old functions of the
+ cache sub-system. We try to recognize old legacy signatures with a
+ gross hack (hope it works).
+
+2006-02-17 Werner Lemberg <[email protected]>
+
+ * devel/ftoption.h: Synchronize with
+ include/freetype/config/ftoption.h.
+
+2006-02-16 David Turner <[email protected]>
+
+ Massive changes to the internals to respect the internal object
+ layouts and exported functions of FreeType 2.1.7. Note that the
+ cache sub-system cannot be fully retrofitted, unfortunately.
+
+ * include/freetype/config/ftoption.h
+ (FT_CONFIG_OPTION_OLD_INTERNALS): New macro.
+
+ * include/freetype/ftcache.h, include/freetype/cache/ftccache.h,
+ include/freetype/cache/ftccmap.h,
+ include/freetype/internal/ftcalc.h,
+ include/freetype/internal/ftdriver.h,
+ include/freetype/internal/ftmemory.h,
+ include/freetype/internal/ftobjs.h,
+ include/freetype/internal/psaux.h, include/freetype/internal/sfnt.h,
+ include/freetype/internal/t1types.h,
+ include/freetype/internal/tttypes.h, src/base/ftcalc.c,
+ src/base/ftdbgmem.c, src/base/ftobjs.c, src/base/ftutil.c,
+ src/bdf/bdfdrivr.c, src/cache/ftccache.c, src/cache/ftccback.h,
+ src/cache/ftcmanag.c, src/cff/cffdrivr.c, src/cid/cidriver.c,
+ src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/psaux/psauxmod.c,
+ src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c,
+ src/type1/t1objs.c, src/type42/t42drivr.c, src/winfonts/winfnt.c:
+ Use FT_CONFIG_OPTION_OLD_INTERNALS to revive old functions and data
+ structures.
+
+ Move newly added structure elements to the end of the affected
+ structure and add stub fields (if FT_CONFIG_OPTION_OLD_INTERNALS is
+ defined) to assure binary compatibility with older FreeType
+ versions.
+ Use FT_CONFIG_OPTION_OLD_INTERNALS to add function stubs for old
+ functions:
+
+ ft_stub_set_char_sizes
+ ft_stub_set_pixel_sizes
+
+ Rename the following internal functions to provide the old function
+ names as stubs:
+
+ FT_Alloc -> ft_mem_alloc
+ FT_QAlloc -> ft_mem_qalloc
+ FT_Realloc -> ft_mem_realloc
+ FT_QRealloc -> ft_mem_qrealloc
+ FT_Free -> ft_mem_free
+ FT_Alloc_Debug -> ft_mem_alloc_debug
+ FT_QAlloc_Debug -> ft_mem_qalloc_debug
+ FT_Realloc_Debug -> ft_mem_realloc_debug
+ FT_QRealloc_Debug -> ft_mem_qrealloc_debug
+ FT_Free_Debug -> ft_mem_free_debug
+
+2006-02-15 Chia-I Wu <[email protected]>
+
+ * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
+ unused `max_points' and `max_contours'.
+
+ * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
+ (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
+ `max_components'.
+
+ * src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused
+ `loadSize' and `loadStack'.
+
+ * src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context),
+ src/sfnt/ttload.c (tt_face_load_maxp): Update.
+
+ * src/cff/cffobjs.h (cff_size_select), src/sfnt/sfdriver.c
+ (sfnt_interface), src/truetype/ttdriver.c (tt_size_request): Fix
+ compiler errors/warnings when TT_CONFIG_OPTION_EMBEDDED_BITMAPS is not
+ defined.
+
+ * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Fix
+ possible segment faults for the non-FT_OPTIMIZE_MEMORY'ed versions.
+ (finally!)
+
+
+ For most OpenType tables, `tt_face_load_xxxx' simply loads the table
+ and `face->root' is set later in `sfnt_load_face'. Here, we try to
+ make this work for _all_ tables. Also improve tracing messages.
+
+ * src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/sfnt/ttload.c,
+ src/sfnt/ttmtx.c: all `tt_face_load_xxxx' should load the table and
+ then exit. Error handling or setting face->root is done later in
+ `sfnt_load_face'.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Work harder.
+ Mac bitmap-only fonts are not scalable.
+ Check that `face->header.Units_Per_EM' is not zero.
+ (LOAD_, LOADM_): Emit pretty trace messages.
+
+ * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics
+ from `eblc'.
+
+ * src/sfnt/ttcmap.c (tt_face_build_cmaps), src/sfnt/ttpost.c
+ (load_format_20, load_format_25, tt_face_get_ps_name): Use
+ face->max_profile.numGlyphs, instead of face->root.num_glyphs.
+
+2006-02-14 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftoutln.h (FT_Outline_Embolden): Mention in
+ documentation that negative strength values are possible.
+ Give an example call.
+
+ * include/freetype/freetype.h (FT_GlyphSlotRec): Improve
+ documentation of `outline' field.
+
+ * src/sfnt/sfobjc.s: Inckude FT_INTERNAL_DEBUG_H.
+ * src/sfnt/sfdriver.c: Include ttmtx.h.
+
+ * src/autofit/afcjk.c: Include aftypes.h and aflatin.h.
+
+2006-02-14 Chia-I Wu <[email protected]>
+
+ * src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
+
+2006-02-14 Chia-I Wu <[email protected]>
+
+ * src/sfnt/ttmtx.c (tt_face_load_hhea, tt_face_load_hmtx): Simply
+ return error if table is missing.
+ Check table length in non-FT_OPTIMIZE_MEMORY'ed `tt_face_load_hmtx'.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Take care of missing metrics
+ tables. The last change makes Mac bitmap-only font not load and
+ this fixes it.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation
+ error when FT_CONFIG_OPTION_INCREMENTAL is defined.
+
+2006-02-13 Chia-I Wu <[email protected]>
+
+ Clean up the SFNT_Interface. In this final pass, `load_hmtx' is
+ split from `load_hhea'.
+
+ * include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c,
+ src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Split `hmtx' from `hhea'.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Update.
+
+2006-02-13 Chia-I Wu <[email protected]>
+
+ * src/sfnt/ttmtx.h, src/sfnt/ttmtx.c: Why are there two copies of
+ code...
+
+2006-02-13 Chia-I Wu <[email protected]>
+
+ Clean up the SFNT_Interface. In this pass, we want to treat the
+ font directory (offset table and table directory) as a normal table
+ like the others. This also means that TTCs are no longer recognized
+ there but in `init_face'.
+
+ * include/freetype/internal/sfnt.h (SFNT_Interface),
+ src/sfnt/sfdriver.c: `load_sfnt_header' and `load_directory' are
+ combined and renamed to `load_font_dir'.
+
+ * src/sfnt/ttload.h, src/sfnt/ttload.c:
+ s/sfnt_dir_check/check_table_dir/.
+ `sfnt_init' is moved to sfobjs.c and renamed to `sfnt_open_font'.
+ `tt_face_load_sfnt_header' and `tt_face_load_directory' are combined
+ and renamed to `tt_face_load_font_dir'.
+
+ * src/sfnt/sfobjs.c (sfnt_init_face): Recognize TTC here.
+
+2006-02-13 Chia-I Wu <[email protected]>
+
+ Clean up the SFNT_Interface. Table loading functions are now named
+ after the tables' tags; `hdmx' is TrueType-specific and thus the
+ code is moved to the truetype module; `get_metrics' is moved here
+ from the truetype module so that the code can be shared with the cff
+ module.
+
+ This pass involves no real changes. That is, the code is moved
+ verbatim mostly. The only exception is the return value of
+ `tt_face_get_metrics'.
+
+ * include/freetype/internal/sfnt.h, src/sfnt/rules.mk,
+ src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
+ src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c,
+ src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface.
+
+ * src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: New files. Metrics-related
+ tables' loading and parsing code is moved to here.
+ Move `tt_face_get_metrics' here from the truetype module. The
+ return value is changed from `void' to `FT_Error'.
+
+ * include/freetype/internal/fttrace.h: New trace: ttmtx.
+
+ * src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and
+ parsing code is moved here.
+ New function `tt_face_load_prep' split from `tt_face_load_fpgm'.
+ `tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist.
+
+ * src/cff/cffgload.c, src/cff/cffobjs.c: Update.
+
+ * src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
+
+2006-02-11 Chia-I Wu <[email protected]>
+
+ * src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug...
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_widths): Use
+ AF_LatinMetricsRec as the dummy metrics because we cast the metrics
+ to it later in `af_latin_hints_link_segments'.
+
+2006-02-11 Chia-I Wu <[email protected]>
+
+ * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define
+ to enable autofit CJK script support. (#define'd by default.)
+
+ * src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_widths): Make sure
+ that `edge_distance_threshold' is always set.
+ (af_latin_hints_link_segments): Potential divide-by-zero bug.
+ Use latin constant in the scoring formula.
+
+ * src/autofit/afcjk.c: Minor updates due to the above three changes.
+
+ * docs/TODO, docs/CHANGES: Updated.
+
+2006-02-09 Chia-I Wu <[email protected]>
+
+ Introduce experimental autofit CJK module based on akito's autohint
+ patch. You need to #define AF_MOD_CJK in afcjk.c to enable it.
+
+ * src/autofit/afglobal.c, src/autofit/afcjk.h, src/autofit/afcjk.c,
+ src/autofit/rules.mk, src/autofit/autofit.c, src/autofit/aftypes.h:
+ Add CJK module based on akito's autohint patch.
+
+ * src/autofit/afhints.h (AF_SegmentRec): New field `len' for the
+ overlap length of the segments.
+ (AF_SEGMENT_LEN, AF_SEGMENT_DIST): New macros.
+
+ * src/autofit/aflatin.h (af_latin_metrics_init_widths),
+ src/autofit/aflatin.c (af_latin_metrics_init_widths): Made
+ `FT_LOCAL'.
+ Use the character given by the caller.
+ (af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale
+ the thresholds.
+
+ * src/autofit/afloader.c (af_loader_load_g): Respect
+ AF_SCALER_FLAG_NO_ADVANCE.
+
+2006-02-09 Werner Lemberg <[email protected]>
+
+ * src/cid/cidparse.c (cid_parse_new): Remove shadowing variable.
+
+2006-02-09 suzuki toshiya <[email protected]>
+
+ * src/cid/cidparse.c (cid_parse_new): Fix for abnormally short or
+ broken CIDFont. Reported by Taek Kwan(TK) Lee (see ft-devel
+ 2005-11-02).
+
+2006-02-08 suzuki toshiya <[email protected]>
+
+ * builds/unix/configure.ac: Fix bug for `--with-old-mac-fonts'
+ option on UNIX platform. It has been broken since 2006-01-11.
+
+2006-02-01 Werner Lemberg <[email protected]>
+
+ * src/otvalid/module.mk: s/otvalid_module_class/otv_module_class/.
+ * src/gxvalid/module.mk: s/gxvalid_module_class/gxv_module_class/.
+
+ * builds/unix/unixddef.mk: Actually do define PLATFORM (fixing
+ change from 2006-01-31).
+ (TOP_DIR, OBJ_DIR): Update.
+
+ * builds/unix/install.mk (install): Fix path for ftmodule.h.
+
+ * Makefile, *.mk, builds/unix/unix-cc.in, builds/unix-def.in: Use
+ `?=' where appropriate.
+
+ * builds/detect.mk (TOP_DIR), builds/os2/os2-dev.mk (TOP_DIR),
+ builds/win32/w32-dev.mk (TOP_DIR): Removed. Defined elsewhere.
+
+2006-01-31 Werner Lemberg <[email protected]>
+
+ Implement new, simplified module selection. With GNU make it is now
+ sufficient to modify a single file, `modules.cfg', to control the
+ inclusion of modules and base extension files.
+
+ This change also fixes the creation of ftmodule.h; it now depends on
+ `modules.cfg' and thus is rebuilt only if necessary.
+
+ Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
+ default location.
+
+ * modules.cfg: New file.
+
+ * builds/freetype.mk: Don't include `modules.mk'.
+ Include all `rules.mk' files as specified in `modules.cfg'.
+ (FTOPTION_FLAG, FTOPTION_H): New variables.
+ (FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H.
+ Add FTOPTION_FLAG.
+ ($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST.
+ (CONFIG_H): Add FTMODULE_H and FTOPTION_H.
+ (INCLUDES): Add DEVEL_DIR.
+ (INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ,
+ OBJ_M, OBJ_S): Use `:=', not `='.
+ (remove_ftmodule_h): New phony target to delete `ftmodule.h'.
+ (distclean): Add remove_ftmodule_h.
+
+ * builds/modules.mk: (MODULE_LIST): Removed.
+ (make_module_list, clean_module_list): Replace targets
+ with...
+ (FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New
+ variables. Reason for the change is that it is not possible to have
+ a phony prerequisite which is run only if the target file must be
+ rebuilt (phony prerequisites act like subroutines and are *always*
+ executed). We only want to rebuild `ftmodule.h' if `module.cfg' is
+ changed.
+ Update all callers.
+ ($FTMODULE_H)): Rule to create `ftmodule.h', depending on
+ `modules.cfg'.
+
+ * builds/toplevel.mk: Rewrite and simplify module handling.
+ (MODULES_CFG, FTMODULE_H): New variables.
+ Include MODULES_CFG.
+ (MODULES): New variable to include all `module.mk' and `rules.mk'
+ files. We no longer use make's `wildcard' function for this.
+
+ * Makefile (USE_MODULES): Remove. Update all users.
+ (OBJ_DIR): Define it here.
+
+ * src/*/module.mk: Change
+
+ make_module_list: foo
+ foo: ...
+
+ to
+
+ FTMODULE_H_COMMANDS += FOO
+ define FOO
+ ...
+ endef
+
+ in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
+
+ * src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
+
+ * builds/unix/detect.mk (setup): Always execute `configure' script.
+ (have_mk): Rename to...
+ (have_Makefile): This.
+ Don't use `strip' function.
+
+ * builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
+ defined.
+ (have_mk): Don't use `strip' function.
+ Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
+ accordingly).
+
+ * builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
+
+ * builds/os2/os2-dev.mk, builds/unix/unix-dev.mk,
+ builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define
+ BUILD_DIR but DEVEL_DIR for development header files.
+
+ * builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR),
+ builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in
+ (TOP_DIR, OBJ_DIR): Removed. Defined elsewhere.
+
+ * builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR),
+ builds/win32/win32-def.mk (OBJ_DIR): Removed. Defined elsewhere.
+
+ * builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
+ development header files.
+ Don't define PLATFORM.
+
+ * configure: Copy `modules.cfg' to builddir if builddir != srcdir.
+ Update snippet taken from autoconf's m4sh.m4 to current CVS version.
+ Be more verbose.
+
+ * include/freetype/config/ftmodule.h: Add comments -- this file is
+ no longer used if FreeType is built with GNU make.
+
+ * docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY,
+ docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism.
+ Other minor updates.
+
+ * modules.txt: Removed. Contents included in `modules.cfg'.
+
+
+ * include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
+ FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
+
+ * src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug,
+ FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug)
+ [FT_STRICT_ALIASING]: Implement.
+
+2006-01-31 Chia-I Wu <[email protected]>
+
+ * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
+ (cid_face_init), src/pfr/pfrobjs.c (pfr_face_init),
+ src/type1/t1objs.c (T1_Face_Init): Set face->height to MAX(1.2 *
+ units_per_EM, ascender - descender).
+
+2006-01-31 Chia-I Wu <[email protected]>
+
+ * include/freetype/internal/t1types.h (AFM_FontInfo),
+ src/psaux/afmparse.c, src/tools/test_afm.c: Read `FontBBox',
+ `Ascender', and `Descender' from an AFM.
+
+ * src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
+
+ * include/freetype/freetype.h (FT_FaceRec): Mention that fields may
+ be changed after file attachment.
+
+2006-01-28 Werner Lemberg <[email protected]>
+
+ * src/*/module.mk (.PHONY): Add.
+
+2006-01-27 Werner Lemberg <[email protected]>
+
+ * README, docs/FTL.TXT: Fix email address for bug reports.
+ Other minor formatting.
+
+ * devel/ftoption.h: Synchronize with
+ include/freetype/config/ftoption.h.
+
+ * src/autofit/module.mk (add_autofit_module), src/bdf/module.mk
+ (add_bdf_module), src/type42/module.mk (add_type42_driver): Fix
+ whitespace.
+
+ * src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv
+ renderer classes.
+
+2006-01-27 David Turner <[email protected]>
+
+ * builds/unix/configure.ac: Fix build problem on Cygwin.
+
+ * builds/unix/install.mk (install): Don't install the internal
+ headers, and remove existing ones if found in the target install
+ directory.
+
+ * src/autofit/afwarp.c: Add simple #ifdef to prevent compilation
+ if the warp hinter isn't active (it shouldn't, still experimental).
+
+ * Jamfile, include/freetype/config/ftmodule.h: Remove `gxvalid'
+ and `otvalid' from the list of modules that are linked statically
+ to a given FreeType library. Functionality has been moved to the
+ `ftvalid' CVS module.
+
+ Note also that current Make-based build system still compiles the
+ modules though.
+
+ * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): New macro
+ which controls the definitions of the memory management functions to
+ avoid warnings with recent versions of GCC. This macro is only here
+ to be disabled, in case we detect problems with the new scheme.
+
+ NOTE: Disable macro to use the memory debugger -- this will be fixed
+ later!
+
+ * include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_Alloc,
+ FT_QAlloc, FT_Realloc, FT_QRealloc, FT_Free) [FT_STRICT_ALIASING]:
+ New versions.
+
+
+ * builds/win32/visualc/freetype.dsp: Updating project file to
+ define FT2_BUILD_LIBRARY, and remove gxvalid + otvalid modules from
+ compilation.
+
+
+ * builds/freetype.mk (FT_CFLAGS), Jamfile (DEFINES): Define the
+ macro FT2_BUILD_LIBRARY when compiling the library.
+
+ * include/freetype/config/ftheader.h: Remove inclusions of internal
+ headers except if the macro FT2_BUILD_LIBRARY is defined.
+
+
+ * include/freetype/internal/psaux.h (AFM_KernPair, AFM_TrackKern,
+ AFM_FontInfo): Move structure declarations to...
+ * include/freetype/internal/t1types.h: This file.
+
+
+ * (many files): Fix compiler warnings.
+ Various minor reorganizations.
+
+
+ * src/cff/cffload.c (cff_font_done): Don't free static array
+ `subfonts'.
+
+ * src/otvalid/otvcommn.c (otv_ClassDef_validate),
+ src/otvalid/otvgpos.c (otv_x_sxy): Fix debugging information.
+
+
+ Get rid of writable static variables (i.e., the string table) in
+ afmparse, and fix compilation in FT2_MULTI mode.
+
+ * src/psaux/afmparse.c: Include ft2build.h and FT_FREETYPE_H.
+ (AFM_MAX_ARGUMENTS): Define...
+ * src/psaux/afmparse.h: Here.
+ * src/psaux/Jamfile (_sources): Add afmparse.
+
+ * src/psaux/psconv.c: Include psconv.h.
+
+ * src/type1/t1afm.c: Don't include FT_INTERNAL_TYPE1_TYPES_H but
+ FT_INTERNAL_POSTSCRIPT_AUX_H.
+ * src/type1/t1afm.h: Include FT_INTERNAL_TYPE1_TYPES_H.
+
+2006-01-23 Chia-I Wu <[email protected]>
+
+ * include/freetype/freetype.h (FT_Select_Size): Rename the second
+ argument from `idx' to `strike_index'.
+ (FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of
+ this enum.
+
+ * include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH,
+ FT_REQUEST_HEIGHT): New macros to get the width and height of a
+ request, in fractional pixels.
+
+ * include/freetype/internal/ftobjs.h (FT_Select_Metrics,
+ FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics,
+ FT_Request_Metrics): New base functions to set the font metrics. They
+ were part of FT_Select_Size/FT_Request_Size and are made independent
+ functions so that metrics are not set again and again.
+
+ * src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set
+ only when driver's size_select/size_request is NULL. That is, drivers
+ should set the metrics themselves.
+ (FT_Match_Size): Round before matching. This was what we did and it
+ does cause some problems without rounding.
+
+ * src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c
+ (tt_size_select): Set the font metrics.
+ s/index/strike_index/.
+ The scaled metrics are always preferred over strikes' metrics, even
+ when some strike is selected. This is done because the strikes'
+ metrics are not reliable, e.g., the sign of the descender is wrong for
+ some fonts.
+
+ * src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c
+ (tt_size_request): Set the font metrics.
+ Call cff_size_select/tt_size_select when some strike is matched.
+
+ * src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c,
+ src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c,
+ src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c:
+ Set the font metrics.
+ s/index/strike_index/.
+
+ * src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these
+ files were committed. Just a catch-up.
+ (PS_Conv_ToFixed): Remove the `goto'.
+ (PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little.
+
+ * src/sfnt/ttsbit.c (tt_face_load_sbit_strikes,
+ tt_face_load_strike_metrics), src/sfnt/ttsbit0.c
+ (tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The
+ advertised metrics in `available_sizes' are different from those
+ actually used.
+
+2006-01-23 Chia-I Wu <[email protected]>
+
+ * src/psaux/psaux.c src/psaux/psauxmod.c src/type1/t1driver.c: Make
+ AFM parser optional, controlled by `T1_CONFIG_OPTION_NO_AFM'.
+
+2006-01-22 Werner Lemberg <[email protected]>
+
+ * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+ `texinfo' CVS module at savannah.gnu.org.
+
+2006-01-21 Werner Lemberg <[email protected]>
+
+ * src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
+
+ * src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up
+ to avoid compiler warnings.
+
+ * src/autofit/afwarp.c (af_warper_compute_line_best): Remove
+ shadowing variable declarations.
+ Fix warning parameters and replace printf with AF_LOG.
+ (af_warper_compute): Remove unused variable.
+
+2006-01-20 David Turner <[email protected]>
+
+ Adding experimental implementation of `warp hinting' (new hinting
+ algorithm for gray-level and LCD rendering). It is disabled by
+ default, you need to #define AF_USE_WARPER in aftypes.h.
+
+ * src/autofit/afhints.c (af_glyph_hints_scale_dim) [AF_USE_WARPER]:
+ New function.
+ * src/autofit/afhints.h: Updated.
+
+ * src/autofit/aflatin.c [AF_USE_WARPER]: Include afwarp.h.
+ (af_latin_hints_init) [AF_USE_WARPER]: Reset mode to
+ FT_RENDER_MODE_NORMAL if an LCD mode is selected.
+ (af_latin_hints_apply) [AF_USE_WARPER]: Call af_warper_compute
+ appropriately.
+
+ * src/autofit/afloader.c (af_loader_load_g) [!AF_USER_WARPER]:
+ Isolate code for adjusting metrics.
+
+ * src/autofit/aftypes.h (AF_USE_WARPER): New macro (commented out by
+ default).
+
+ * src/autofit/afwarp.c, src/autofit/afwarp.h: New files.
+
+ * src/autofit/autofit.c [AF_USE_WARPER]: Include afwarp.c.
+
+ * src/autofit/Jamfile (_sources): Add afwarp.
+
+2006-01-19 David Turner <[email protected]>
+
+ * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Fix small bug
+ that prevented compilation when FT_OPTIMIZE_MEMORY is defined.
+
+2006-01-19 Brian Weed <[email protected]>
+
+ * builds/win32/visualc/freetype.dsp: Updated.
+
+2006-01-17 Werner Lemberg <[email protected]>
+
+ Use pscmap service in CFF module.
+
+ * src/cff/cffcmap.c (cff_cmap_uni_pair_compare): Removed.
+ (cff_sid_to_glyph_name): New function.
+ (cff_cmap_unicode_init, cff_cmap_unicode_done,
+ cff_cmap_unicode_char_index, cff_cmap_unicode_char next): Use pscmap
+ service.
+ (cff_cmap_unicode_class_rec): Updated.
+ * src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed.
+
+
+ * src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode'
+ return value.
+
+
+ * src/psaux/afmparse.c (afm_parser_read_vals): Use double casting
+ to avoid compiler warnings regarding type-punning.
+
+2006-01-16 Chia-I Wu <[email protected]>
+
+ * src/psaux/afmparse.c, src/psaux/afmparse.h: New files which
+ implement an AFM parser.
+
+ * src/psaux/psconv.c, src/psaux/psconv.h: New files to provide
+ conversion functions (e.g., PS real number => FT_Fixed) for the
+ PS_Parser and AFM_Parser. Some of the functions are taken, with
+ some modifications, from the file psobjs.c.
+
+ * src/psaux/psobjs.c: Use functions from psconv.c.
+
+ * include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Add
+ `AFM_Parser' to the `psaux' service.
+
+ * src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Include
+ those new files.
+
+ * src/tools/test_afm.c: A test program for AFM parser.
+
+ * include/freetype/internal/services/svkern.h: New file providing a
+ `Kerning' service. It is currently only used to get the track
+ kerning information.
+
+ * include/freetype/internal/ftserv.h (FT_SERVICE_KERNING_H): New
+ macro.
+
+ * src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1afm.c,
+ src/type1/t1afm.h: Update to use the AFM parser.
+ Provide the `Kerning' service.
+
+ * include/freetype/freetype.h, src/base/ftobjs.c: New API
+ `FT_Get_Track_Kerning'.
+
+2006-01-15 Chia-I Wu <[email protected]>
+
+ * include/freetype/internal/ftobjs.h, src/base/ftobjs.c,
+ src/bdf/bdfdrivr.c, src/cff/cffgload.c, src/cid/cidgload.c,
+ src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c:
+ s/ft_fake_vertical_metrics/ft_synthesize_vertical_metrics/.
+
+ * docs/CHANGES: Mention that vertical metrics are synthesized for
+ fonts not having this info.
+
+2006-01-15 Chia-I Wu <[email protected]>
+
+ * include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics),
+ src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake
+ vertical metrics.
+
+ * src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c,
+ src/type1/t1gload.c, src/winfonts/winfnt.c: Fake vertical metrics,
+ which are monotone.
+
+ * src/truetype/ttgload.c (compute_glyph_metrics): Some fixes and
+ formattings in vertical metrics faking. There is still room for
+ improvements (and so does the CFF module).
+
+2006-01-15 Chia-I Wu <[email protected]>
+
+ * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdrivr.c
+ (PCF_Glyph_Load), src/winfonts/winfnt.c (FNT_Load_Glyph): Don't set
+ the linear advance fields as they are only used by the outline
+ glyphs.
+
+ * include/freetype/freetype.h: Documentation updates and
+ clarifications.
+ The meaning of FT_LOAD_FORCE_AUTOHINT is changed so that no real
+ change need be made to the code.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Resolve flag dependencies and
+ decide whether to use the auto-hinter according to documentation.
+ There should to be no real difference.
+ Some checks (e.g., is text height positive?) after the glyph is
+ loaded.
+ (FT_Select_Size, FT_Request_Size): Scales are set to wrong values.
+ Be careful that scales won't be negative.
+
+2006-01-14 Chia-I Wu <[email protected]>
+
+ * docs/CHANGES: Mention the size selection change.
+
+ * src/bdf/bdfdrivr.c (BDF_Size_Request, BDF_Size_Select),
+ src/pcf/pcfdrivr.c (PCF_Size_Request, PCF_Size_Select),
+ src/winfonts/winfnt.c (FNT_Size_Request, FNT_Size_Select): Do size
+ matching for requests of type NOMINAL and REAL_DIM.
+
+ * src/winfonts/winfnt.c (FNT_Face_Init): Print trace message when
+ `pixel_height' is used for nominal height.
+
+ * src/base/ftobjs.c (FT_Request_Size): Call `FT_Match_Size' if the
+ face is bitmap only and driver doesn't provide `request_size'. This
+ is added merely for completion as no driver satisfies the conditions.
+
+2006-01-13 Chia-I Wu <[email protected]>
+
+ Introduce new size selection interface.
+
+ * include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec):
+ Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and
+ `select_size'.
+
+ * include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type,
+ FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c
+ (FT_Select_Size, FT_Request_Size): API additions to export the new
+ size selection interface.
+
+ * src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use
+ `FT_Request_Size'.
+
+ * include/freetype/internal/ftobjs.h (FT_Match_Size),
+ src/base/ftobjs.c (FT_Match_Size): New function to match a size
+ request against `available_sizes'. Drivers supporting bitmap strikes
+ can use this function to implement `request_size'.
+
+ * src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
+ src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c,
+ src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c,
+ src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c:
+ Update to new size selection interface.
+
+ * src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c,
+ src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c,
+ src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size
+ selection interface.
+ Make `strike_index' FT_ULong and always defined.
+ Use `load_strike_metrics' provided by SFNT interface.
+
+2006-01-13 Chia-I Wu <[email protected]>
+
+ * include/freetype/internal/sfnt.h (SFNT_Interface): New method
+ `load_strike_metrics' used to load the strike's metrics.
+
+ * src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
+ src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'.
+
+ * src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly.
+
+ * src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for
+ nominal size unless it is obviously incorrect.
+
+ * include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on
+ FNT driver.
+
+2006-01-12 Werner Lemberg <[email protected]>
+
+ Prepare use of pscmap service within CFF module.
+
+ * include/freetype/internal/services/svpscmap.h: Include
+ FT_INTERNAL_OBJECTS_H.
+ (PS_Unicode_Index_Func): Removed. Unused.
+ (PS_Macintosh_Name_Func): Renamed to...
+ (PS_Macintosh_NameFunc): This.
+ Update all callers.
+ (PS_Adobe_Std_Strings_Func): Renamed to...
+ (PS_Adobe_Std_StringsFunc): This.
+ Update all callers.
+ (PS_UnicodesRec): This is the former `PS_Unicodes' structure.
+ Add `cmap' member.
+ Update all callers.
+ (PS_Unicodes): This is now a typedef'd pointer to PS_UnicodesRec.
+ Update all callers.
+ (PS_Glyph_NameFunc): New typedef.
+ (PS_Unicodes_InitFunc): Change arguments to expect a function
+ and generic data pointer which returns a glyph name from a given
+ index.
+
+ * src/psnames/psmodule.c (ps_unicodes_init, ps_unicodes_char_index,
+ ps_unicodes_char_next, pscmaps_interface): Updated.
+
+ * include/freetype/internal/t1types.h (T1_FaceRec): Updated.
+
+ * src/psaux/t1cmap.h (T1_CmapStdRec): Updated.
+ (T1_CmapUnicode, T1_CmapUnicodeRec): Removed.
+
+ * src/psaux/t1cmap.c (t1_get_glyph_name): New callback function.
+ (t1_cmap_unicode_init, t1_cmap_unicode_done,
+ t1_cmap_unicode_char_index, t1_cmap_unicode_char_next,
+ t1_cmap_unicode_class_rec): Updated.
+
+ * src/type42/t42types.h (T42_FaceRec): Updated.
+
+2006-01-11 suzuki toshiya <[email protected]>
+
+ * include/freetype/ftmac.h: Add declaration of new functions
+ FT_New_Face_From_FSRef and FT_GetFile_From_Mac_ATS_Name that
+ were introduced by the jumbo patch on 2006-01-11.
+
+2006-01-11 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #15056 and use pscmap service in psaux module.
+
+ * include/freetype/internal/services/svpscmap.h (PS_UniMap): Use
+ FT_UInt32 for `glyph_index'.
+ (PS_Unicodes_InitFunc): Use FT_String for `glyph_names'.
+ (PS_Unicodes_CharIndexFunc): Use FT_UInt32 for `unicode'.
+ (PS_Unicodes_CharNextFunc): Make second argument a pointer to
+ FT_UInt32.
+
+ * src/psnames/psmodule.c (VARIANT_BIT, BASE_GLYPH): New macros.
+ (ps_unicode_value): Set VARIANT_BIT in return value if glyph is a
+ variant glyph (this is, it has non-leading `.' in its name).
+ (compare_uni_maps): Sort base glyphs before variant glyphs.
+ (ps_unicodes_init): Use FT_String for `glyph_names' argument.
+ Reallocate only if number of used entries is much smaller.
+ Updated to handle variant glyphs.
+ (ps_unicodes_char_index, ps_unicodes_char_next): Prefer base glyphs
+ over variant glyphs.
+ Simplify code.
+
+ * src/psaux/t1cmap.c (t1_cmap_uni_pair_compare): Removed.
+ (t1_cmap_unicode_init, t1_cmap_unicode_char_index,
+ t1_cmap_unicode_char_next): Use pscmap service.
+ (t1_cmap_unicode_done): Updated.
+
+ * src/psaux/t1cmap.h (T1_CMapUniPair): Removed.
+ (T1_CMapUnicode): Use PS_Unicodes structure.
+
+2006-01-11 suzuki toshiya <[email protected]>
+
+ Jumbo patch to fix `deprecated' warning of cross-build for Tiger on
+ Intel, as reported by Sean McBride <[email protected]> on
+ 2005-08-24.
+
+ * src/base/ftmac.c: Heavy change to build without deprecated Carbon
+ functions on Tiger.
+
+ * builds/unix/configure.ac: Add options and autochecks for Carbon
+ functions availabilities, for MacOS X.
+
+ * builds/mac/ascii2mpw.py: Add converter for character `\305'.
+ * builds/mac/FreeType.m68k_{far|cfm}.make.txt: Add conditional
+ macros to avoid unavailable functions.
+ ftmac.c must be compiled without `-strict ansi', because it disables
+ cpp macro to use ToolBox system call.
+
+ * builds/mac/FreeType.ppc_{classic|carbon}.make.txt: Add conditional
+ macros to avoid unavailable functions.
+
+ * builds/mac/README: Detailed notes on function availabilities.
+
+ * docs/CHANGES: Notes about (possible) incompatibilities.
+
+2006-01-08 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Updated.
+
+2006-01-08 Huw D M Davies <[email protected]>
+
+ * include/freetype/ftmodapi.h (FT_Module_Get_Flags): New
+ declaration.
+
+ * src/base/ftobjs.c (FT_Module_Get_Flags): New function.
+
+2006-01-07 Werner Lemberg <[email protected]>
+
+ * src/pcf/pcfread.c (pcf_get_bitmaps): Remove unused variable
+ `bitmaps'. Reported by Yu Lei <[email protected]>.
+
+ * src/base/ftutil.c (ft_highpow2): s/FT_BASE/FT_BASE_DEF/.
+ Reported by Niels Boldt <[email protected]>.
+
+2005-12-28 suzuki toshiya <[email protected]>
+
+ * src/sfnt/sfnt/ttbdf.c: Add newline '\n' to the end of file, for
+ MPW compiler.
+
+2005-12-23 David Turner <[email protected]>
+
+ * Jamfile (RefDoc), docs/reference/README: Fix it so that `jam
+ refdoc' works correctly to generate the API reference in
+ `docs/reference'.
+
+ * src/tools/docmaker/tohtml.py (print_html_field,
+ print_html_field_list): Update to output nicer fields lists in the
+ API reference.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): FT_LOAD_TARGET_LIGHT now
+ forces auto-hinting.
+
+ * freetype/freetype.h: Updating the documentation for
+ FT_LOAD_TARGET_XXX and FT_Render_Mode values.
+
+2005-12-23 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c (FT_New_Face_From_Suitcase): Count scalable faces
+ in supported formats (sfnt, LWFN) only, and ignore bitmap faces in
+ unsupported formats (fbit, NFNT). The number of available faces are
+ passed via face->num_faces. If bitmap faces are embedded in sfnt
+ resource, face->num_fixed_size is correctly set. In public API,
+ FT_New_Face() and FT_New_Face_From_FSSpec() count the faces as
+ FT_GetFile_From_Mac_Name(), which ignores NFNT resources.
+
+ * doc/CHANGES: Mention the changes.
+
+2005-12-17 Chia-I Wu <[email protected]>
+
+ * src/truetype/ttinterp.c (Update_Max): Set current size of buffer
+ correctly (so that memory debug system won't panic).
+
+2005-12-16 Chia-I Wu <[email protected]>
+
+ * include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics),
+ src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed.
+
+ * src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round.
+
+ * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+ (cid_slot_load_glyph), src/truetype/ttgload.c (compute_glyph_metrics),
+ src/type1/t1gload.c (T1_Load_Glyph): Do not round glyph metrics.
+
+ * doc/CHANGES: Mention the changes.
+
+2005-12-13 David Turner <[email protected]>
+
+ Change the implementation of the LIGHT hinting mode to completely
+ disable horizontal hinting. This is an experimental effort to
+ integrate David Chester's latest patch without affecting the other
+ hinting modes as well.
+
+ Note that this doesn't force auto-hinting for all fonts, however.
+
+ * src/autofit/afhints.c (af_glyph_hints_reload): Don't set
+ scaler_fiags here but...
+ (af_glyph_hints_rescale): Here.
+
+ * src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
+ hinting for `light' hinting mode.
+
+
+ * Jamfile: Small fix to ensure that ftexport.sym is placed into the
+ same location as other generated objects (i.e., within the `objs'
+ directory of the current directory).
+
+
+ Add support for an embedded `BDF ' table within SFNT-based bitmap
+ font files. This is used to store atoms & properties from the
+ original BDF fonts that were used to generate the font file.
+
+ The feature is controlled by TT_CONFIG_OPTION_BDF within
+ `ftoption.h' and is used to implement FT_Get_BDF_Property for these
+ font files.
+
+ At the moment, this is still experimental, the BDF table format
+ isn't cast into stone yet.
+
+ * include/freetype/config/ftoption.h (TT_CONFIG_OPTION_BDF): New
+ macro.
+
+ * include/freetype/config/ftstdlib.h (ft_memchr): New macro.
+
+ * include/freetype/internal/tttypes.h (TT_BDFRec, TT_BDF)
+ [TT_CONFIG_OPTION_BDF]: New structure.
+ (TT_FaceRec) [TT_CONFIG_OPTION_BDF]: New member `bdf'.
+
+ * include/freetype/ttags.h (TTAG_BDF): New macro.
+
+ * src/sfnt/Jamfile (_sources): Add ttbdf.
+
+ * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttbdf.c.
+
+ * src/sfnt/sfdriver.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h and
+ FT_SERVICE_BDF_H.
+ (sfnt_get_charset_it) [TT_CONFIG_OPTION_BDF]: New function.
+ (sfnt_service_bdf) [TT_CONFIG_OPTION_BDF]: New service.
+ (sfnt_services) [TT_CONFIG_OPTION_BDF]: Add sfnt_service_bdf.
+
+ * src/sfnt/sfnt.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.c.
+
+ * src/sfnt/sfobjs.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h.
+ (sfnt_done_face) [TT_CONFIG_OPTION_BDF]: Call
+ tt_face_free_bdf_props.
+
+ * src/sfnt/ttbdf.h, src/sfnt/ttbdf.c: New files.
+
+2005-12-07 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjc.c (sfnt_init_face): Move tag check to...
+ * src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
+
+2005-12-06 Chia-I Wu <[email protected]>
+
+ * src/truetype/ttobjs.c (tt_size_init): size->ttmetrics.valid is
+ initialized twice.
+ size->strike_index is not initialized.
+
+2005-12-02 Taek Kwan(TK) Lee <[email protected]>
+
+ * src/type42/t42objs.c (T42_Face_Init): Replace call to
+ FT_New_Memory_Face with call to FT_Open_Face to pass `params'.
+
+2005-11-30 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Document ftdump's `-v' option.
+ Document latest charmap code changes.
+
+ * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h:
+ s/TT_CMAP_FLAG_OVERLAPPED/TT_CMAP_FLAG_OVERLAPPING/.
+
+2005-11-30 Chia-I Wu <[email protected]>
+
+ * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary,
+ tt_cmap12_char_map_binary): Fix compiler warnings.
+
+2005-11-29 Chia-I Wu <[email protected]>
+
+ Major update to distinguish between unsorted and overlapping
+ segments for cmap format 4. For overlapping but sorted segments,
+ which is previously considered unsorted, we still use binary search.
+
+ * src/sfnt/ttcmap.h (TT_CMapRec_): Replace `unsorted' by `flags'.
+ (TT_CMAP_FLAG_UNSORTED, TT_CMAP_FLAG_OVERLAPPED): New macros.
+
+ * src/sfnt/ttcmap.c (OPT_CMAP4): Removed as it is always defined.
+ (TT_CMap4Rec_): Remove `old_charcode' and `table_length'.
+ (tt_cmap4_reset): Removed.
+ (tt_cmap4_init): Updated accordingly.
+ (tt_cmap4_next): Updated accordingly.
+ Take care of overlapping segments.
+ (tt_cmap4_validate): Make sure the subtable is large enough.
+ Do not check glyph_ids because some fonts set the length wrongly.
+ Also, if all segments have offset 0, glyph_ids is always invalid.
+ It does not cause any problem so far only because the check misses
+ equality.
+ Distinguish between unsorted and overlapping segments.
+ (tt_cmap4_char_map_linear, tt_cmap4_char_map_binary): New functions
+ to do `charcode => glyph index' by linear/binary search.
+ (tt_cmap4_char_index, tt_cmap4_char_next): Use
+ tt_cmap4_char_map_linear and tt_cmap4_char_map_binary.
+ (tt_face_build_cmaps): Treat the return value of validator as flags
+ for cmap.
+
+2005-11-29 Chia-I Wu <[email protected]>
+
+ * src/sfnt/ttcmap.c (TT_CMap12Rec_, tt_cmap12_init, tt_cmap12_next):
+ New structures and functions for fast `next char'.
+ (tt_cmap12_char_map_binary): New function to do `charcode => glyph
+ index' by binary search.
+ (tt_cmap12_char_index, tt_cmap12_char_next): Use
+ tt_cmap12_char_map_binary.
+ (tt_face_build_cmaps): Check table and offset correctly (equality is
+ missing).
+
+2005-11-15 Detlef Würkner <[email protected]>
+
+ * builds/amiga/smakefile: Adjusted the compiler options
+ to the current sources, now really builds the gxvalid, gzip
+ and psnames modules.
+
+ * builds/amiga/src/base/ftsystem.c: The assumed Seek() position
+ in the file cache was off by one byte which could cause false
+ errors in font files.
+
+2005-11-24 suzuki toshiya <[email protected]>
+
+ * builds/mac/FreeType.m68k_far.make.txt,
+ builds/mac/FreeType.m68k_cfm.make.txt,
+ builds/mac/FreeType.ppc_classic.make.txt,
+ builds/mac/FreeType.ppc_carbon.make.txt:
+ Updated for MPW to build all available modules.
+
+2005-11-21 HÃ¥vard Wall <[email protected]>
+
+ * src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Done): Fix small
+ memory leak.
+
+2005-11-21 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttload.c (sfnt_init): Add tracing message.
+
+2005-11-21 Chia-I Wu <[email protected]>
+
+ * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Image_offset was
+ added twice to image_start if image_format was 2 or 5.
+
+2005-11-21 Chia-I Wu <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_init_face): Check that format_tag is known
+ before loading the table directory.
+
+ * src/sfnt/ttload.c (tt_face_load_sfnt_header,
+ tt_face_load_directory): Delay sfnt_dir_check from
+ tt_face_load_sfnt_header to tt_face_load_directory.
+
+2005-11-20 Chia-I Wu <[email protected]>
+
+ * src/sfnt/ttload.c (sfnt_dir_check): Clean up and return correct
+ error code.
+ (sfnt_init): New function to fill in face->ttc_header. A non-TTC font
+ is synthesized into a TTC font with one offset table.
+ (tt_face_load_sfnt_header): Use sfnt_init.
+ Fix an invalid access if the font is TTC and face_index is -1.
+
+2005-11-18 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttload.c (tt_face_load_metrics): Ignore excess number
+ of metrics instead of aborting. Patch suggested by Derek Noonburg.
+
+ * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+ (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Scale
+ the glyph properly if no hinter is available.
+
+ * docs/CHANGES: Mention scaling bug.
+
+2005-11-18 susuzki toshiya <[email protected]>
+
+ * include/freetype/ftgxval.h, src/base/ftgxval.c
+ (FT_TrueTypeGX_Free, FT_ClassicKern_Free): New functions to free
+ buffers allocated by gxvalid module.
+ * include/freetype/ftotval.h, src/base/ftotval.c
+ (FT_OpenType_Free): New function to free buffer allocated by
+ otvalid module.
+
+2005-11-18 Chia-I Wu <[email protected]>
+
+ * builds/unix/ftsystem.c (FT_Stream_Open, FT_New_Memory,
+ FT_Done_Memory), builds/vms/ftsystem.c (FT_Stream_Open, FT_New_Memory,
+ FT_Done_Memory), builds/win32/ftdebug.c (FT_Message, FT_Panic):
+ s/FT_EXPORT/FT_BASE/.
+
+2005-11-17 Detlef Würkner <[email protected]>
+
+ * builds/amiga/src/base/ftdebug.c (FT_Trace_Get_Count,
+ FT_Trace_Get_Name, FT_Message, FT_Panic),
+ builds/amiga/src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory,
+ FT_Stream_Open): s/FT_EXPORT/FT_BASE/.
+
+2005-11-17 Detlef Würkner <[email protected]>
+
+ * builds/amiga/makefile, builds/amiga/makefile.os4,
+ builds/amiga/smakefile,
+ builds/amiga/include/freetype/config/ftmodule.h: Updated the Amiga
+ build files (added support for the gxvalid module).
+
+2005-11-17 Werner Lemberg <[email protected]>
+
+ Add vertical metrics support to OpenType CFF outlines. Based on a
+ patch from Mike Moening <[email protected]>.
+
+ * src/cff/cffgload.c (cff_face_get_vertical_metrics): New function.
+ (cff_slot_load): Use cff_face_get_vertical_metrics.
+
+ * docs/CHANGES: Updated.
+
+2005-11-17 Chia-I Wu <[email protected]>
+
+ * src/base/ftcalc.c (FT_MulTo64): Commented out.
+
+ * include/freetype/internal/ftcalc.h (FT_SqrtFixed),
+ src/base/ftcalc.c (FT_SqrtFixed),
+ include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
+ FT_Trace_Get_Name, FT_Message, FT_Panic), src/base/ftdebug.c
+ (FT_Trace_Get_Count, FT_Trace_Get_Name, FT_Message, FT_Panic),
+ include/freetype/internal/ftobjs.h (FT_New_Memory, FT_Done_Memory),
+ include/freetype/internal/ftstream.h (FT_Stream_Open),
+ src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory, FT_Stream_Open):
+ s/FT_EXPORT/FT_BASE/.
+
+ * builds/exports.mk: Manually add TT_New_Context to EXPORTS_LIST
+ too.
+
+2005-11-15 David Turner <[email protected]>
+
+ * src/base/fttrigon.c (ft_trig_prenorm): Fix a bug that created
+ invalid computations, resulting in very weird bugs in TrueType
+ bytecode hinted fonts.
+
+ * src/truetype/ttinterp.c (FT_UNUSED_EXEC): Don't perform a
+ structure copy each time.
+
+2005-11-11 Werner Lemberg <[email protected]>
+
+ * src/cache/ftccache.c (FTC_Cache_Clear), src/cache/ftcmanag.c
+ (FTC_Manager_Check): Remove FT_EXPORT_DEF tag.
+
+ * src/base/ftcalc.c (FT_Add64): Remove FT_EXPORT_DEF tag.
+ (FT_Div64by32, FT_Sqrt32): Commented out. Unused.
+
+ * include/freetype/internal/ftcalc.h (SQRT_32): Removed. Unused.
+ (FT_Sqrt32): Commented out. Unused.
+
+ * include/freetype/cache/ftccache.h:
+ s/ftc_node_destroy/FTC_Node_Destroy/.
+
+ * src/cache/ftccback.h (ftc_node_destroy): New declaration.
+
+ * src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF tag.
+ (FTC_Node_Destroy): New exported wrapper function for
+ ftc_node_destroy.
+
+ * src/cache/ftcmanag.c: Include ftccback.c.
+
+2005-11-10 Werner Lemberg <[email protected]>
+
+ * src/autofit/afangles.c, src/autofit/aftypes.h (af_angle_diff):
+ Comment out. Unused.
+
+ * builds/exports.mk ($(EXPORTS_LIST)): Add TT_RunIns.
+
+2005-11-10 Christian Biesinger <[email protected]>
+
+ * builds/beos/beos.mk: Call beos-def.mk before anything else to
+ define the separator.
+
+ * builds/unix/unix-cc.in (LINK_LIBRARY): Add `-no-undefined' flag.
+
+2005-11-07 Werner Lemberg <[email protected]>
+
+ * src/type1/t1afm.c (T1_Read_PFM): Zero offset means `no kerning
+ table available'. From Sergey Tolstov <[email protected]>.
+
+2005-11-03 Ville Syrjälä <[email protected]>
+
+ * src/base/ftobjs.c (FT_Open_Face): Avoid possible memory leak.
+
+2005-11-02 Werner Lemberg <[email protected]>
+
+ Make compiling instructions in docs/CUSTOMIZE work again.
+
+ * builds/unix/unix-cc.in (CPPFLAGS): New variable.
+ (CFLAGS): Don't include @CPPFLAGS@.
+ * builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.
+
+2005-10-28 David Turner <[email protected]>
+
+ Update build system to support the generation of a list of exported
+ symbols or Windows .DEF files by parsing the public headers with the
+ `apinames' tool located in src/tools/apinames.c.
+
+ Only tested on Unix at the moment. On Windows, the .DEF file is
+ generated but isn't used yet to generate a DLL.
+
+ * builds/exports.mk: New file.
+
+ * builds/freetype.mk: Include exports.mk.
+ (dll): New target.
+ (clean_project_dos): Fix rule.
+
+ * builds/compiler/visualc.mk (TE), builds/dos/dos-def.mk (E),
+ builds/os2/os2-def.mk (E), builds/win32/win32-def.mk (E): New
+ variables for controlling executable extensions.
+
+ * builds/unix/unix-cc.in (EXPORTS_LIST, CCexe),
+ builds/win32/w32-bcc.mk, builds/win32/w32-gcc.mk,
+ builds/win32/w32-icc.mk, builds/win32/w32-icc.mk,
+ builds/win32/w32-mingw32.mk, builds/win32/w32-vcc,
+ builds/win32/w32-wat.mk (EXPORTS_LIST, EXPORT_OPTIONS,
+ APINAMES_OPTIONS): New targets for controlling the `apinames' tool.
+
+ * Jamfile (GenExportSymbols): Updated.
+
+
+ * src/pfr/pfrtypes.h, src/pfr/pfrload.c, src/pfr/pfrobjs.c
+ [!FT_OPTIMIZE_MEMORY]: Fold memory optimization code into
+ FT_OPTIMIZE_MEMORY chunks for better maintainability and simplicity.
+
+
+ * src/base/fttrigon.c (ft_trig_prenorm), src/base/ftcalc.c
+ (FT_MulFix): Performance optimizations.
+
+
+ * include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
+ FT_GLYPHLOADER_CHECK_C, FT_GLYPHLOADER_CHECK_POINTS): New macros for
+ checking points and contours. Update callers to use
+ FT_GLYPHLOADER_CHECK_POINTS instead of FT_GlyphLoader_CheckPoints
+ at profile-detected hot-spots.
+
+ * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Set `adjust'
+ to 0 to not call `AdjustPoints' every time.
+
+
+ * src/autofit/aftypes.h (AF_ANGLE_DIFF): New macro to inline
+ FT_Angle_Diff.
+
+ * src/autofit/afhints.c (af_direction_compute): Re-implement.
+ (af_glyph_hints_compute_inflections, af_glyph_hints_reload): Use
+ AF_ANGLE_DIFF to speed up the detection of inflexions.
+
+
+ * src/tools/apinames.c: Include <string.h>.
+ (OutputFormat): New enumeration.
+ (names_dump): Add two parameters to control output format and DLL
+ name.
+ (names_dump_windef): Removed. Code folded into `names_dump'.
+ (read_header_file): Use isalnum, not isalpha. Otherwise function
+ names with digits aren't read correctly.
+ (usage): Updated.
+ (main): New option `-o' to control output file name.
+ New option `-d' to indicate DLL file name.
+ Extend `-w' flag to handle Borland and Watcom compilers and linkers.
+
+2005-10-28 suzuki toshiya <[email protected]>
+
+ * builds/mac/ftlib.prj, builds/mac/freetype.mak: Removed.
+ ftlib.prj is unmaintained and incompatible with current tree.
+ freetype.mak is unrecoverably broken.
+
+ * builds/mac/ftlib.prj.xml: Added.
+ Generated by Metrowerks CodeWarrior 9.0.
+
+ * builds/mac/FreeType.m68k_far.make.txt,
+ builds/mac/FreeType.m68k_cfm.make.txt,
+ builds/mac/FreeType.ppc_classic.make.txt,
+ builds/mac/FreeType.ppc_carbon.make.txt: Added.
+ Skeleton files of MPW makefiles.
+
+ * builds/mac/ascii2mpw.py: Added.
+ Python script to make MPW makefile from skeleton.
+
+ * builds/mac/README: Updated.
+ Almost rewritten to use new files.
+
+2005-10-28 suzuki toshiya <[email protected]>
+
+ * src/base/ftmac.c: Fix invalid casts from NULL to integer typed
+ variables. Advised by David Turner, Masatake YAMATO, Sean McBride,
+ and George Williams.
+
+2005-10-27 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftsysmem.h, include/freetype/ftsysio.h: Removed.
+ Obsolete.
+
+2005-10-25 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfdriver.c (sfnt_interface): Move out
+ `tt_face_get_kerning' from a #ifdef clause. Reported by Tony J.
+
+2005-10-23 Werner Lemberg <[email protected]>
+
+ * src/base/ftdbgmem.c (ft_mem_debug_realloc): Make it compile with
+ C++.
+
+2005-10-21 David Turner <[email protected]>
+
+ * src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_debug_realloc):
+ Another realloc memory counting bug fix.
+
+ * src/tools/Jamfile: Add missing file.
+
+ * src/lzw/Jamfile: Fix incorrect source file reference.
+
+2005-10-20 David Turner <[email protected]>
+
+ * src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_table_remove,
+ ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc): Fixes
+ to better account for memory reallocations.
+
+ * src/lzw/ftlzw2.c, src/lzw/ftzopen.h, src/lzw/ftzopen.c,
+ src/lzw/rules.mk: First version of LZW loader re-implementation.
+ Apparently, this saves about 330 KB of heap memory when loading
+ timR24.pcf.Z.
+
+2005-10-20 Chia-I Wu <[email protected]>
+
+ * include/freetype/ftbitmap.h (FT_Bitmap_Copy, FT_Bitmap_Embolden),
+ src/base/ftbdf.c (FT_Get_BDF_Property), src/cache/ftcmru.c
+ (FTC_MruList_Reset, FTC_MruList_Done, FTC_MruList_Lookup): Fix
+ FT_EXPORT/FT_EXPORT_DEF tagging.
+
+2005-10-19 Chia-I Wu <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to
+ be invalid when FT_LOAD_NO_SCALE is set.
+
+2005-10-17 David Turner <[email protected]>
+
+ * src/base/ftobjs.c (FT_Open_Face): Don't call FT_New_GlyphSlot and
+ FT_New_Size if we are opening a face with face_index < 0 (which is
+ only used for testing the format).
+
+ * src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_entry_validate):
+ Remove compiler warning.
+
+2005-10-16 David Turner <[email protected]>
+
+ * src/tools/apinames.c: Add new tool to extract public API function
+ names from header files.
+
+2005-10-05 Werner Lemberg <[email protected]>
+
+ Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
+ a hinting engine of its own.
+
+ * include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
+
+ * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
+ (cid_face_init), src/truetype/ttobjs.c (tt_face_init)
+ [TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c
+ (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init)
+ [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags.
+
+ * docs/CHANGES: Document it.
+
+2005-09-27 Werner Lemberg <[email protected]>
+
+ * builds/unix/freetype2.m4: Add license exception so that the file
+ can be used in any other autoconf script.
+
+2005-09-26 David Turner <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_compute_stem_width): Fix bad
+ computation of the `vertical' flag, causing ugly things in LCD mode
+ and others.
+
+2005-09-23 David Turner <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_hints_init): Fix a bug that
+ prevented internal hint mode bitflags from being computed correctly.
+
+ * src/base/Jamfile: Adding src/base/ftgxval.c.
+
+ * src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
+ src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c,
+ src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
+ src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
+ src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
+ src/gxvalid/gxvmort5.c, src/gxvalid/gxvmorx.c,
+ src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
+ src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c,
+ src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c,
+ src/truetype/ttgload.c: Remove _many_ compiler warnings when
+ compiling with Visual C++ at maximum level (/W4).
+
+ * src/autofit/afangles.c (af_angle_atan): Replaced CORDIC-based
+ implementation with one using lookup tables. This simple thing
+ speeds up glyph loading by 18%, according to ftbench!
+
+ * src/sfnt/sfdriver.c (sfnt_get_interface): Don't check for
+ `get_sfnt' and `load_sfnt' module interfaces.
+
+2005-09-22 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Mention SING Glyphlet support.
+
+2005-09-22 David Turner <[email protected]>
+
+ * src/base/Jamfile: Disable compilation of ftgxval module
+ temporarily.
+
+2005-09-19 David Somers <[email protected]>
+
+ * src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a
+ font to have no `head' table if tables `SING' and `META' are
+ present; this is to support `SING Glyphlet'.
+
+ `SING Glyphlet' is an extension to OpenType developed by Adobe
+ primarily to facilitate adding supplemental glyphs to an OpenType
+ font (with emphasis on, but not necessarily limited to, gaiji to a
+ CJK font). A SING Glyphlet Font is an OpenType font that contains
+ the outline(s), either in a `glyf' or `CFF' table, for a glyph;
+ `cmap', `BASE', and `GSUB' tables are present with the same format
+ and functionaliy as a regular OpenType font; there are no `name',
+ `head', `OS/2', and `post' tables; there are two new tables, `SING'
+ which contains details about the glyphlet, and `META' which contains
+ metadata.
+
+ Further information on the SING Glyphlet format can be found at:
+
+ http://www.adobe.com/products/indesign/sing_gaiji.html
+
+ * include/freetype/ttags.h (TTAG_SING, TTAG_META): New macros for
+ the OpenType tables `SING' and `META'. These two tables are used in
+ SING Glyphlet Format fonts.
+
+2005-09-09 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
+ FT_FACE_FLAG_KERNING which has been commented out erroneously.
+
+ * docs/CHANGES: Document it.
+
+2005-09-05 Werner Lemberg <[email protected]>
+
+ Fixes for `make multi' and using C++ compiler.
+
+ * src/gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
+ gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
+ gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
+ (gxv_compare_ranges): Make it static.
+ (gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
+ gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
+ gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
+ trace messages.
+ (gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
+ (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
+ GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
+ gxvcommn.h.
+
+ * src/gxvalid/gxvcommn.h: Add prototypes for
+ gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
+ gxv_XStateTable_validate, gxv_array_getlimits_byte,
+ gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
+ gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
+ gxv_odtect_validate.
+ (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
+ GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
+ gxvcommn.c.
+
+ * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
+ gxv_bsln_parts_fmt1_validate): Improve trace messages.
+
+ * src/gxvalid/gxvfeat.c: Split off predefined registry stuff to...
+ * src/gxvalid/gxvfeat.h: New file.
+
+ * src/gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
+ message.
+
+ * src/gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
+ (gxv_kern_subtable_fmt1_valueTable_load,
+ gxv_kern_subtable_fmt1_subtable_setup,
+ gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
+ (gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN.
+ Improve trace message.
+ (gxv_kern_validate_generic): Fix C++ compiler error.
+ Improve trace message.
+ (gxv_kern_validate_classic): Fix C++ compiler error.
+
+ * src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
+ with FT_LOCAL_DEF.
+
+ * src/gxvalid/gxvmort1.c
+ (gxv_mort_subtable_type1_substitutionTable_load,
+ gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
+ (gxv_mort_subtable_type1_substTable_validate): Improve trace
+ message.
+ (gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
+
+ * src/gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
+ gxv_mort_subtable_type2_subtable_setup,
+ gxv_mort_subtable_type2_ligActionOffset_validate,
+ gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
+ errors.
+ (gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
+
+ * src/gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
+ with FT_LOCAL_DEF.
+
+ * src/gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
+ gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
+ errors.
+ (gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
+
+ * src/gxvalid/gxvmort.c: Include gxvfeat.h.
+ (gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
+ Declare with FT_LOCAL_DEF.
+ (gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
+ messages.
+
+ * src/gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
+
+ * src/gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
+ with FT_LOCAL_DEF.
+
+ * src/gxvalid/gxvmorx1.c
+ (gxv_morx_subtable_type1_substitutionTable_load,
+ gxv_morx_subtable_type1_subtable_setup,
+ gxv_morx_subtable_type1_entry_validate,
+ gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
+ compiler errors.
+ (gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
+
+ * src/gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
+ gxv_morx_subtable_type2_subtable_setup,
+ gxv_morx_subtable_type2_ligActionIndex_validate,
+ gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
+ errors.
+ (gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
+ Fix typo.
+
+ * src/gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
+ with FT_LOCAL_DEF.
+
+ * src/gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
+ gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
+ (gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.
+
+ * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
+ gxv_morx_validate): Improve trace message.
+
+ * src/gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
+ warnings.
+ (gxv_opbd_validate): Improve trace message.
+
+ * src/gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
+ appropriate.
+ (gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
+ message.
+
+ * src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
+ parameter. Update all callers.
+ (gxv_trak_validate): Improve trace message.
+
+ * rules.mk (GXV_DRV_H): Add gxvfeat.h.
+
+2005-09-01 Werner Lemberg <[email protected]>
+
+ * src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
+
+ * src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
+ src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
+ typo.
+
+ * src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
+ src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c,
+ src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve trace
+ messages.
+ Decorate constants with `U' and `L' where appropriate.
+ Fix compiler warnings.
+
+2005-08-31 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
+
+ * src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix trace message.
+
+ * src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
+
+ * src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c,
+ src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c,
+ src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
+ src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
+ src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve trace
+ messages.
+ Decorate constants with `U' and `L' where appropriate.
+ Fix compiler warnings.
+
+2005-08-30 Werner Lemberg <[email protected]>
+
+ * src/gxvalid/README: Revised.
+ * src/gxvalid/gxvbsln.c: Fix compiler warnings.
+ * src/gxvalid/gxvcommn.c: Fix compiler warnings.
+ (gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused
+ parameter. Update all callers.
+ Improve trace messages.
+ Some formatting.
+
+2005-08-29 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h, include/freetype/ftchapters.h: Add
+ a preliminary section with some explanations about user allocation.
+
+ * src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
+ Don't abort if there are no data types, functions, etc., in a
+ section.
+ Print synopsis only if we have a data type, function, etc.
+
+ * docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
+ docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
+ docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
+
+2005-08-28 George Williams <[email protected]>
+
+ * src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
+ (load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
+
+2005-08-25 J. Ali Harlow <[email protected]>
+
+ * builds/unix/freetype2.in (CFlags): Add missing directory.
+
+2005-08-24 Werner Lemberg <[email protected]>
+
+ * docs/CHANGES: Mention gxvalid module.
+
+2005-08-23 Werner Lemberg <[email protected]>
+
+ * src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
+ render mode properly. Reported by [email protected].
+
+2005-08-23 suzuki toshiya <[email protected]>
+
+ Add gxvalid module to validate TrueType GX/AAT tables.
+
+ Modifications on existing files:
+
+ * Jamfile: Register gxvalid module.
+ * src/base/Jamfile: Register ftgxval.c.
+ * src/base/rule.mk: Register ftgxval.c.
+ * docs/INSTALL.ANY: Register gxvalid/gxvalid.c.
+
+ * include/freetype/config/ftheader.h (FT_GX_VALIDATE_H): New macro
+ to include gxvalid header file.
+ * include/freetype/config/ftmodule.h: Register gxv_module_class.
+
+ * include/freetype/ftchapters.h: Add comment about gx_validation.
+ * include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX
+ to FT_VALIDATE_OTXXX to co-exist with gxvalid.
+ * include/freetype/tttags.h: Add tags for TrueType GX/AAT tables.
+
+ * include/freetype/internal/ftserv.h (FT_SERVICE_GX_VALIDATE_H): New
+ macro for gxvalid service.
+ * include/freetype/internal/fttrace.h: Add trace facilities for
+ gxvalid.
+
+ New files on existing directories:
+
+ * include/freetype/internal/services/svgxval.h: Registration of
+ validation service for TrueType GX/AAT and classic kern table.
+ * include/freetype/ftgxval.h: Public API definition to use gxvalid.
+ * src/base/ftgxval.c: Public API of gxvalid.
+
+ New files under src/gxvalid/:
+
+ * src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk
+ src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h
+ src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h
+ src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c
+ src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c
+ src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c
+ src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c
+ src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c
+ src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c
+ src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c
+ src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c
+ src/gxvalid/gxvtrak.c: New files, gxvalid body.
+
+2005-08-21 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
+ to (0,0) if bit 1 of the `head' table isn't set. This improves
+ rendering of buggy fonts.
+
+2005-08-20 Chia I Wu <[email protected]>
+
+ * src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
+ ttmetrics here. TrueType fonts with only sbits always have
+ ttmetrics.valid set to false.
+
+ * src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
+ valid before loading outline glyph.
+
+ * src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
+
+2005-08-20 Werner Lemberg <[email protected]>
+
+ * src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
+ `hhea' table for SFNT Mac fonts. Change based on a patch by
+
+2005-08-20 Masatake YAMATO <[email protected]>
+
+ * src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
+ of ft_setjmp.
+
+2005-08-19 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
+ warnings.
+
+2005-08-16 Chia I Wu <[email protected]>
+
+ * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
+ messages.
+
+2005-08-16 Chia I Wu <[email protected]>
+
+ * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
+ TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context
+ with slight changes.
+ Update all callers.
+ (TT_New_Context): Now takes TT_Driver argument directly.
+ Update all callers.
+
+ * src/truetype/ttobjs.h (tt_slot_init): New function.
+ * src/truetype/ttobjs.c (tt_driver_init): Initialize execution
+ context here.
+ (tt_slot_init): New function to create extra points for the internal
+ glyph loader. We then use it directly, instead of face's glyph
+ loader, when loading glyph.
+
+ * src/truetype/ttdriver.c (tt_driver_class): Use tt_slot_init for
+ glyph slot initialization.
+ (Load_Glyph): Load flag dependencies are handled here. Return error
+ if size is NULL.
+
+ * src/truetype/ttgload.c: Heavy cleanup and refactoring.
+ (org_to_cur): Removed.
+ (TT_Load_Simple_Glyph): Call FT_GlyphLoader_CheckPoints.
+ (TT_Hint_Glyph): New function to hint a zone, prepared by caller.
+ (TT_Process_Simple_Glyph): s/load/loader/.
+ Use loader->pp values instead of recalculation.
+ Use TT_Hint_Glyph.
+ No need to save/restore loader->stream before and after
+ TT_Vary_Get_Glyph_Deltas now.
+ (TT_LOADER_SET_PP): New macro to calculate and set the four phantom
+ points.
+ (load_truetype_glyph): Never set exec->glyphSize to 0. This closes
+ Savannah bug #13107.
+ Forget glyph frame before calling TT_Process_Simple_Glyph.
+ Use TT_LOADER_SET_PP.
+ Scale all four phantom points.
+ Split off some functionality to ...
+ (TT_Process_Composite_Component, TT_Process_Composite_Glyph): These
+ new functions.
+ (TT_Load_Glyph): Set various fields of `glyph' here, not in
+ load_truetype_glyph and compute_glyph_metrics.
+ Split off some functionality to ...
+ (load_sbit_image, tt_loader_init): These new functions.
+ (compute_glyph_metrics): Call FT_Outline_Get_CBox.
+
+2005-08-08 Werner Lemberg <[email protected]>
+
+ * docs/INSTALL.ANY: Updated.
+
+2005-08-05 Werner Lemberg <[email protected]>
+
+ * src/cff/cffgload.c (cff_builder_close_contour),
+ src/psaux/psobjs.c (t1_builder_close_contour): Protect against
+ zero `outline' pointer.
+
+ * src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero
+ `loader' address.
+
+2005-08-03 Werner Lemberg <[email protected]>
+
+ * src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]:
+ Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics
+ to make X work again.
+
+2005-08-02 Werner Lemberg <[email protected]>
+
+ * src/otvalid/otvcommn.h: Remove dead code.
+
+2005-07-31 Chia I Wu <[email protected]>
+
+ * src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New
+ functions.
+
+ * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New
+ functions.
+ (tt_size_init): Add 4, instead of 2, (phantom) points to twilight
+ zone.
+ Move code that runs fpgm to tt_size_run_fpgm.
+ (Reset_Outline_Size): Move code that runs prep to tt_size_run_prep.
+ (tt_glyphzone_new): Allocate right size of arrays.
+ Set max_points and max_contours properly.
+
+2005-07-26 Chia I Wu <[email protected]>
+
+ * src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
+ computations and clean up.
+
+ * src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
+ internal copy of metrics.
+
+2005-07-12 Werner Lemberg <[email protected]>
+
+ * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
+ Reported by Xerxes.
+
+2005-07-04 Werner Lemberg <[email protected]>
+
+ * include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
+ Reported by Brett Hutley.
+
+2005-06-30 David Turner <[email protected]>
+
+ * src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
+ Removing compiler warnings (Visual C++ /W4).
+
+
+ Implement a work-around for broken C preprocessor in Visual C++ (it
+ has been confirmed by the MS developers that it is indeed a bug
+ which won't be fixed in the very near future).
+
+ * Jamfile (FT2_COMPONENTS): Include otvalid (again).
+
+ * src/otvalid/otvcommn.h (OTV_NAME, OTV_FUNC): New macros.
+ (OTV_NEST1, OTV_NEST2, OTV_NEST3): Use OTV_NAME and OTV_FUNC to
+ avoid argument expansion by argument prescan.
+ Append `Func' to all affected macros and change them to take just a
+ single argument. Example: `AttachList' is renamed to
+ `AttachListFunc'.
+
+ * src/otvalid/otvgdef.c, src/otvalid/otvgpos.c,
+ src/otvalid/otvgsub.c, src/otvjstf.c: Append `Func' to macros
+ affected by the changes to OTV_NESTx and modify them to take just a
+ single argument.
+
+2005-06-20 Chia I Wu <[email protected]>
+
+ * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
+ ft_glyphslot_grid_fit_metrics.
+
+ * src/truetype/ttgload.c (compute_glyph_metrics): Use
+ ft_glyphslot_grid_fit_metrics.
+
+ * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+ (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use
+ ft_glyphslot_grid_fit_metrics.
+ FT_Outline_Get_CBox is called twice.
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more
+ reasonable values when emboldening outline glyphs. The theoretic
+ ones are unrealistic.
+
+2005-06-16 Chia I Wu <[email protected]>
+
+ * src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
+ halved.
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
+ strength.
+ Don't increase slot->advance.y.
+
+2005-06-16 Werner Lemberg <[email protected]>
+
+ * include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
+ (FREETYPE_PATCH): Set to 0.
+
+ * builds/unix/configure.ac (version_info): Set to 9:9:3.
+ Currently, we are still binary compatible.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
+
+ * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
+ s/2.1.9/2.1.10/.
+
+ * docs/CHANGES, docs/VERSION.DLL: Updated.
+
+ * ChangeLog: Split off older entries into...
+ * ChangeLog.20, ChangeLog.21: These new files.
+
+2005-06-15 Kirill Smelkov <[email protected]>
+
+ The next release will be 2.2.0, so don't worry about source code
+ backwards compatibility.
+
+ * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
+ FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
+ FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
+ include/freetype/ftrender.h (FT_Glyph_TransformFunc,
+ FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
+ parameters with `const' where appropriate.
+
+2005-06-15 Chia I Wu <[email protected]>
+
+ * src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
+ to make glyphs centered vertically.
+
+ * src/truetype/ttgload.c (compute_glyph_metrics): Compute
+ vertBearingY to make glyphs centered vertically.
+ Fix some bugs in vertical metrics:
+
+ . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
+ units.
+ . As we use the glyph's cbox to calculate the top bearing now
+ there is no need to adjust `top'.
+
+2005-06-15 Werner Lemberg <[email protected]>
+
+ * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
+ in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.
+
+2005-06-13 Werner Lemberg <[email protected]>
+
+ * docs/release: Update.
+
+----------------------------------------------------------------------------
+
+Copyright 2005, 2006, 2007, 2008 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT. By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
diff --git a/components/external/freetype/Jamrules b/components/external/freetype/Jamrules
index e72579b5df..d8d1c7e617 100644
--- a/components/external/freetype/Jamrules
+++ b/components/external/freetype/Jamrules
@@ -1,71 +1,71 @@
-# FreeType 2 JamRules.
-#
-# Copyright 2001, 2002, 2003 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT. By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-# This file contains the Jam rules needed to build the FreeType 2 library.
-# It is shared by all Jamfiles and is included only once in the build
-# process.
-#
-
-
-# Call SubDirHdrs on a list of directories.
-#
-rule AddSubDirHdrs
-{
- local x ;
-
- for x in $(<)
- {
- SubDirHdrs $(x) ;
- }
-}
-
-
-# Determine prefix of library file. We must use "libxxxxx" on Unix systems,
-# while all other simply use the real name.
-#
-if $(UNIX)
-{
- LIBPREFIX ?= lib ;
-}
-else
-{
- LIBPREFIX ?= "" ;
-}
-
-# FT2_TOP contains the location of the FreeType source directory. You can
-# set it to a specific value if you want to compile the library as part of a
-# larger project.
-#
-FT2_TOP ?= $(DOT) ;
-
-# Define a new rule used to declare a sub directory of the Nirvana source
-# tree.
-#
-rule FT2_SubDir
-{
- if $(FT2_TOP) = $(DOT)
- {
- return [ FDirName $(<) ] ;
- }
- else
- {
- return [ FDirName $(FT2_TOP) $(<) ] ;
- }
-}
-
-# We also set ALL_LOCATE_TARGET in order to place all object and library
-# files in "objs".
-#
-ALL_LOCATE_TARGET ?= [ FT2_SubDir objs ] ;
-
-
-# end of Jamrules
+# FreeType 2 JamRules.
+#
+# Copyright 2001, 2002, 2003 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+# This file contains the Jam rules needed to build the FreeType 2 library.
+# It is shared by all Jamfiles and is included only once in the build
+# process.
+#
+
+
+# Call SubDirHdrs on a list of directories.
+#
+rule AddSubDirHdrs
+{
+ local x ;
+
+ for x in $(<)
+ {
+ SubDirHdrs $(x) ;
+ }
+}
+
+
+# Determine prefix of library file. We must use "libxxxxx" on Unix systems,
+# while all other simply use the real name.
+#
+if $(UNIX)
+{
+ LIBPREFIX ?= lib ;
+}
+else
+{
+ LIBPREFIX ?= "" ;
+}
+
+# FT2_TOP contains the location of the FreeType source directory. You can
+# set it to a specific value if you want to compile the library as part of a
+# larger project.
+#
+FT2_TOP ?= $(DOT) ;
+
+# Define a new rule used to declare a sub directory of the Nirvana source
+# tree.
+#
+rule FT2_SubDir
+{
+ if $(FT2_TOP) = $(DOT)
+ {
+ return [ FDirName $(<) ] ;
+ }
+ else
+ {
+ return [ FDirName $(FT2_TOP) $(<) ] ;
+ }
+}
+
+# We also set ALL_LOCATE_TARGET in order to place all object and library
+# files in "objs".
+#
+ALL_LOCATE_TARGET ?= [ FT2_SubDir objs ] ;
+
+
+# end of Jamrules
diff --git a/components/external/freetype/README b/components/external/freetype/README
index c580e15fb5..282791ef08 100644
--- a/components/external/freetype/README
+++ b/components/external/freetype/README
@@ -1,64 +1,64 @@
- Special notes to Unix users
- ===========================
-
- Please read the file `docs/UPGRADE.UNIX'. It contains important
- information regarding the installation of FreeType on Unix systems,
- especially GNU based operating systems like GNU/Linux.
-
- FreeType 2's library is called `libfreetype', FreeType 1's library
- is called `libttf'. They are *not* compatible!
-
-
- FreeType 2.3.12
- ===============
-
- Please read the docs/CHANGES file, it contains IMPORTANT
- INFORMATION.
-
- Read the files `docs/INSTALL' for installation instructions.
-
- The FreeType 2 API reference is located in `docs/reference'; use the
- file `ft2-doc.html' as the top entry point. Additional
- documentation is available as a separate package from our sites. Go
- to
-
- http://download.savannah.gnu.org/releases/freetype/
-
- and download one of the following files.
-
- freetype-doc-2.3.12.tar.bz2
- freetype-doc-2.3.12.tar.gz
- ftdoc2312.zip
-
-
- Bugs
- ====
-
- Please report bugs by e-mail to `[email protected]'. Don't
- forget to send a detailed explanation of the problem -- there is
- nothing worse than receiving a terse message that only says `it
- doesn't work'.
-
- Alternatively, you may submit a bug report at
-
- https://savannah.nongnu.org/bugs/?group=freetype
-
-
- Enjoy!
-
-
- The FreeType Team
-
-----------------------------------------------------------------------
-
-Copyright 2006, 2007, 2008, 2009, 2010 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute
-this file you indicate that you have read the license and understand
-and accept it fully.
-
-
---- end of README ---
+ Special notes to Unix users
+ ===========================
+
+ Please read the file `docs/UPGRADE.UNIX'. It contains important
+ information regarding the installation of FreeType on Unix systems,
+ especially GNU based operating systems like GNU/Linux.
+
+ FreeType 2's library is called `libfreetype', FreeType 1's library
+ is called `libttf'. They are *not* compatible!
+
+
+ FreeType 2.3.12
+ ===============
+
+ Please read the docs/CHANGES file, it contains IMPORTANT
+ INFORMATION.
+
+ Read the files `docs/INSTALL' for installation instructions.
+
+ The FreeType 2 API reference is located in `docs/reference'; use the
+ file `ft2-doc.html' as the top entry point. Additional
+ documentation is available as a separate package from our sites. Go
+ to
+
+ http://download.savannah.gnu.org/releases/freetype/
+
+ and download one of the following files.
+
+ freetype-doc-2.3.12.tar.bz2
+ freetype-doc-2.3.12.tar.gz
+ ftdoc2312.zip
+
+
+ Bugs
+ ====
+
+ Please report bugs by e-mail to `[email protected]'. Don't
+ forget to send a detailed explanation of the problem -- there is
+ nothing worse than receiving a terse message that only says `it
+ doesn't work'.
+
+ Alternatively, you may submit a bug report at
+
+ https://savannah.nongnu.org/bugs/?group=freetype
+
+
+ Enjoy!
+
+
+ The FreeType Team
+
+----------------------------------------------------------------------
+
+Copyright 2006, 2007, 2008, 2009, 2010 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute
+this file you indicate that you have read the license and understand
+and accept it fully.
+
+
+--- end of README ---
diff --git a/components/external/freetype/README.git b/components/external/freetype/README.git
index bb36cf7b30..89f290706c 100644
--- a/components/external/freetype/README.git
+++ b/components/external/freetype/README.git
@@ -1,46 +1,46 @@
-The git archive doesn't contain pre-built configuration scripts for
-UNIXish platforms. To generate them say
-
- sh autogen.sh
-
-which in turn depends on the following packages:
-
- automake (1.10.1)
- libtool (2.2.4)
- autoconf (2.62)
-
-The versions given in parentheses are known to work. Newer versions
-should work too, of course. Note that autogen.sh also sets up proper
-file permissions for the `configure' and auxiliary scripts.
-
-The autogen.sh script now checks the version of above three packages
-whether they match the numbers above. Otherwise it will complain and
-suggest either upgrading or using an environment variable to point to
-a more recent version of the required tool(s).
-
-Note that `aclocal' is provided by the `automake' package on Linux,
-and that `libtoolize' is called `glibtoolize' on Darwin (OS X).
-
-
-For static builds which don't use platform specific optimizations, no
-configure script is necessary at all; saying
-
- make setup ansi
- make
-
-should work on all platforms which have GNU make (or makepp).
-
-
-----------------------------------------------------------------------
-
-Copyright 2005, 2006, 2007, 2008, 2009 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute
-this file you indicate that you have read the license and understand
-and accept it fully.
-
-
---- end of README.CVS ---
+The git archive doesn't contain pre-built configuration scripts for
+UNIXish platforms. To generate them say
+
+ sh autogen.sh
+
+which in turn depends on the following packages:
+
+ automake (1.10.1)
+ libtool (2.2.4)
+ autoconf (2.62)
+
+The versions given in parentheses are known to work. Newer versions
+should work too, of course. Note that autogen.sh also sets up proper
+file permissions for the `configure' and auxiliary scripts.
+
+The autogen.sh script now checks the version of above three packages
+whether they match the numbers above. Otherwise it will complain and
+suggest either upgrading or using an environment variable to point to
+a more recent version of the required tool(s).
+
+Note that `aclocal' is provided by the `automake' package on Linux,
+and that `libtoolize' is called `glibtoolize' on Darwin (OS X).
+
+
+For static builds which don't use platform specific optimizations, no
+configure script is necessary at all; saying
+
+ make setup ansi
+ make
+
+should work on all platforms which have GNU make (or makepp).
+
+
+----------------------------------------------------------------------
+
+Copyright 2005, 2006, 2007, 2008, 2009 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute
+this file you indicate that you have read the license and understand
+and accept it fully.
+
+
+--- end of README.CVS ---
diff --git a/components/external/freetype/builds/amiga/README b/components/external/freetype/builds/amiga/README
index dd82d97421..2b8f8e87db 100644
--- a/components/external/freetype/builds/amiga/README
+++ b/components/external/freetype/builds/amiga/README
@@ -1,110 +1,110 @@
-
-README for the builds/amiga subdirectory.
-
-Copyright 2005 by
-Werner Lemberg and Detlef W�rkner.
-
-This file is part of the FreeType project, and may only be used, modified,
-and distributed under the terms of the FreeType project license,
-LICENSE.TXT. By continuing to use, modify, or distribute this file you
-indicate that you have read the license and understand and accept it
-fully.
-
-
-The makefile.os4 is for the AmigaOS4 SDK. To use it, type
-"make -f makefile.os4", it produces a link library libft2_ppc.a.
-
-The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on
-68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de).
-To use it, type "make assign", then "make"; it produces a link library
-libft2_ppc.a.
-
-The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
-latest sold version was 6.50, updates can be found in Aminet). It is
-based on the version found in the sourcecode of ttf.library 0.83b for
-FreeType 1.3.1 from Richard Griffith ([email protected],
-http://ragriffi.home.sprynet.com).
-
-You will also need the latest include files and amiga.lib from the
-Amiga web site (http://www.amiga.com/3.9/download/NDK3.9.lha) for
-AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
-
-To use it, call "smake assign" and then "smake" from the builds/amiga
-directory. The results are:
-
-- A link library "ft2_680x0.lib" (where x depends on the setting of
- the CPU entry in the smakefile) containing all FreeType2 parts
- except of the init code, debugging code, and the system interface
- code.
-
-- ftsystem.o, an object module containing the standard version of the
- system interface code which uses fopen() fclose() fread() fseek()
- ftell() malloc() realloc() and free() from lib:sc.lib (not pure).
-
-- ftsystempure.o, an object module containing the pure version of the
- system interface code which uses Open() Close() Read() Seek()
- ExamineFH() AsmAllocPooled() AsmFreePooled() etc. This version can
- be used in both normal programs and in Amiga run-time shared system
- librarys (can be linked with lib:libinit.o, no copying of DATA and
- BSS hunks for each OpenLibrary() necessary). Source code is in
- src/base/ftsystem.c.
-
-- ftdebug.o, an object module containing the standard version of the
- debugging code which uses vprintf() and exit() (not pure).
- Debugging can be turned on in FT:include/freetype/config/ftoption.h
- and with FT_SetTraceLevel().
-
-- ftdebugpure.o, an object module containing the pure version of the
- debugging code which uses KVPrintf() from lib:debug.lib and no
- exit(). For debugging of Amiga run-time shared system libraries.
- Source code is in src/base/ftdebug.c.
-
-- NO ftinit.o. Because linking with a link library should result in
- linking only the needed object modules in it, but standard
- ftsystem.o would force ALL FreeType2 modules to be linked to your
- program, I decided to use a different scheme: You must #include
- FT:src/base/ftinit.c in your sourcecode and specify with #define
- statements which modules you need. See
- include/freetype/config/ftmodule.h.
-
-
-To use in your own programs:
-
-- Insert the #define and #include statements from top of
- include/freetype/config/ftmodule.h in your source code and uncomment
- the #define statements for the FreeType2 modules you need.
-
-- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
- calling the FreeType2 functions, because the link library and the
- object files are compiled with PARAMETERS=BOTH.
-
-- "smake assign" (assign "FT:" to the FreeType2 main directory).
-
-- Compile your program.
-
-- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
- with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
- ft2_680x0.lib as link library.
-
-
-To adapt to other compilers:
-
-- The standard ANSI C maximum length of 31 significant characters in
- identifiers is not enough for FreeType2. Check if your compiler has
- a minimum length of 40 significant characters or can be switched to
- it. "idlen=40" is the option for SAS/C. Setting #define
- HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).
-
-- Make sure that the include directory in builds/amiga is searched
- before the normal FreeType2 include directory, so you are able to
- replace problematic include files with your own version (same may be
- useful for the src directory).
-
-- An example of how to replace/workaround a problematic include file
- is include/config/ftconfig.h; it changes a #define that would
- prevent SAS/C from generating XDEF's where it should do that and
- then includes the standard FreeType2 include file.
-
-Local Variables:
-coding: latin-1
-End:
+
+README for the builds/amiga subdirectory.
+
+Copyright 2005 by
+Werner Lemberg and Detlef W�rkner.
+
+This file is part of the FreeType project, and may only be used, modified,
+and distributed under the terms of the FreeType project license,
+LICENSE.TXT. By continuing to use, modify, or distribute this file you
+indicate that you have read the license and understand and accept it
+fully.
+
+
+The makefile.os4 is for the AmigaOS4 SDK. To use it, type
+"make -f makefile.os4", it produces a link library libft2_ppc.a.
+
+The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on
+68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de).
+To use it, type "make assign", then "make"; it produces a link library
+libft2_ppc.a.
+
+The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
+latest sold version was 6.50, updates can be found in Aminet). It is
+based on the version found in the sourcecode of ttf.library 0.83b for
+FreeType 1.3.1 from Richard Griffith ([email protected],
+http://ragriffi.home.sprynet.com).
+
+You will also need the latest include files and amiga.lib from the
+Amiga web site (http://www.amiga.com/3.9/download/NDK3.9.lha) for
+AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
+
+To use it, call "smake assign" and then "smake" from the builds/amiga
+directory. The results are:
+
+- A link library "ft2_680x0.lib" (where x depends on the setting of
+ the CPU entry in the smakefile) containing all FreeType2 parts
+ except of the init code, debugging code, and the system interface
+ code.
+
+- ftsystem.o, an object module containing the standard version of the
+ system interface code which uses fopen() fclose() fread() fseek()
+ ftell() malloc() realloc() and free() from lib:sc.lib (not pure).
+
+- ftsystempure.o, an object module containing the pure version of the
+ system interface code which uses Open() Close() Read() Seek()
+ ExamineFH() AsmAllocPooled() AsmFreePooled() etc. This version can
+ be used in both normal programs and in Amiga run-time shared system
+ librarys (can be linked with lib:libinit.o, no copying of DATA and
+ BSS hunks for each OpenLibrary() necessary). Source code is in
+ src/base/ftsystem.c.
+
+- ftdebug.o, an object module containing the standard version of the
+ debugging code which uses vprintf() and exit() (not pure).
+ Debugging can be turned on in FT:include/freetype/config/ftoption.h
+ and with FT_SetTraceLevel().
+
+- ftdebugpure.o, an object module containing the pure version of the
+ debugging code which uses KVPrintf() from lib:debug.lib and no
+ exit(). For debugging of Amiga run-time shared system libraries.
+ Source code is in src/base/ftdebug.c.
+
+- NO ftinit.o. Because linking with a link library should result in
+ linking only the needed object modules in it, but standard
+ ftsystem.o would force ALL FreeType2 modules to be linked to your
+ program, I decided to use a different scheme: You must #include
+ FT:src/base/ftinit.c in your sourcecode and specify with #define
+ statements which modules you need. See
+ include/freetype/config/ftmodule.h.
+
+
+To use in your own programs:
+
+- Insert the #define and #include statements from top of
+ include/freetype/config/ftmodule.h in your source code and uncomment
+ the #define statements for the FreeType2 modules you need.
+
+- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
+ calling the FreeType2 functions, because the link library and the
+ object files are compiled with PARAMETERS=BOTH.
+
+- "smake assign" (assign "FT:" to the FreeType2 main directory).
+
+- Compile your program.
+
+- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
+ with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
+ ft2_680x0.lib as link library.
+
+
+To adapt to other compilers:
+
+- The standard ANSI C maximum length of 31 significant characters in
+ identifiers is not enough for FreeType2. Check if your compiler has
+ a minimum length of 40 significant characters or can be switched to
+ it. "idlen=40" is the option for SAS/C. Setting #define
+ HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).
+
+- Make sure that the include directory in builds/amiga is searched
+ before the normal FreeType2 include directory, so you are able to
+ replace problematic include files with your own version (same may be
+ useful for the src directory).
+
+- An example of how to replace/workaround a problematic include file
+ is include/config/ftconfig.h; it changes a #define that would
+ prevent SAS/C from generating XDEF's where it should do that and
+ then includes the standard FreeType2 include file.
+
+Local Variables:
+coding: latin-1
+End:
diff --git a/components/external/freetype/builds/amiga/makefile.os4 b/components/external/freetype/builds/amiga/makefile.os4
index 212f6f7025..edd88eba94 100644
--- a/components/external/freetype/builds/amiga/makefile.os4
+++ b/components/external/freetype/builds/amiga/makefile.os4
@@ -1,297 +1,297 @@
-#
-# Makefile for FreeType2 link library using gcc 4.0.3 from the
-# AmigaOS4 SDK
-#
-
-
-# Copyright 2005, 2006, 2007, 2009 by
-# Werner Lemberg and Detlef W�rkner.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT. By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-# to build from the builds/amiga directory call
-#
-# make -f makefile.os4
-#
-# Your programs source code should start with this
-# (uncomment the parts you do not need to keep the program small):
-# ---8<---
-#define FT_USE_AUTOFIT // autofitter
-#define FT_USE_RASTER // monochrome rasterizer
-#define FT_USE_SMOOTH // anti-aliasing rasterizer
-#define FT_USE_TT // truetype font driver
-#define FT_USE_T1 // type1 font driver
-#define FT_USE_T42 // type42 font driver
-#define FT_USE_T1CID // cid-keyed type1 font driver
-#define FT_USE_CFF // opentype font driver
-#define FT_USE_BDF // bdf bitmap font driver
-#define FT_USE_PCF // pcf bitmap font driver
-#define FT_USE_PFR // pfr font driver
-#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
-#define FT_USE_OTV // opentype validator
-#define FT_USE_GXV // truetype gx validator
-#include "FT:src/base/ftinit.c"
-# ---8<---
-#
-# link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o
-# (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or
-# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
-
-all: assign libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
-
-assign:
- assign FT: //
-
-CC = ppc-amigaos-gcc
-AR = ppc-amigaos-ar
-RANLIB = ppc-amigaos-ranlib
-
-DIRFLAGS = -Iinclude -I/FT/src -I/FT/include -I/SDK/include
-
-WARNINGS = -Wall -W -Wundef -Wpointer-arith -Wbad-function-cast \
- -Waggregate-return -Wwrite-strings -Wshadow
-
-OPTIONS = -DFT2_BUILD_LIBRARY -DNDEBUG -fno-builtin
-OPTIMIZE = -O2 -fomit-frame-pointer -fstrength-reduce -finline-functions
-
-CFLAGS = -mcrt=clib2 $(DIRFLAGS) $(WARNINGS) $(FT2FLAGS) $(OPTIONS) $(OPTIMIZE)
-
-#
-# FreeType2 library base
-#
-ftbase.ppc.o: FT:src/base/ftbase.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbase.c
-
-ftinit.ppc.o: FT:src/base/ftinit.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftinit.c
-
-ftsystem.ppc.o: FT:src/base/ftsystem.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsystem.c
-
-# pure version for use in run-time library etc
-ftsystempure.ppc.o: src/base/ftsystem.c
- $(CC) -c $(CFLAGS) -o $@ src/base/ftsystem.c
-
-#
-# FreeType2 library base extensions
-#
-ftbbox.ppc.o: FT:src/base/ftbbox.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbbox.c
-
-ftbdf.ppc.o: FT:src/base/ftbdf.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbdf.c
-
-ftbitmap.ppc.o: FT:src/base/ftbitmap.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbitmap.c
-
-ftcid.ppc.o: FT:src/base/ftcid.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftcid.c
-
-ftdebug.ppc.o: FT:src/base/ftdebug.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftdebug.c
-
-# pure version for use in run-time library etc
-ftdebugpure.ppc.o: src/base/ftdebug.c
- $(CC) -c $(CFLAGS) -o $@ src/base/ftdebug.c
-
-ftfstype.ppc.o: FT:src/base/ftfstype.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftfstype.c
-
-ftgasp.ppc.o: FT:src/base/ftgasp.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgasp.c
-
-ftglyph.ppc.o: FT:src/base/ftglyph.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftglyph.c
-
-ftgxval.ppc.o: FT:src/base/ftgxval.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgxval.c
-
-ftlcdfil.ppc.o: FT:src/base/ftlcdfil.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftlcdfil.c
-
-ftmm.ppc.o: FT:src/base/ftmm.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftmm.c
-
-ftotval.ppc.o: FT:src/base/ftotval.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftotval.c
-
-ftpatent.ppc.o: FT:src/base/ftpatent.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpatent.c
-
-ftpfr.ppc.o: FT:src/base/ftpfr.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpfr.c
-
-ftstroke.ppc.o: FT:src/base/ftstroke.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftstroke.c
-
-ftsynth.ppc.o: FT:src/base/ftsynth.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsynth.c
-
-fttype1.ppc.o: FT:src/base/fttype1.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/fttype1.c
-
-ftwinfnt.ppc.o: FT:src/base/ftwinfnt.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftwinfnt.c
-
-ftxf86.ppc.o: FT:src/base/ftxf86.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftxf86.c
-
-#
-# FreeType2 library autofitting module
-#
-autofit.ppc.o: FT:src/autofit/autofit.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/autofit/autofit.c
-
-#
-# FreeType2 library postscript hinting module
-#
-pshinter.ppc.o: FT:src/pshinter/pshinter.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/pshinter/pshinter.c
-
-#
-# FreeType2 library PS support module
-#
-psaux.ppc.o: FT:src/psaux/psaux.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/psaux/psaux.c
-
-#
-# FreeType2 library PS glyph names module
-#
-psnames.ppc.o: FT:src/psnames/psnames.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/psnames/psnames.c
-
-#
-# FreeType2 library monochrome raster module
-#
-raster.ppc.o: FT:src/raster/raster.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/raster/raster.c
-
-#
-# FreeType2 library anti-aliasing raster module
-#
-smooth.ppc.o: FT:src/smooth/smooth.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/smooth/smooth.c
-
-#
-# FreeType2 library 'sfnt' module
-#
-sfnt.ppc.o: FT:src/sfnt/sfnt.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/sfnt/sfnt.c
-
-#
-# FreeType2 library glyph and image caching system
-#
-ftcache.ppc.o: FT:src/cache/ftcache.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/cache/ftcache.c
-
-#
-# FreeType2 library OpenType font driver
-#
-cff.ppc.o: FT:src/cff/cff.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/cff/cff.c
-
-#
-# FreeType2 library TrueType font driver
-#
-truetype.ppc.o: FT:src/truetype/truetype.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/truetype/truetype.c
-
-#
-# FreeType2 library Type1 font driver
-#
-type1.ppc.o: FT:src/type1/type1.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/type1/type1.c
-
-#
-# FreeType2 library Type42 font driver
-#
-type42.ppc.o: FT:src/type42/type42.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/type42/type42.c
-
-#
-# FreeType2 library CID-keyed Type1 font driver
-#
-type1cid.ppc.o: FT:src/cid/type1cid.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/cid/type1cid.c
-
-#
-# FreeType2 library BDF bitmap font driver
-#
-bdf.ppc.o: FT:src/bdf/bdf.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/bdf/bdf.c
-
-#
-# FreeType2 library PCF bitmap font driver
-#
-pcf.ppc.o: FT:src/pcf/pcf.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/pcf/pcf.c
-
-#
-# FreeType2 library gzip support for compressed PCF bitmap fonts
-#
-gzip.ppc.o: FT:src/gzip/ftgzip.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/gzip/ftgzip.c
-
-#
-# FreeType2 library compress support for compressed PCF bitmap fonts
-#
-lzw.ppc.o: FT:src/lzw/ftlzw.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/lzw/ftlzw.c
-
-#
-# FreeType2 library PFR font driver
-#
-pfr.ppc.o: FT:src/pfr/pfr.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/pfr/pfr.c
-
-#
-# FreeType2 library Windows FNT/FON bitmap font driver
-#
-winfnt.ppc.o: FT:src/winfonts/winfnt.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/winfonts/winfnt.c
-
-#
-# FreeType2 library TrueTypeGX Validator
-#
-gxvalid.ppc.o: FT:src/gxvalid/gxvalid.c
- $(CC) -c $(CFLAGS) -Wno-aggregate-return -o $@ /FT/src/gxvalid/gxvalid.c
-
-#
-# FreeType2 library OpenType validator
-#
-otvalid.ppc.o: FT:src/otvalid/otvalid.c
- $(CC) -c $(CFLAGS) -o $@ /FT/src/otvalid/otvalid.c
-
-BASE = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o \
- ftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o ftgxval.ppc.o \
- ftlcdfil.ppc.o ftmm.ppc.o ftotval.ppc.o ftpatent.ppc.o ftpfr.ppc.o \
- ftstroke.ppc.o ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o \
- ftxf86.ppc.o
-
-DEBUG = ftdebug.ppc.o ftdebugpure.ppc.o
-
-AFIT = autofit.ppc.o
-
-GXV = gxvalid.ppc.o
-
-OTV = otvalid.ppc.o
-
-PS = psaux.ppc.o psnames.ppc.o pshinter.ppc.o
-
-RASTER = raster.ppc.o smooth.ppc.o
-
-FONTD = cff.ppc.o type1.ppc.o type42.ppc.o type1cid.ppc.o truetype.ppc.o\
- bdf.ppc.o pcf.ppc.o pfr.ppc.o winfnt.ppc.o
-
-libft2_ppc.a: $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
- $(AR) r $@ $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
- $(RANLIB) $@
-
-#Local Variables:
-#coding: latin-1
-#End:
+#
+# Makefile for FreeType2 link library using gcc 4.0.3 from the
+# AmigaOS4 SDK
+#
+
+
+# Copyright 2005, 2006, 2007, 2009 by
+# Werner Lemberg and Detlef W�rkner.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+# to build from the builds/amiga directory call
+#
+# make -f makefile.os4
+#
+# Your programs source code should start with this
+# (uncomment the parts you do not need to keep the program small):
+# ---8<---
+#define FT_USE_AUTOFIT // autofitter
+#define FT_USE_RASTER // monochrome rasterizer
+#define FT_USE_SMOOTH // anti-aliasing rasterizer
+#define FT_USE_TT // truetype font driver
+#define FT_USE_T1 // type1 font driver
+#define FT_USE_T42 // type42 font driver
+#define FT_USE_T1CID // cid-keyed type1 font driver
+#define FT_USE_CFF // opentype font driver
+#define FT_USE_BDF // bdf bitmap font driver
+#define FT_USE_PCF // pcf bitmap font driver
+#define FT_USE_PFR // pfr font driver
+#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
+#define FT_USE_OTV // opentype validator
+#define FT_USE_GXV // truetype gx validator
+#include "FT:src/base/ftinit.c"
+# ---8<---
+#
+# link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o
+# (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or
+# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
+
+all: assign libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
+
+assign:
+ assign FT: //
+
+CC = ppc-amigaos-gcc
+AR = ppc-amigaos-ar
+RANLIB = ppc-amigaos-ranlib
+
+DIRFLAGS = -Iinclude -I/FT/src -I/FT/include -I/SDK/include
+
+WARNINGS = -Wall -W -Wundef -Wpointer-arith -Wbad-function-cast \
+ -Waggregate-return -Wwrite-strings -Wshadow
+
+OPTIONS = -DFT2_BUILD_LIBRARY -DNDEBUG -fno-builtin
+OPTIMIZE = -O2 -fomit-frame-pointer -fstrength-reduce -finline-functions
+
+CFLAGS = -mcrt=clib2 $(DIRFLAGS) $(WARNINGS) $(FT2FLAGS) $(OPTIONS) $(OPTIMIZE)
+
+#
+# FreeType2 library base
+#
+ftbase.ppc.o: FT:src/base/ftbase.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbase.c
+
+ftinit.ppc.o: FT:src/base/ftinit.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftinit.c
+
+ftsystem.ppc.o: FT:src/base/ftsystem.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsystem.c
+
+# pure version for use in run-time library etc
+ftsystempure.ppc.o: src/base/ftsystem.c
+ $(CC) -c $(CFLAGS) -o $@ src/base/ftsystem.c
+
+#
+# FreeType2 library base extensions
+#
+ftbbox.ppc.o: FT:src/base/ftbbox.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbbox.c
+
+ftbdf.ppc.o: FT:src/base/ftbdf.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbdf.c
+
+ftbitmap.ppc.o: FT:src/base/ftbitmap.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbitmap.c
+
+ftcid.ppc.o: FT:src/base/ftcid.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftcid.c
+
+ftdebug.ppc.o: FT:src/base/ftdebug.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftdebug.c
+
+# pure version for use in run-time library etc
+ftdebugpure.ppc.o: src/base/ftdebug.c
+ $(CC) -c $(CFLAGS) -o $@ src/base/ftdebug.c
+
+ftfstype.ppc.o: FT:src/base/ftfstype.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftfstype.c
+
+ftgasp.ppc.o: FT:src/base/ftgasp.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgasp.c
+
+ftglyph.ppc.o: FT:src/base/ftglyph.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftglyph.c
+
+ftgxval.ppc.o: FT:src/base/ftgxval.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgxval.c
+
+ftlcdfil.ppc.o: FT:src/base/ftlcdfil.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftlcdfil.c
+
+ftmm.ppc.o: FT:src/base/ftmm.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftmm.c
+
+ftotval.ppc.o: FT:src/base/ftotval.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftotval.c
+
+ftpatent.ppc.o: FT:src/base/ftpatent.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpatent.c
+
+ftpfr.ppc.o: FT:src/base/ftpfr.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpfr.c
+
+ftstroke.ppc.o: FT:src/base/ftstroke.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftstroke.c
+
+ftsynth.ppc.o: FT:src/base/ftsynth.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsynth.c
+
+fttype1.ppc.o: FT:src/base/fttype1.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/fttype1.c
+
+ftwinfnt.ppc.o: FT:src/base/ftwinfnt.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftwinfnt.c
+
+ftxf86.ppc.o: FT:src/base/ftxf86.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftxf86.c
+
+#
+# FreeType2 library autofitting module
+#
+autofit.ppc.o: FT:src/autofit/autofit.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/autofit/autofit.c
+
+#
+# FreeType2 library postscript hinting module
+#
+pshinter.ppc.o: FT:src/pshinter/pshinter.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/pshinter/pshinter.c
+
+#
+# FreeType2 library PS support module
+#
+psaux.ppc.o: FT:src/psaux/psaux.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/psaux/psaux.c
+
+#
+# FreeType2 library PS glyph names module
+#
+psnames.ppc.o: FT:src/psnames/psnames.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/psnames/psnames.c
+
+#
+# FreeType2 library monochrome raster module
+#
+raster.ppc.o: FT:src/raster/raster.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/raster/raster.c
+
+#
+# FreeType2 library anti-aliasing raster module
+#
+smooth.ppc.o: FT:src/smooth/smooth.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/smooth/smooth.c
+
+#
+# FreeType2 library 'sfnt' module
+#
+sfnt.ppc.o: FT:src/sfnt/sfnt.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/sfnt/sfnt.c
+
+#
+# FreeType2 library glyph and image caching system
+#
+ftcache.ppc.o: FT:src/cache/ftcache.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/cache/ftcache.c
+
+#
+# FreeType2 library OpenType font driver
+#
+cff.ppc.o: FT:src/cff/cff.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/cff/cff.c
+
+#
+# FreeType2 library TrueType font driver
+#
+truetype.ppc.o: FT:src/truetype/truetype.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/truetype/truetype.c
+
+#
+# FreeType2 library Type1 font driver
+#
+type1.ppc.o: FT:src/type1/type1.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/type1/type1.c
+
+#
+# FreeType2 library Type42 font driver
+#
+type42.ppc.o: FT:src/type42/type42.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/type42/type42.c
+
+#
+# FreeType2 library CID-keyed Type1 font driver
+#
+type1cid.ppc.o: FT:src/cid/type1cid.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/cid/type1cid.c
+
+#
+# FreeType2 library BDF bitmap font driver
+#
+bdf.ppc.o: FT:src/bdf/bdf.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/bdf/bdf.c
+
+#
+# FreeType2 library PCF bitmap font driver
+#
+pcf.ppc.o: FT:src/pcf/pcf.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/pcf/pcf.c
+
+#
+# FreeType2 library gzip support for compressed PCF bitmap fonts
+#
+gzip.ppc.o: FT:src/gzip/ftgzip.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/gzip/ftgzip.c
+
+#
+# FreeType2 library compress support for compressed PCF bitmap fonts
+#
+lzw.ppc.o: FT:src/lzw/ftlzw.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/lzw/ftlzw.c
+
+#
+# FreeType2 library PFR font driver
+#
+pfr.ppc.o: FT:src/pfr/pfr.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/pfr/pfr.c
+
+#
+# FreeType2 library Windows FNT/FON bitmap font driver
+#
+winfnt.ppc.o: FT:src/winfonts/winfnt.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/winfonts/winfnt.c
+
+#
+# FreeType2 library TrueTypeGX Validator
+#
+gxvalid.ppc.o: FT:src/gxvalid/gxvalid.c
+ $(CC) -c $(CFLAGS) -Wno-aggregate-return -o $@ /FT/src/gxvalid/gxvalid.c
+
+#
+# FreeType2 library OpenType validator
+#
+otvalid.ppc.o: FT:src/otvalid/otvalid.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/otvalid/otvalid.c
+
+BASE = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o \
+ ftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o ftgxval.ppc.o \
+ ftlcdfil.ppc.o ftmm.ppc.o ftotval.ppc.o ftpatent.ppc.o ftpfr.ppc.o \
+ ftstroke.ppc.o ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o \
+ ftxf86.ppc.o
+
+DEBUG = ftdebug.ppc.o ftdebugpure.ppc.o
+
+AFIT = autofit.ppc.o
+
+GXV = gxvalid.ppc.o
+
+OTV = otvalid.ppc.o
+
+PS = psaux.ppc.o psnames.ppc.o pshinter.ppc.o
+
+RASTER = raster.ppc.o smooth.ppc.o
+
+FONTD = cff.ppc.o type1.ppc.o type42.ppc.o type1cid.ppc.o truetype.ppc.o\
+ bdf.ppc.o pcf.ppc.o pfr.ppc.o winfnt.ppc.o
+
+libft2_ppc.a: $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
+ $(AR) r $@ $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
+ $(RANLIB) $@
+
+#Local Variables:
+#coding: latin-1
+#End:
diff --git a/components/external/freetype/builds/amiga/smakefile b/components/external/freetype/builds/amiga/smakefile
index a001745619..2a561a8828 100644
--- a/components/external/freetype/builds/amiga/smakefile
+++ b/components/external/freetype/builds/amiga/smakefile
@@ -1,297 +1,297 @@
-#
-# Makefile for FreeType2 link library using Amiga SAS/C 6.58
-#
-
-
-# Copyright 2005,2006, 2007, 2009 by
-# Werner Lemberg and Detlef W�rkner.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT. By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-
-# to build from the builds/amiga directory call
-#
-# smake assign
-# smake
-#
-# Your programs source code should start with this
-# (uncomment the parts you do not need to keep the program small):
-# ---8<---
-#define FT_USE_AUTOFIT // autofitter
-#define FT_USE_RASTER // monochrome rasterizer
-#define FT_USE_SMOOTH // anti-aliasing rasterizer
-#define FT_USE_TT // truetype font driver
-#define FT_USE_T1 // type1 font driver
-#define FT_USE_T42 // type42 font driver
-#define FT_USE_T1CID // cid-keyed type1 font driver
-#define FT_USE_CFF // opentype font driver
-#define FT_USE_BDF // bdf bitmap font driver
-#define FT_USE_PCF // pcf bitmap font driver
-#define FT_USE_PFR // pfr font driver
-#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
-#define FT_USE_OTV // opentype validator
-#define FT_USE_GXV // truetype gx validator
-#include "FT:src/base/ftinit.c"
-# ---8<---
-#
-# link your programs with ft2_680x0.lib and either ftsystem.o or ftsystempure.o
-# (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or
-# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
-
-OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o ftgasp.o \
- ftglyph.o ftgxval.o ftlcdfil.o ftmm.o ftotval.o ftpatent.o ftpfr.o \
- ftstroke.o ftsynth.o fttype1.o ftwinfnt.o ftxf86.o
-
-OBJSYSTEM = ftsystem.o ftsystempure.o
-
-OBJDEBUG = ftdebug.o ftdebugpure.o
-
-OBJAFIT = autofit.o
-
-OBJGXV = gxvalid.o
-
-OBJOTV = otvalid.o
-
-OBJPS = psaux.o psnames.o pshinter.o
-
-OBJRASTER = raster.o smooth.o
-
-OBJSFNT = sfnt.o
-
-OBJCACHE = ftcache.o
-
-OBJFONTD = cff.o type1.o type42.o type1cid.o\
- truetype.o winfnt.o bdf.o pcf.o pfr.o
-
-CORE = FT:src/
-
-CPU = 68000
-#CPU = 68020
-#CPU = 68030
-#CPU = 68040
-#CPU = 68060
-
-OPTIMIZER = optinlocal
-
-SCFLAGS = optimize opttime optsched strmerge data=faronly idlen=50 cpu=$(CPU)\
- idir=include/ idir=$(CORE) idir=FT:include/ nostackcheck nochkabort\
- noicons ignore=79,85,110,306 parameters=both define=FT2_BUILD_LIBRARY
-
-LIB = ft2_$(CPU).lib
-
-# sample linker options
-OPTS = link lib=$(LIB),lib:sc.lib,lib:amiga.lib,lib:debug.lib\
- smallcode smalldata noicons utillib
-
-# sample program entry
-#myprog: myprog.c ftsystem.o $(LIB)
-# sc $< programname=$@ ftsystem.o $(SCFLAGS) $(OPTS)
-
-all: $(LIB) $(OBJSYSTEM) $(OBJDEBUG)
-
-assign:
- assign FT: //
-
-# uses separate object modules in lib to make for easier debugging
-# also, can make smaller programs if entire engine is not used
-ft2_$(CPU).lib: $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o
- oml $@ r $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o
-
-clean:
- -delete \#?.o
-
-realclean: clean
- -delete ft2$(CPU).lib
-
-#
-# freetype library base
-#
-ftbase.o: $(CORE)base/ftbase.c
- sc $(SCFLAGS) objname=$@ $<
-ftinit.o: $(CORE)base/ftinit.c
- sc $(SCFLAGS) objname=$@ $<
-ftsystem.o: $(CORE)base/ftsystem.c
- sc $(SCFLAGS) objname=$@ $<
-ftsystempure.o: src/base/ftsystem.c ## pure version for use in run-time library etc
- sc $(SCFLAGS) objname=$@ $<
-ftdebug.o: $(CORE)base/ftdebug.c
- sc $(SCFLAGS) objname=$@ $<
-ftdebugpure.o: src/base/ftdebug.c ## pure version for use in run-time library etc
- sc $(SCFLAGS) objname=$@ $<
-#
-# freetype library base extensions
-#
-ftbbox.o: $(CORE)base/ftbbox.c
- sc $(SCFLAGS) objname=$@ $<
-ftbdf.o: $(CORE)base/ftbdf.c
- sc $(SCFLAGS) objname=$@ $<
-ftbitmap.o: $(CORE)base/ftbitmap.c
- sc $(SCFLAGS) objname=$@ $<
-ftcid.o: $(CORE)base/ftcid.c
- sc $(SCFLAGS) objname=$@ $<
-ftfstype.o: $(CORE)base/ftfstype.c
- sc $(SCFLAGS) objname=$@ $<
-ftgasp.o: $(CORE)base/ftgasp.c
- sc $(SCFLAGS) objname=$@ $<
-ftglyph.o: $(CORE)base/ftglyph.c
- sc $(SCFLAGS) objname=$@ $<
-ftgxval.o: $(CORE)base/ftgxval.c
- sc $(SCFLAGS) objname=$@ $<
-ftlcdfil.o: $(CORE)base/ftlcdfil.c
- sc $(SCFLAGS) objname=$@ $<
-ftmm.o: $(CORE)base/ftmm.c
- sc $(SCFLAGS) objname=$@ $<
-ftotval.o: $(CORE)base/ftotval.c
- sc $(SCFLAGS) objname=$@ $<
-ftpatent.o: $(CORE)base/ftpatent.c
- sc $(SCFLAGS) objname=$@ $<
-ftpfr.o: $(CORE)base/ftpfr.c
- sc $(SCFLAGS) objname=$@ $<
-ftstroke.o: $(CORE)base/ftstroke.c
- sc $(SCFLAGS) objname=$@ $<
-ftsynth.o: $(CORE)base/ftsynth.c
- sc $(SCFLAGS) objname=$@ $<
-fttype1.o: $(CORE)base/fttype1.c
- sc $(SCFLAGS) objname=$@ $<
-ftwinfnt.o: $(CORE)base/ftwinfnt.c
- sc $(SCFLAGS) objname=$@ $<
-ftxf86.o: $(CORE)base/ftxf86.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library autofitter module
-#
-autofit.o: $(CORE)autofit/autofit.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library PS hinting module
-#
-pshinter.o: $(CORE)pshinter/pshinter.c
- sc $(SCFLAGS) objname=$@ $<
-#
-# freetype library PS support module
-#
-psaux.o: $(CORE)psaux/psaux.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library PS glyph names module
-#
-psnames.o: $(CORE)psnames/psnames.c
- sc $(SCFLAGS) code=far objname=$@ $<
-
-#
-# freetype library monochrome raster module
-#
-raster.o: $(CORE)raster/raster.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library anti-aliasing raster module
-#
-smooth.o: $(CORE)smooth/smooth.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library 'sfnt' module
-#
-sfnt.o: $(CORE)sfnt/sfnt.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library glyph and image caching system (still experimental)
-#
-ftcache.o: $(CORE)cache/ftcache.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library OpenType font driver
-#
-cff.o: $(CORE)cff/cff.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library TrueType font driver
-#
-truetype.o: $(CORE)truetype/truetype.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library Type1 font driver
-#
-type1.o: $(CORE)type1/type1.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# FreeType2 library Type42 font driver
-#
-type42.o: $(CORE)type42/type42.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library CID-keyed Type1 font driver
-#
-type1cid.o: $(CORE)cid/type1cid.c
- sc $(SCFLAGS) objname=$@ $<
-#
-# freetype library CID-keyed Type1 font driver extensions
-#
-#cidafm.o: $(CORE)cid/cidafm.c
-# sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library BDF bitmap font driver
-#
-bdf.o: $(CORE)bdf/bdf.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library PCF bitmap font driver
-#
-pcf.o: $(CORE)pcf/pcf.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library gzip support for compressed PCF bitmap fonts
-#
-gzip.o: $(CORE)gzip/ftgzip.c
- sc $(SCFLAGS) define FAR objname=$@ $<
-
-#
-# freetype library compress support for compressed PCF bitmap fonts
-#
-lzw.o: $(CORE)lzw/ftlzw.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library PFR font driver
-#
-pfr.o: $(CORE)pfr/pfr.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library Windows FNT/FON bitmap font driver
-#
-winfnt.o: $(CORE)winfonts/winfnt.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library TrueTypeGX validator
-#
-gxvalid.o: $(CORE)gxvalid/gxvalid.c
- sc $(SCFLAGS) objname=$@ $<
-
-#
-# freetype library OpenType validator
-#
-otvalid.o: $(CORE)otvalid/otvalid.c
- sc $(SCFLAGS) objname=$@ $<
-
-#Local Variables:
-#coding: latin-1
-#End:
+#
+# Makefile for FreeType2 link library using Amiga SAS/C 6.58
+#
+
+
+# Copyright 2005,2006, 2007, 2009 by
+# Werner Lemberg and Detlef W�rkner.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+# to build from the builds/amiga directory call
+#
+# smake assign
+# smake
+#
+# Your programs source code should start with this
+# (uncomment the parts you do not need to keep the program small):
+# ---8<---
+#define FT_USE_AUTOFIT // autofitter
+#define FT_USE_RASTER // monochrome rasterizer
+#define FT_USE_SMOOTH // anti-aliasing rasterizer
+#define FT_USE_TT // truetype font driver
+#define FT_USE_T1 // type1 font driver
+#define FT_USE_T42 // type42 font driver
+#define FT_USE_T1CID // cid-keyed type1 font driver
+#define FT_USE_CFF // opentype font driver
+#define FT_USE_BDF // bdf bitmap font driver
+#define FT_USE_PCF // pcf bitmap font driver
+#define FT_USE_PFR // pfr font driver
+#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
+#define FT_USE_OTV // opentype validator
+#define FT_USE_GXV // truetype gx validator
+#include "FT:src/base/ftinit.c"
+# ---8<---
+#
+# link your programs with ft2_680x0.lib and either ftsystem.o or ftsystempure.o
+# (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or
+# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
+
+OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o ftgasp.o \
+ ftglyph.o ftgxval.o ftlcdfil.o ftmm.o ftotval.o ftpatent.o ftpfr.o \
+ ftstroke.o ftsynth.o fttype1.o ftwinfnt.o ftxf86.o
+
+OBJSYSTEM = ftsystem.o ftsystempure.o
+
+OBJDEBUG = ftdebug.o ftdebugpure.o
+
+OBJAFIT = autofit.o
+
+OBJGXV = gxvalid.o
+
+OBJOTV = otvalid.o
+
+OBJPS = psaux.o psnames.o pshinter.o
+
+OBJRASTER = raster.o smooth.o
+
+OBJSFNT = sfnt.o
+
+OBJCACHE = ftcache.o
+
+OBJFONTD = cff.o type1.o type42.o type1cid.o\
+ truetype.o winfnt.o bdf.o pcf.o pfr.o
+
+CORE = FT:src/
+
+CPU = 68000
+#CPU = 68020
+#CPU = 68030
+#CPU = 68040
+#CPU = 68060
+
+OPTIMIZER = optinlocal
+
+SCFLAGS = optimize opttime optsched strmerge data=faronly idlen=50 cpu=$(CPU)\
+ idir=include/ idir=$(CORE) idir=FT:include/ nostackcheck nochkabort\
+ noicons ignore=79,85,110,306 parameters=both define=FT2_BUILD_LIBRARY
+
+LIB = ft2_$(CPU).lib
+
+# sample linker options
+OPTS = link lib=$(LIB),lib:sc.lib,lib:amiga.lib,lib:debug.lib\
+ smallcode smalldata noicons utillib
+
+# sample program entry
+#myprog: myprog.c ftsystem.o $(LIB)
+# sc $< programname=$@ ftsystem.o $(SCFLAGS) $(OPTS)
+
+all: $(LIB) $(OBJSYSTEM) $(OBJDEBUG)
+
+assign:
+ assign FT: //
+
+# uses separate object modules in lib to make for easier debugging
+# also, can make smaller programs if entire engine is not used
+ft2_$(CPU).lib: $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o
+ oml $@ r $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o
+
+clean:
+ -delete \#?.o
+
+realclean: clean
+ -delete ft2$(CPU).lib
+
+#
+# freetype library base
+#
+ftbase.o: $(CORE)base/ftbase.c
+ sc $(SCFLAGS) objname=$@ $<
+ftinit.o: $(CORE)base/ftinit.c
+ sc $(SCFLAGS) objname=$@ $<
+ftsystem.o: $(CORE)base/ftsystem.c
+ sc $(SCFLAGS) objname=$@ $<
+ftsystempure.o: src/base/ftsystem.c ## pure version for use in run-time library etc
+ sc $(SCFLAGS) objname=$@ $<
+ftdebug.o: $(CORE)base/ftdebug.c
+ sc $(SCFLAGS) objname=$@ $<
+ftdebugpure.o: src/base/ftdebug.c ## pure version for use in run-time library etc
+ sc $(SCFLAGS) objname=$@ $<
+#
+# freetype library base extensions
+#
+ftbbox.o: $(CORE)base/ftbbox.c
+ sc $(SCFLAGS) objname=$@ $<
+ftbdf.o: $(CORE)base/ftbdf.c
+ sc $(SCFLAGS) objname=$@ $<
+ftbitmap.o: $(CORE)base/ftbitmap.c
+ sc $(SCFLAGS) objname=$@ $<
+ftcid.o: $(CORE)base/ftcid.c
+ sc $(SCFLAGS) objname=$@ $<
+ftfstype.o: $(CORE)base/ftfstype.c
+ sc $(SCFLAGS) objname=$@ $<
+ftgasp.o: $(CORE)base/ftgasp.c
+ sc $(SCFLAGS) objname=$@ $<
+ftglyph.o: $(CORE)base/ftglyph.c
+ sc $(SCFLAGS) objname=$@ $<
+ftgxval.o: $(CORE)base/ftgxval.c
+ sc $(SCFLAGS) objname=$@ $<
+ftlcdfil.o: $(CORE)base/ftlcdfil.c
+ sc $(SCFLAGS) objname=$@ $<
+ftmm.o: $(CORE)base/ftmm.c
+ sc $(SCFLAGS) objname=$@ $<
+ftotval.o: $(CORE)base/ftotval.c
+ sc $(SCFLAGS) objname=$@ $<
+ftpatent.o: $(CORE)base/ftpatent.c
+ sc $(SCFLAGS) objname=$@ $<
+ftpfr.o: $(CORE)base/ftpfr.c
+ sc $(SCFLAGS) objname=$@ $<
+ftstroke.o: $(CORE)base/ftstroke.c
+ sc $(SCFLAGS) objname=$@ $<
+ftsynth.o: $(CORE)base/ftsynth.c
+ sc $(SCFLAGS) objname=$@ $<
+fttype1.o: $(CORE)base/fttype1.c
+ sc $(SCFLAGS) objname=$@ $<
+ftwinfnt.o: $(CORE)base/ftwinfnt.c
+ sc $(SCFLAGS) objname=$@ $<
+ftxf86.o: $(CORE)base/ftxf86.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library autofitter module
+#
+autofit.o: $(CORE)autofit/autofit.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library PS hinting module
+#
+pshinter.o: $(CORE)pshinter/pshinter.c
+ sc $(SCFLAGS) objname=$@ $<
+#
+# freetype library PS support module
+#
+psaux.o: $(CORE)psaux/psaux.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library PS glyph names module
+#
+psnames.o: $(CORE)psnames/psnames.c
+ sc $(SCFLAGS) code=far objname=$@ $<
+
+#
+# freetype library monochrome raster module
+#
+raster.o: $(CORE)raster/raster.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library anti-aliasing raster module
+#
+smooth.o: $(CORE)smooth/smooth.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library 'sfnt' module
+#
+sfnt.o: $(CORE)sfnt/sfnt.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library glyph and image caching system (still experimental)
+#
+ftcache.o: $(CORE)cache/ftcache.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library OpenType font driver
+#
+cff.o: $(CORE)cff/cff.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library TrueType font driver
+#
+truetype.o: $(CORE)truetype/truetype.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library Type1 font driver
+#
+type1.o: $(CORE)type1/type1.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# FreeType2 library Type42 font driver
+#
+type42.o: $(CORE)type42/type42.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library CID-keyed Type1 font driver
+#
+type1cid.o: $(CORE)cid/type1cid.c
+ sc $(SCFLAGS) objname=$@ $<
+#
+# freetype library CID-keyed Type1 font driver extensions
+#
+#cidafm.o: $(CORE)cid/cidafm.c
+# sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library BDF bitmap font driver
+#
+bdf.o: $(CORE)bdf/bdf.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library PCF bitmap font driver
+#
+pcf.o: $(CORE)pcf/pcf.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library gzip support for compressed PCF bitmap fonts
+#
+gzip.o: $(CORE)gzip/ftgzip.c
+ sc $(SCFLAGS) define FAR objname=$@ $<
+
+#
+# freetype library compress support for compressed PCF bitmap fonts
+#
+lzw.o: $(CORE)lzw/ftlzw.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library PFR font driver
+#
+pfr.o: $(CORE)pfr/pfr.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library Windows FNT/FON bitmap font driver
+#
+winfnt.o: $(CORE)winfonts/winfnt.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library TrueTypeGX validator
+#
+gxvalid.o: $(CORE)gxvalid/gxvalid.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#
+# freetype library OpenType validator
+#
+otvalid.o: $(CORE)otvalid/otvalid.c
+ sc $(SCFLAGS) objname=$@ $<
+
+#Local Variables:
+#coding: latin-1
+#End:
diff --git a/components/external/freetype/builds/atari/FNames.SIC b/components/external/freetype/builds/atari/FNames.SIC
index 497f002188..f3657179d9 100644
--- a/components/external/freetype/builds/atari/FNames.SIC
+++ b/components/external/freetype/builds/atari/FNames.SIC
@@ -1,37 +1,37 @@
-/* the following changes file names for PureC projects */
-
-if (argc > 0)
-{
- ordner = argv[0];
- if (basename(ordner) == "") /* ist Ordner */
- {
- ChangeFilenames(ordner);
- }
-}
-
-proc ChangeFilenames(folder)
-local i,entries,directory,file;
-{
- entries = filelist(directory,folder);
- for (i = 0; i < entries; ++i)
- {
- file = directory[i,0];
- if ((directory[i,3]&16) > 0) /* subdirectory */
- {
- ChangeFilenames(folder+file+"\\");
- }
- else
- {
- if ((stricmp(suffix(file),".h")==0)|(stricmp(suffix(file),".c")==0))
- ChangeFilename(folder,file);
- }
- }
-}
-
-proc ChangeFilename(path,datei)
-local newfile,err;
-{
- newfile=datei;
- newfile[0]=(newfile[0] | 32) ^ 32;
- err=files.rename("-q",path+datei,newfile);
-}
+/* the following changes file names for PureC projects */
+
+if (argc > 0)
+{
+ ordner = argv[0];
+ if (basename(ordner) == "") /* ist Ordner */
+ {
+ ChangeFilenames(ordner);
+ }
+}
+
+proc ChangeFilenames(folder)
+local i,entries,directory,file;
+{
+ entries = filelist(directory,folder);
+ for (i = 0; i < entries; ++i)
+ {
+ file = directory[i,0];
+ if ((directory[i,3]&16) > 0) /* subdirectory */
+ {
+ ChangeFilenames(folder+file+"\\");
+ }
+ else
+ {
+ if ((stricmp(suffix(file),".h")==0)|(stricmp(suffix(file),".c")==0))
+ ChangeFilename(folder,file);
+ }
+ }
+}
+
+proc ChangeFilename(path,datei)
+local newfile,err;
+{
+ newfile=datei;
+ newfile[0]=(newfile[0] | 32) ^ 32;
+ err=files.rename("-q",path+datei,newfile);
+}
diff --git a/components/external/freetype/builds/atari/FREETYPE.PRJ b/components/external/freetype/builds/atari/FREETYPE.PRJ
index 2208a60d77..4776a5bc69 100644
--- a/components/external/freetype/builds/atari/FREETYPE.PRJ
+++ b/components/external/freetype/builds/atari/FREETYPE.PRJ
@@ -1,32 +1,32 @@
-;FreeType project file
-
-FREETYPE.LIB
-
-.C [-K -P -R -A]
-.L [-J -V]
-.S
-
-=
-
-..\..\src\base\ftsystem.c
-..\..\src\base\ftdebug.c
-
-..\..\src\base\ftinit.c
-..\..\src\base\ftglyph.c
-..\..\src\base\ftmm
-..\..\src\base\ftbbox
-
-..\..\src\base\ftbase.c
-..\..\src\autohint\autohint.c
-;..\..\src\cache\ftcache.c
-..\..\src\cff\cff.c
-..\..\src\cid\type1cid.c
-..\..\src\psaux\psaux.c
-..\..\src\pshinter\pshinter.c
-..\..\src\psnames\psnames.c
-..\..\src\raster\raster.c
-..\..\src\sfnt\sfnt.c
-..\..\src\smooth\smooth.c
-..\..\src\truetype\truetype.c
-..\..\src\type1\type1.c
-..\..\src\type42\type42.c
+;FreeType project file
+
+FREETYPE.LIB
+
+.C [-K -P -R -A]
+.L [-J -V]
+.S
+
+=
+
+..\..\src\base\ftsystem.c
+..\..\src\base\ftdebug.c
+
+..\..\src\base\ftinit.c
+..\..\src\base\ftglyph.c
+..\..\src\base\ftmm
+..\..\src\base\ftbbox
+
+..\..\src\base\ftbase.c
+..\..\src\autohint\autohint.c
+;..\..\src\cache\ftcache.c
+..\..\src\cff\cff.c
+..\..\src\cid\type1cid.c
+..\..\src\psaux\psaux.c
+..\..\src\pshinter\pshinter.c
+..\..\src\psnames\psnames.c
+..\..\src\raster\raster.c
+..\..\src\sfnt\sfnt.c
+..\..\src\smooth\smooth.c
+..\..\src\truetype\truetype.c
+..\..\src\type1\type1.c
+..\..\src\type42\type42.c
diff --git a/components/external/freetype/builds/atari/deflinejoiner.awk b/components/external/freetype/builds/atari/deflinejoiner.awk
index 9f3167ce5e..c872a70d86 100644
--- a/components/external/freetype/builds/atari/deflinejoiner.awk
+++ b/components/external/freetype/builds/atari/deflinejoiner.awk
@@ -1,181 +1,181 @@
-#!/usr/bin/env awk
-
-
-function shift( array, \
- junk, elm0, l )
-{
- elm0 = array[0]
- for ( l = 0; l < asorti( array, junk ) - 1; l++ )
- array[l] = array[l+1];
- delete array[l]
- return elm0
-}
-
-
-function init_cpp_src_line()
-{
- logical_line = ""
- delete break_pos
-}
-
-
-function shift_valid_bp( array, \
- junk, elm )
-{
- elm = -1
-
- if ( 0 < asorti( array, junk ) )
- do {
- elm = shift( array )
- } while ( 0 > elm );
-
- return elm
-}
-
-
-function check_cpp_src_line_break_pos( \
- i, junk )
-{
- printf( "break_pos:" )
- for ( i = 0; i < asorti( break_pos, junk ); i++ )
- printf( " %d", break_pos[i] );
- printf( "\n" )
-}
-
-
-function check_cpp_src_line()
-{
- printf( "logical_line[%s]\n", logical_line )
- check_cpp_src_line_break_pos()
-}
-
-
-function append_line( phys_line, \
- filt_line, bp_len )
-{
- filt_line = phys_line
- sub( /\\$/, " ", filt_line )
- logical_line = logical_line filt_line
- bp_len = asorti( break_pos, junk )
- break_pos[bp_len] = length( logical_line ) - 1
-}
-
-
-function print_line( \
- c0, c1, i, junk, part_str )
-{
- c0 = 0
-
- while( asorti( break_pos, junk ) > 1 )
- {
- if ( ( c1 = shift_valid_bp( break_pos ) ) < 1 )
- {
- part_str = substr( logical_line, c0 + 1 )
- printf( "%s\n", part_str )
- return
- }
-
- part_str = substr( logical_line, c0 + 1, c1 - c0 + 1 )
- gsub( / $/, "\\", part_str )
- printf( "%s\n", part_str )
- c0 = c1 + 1
- }
-
- part_str = substr( logical_line, c0 + 1 )
- printf( "%s\n", part_str )
-}
-
-
-function shrink_spaces( pos, \
- tail, removed_length, k )
-{
- tail = substr( logical_line, pos )
- sub( /^[ \t]+/, " ", tail )
- removed_length = length( logical_line ) - pos - length( tail ) + 1
- logical_line = substr( logical_line, 0, pos - 1 ) tail
-
-
- for ( k = 0; k < asorti( break_pos, junk ); k++ )
- if ( ( pos + removed_length ) <= break_pos[k] )
- break_pos[k] = break_pos[k] - removed_length;
- else if ( pos <= break_pos[k] )
- break_pos[k] = -1;
-
- return removed_length
-}
-
-
-function shrink_spaces_to_linebreak( pos, \
- junk, part_str, removed_length, i )
-{
- for ( i = 0; i < asorti( break_pos, junk ) && break_pos[i] < pos ; i++ )
- ;
-
- if ( break_pos[i] < 1 )
- return;
-
- part_str = substr( logical_line, pos, break_pos[i] - pos + 1 )
- sub( /^[ \t]+/, " ", part_str )
- removed_length = ( break_pos[i] - pos + 1 ) - length( part_str )
-
- tail = substr( logical_line, pos + removed_length )
- logical_line = substr( logical_line, 0, pos - 1 ) tail
-
- for ( ; i < asorti( break_pos, junk ); i++ )
- break_pos[i] -= removed_length;
-
- return removed_length
-}
-
-
-function delete_linebreaks_in_2nd_token( \
- tail, paren_depth, junk, i, j, k, l )
-{
- if ( logical_line ~ /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+\(/ )
- {
- tail = logical_line
- sub( /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+/, "", tail )
-
- paren_depth = 0
- l = 0
- i = length( logical_line ) - length( tail ) + 1 # seek to the 1st op paren
- j = i
- do {
- if ( substr( logical_line, j, 2 ) ~ /[ \t][ \t]/ )
- l = shrink_spaces( j );
- else if ( substr( logical_line, j, 1 ) == "(" )
- paren_depth += 1;
- else if ( substr( logical_line, j, 1 ) == ")" )
- paren_depth -= 1;
- j += 1
- } while ( j < length( logical_line ) && paren_depth != 0 )
-
- for ( k = 0; k < asorti( break_pos, junk ); k++ )
- if ( i <= break_pos[k] && break_pos[k] < j )
- break_pos[k] = -1;
-
- if ( l > 0 )
- shrink_spaces_to_linebreak( j );
- }
-}
-
-
-BEGIN{
- init_cpp_src_line()
-}
-{
- append_line( $0 )
- if ( $0 !~ /\\$/ )
- {
- delete_linebreaks_in_2nd_token()
- print_line()
- init_cpp_src_line()
- }
-}
-END{
- if ( 0 < length( logical_line ) )
- {
- delete_linebreaks_in_2nd_token()
- print_line()
- }
-}
+#!/usr/bin/env awk
+
+
+function shift( array, \
+ junk, elm0, l )
+{
+ elm0 = array[0]
+ for ( l = 0; l < asorti( array, junk ) - 1; l++ )
+ array[l] = array[l+1];
+ delete array[l]
+ return elm0
+}
+
+
+function init_cpp_src_line()
+{
+ logical_line = ""
+ delete break_pos
+}
+
+
+function shift_valid_bp( array, \
+ junk, elm )
+{
+ elm = -1
+
+ if ( 0 < asorti( array, junk ) )
+ do {
+ elm = shift( array )
+ } while ( 0 > elm );
+
+ return elm
+}
+
+
+function check_cpp_src_line_break_pos( \
+ i, junk )
+{
+ printf( "break_pos:" )
+ for ( i = 0; i < asorti( break_pos, junk ); i++ )
+ printf( " %d", break_pos[i] );
+ printf( "\n" )
+}
+
+
+function check_cpp_src_line()
+{
+ printf( "logical_line[%s]\n", logical_line )
+ check_cpp_src_line_break_pos()
+}
+
+
+function append_line( phys_line, \
+ filt_line, bp_len )
+{
+ filt_line = phys_line
+ sub( /\\$/, " ", filt_line )
+ logical_line = logical_line filt_line
+ bp_len = asorti( break_pos, junk )
+ break_pos[bp_len] = length( logical_line ) - 1
+}
+
+
+function print_line( \
+ c0, c1, i, junk, part_str )
+{
+ c0 = 0
+
+ while( asorti( break_pos, junk ) > 1 )
+ {
+ if ( ( c1 = shift_valid_bp( break_pos ) ) < 1 )
+ {
+ part_str = substr( logical_line, c0 + 1 )
+ printf( "%s\n", part_str )
+ return
+ }
+
+ part_str = substr( logical_line, c0 + 1, c1 - c0 + 1 )
+ gsub( / $/, "\\", part_str )
+ printf( "%s\n", part_str )
+ c0 = c1 + 1
+ }
+
+ part_str = substr( logical_line, c0 + 1 )
+ printf( "%s\n", part_str )
+}
+
+
+function shrink_spaces( pos, \
+ tail, removed_length, k )
+{
+ tail = substr( logical_line, pos )
+ sub( /^[ \t]+/, " ", tail )
+ removed_length = length( logical_line ) - pos - length( tail ) + 1
+ logical_line = substr( logical_line, 0, pos - 1 ) tail
+
+
+ for ( k = 0; k < asorti( break_pos, junk ); k++ )
+ if ( ( pos + removed_length ) <= break_pos[k] )
+ break_pos[k] = break_pos[k] - removed_length;
+ else if ( pos <= break_pos[k] )
+ break_pos[k] = -1;
+
+ return removed_length
+}
+
+
+function shrink_spaces_to_linebreak( pos, \
+ junk, part_str, removed_length, i )
+{
+ for ( i = 0; i < asorti( break_pos, junk ) && break_pos[i] < pos ; i++ )
+ ;
+
+ if ( break_pos[i] < 1 )
+ return;
+
+ part_str = substr( logical_line, pos, break_pos[i] - pos + 1 )
+ sub( /^[ \t]+/, " ", part_str )
+ removed_length = ( break_pos[i] - pos + 1 ) - length( part_str )
+
+ tail = substr( logical_line, pos + removed_length )
+ logical_line = substr( logical_line, 0, pos - 1 ) tail
+
+ for ( ; i < asorti( break_pos, junk ); i++ )
+ break_pos[i] -= removed_length;
+
+ return removed_length
+}
+
+
+function delete_linebreaks_in_2nd_token( \
+ tail, paren_depth, junk, i, j, k, l )
+{
+ if ( logical_line ~ /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+\(/ )
+ {
+ tail = logical_line
+ sub( /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+/, "", tail )
+
+ paren_depth = 0
+ l = 0
+ i = length( logical_line ) - length( tail ) + 1 # seek to the 1st op paren
+ j = i
+ do {
+ if ( substr( logical_line, j, 2 ) ~ /[ \t][ \t]/ )
+ l = shrink_spaces( j );
+ else if ( substr( logical_line, j, 1 ) == "(" )
+ paren_depth += 1;
+ else if ( substr( logical_line, j, 1 ) == ")" )
+ paren_depth -= 1;
+ j += 1
+ } while ( j < length( logical_line ) && paren_depth != 0 )
+
+ for ( k = 0; k < asorti( break_pos, junk ); k++ )
+ if ( i <= break_pos[k] && break_pos[k] < j )
+ break_pos[k] = -1;
+
+ if ( l > 0 )
+ shrink_spaces_to_linebreak( j );
+ }
+}
+
+
+BEGIN{
+ init_cpp_src_line()
+}
+{
+ append_line( $0 )
+ if ( $0 !~ /\\$/ )
+ {
+ delete_linebreaks_in_2nd_token()
+ print_line()
+ init_cpp_src_line()
+ }
+}
+END{
+ if ( 0 < length( logical_line ) )
+ {
+ delete_linebreaks_in_2nd_token()
+ print_line()
+ }
+}
diff --git a/components/external/freetype/builds/mac/README b/components/external/freetype/builds/mac/README
index fdbfe2a1e2..bd3df8ada4 100644
--- a/components/external/freetype/builds/mac/README
+++ b/components/external/freetype/builds/mac/README
@@ -1,403 +1,403 @@
-This folder contains
-
- * Makefile skeltons for Apple MPW (Macintosh's Programmers Workshop)
-
- * Python script to generate MPW makefile from skelton
-
- * Metrowerks CodeWarrior 9.0 project file in XML format
-
-------------------------------------------------------------
-
-1. What is this
----------------
-
-Files in this directory are designed to build FreeType
-running on classic MacOS. To build FreeType running on
-Mac OS X, build as the system is UNIX.
-
-However, Mac OS X is most useful to manipulate files in
-vanilla FreeType to fit classic MacOS.
-
-The information about MacOS specific API is written in
-appendix of this document.
-
-2. Requirement
---------------
-
-You can use MPW: a free-charged developer environment
-by Apple, or CodeWarrior: a commercial developer
-environment by Metrowerks. GCC for MPW and Symantec
-"Think C" are not tested at present.
-
-
- 2-1. Apple MPW
- --------------
-
- Following C compilers are tested:
-
- m68k target: Apple SC 8.9.0d3e1
- ppc target: Apple MrC 5.0.0d3c1
-
- The final MPW-GM (official release on 1999/Dec) is too
- old and cannot compile FreeType, because bundled C
- compilers cannot search header files in sub directories.
- Updating by the final MPW-PR (pre-release on 2001/Feb)
- is required.
-
- Required files are downloadable from:
-
- http://developer.apple.com/tools/mpw-tools/index.html
-
- Also you can find documents how to update by MPW-PR.
-
- Python is required to restore MPW makefiles from the
- skeltons. Python bundled to Mac OS X is enough. For
- classic MacOS, MacPython is available:
-
- http://homepages.cwi.nl/~jack/macpython/
-
- MPW requires all files are typed by resource fork.
- ResEdit bundled to MPW is enough. In Mac OS X,
- /Developer/Tools/SetFile of DevTool is useful to
- manipulate from commandline.
-
- 2-2. Metrowerks CodeWarrior
- ---------------------------
-
- XML project file is generated and tested by
- CodeWarrior 9.0. Older versions are not tested
- at all. At present, static library for ppc target
- is available in the project file.
-
-
-3. How to build
----------------
-
- 3-1. Apple MPW
- --------------
- Detailed building procedure by Apple MPW is
- described in following.
-
- 3-1-1. Generate MPW makefiles from the skeltons
- ------------------------------------------------
-
- Here are 4 skeltons for following targets are
- included.
-
- - FreeType.m68k_far.make.txt
- Ancient 32bit binary executable format for
- m68k MacOS: System 6, with 32bit addressing
- mode (far-pointer-model) So-called "Toolbox"
- API is used.
-
- - FreeType.m68k_cfm.make.txt
- CFM binary executable format for m68k MacOS:
- System 7. So-called "Toolbox" API is used.
-
- - FreeType.ppc_classic.make.txt
- CFM binary executable format for ppc MacOS:
- System 7, MacOS 8, MacOS 9. So-called "Toolbox"
- API is used.
-
- - FreeType.ppc_carbon.make.txt
- CFM binary executable format for ppc MacOS:
- MacOS 9. Carbon API is used.
-
- At present, static library is only supported,
- although targets except of m68k_far are capable
- to use shared library.
-
- MPW makefile syntax uses 8bit characters. To keep
- from violating them during version control, here
- we store skeltons in pure ASCII format. You must
- generate MPW makefile by Python script ascii2mpw.py.
-
- In Mac OS X terminal, you can convert as:
-
- python builds/mac/ascii2mpw.py \
- < builds/mac/FreeType.m68k_far.make.txt \
- > FreeType.m68k_far.make
-
- The skeltons are designed to use in the top
- directory where there are builds, include, src etc.
- You must name the generated MPW makefile by removing
- ".txt" from source skelton name.
-
- 3-1-2. Add resource forks to related files
- ------------------------------------------
-
- MPW's Make and C compilers cannot recognize files
- without resource fork. You have to add resource
- fork to the files that MPW uses. In Mac OS X
- terminal of the system, you can do as:
-
- find . -name '*.[ch]' -exec \
- /Developer/Tools/SetFile -a l -c "MPS " -t TEXT \{\} \;
-
- find . -name '*.make' -exec \
- /Developer/Tools/SetFile -a l -c "MPS " -t TEXT \{\} \;
-
-
- 3-1-3. Open MPW shell and build
- -------------------------------
-
- Open MPW shell and go to the top directory that
- FreeType sources are extracted (MPW makefile must
- be located in there), from "Set Directory" in
- "Directory" menu.
-
- Choose "Build" from "Build" menu, and type the
- name of project by removing ".make" from MPW
- makefile, as: FreeType.m68k_far
-
- If building is successfully finished, you can find
- built library in objs/ directory.
-
-
- 3-2. Metrowerks CodeWarrior
- ---------------------------
-
- Detailed building procedure by Metrowerks
- CodeWarrior (CW) 9.0 is described in following.
-
- 3-2-1. Import XML project file
- ------------------------------
-
- CW XML project file is not ready for double-
- click. Start CodeWarrior IDE, and choose
- "Import project" in "File" menu. Choose XML
- project file: builds/mac/ftlib.prj.xml.
- In next, you will be asked where to save CW
- native project file: you must choose
- "builds/mac/ftlib.prj". The project file is
- designed with relative path from there. After
- CW native project file is generated, it is
- automatically loaded, small project window
- titled "ftlib.prj" is displayed.
-
- 3-2-2. Building
- ---------------
- Choose "Make" from "Project" menu. If building
- is successfully finished, you can find built
- library at objs/FreeTypeLib.
-
-4. TODO
--------
-
- 4-1. All modules should be included
- -----------------------------------
-
- At present, MPW makefiles and CW project file are
- just updated versions of these by Leonard. Some
- modules are added after the last maintenance, they
- are not included.
-
- 4-2. Working test with ftdemos
- ------------------------------
-
- At present, MPW makefiles and CW project file can
- build FreeType for classic MacOS. But their working
- behaviours are not tested at all. Building ftdemos
- for classic MacOS and working test is required.
-
- 4-3. Porting Jam onto MPW
- -------------------------
-
- FreeType uses Jam (and FT-Jam) for unified cross-
- platform building tool. At present, Jam is not ported
- to MPW. To update classic MacOS support easily,
- building by Jam is expected on MPW.
-
-
-APPENDIX I
-----------
-
- A-1. Framework dependencies
- ---------------------------
-
- src/base/ftmac.c adds two Mac-specific features to
- FreeType. These features are based on MacOS libraries.
-
- * accessing resource-fork font
- The fonts for classic MacOS store their graphical data
- in resource forks which cannot be accessed via ANSI C
- functions. FreeType2 provides functions to handle such
- resource fork fonts, they are based on File Manager
- framework of MacOS. In addition, HFS and HFS+ file
- system driver of Linux is supported. Following
- functions are for this purpose.
-
- FT_New_Face_From_Resource()
- FT_New_Face_From_FSSpec()
- FT_New_Face_From_FSRef()
-
- * resolving font name to font file
- The font menu of MacOS application prefers font name
- written in FOND resource than sfnt resource. FreeType2
- provides functions to find font file by name in MacOS
- application, they are based on QuickDraw Font Manager
- and Apple Type Service framework of MacOS.
-
- FT_GetFile_From_Mac_Name()
- FT_GetFile_From_Mac_ATS_Name()
-
- Working functions for each MacOS are summarized as
- following.
-
- upto MacOS 6:
- not tested (you have to obtain MPW 2.x)
-
- MacOS 7.x, 8.x, 9.x (without CarbonLib):
- FT_GetFile_From_Mac_Name()
- FT_New_Face_From_Resource()
- FT_New_Face_From_FSSpec()
-
- MacOS 9.x (with CarbonLib):
- FT_GetFile_From_Mac_Name()
- FT_New_Face_From_Resource()
- FT_New_Face_From_FSSpec()
- FT_New_Face_From_FSRef()
-
- Mac OS X upto 10.4.x:
- FT_GetFile_From_Mac_Name() deprecated
- FT_New_Face_From_FSSpec() deprecated
- FT_GetFile_From_Mac_ATS_Name() deprecated?
- FT_New_Face_From_FSRef()
-
- A-2. Deprecated Functions
- -------------------------
-
- A-2-1. FileManager
- ------------------
-
- For convenience to write MacOS application, ftmac.c
- provides functions to specify a file by FSSpec and FSRef,
- because the file identification pathname had ever been
- unrecommended method in MacOS programming.
-
- Toward to MacOS X 10.4 & 5, Carbon functions using FSSpec
- datatype is noticed as deprecated, and recommended to
- migrate to FSRef datatype. The big differences of FSRef
- against FSSpec are explained in Apple TechNotes 2078.
-
- http://developer.apple.com/technotes/tn2002/tn2078.html
-
- - filename length: the max length of file
- name of FSRef is 255 chars (it is limit of HFS+),
- that of FSSpec is 31 chars (it is limit of HFS).
-
- - filename encoding: FSSpec is localized by
- legacy encoding for each language system,
- FSRef is Unicode enabled.
-
- A-2-2. FontManager
- ------------------
-
- Following functions receive QuickDraw fontname:
-
- FT_GetFile_From_Mac_Name()
-
- QuickDraw is deprecated and replaced by Quartz
- since Mac OS X 10.4. They are still kept for
- backward compatibility. By undefinition of
- HAVE_QUICKDRAW in building, you can change these
- functions to return FT_Err_Unimplemented always.
-
- Replacement functions are added for migration.
-
- FT_GetFile_From_Mac_ATS_Name()
-
- They are usable on Mac OS X only. On older systems,
- these functions return FT_Err_Unimplemented always.
-
- The detailed incompatibilities and possibility
- of FontManager emulation without QuickDraw is
- explained in
-
- http://www.gyve.org/~mpsuzuki/ats_benchmark.html
-
- A-3. Framework Availabilities
- -----------------------------
-
- The framework of MacOS are often revised, especially
- when new format of binary executable is introduced.
- Following table is the minimum version of frameworks
- to use functions used in FreeType2. The table is
- extracted from MPW header files for assembly language.
-
- *** NOTE ***
- The conditional definition of available data type
- in MPW compiler is insufficient. You can compile
- program using FSRef data type for older systems
- (MacOS 7, 8) that don't know FSRef data type.
-
-
- +-------------------+-----------------------------+
- CPU | mc680x0 | PowerPC |
- +---------+---------+---------+---------+---------+
- Binary Executable Format | Classic | 68K-CFM | CFM | CFM | Mach-O |
- +---------+---------+---------+---------+---------+
- Framework API | Toolbox | Toolbox | Toolbox | Carbon | Carbon |
- +---------+---------+---------+---------+---------+
-
- +---------+---------+---------+---------+---------+
- | ?(*) |Interface|Interface|CarbonLib|Mac OS X |
- | |Lib |Lib | | |
-* Files.h +---------+---------+---------+---------+---------+
-PBGetFCBInfoSync() | o | 7.1- | 7.1- | 1.0- | o |
-FSMakeFSSpec() | o | 7.1- | 7.1- | 1.0- | o |
-FSGetForkCBInfo() | o | (**) | 9.0- | 1.0- | o |
-FSpMakeFSRef() | o | (**) | 9.0- | 1.0- | o |
-FSGetCatalogInfo() | o | (**) | 9.0- | 1.0- | -10.3 |
-FSPathMakeRef() | x | x | x | 1.1- | -10.3 |
- +---------+---------+---------+---------+---------+
-
- +---------+---------+---------+---------+---------+
- | ?(*) |Font |Font |CarbonLib|Mac OS X |
- | |Manager |Manager | | |
-* Fonts.h +---------+---------+---------+---------+---------+
-FMCreateFontFamilyIterator() | x | x | 9.0- | 1.0- | -10.3 |
-FMDisposeFontFamilyIterator() | x | x | 9.0- | 1.0- | -10.3 |
-FMGetNextFontFamily() | x | x | 9.0- | 1.0- | -10.3 |
-FMGetFontFamilyName() | x | x | 9.0- | 1.0- | -10.3 |
-FMCreateFontFamilyInstanceIterator() | x | x | 9.0- | 1.0- | -10.3 |
-FMDisposeFontFamilyInstanceIterator() | x | x | 9.0- | 1.0- | -10.3 |
-FMGetNextFontFamilyInstance() | x | x | 9.0- | 1.0- | -10.3 |
- +---------+---------+---------+---------+---------+
-
- +---------+---------+---------+---------+---------+
- | - | - | - |CarbonLib|Mac OS X |
-* ATSFont.h (***) +---------+---------+---------+---------+---------+
-ATSFontFindFromName() | x | x | x | x | o |
-ATSFontGetFileSpecification() | x | x | x | x | o |
- +---------+---------+---------+---------+---------+
-
- (*)
- In the "Classic": the original binary executable
- format, these framework functions are directly
- transformed to MacOS system call. Therefore, the
- exact availability should be checked by running
- system.
-
- (**)
- InterfaceLib is bundled to MacOS and its version
- is usually equal to MacOS. There's no separate
- update for InterfaceLib. It is supposed that
- there's no InterfaceLib 9.x for m68k platforms.
- In fact, these functions are FSRef dependent.
-
- (***)
- ATSUI framework is available on ATSUnicode 8.5 on
- ppc Toolbox CFM, CarbonLib 1.0 too. But its base:
- ATS font manager is not published in these versions.
-
-------------------------------------------------------------
-Last update: 2009-Jul-25.
-
-Currently maintained by
- suzuki toshiya, <[email protected]>
-Originally prepared by
- Leonard Rosenthol, <[email protected]>
- Just van Rossum, <[email protected]>
-
-This directory is now actively maintained as part of the FreeType Project.
+This folder contains
+
+ * Makefile skeltons for Apple MPW (Macintosh's Programmers Workshop)
+
+ * Python script to generate MPW makefile from skelton
+
+ * Metrowerks CodeWarrior 9.0 project file in XML format
+
+------------------------------------------------------------
+
+1. What is this
+---------------
+
+Files in this directory are designed to build FreeType
+running on classic MacOS. To build FreeType running on
+Mac OS X, build as the system is UNIX.
+
+However, Mac OS X is most useful to manipulate files in
+vanilla FreeType to fit classic MacOS.
+
+The information about MacOS specific API is written in
+appendix of this document.
+
+2. Requirement
+--------------
+
+You can use MPW: a free-charged developer environment
+by Apple, or CodeWarrior: a commercial developer
+environment by Metrowerks. GCC for MPW and Symantec
+"Think C" are not tested at present.
+
+
+ 2-1. Apple MPW
+ --------------
+
+ Following C compilers are tested:
+
+ m68k target: Apple SC 8.9.0d3e1
+ ppc target: Apple MrC 5.0.0d3c1
+
+ The final MPW-GM (official release on 1999/Dec) is too
+ old and cannot compile FreeType, because bundled C
+ compilers cannot search header files in sub directories.
+ Updating by the final MPW-PR (pre-release on 2001/Feb)
+ is required.
+
+ Required files are downloadable from:
+
+ http://developer.apple.com/tools/mpw-tools/index.html
+
+ Also you can find documents how to update by MPW-PR.
+
+ Python is required to restore MPW makefiles from the
+ skeltons. Python bundled to Mac OS X is enough. For
+ classic MacOS, MacPython is available:
+
+ http://homepages.cwi.nl/~jack/macpython/
+
+ MPW requires all files are typed by resource fork.
+ ResEdit bundled to MPW is enough. In Mac OS X,
+ /Developer/Tools/SetFile of DevTool is useful to
+ manipulate from commandline.
+
+ 2-2. Metrowerks CodeWarrior
+ ---------------------------
+
+ XML project file is generated and tested by
+ CodeWarrior 9.0. Older versions are not tested
+ at all. At present, static library for ppc target
+ is available in the project file.
+
+
+3. How to build
+---------------
+
+ 3-1. Apple MPW
+ --------------
+ Detailed building procedure by Apple MPW is
+ described in following.
+
+ 3-1-1. Generate MPW makefiles from the skeltons
+ ------------------------------------------------
+
+ Here are 4 skeltons for following targets are
+ included.
+
+ - FreeType.m68k_far.make.txt
+ Ancient 32bit binary executable format for
+ m68k MacOS: System 6, with 32bit addressing
+ mode (far-pointer-model) So-called "Toolbox"
+ API is used.
+
+ - FreeType.m68k_cfm.make.txt
+ CFM binary executable format for m68k MacOS:
+ System 7. So-called "Toolbox" API is used.
+
+ - FreeType.ppc_classic.make.txt
+ CFM binary executable format for ppc MacOS:
+ System 7, MacOS 8, MacOS 9. So-called "Toolbox"
+ API is used.
+
+ - FreeType.ppc_carbon.make.txt
+ CFM binary executable format for ppc MacOS:
+ MacOS 9. Carbon API is used.
+
+ At present, static library is only supported,
+ although targets except of m68k_far are capable
+ to use shared library.
+
+ MPW makefile syntax uses 8bit characters. To keep
+ from violating them during version control, here
+ we store skeltons in pure ASCII format. You must
+ generate MPW makefile by Python script ascii2mpw.py.
+
+ In Mac OS X terminal, you can convert as:
+
+ python builds/mac/ascii2mpw.py \
+ < builds/mac/FreeType.m68k_far.make.txt \
+ > FreeType.m68k_far.make
+
+ The skeltons are designed to use in the top
+ directory where there are builds, include, src etc.
+ You must name the generated MPW makefile by removing
+ ".txt" from source skelton name.
+
+ 3-1-2. Add resource forks to related files
+ ------------------------------------------
+
+ MPW's Make and C compilers cannot recognize files
+ without resource fork. You have to add resource
+ fork to the files that MPW uses. In Mac OS X
+ terminal of the system, you can do as:
+
+ find . -name '*.[ch]' -exec \
+ /Developer/Tools/SetFile -a l -c "MPS " -t TEXT \{\} \;
+
+ find . -name '*.make' -exec \
+ /Developer/Tools/SetFile -a l -c "MPS " -t TEXT \{\} \;
+
+
+ 3-1-3. Open MPW shell and build
+ -------------------------------
+
+ Open MPW shell and go to the top directory that
+ FreeType sources are extracted (MPW makefile must
+ be located in there), from "Set Directory" in
+ "Directory" menu.
+
+ Choose "Build" from "Build" menu, and type the
+ name of project by removing ".make" from MPW
+ makefile, as: FreeType.m68k_far
+
+ If building is successfully finished, you can find
+ built library in objs/ directory.
+
+
+ 3-2. Metrowerks CodeWarrior
+ ---------------------------
+
+ Detailed building procedure by Metrowerks
+ CodeWarrior (CW) 9.0 is described in following.
+
+ 3-2-1. Import XML project file
+ ------------------------------
+
+ CW XML project file is not ready for double-
+ click. Start CodeWarrior IDE, and choose
+ "Import project" in "File" menu. Choose XML
+ project file: builds/mac/ftlib.prj.xml.
+ In next, you will be asked where to save CW
+ native project file: you must choose
+ "builds/mac/ftlib.prj". The project file is
+ designed with relative path from there. After
+ CW native project file is generated, it is
+ automatically loaded, small project window
+ titled "ftlib.prj" is displayed.
+
+ 3-2-2. Building
+ ---------------
+ Choose "Make" from "Project" menu. If building
+ is successfully finished, you can find built
+ library at objs/FreeTypeLib.
+
+4. TODO
+-------
+
+ 4-1. All modules should be included
+ -----------------------------------
+
+ At present, MPW makefiles and CW project file are
+ just updated versions of these by Leonard. Some
+ modules are added after the last maintenance, they
+ are not included.
+
+ 4-2. Working test with ftdemos
+ ------------------------------
+
+ At present, MPW makefiles and CW project file can
+ build FreeType for classic MacOS. But their working
+ behaviours are not tested at all. Building ftdemos
+ for classic MacOS and working test is required.
+
+ 4-3. Porting Jam onto MPW
+ -------------------------
+
+ FreeType uses Jam (and FT-Jam) for unified cross-
+ platform building tool. At present, Jam is not ported
+ to MPW. To update classic MacOS support easily,
+ building by Jam is expected on MPW.
+
+
+APPENDIX I
+----------
+
+ A-1. Framework dependencies
+ ---------------------------
+
+ src/base/ftmac.c adds two Mac-specific features to
+ FreeType. These features are based on MacOS libraries.
+
+ * accessing resource-fork font
+ The fonts for classic MacOS store their graphical data
+ in resource forks which cannot be accessed via ANSI C
+ functions. FreeType2 provides functions to handle such
+ resource fork fonts, they are based on File Manager
+ framework of MacOS. In addition, HFS and HFS+ file
+ system driver of Linux is supported. Following
+ functions are for this purpose.
+
+ FT_New_Face_From_Resource()
+ FT_New_Face_From_FSSpec()
+ FT_New_Face_From_FSRef()
+
+ * resolving font name to font file
+ The font menu of MacOS application prefers font name
+ written in FOND resource than sfnt resource. FreeType2
+ provides functions to find font file by name in MacOS
+ application, they are based on QuickDraw Font Manager
+ and Apple Type Service framework of MacOS.
+
+ FT_GetFile_From_Mac_Name()
+ FT_GetFile_From_Mac_ATS_Name()
+
+ Working functions for each MacOS are summarized as
+ following.
+
+ upto MacOS 6:
+ not tested (you have to obtain MPW 2.x)
+
+ MacOS 7.x, 8.x, 9.x (without CarbonLib):
+ FT_GetFile_From_Mac_Name()
+ FT_New_Face_From_Resource()
+ FT_New_Face_From_FSSpec()
+
+ MacOS 9.x (with CarbonLib):
+ FT_GetFile_From_Mac_Name()
+ FT_New_Face_From_Resource()
+ FT_New_Face_From_FSSpec()
+ FT_New_Face_From_FSRef()
+
+ Mac OS X upto 10.4.x:
+ FT_GetFile_From_Mac_Name() deprecated
+ FT_New_Face_From_FSSpec() deprecated
+ FT_GetFile_From_Mac_ATS_Name() deprecated?
+ FT_New_Face_From_FSRef()
+
+ A-2. Deprecated Functions
+ -------------------------
+
+ A-2-1. FileManager
+ ------------------
+
+ For convenience to write MacOS application, ftmac.c
+ provides functions to specify a file by FSSpec and FSRef,
+ because the file identification pathname had ever been
+ unrecommended method in MacOS programming.
+
+ Toward to MacOS X 10.4 & 5, Carbon functions using FSSpec
+ datatype is noticed as deprecated, and recommended to
+ migrate to FSRef datatype. The big differences of FSRef
+ against FSSpec are explained in Apple TechNotes 2078.
+
+ http://developer.apple.com/technotes/tn2002/tn2078.html
+
+ - filename length: the max length of file
+ name of FSRef is 255 chars (it is limit of HFS+),
+ that of FSSpec is 31 chars (it is limit of HFS).
+
+ - filename encoding: FSSpec is localized by
+ legacy encoding for each language system,
+ FSRef is Unicode enabled.
+
+ A-2-2. FontManager
+ ------------------
+
+ Following functions receive QuickDraw fontname:
+
+ FT_GetFile_From_Mac_Name()
+
+ QuickDraw is deprecated and replaced by Quartz
+ since Mac OS X 10.4. They are still kept for
+ backward compatibility. By undefinition of
+ HAVE_QUICKDRAW in building, you can change these
+ functions to return FT_Err_Unimplemented always.
+
+ Replacement functions are added for migration.
+
+ FT_GetFile_From_Mac_ATS_Name()
+
+ They are usable on Mac OS X only. On older systems,
+ these functions return FT_Err_Unimplemented always.
+
+ The detailed incompatibilities and possibility
+ of FontManager emulation without QuickDraw is
+ explained in
+
+ http://www.gyve.org/~mpsuzuki/ats_benchmark.html
+
+ A-3. Framework Availabilities
+ -----------------------------
+
+ The framework of MacOS are often revised, especially
+ when new format of binary executable is introduced.
+ Following table is the minimum version of frameworks
+ to use functions used in FreeType2. The table is
+ extracted from MPW header files for assembly language.
+
+ *** NOTE ***
+ The conditional definition of available data type
+ in MPW compiler is insufficient. You can compile
+ program using FSRef data type for older systems
+ (MacOS 7, 8) that don't know FSRef data type.
+
+
+ +-------------------+-----------------------------+
+ CPU | mc680x0 | PowerPC |
+ +---------+---------+---------+---------+---------+
+ Binary Executable Format | Classic | 68K-CFM | CFM | CFM | Mach-O |
+ +---------+---------+---------+---------+---------+
+ Framework API | Toolbox | Toolbox | Toolbox | Carbon | Carbon |
+ +---------+---------+---------+---------+---------+
+
+ +---------+---------+---------+---------+---------+
+ | ?(*) |Interface|Interface|CarbonLib|Mac OS X |
+ | |Lib |Lib | | |
+* Files.h +---------+---------+---------+---------+---------+
+PBGetFCBInfoSync() | o | 7.1- | 7.1- | 1.0- | o |
+FSMakeFSSpec() | o | 7.1- | 7.1- | 1.0- | o |
+FSGetForkCBInfo() | o | (**) | 9.0- | 1.0- | o |
+FSpMakeFSRef() | o | (**) | 9.0- | 1.0- | o |
+FSGetCatalogInfo() | o | (**) | 9.0- | 1.0- | -10.3 |
+FSPathMakeRef() | x | x | x | 1.1- | -10.3 |
+ +---------+---------+---------+---------+---------+
+
+ +---------+---------+---------+---------+---------+
+ | ?(*) |Font |Font |CarbonLib|Mac OS X |
+ | |Manager |Manager | | |
+* Fonts.h +---------+---------+---------+---------+---------+
+FMCreateFontFamilyIterator() | x | x | 9.0- | 1.0- | -10.3 |
+FMDisposeFontFamilyIterator() | x | x | 9.0- | 1.0- | -10.3 |
+FMGetNextFontFamily() | x | x | 9.0- | 1.0- | -10.3 |
+FMGetFontFamilyName() | x | x | 9.0- | 1.0- | -10.3 |
+FMCreateFontFamilyInstanceIterator() | x | x | 9.0- | 1.0- | -10.3 |
+FMDisposeFontFamilyInstanceIterator() | x | x | 9.0- | 1.0- | -10.3 |
+FMGetNextFontFamilyInstance() | x | x | 9.0- | 1.0- | -10.3 |
+ +---------+---------+---------+---------+---------+
+
+ +---------+---------+---------+---------+---------+
+ | - | - | - |CarbonLib|Mac OS X |
+* ATSFont.h (***) +---------+---------+---------+---------+---------+
+ATSFontFindFromName() | x | x | x | x | o |
+ATSFontGetFileSpecification() | x | x | x | x | o |
+ +---------+---------+---------+---------+---------+
+
+ (*)
+ In the "Classic": the original binary executable
+ format, these framework functions are directly
+ transformed to MacOS system call. Therefore, the
+ exact availability should be checked by running
+ system.
+
+ (**)
+ InterfaceLib is bundled to MacOS and its version
+ is usually equal to MacOS. There's no separate
+ update for InterfaceLib. It is supposed that
+ there's no InterfaceLib 9.x for m68k platforms.
+ In fact, these functions are FSRef dependent.
+
+ (***)
+ ATSUI framework is available on ATSUnicode 8.5 on
+ ppc Toolbox CFM, CarbonLib 1.0 too. But its base:
+ ATS font manager is not published in these versions.
+
+------------------------------------------------------------
+Last update: 2009-Jul-25.
+
+Currently maintained by
+ suzuki toshiya, <[email protected]>
+Originally prepared by
+ Leonard Rosenthol, <[email protected]>
+ Just van Rossum, <[email protected]>
+
+This directory is now actively maintained as part of the FreeType Project.
diff --git a/components/external/freetype/builds/newline b/components/external/freetype/builds/newline
index d3f5a12faa..8b13789179 100644
--- a/components/external/freetype/builds/newline
+++ b/components/external/freetype/builds/newline
@@ -1 +1 @@
-
+
diff --git a/components/external/freetype/builds/symbian/freetype.mmp b/components/external/freetype/builds/symbian/freetype.mmp
index 9ba262622c..c10f357481 100644
--- a/components/external/freetype/builds/symbian/freetype.mmp
+++ b/components/external/freetype/builds/symbian/freetype.mmp
@@ -1,142 +1,142 @@
-//
-// FreeType 2 makefile for the symbian platform
-//
-
-// Copyright 2008, 2009 by
-// David Turner, Robert Wilhelm, and Werner Lemberg.
-//
-// This file is part of the FreeType project, and may only be used, modified,
-// and distributed under the terms of the FreeType project license,
-// LICENSE.TXT. By continuing to use, modify, or distribute this file you
-// indicate that you have read the license and understand and accept it
-// fully.
-
-target freetype.lib
-targettype lib
-
-macro NDEBUG
-macro FT2_BUILD_LIBRARY
-
-sourcepath ..\..\src\autofit
-
-source autofit.c
-
-sourcepath ..\..\src\base
-
-source ftbase.c
-source ftbbox.c
-source ftbdf.c
-source ftbitmap.c
-source ftcid.c
-source ftfstype.c
-source ftgasp.c
-source ftglyph.c
-source ftgxval.c
-source ftinit.c
-source ftlcdfil.c
-source ftmm.c
-source ftotval.c
-source ftpatent.c
-source ftpfr.c
-source ftstroke.c
-source ftsynth.c
-source ftsystem.c
-source fttype1.c
-source ftwinfnt.c
-
-sourcepath ..\..\src\bdf
-
-source bdf.c
-
-sourcepath ..\..\src\cache
-
-source ftcache.c
-
-sourcepath ..\..\src\cff
-
-source cff.c
-
-sourcepath ..\..\src\cid
-
-source type1cid.c
-
-sourcepath ..\..\src\gzip
-
-source ftgzip.c
-
-sourcepath ..\..\src\lzw
-
-source ftlzw.c
-
-sourcepath ..\..\src\pcf
-
-source pcf.c
-
-sourcepath ..\..\src\pfr
-
-source pfr.c
-
-sourcepath ..\..\src\psaux
-
-source psaux.c
-
-sourcepath ..\..\src\pshinter
-
-source pshinter.c
-
-sourcepath ..\..\src\psnames
-
-source psmodule.c
-
-sourcepath ..\..\src\raster
-
-source raster.c
-
-sourcepath ..\..\src\sfnt
-
-source sfnt.c
-
-sourcepath ..\..\src\smooth
-
-source smooth.c
-
-sourcepath ..\..\src\truetype
-
-source truetype.c
-
-sourcepath ..\..\src\type1
-
-source type1.c
-
-sourcepath ..\..\src\type42
-
-source type42.c
-
-sourcepath ..\..\src\winfonts
-
-source winfnt.c
-
-
-systeminclude ..\..\include
-systeminclude \epoc32\include\stdapis
-userinclude ..\..\src\autofit
-userinclude ..\..\src\bdf
-userinclude ..\..\src\cache
-userinclude ..\..\src\cff
-userinclude ..\..\src\cid
-userinclude ..\..\src\gxvalid
-userinclude ..\..\src\gzip
-userinclude ..\..\src\lzw
-userinclude ..\..\src\otvalid
-userinclude ..\..\src\pcf
-userinclude ..\..\src\pfr
-userinclude ..\..\src\psaux
-userinclude ..\..\src\pshinter
-userinclude ..\..\src\psnames
-userinclude ..\..\src\raster
-userinclude ..\..\src\sfnt
-userinclude ..\..\src\smooth
-userinclude ..\..\src\truetype
-userinclude ..\..\src\type1
-userinclude ..\..\src\type42
-userinclude ..\..\src\winfonts
+//
+// FreeType 2 makefile for the symbian platform
+//
+
+// Copyright 2008, 2009 by
+// David Turner, Robert Wilhelm, and Werner Lemberg.
+//
+// This file is part of the FreeType project, and may only be used, modified,
+// and distributed under the terms of the FreeType project license,
+// LICENSE.TXT. By continuing to use, modify, or distribute this file you
+// indicate that you have read the license and understand and accept it
+// fully.
+
+target freetype.lib
+targettype lib
+
+macro NDEBUG
+macro FT2_BUILD_LIBRARY
+
+sourcepath ..\..\src\autofit
+
+source autofit.c
+
+sourcepath ..\..\src\base
+
+source ftbase.c
+source ftbbox.c
+source ftbdf.c
+source ftbitmap.c
+source ftcid.c
+source ftfstype.c
+source ftgasp.c
+source ftglyph.c
+source ftgxval.c
+source ftinit.c
+source ftlcdfil.c
+source ftmm.c
+source ftotval.c
+source ftpatent.c
+source ftpfr.c
+source ftstroke.c
+source ftsynth.c
+source ftsystem.c
+source fttype1.c
+source ftwinfnt.c
+
+sourcepath ..\..\src\bdf
+
+source bdf.c
+
+sourcepath ..\..\src\cache
+
+source ftcache.c
+
+sourcepath ..\..\src\cff
+
+source cff.c
+
+sourcepath ..\..\src\cid
+
+source type1cid.c
+
+sourcepath ..\..\src\gzip
+
+source ftgzip.c
+
+sourcepath ..\..\src\lzw
+
+source ftlzw.c
+
+sourcepath ..\..\src\pcf
+
+source pcf.c
+
+sourcepath ..\..\src\pfr
+
+source pfr.c
+
+sourcepath ..\..\src\psaux
+
+source psaux.c
+
+sourcepath ..\..\src\pshinter
+
+source pshinter.c
+
+sourcepath ..\..\src\psnames
+
+source psmodule.c
+
+sourcepath ..\..\src\raster
+
+source raster.c
+
+sourcepath ..\..\src\sfnt
+
+source sfnt.c
+
+sourcepath ..\..\src\smooth
+
+source smooth.c
+
+sourcepath ..\..\src\truetype
+
+source truetype.c
+
+sourcepath ..\..\src\type1
+
+source type1.c
+
+sourcepath ..\..\src\type42
+
+source type42.c
+
+sourcepath ..\..\src\winfonts
+
+source winfnt.c
+
+
+systeminclude ..\..\include
+systeminclude \epoc32\include\stdapis
+userinclude ..\..\src\autofit
+userinclude ..\..\src\bdf
+userinclude ..\..\src\cache
+userinclude ..\..\src\cff
+userinclude ..\..\src\cid
+userinclude ..\..\src\gxvalid
+userinclude ..\..\src\gzip
+userinclude ..\..\src\lzw
+userinclude ..\..\src\otvalid
+userinclude ..\..\src\pcf
+userinclude ..\..\src\pfr
+userinclude ..\..\src\psaux
+userinclude ..\..\src\pshinter
+userinclude ..\..\src\psnames
+userinclude ..\..\src\raster
+userinclude ..\..\src\sfnt
+userinclude ..\..\src\smooth
+userinclude ..\..\src\truetype
+userinclude ..\..\src\type1
+userinclude ..\..\src\type42
+userinclude ..\..\src\winfonts
diff --git a/components/external/freetype/builds/unix/.gitignore b/components/external/freetype/builds/unix/.gitignore
index 42a3428120..86b8c409bc 100644
--- a/components/external/freetype/builds/unix/.gitignore
+++ b/components/external/freetype/builds/unix/.gitignore
@@ -1,16 +1,16 @@
-aclocal.m4
-autom4te.cache
-config.cache
-config.guess
-config.log
-config.status
-config.sub
-configure
-configure.ac
-freetype2.pc
-freetype-config
-ftconfig.h
-libtool
-ltmain.sh
-unix-cc.mk
-unix-def.mk
+aclocal.m4
+autom4te.cache
+config.cache
+config.guess
+config.log
+config.status
+config.sub
+configure
+configure.ac
+freetype2.pc
+freetype-config
+ftconfig.h
+libtool
+ltmain.sh
+unix-cc.mk
+unix-def.mk
diff --git a/components/external/freetype/builds/unix/config.guess b/components/external/freetype/builds/unix/config.guess
index 928ced7a31..c2246a4f7f 100644
--- a/components/external/freetype/builds/unix/config.guess
+++ b/components/external/freetype/builds/unix/config.guess
@@ -1,1502 +1,1502 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-# Free Software Foundation, Inc.
-
-timestamp='2009-12-30'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to <[email protected]> and include a ChangeLog
-# entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <[email protected]>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
-Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# ([email protected] 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ELF__
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # [email protected] (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux${UNAME_RELEASE}
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
- SUN_ARCH="i386"
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH="x86_64"
- fi
- fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[456])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- eval $set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep -q __LP64__
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
- *:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
- *:Interix*:*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- 8664:Windows_NT:*)
- echo x86_64-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit ;;
- arm*:Linux:*:*)
- eval $set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
- fi
- exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit ;;
- crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
- exit ;;
- frv:Linux:*:*)
- echo frv-unknown-linux-gnu
- exit ;;
- i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef ${UNAME_MACHINE}
- #undef ${UNAME_MACHINE}el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=${UNAME_MACHINE}el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=${UNAME_MACHINE}
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
- exit ;;
- padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit ;;
- i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
- # Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
- # this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
- OS_REL='.3'
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <[email protected]>
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <[email protected]>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
- *:VOS:*:*)
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- echo i586-pc-haiku
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
- *:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
- i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
- exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <[email protected]> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# Free Software Foundation, Inc.
+
+timestamp='2009-12-30'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner. Please send patches (context
+# diff format) to <[email protected]> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <[email protected]>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# ([email protected] 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # [email protected] (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[456])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ LIBC=gnu
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <[email protected]>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ i386)
+ eval $set_cc_for_build
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ UNAME_PROCESSOR="x86_64"
+ fi
+ fi ;;
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <[email protected]> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/components/external/freetype/builds/unix/config.sub b/components/external/freetype/builds/unix/config.sub
index 3fd6971b97..c2d125724c 100644
--- a/components/external/freetype/builds/unix/config.sub
+++ b/components/external/freetype/builds/unix/config.sub
@@ -1,1714 +1,1714 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-# Free Software Foundation, Inc.
-
-timestamp='2010-01-22'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <[email protected]>. Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <[email protected]>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
-Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
- kopensolaris*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
- os=
- basic_machine=$1
- ;;
- -bluegene*)
- os=-cnk
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | fido | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
- | lm32 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | moxie \
- | mt \
- | msp430 \
- | nios | nios2 \
- | ns16k | ns32k \
- | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
- | rx \
- | score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
- | ubicom32 \
- | v850 | v850e \
- | we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
- | z8k | z80)
- basic_machine=$basic_machine-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
- ms1)
- basic_machine=mt-unknown
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | craynv-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
- | lm32-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64octeon-* | mips64octeonel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64r5900-* | mips64r5900el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nios-* | nios2-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* | rx-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tile-* | tilegx-* \
- | tron-* \
- | ubicom32-* \
- | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-* | z80-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aros)
- basic_machine=i386-pc
- os=-aros
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
- blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- bluegene*)
- basic_machine=powerpc-ibm
- os=-cnk
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- cegcc)
- basic_machine=arm-unknown
- os=-cegcc
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
- ;;
- cr16)
- basic_machine=cr16-unknown
- os=-elf
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=-elf
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dicos)
- basic_machine=i686-pc
- os=-dicos
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- microblaze)
- basic_machine=microblaze-xilinx
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
- ;;
- parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
- # This must be matched before tile*.
- tilegx*)
- basic_machine=tilegx-unknown
- os=-linux-gnu
- ;;
- tile*)
- basic_machine=tile-unknown
- os=-linux-gnu
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- z80-*-coff)
- basic_machine=z80-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- mmix)
- basic_machine=mmix-knuth
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
- ;;
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux-dietlibc)
- os=-linux-dietlibc
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -os400*)
- os=-os400
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -syllable*)
- os=-syllable
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -tpf*)
- os=-tpf
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -kaos*)
- os=-kaos
- ;;
- -zvmoe)
- os=-zvmoe
- ;;
- -dicos*)
- os=-dicos
- ;;
- -nacl*)
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mep-*)
- os=-elf
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-haiku)
- os=-haiku
- ;;
- *-ibm)
- os=-aix
- ;;
- *-knuth)
- os=-mmixware
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -cnk*|-aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -os400*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -tpf*)
- vendor=ibm
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# Free Software Foundation, Inc.
+
+timestamp='2010-01-22'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <[email protected]>. Submit a context
+# diff and a properly formatted GNU ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <[email protected]>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile-* | tilegx-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ # This must be matched before tile*.
+ tilegx*)
+ basic_machine=tilegx-unknown
+ os=-linux-gnu
+ ;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -nacl*)
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/components/external/freetype/builds/unix/configure.ac b/components/external/freetype/builds/unix/configure.ac
index aa490dbe3e..762d43dd6f 100644
--- a/components/external/freetype/builds/unix/configure.ac
+++ b/components/external/freetype/builds/unix/configure.ac
@@ -1,684 +1,684 @@
-# This file is part of the FreeType project.
-#
-# Process this file with autoconf to produce a configure script.
-#
-# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT. By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-AC_INIT([FreeType], [2.3.12], [[email protected]], [freetype])
-AC_CONFIG_SRCDIR([ftconfig.in])
-
-
-# Don't forget to update docs/VERSION.DLL!
-
-version_info='10:0:4'
-AC_SUBST([version_info])
-ft_version=`echo $version_info | tr : .`
-AC_SUBST([ft_version])
-
-
-# checks for system type
-
-AC_CANONICAL_HOST
-
-
-# checks for programs
-
-AC_PROG_CC
-AC_PROG_CPP
-AC_SUBST(EXEEXT)
-
-
-# checks for native programs to generate building tool
-
-if test ${cross_compiling} = yes; then
- AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build}-gcc)
- test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, gcc, gcc)
- test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, cc, cc, , , /usr/ucb/cc)
- test -z "${CC_BUILD}" && AC_MSG_ERROR([cannot find native C compiler])
-
- AC_MSG_CHECKING([for suffix of native executables])
- rm -f a.* b.* a_out.exe conftest.*
- echo > conftest.c "int main() { return 0;}"
- ${CC_BUILD} conftest.c || AC_MSG_ERROR([native C compiler is not working])
- rm -f conftest.c
- if test -x a.out -o -x b.out -o -x conftest; then
- EXEEXT_BUILD=""
- elif test -x a_out.exe -o -x conftest.exe; then
- EXEEXT_BUILD=".exe"
- elif test -x conftest.* ; then
- EXEEXT_BUILD=`echo conftest.* | sed -n '1s/^.*\././'`
- fi
- rm -f a.* b.* a_out.exe conftest.*
- AC_MSG_RESULT($EXEEXT_BUILD)
-else
- CC_BUILD=${CC}
- EXEEXT_BUILD=${EXEEXT}
-fi
-
-AC_SUBST(CC_BUILD)
-AC_SUBST(EXEEXT_BUILD)
-
-
-
-# get compiler flags right
-
-if test "x$GCC" = xyes; then
- XX_CFLAGS="-Wall"
- XX_ANSIFLAGS="-pedantic -ansi"
-else
- case "$host" in
- *-dec-osf*)
- CFLAGS=
- XX_CFLAGS="-std1 -g3"
- XX_ANSIFLAGS=
- ;;
- *)
- XX_CFLAGS=
- XX_ANSIFLAGS=
- ;;
- esac
-fi
-AC_SUBST([XX_CFLAGS])
-AC_SUBST([XX_ANSIFLAGS])
-
-
-# auxiliary programs
-
-AC_CHECK_PROG([RMF], [rm], [rm -f])
-AC_CHECK_PROG([RMDIR], [rmdir], [rmdir])
-
-
-# Since this file will be finally moved to another directory we make
-# the path of the install script absolute. This small code snippet has
-# been taken from automake's `ylwrap' script.
-
-AC_PROG_INSTALL
-case "$INSTALL" in
-/*)
- ;;
-*/*)
- INSTALL="`pwd`/$INSTALL" ;;
-esac
-
-
-# checks for header files
-
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h unistd.h])
-
-
-# checks for typedefs, structures, and compiler characteristics
-
-AC_C_CONST
-AC_CHECK_SIZEOF([int])
-AC_CHECK_SIZEOF([long])
-
-
-# check whether cpp computation of size of int and long in ftconfig.in works
-
-AC_MSG_CHECKING([cpp computation of bit length in ftconfig.in works])
-orig_CPPFLAGS="${CPPFLAGS}"
-CPPFLAGS="-I${srcdir} -I. ${CPPFLAGS}"
-ac_clean_files="ft2build.h ftoption.h ftstdlib.h"
-touch ft2build.h ftoption.h ftstdlib.h
-
-cat > conftest.c <<\_ACEOF
-#include <limits.h>
-#define FT_CONFIG_OPTIONS_H "ftoption.h"
-#define FT_CONFIG_STANDARD_LIBRARY_H "ftstdlib.h"
-#define FT_UINT_MAX UINT_MAX
-#define FT_ULONG_MAX ULONG_MAX
-#include "ftconfig.in"
-_ACEOF
-echo >> conftest.c "#if FT_SIZEOF_INT == "${ac_cv_sizeof_int}
-echo >> conftest.c "ac_cpp_ft_sizeof_int="${ac_cv_sizeof_int}
-echo >> conftest.c "#endif"
-echo >> conftest.c "#if FT_SIZEOF_LONG == "${ac_cv_sizeof_long}
-echo >> conftest.c "ac_cpp_ft_sizeof_long="${ac_cv_sizeof_long}
-echo >> conftest.c "#endif"
-
-${CPP} ${CPPFLAGS} conftest.c | ${GREP} ac_cpp_ft > conftest.sh
-eval `cat conftest.sh`
-${RMF} conftest.c conftest.sh confft2build.h ftoption.h ftstdlib.h
-
-if test x != "x${ac_cpp_ft_sizeof_int}" \
- -a x != x"${ac_cpp_ft_sizeof_long}"; then
- unset ft_use_autoconf_sizeof_types
-else
- ft_use_autoconf_sizeof_types=yes
-fi
-
-AC_ARG_ENABLE(biarch-config,
-[ --enable-biarch-config install biarch ftconfig.h to support multiple
- architectures by single file], [], [])
-
-case :${ft_use_autoconf_sizeof_types}:${enable_biarch_config}: in
- :yes:yes:)
- AC_MSG_RESULT([broken but use it])
- unset ft_use_autoconf_sizeof_types
- ;;
- ::no:)
- AC_MSG_RESULT([works but ignore it])
- ft_use_autoconf_sizeof_types=yes
- ;;
- ::yes: | :::)
- AC_MSG_RESULT([yes])
- unset ft_use_autoconf_sizeof_types
- ;;
- *)
- AC_MSG_RESULT([no])
- ft_use_autoconf_sizeof_types=yes
- ;;
-esac
-
-if test x"${ft_use_autoconf_sizeof_types}" = xyes; then
- AC_DEFINE([FT_USE_AUTOCONF_SIZEOF_TYPES])
-fi
-
-CPPFLAGS="${orig_CPPFLAGS}"
-
-
-# checks for library functions
-
-# Here we check whether we can use our mmap file component.
-
-AC_FUNC_MMAP
-if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
- FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
-else
- FTSYS_SRC='$(BUILD_DIR)/ftsystem.c'
-
- AC_CHECK_DECLS([munmap],
- [],
- [],
- [
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <sys/mman.h>
-
- ])
-
- FT_MUNMAP_PARAM
-fi
-AC_SUBST([FTSYS_SRC])
-
-AC_CHECK_FUNCS([memcpy memmove])
-
-
-# check for system zlib
-
-# don't quote AS_HELP_STRING!
-AC_ARG_WITH([zlib],
- AS_HELP_STRING([--without-zlib],
- [use internal zlib instead of system-wide]))
-if test x$with_zlib != xno && test -z "$LIBZ"; then
- AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
-fi
-if test x$with_zlib != xno && test -n "$LIBZ"; then
- CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB"
- LDFLAGS="$LDFLAGS $LIBZ"
- SYSTEM_ZLIB=yes
-fi
-
-
-# Some options handling SDKs/archs in CFLAGS should be copied
-# to LDFLAGS. Apple TechNote 2137 recommends to include these
-# options in CFLAGS but not in LDFLAGS.
-
-save_config_args=$*
-set dummy ${CFLAGS}
-i=1
-while test $i -lt $#
-do
- c=$1
-
- case "${c}" in
- -isysroot|-arch) # options taking 1 argument
- a=$2
- AC_MSG_CHECKING([whether CFLAGS and LDFLAGS share ${c} ${a}])
- if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
- then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no, copy to LDFLAGS])
- LDFLAGS="${LDFLAGS} ${c} ${a}"
- fi
- shift 1
- ;;
- -m32|-m64) # options taking no argument
- AC_MSG_RESULT([whether CFLAGS and LDFLAGS share ${c}])
- if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
- then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no, copy to LDFLAGS])
- LDFLAGS="${LDFLAGS} ${c}"
- fi
- ;;
- # *)
- # AC_MSG_RESULT([${c} is not copied to LDFLAGS])
- # ;;
- esac
-
- shift 1
-done
-set ${save_config_args}
-
-
-# Whether to use Mac OS resource-based fonts.
-
-ftmac_c="" # src/base/ftmac.c should not be included in makefiles by default
-
-# don't quote AS_HELP_STRING!
-AC_ARG_WITH([old-mac-fonts],
- AS_HELP_STRING([--with-old-mac-fonts],
- [allow Mac resource-based fonts to be used]))
-if test x$with_old_mac_fonts = xyes; then
- orig_LDFLAGS="${LDFLAGS}"
- AC_MSG_CHECKING([CoreServices & ApplicationServices of Mac OS X])
- FT2_EXTRA_LIBS="-Wl,-framework,CoreServices -Wl,-framework,ApplicationServices"
- LDFLAGS="$LDFLAGS $FT2_EXTRA_LIBS"
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-#endif
-
- ],
- [
-
- short res = 0;
-
-
- UseResFile( res );
-
- ])],
- [AC_MSG_RESULT([ok])
- ftmac_c='ftmac.c'
- AC_MSG_CHECKING([OS_INLINE macro is ANSI compatible])
- orig_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-#endif
-
- ],
- [
-
- /* OSHostByteOrder() is typed as OS_INLINE */
- int32_t os_byte_order = OSHostByteOrder();
-
-
- if ( OSBigEndian != os_byte_order )
- return 1;
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$orig_CFLAGS"
- CFLAGS="$CFLAGS -DHAVE_ANSI_OS_INLINE=1"
- ],
- [AC_MSG_RESULT([no, ANSI incompatible])
- CFLAGS="$orig_CFLAGS"
- ])
- AC_MSG_CHECKING([type ResourceIndex])
- orig_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-# include <Resources.h>
-#endif
-
- ],
- [
-
- ResourceIndex i = 0;
- return i;
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$orig_CFLAGS"
- CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=1"
- ],
- [AC_MSG_RESULT([no])
- CFLAGS="$orig_CFLAGS"
- CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=0"
- ])],
- [AC_MSG_RESULT([not found])
- FT2_EXTRA_LIBS=""
- LDFLAGS="${orig_LDFLAGS}"
- CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"])
-else
- case x$host_os in
- xdarwin*)
- dnl AC_MSG_WARN([host system is MacOS but configured to build without Carbon])
- CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
- ;;
- *) ;;
- esac
-fi
-
-
-# Whether to use FileManager which is deprecated since Mac OS X 10.4.
-
-AC_ARG_WITH([fsspec],
- AS_HELP_STRING([--with-fsspec],
- [use obsolete FSSpec API of MacOS, if available (default=yes)]))
-if test x$with_fsspec = xno; then
- CFLAGS="$CFLAGS -DHAVE_FSSPEC=0"
-elif test x$with_old_mac_fonts = xyes -a x$with_fsspec != x; then
- AC_MSG_CHECKING([FSSpec-based FileManager])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-#endif
-
- ],
- [
-
- FCBPBPtr paramBlock;
- short vRefNum;
- long dirID;
- ConstStr255Param fileName;
- FSSpec* spec;
-
-
- /* FSSpec functions: deprecated since Mac OS X 10.4 */
- PBGetFCBInfoSync( paramBlock );
- FSMakeFSSpec( vRefNum, dirID, fileName, spec );
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$CFLAGS -DHAVE_FSSPEC=1"],
- [AC_MSG_RESULT([not found])
- CFLAGS="$CFLAGS -DHAVE_FSSPEC=0"])
-fi
-
-
-# Whether to use FileManager in Carbon since MacOS 9.x.
-
-AC_ARG_WITH([fsref],
- AS_HELP_STRING([--with-fsref],
- [use Carbon FSRef API of MacOS, if available (default=yes)]))
-if test x$with_fsref = xno; then
- AC_MSG_WARN([
-*** WARNING
- FreeType2 built without FSRef API cannot load
- data-fork fonts on MacOS, except of XXX.dfont.
- ])
- CFLAGS="$CFLAGS -DHAVE_FSREF=0"
-elif test x$with_old_mac_fonts = xyes -a x$with_fsref != x; then
- AC_MSG_CHECKING([FSRef-based FileManager])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-#endif
-
- ],
- [
-
- short vRefNum;
- long dirID;
- ConstStr255Param fileName;
-
- Boolean* isDirectory;
- UInt8* path;
- SInt16 desiredRefNum;
- SInt16* iterator;
- SInt16* actualRefNum;
- HFSUniStr255* outForkName;
- FSVolumeRefNum volume;
- FSCatalogInfoBitmap whichInfo;
- FSCatalogInfo* catalogInfo;
- FSForkInfo* forkInfo;
- FSRef* ref;
-
-#if HAVE_FSSPEC
- FSSpec* spec;
-#endif
-
- /* FSRef functions: no need to check? */
- FSGetForkCBInfo( desiredRefNum, volume, iterator,
- actualRefNum, forkInfo, ref,
- outForkName );
- FSPathMakeRef( path, ref, isDirectory );
-
-#if HAVE_FSSPEC
- FSpMakeFSRef ( spec, ref );
- FSGetCatalogInfo( ref, whichInfo, catalogInfo,
- outForkName, spec, ref );
-#endif
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$CFLAGS -DHAVE_FSREF=1"],
- [AC_MSG_RESULT([not found])
- CFLAGS="$CFLAGS -DHAVE_FSREF=0"])
-fi
-
-
-# Whether to use QuickDraw API in ToolBox which is deprecated since
-# Mac OS X 10.4.
-
-AC_ARG_WITH([quickdraw-toolbox],
- AS_HELP_STRING([--with-quickdraw-toolbox],
- [use MacOS QuickDraw in ToolBox, if available (default=yes)]))
-if test x$with_quickdraw_toolbox = xno; then
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=0"
-elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_toolbox != x; then
- AC_MSG_CHECKING([QuickDraw FontManager functions in ToolBox])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Fonts.h>
-#endif
-
- ],
- [
-
- Str255 familyName;
- SInt16 familyID = 0;
- FMInput* fmIn = NULL;
- FMOutput* fmOut = NULL;
-
-
- GetFontName( familyID, familyName );
- GetFNum( familyName, &familyID );
- fmOut = FMSwapFont( fmIn );
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=1"],
- [AC_MSG_RESULT([not found])
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=0"])
-fi
-
-
-# Whether to use QuickDraw API in Carbon which is deprecated since
-# Mac OS X 10.4.
-
-AC_ARG_WITH([quickdraw-carbon],
- AS_HELP_STRING([--with-quickdraw-carbon],
- [use MacOS QuickDraw in Carbon, if available (default=yes)]))
-if test x$with_quickdraw_carbon = xno; then
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=0"
-elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_carbon != x; then
- AC_MSG_CHECKING([QuickDraw FontManager functions in Carbon])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Fonts.h>
-#endif
-
- ],
- [
-
- FMFontFamilyIterator famIter;
- FMFontFamily family;
- Str255 famNameStr;
- FMFontFamilyInstanceIterator instIter;
- FMFontStyle style;
- FMFontSize size;
- FMFont font;
- FSSpec* pathSpec;
-
-
- FMCreateFontFamilyIterator( NULL, NULL, kFMUseGlobalScopeOption,
- &famIter );
- FMGetNextFontFamily( &famIter, &family );
- FMGetFontFamilyName( family, famNameStr );
- FMCreateFontFamilyInstanceIterator( family, &instIter );
- FMGetNextFontFamilyInstance( &instIter, &font, &style, &size );
- FMDisposeFontFamilyInstanceIterator( &instIter );
- FMDisposeFontFamilyIterator( &famIter );
- FMGetFontContainer( font, pathSpec );
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=1"],
- [AC_MSG_RESULT([not found])
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=0"])
-fi
-
-
-# Whether to use AppleTypeService since Mac OS X.
-
-# don't quote AS_HELP_STRING!
-AC_ARG_WITH([ats],
- AS_HELP_STRING([--with-ats],
- [use AppleTypeService, if available (default=yes)]))
-if test x$with_ats = xno; then
- CFLAGS="$CFLAGS -DHAVE_ATS=0"
-elif test x$with_old_mac_fonts = xyes -a x$with_ats != x ; then
- AC_MSG_CHECKING([AppleTypeService functions])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-#endif
-
- ],
- [
-
- FSSpec* pathSpec;
-
-
- ATSFontFindFromName( NULL, kATSOptionFlagsUnRestrictedScope );
-#if HAVE_FSSPEC
- ATSFontGetFileSpecification( 0, pathSpec );
-#endif
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$CFLAGS -DHAVE_ATS=1"],
- [AC_MSG_RESULT([not found])
- CFLAGS="$CFLAGS -DHAVE_ATS=0"])
-fi
-
-case "$CFLAGS" in
- *HAVE_FSSPEC* | *HAVE_FSREF* | *HAVE_QUICKDRAW* | *HAVE_ATS* )
- AC_MSG_WARN([
-*** WARNING
- FSSpec/FSRef/QuickDraw/ATS options are explicitly given,
- thus it is recommended to replace src/base/ftmac.c by builds/mac/ftmac.c.
- ])
- CFLAGS="$CFLAGS "'-I$(TOP_DIR)/builds/mac/'
- ;;
- *)
- ;;
-esac
-
-
-AC_SUBST([ftmac_c])
-AC_SUBST([LIBZ])
-AC_SUBST([CFLAGS])
-AC_SUBST([LDFLAGS])
-AC_SUBST([FT2_EXTRA_LIBS])
-AC_SUBST([SYSTEM_ZLIB])
-
-
-LT_INIT(win32-dll)
-
-AC_SUBST([hardcode_libdir_flag_spec])
-AC_SUBST([wl])
-AC_SUBST([build_libtool_libs])
-
-
-# configuration file -- stay in 8.3 limit
-#
-# since #undef doesn't survive in configuration header files we replace
-# `/undef' with `#undef' after creating the output file
-
-AC_CONFIG_HEADERS([ftconfig.h:ftconfig.in],
- [mv ftconfig.h ftconfig.tmp
- sed 's|/undef|#undef|' < ftconfig.tmp > ftconfig.h
- rm ftconfig.tmp])
-
-# create the Unix-specific sub-Makefiles `builds/unix/unix-def.mk'
-# and `builds/unix/unix-cc.mk' that will be used by the build system
-#
-AC_CONFIG_FILES([unix-cc.mk:unix-cc.in
- unix-def.mk:unix-def.in
- freetype-config
- freetype2.pc:freetype2.in])
-
-# re-generate the Jamfile to use libtool now
-#
-# AC_CONFIG_FILES([../../Jamfile:../../Jamfile.in])
-
-AC_OUTPUT
-
-# end of configure.raw
+# This file is part of the FreeType project.
+#
+# Process this file with autoconf to produce a configure script.
+#
+# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+AC_INIT([FreeType], [2.3.12], [[email protected]], [freetype])
+AC_CONFIG_SRCDIR([ftconfig.in])
+
+
+# Don't forget to update docs/VERSION.DLL!
+
+version_info='10:0:4'
+AC_SUBST([version_info])
+ft_version=`echo $version_info | tr : .`
+AC_SUBST([ft_version])
+
+
+# checks for system type
+
+AC_CANONICAL_HOST
+
+
+# checks for programs
+
+AC_PROG_CC
+AC_PROG_CPP
+AC_SUBST(EXEEXT)
+
+
+# checks for native programs to generate building tool
+
+if test ${cross_compiling} = yes; then
+ AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build}-gcc)
+ test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, gcc, gcc)
+ test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, cc, cc, , , /usr/ucb/cc)
+ test -z "${CC_BUILD}" && AC_MSG_ERROR([cannot find native C compiler])
+
+ AC_MSG_CHECKING([for suffix of native executables])
+ rm -f a.* b.* a_out.exe conftest.*
+ echo > conftest.c "int main() { return 0;}"
+ ${CC_BUILD} conftest.c || AC_MSG_ERROR([native C compiler is not working])
+ rm -f conftest.c
+ if test -x a.out -o -x b.out -o -x conftest; then
+ EXEEXT_BUILD=""
+ elif test -x a_out.exe -o -x conftest.exe; then
+ EXEEXT_BUILD=".exe"
+ elif test -x conftest.* ; then
+ EXEEXT_BUILD=`echo conftest.* | sed -n '1s/^.*\././'`
+ fi
+ rm -f a.* b.* a_out.exe conftest.*
+ AC_MSG_RESULT($EXEEXT_BUILD)
+else
+ CC_BUILD=${CC}
+ EXEEXT_BUILD=${EXEEXT}
+fi
+
+AC_SUBST(CC_BUILD)
+AC_SUBST(EXEEXT_BUILD)
+
+
+
+# get compiler flags right
+
+if test "x$GCC" = xyes; then
+ XX_CFLAGS="-Wall"
+ XX_ANSIFLAGS="-pedantic -ansi"
+else
+ case "$host" in
+ *-dec-osf*)
+ CFLAGS=
+ XX_CFLAGS="-std1 -g3"
+ XX_ANSIFLAGS=
+ ;;
+ *)
+ XX_CFLAGS=
+ XX_ANSIFLAGS=
+ ;;
+ esac
+fi
+AC_SUBST([XX_CFLAGS])
+AC_SUBST([XX_ANSIFLAGS])
+
+
+# auxiliary programs
+
+AC_CHECK_PROG([RMF], [rm], [rm -f])
+AC_CHECK_PROG([RMDIR], [rmdir], [rmdir])
+
+
+# Since this file will be finally moved to another directory we make
+# the path of the install script absolute. This small code snippet has
+# been taken from automake's `ylwrap' script.
+
+AC_PROG_INSTALL
+case "$INSTALL" in
+/*)
+ ;;
+*/*)
+ INSTALL="`pwd`/$INSTALL" ;;
+esac
+
+
+# checks for header files
+
+AC_HEADER_STDC
+AC_CHECK_HEADERS([fcntl.h unistd.h])
+
+
+# checks for typedefs, structures, and compiler characteristics
+
+AC_C_CONST
+AC_CHECK_SIZEOF([int])
+AC_CHECK_SIZEOF([long])
+
+
+# check whether cpp computation of size of int and long in ftconfig.in works
+
+AC_MSG_CHECKING([cpp computation of bit length in ftconfig.in works])
+orig_CPPFLAGS="${CPPFLAGS}"
+CPPFLAGS="-I${srcdir} -I. ${CPPFLAGS}"
+ac_clean_files="ft2build.h ftoption.h ftstdlib.h"
+touch ft2build.h ftoption.h ftstdlib.h
+
+cat > conftest.c <<\_ACEOF
+#include <limits.h>
+#define FT_CONFIG_OPTIONS_H "ftoption.h"
+#define FT_CONFIG_STANDARD_LIBRARY_H "ftstdlib.h"
+#define FT_UINT_MAX UINT_MAX
+#define FT_ULONG_MAX ULONG_MAX
+#include "ftconfig.in"
+_ACEOF
+echo >> conftest.c "#if FT_SIZEOF_INT == "${ac_cv_sizeof_int}
+echo >> conftest.c "ac_cpp_ft_sizeof_int="${ac_cv_sizeof_int}
+echo >> conftest.c "#endif"
+echo >> conftest.c "#if FT_SIZEOF_LONG == "${ac_cv_sizeof_long}
+echo >> conftest.c "ac_cpp_ft_sizeof_long="${ac_cv_sizeof_long}
+echo >> conftest.c "#endif"
+
+${CPP} ${CPPFLAGS} conftest.c | ${GREP} ac_cpp_ft > conftest.sh
+eval `cat conftest.sh`
+${RMF} conftest.c conftest.sh confft2build.h ftoption.h ftstdlib.h
+
+if test x != "x${ac_cpp_ft_sizeof_int}" \
+ -a x != x"${ac_cpp_ft_sizeof_long}"; then
+ unset ft_use_autoconf_sizeof_types
+else
+ ft_use_autoconf_sizeof_types=yes
+fi
+
+AC_ARG_ENABLE(biarch-config,
+[ --enable-biarch-config install biarch ftconfig.h to support multiple
+ architectures by single file], [], [])
+
+case :${ft_use_autoconf_sizeof_types}:${enable_biarch_config}: in
+ :yes:yes:)
+ AC_MSG_RESULT([broken but use it])
+ unset ft_use_autoconf_sizeof_types
+ ;;
+ ::no:)
+ AC_MSG_RESULT([works but ignore it])
+ ft_use_autoconf_sizeof_types=yes
+ ;;
+ ::yes: | :::)
+ AC_MSG_RESULT([yes])
+ unset ft_use_autoconf_sizeof_types
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ft_use_autoconf_sizeof_types=yes
+ ;;
+esac
+
+if test x"${ft_use_autoconf_sizeof_types}" = xyes; then
+ AC_DEFINE([FT_USE_AUTOCONF_SIZEOF_TYPES])
+fi
+
+CPPFLAGS="${orig_CPPFLAGS}"
+
+
+# checks for library functions
+
+# Here we check whether we can use our mmap file component.
+
+AC_FUNC_MMAP
+if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
+ FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
+else
+ FTSYS_SRC='$(BUILD_DIR)/ftsystem.c'
+
+ AC_CHECK_DECLS([munmap],
+ [],
+ [],
+ [
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <sys/mman.h>
+
+ ])
+
+ FT_MUNMAP_PARAM
+fi
+AC_SUBST([FTSYS_SRC])
+
+AC_CHECK_FUNCS([memcpy memmove])
+
+
+# check for system zlib
+
+# don't quote AS_HELP_STRING!
+AC_ARG_WITH([zlib],
+ AS_HELP_STRING([--without-zlib],
+ [use internal zlib instead of system-wide]))
+if test x$with_zlib != xno && test -z "$LIBZ"; then
+ AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
+fi
+if test x$with_zlib != xno && test -n "$LIBZ"; then
+ CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB"
+ LDFLAGS="$LDFLAGS $LIBZ"
+ SYSTEM_ZLIB=yes
+fi
+
+
+# Some options handling SDKs/archs in CFLAGS should be copied
+# to LDFLAGS. Apple TechNote 2137 recommends to include these
+# options in CFLAGS but not in LDFLAGS.
+
+save_config_args=$*
+set dummy ${CFLAGS}
+i=1
+while test $i -lt $#
+do
+ c=$1
+
+ case "${c}" in
+ -isysroot|-arch) # options taking 1 argument
+ a=$2
+ AC_MSG_CHECKING([whether CFLAGS and LDFLAGS share ${c} ${a}])
+ if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
+ then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no, copy to LDFLAGS])
+ LDFLAGS="${LDFLAGS} ${c} ${a}"
+ fi
+ shift 1
+ ;;
+ -m32|-m64) # options taking no argument
+ AC_MSG_RESULT([whether CFLAGS and LDFLAGS share ${c}])
+ if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
+ then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no, copy to LDFLAGS])
+ LDFLAGS="${LDFLAGS} ${c}"
+ fi
+ ;;
+ # *)
+ # AC_MSG_RESULT([${c} is not copied to LDFLAGS])
+ # ;;
+ esac
+
+ shift 1
+done
+set ${save_config_args}
+
+
+# Whether to use Mac OS resource-based fonts.
+
+ftmac_c="" # src/base/ftmac.c should not be included in makefiles by default
+
+# don't quote AS_HELP_STRING!
+AC_ARG_WITH([old-mac-fonts],
+ AS_HELP_STRING([--with-old-mac-fonts],
+ [allow Mac resource-based fonts to be used]))
+if test x$with_old_mac_fonts = xyes; then
+ orig_LDFLAGS="${LDFLAGS}"
+ AC_MSG_CHECKING([CoreServices & ApplicationServices of Mac OS X])
+ FT2_EXTRA_LIBS="-Wl,-framework,CoreServices -Wl,-framework,ApplicationServices"
+ LDFLAGS="$LDFLAGS $FT2_EXTRA_LIBS"
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
+
+ ],
+ [
+
+ short res = 0;
+
+
+ UseResFile( res );
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ ftmac_c='ftmac.c'
+ AC_MSG_CHECKING([OS_INLINE macro is ANSI compatible])
+ orig_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
+
+ ],
+ [
+
+ /* OSHostByteOrder() is typed as OS_INLINE */
+ int32_t os_byte_order = OSHostByteOrder();
+
+
+ if ( OSBigEndian != os_byte_order )
+ return 1;
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_ANSI_OS_INLINE=1"
+ ],
+ [AC_MSG_RESULT([no, ANSI incompatible])
+ CFLAGS="$orig_CFLAGS"
+ ])
+ AC_MSG_CHECKING([type ResourceIndex])
+ orig_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+# include <Resources.h>
+#endif
+
+ ],
+ [
+
+ ResourceIndex i = 0;
+ return i;
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=1"
+ ],
+ [AC_MSG_RESULT([no])
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=0"
+ ])],
+ [AC_MSG_RESULT([not found])
+ FT2_EXTRA_LIBS=""
+ LDFLAGS="${orig_LDFLAGS}"
+ CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"])
+else
+ case x$host_os in
+ xdarwin*)
+ dnl AC_MSG_WARN([host system is MacOS but configured to build without Carbon])
+ CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
+ ;;
+ *) ;;
+ esac
+fi
+
+
+# Whether to use FileManager which is deprecated since Mac OS X 10.4.
+
+AC_ARG_WITH([fsspec],
+ AS_HELP_STRING([--with-fsspec],
+ [use obsolete FSSpec API of MacOS, if available (default=yes)]))
+if test x$with_fsspec = xno; then
+ CFLAGS="$CFLAGS -DHAVE_FSSPEC=0"
+elif test x$with_old_mac_fonts = xyes -a x$with_fsspec != x; then
+ AC_MSG_CHECKING([FSSpec-based FileManager])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
+
+ ],
+ [
+
+ FCBPBPtr paramBlock;
+ short vRefNum;
+ long dirID;
+ ConstStr255Param fileName;
+ FSSpec* spec;
+
+
+ /* FSSpec functions: deprecated since Mac OS X 10.4 */
+ PBGetFCBInfoSync( paramBlock );
+ FSMakeFSSpec( vRefNum, dirID, fileName, spec );
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$CFLAGS -DHAVE_FSSPEC=1"],
+ [AC_MSG_RESULT([not found])
+ CFLAGS="$CFLAGS -DHAVE_FSSPEC=0"])
+fi
+
+
+# Whether to use FileManager in Carbon since MacOS 9.x.
+
+AC_ARG_WITH([fsref],
+ AS_HELP_STRING([--with-fsref],
+ [use Carbon FSRef API of MacOS, if available (default=yes)]))
+if test x$with_fsref = xno; then
+ AC_MSG_WARN([
+*** WARNING
+ FreeType2 built without FSRef API cannot load
+ data-fork fonts on MacOS, except of XXX.dfont.
+ ])
+ CFLAGS="$CFLAGS -DHAVE_FSREF=0"
+elif test x$with_old_mac_fonts = xyes -a x$with_fsref != x; then
+ AC_MSG_CHECKING([FSRef-based FileManager])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
+
+ ],
+ [
+
+ short vRefNum;
+ long dirID;
+ ConstStr255Param fileName;
+
+ Boolean* isDirectory;
+ UInt8* path;
+ SInt16 desiredRefNum;
+ SInt16* iterator;
+ SInt16* actualRefNum;
+ HFSUniStr255* outForkName;
+ FSVolumeRefNum volume;
+ FSCatalogInfoBitmap whichInfo;
+ FSCatalogInfo* catalogInfo;
+ FSForkInfo* forkInfo;
+ FSRef* ref;
+
+#if HAVE_FSSPEC
+ FSSpec* spec;
+#endif
+
+ /* FSRef functions: no need to check? */
+ FSGetForkCBInfo( desiredRefNum, volume, iterator,
+ actualRefNum, forkInfo, ref,
+ outForkName );
+ FSPathMakeRef( path, ref, isDirectory );
+
+#if HAVE_FSSPEC
+ FSpMakeFSRef ( spec, ref );
+ FSGetCatalogInfo( ref, whichInfo, catalogInfo,
+ outForkName, spec, ref );
+#endif
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$CFLAGS -DHAVE_FSREF=1"],
+ [AC_MSG_RESULT([not found])
+ CFLAGS="$CFLAGS -DHAVE_FSREF=0"])
+fi
+
+
+# Whether to use QuickDraw API in ToolBox which is deprecated since
+# Mac OS X 10.4.
+
+AC_ARG_WITH([quickdraw-toolbox],
+ AS_HELP_STRING([--with-quickdraw-toolbox],
+ [use MacOS QuickDraw in ToolBox, if available (default=yes)]))
+if test x$with_quickdraw_toolbox = xno; then
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=0"
+elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_toolbox != x; then
+ AC_MSG_CHECKING([QuickDraw FontManager functions in ToolBox])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Fonts.h>
+#endif
+
+ ],
+ [
+
+ Str255 familyName;
+ SInt16 familyID = 0;
+ FMInput* fmIn = NULL;
+ FMOutput* fmOut = NULL;
+
+
+ GetFontName( familyID, familyName );
+ GetFNum( familyName, &familyID );
+ fmOut = FMSwapFont( fmIn );
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=1"],
+ [AC_MSG_RESULT([not found])
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=0"])
+fi
+
+
+# Whether to use QuickDraw API in Carbon which is deprecated since
+# Mac OS X 10.4.
+
+AC_ARG_WITH([quickdraw-carbon],
+ AS_HELP_STRING([--with-quickdraw-carbon],
+ [use MacOS QuickDraw in Carbon, if available (default=yes)]))
+if test x$with_quickdraw_carbon = xno; then
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=0"
+elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_carbon != x; then
+ AC_MSG_CHECKING([QuickDraw FontManager functions in Carbon])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Fonts.h>
+#endif
+
+ ],
+ [
+
+ FMFontFamilyIterator famIter;
+ FMFontFamily family;
+ Str255 famNameStr;
+ FMFontFamilyInstanceIterator instIter;
+ FMFontStyle style;
+ FMFontSize size;
+ FMFont font;
+ FSSpec* pathSpec;
+
+
+ FMCreateFontFamilyIterator( NULL, NULL, kFMUseGlobalScopeOption,
+ &famIter );
+ FMGetNextFontFamily( &famIter, &family );
+ FMGetFontFamilyName( family, famNameStr );
+ FMCreateFontFamilyInstanceIterator( family, &instIter );
+ FMGetNextFontFamilyInstance( &instIter, &font, &style, &size );
+ FMDisposeFontFamilyInstanceIterator( &instIter );
+ FMDisposeFontFamilyIterator( &famIter );
+ FMGetFontContainer( font, pathSpec );
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=1"],
+ [AC_MSG_RESULT([not found])
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=0"])
+fi
+
+
+# Whether to use AppleTypeService since Mac OS X.
+
+# don't quote AS_HELP_STRING!
+AC_ARG_WITH([ats],
+ AS_HELP_STRING([--with-ats],
+ [use AppleTypeService, if available (default=yes)]))
+if test x$with_ats = xno; then
+ CFLAGS="$CFLAGS -DHAVE_ATS=0"
+elif test x$with_old_mac_fonts = xyes -a x$with_ats != x ; then
+ AC_MSG_CHECKING([AppleTypeService functions])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
+
+ ],
+ [
+
+ FSSpec* pathSpec;
+
+
+ ATSFontFindFromName( NULL, kATSOptionFlagsUnRestrictedScope );
+#if HAVE_FSSPEC
+ ATSFontGetFileSpecification( 0, pathSpec );
+#endif
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$CFLAGS -DHAVE_ATS=1"],
+ [AC_MSG_RESULT([not found])
+ CFLAGS="$CFLAGS -DHAVE_ATS=0"])
+fi
+
+case "$CFLAGS" in
+ *HAVE_FSSPEC* | *HAVE_FSREF* | *HAVE_QUICKDRAW* | *HAVE_ATS* )
+ AC_MSG_WARN([
+*** WARNING
+ FSSpec/FSRef/QuickDraw/ATS options are explicitly given,
+ thus it is recommended to replace src/base/ftmac.c by builds/mac/ftmac.c.
+ ])
+ CFLAGS="$CFLAGS "'-I$(TOP_DIR)/builds/mac/'
+ ;;
+ *)
+ ;;
+esac
+
+
+AC_SUBST([ftmac_c])
+AC_SUBST([LIBZ])
+AC_SUBST([CFLAGS])
+AC_SUBST([LDFLAGS])
+AC_SUBST([FT2_EXTRA_LIBS])
+AC_SUBST([SYSTEM_ZLIB])
+
+
+LT_INIT(win32-dll)
+
+AC_SUBST([hardcode_libdir_flag_spec])
+AC_SUBST([wl])
+AC_SUBST([build_libtool_libs])
+
+
+# configuration file -- stay in 8.3 limit
+#
+# since #undef doesn't survive in configuration header files we replace
+# `/undef' with `#undef' after creating the output file
+
+AC_CONFIG_HEADERS([ftconfig.h:ftconfig.in],
+ [mv ftconfig.h ftconfig.tmp
+ sed 's|/undef|#undef|' < ftconfig.tmp > ftconfig.h
+ rm ftconfig.tmp])
+
+# create the Unix-specific sub-Makefiles `builds/unix/unix-def.mk'
+# and `builds/unix/unix-cc.mk' that will be used by the build system
+#
+AC_CONFIG_FILES([unix-cc.mk:unix-cc.in
+ unix-def.mk:unix-def.in
+ freetype-config
+ freetype2.pc:freetype2.in])
+
+# re-generate the Jamfile to use libtool now
+#
+# AC_CONFIG_FILES([../../Jamfile:../../Jamfile.in])
+
+AC_OUTPUT
+
+# end of configure.raw
diff --git a/components/external/freetype/builds/unix/configure.raw b/components/external/freetype/builds/unix/configure.raw
index 4aec599a6c..ff16dfe330 100644
--- a/components/external/freetype/builds/unix/configure.raw
+++ b/components/external/freetype/builds/unix/configure.raw
@@ -1,684 +1,684 @@
-# This file is part of the FreeType project.
-#
-# Process this file with autoconf to produce a configure script.
-#
-# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT. By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-
-AC_INIT([FreeType], [@VERSION@], [[email protected]], [freetype])
-AC_CONFIG_SRCDIR([ftconfig.in])
-
-
-# Don't forget to update docs/VERSION.DLL!
-
-version_info='10:0:4'
-AC_SUBST([version_info])
-ft_version=`echo $version_info | tr : .`
-AC_SUBST([ft_version])
-
-
-# checks for system type
-
-AC_CANONICAL_HOST
-
-
-# checks for programs
-
-AC_PROG_CC
-AC_PROG_CPP
-AC_SUBST(EXEEXT)
-
-
-# checks for native programs to generate building tool
-
-if test ${cross_compiling} = yes; then
- AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build}-gcc)
- test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, gcc, gcc)
- test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, cc, cc, , , /usr/ucb/cc)
- test -z "${CC_BUILD}" && AC_MSG_ERROR([cannot find native C compiler])
-
- AC_MSG_CHECKING([for suffix of native executables])
- rm -f a.* b.* a_out.exe conftest.*
- echo > conftest.c "int main() { return 0;}"
- ${CC_BUILD} conftest.c || AC_MSG_ERROR([native C compiler is not working])
- rm -f conftest.c
- if test -x a.out -o -x b.out -o -x conftest; then
- EXEEXT_BUILD=""
- elif test -x a_out.exe -o -x conftest.exe; then
- EXEEXT_BUILD=".exe"
- elif test -x conftest.* ; then
- EXEEXT_BUILD=`echo conftest.* | sed -n '1s/^.*\././'`
- fi
- rm -f a.* b.* a_out.exe conftest.*
- AC_MSG_RESULT($EXEEXT_BUILD)
-else
- CC_BUILD=${CC}
- EXEEXT_BUILD=${EXEEXT}
-fi
-
-AC_SUBST(CC_BUILD)
-AC_SUBST(EXEEXT_BUILD)
-
-
-
-# get compiler flags right
-
-if test "x$GCC" = xyes; then
- XX_CFLAGS="-Wall"
- XX_ANSIFLAGS="-pedantic -ansi"
-else
- case "$host" in
- *-dec-osf*)
- CFLAGS=
- XX_CFLAGS="-std1 -g3"
- XX_ANSIFLAGS=
- ;;
- *)
- XX_CFLAGS=
- XX_ANSIFLAGS=
- ;;
- esac
-fi
-AC_SUBST([XX_CFLAGS])
-AC_SUBST([XX_ANSIFLAGS])
-
-
-# auxiliary programs
-
-AC_CHECK_PROG([RMF], [rm], [rm -f])
-AC_CHECK_PROG([RMDIR], [rmdir], [rmdir])
-
-
-# Since this file will be finally moved to another directory we make
-# the path of the install script absolute. This small code snippet has
-# been taken from automake's `ylwrap' script.
-
-AC_PROG_INSTALL
-case "$INSTALL" in
-/*)
- ;;
-*/*)
- INSTALL="`pwd`/$INSTALL" ;;
-esac
-
-
-# checks for header files
-
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h unistd.h])
-
-
-# checks for typedefs, structures, and compiler characteristics
-
-AC_C_CONST
-AC_CHECK_SIZEOF([int])
-AC_CHECK_SIZEOF([long])
-
-
-# check whether cpp computation of size of int and long in ftconfig.in works
-
-AC_MSG_CHECKING([cpp computation of bit length in ftconfig.in works])
-orig_CPPFLAGS="${CPPFLAGS}"
-CPPFLAGS="-I${srcdir} -I. ${CPPFLAGS}"
-ac_clean_files="ft2build.h ftoption.h ftstdlib.h"
-touch ft2build.h ftoption.h ftstdlib.h
-
-cat > conftest.c <<\_ACEOF
-#include <limits.h>
-#define FT_CONFIG_OPTIONS_H "ftoption.h"
-#define FT_CONFIG_STANDARD_LIBRARY_H "ftstdlib.h"
-#define FT_UINT_MAX UINT_MAX
-#define FT_ULONG_MAX ULONG_MAX
-#include "ftconfig.in"
-_ACEOF
-echo >> conftest.c "#if FT_SIZEOF_INT == "${ac_cv_sizeof_int}
-echo >> conftest.c "ac_cpp_ft_sizeof_int="${ac_cv_sizeof_int}
-echo >> conftest.c "#endif"
-echo >> conftest.c "#if FT_SIZEOF_LONG == "${ac_cv_sizeof_long}
-echo >> conftest.c "ac_cpp_ft_sizeof_long="${ac_cv_sizeof_long}
-echo >> conftest.c "#endif"
-
-${CPP} ${CPPFLAGS} conftest.c | ${GREP} ac_cpp_ft > conftest.sh
-eval `cat conftest.sh`
-${RMF} conftest.c conftest.sh confft2build.h ftoption.h ftstdlib.h
-
-if test x != "x${ac_cpp_ft_sizeof_int}" \
- -a x != x"${ac_cpp_ft_sizeof_long}"; then
- unset ft_use_autoconf_sizeof_types
-else
- ft_use_autoconf_sizeof_types=yes
-fi
-
-AC_ARG_ENABLE(biarch-config,
-[ --enable-biarch-config install biarch ftconfig.h to support multiple
- architectures by single file], [], [])
-
-case :${ft_use_autoconf_sizeof_types}:${enable_biarch_config}: in
- :yes:yes:)
- AC_MSG_RESULT([broken but use it])
- unset ft_use_autoconf_sizeof_types
- ;;
- ::no:)
- AC_MSG_RESULT([works but ignore it])
- ft_use_autoconf_sizeof_types=yes
- ;;
- ::yes: | :::)
- AC_MSG_RESULT([yes])
- unset ft_use_autoconf_sizeof_types
- ;;
- *)
- AC_MSG_RESULT([no])
- ft_use_autoconf_sizeof_types=yes
- ;;
-esac
-
-if test x"${ft_use_autoconf_sizeof_types}" = xyes; then
- AC_DEFINE([FT_USE_AUTOCONF_SIZEOF_TYPES])
-fi
-
-CPPFLAGS="${orig_CPPFLAGS}"
-
-
-# checks for library functions
-
-# Here we check whether we can use our mmap file component.
-
-AC_FUNC_MMAP
-if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
- FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
-else
- FTSYS_SRC='$(BUILD_DIR)/ftsystem.c'
-
- AC_CHECK_DECLS([munmap],
- [],
- [],
- [
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <sys/mman.h>
-
- ])
-
- FT_MUNMAP_PARAM
-fi
-AC_SUBST([FTSYS_SRC])
-
-AC_CHECK_FUNCS([memcpy memmove])
-
-
-# check for system zlib
-
-# don't quote AS_HELP_STRING!
-AC_ARG_WITH([zlib],
- AS_HELP_STRING([--without-zlib],
- [use internal zlib instead of system-wide]))
-if test x$with_zlib != xno && test -z "$LIBZ"; then
- AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
-fi
-if test x$with_zlib != xno && test -n "$LIBZ"; then
- CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB"
- LDFLAGS="$LDFLAGS $LIBZ"
- SYSTEM_ZLIB=yes
-fi
-
-
-# Some options handling SDKs/archs in CFLAGS should be copied
-# to LDFLAGS. Apple TechNote 2137 recommends to include these
-# options in CFLAGS but not in LDFLAGS.
-
-save_config_args=$*
-set dummy ${CFLAGS}
-i=1
-while test $i -lt $#
-do
- c=$1
-
- case "${c}" in
- -isysroot|-arch) # options taking 1 argument
- a=$2
- AC_MSG_CHECKING([whether CFLAGS and LDFLAGS share ${c} ${a}])
- if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
- then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no, copy to LDFLAGS])
- LDFLAGS="${LDFLAGS} ${c} ${a}"
- fi
- shift 1
- ;;
- -m32|-m64) # options taking no argument
- AC_MSG_RESULT([whether CFLAGS and LDFLAGS share ${c}])
- if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
- then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no, copy to LDFLAGS])
- LDFLAGS="${LDFLAGS} ${c}"
- fi
- ;;
- # *)
- # AC_MSG_RESULT([${c} is not copied to LDFLAGS])
- # ;;
- esac
-
- shift 1
-done
-set ${save_config_args}
-
-
-# Whether to use Mac OS resource-based fonts.
-
-ftmac_c="" # src/base/ftmac.c should not be included in makefiles by default
-
-# don't quote AS_HELP_STRING!
-AC_ARG_WITH([old-mac-fonts],
- AS_HELP_STRING([--with-old-mac-fonts],
- [allow Mac resource-based fonts to be used]))
-if test x$with_old_mac_fonts = xyes; then
- orig_LDFLAGS="${LDFLAGS}"
- AC_MSG_CHECKING([CoreServices & ApplicationServices of Mac OS X])
- FT2_EXTRA_LIBS="-Wl,-framework,CoreServices -Wl,-framework,ApplicationServices"
- LDFLAGS="$LDFLAGS $FT2_EXTRA_LIBS"
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-#endif
-
- ],
- [
-
- short res = 0;
-
-
- UseResFile( res );
-
- ])],
- [AC_MSG_RESULT([ok])
- ftmac_c='ftmac.c'
- AC_MSG_CHECKING([OS_INLINE macro is ANSI compatible])
- orig_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-#endif
-
- ],
- [
-
- /* OSHostByteOrder() is typed as OS_INLINE */
- int32_t os_byte_order = OSHostByteOrder();
-
-
- if ( OSBigEndian != os_byte_order )
- return 1;
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$orig_CFLAGS"
- CFLAGS="$CFLAGS -DHAVE_ANSI_OS_INLINE=1"
- ],
- [AC_MSG_RESULT([no, ANSI incompatible])
- CFLAGS="$orig_CFLAGS"
- ])
- AC_MSG_CHECKING([type ResourceIndex])
- orig_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-# include <Resources.h>
-#endif
-
- ],
- [
-
- ResourceIndex i = 0;
- return i;
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$orig_CFLAGS"
- CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=1"
- ],
- [AC_MSG_RESULT([no])
- CFLAGS="$orig_CFLAGS"
- CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=0"
- ])],
- [AC_MSG_RESULT([not found])
- FT2_EXTRA_LIBS=""
- LDFLAGS="${orig_LDFLAGS}"
- CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"])
-else
- case x$host_os in
- xdarwin*)
- dnl AC_MSG_WARN([host system is MacOS but configured to build without Carbon])
- CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
- ;;
- *) ;;
- esac
-fi
-
-
-# Whether to use FileManager which is deprecated since Mac OS X 10.4.
-
-AC_ARG_WITH([fsspec],
- AS_HELP_STRING([--with-fsspec],
- [use obsolete FSSpec API of MacOS, if available (default=yes)]))
-if test x$with_fsspec = xno; then
- CFLAGS="$CFLAGS -DHAVE_FSSPEC=0"
-elif test x$with_old_mac_fonts = xyes -a x$with_fsspec != x; then
- AC_MSG_CHECKING([FSSpec-based FileManager])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-#endif
-
- ],
- [
-
- FCBPBPtr paramBlock;
- short vRefNum;
- long dirID;
- ConstStr255Param fileName;
- FSSpec* spec;
-
-
- /* FSSpec functions: deprecated since Mac OS X 10.4 */
- PBGetFCBInfoSync( paramBlock );
- FSMakeFSSpec( vRefNum, dirID, fileName, spec );
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$CFLAGS -DHAVE_FSSPEC=1"],
- [AC_MSG_RESULT([not found])
- CFLAGS="$CFLAGS -DHAVE_FSSPEC=0"])
-fi
-
-
-# Whether to use FileManager in Carbon since MacOS 9.x.
-
-AC_ARG_WITH([fsref],
- AS_HELP_STRING([--with-fsref],
- [use Carbon FSRef API of MacOS, if available (default=yes)]))
-if test x$with_fsref = xno; then
- AC_MSG_WARN([
-*** WARNING
- FreeType2 built without FSRef API cannot load
- data-fork fonts on MacOS, except of XXX.dfont.
- ])
- CFLAGS="$CFLAGS -DHAVE_FSREF=0"
-elif test x$with_old_mac_fonts = xyes -a x$with_fsref != x; then
- AC_MSG_CHECKING([FSRef-based FileManager])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-#endif
-
- ],
- [
-
- short vRefNum;
- long dirID;
- ConstStr255Param fileName;
-
- Boolean* isDirectory;
- UInt8* path;
- SInt16 desiredRefNum;
- SInt16* iterator;
- SInt16* actualRefNum;
- HFSUniStr255* outForkName;
- FSVolumeRefNum volume;
- FSCatalogInfoBitmap whichInfo;
- FSCatalogInfo* catalogInfo;
- FSForkInfo* forkInfo;
- FSRef* ref;
-
-#if HAVE_FSSPEC
- FSSpec* spec;
-#endif
-
- /* FSRef functions: no need to check? */
- FSGetForkCBInfo( desiredRefNum, volume, iterator,
- actualRefNum, forkInfo, ref,
- outForkName );
- FSPathMakeRef( path, ref, isDirectory );
-
-#if HAVE_FSSPEC
- FSpMakeFSRef ( spec, ref );
- FSGetCatalogInfo( ref, whichInfo, catalogInfo,
- outForkName, spec, ref );
-#endif
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$CFLAGS -DHAVE_FSREF=1"],
- [AC_MSG_RESULT([not found])
- CFLAGS="$CFLAGS -DHAVE_FSREF=0"])
-fi
-
-
-# Whether to use QuickDraw API in ToolBox which is deprecated since
-# Mac OS X 10.4.
-
-AC_ARG_WITH([quickdraw-toolbox],
- AS_HELP_STRING([--with-quickdraw-toolbox],
- [use MacOS QuickDraw in ToolBox, if available (default=yes)]))
-if test x$with_quickdraw_toolbox = xno; then
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=0"
-elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_toolbox != x; then
- AC_MSG_CHECKING([QuickDraw FontManager functions in ToolBox])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Fonts.h>
-#endif
-
- ],
- [
-
- Str255 familyName;
- SInt16 familyID = 0;
- FMInput* fmIn = NULL;
- FMOutput* fmOut = NULL;
-
-
- GetFontName( familyID, familyName );
- GetFNum( familyName, &familyID );
- fmOut = FMSwapFont( fmIn );
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=1"],
- [AC_MSG_RESULT([not found])
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=0"])
-fi
-
-
-# Whether to use QuickDraw API in Carbon which is deprecated since
-# Mac OS X 10.4.
-
-AC_ARG_WITH([quickdraw-carbon],
- AS_HELP_STRING([--with-quickdraw-carbon],
- [use MacOS QuickDraw in Carbon, if available (default=yes)]))
-if test x$with_quickdraw_carbon = xno; then
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=0"
-elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_carbon != x; then
- AC_MSG_CHECKING([QuickDraw FontManager functions in Carbon])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Fonts.h>
-#endif
-
- ],
- [
-
- FMFontFamilyIterator famIter;
- FMFontFamily family;
- Str255 famNameStr;
- FMFontFamilyInstanceIterator instIter;
- FMFontStyle style;
- FMFontSize size;
- FMFont font;
- FSSpec* pathSpec;
-
-
- FMCreateFontFamilyIterator( NULL, NULL, kFMUseGlobalScopeOption,
- &famIter );
- FMGetNextFontFamily( &famIter, &family );
- FMGetFontFamilyName( family, famNameStr );
- FMCreateFontFamilyInstanceIterator( family, &instIter );
- FMGetNextFontFamilyInstance( &instIter, &font, &style, &size );
- FMDisposeFontFamilyInstanceIterator( &instIter );
- FMDisposeFontFamilyIterator( &famIter );
- FMGetFontContainer( font, pathSpec );
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=1"],
- [AC_MSG_RESULT([not found])
- CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=0"])
-fi
-
-
-# Whether to use AppleTypeService since Mac OS X.
-
-# don't quote AS_HELP_STRING!
-AC_ARG_WITH([ats],
- AS_HELP_STRING([--with-ats],
- [use AppleTypeService, if available (default=yes)]))
-if test x$with_ats = xno; then
- CFLAGS="$CFLAGS -DHAVE_ATS=0"
-elif test x$with_old_mac_fonts = xyes -a x$with_ats != x ; then
- AC_MSG_CHECKING([AppleTypeService functions])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-
-#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <CoreServices/CoreServices.h>
-# include <ApplicationServices/ApplicationServices.h>
-#else
-# include <ConditionalMacros.h>
-# include <Files.h>
-#endif
-
- ],
- [
-
- FSSpec* pathSpec;
-
-
- ATSFontFindFromName( NULL, kATSOptionFlagsUnRestrictedScope );
-#if HAVE_FSSPEC
- ATSFontGetFileSpecification( 0, pathSpec );
-#endif
-
- ])],
- [AC_MSG_RESULT([ok])
- CFLAGS="$CFLAGS -DHAVE_ATS=1"],
- [AC_MSG_RESULT([not found])
- CFLAGS="$CFLAGS -DHAVE_ATS=0"])
-fi
-
-case "$CFLAGS" in
- *HAVE_FSSPEC* | *HAVE_FSREF* | *HAVE_QUICKDRAW* | *HAVE_ATS* )
- AC_MSG_WARN([
-*** WARNING
- FSSpec/FSRef/QuickDraw/ATS options are explicitly given,
- thus it is recommended to replace src/base/ftmac.c by builds/mac/ftmac.c.
- ])
- CFLAGS="$CFLAGS "'-I$(TOP_DIR)/builds/mac/'
- ;;
- *)
- ;;
-esac
-
-
-AC_SUBST([ftmac_c])
-AC_SUBST([LIBZ])
-AC_SUBST([CFLAGS])
-AC_SUBST([LDFLAGS])
-AC_SUBST([FT2_EXTRA_LIBS])
-AC_SUBST([SYSTEM_ZLIB])
-
-
-LT_INIT(win32-dll)
-
-AC_SUBST([hardcode_libdir_flag_spec])
-AC_SUBST([wl])
-AC_SUBST([build_libtool_libs])
-
-
-# configuration file -- stay in 8.3 limit
-#
-# since #undef doesn't survive in configuration header files we replace
-# `/undef' with `#undef' after creating the output file
-
-AC_CONFIG_HEADERS([ftconfig.h:ftconfig.in],
- [mv ftconfig.h ftconfig.tmp
- sed 's|/undef|#undef|' < ftconfig.tmp > ftconfig.h
- rm ftconfig.tmp])
-
-# create the Unix-specific sub-Makefiles `builds/unix/unix-def.mk'
-# and `builds/unix/unix-cc.mk' that will be used by the build system
-#
-AC_CONFIG_FILES([unix-cc.mk:unix-cc.in
- unix-def.mk:unix-def.in
- freetype-config
- freetype2.pc:freetype2.in])
-
-# re-generate the Jamfile to use libtool now
-#
-# AC_CONFIG_FILES([../../Jamfile:../../Jamfile.in])
-
-AC_OUTPUT
-
-# end of configure.raw
+# This file is part of the FreeType project.
+#
+# Process this file with autoconf to produce a configure script.
+#
+# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+AC_INIT([FreeType], [@VERSION@], [[email protected]], [freetype])
+AC_CONFIG_SRCDIR([ftconfig.in])
+
+
+# Don't forget to update docs/VERSION.DLL!
+
+version_info='10:0:4'
+AC_SUBST([version_info])
+ft_version=`echo $version_info | tr : .`
+AC_SUBST([ft_version])
+
+
+# checks for system type
+
+AC_CANONICAL_HOST
+
+
+# checks for programs
+
+AC_PROG_CC
+AC_PROG_CPP
+AC_SUBST(EXEEXT)
+
+
+# checks for native programs to generate building tool
+
+if test ${cross_compiling} = yes; then
+ AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build}-gcc)
+ test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, gcc, gcc)
+ test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, cc, cc, , , /usr/ucb/cc)
+ test -z "${CC_BUILD}" && AC_MSG_ERROR([cannot find native C compiler])
+
+ AC_MSG_CHECKING([for suffix of native executables])
+ rm -f a.* b.* a_out.exe conftest.*
+ echo > conftest.c "int main() { return 0;}"
+ ${CC_BUILD} conftest.c || AC_MSG_ERROR([native C compiler is not working])
+ rm -f conftest.c
+ if test -x a.out -o -x b.out -o -x conftest; then
+ EXEEXT_BUILD=""
+ elif test -x a_out.exe -o -x conftest.exe; then
+ EXEEXT_BUILD=".exe"
+ elif test -x conftest.* ; then
+ EXEEXT_BUILD=`echo conftest.* | sed -n '1s/^.*\././'`
+ fi
+ rm -f a.* b.* a_out.exe conftest.*
+ AC_MSG_RESULT($EXEEXT_BUILD)
+else
+ CC_BUILD=${CC}
+ EXEEXT_BUILD=${EXEEXT}
+fi
+
+AC_SUBST(CC_BUILD)
+AC_SUBST(EXEEXT_BUILD)
+
+
+
+# get compiler flags right
+
+if test "x$GCC" = xyes; then
+ XX_CFLAGS="-Wall"
+ XX_ANSIFLAGS="-pedantic -ansi"
+else
+ case "$host" in
+ *-dec-osf*)
+ CFLAGS=
+ XX_CFLAGS="-std1 -g3"
+ XX_ANSIFLAGS=
+ ;;
+ *)
+ XX_CFLAGS=
+ XX_ANSIFLAGS=
+ ;;
+ esac
+fi
+AC_SUBST([XX_CFLAGS])
+AC_SUBST([XX_ANSIFLAGS])
+
+
+# auxiliary programs
+
+AC_CHECK_PROG([RMF], [rm], [rm -f])
+AC_CHECK_PROG([RMDIR], [rmdir], [rmdir])
+
+
+# Since this file will be finally moved to another directory we make
+# the path of the install script absolute. This small code snippet has
+# been taken from automake's `ylwrap' script.
+
+AC_PROG_INSTALL
+case "$INSTALL" in
+/*)
+ ;;
+*/*)
+ INSTALL="`pwd`/$INSTALL" ;;
+esac
+
+
+# checks for header files
+
+AC_HEADER_STDC
+AC_CHECK_HEADERS([fcntl.h unistd.h])
+
+
+# checks for typedefs, structures, and compiler characteristics
+
+AC_C_CONST
+AC_CHECK_SIZEOF([int])
+AC_CHECK_SIZEOF([long])
+
+
+# check whether cpp computation of size of int and long in ftconfig.in works
+
+AC_MSG_CHECKING([cpp computation of bit length in ftconfig.in works])
+orig_CPPFLAGS="${CPPFLAGS}"
+CPPFLAGS="-I${srcdir} -I. ${CPPFLAGS}"
+ac_clean_files="ft2build.h ftoption.h ftstdlib.h"
+touch ft2build.h ftoption.h ftstdlib.h
+
+cat > conftest.c <<\_ACEOF
+#include <limits.h>
+#define FT_CONFIG_OPTIONS_H "ftoption.h"
+#define FT_CONFIG_STANDARD_LIBRARY_H "ftstdlib.h"
+#define FT_UINT_MAX UINT_MAX
+#define FT_ULONG_MAX ULONG_MAX
+#include "ftconfig.in"
+_ACEOF
+echo >> conftest.c "#if FT_SIZEOF_INT == "${ac_cv_sizeof_int}
+echo >> conftest.c "ac_cpp_ft_sizeof_int="${ac_cv_sizeof_int}
+echo >> conftest.c "#endif"
+echo >> conftest.c "#if FT_SIZEOF_LONG == "${ac_cv_sizeof_long}
+echo >> conftest.c "ac_cpp_ft_sizeof_long="${ac_cv_sizeof_long}
+echo >> conftest.c "#endif"
+
+${CPP} ${CPPFLAGS} conftest.c | ${GREP} ac_cpp_ft > conftest.sh
+eval `cat conftest.sh`
+${RMF} conftest.c conftest.sh confft2build.h ftoption.h ftstdlib.h
+
+if test x != "x${ac_cpp_ft_sizeof_int}" \
+ -a x != x"${ac_cpp_ft_sizeof_long}"; then
+ unset ft_use_autoconf_sizeof_types
+else
+ ft_use_autoconf_sizeof_types=yes
+fi
+
+AC_ARG_ENABLE(biarch-config,
+[ --enable-biarch-config install biarch ftconfig.h to support multiple
+ architectures by single file], [], [])
+
+case :${ft_use_autoconf_sizeof_types}:${enable_biarch_config}: in
+ :yes:yes:)
+ AC_MSG_RESULT([broken but use it])
+ unset ft_use_autoconf_sizeof_types
+ ;;
+ ::no:)
+ AC_MSG_RESULT([works but ignore it])
+ ft_use_autoconf_sizeof_types=yes
+ ;;
+ ::yes: | :::)
+ AC_MSG_RESULT([yes])
+ unset ft_use_autoconf_sizeof_types
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ft_use_autoconf_sizeof_types=yes
+ ;;
+esac
+
+if test x"${ft_use_autoconf_sizeof_types}" = xyes; then
+ AC_DEFINE([FT_USE_AUTOCONF_SIZEOF_TYPES])
+fi
+
+CPPFLAGS="${orig_CPPFLAGS}"
+
+
+# checks for library functions
+
+# Here we check whether we can use our mmap file component.
+
+AC_FUNC_MMAP
+if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
+ FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
+else
+ FTSYS_SRC='$(BUILD_DIR)/ftsystem.c'
+
+ AC_CHECK_DECLS([munmap],
+ [],
+ [],
+ [
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <sys/mman.h>
+
+ ])
+
+ FT_MUNMAP_PARAM
+fi
+AC_SUBST([FTSYS_SRC])
+
+AC_CHECK_FUNCS([memcpy memmove])
+
+
+# check for system zlib
+
+# don't quote AS_HELP_STRING!
+AC_ARG_WITH([zlib],
+ AS_HELP_STRING([--without-zlib],
+ [use internal zlib instead of system-wide]))
+if test x$with_zlib != xno && test -z "$LIBZ"; then
+ AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
+fi
+if test x$with_zlib != xno && test -n "$LIBZ"; then
+ CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB"
+ LDFLAGS="$LDFLAGS $LIBZ"
+ SYSTEM_ZLIB=yes
+fi
+
+
+# Some options handling SDKs/archs in CFLAGS should be copied
+# to LDFLAGS. Apple TechNote 2137 recommends to include these
+# options in CFLAGS but not in LDFLAGS.
+
+save_config_args=$*
+set dummy ${CFLAGS}
+i=1
+while test $i -lt $#
+do
+ c=$1
+
+ case "${c}" in
+ -isysroot|-arch) # options taking 1 argument
+ a=$2
+ AC_MSG_CHECKING([whether CFLAGS and LDFLAGS share ${c} ${a}])
+ if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
+ then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no, copy to LDFLAGS])
+ LDFLAGS="${LDFLAGS} ${c} ${a}"
+ fi
+ shift 1
+ ;;
+ -m32|-m64) # options taking no argument
+ AC_MSG_RESULT([whether CFLAGS and LDFLAGS share ${c}])
+ if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
+ then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no, copy to LDFLAGS])
+ LDFLAGS="${LDFLAGS} ${c}"
+ fi
+ ;;
+ # *)
+ # AC_MSG_RESULT([${c} is not copied to LDFLAGS])
+ # ;;
+ esac
+
+ shift 1
+done
+set ${save_config_args}
+
+
+# Whether to use Mac OS resource-based fonts.
+
+ftmac_c="" # src/base/ftmac.c should not be included in makefiles by default
+
+# don't quote AS_HELP_STRING!
+AC_ARG_WITH([old-mac-fonts],
+ AS_HELP_STRING([--with-old-mac-fonts],
+ [allow Mac resource-based fonts to be used]))
+if test x$with_old_mac_fonts = xyes; then
+ orig_LDFLAGS="${LDFLAGS}"
+ AC_MSG_CHECKING([CoreServices & ApplicationServices of Mac OS X])
+ FT2_EXTRA_LIBS="-Wl,-framework,CoreServices -Wl,-framework,ApplicationServices"
+ LDFLAGS="$LDFLAGS $FT2_EXTRA_LIBS"
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
+
+ ],
+ [
+
+ short res = 0;
+
+
+ UseResFile( res );
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ ftmac_c='ftmac.c'
+ AC_MSG_CHECKING([OS_INLINE macro is ANSI compatible])
+ orig_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
+
+ ],
+ [
+
+ /* OSHostByteOrder() is typed as OS_INLINE */
+ int32_t os_byte_order = OSHostByteOrder();
+
+
+ if ( OSBigEndian != os_byte_order )
+ return 1;
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_ANSI_OS_INLINE=1"
+ ],
+ [AC_MSG_RESULT([no, ANSI incompatible])
+ CFLAGS="$orig_CFLAGS"
+ ])
+ AC_MSG_CHECKING([type ResourceIndex])
+ orig_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+# include <Resources.h>
+#endif
+
+ ],
+ [
+
+ ResourceIndex i = 0;
+ return i;
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=1"
+ ],
+ [AC_MSG_RESULT([no])
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=0"
+ ])],
+ [AC_MSG_RESULT([not found])
+ FT2_EXTRA_LIBS=""
+ LDFLAGS="${orig_LDFLAGS}"
+ CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"])
+else
+ case x$host_os in
+ xdarwin*)
+ dnl AC_MSG_WARN([host system is MacOS but configured to build without Carbon])
+ CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
+ ;;
+ *) ;;
+ esac
+fi
+
+
+# Whether to use FileManager which is deprecated since Mac OS X 10.4.
+
+AC_ARG_WITH([fsspec],
+ AS_HELP_STRING([--with-fsspec],
+ [use obsolete FSSpec API of MacOS, if available (default=yes)]))
+if test x$with_fsspec = xno; then
+ CFLAGS="$CFLAGS -DHAVE_FSSPEC=0"
+elif test x$with_old_mac_fonts = xyes -a x$with_fsspec != x; then
+ AC_MSG_CHECKING([FSSpec-based FileManager])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
+
+ ],
+ [
+
+ FCBPBPtr paramBlock;
+ short vRefNum;
+ long dirID;
+ ConstStr255Param fileName;
+ FSSpec* spec;
+
+
+ /* FSSpec functions: deprecated since Mac OS X 10.4 */
+ PBGetFCBInfoSync( paramBlock );
+ FSMakeFSSpec( vRefNum, dirID, fileName, spec );
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$CFLAGS -DHAVE_FSSPEC=1"],
+ [AC_MSG_RESULT([not found])
+ CFLAGS="$CFLAGS -DHAVE_FSSPEC=0"])
+fi
+
+
+# Whether to use FileManager in Carbon since MacOS 9.x.
+
+AC_ARG_WITH([fsref],
+ AS_HELP_STRING([--with-fsref],
+ [use Carbon FSRef API of MacOS, if available (default=yes)]))
+if test x$with_fsref = xno; then
+ AC_MSG_WARN([
+*** WARNING
+ FreeType2 built without FSRef API cannot load
+ data-fork fonts on MacOS, except of XXX.dfont.
+ ])
+ CFLAGS="$CFLAGS -DHAVE_FSREF=0"
+elif test x$with_old_mac_fonts = xyes -a x$with_fsref != x; then
+ AC_MSG_CHECKING([FSRef-based FileManager])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
+
+ ],
+ [
+
+ short vRefNum;
+ long dirID;
+ ConstStr255Param fileName;
+
+ Boolean* isDirectory;
+ UInt8* path;
+ SInt16 desiredRefNum;
+ SInt16* iterator;
+ SInt16* actualRefNum;
+ HFSUniStr255* outForkName;
+ FSVolumeRefNum volume;
+ FSCatalogInfoBitmap whichInfo;
+ FSCatalogInfo* catalogInfo;
+ FSForkInfo* forkInfo;
+ FSRef* ref;
+
+#if HAVE_FSSPEC
+ FSSpec* spec;
+#endif
+
+ /* FSRef functions: no need to check? */
+ FSGetForkCBInfo( desiredRefNum, volume, iterator,
+ actualRefNum, forkInfo, ref,
+ outForkName );
+ FSPathMakeRef( path, ref, isDirectory );
+
+#if HAVE_FSSPEC
+ FSpMakeFSRef ( spec, ref );
+ FSGetCatalogInfo( ref, whichInfo, catalogInfo,
+ outForkName, spec, ref );
+#endif
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$CFLAGS -DHAVE_FSREF=1"],
+ [AC_MSG_RESULT([not found])
+ CFLAGS="$CFLAGS -DHAVE_FSREF=0"])
+fi
+
+
+# Whether to use QuickDraw API in ToolBox which is deprecated since
+# Mac OS X 10.4.
+
+AC_ARG_WITH([quickdraw-toolbox],
+ AS_HELP_STRING([--with-quickdraw-toolbox],
+ [use MacOS QuickDraw in ToolBox, if available (default=yes)]))
+if test x$with_quickdraw_toolbox = xno; then
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=0"
+elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_toolbox != x; then
+ AC_MSG_CHECKING([QuickDraw FontManager functions in ToolBox])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Fonts.h>
+#endif
+
+ ],
+ [
+
+ Str255 familyName;
+ SInt16 familyID = 0;
+ FMInput* fmIn = NULL;
+ FMOutput* fmOut = NULL;
+
+
+ GetFontName( familyID, familyName );
+ GetFNum( familyName, &familyID );
+ fmOut = FMSwapFont( fmIn );
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=1"],
+ [AC_MSG_RESULT([not found])
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=0"])
+fi
+
+
+# Whether to use QuickDraw API in Carbon which is deprecated since
+# Mac OS X 10.4.
+
+AC_ARG_WITH([quickdraw-carbon],
+ AS_HELP_STRING([--with-quickdraw-carbon],
+ [use MacOS QuickDraw in Carbon, if available (default=yes)]))
+if test x$with_quickdraw_carbon = xno; then
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=0"
+elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_carbon != x; then
+ AC_MSG_CHECKING([QuickDraw FontManager functions in Carbon])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Fonts.h>
+#endif
+
+ ],
+ [
+
+ FMFontFamilyIterator famIter;
+ FMFontFamily family;
+ Str255 famNameStr;
+ FMFontFamilyInstanceIterator instIter;
+ FMFontStyle style;
+ FMFontSize size;
+ FMFont font;
+ FSSpec* pathSpec;
+
+
+ FMCreateFontFamilyIterator( NULL, NULL, kFMUseGlobalScopeOption,
+ &famIter );
+ FMGetNextFontFamily( &famIter, &family );
+ FMGetFontFamilyName( family, famNameStr );
+ FMCreateFontFamilyInstanceIterator( family, &instIter );
+ FMGetNextFontFamilyInstance( &instIter, &font, &style, &size );
+ FMDisposeFontFamilyInstanceIterator( &instIter );
+ FMDisposeFontFamilyIterator( &famIter );
+ FMGetFontContainer( font, pathSpec );
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=1"],
+ [AC_MSG_RESULT([not found])
+ CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=0"])
+fi
+
+
+# Whether to use AppleTypeService since Mac OS X.
+
+# don't quote AS_HELP_STRING!
+AC_ARG_WITH([ats],
+ AS_HELP_STRING([--with-ats],
+ [use AppleTypeService, if available (default=yes)]))
+if test x$with_ats = xno; then
+ CFLAGS="$CFLAGS -DHAVE_ATS=0"
+elif test x$with_old_mac_fonts = xyes -a x$with_ats != x ; then
+ AC_MSG_CHECKING([AppleTypeService functions])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
+
+ ],
+ [
+
+ FSSpec* pathSpec;
+
+
+ ATSFontFindFromName( NULL, kATSOptionFlagsUnRestrictedScope );
+#if HAVE_FSSPEC
+ ATSFontGetFileSpecification( 0, pathSpec );
+#endif
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$CFLAGS -DHAVE_ATS=1"],
+ [AC_MSG_RESULT([not found])
+ CFLAGS="$CFLAGS -DHAVE_ATS=0"])
+fi
+
+case "$CFLAGS" in
+ *HAVE_FSSPEC* | *HAVE_FSREF* | *HAVE_QUICKDRAW* | *HAVE_ATS* )
+ AC_MSG_WARN([
+*** WARNING
+ FSSpec/FSRef/QuickDraw/ATS options are explicitly given,
+ thus it is recommended to replace src/base/ftmac.c by builds/mac/ftmac.c.
+ ])
+ CFLAGS="$CFLAGS "'-I$(TOP_DIR)/builds/mac/'
+ ;;
+ *)
+ ;;
+esac
+
+
+AC_SUBST([ftmac_c])
+AC_SUBST([LIBZ])
+AC_SUBST([CFLAGS])
+AC_SUBST([LDFLAGS])
+AC_SUBST([FT2_EXTRA_LIBS])
+AC_SUBST([SYSTEM_ZLIB])
+
+
+LT_INIT(win32-dll)
+
+AC_SUBST([hardcode_libdir_flag_spec])
+AC_SUBST([wl])
+AC_SUBST([build_libtool_libs])
+
+
+# configuration file -- stay in 8.3 limit
+#
+# since #undef doesn't survive in configuration header files we replace
+# `/undef' with `#undef' after creating the output file
+
+AC_CONFIG_HEADERS([ftconfig.h:ftconfig.in],
+ [mv ftconfig.h ftconfig.tmp
+ sed 's|/undef|#undef|' < ftconfig.tmp > ftconfig.h
+ rm ftconfig.tmp])
+
+# create the Unix-specific sub-Makefiles `builds/unix/unix-def.mk'
+# and `builds/unix/unix-cc.mk' that will be used by the build system
+#
+AC_CONFIG_FILES([unix-cc.mk:unix-cc.in
+ unix-def.mk:unix-def.in
+ freetype-config
+ freetype2.pc:freetype2.in])
+
+# re-generate the Jamfile to use libtool now
+#
+# AC_CONFIG_FILES([../../Jamfile:../../Jamfile.in])
+
+AC_OUTPUT
+
+# end of configure.raw
diff --git a/components/external/freetype/builds/unix/install-sh b/components/external/freetype/builds/unix/install-sh
index 16c160754b..6781b987bd 100644
--- a/components/external/freetype/builds/unix/install-sh
+++ b/components/external/freetype/builds/unix/install-sh
@@ -1,520 +1,520 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2009-04-28.21; # UTC
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" "" $nl"
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-no_target_directory=
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
- or: $0 [OPTION]... SRCFILES... DIRECTORY
- or: $0 [OPTION]... -t DIRECTORY SRCFILES...
- or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
- --help display this help and exit.
- --version display version info and exit.
-
- -c (ignored)
- -C install only if different (preserve the last data modification time)
- -d create directories instead of installing files.
- -g GROUP $chgrpprog installed files to GROUP.
- -m MODE $chmodprog installed files to MODE.
- -o USER $chownprog installed files to USER.
- -s $stripprog installed files.
- -t DIRECTORY install into DIRECTORY.
- -T report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
- RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
- case $1 in
- -c) ;;
-
- -C) copy_on_change=true;;
-
- -d) dir_arg=true;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift;;
-
- --help) echo "$usage"; exit $?;;
-
- -m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
-
- -o) chowncmd="$chownprog $2"
- shift;;
-
- -s) stripcmd=$stripprog;;
-
- -t) dst_arg=$2
- shift;;
-
- -T) no_target_directory=true;;
-
- --version) echo "$0 $scriptversion"; exit $?;;
-
- --) shift
- break;;
-
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
-
- *) break;;
- esac
- shift
-done
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
- # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dst_arg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dst_arg"
- shift # fnord
- fi
- shift # arg
- dst_arg=$arg
- done
-fi
-
-if test $# -eq 0; then
- if test -z "$dir_arg"; then
- echo "$0: no input file specified." >&2
- exit 1
- fi
- # It's OK to call `install-sh -d' without argument.
- # This can happen when creating conditional directories.
- exit 0
-fi
-
-if test -z "$dir_arg"; then
- trap '(exit $?); exit' 1 2 13 15
-
- # Set umask so as not to create temps with too-generous modes.
- # However, 'strip' requires both read and write access to temps.
- case $mode in
- # Optimize common cases.
- *644) cp_umask=133;;
- *755) cp_umask=22;;
-
- *[0-7])
- if test -z "$stripcmd"; then
- u_plus_rw=
- else
- u_plus_rw='% 200'
- fi
- cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
- *)
- if test -z "$stripcmd"; then
- u_plus_rw=
- else
- u_plus_rw=,u+rw
- fi
- cp_umask=$mode$u_plus_rw;;
- esac
-fi
-
-for src
-do
- # Protect names starting with `-'.
- case $src in
- -*) src=./$src;;
- esac
-
- if test -n "$dir_arg"; then
- dst=$src
- dstdir=$dst
- test -d "$dstdir"
- dstdir_status=$?
- else
-
- # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
- # might cause directories to be created, which would be especially bad
- # if $src (and thus $dsttmp) contains '*'.
- if test ! -f "$src" && test ! -d "$src"; then
- echo "$0: $src does not exist." >&2
- exit 1
- fi
-
- if test -z "$dst_arg"; then
- echo "$0: no destination specified." >&2
- exit 1
- fi
-
- dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
-
- # If destination is a directory, append the input filename; won't work
- # if double slashes aren't ignored.
- if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
- fi
- dstdir=$dst
- dst=$dstdir/`basename "$src"`
- dstdir_status=0
- else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
- test -d "$dstdir"
- dstdir_status=$?
- fi
- fi
-
- obsolete_mkdir_used=false
-
- if test $dstdir_status != 0; then
- case $posix_mkdir in
- '')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writeable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
- esac
-
- if
- $posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
- )
- then :
- else
-
- # The umask is ridiculous, or mkdir does not conform to POSIX,
- # or it failed possibly due to a race condition. Create the
- # directory the slow way, step by step, checking for races as we go.
-
- case $dstdir in
- /*) prefix='/';;
- -*) prefix='./';;
- *) prefix='';;
- esac
-
- eval "$initialize_posix_glob"
-
- oIFS=$IFS
- IFS=/
- $posix_glob set -f
- set fnord $dstdir
- shift
- $posix_glob set +f
- IFS=$oIFS
-
- prefixes=
-
- for d
- do
- test -z "$d" && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
- done
-
- if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
- fi
- fi
- fi
-
- if test -n "$dir_arg"; then
- { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
- { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
- test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
- else
-
- # Make a couple of temp file names in the proper directory.
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
-
- # Trap to clean up those temp files at exit.
- trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
- # Copy the file name to the temp name.
- (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
- # and set any options; do chmod last to preserve setuid bits.
- #
- # If any of these fail, we abort the whole thing. If we want to
- # ignore errors from any of these, just make sure not to ignore
- # errors from the above "$doit $cpprog $src $dsttmp" command.
- #
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
- { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
- { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
- # If -C, don't bother to copy if it wouldn't change the file.
- if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
- set X $old && old=:$2:$4:$5:$6 &&
- set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
- test "$old" = "$new" &&
- $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
- then
- rm -f "$dsttmp"
- else
- # Rename the file to the real destination.
- $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
- {
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
- }
- fi || exit 1
-
- trap '' 0
- fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2009-04-28.21; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t) dst_arg=$2
+ shift;;
+
+ -T) no_target_directory=true;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names starting with `-'.
+ case $src in
+ -*) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+
+ dst=$dst_arg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst;;
+ esac
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ eval "$initialize_posix_glob"
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
+ shift
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/components/external/freetype/builds/unix/mkinstalldirs b/components/external/freetype/builds/unix/mkinstalldirs
index d3ddb21039..ef7e16fdaf 100644
--- a/components/external/freetype/builds/unix/mkinstalldirs
+++ b/components/external/freetype/builds/unix/mkinstalldirs
@@ -1,161 +1,161 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-
-scriptversion=2006-05-11.19
-
-# Original author: Noah Friedman <[email protected]>
-# Created: 1993-05-16
-# Public domain.
-#
-# This file is maintained in Automake, please report
-# bugs to <[email protected]> or send patches to
-
-nl='
-'
-IFS=" "" $nl"
-errstatus=0
-dirmode=
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
-
-Create each directory DIR (with mode MODE, if specified), including all
-leading file name components.
-
-Report bugs to <[email protected]>."
-
-# process command line arguments
-while test $# -gt 0 ; do
- case $1 in
- -h | --help | --h*) # -h for help
- echo "$usage"
- exit $?
- ;;
- -m) # -m PERM arg
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- dirmode=$1
- shift
- ;;
- --version)
- echo "$0 $scriptversion"
- exit $?
- ;;
- --) # stop option processing
- shift
- break
- ;;
- -*) # unknown option
- echo "$usage" 1>&2
- exit 1
- ;;
- *) # first non-opt arg
- break
- ;;
- esac
-done
-
-for file
-do
- if test -d "$file"; then
- shift
- else
- break
- fi
-done
-
-case $# in
- 0) exit 0 ;;
-esac
-
-# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
-# mkdir -p a/c at the same time, both will detect that a is missing,
-# one will create a, then the other will try to create a and die with
-# a "File exists" error. This is a problem when calling mkinstalldirs
-# from a parallel make. We use --version in the probe to restrict
-# ourselves to GNU mkdir, which is thread-safe.
-case $dirmode in
- '')
- if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- echo "mkdir -p -- $*"
- exec mkdir -p -- "$@"
- else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- test -d ./-p && rmdir ./-p
- test -d ./--version && rmdir ./--version
- fi
- ;;
- *)
- if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
- test ! -d ./--version; then
- echo "mkdir -m $dirmode -p -- $*"
- exec mkdir -m "$dirmode" -p -- "$@"
- else
- # Clean up after NextStep and OpenStep mkdir.
- for d in ./-m ./-p ./--version "./$dirmode";
- do
- test -d $d && rmdir $d
- done
- fi
- ;;
-esac
-
-for file
-do
- case $file in
- /*) pathcomp=/ ;;
- *) pathcomp= ;;
- esac
- oIFS=$IFS
- IFS=/
- set fnord $file
- shift
- IFS=$oIFS
-
- for d
- do
- test "x$d" = x && continue
-
- pathcomp=$pathcomp$d
- case $pathcomp in
- -*) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- else
- if test ! -z "$dirmode"; then
- echo "chmod $dirmode $pathcomp"
- lasterr=
- chmod "$dirmode" "$pathcomp" || lasterr=$?
-
- if test ! -z "$lasterr"; then
- errstatus=$lasterr
- fi
- fi
- fi
- fi
-
- pathcomp=$pathcomp/
- done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+
+scriptversion=2006-05-11.19
+
+# Original author: Noah Friedman <[email protected]>
+# Created: 1993-05-16
+# Public domain.
+#
+# This file is maintained in Automake, please report
+# bugs to <[email protected]> or send patches to
+
+nl='
+'
+IFS=" "" $nl"
+errstatus=0
+dirmode=
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
+
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.
+
+Report bugs to <[email protected]>."
+
+# process command line arguments
+while test $# -gt 0 ; do
+ case $1 in
+ -h | --help | --h*) # -h for help
+ echo "$usage"
+ exit $?
+ ;;
+ -m) # -m PERM arg
+ shift
+ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+ dirmode=$1
+ shift
+ ;;
+ --version)
+ echo "$0 $scriptversion"
+ exit $?
+ ;;
+ --) # stop option processing
+ shift
+ break
+ ;;
+ -*) # unknown option
+ echo "$usage" 1>&2
+ exit 1
+ ;;
+ *) # first non-opt arg
+ break
+ ;;
+ esac
+done
+
+for file
+do
+ if test -d "$file"; then
+ shift
+ else
+ break
+ fi
+done
+
+case $# in
+ 0) exit 0 ;;
+esac
+
+# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
+# mkdir -p a/c at the same time, both will detect that a is missing,
+# one will create a, then the other will try to create a and die with
+# a "File exists" error. This is a problem when calling mkinstalldirs
+# from a parallel make. We use --version in the probe to restrict
+# ourselves to GNU mkdir, which is thread-safe.
+case $dirmode in
+ '')
+ if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ echo "mkdir -p -- $*"
+ exec mkdir -p -- "$@"
+ else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ test -d ./-p && rmdir ./-p
+ test -d ./--version && rmdir ./--version
+ fi
+ ;;
+ *)
+ if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
+ test ! -d ./--version; then
+ echo "mkdir -m $dirmode -p -- $*"
+ exec mkdir -m "$dirmode" -p -- "$@"
+ else
+ # Clean up after NextStep and OpenStep mkdir.
+ for d in ./-m ./-p ./--version "./$dirmode";
+ do
+ test -d $d && rmdir $d
+ done
+ fi
+ ;;
+esac
+
+for file
+do
+ case $file in
+ /*) pathcomp=/ ;;
+ *) pathcomp= ;;
+ esac
+ oIFS=$IFS
+ IFS=/
+ set fnord $file
+ shift
+ IFS=$oIFS
+
+ for d
+ do
+ test "x$d" = x && continue
+
+ pathcomp=$pathcomp$d
+ case $pathcomp in
+ -*) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp"
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ else
+ if test ! -z "$dirmode"; then
+ echo "chmod $dirmode $pathcomp"
+ lasterr=
+ chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+ if test ! -z "$lasterr"; then
+ errstatus=$lasterr
+ fi
+ fi
+ fi
+ fi
+
+ pathcomp=$pathcomp/
+ done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/components/external/freetype/builds/win32/visualc/freetype.sln b/components/external/freetype/builds/win32/visualc/freetype.sln
index c137b6fb5b..2c7445c628 100644
--- a/components/external/freetype/builds/win32/visualc/freetype.sln
+++ b/components/external/freetype/builds/win32/visualc/freetype.sln
@@ -1,33 +1,33 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Debug Multithreaded = Debug Multithreaded
- Debug Singlethreaded = Debug Singlethreaded
- Release = Release
- Release Multithreaded = Release Multithreaded
- Release Singlethreaded = Release Singlethreaded
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.ActiveCfg = Debug|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.Build.0 = Debug|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.ActiveCfg = Debug Multithreaded|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.Build.0 = Debug Multithreaded|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.ActiveCfg = Debug Singlethreaded|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.Build.0 = Debug Singlethreaded|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.ActiveCfg = Release|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.Build.0 = Release|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.ActiveCfg = Release Multithreaded|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.Build.0 = Release Multithreaded|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.ActiveCfg = Release Singlethreaded|Win32
- {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.Build.0 = Release Singlethreaded|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Debug Multithreaded = Debug Multithreaded
+ Debug Singlethreaded = Debug Singlethreaded
+ Release = Release
+ Release Multithreaded = Release Multithreaded
+ Release Singlethreaded = Release Singlethreaded
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.ActiveCfg = Debug|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug.Build.0 = Debug|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.ActiveCfg = Debug Multithreaded|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Multithreaded.Build.0 = Debug Multithreaded|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.ActiveCfg = Debug Singlethreaded|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Debug Singlethreaded.Build.0 = Debug Singlethreaded|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.ActiveCfg = Release|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release.Build.0 = Release|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.ActiveCfg = Release Multithreaded|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Multithreaded.Build.0 = Release Multithreaded|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.ActiveCfg = Release Singlethreaded|Win32
+ {C2AF082C-0E25-49EB-8BFF-38DFDD4F77F8}.Release Singlethreaded.Build.0 = Release Singlethreaded|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/components/external/freetype/builds/win32/visualc/freetype.vcproj b/components/external/freetype/builds/win32/visualc/freetype.vcproj
index 2767987dd5..08bc48f677 100644
--- a/components/external/freetype/builds/win32/visualc/freetype.vcproj
+++ b/components/external/freetype/builds/win32/visualc/freetype.vcproj
@@ -1,2412 +1,2412 @@
-<?xml version="1.0" encoding="gb2312"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="freetype"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\..\..\..\objs\release"
- IntermediateDirectory=".\..\..\..\objs\release"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- ImproveFloatingPointConsistency="TRUE"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
- StringPooling="TRUE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- DisableLanguageExtensions="TRUE"
- PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release/"
- ObjectFile=".\..\..\..\objs\release/"
- ProgramDataBaseFileName=".\..\..\..\objs\release/"
- WarningLevel="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2312.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release Multithreaded|Win32"
- OutputDirectory=".\..\..\..\objs\release_mt"
- IntermediateDirectory=".\..\..\..\objs\release_mt"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- ImproveFloatingPointConsistency="TRUE"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- DisableLanguageExtensions="TRUE"
- PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_mt/"
- ObjectFile=".\..\..\..\objs\release_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
- WarningLevel="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2312MT.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release Singlethreaded|Win32"
- OutputDirectory=".\..\..\..\objs\release_st"
- IntermediateDirectory=".\..\..\..\objs\release_st"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- ImproveFloatingPointConsistency="TRUE"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- DisableLanguageExtensions="TRUE"
- PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_st/"
- ObjectFile=".\..\..\..\objs\release_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
- WarningLevel="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2312ST.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\..\..\..\objs\debug"
- IntermediateDirectory=".\..\..\..\objs\debug"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- ImproveFloatingPointConsistency="TRUE"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_DEBUG;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;WIN32;_LIB;FT2_BUILD_LIBRARY"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="TRUE"
- PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug/"
- ObjectFile=".\..\..\..\objs\debug/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug/"
- WarningLevel="4"
- DebugInformationFormat="1"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2312_D.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug Singlethreaded|Win32"
- OutputDirectory=".\..\..\..\objs\debug_st"
- IntermediateDirectory=".\..\..\..\objs\debug_st"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- ImproveFloatingPointConsistency="TRUE"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_DEBUG;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;WIN32;_LIB;FT2_BUILD_LIBRARY"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- DisableLanguageExtensions="TRUE"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_st/"
- ObjectFile=".\..\..\..\objs\debug_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
- WarningLevel="4"
- DebugInformationFormat="1"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2312ST_D.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug Multithreaded|Win32"
- OutputDirectory=".\..\..\..\objs\debug_mt"
- IntermediateDirectory=".\..\..\..\objs\debug_mt"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- ImproveFloatingPointConsistency="TRUE"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_DEBUG;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;WIN32;_LIB;FT2_BUILD_LIBRARY"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- DisableLanguageExtensions="TRUE"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
- ObjectFile=".\..\..\..\objs\debug_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
- WarningLevel="4"
- DebugInformationFormat="1"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype2312MT_D.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
- <File
- RelativePath="..\..\..\src\autofit\autofit.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\bdf\bdf.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\cff\cff.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftbase.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftbbox.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftbdf.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftbitmap.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\cache\ftcache.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\ftdebug.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- DisableLanguageExtensions="FALSE"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- DisableLanguageExtensions="FALSE"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- DisableLanguageExtensions="FALSE"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- DisableLanguageExtensions="FALSE"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- DisableLanguageExtensions="FALSE"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- DisableLanguageExtensions="FALSE"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftfstype.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftgasp.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftglyph.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftgxval.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\gzip\ftgzip.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftinit.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\lzw\ftlzw.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftmm.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftotval.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftpfr.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftstroke.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftsynth.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftsystem.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\fttype1.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftwinfnt.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftxf86.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\pcf\pcf.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\pfr\pfr.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\psaux\psaux.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\pshinter\pshinter.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\psnames\psmodule.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\raster\raster.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\sfnt\sfnt.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\smooth\smooth.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\truetype\truetype.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\type1\type1.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\cid\type1cid.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\type42\type42.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\winfonts\winfnt.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl">
- <File
- RelativePath="..\..\..\include\ft2build.h">
- </File>
- <File
- RelativePath="..\..\..\include\freetype\config\ftconfig.h">
- </File>
- <File
- RelativePath="..\..\..\include\freetype\config\ftheader.h">
- </File>
- <File
- RelativePath="..\..\..\include\freetype\config\ftmodule.h">
- </File>
- <File
- RelativePath="..\..\..\include\freetype\config\ftoption.h">
- </File>
- <File
- RelativePath="..\..\..\include\freetype\config\ftstdlib.h">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="gb2312"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="freetype"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\..\..\..\objs\release"
+ IntermediateDirectory=".\..\..\..\objs\release"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ ImproveFloatingPointConsistency="TRUE"
+ AdditionalIncludeDirectories="..\..\..\include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ StringPooling="TRUE"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="TRUE"
+ DisableLanguageExtensions="TRUE"
+ PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release/"
+ ObjectFile=".\..\..\..\objs\release/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release/"
+ WarningLevel="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\objs\freetype2312.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release Multithreaded|Win32"
+ OutputDirectory=".\..\..\..\objs\release_mt"
+ IntermediateDirectory=".\..\..\..\objs\release_mt"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ ImproveFloatingPointConsistency="TRUE"
+ AdditionalIncludeDirectories="..\..\..\include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ DisableLanguageExtensions="TRUE"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_mt/"
+ ObjectFile=".\..\..\..\objs\release_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
+ WarningLevel="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\objs\freetype2312MT.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release Singlethreaded|Win32"
+ OutputDirectory=".\..\..\..\objs\release_st"
+ IntermediateDirectory=".\..\..\..\objs\release_st"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ ImproveFloatingPointConsistency="TRUE"
+ AdditionalIncludeDirectories="..\..\..\include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ StringPooling="TRUE"
+ RuntimeLibrary="4"
+ EnableFunctionLevelLinking="TRUE"
+ DisableLanguageExtensions="TRUE"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_st/"
+ ObjectFile=".\..\..\..\objs\release_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
+ WarningLevel="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\objs\freetype2312ST.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\..\..\..\objs\debug"
+ IntermediateDirectory=".\..\..\..\objs\debug"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ ImproveFloatingPointConsistency="TRUE"
+ AdditionalIncludeDirectories="..\..\..\include"
+ PreprocessorDefinitions="_DEBUG;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="TRUE"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug/"
+ ObjectFile=".\..\..\..\objs\debug/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug/"
+ WarningLevel="4"
+ DebugInformationFormat="1"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\objs\freetype2312_D.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Debug Singlethreaded|Win32"
+ OutputDirectory=".\..\..\..\objs\debug_st"
+ IntermediateDirectory=".\..\..\..\objs\debug_st"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ ImproveFloatingPointConsistency="TRUE"
+ AdditionalIncludeDirectories="..\..\..\include"
+ PreprocessorDefinitions="_DEBUG;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ DisableLanguageExtensions="TRUE"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_st/"
+ ObjectFile=".\..\..\..\objs\debug_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
+ WarningLevel="4"
+ DebugInformationFormat="1"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\objs\freetype2312ST_D.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Debug Multithreaded|Win32"
+ OutputDirectory=".\..\..\..\objs\debug_mt"
+ IntermediateDirectory=".\..\..\..\objs\debug_mt"
+ ConfigurationType="4"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ ImproveFloatingPointConsistency="TRUE"
+ AdditionalIncludeDirectories="..\..\..\include"
+ PreprocessorDefinitions="_DEBUG;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ DisableLanguageExtensions="TRUE"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
+ ObjectFile=".\..\..\..\objs\debug_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
+ WarningLevel="4"
+ DebugInformationFormat="1"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="..\..\..\objs\freetype2312MT_D.lib"
+ SuppressStartupBanner="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ <File
+ RelativePath="..\..\..\src\autofit\autofit.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\bdf\bdf.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\cff\cff.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftbase.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftbbox.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftbdf.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftbitmap.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\cache\ftcache.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\ftdebug.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ DisableLanguageExtensions="FALSE"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ DisableLanguageExtensions="FALSE"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ DisableLanguageExtensions="FALSE"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ DisableLanguageExtensions="FALSE"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ DisableLanguageExtensions="FALSE"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ DisableLanguageExtensions="FALSE"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftfstype.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftgasp.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftglyph.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftgxval.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\gzip\ftgzip.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftinit.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\lzw\ftlzw.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftmm.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftotval.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftpfr.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftstroke.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftsynth.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftsystem.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\fttype1.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftwinfnt.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftxf86.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\pcf\pcf.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\pfr\pfr.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\psaux\psaux.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\pshinter\pshinter.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\psnames\psmodule.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\raster\raster.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\sfnt\sfnt.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\smooth\smooth.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\truetype\truetype.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\type1\type1.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\cid\type1cid.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\type42\type42.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\winfonts\winfnt.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Singlethreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Multithreaded|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl">
+ <File
+ RelativePath="..\..\..\include\ft2build.h">
+ </File>
+ <File
+ RelativePath="..\..\..\include\freetype\config\ftconfig.h">
+ </File>
+ <File
+ RelativePath="..\..\..\include\freetype\config\ftheader.h">
+ </File>
+ <File
+ RelativePath="..\..\..\include\freetype\config\ftmodule.h">
+ </File>
+ <File
+ RelativePath="..\..\..\include\freetype\config\ftoption.h">
+ </File>
+ <File
+ RelativePath="..\..\..\include\freetype\config\ftstdlib.h">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/components/external/freetype/configure b/components/external/freetype/configure
index 0e94c78537..2efa269679 100644
--- a/components/external/freetype/configure
+++ b/components/external/freetype/configure
@@ -1,120 +1,120 @@
-#!/bin/sh
-#
-# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT. By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-#
-#
-# Call the `configure' script located in `builds/unix'.
-#
-
-rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
-
-if test "x$GNUMAKE" = x; then
- GNUMAKE=make
-fi
-
-if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
- if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then
- echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2
- echo "Please try" >&2
- echo " \`GNUMAKE=<GNU make command name> $0'." >&2
- echo "or >&2"
- echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2
- exit 1
- fi
-fi
-
-# Get `dirname' functionality. This is taken and adapted from autoconf's
-# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- ft_expr=expr
-else
- ft_expr=false
-fi
-
-ft2_dir=`(dirname "$0") 2>/dev/null ||
- $ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
- echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-abs_curr_dir=`pwd`
-abs_ft2_dir=`cd "$ft2_dir" && pwd`
-
-# `--srcdir=' option can override abs_ft2_dir
-
-if test $# -gt 0; then
- for x in "$@"; do
- case x"$x" in
- x--srcdir=*)
- abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;;
- esac
- done
-fi
-
-# build a dummy Makefile if we are not building in the source tree
-
-if test "$abs_curr_dir" != "$abs_ft2_dir"; then
- mkdir reference
- if test ! -r $abs_curr_dir/modules.cfg; then
- echo "Copying \`modules.cfg'"
- cp $abs_ft2_dir/modules.cfg $abs_curr_dir
- fi
- echo "Generating \`Makefile'"
- echo "TOP_DIR := $abs_ft2_dir" > Makefile
- echo "OBJ_DIR := $abs_curr_dir" >> Makefile
- echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
- echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile
- echo "LIBTOOL := \$(OBJ_DIR)/libtool" >> Makefile
- echo "ifndef FT2DEMOS" >> Makefile
- echo " include \$(TOP_DIR)/Makefile" >> Makefile
- echo "else" >> Makefile
- echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile
- echo " PROJECT := freetype" >> Makefile
- echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile
- echo " include \$(TOP_DIR_2)/Makefile" >> Makefile
- echo "endif" >> Makefile
-fi
-
-# call make
-
-CFG=
-# work around zsh bug which doesn't like `${1+"$@"}'
-case $# in
-0) ;;
-*) for x in "$@"; do
- case x"$x" in
- x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
- *) CFG="$CFG '$x'" ;;
- esac
- done ;;
-esac
-CFG=$CFG $GNUMAKE setup unix
-
-# eof
+#!/bin/sh
+#
+# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+#
+#
+# Call the `configure' script located in `builds/unix'.
+#
+
+rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
+
+if test "x$GNUMAKE" = x; then
+ GNUMAKE=make
+fi
+
+if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
+ if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then
+ echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2
+ echo "Please try" >&2
+ echo " \`GNUMAKE=<GNU make command name> $0'." >&2
+ echo "or >&2"
+ echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2
+ exit 1
+ fi
+fi
+
+# Get `dirname' functionality. This is taken and adapted from autoconf's
+# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ ft_expr=expr
+else
+ ft_expr=false
+fi
+
+ft2_dir=`(dirname "$0") 2>/dev/null ||
+ $ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+ echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+abs_curr_dir=`pwd`
+abs_ft2_dir=`cd "$ft2_dir" && pwd`
+
+# `--srcdir=' option can override abs_ft2_dir
+
+if test $# -gt 0; then
+ for x in "$@"; do
+ case x"$x" in
+ x--srcdir=*)
+ abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;;
+ esac
+ done
+fi
+
+# build a dummy Makefile if we are not building in the source tree
+
+if test "$abs_curr_dir" != "$abs_ft2_dir"; then
+ mkdir reference
+ if test ! -r $abs_curr_dir/modules.cfg; then
+ echo "Copying \`modules.cfg'"
+ cp $abs_ft2_dir/modules.cfg $abs_curr_dir
+ fi
+ echo "Generating \`Makefile'"
+ echo "TOP_DIR := $abs_ft2_dir" > Makefile
+ echo "OBJ_DIR := $abs_curr_dir" >> Makefile
+ echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
+ echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile
+ echo "LIBTOOL := \$(OBJ_DIR)/libtool" >> Makefile
+ echo "ifndef FT2DEMOS" >> Makefile
+ echo " include \$(TOP_DIR)/Makefile" >> Makefile
+ echo "else" >> Makefile
+ echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile
+ echo " PROJECT := freetype" >> Makefile
+ echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile
+ echo " include \$(TOP_DIR_2)/Makefile" >> Makefile
+ echo "endif" >> Makefile
+fi
+
+# call make
+
+CFG=
+# work around zsh bug which doesn't like `${1+"$@"}'
+case $# in
+0) ;;
+*) for x in "$@"; do
+ case x"$x" in
+ x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;;
+ *) CFG="$CFG '$x'" ;;
+ esac
+ done ;;
+esac
+CFG=$CFG $GNUMAKE setup unix
+
+# eof
diff --git a/components/external/freetype/docs/CHANGES b/components/external/freetype/docs/CHANGES
index 52312141b9..018d16c577 100644
--- a/components/external/freetype/docs/CHANGES
+++ b/components/external/freetype/docs/CHANGES
@@ -1,3396 +1,3396 @@
-CHANGES BETWEEN 2.3.11 and 2.3.12
-
- I. IMPORTANT CHANGES
-
- - For `FT_Open_Face', new parameters are available to ignore
- preferred family names: FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY and
- FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY.
-
- II. MISCELLANEOUS
-
- - Support for incremental font loading (controlled with the
- FT_CONFIG_OPTION_INCREMENTAL macro) is now active by default.
-
- - Better support for vertical metrics.
-
- - Various minor bug fixes.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.10 and 2.3.11
-
- I. IMPORTANT BUG FIXES
-
- - Version 2.3.10 broke PCF support.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.10 and 2.3.9
-
- I. IMPORTANT BUG FIXES
-
- - If all ASCII digits in a font have the same (unscaled) width,
- the autohinter respects this and won't change it.
-
- - TrueType fonts are now rasterized correctly if the horizontal
- and vertical resolution differ.
-
- - Type 1 fonts are now handled with increased precision internally
- to avoid serious rounding issues if non-integral coordinates are
- encountered.
-
- - Horizontally condensed CFF fonts (using the font matrix) were
- rendered incorrectly. This bug has been introduced after
- release 2.3.5.
-
-
- II. IMPORTANT CHANGES
-
- - Support for the SFNT cmap 13 table format (as defined by the new
- OpenType 1.6 specification) has been added.
-
- - B/W rasterization of well-hinted TrueType fonts at small sizes
- has been greatly improved.
-
- - Calculation of vertical metrics in OpenType fonts has been
- improved.
-
-
- III. MISCELLANEOUS
-
- - It is now possible to change the emboldening factor in the
- `ftview' demo program with keys `e' and `E'.
-
- - It is now possible to change the slant value in the `ftview'
- demo program with keys `s' and `S'.
-
- - The 5-levels grayscale mode of the `ftraster' module (which
- FreeType doesn't use by default) was broken since version 2.3.0.
-
- - Compilation of the `ftgrays' and `ftraster' modules was broken
- in stand-alone mode.
-
- - Various fixes for compilation on 64bit and 16bit architectures.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.9 and 2.3.8
-
- I. IMPORTANT BUG FIXES
-
- - Very unfortunately, FreeType 2.3.8 contained a change that broke
- its official ABI. The end result is that programs compiled
- against previous versions of the library, but dynamically linked
- to 2.3.8 can experience memory corruption if they call the
- `FT_Get_PS_Font_Info' function.
-
- We recommend all users to upgrade to 2.3.9 as soon as possible,
- or to downgrade to a previous release of the library if this is
- not an option.
-
- The origin of the bug is that a new field was added to the
- publicly defined `PS_FontInfoRec' structure. Unfortunately,
- objects of this type can be stack or heap allocated by callers
- of `FT_Get_PS_Font_Info', resulting in a memory buffer
- overwrite with its implementation in 2.3.8.
-
- If you want to know whether your code is vulnerable to this
- issue, simply search for the substrings `PS_FontInfo' and
- `PS_Font_Info' in your source code. If none is found, your code
- is safe and is not affected.
-
- The FreeType team apologizes for the problem.
-
- - The POSIX support of MacOS resource-fork fonts (Suitcase fonts
- and LaserWriter Type1 PostScript fonts) was broken in 2.3.8. If
- FreeType2 is built without Carbon framework, these fonts are not
- handled correctly. Version 2.3.7 didn't have this bug.
-
- - `FT_Get_Advance' (and `FT_Get_Advances') returned bad values for
- almost all font formats except TrueType fonts.
-
- - Fix a bug in the SFNT kerning table loader/parser which could
- crash the engine if certain malformed tables were encountered.
-
- - Composite SFNT bitmaps are now handled correctly.
-
-
- II. IMPORTANT CHANGES
-
- - The new functions `FT_Get_CID_Is_Internally_CID_keyed' and
- `FT_Get_CID_From_Glyph_Index' can be used to access CID-keyed
- CFF fonts via CID values. This code has been contributed by
- Michael Toftdal.
-
-
- III. MISCELLANEOUS
-
- - `FT_Outline_Get_InsideBorder' returns FT_STROKER_BORDER_RIGHT
- for empty outlines. This was incorrectly documented.
-
- - The `ftview' demo program now supports UTF-8 encoded strings.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.8 and 2.3.7
-
- I. IMPORTANT BUG FIXES
-
- - CID-keyed fonts in an SFNT wrapper were not handled correctly.
-
- - The smooth renderer produced truncated images (on the right) for
- outline parts with negative horizontal values. Most fonts don't
- contain outlines left to the y coordinate axis, but the effect
- was very noticeable for outlines processed with FT_Glyph_Stroke,
- using thick strokes.
-
- - `FT_Get_TrueType_Engine_Type' returned a wrong value if both
- configuration macros TT_CONFIG_OPTION_BYTECODE_INTERPRETER and
- TT_CONFIG_OPTION_UNPATENTED_HINTING were defined.
-
- - The `face_index' field in the `FT_Face' structure wasn't
- initialized properly after calling FT_Open_Face and friends with
- a positive face index for CFFs, WinFNTs, and, most importantly,
- for TrueType Collections (TTCs).
-
-
- II. IMPORTANT CHANGES
-
- - Rudimentary support for Type 1 fonts and CID-keyed Type 1 fonts
- in an SFNT wrapper has been added -- such fonts are used on the
- Mac. The core SFNT tables `TYP1' and `CID ' are passed to the
- PS Type 1 and CID-keyed PS font drivers; other tables (`ALMX',
- `BBOX', etc.) are not supported yet.
-
- - A new interface to extract advance values of glyphs without
- loading their outlines has been added. The functions are called
- `FT_Get_Advance' and `FT_Get_Advances'; they are defined in file
- `ftadvanc.h' (to be accessed as FT_ADVANCES_H).
-
- - A new function `FT_Get_FSType_Flags' (in FT_FREETYPE_H) has been
- contributed by David Bevan to access the embedding and
- subsetting restriction information of fonts.
-
-
- III. MISCELLANEOUS
-
- - FT_MulFix is now an inlined function; by default, assembler code
- is provided for x86 and ARM. See FT_CONFIG_OPTION_INLINE_MULFIX
- and FT_CONFIG_OPTION_NO_ASSEMBLER (in ftoption.h) for more.
-
- - The handling of `tricky' fonts (this is, fonts which don't work
- with the autohinter, needing the font format's hinting engine)
- has been generalized and changed slightly:
-
- . A new face flag FT_FACE_FLAG_TRICKY indicates that the font
- format's hinting engine is necessary for correct rendering.
- The macro FT_IS_TRICKY can be used to check this flag.
-
- . FT_LOAD_NO_HINTING is now ignored for tricky fonts. To really
- force raw loading of such fonts (without hinting), both
- FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT must be used --
- this is something which you probably never want to do.
-
- . Tricky TrueType fonts always use the bytecode interpreter,
- either the patented or unpatented version.
-
- - The function `FT_GlyphSlot_Own_Bitmap' has been moved from
- FT_SYNTHESIS_H to FT_BITMAP_H; it is now part of the `official'
- API. (The functions in FT_SYNTHESIS_H are still subject to
- change, however.)
-
- - In the `ftdiff' demo program you can now toggle the use of
- FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH with key `a'.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.7 and 2.3.6
-
- I. IMPORTANT BUG FIXES
-
- - If the library was compiled on an i386 platform using gcc, and
- compiler option -O3 was given, `FT_MulFix' sometimes returned
- incorrect results which could have caused problems with
- `FT_Request_Metrics' and `FT_Select_Metrics', returning an
- incorrect descender size.
-
- - Pure CFFs without subfonts were scaled incorrectly if the font
- matrix was non-standard. This bug has been introduced in
- version 2.3.6.
-
- - The `style_name' field in the `FT_FaceRec' structure often
- contained a wrong value for Type 1 fonts. This misbehaviour
- has been introduced in version 2.3.6 while trying to fix
- another problem. [Note, however, that this value is
- informative only since the used algorithm to extract it is
- very simplistic.]
-
-
- II. IMPORTANT CHANGES
-
- - Two new macros, FT_OUTLINE_SMART_DROPOUTS and
- FT_OUTLINE_EXCLUDE_STUBS, have been introduced. Together with
- FT_OUTLINE_IGNORE_DROPOUTS (which was ignored previously) it is
- now possible to control the dropout mode of the `raster' module
- (for B&W rasterization), using the `flags' field in the
- `FT_Outline' structure.
-
- - The TrueType bytecode interpreter now passes the dropout mode to
- the B&W rasterizer. This greatly increases the output for small
- ppem values of many fonts like `pala.ttf'.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.6 and 2.3.5
-
- I. IMPORTANT BUG FIXES
-
- - A bunch of potential security problems have been found. All
- users should update.
-
- - Microsoft Unicode cmaps in TrueType fonts are now always
- preferred over Apple cmaps. This is not a bug per se, but there
- exist some buggy fonts created for MS which have broken Apple
- cmaps. This affects only the automatic selection of FreeType;
- it's always possible to manually select an Apple Unicode cmap if
- desired.
-
- - Many bug fixes to the TrueType bytecode interpreter.
-
- - Improved Mac support.
-
- - Subsetted CID-keyed CFFs are now supported correctly.
-
- - CID-keyed CFFs with subfonts which are scaled in a non-standard
- way are now handled correctly.
-
- - A call to FT_Open_Face with `face_index' < 0 crashed FreeType if
- the font was a Windows (bitmap) FNT/FON.
-
-
- II. IMPORTANT CHANGES
-
- - The new function `FT_Get_CID_Registry_Ordering_Supplement' gives
- access to those fields in a CID-keyed font. The code has been
- contributed by Derek Clegg.
-
- - George Williams contributed code to validate the new `MATH'
- OpenType table (within the `otvalid' module). The `ftvalid'
- demo program has been extended accordingly.
-
- - An API for cmap 14 support (for Unicode Variant Selectors, UVS)
- has been contributed by George Williams.
-
- - A new face flag FT_FACE_FLAG_CID_KEYED has been added, together
- with a macro FT_IS_CID_KEYED which evaluates to 1 if the font is
- CID-keyed.
-
-
- III. MISCELLANEOUS
-
- - Build support for symbian has been contributed.
-
- - Better WGL4 glyph name support, contributed by Sergey Tolstov.
-
- - Debugging output of the various FT_TRACEX macros is now sent to
- stderr.
-
- - The `ftview' demo program now provides artificial slanting too.
-
- - The `ftvalid' demo program has a new option `-f' to select the
- font index.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.5 and 2.3.4
-
- I. IMPORTANT BUG FIXES
-
- - Some subglyphs in TrueType fonts were handled incorrectly due to
- a missing graphics state reinitialization.
-
- - Large .Z files (as distributed with some X11 packages) weren't
- handled correctly, making FreeType increase the heap stack in an
- endless loop.
-
- - A large number of bugs have been fixed to avoid crashes and
- endless loops with invalid fonts.
-
-
- II. IMPORTANT CHANGES
-
- - The two new cache functions `FTC_ImageCache_LookupScaler' and
- `FTC_SBit_Cache_LookupScaler' have been added to allow lookup of
- glyphs using an `FTC_Scaler' object; this makes it possible to
- use fractional pixel sizes in the cache. The demo programs have
- been updated accordingly to use this feature.
-
- - A new API `FT_Get_CMap_Format' has been added to get the cmap
- format of a TrueType font. This is useful in handling PDF
- files. The code has been contributed by Derek Clegg.
-
- - The auto-hinter now produces better output by default for
- non-Latin scripts like Indic. This was done by using the CJK
- hinting module as the default instead of the Latin one. Thanks
- to Rahul Bhalerao for this suggestion.
-
- - A new API `FT_Face_CheckTrueTypePatents' has been added to find
- out whether a given TrueType font uses patented bytecode
- instructions. The `ft2demos' bundle contains a new program
- called `ftpatchk' which demonstrates its usage.
-
- - A new API `FT_Face_SetUnpatentedHinting' has been added to
- enable or disable the unpatented hinter.
-
- - Support for Windows FON files in PE format has been contributed
- by Dmitry Timoshkov.
-
-
- III. MISCELLANEOUS
-
- - Vincent Richomme contributed Visual C++ project files for Pocket
- PCs.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.4 and 2.3.3
-
- I. IMPORTANT BUG FIXES
-
- - A serious bug in the handling of bitmap fonts (and bitmap
- strikes of outline fonts) has been introduced in 2.3.3.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.3 and 2.3.2
-
- I. IMPORTANT BUG FIXES
-
- - Remove a serious regression in the TrueType bytecode interpreter
- that was introduced in version 2.3.2. Note that this does not
- disable the improvements introduced to the interpreter in
- version 2.3.2, only some ill cases that occurred with certain
- fonts (though a few popular ones).
-
- - The auto-hinter now ignores single-point contours for computing
- blue zones. This bug created `wavy' baselines when rendering
- text with various fonts that use these contours to model
- mark-attach points (these are points that are never rasterized
- and are placed outside of the glyph's real outline).
-
- - The `rsb_delta' and `lsb_delta' glyph slot fields are now set to
- zero for mono-spaced fonts. Otherwise code that uses them would
- essentially ruin the fixed-advance property.
-
- - Fix CVE-2007-1351 which can cause an integer overflow while
- parsing BDF fonts, leading to a potentially exploitable heap
- overflow condition.
-
-
- II. MISCELLANEOUS
-
- - Fixed compilation issues on some 64-bit platforms (see ChangeLog
- for details).
-
- - A new demo program `ftdiff' has been added to compare TrueType
- hinting, FreeType's auto hinting, and rendering without hinting
- in three columns.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.2 and 2.3.1
-
- I. IMPORTANT BUG FIXES
-
- - FreeType returned incorrect kerning information from TrueType
- fonts when the bytecode interpreter was enabled. This happened
- due to a typo introduced in version 2.3.0.
-
- - Negative kerning values from PFM files are now reported
- correctly (they were read as 16-bit unsigned values from the
- file).
-
- - Fixed a small memory leak when `FT_Init_FreeType' failed for
- some reason.
-
- - The Postscript hinter placed and sized very thin and ghost stems
- incorrectly.
-
- - The TrueType bytecode interpreter has been fixed to get rid of
- most of the rare differences seen in comparison to the Windows
- font loader.
-
-
- II. IMPORTANT CHANGES
-
- - The auto-hinter now better deals with serifs and corner cases
- (e.g., glyph '9' in Arial at 9pt, 96dpi). It also improves
- spacing adjustments and doesn't change widths for non-spacing
- glyphs.
-
- - Many Mac-specific functions are deprecated (but still
- available); modern replacements have been provided for them.
- See the documentation in file `ftmac.h'.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.1 and 2.3.0
-
- I. IMPORTANT BUG FIXES
-
- - The TrueType interpreter sometimes returned incorrect horizontal
- metrics due to a bug in the handling of the SHZ instruction.
-
- - A typo in a security check introduced after version 2.2.1
- prevented FreeType to render some glyphs in CFF fonts.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.3.0 and 2.2.1
-
- I. IMPORTANT BUG FIXES
-
- - The PCF font loader is now much more robust while loading
- malformed font files.
-
- - Various memory leaks have been found and fixed.
-
- - The TrueType name loader now deals properly with some fonts that
- encode their names in UTF-16 (the specification was vague, and
- the code incorrectly assumed UCS-4).
-
- - Fixed the TrueType bytecode loader to deal properly with subtle
- monochrome/gray issues when scaling the CVT. Some fonts
- exhibited bad rendering artifacts otherwise.
-
- - `FT_GlyphSlot_Embolden' now supports vertical layouts correctly
- (it mangled the vertical advance height).
-
- - Fixed byte endian issues of `ftmac.c' to support Mac OS X on
- i386.
-
- - The PFR font loader no longer erroneously tags font files
- without any outlines as FT_FACE_FLAG_SCALABLE.
-
-
- II. NEW API FUNCTIONS
-
- - `FT_Library_SetLcdFilter' allows you to select a special filter
- to be applied to the bitmaps generated by `FT_Render_Glyph' if
- one of the FT_RENDER_MODE_LCD and FT_RENDER_MODE_LCD_V modes has
- been selected. This filter is used to reduce color fringes;
- several settings are available through the FT_LCD_FILTER_XXX
- enumeration.
-
- Its declaration and documentation can be found in file
- `include/freetype/ftlcdfil.h' (to be accessed with macro
- FT_LCD_FILTER_H).
-
- *IMPORTANT*: This function returns an error
- (FT_Err_Unimplemented_Feature) in default builds of the library
- for patent reasons. See below.
-
- - `FT_Get_Gasp' allows you to query the flags of the TrueType
- `gasp' table for a given character pixel size. This is useful
- to duplicate the text rendering of MS Windows when the native
- bytecode interpreter is enabled (which isn't the default for
- other patent reasons).
-
- Its declaration and documentation can be found in file
- `include/freetype/ftgasp.h' (to be accessed with macro
- FT_GASP_H).
-
-
- III. IMPORTANT CHANGES
-
- - The auto-hinter has been tuned a lot to improve its results with
- serif fonts, resulting in much better font rendering of many web
- pages.
-
- - The unpatented hinter is now part of the default build of the
- library; we have added code to automatically support `tricky'
- fonts that need it.
-
- This means that FreeType should `just work' with certain Asian
- fonts, like MingLiU, which cannot properly be loaded without a
- bytecode interpreter, but which fortunately do not use any of
- the patented bytecode opcodes. We detect these fonts by name,
- so please report any font file that doesn't seem to work with
- FreeType, and we shall do what we can to support it in a next
- release.
-
- Note that the API hasn't changed, so you can still force
- unpatented hinting with a special parameter to `FT_Open_Face' as
- well. This might be useful in same cases; for example, a PDF
- reader might present a user option to activate it to deal with
- certain `tricky' embedded fonts which cannot be clearly
- identified.
-
- If you are a developer for embedded systems, you might want to
- *disable* the feature to save code space by undefining
- TT_CONFIG_OPTION_UNPATENTED_HINTING in file `ftoption.h'.
-
- - LCD-optimized rendering is now *disabled* in all default builds
- of the library, mainly due to patent issues. For more
- information see:
-
- http://lists.gnu.org/archive/html/freetype/2006-09/msg00064.html
-
- A new configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING
- has been introduced in `ftoption.h'; manually define it in this
- file if you want to re-enable the feature.
-
- The change only affects the implementation, not the FreeType
- API. This means that clients don't need to be modified, because
- the library still generates LCD decimated bitmaps, but with the
- added constraint that R=G=B on each triplet.
-
- The displayed result should be equal to normal anti-aliased
- rendering.
-
- Additionally, if FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not
- defined, the new `FT_Library_SetLcdFilter' function returns the
- FT_Err_Unimplemented_Feature error code.
-
- - Some computation bugs in the TrueType bytecode interpreter were
- found, which allow us to get rid of very subtle and rare
- differences we had experienced with the Windows renderer.
-
- - It is now possible to cross-compile the library easily. See the
- file `docs/INSTALL.CROSS' for details.
-
- - The file `src/base/ftmac.c' now contains code for Mac OS X only;
- its deprecated function `FT_GetFile_From_Mac_Font_Name' always
- returns an error even if the QuickDraw framework is available.
- The previous version has been moved to `builds/mac/ftmac.c'.
-
- Selecting configure option `--with-quickdraw-carbon' makes the
- build process use the original `ftmac.c' file instead of the Mac
- OS X-only version.
-
-
- IV. MISCELLANEOUS
-
- - Various performance and memory footprint optimizations have been
- performed on the TrueType and CFF font loaders, sometimes with
- very drastic benefits (e.g., the TrueType loader is now about
- 25% faster; FreeType should use less heap memory under nearly
- all conditions).
-
- - The anti-aliased rasterizer has been optimized and is now 15% to
- 25% percent faster than in previous versions, depending on
- content.
-
- - The Type 1 loader has been improved; as an example, it now skips
- top-level dictionaries properly.
-
- - Better support for Mac fonts on POSIX systems, plus compilation
- fixes for Mac OS X on ppc64 where `ftmac.c' cannot be built.
-
- - Configuration without `--with-old-mac-fonts' does not include
- `ftmac.c' (this was the behaviour in FreeType version 2.1.10).
-
- - The TrueTypeGX validator (gxvalid) checks the order of glyph IDs
- in the kern table.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.2.1 and 2.2
-
- I. IMPORTANT BUG FIXES
-
- - Various integer overflows have been fixed.
-
- - PFB fonts with MacOS resource fork weren't handled correctly on
- non-MacOS platforms.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.2 and 2.1.10
-
-(not released officially)
-
- I. IMPORTANT BUG FIXES
-
- - Vertical metrics for SFNT fonts were incorrect sometimes.
-
- - The FT_HAS_KERNING macro always returned 0.
-
- - CFF OpenType fonts didn't return correct vertical metrics for
- glyphs with outlines.
-
- - If FreeType was compiled without hinters, all font formats based
- on PS outlines weren't scaled correctly.
-
-
- II. IMPORTANT CHANGES
-
- - Version 2.2 no longer exposes its internals, this is, the header
- files located in the `include/freetype/internal' directory of
- the source package are not copied anymore by the `make install'
- command. Consequently, a number of rogue clients which directly
- access FreeType's internal functions and structures won't
- compile without modification.
-
- We provide patches for most of those rogue clients. See the
- following page for more information:
-
- http://www.freetype.org/freetype2/patches/rogue-patches.html
-
- Note that, as a convenience to our Unix desktop users, version
- 2.2 is *binary* compatible with FreeType 2.1.7, which means that
- installing this release on an existing distribution shall not
- break any working desktop.
-
- - FreeType's build mechanism has been redesigned. With GNU make
- it is now sufficient in most cases to edit two files:
- `modules.cfg', to select the library components, and the
- configuration file `include/freetype/config/ftoption.h' (which
- can be copied to the objects directory). Removing unused module
- directories to prevent its compilation and editing
- `include/freetype/config/ftmodule.h' is no longer necessary.
-
- - The LIGHT hinting algorithm produces more pleasant results.
- Also, using the FT_LOAD_TARGET_LIGHT flags within FT_Load_Glyph
- always forces auto-hinting, as a special exception. This allows
- you to experiment with it even if you have enabled the TrueType
- bytecode interpreter in your build.
-
- - The auto hinter now employs a new algorithm for CJK fonts, based
- on Akito Hirai's patch. Note that this only works for fonts
- with a Unicode charmap at the moment.
-
- - The following callback function types have changed slightly (by
- adding the `const' keyword where appropriate):
-
- FT_Outline_MoveToFunc
- FT_Outline_LineToFunc
- FT_Outline_ConicToFunc
- FT_Outline_CubicToFunc
- FT_SpanFunc
- FT_Raster_RenderFunc
-
- FT_Glyph_TransformFunc
- FT_Renderer_RenderFunc
- FT_Renderer_TransformFunc
-
- Note that this doesn't affect binary backward compatibility.
-
- - On MacOS, new APIs have been added as replacements for legacy
- APIs: `FT_New_Face_From_FSRef' for `FT_New_Face_From_FSSpec',
- and `FT_GetFile_From_Mac_ATS_Name' for
- `FT_GetFile_From_Mac_Name'. Legacy APIs are still available, if
- FreeType is built without disabling them.
-
- - A new API `FT_Select_Size' has been added to select a bitmap
- strike by its index. Code using other functions to select
- bitmap strikes should be updated to use this function.
-
- - A new API `FT_Get_SubGlyph_Info' has been added to retrieve
- subglyph data. This can be used by rogue clients which used to
- access the internal headers to get the corresponding data.
-
- - In 2.1.10, the behaviour of `FT_Set_Pixel_Sizes' was changed for
- BDF/PCF fonts, and only for them. This causes inconsistency.
- In this release, we undo the change. The intent of the change
- in 2.1.10 is to allow size selection through real dimensions,
- which can now be done through `FT_Request_Size'.
-
- - Some security issues were discovered and fixed in the CFF and
- Type 1 loader, causing crashes of FreeType by malformed font
- files.
-
-
- III. MISCELLANEOUS
-
- - The documentation for FT_LOAD_TARGET_XXX and FT_RENDER_MODE_XXX
- values now better reflects its usage and differences: One set is
- used to specify the hinting algorithm, the other to specify the
- pixel rendering mode.
-
- - `FT_New_Face' and `FT_New_Face_From_FSSpec' in ftmac.c have been
- changed to count supported scalable faces (sfnt, LWFN) only, and
- to return the number of available faces via face->num_faces.
- Unsupported bitmap faces (fbit, NFNT) are ignored.
-
- - builds/unix/configure has been improved for MacOS X. It now
- automatically checks available functions in Carbon library, and
- prepare to use newest functions by default. Options to specify
- the dependencies of each Carbon APIs (FSSpec, FSRef, old/new
- QuickDraw, ATS) are available too. By manual disabling of all
- QuickDraw functionality, FreeType can be built without
- `deprecated function' warnings on MacOS 10.4.x, but
- FT_GetFile_Mac_Name in ftmac.c then is changed to a dummy
- function, and returns an `unimplemented' error. For details see
- builds/mac/README.
-
- - SFNT cmap handling has been improved, mainly to run much faster
- with CJK fonts.
-
- - A new function `FT_Get_TrueType_Engine_Type (declared in
- `FT_MODULE_H') is provided to determine the status of the
- TrueType bytecode interpreter compiled into the library
- (patented, unpatented, unimplemented).
-
- - Vertical metrics of glyphs are synthesized if the font does not
- provide such information. You can tell whether the metrics are
- synthesized or not by checking the FT_FACE_FLAG_VERTICAL flag of
- the face.
-
- - The demo programs `ftview' and `ftstring' have been rewritten
- for better readability. `ftview' has a new switch `-p' to test
- FT_New_Memory_Face (instead of FT_New_Face).
-
- - FreeType now honours bit 1 in the `head' table of TrueType fonts
- (meaning `left sidebearing point at x=0'). This helps with some
- buggy fonts.
-
- - Rudimentary support for Adobe's new `SING Glyphlet' format. See
-
- http://www.adobe.com/products/indesign/sing_gaiji.html
-
- for more information.
-
- - The `ftdump' program from the `ft2demos' bundle now shows some
- information about charmaps. It also supports a new switch `-v'
- to increase verbosity.
-
- - Better AFM support. This includes track kerning support.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.10 and 2.1.9
-
- I. IMPORTANT BUG FIXES
-
- - The size comparison for BDF and PCF files could fail sometimes.
-
- - Some CFF files were still not loaded correctly. Patch from
- Derek Noonburg.
-
- - The stroker still had some serious bugs.
-
- - Boris Letocha fixed a bug in the TrueType interpreter: The
- NPUSHW instruction wasn't skipped correctly in IF clauses. Some
- fonts like `Helvetica 75 Bold' failed.
-
- - Another serious bug in handling TrueType hints caused many
- distortions. It has been introduced in version 2.1.8, and it is
- highly recommended to upgrade.
-
- - FreeType didn't properly parse empty Type 1 glyphs.
-
- - An unbound dynamic buffer growth was fixed in the PFR loader.
-
- - Several bugs have been fixed in the cache sub-system.
-
- - FreeType behaved incorrectly when resizing two distinct but very
- close character pixel sizes through `FT_Set_Char_Size' (Savannah
- bug #12263).
-
- - The auto-hinter didn't work properly for fonts without a Unicode
- charmap -- it even refused to load the glyphs.
-
-
- II. IMPORTANT CHANGES
-
- - Many fixes have been applied to drastically reduce the amount of
- heap memory used by FreeType, especially when using
- memory-mapped font files (which is the default on Unix systems
- which support them).
-
- - The auto-hinter has been replaced with a new module, called the
- `auto-fitter'. It consumes less memory than its predecessor,
- and it is prepared to support non-latin scripts better in next
- releases.
-
- - George Williams contributed code to read kerning data from PFM
- files.
-
- - FreeType now uses the TT_NAME_ID_PREFERRED_FAMILY and
- TT_NAME_ID_PREFERRED_SUBFAMILY strings (if available) for
- setting family and style in SFNT fonts (patch from Kornfeld
- Eliyahu Peter).
-
- - A new API `FT_Sfnt_Table_Info' (in FT_TRUETYPE_TABLES_H) has
- been added to retrieve name and size information of SFNT tables.
-
- - A new API `FT_OpenType_Validate' (in FT_OPENTYPE_VALIDATE_H) has
- been added to validate OpenType tables (BASE, GDEF, GPOS, GSUB,
- JSTF). After validation it is no longer necessary to check
- for errors in those tables while accessing them.
-
- Note that this module might be moved to another library in the
- future to avoid a tight dependency between FreeType and the
- OpenType specification.
-
- - A new API in FT_BITMAP_H (`FT_Bitmap_New', `FT_Bitmap_Convert',
- `FT_Bitmap_Copy', `FT_Bitmap_Embolden', `FT_Bitmap_Done') has
- been added. Its use is to convert an FT_Bitmap structure in
- 1bpp, 2bpp, 4bpp, or 8bpp format into another 8bpp FT_Bitmap,
- probably using a different pitch, and to further manipulate it.
-
- - A new API `FT_Outline_Embolden' (in FT_OUTLINE_H) gives finer
- control how outlines are embolded.
-
- - `FT_GlyphSlot_Embolden' (in FT_SYNTHESIS_H) now handles bitmaps
- also (code contributed by Chia I Wu). Note that this function
- is still experimental and may be replaced with a better API.
-
- - The method how BDF and PCF bitmap fonts are accessed has been
- refined. Formerly, FT_Set_Pixel_Sizes and FT_Set_Char_Size
- were synonyms in FreeType's BDF and PCF interface. This has
- changed now. FT_Set_Pixel_Sizes should be used to select the
- actual font dimensions (the `strike', which is the sum of the
- `FONT_ASCENT' and `FONT_DESCENT' properties), while
- FT_Set_Char_Size selects the `nominal' size (the `PIXELSIZE'
- property). In both functions, the width parameter is ignored.
-
-
- III. MISCELLANEOUS
-
- - The BDF driver no longer converts all returned bitmaps with a
- depth of 2bpp or 4bpp to a depth of 8bpp. The documentation has
- not mentioned this explicitly, but implementors might have
- relied on this after looking into the source files.
-
- - A new option `--ftversion' has been added to freetype-config to
- return the FreeType version.
-
- - The memory debugger has been updated to dump allocation
- statistics on all allocation sources in the library. This is
- useful to spot greedy allocations when loading and processing
- fonts.
-
- - We removed a huge array of constant pointers to constant strings
- in the `psnames' module. The problem was that compilations in
- PIC mode (i.e., when generating a Unix shared object/dll) put
- the array into the non-shared writable section of the library
- since absolute pointers are not relocatable by nature.
-
- This reduces the memory consumption by approximately 16KByte per
- process linked to FreeType. We now also store the array in a
- compressed form (as a trie) which saves about 20KByte of code as
- well.
-
- - Kirill Smelkov provided patches to make src/raster/ftraster.c
- compile stand-alone again.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.9 and 2.1.8
-
- I. IMPORTANT BUG FIXES
-
- - The function `FT_Get_CharMap_Index' was only declared, without
- any real code. For consistency, it has been renamed to
- `FT_Get_Charmap_Index'. (This function is needed to implement
- cmap caches.)
-
- - `FT_Outline_Get_BBox' sometimes returned incorrect values for
- conic outlines (e.g., for TrueType fonts).
-
- - Handling of `bhed' table has been fixed.
-
- - The TrueType driver with enabled byte code interpreter sometimes
- returned artifacts due to incorrect rounding. This bug has been
- introduced after version 2.1.4.
-
- - The BDF driver dropped the last glyph in the font.
-
- - The BDF driver now uses the DEFAULT_CHAR property (if available)
- to select a glyph shape for the undefined glyph.
-
- - The stroker failed for closed outlines and single points.
-
-
- II. IMPORTANT CHANGES
-
- - George Williams contributed code to handle Apple's font
- distortion technology found in GX fonts (`avar', `cvar', `fvar',
- and `gvar' tables; the Multiple Masters API has been slightly
- extended to cope with the new functionality).
-
- - The `FT_GlyphSlotRec' structure has been extended: The elements
- `lsb_delta' and `rsb_delta' give the difference between hinted
- and unhinted left and right side bearings if autohinting is
- active. Using those values can improve the inter-letter spacing
- considerably. See the documentation of `FT_GlyphSlotRec' and
- the `ftstring' demo program how to use it.
-
- - Loading TrueType and Type 1 fonts has been made much faster.
-
- - The stroker is no longer experimental (but the cache subsystem
- still is).
-
-
- III. MISCELLANEOUS
-
- - A new documentation file `formats.txt' describes various font
- formats supported (and not supported) by FreeType.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.8 and 2.1.7
-
- I. IMPORTANT BUG FIXES
-
- - The native TrueType hinter contained some bugs which prevented
- some fonts to be rendered correctly, most notably Legendum.otf.
-
- - The PostScript hinter now produces improved results.
-
- - The linear advance width and height values were incorrectly
- rounded, making them virtually unusable if not loaded with
- FT_LOAD_LINEAR_DESIGN.
-
- - Indexing CID-keyed CFF fonts is now working: The glyph index is
- correctly treated as a CID, similar to FreeType's CID driver
- module. Note that CID CMap support is still missing.
-
- - The FT_FACE_FLAGS_GLYPH_NAMES flag is now set correctly for all
- font formats.
-
- - Some subsetted Type 1 fonts weren't parsed correctly. This bug
- has been introduced in 2.1.7. In summary, the Type 1 parser has
- become more robust.
-
- - Non-decimal numbers weren't parsed correctly in PS fonts.
-
- - The WinFNT driver now correctly reports FT_ENCODING_NONE for all
- but one encoding. Use the new FT_WinFNT_ID_XXX values together
- with `FT_Get_WinFNT_Header' to get the WinFNT charset ID.
-
- - The descender metrics (face->size->metrics.descender) for WinFNT
- bitmap fonts had the wrong sign.
-
- - The (emulated) `seac' support for CFF fonts was broken.
-
- - The `flex' operator didn't work for CFF fonts.
-
- - PS glyphs which use the `hintmask' operator haven't been
- rendered correctly in some cases.
-
- - Metrics for BDF and PCF bitmap font formats have been fixed.
-
- - Autohinting is now disabled for glyphs which are vertically
- distorted or mirrored (using a transformation matrix). This
- fixes a bug which produced zero-height glyphs.
-
- - The `freetype-config' script now handles --prefix and
- --exec-prefix correctly; it also returns the proper --rpath (or
- -R) value if FreeType has been built as a shared library.
-
-
- II. IMPORTANT CHANGES
-
- - Both PCF and BDF drivers now handle the SETWIDTH_NAME and
- ADD_STYLE_NAME properties. Values are appended to
- face->style_name; example: `Bold SemiCondensed'.
-
- - The PCF driver now handles bitmap fonts compressed with the LZW
- algorithm (extension .pcf.Z, compressed with `compress').
-
- - A new API function `FT_Get_CMap_Language_ID' (declared in
- `tttables.h') is available to get the language ID of a
- TrueType/SFNT cmap.
-
- - The hexadecimal format of data after the `StartData' command in
- CID-keyed Type 1 fonts is now supported. While this can't occur
- in file-based fonts, it can happen in document-embedded
- resources of PostScript documents.
-
- - Embedded bitmaps in SFNT-based CFF fonts are now supported.
-
- - A simple API is now available to control FreeType's tracing
- mechanism if compiled with FT_DEBUG_LEVEL_TRACE. See the file
- `ftdebug.h' for more details.
-
- - YAMATO Masatake contributed improved handling of MacOS resource
- forks on non-MacOS platforms (for example, Linux can mount MacOS
- file systems).
-
- - Support for MacOS has been improved; there is now a new function
- `FT_New_Face_From_FSSpec' similar to `FT_New_Face' except that
- it accepts an FSSpec instead of a path.
-
- - The cache sub-system has been rewritten.
-
- - There is now support for deinstallation of faces.
-
- - A new API function `FTC_Manager_RemoveFaceID' has been added
- to delete all `idle' nodes that correspond to a given
- FTC_FaceID. All `locked' nodes (i.e., those with a reference
- count > 0), will be modified to prevent them from appearing in
- further lookups (they will be cleaned normally when their
- reference count reaches 0).
-
- - There is now support for point scaling (i.e., providing
- character sizes in points + dpis, instead of pixels).
-
- - Three abstract cache classes are now available:
-
- FTC_GCache: Used to store one glyph item per cache node,
- with the ability to group common attributes into
- `families'. This replaces the old
- FTC_GlyphCache class.
-
- FTC_ICache: Used to store one FT_Glyph per cache node. This
- extends FTC_GCache. Family definition, family
- comparison, and glyph loading are however left
- to sub-classes.
-
- FTC_SCache: Used to store up to 16 small bitmaps per cache
- node. This extends FTC_GCache. Family
- definition, family comparison and glyph loading
- are however left to sub-classes.
-
- - The file `src/cache/ftcbasic.c' implements:
-
- FTC_ImageCache: Extends FTC_ICache; implements family
- definitions and glyph loading similar to the
- old API.
-
- FTC_SBitCache: Extends FTC_SCache, implements family
- definitions and glyph loading similar to the
- old API
-
- Client applications should be able to extend FTC_GCache,
- FTC_ICache, or FTC_SCache much more easily (i.e., less code to
- write, and less callbacks). For example, one could envision
- caches that are capable of storing transformed (obliqued),
- stroked, emboldened, or colored glyph images. Use
- `ftcbasic.c' as an example.
-
- - All public APIs are now in `include/freetype/ftcache.h', (to
- be accessed as `FT_CACHE_H'). The contents of
- `include/freetype/cache/' is only needed by applications that
- wish to implement their own caches.
-
- - There were some major performance improvements through the use
- of various programming tricks. Cache hits are up to 70%
- faster than in the old code.
-
- - The FTC_CMapCache has been simplified. Charmaps can only be
- accessed by index right now. There is also a new API named
- `FT_Charmap_GetIndex' for this purpose.
-
- - The demo programs have been updated to the new code. The
- previous versions will not work with the current one.
-
- - Using an invalid face index in FT_Open_Face and friends now
- causes an error even if the font contains a single face only.
-
-
- III. MISCELLANEOUS
-
- - Wolfgang Domröse contributed support files for building FreeType
- on the Atari using the PureC compiler. Note that the Atari is a
- 16bit platform.
-
- - Vitaliy Pasternak contributed project files for VS.NET 2003.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.7 and 2.1.6
-
- I. IMPORTANT BUG FIXES
-
- - Updated to newest libtool version, fixing build problems on
- various platforms.
-
- - On Unix platforms, `make install' didn't copy the correct
- `ftconfig.h' file.
-
- Note that version 2.1.7 contains the same library C source code as
- version 2.1.6.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.6 and 2.1.5
-
- I. IMPORTANT BUG FIXES
-
- - The PFR font driver didn't load kerning tables correctly, and
- the functions in FT_PFR_H didn't work at all.
-
- - Type 1 font files in binary format (PFB) with an end-of-file
- indicator weren't accepted by the FreeType engine.
-
- - Fonts which contain /PaintType and /StrokeWidth no longer cause
- a segfault. This bug has been introduced in version 2.1.5.
-
- - Fonts loaded with FT_LOAD_RENDER no longer cause strange
- results. This bug has been introduced in version 2.1.5.
-
- - Some Windows (bitmap) FNT/FON files couldn't be handled
- correctly.
-
-
- II. IMPORTANT CHANGES
-
- - The internal module API has been heavily changed in favor of
- massive simplifications within the font engine. This also means
- that authors of third-party modules must adapt their code to the
- new scheme.
-
- NOTE: THE NEW SCHEME IS NOT COMPLETED YET. PLEASE WAIT UNTIL A
- FINAL ANNOUNCEMENT!
-
- - The PostScript parser has been enhanced to handle comments and
- strings correctly. Additionally, more syntax forms are
- recognized.
-
- - Added the optional unpatented hinting system for TrueType. It
- allows typefaces which need hinting to produce correct glyph
- forms (e.g., Chinese typefaces from Dynalab) to work acceptably
- without infringing Apple patents. This system is compiled only
- if TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
- ftoption.h (activated by default).
-
-
- III. MISCELLANEOUS
-
- - There is now a guard in the public header files to protect
- against inclusion of freetype.h from FreeType 1.
-
- - Direct inclusion of freetype.h and other public header files no
- longer works. You have to use the documented scheme
-
- #include <ft2build.h>
- #include FT_FREETYPE_H
-
- to load freetype.h with a symbolic name. This protects against
- renaming of public header files (which shouldn't happen but
- actually has, avoiding two public header files with the same
- name).
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.5 and 2.1.4
-
- I. IMPORTANT BUG FIXES
-
- - Parsing the /CIDFontName field now removes the leading slash to
- be in sync with other font drivers.
-
- - gzip support was buggy. Some fonts could not be read.
-
- - Fonts which have nested subglyphs more than one level deep no
- longer cause a segfault.
-
- - Creation of synthetic cmaps for fonts in CFF format was broken
- partially.
-
- - Numeric font dictionary entries for synthetic fonts are no
- longer overwritten.
-
- - The font matrix wasn't applied to the advance width for Type1,
- CID, and CFF fonts. This caused problems when loading certain
- synthetic Type 1 fonts like `Helvetica Narrow'.
-
- - The test for the charset registry in BDF and PCF fonts is now
- case-insensitive.
-
- - FT_Vector_Rotate sometimes returned strange values due to
- rounding errors.
-
- - The PCF driver now returns the correct number of glyphs
- (including an artificial `notdef' glyph at index 0).
-
- - FreeType now supports buggy CMaps which are contained in many
- CJK fonts from Dynalab.
-
- - Opening an invalid font on a Mac caused a segfault due to
- double-freeing memory.
-
- - BDF fonts with more than 32768 glyphs weren't supported
- properly.
-
-
- II. IMPORTANT CHANGES
-
- - Accessing bitmap font formats has been synchronized. To do that
- the FT_Bitmap_Size structure has been extended to contain new
- fields `size', `x_ppem', and `y_ppem'.
-
- - The FNT driver now returns multiple faces, not multiple strikes.
-
- - The `psnames' module has been updated to the Adobe Glyph List
- version 2.0.
-
- - The `psnames' module now understands `uXXXX[X[X]]' glyph names.
-
- - The algorithm for guessing the font style has been improved.
-
- - For fonts in SFNT format, root->height is no longer increased if
- the line gap is zero. There exist fonts (containing e.g. form
- drawing characters) which intentionally have a zero line gap
- value.
-
- - ft_glyph_bbox_xxx flags are now deprecated in favour of
- FT_GLYPH_BBOX_XXX.
-
- - ft_module_xxx flags are now deprecated in favour of
- FT_MODULE_XXX.
-
- - FT_ENCODING_MS_{SJIS,GB2312,BIG5,WANSUNG,JOHAB} are now
- deprecated in favour of
- FT_ENCODING_{SJIS,GB2312,GIB5,WANSONG,JOHAB} -- those encodings
- are not specific to Microsoft.
-
-
- III. MISCELLANEOUS
-
- - The autohinter has been further improved; for example, `m'
- glyphs now retain its vertical symmetry.
-
- - Partial support of Mac fonts on non-Mac platforms.
-
- - `make refdoc' (after first `make') builds the HTML
- documentation. You need Python for this.
-
- - The make build system should now work more reliably on DOS-like
- platforms.
-
- - Support for EMX gcc and Watson C/C++ compilers on MS-DOS has
- been added.
-
- - Better VMS build support.
-
- - Support for the pkg-config package by providing a `freetype.pc'
- file.
-
- - New configure option --with-old-mac-fonts for Darwin.
-
- - Some source files have been renamed (mainly to fit into the 8.3
- naming scheme).
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.4 and 2.1.3
-
- I. IMPORTANT BUG FIXES
-
- - Updated to newest libtool version, fixing build problems on
- various platforms.
-
- - A fix in the Gzip stream reader: It couldn't read certain .gz
- files properly due to a small typo. In certain cases, FreeType
- could also loop endlessly when trying to load tiny gzipped
- files.
-
- - The configure script now tries to use the system-wide zlib when
- it finds one (instead of the copy found in src/gzip). And
- `freetype-config' has been updated to return relevant flags in
- this case when invoked with `--libs' (e.g. `-lzlib').
-
- - Certain fonts couldn't be loaded by 2.1.3 because they lacked a
- Unicode charmap (e.g. SYMBOL.TTF). FreeType erroneously
- rejected them.
-
- - The CFF loader was modified to accept fonts which only contain a
- subset of their reference charset. This prevented the correct
- use of PDF-embedded fonts.
-
- - The logic to detect Unicode charmaps has been modified. This is
- required to support fonts which include both 16-bit and 32-bit
- charmaps (like very recent asian ones) using the new 10 and 12
- SFNT formats.
-
- - The TrueType loader now limits the depth of composite glyphs.
- This is necessary to prevent broken fonts to break the engine by
- blowing the stack with recursive glyph definitions.
-
- - The CMap cache is now capable of managing UCS-4 character codes
- that are mapped through extended charmaps in recent
- TrueType/OpenType fonts.
-
- - The cache sub-system now properly manages out-of-memory
- conditions instead of blindly reporting them to the caller.
- This means that it will try to empty the cache before restarting
- its allocations to see if that can help.
-
- - The PFR driver didn't return the list of available embedded
- bitmaps properly.
-
- - There was a nasty memory leak when using embedded bitmaps in
- certain font formats.
-
-
- II. IMPORTANT CHANGES
-
- - David Chester contributed some enhancements to the auto-hinter
- that significantly increase the quality of its output. The
- Postscript hinter was also improved in several ways.
-
- - The FT_RENDER_MODE_LIGHT render mode was implemented.
-
- - A new API function called `FT_Get_BDF_Property' has been added
- to FT_BDF_H to retrieve BDF properties from BDF _and_ PCF font
- files. THIS IS STILL EXPERIMENTAL, since it hasn't been
- properly tested yet.
-
- - A Windows FNT specific API has been added, mostly to access font
- headers. This is used by Wine.
-
- - TrueType tables without an `hmtx' table are now tolerated when
- an incremental interface is used. This happens for certain
- Type42 fonts passed from Ghostscript to FreeType.
-
- - The PFR font driver is now capable of returning the font family
- and style names when they are available (instead of the sole
- `FontID'). This is performed by parsing an *undocumented*
- portion of the font file!
-
-
- III. MISCELLANEOUS
-
- - The path stroker in FT_STROKER_H has entered beta stage. It now
- works very well, but its interface might change a bit in the
- future. More on this in later releases.
-
- - The documentation for FT_Size_Metrics didn't appear properly in
- the API reference.
-
- - The file docs/VERSION.DLL has been updated to explain versioning
- with FreeType (i.e., comparing release/libtool/so numbers, and
- how to use them in autoconf scripts).
-
- - The installation documentation has been seriously revamped.
- Everything is now in the `docs' directory.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.3 and 2.1.2
-
- I. IMPORTANT BUG FIXES
-
- - FT_Vector_Transform had been incorrectly modified in 2.1.2,
- resulting in incorrect transformations being applied (for
- example, rotations were processed in opposite angles).
-
- - The format 8 and 12 TrueType charmap enumeration routines have
- been fixed (FT_Get_Next_Char returned invalid values).
-
- - The PFR font driver returned incorrect advance widths if the
- outline and metrics resolution defined in the font file were
- different.
-
- - FT_Glyph_To_Bitmap now returns successfully when called with an
- FT_BitmapGlyph argument (it previously returned an error).
-
- - A bug in the Type 1 loader that prevented valid font bounding
- boxes to be loaded from multiple master fonts.
-
- - The SFNT validation code has been rewritten. FreeType can now
- load `broken' fonts that were usable on Windows, but not with
- previous versions of the library.
-
- - The computation of bearings in the BDF driver has been fixed.
-
- - The Postscript hinter crashed when trying to hint certain glyphs
- (more precisely, when trying to apply hints to an empty glyph
- outline).
-
- - The TrueType glyph loader now supports composites in `Apple
- format' (they differ slightly from Microsoft/OpenType ones in
- the way transformation offsets are computed).
-
- - FreeType was very slow at opening certain asian CID/CFF fonts,
- due to fixed increment in dynamic array re-allocations. This
- has been changed to exponential behaviour to get acceptable
- performance.
-
-
-
- II. IMPORTANT CHANGES
-
- - The PCF driver now supports gzip-compressed font files natively.
- This means that you will be able to use all these bitmap fonts
- that come with XFree86 with FreeType (and libXft/libXft2, by
- extension).
-
- - The automatic and postscript hinters have both been updated.
- This results in a relatively important increase of rendering
- quality since many nasty defaults have been suppressed. Please
- visit the web page:
-
- http://www.freetype.org/hinting/smooth-hinting.html
-
- for additional details on this topic.
-
- - The `load_flags' parameter of `FT_Load_Glyph' is now an FT_Int32
- (instead of just being an FT_Int). This breaks source and
- binary compatibility for 16bit systems only, while retaining
- both of them for 32 and 64 bit ones.
-
- Some new flags have been added consequently:
-
- FT_LOAD_NO_AUTOHINT :: Disable the use of the auto-hinter
- (but not native format hinters).
-
- FT_LOAD_TARGET_NORMAL :: Hint and render for normal
- anti-aliased displays.
-
- FT_LOAD_TARGET_MONO :: Hint and render for 1-bit displays.
-
- FT_LOAD_TARGET_LCD :: Hint and render for horizontal RGB or
- BGR sub-pixel displays (like LCD
- screens). THIS IS STILL
- EXPERIMENTAL!
-
- FT_LOAD_TARGET_LCD_V :: Same as FT_LOAD_TARGET_LCD, for
- vertical sub-pixel displays (like
- rotated LCD screens). THIS IS STILL
- EXPERIMENTAL!
-
- FT_LOAD_MONOCHROME is still supported, but only affects
- rendering, not the hinting.
-
- Note that the `ftview' demo program available in the `ft2demos'
- package has been updated to support LCD-optimized display on
- non-paletted displays (under Win32 and X11).
-
- - The PFR driver now supports embedded bitmaps (all formats
- supported), and returns correct kerning metrics for all glyphs.
-
- - The TrueType charmap loader now supports certain `broken' fonts
- that load under Windows without problems.
-
- - The cache API has been slightly modified (it's still a beta!):
-
- - The type FTC_ImageDesc has been removed; it is now replaced
- by FTC_ImageTypeRec. Note that one of its fields is a
- `load_flag' parameter for FT_Load_Glyph.
-
- - The field `num_grays' of FT_SBitRec has been changed to
- `max_grays' in order to fit within a single byte. Its
- maximum value is thus 255 (instead of 256 as previously).
-
-
- III. MISCELLANEOUS
-
- - Added support for the DESTDIR variable during `make install'.
- This simplifies packaging of FreeType.
-
- - Included modified copies of the ZLib sources in `src/gzip' in
- order to support gzip-compressed PCF fonts. We do not use the
- system-provided zlib for now, though this is a probable
- enhancement for future releases.
-
- - The DocMaker tool used to generate the on-line API reference has
- been completely rewritten. It is now located in
- `src/tools/docmaker/docmaker.py'. Features:
-
- - better cross-referenced output
- - more polished output
- - uses Python regular expressions (though it didn't speed the
- program)
- - much more modular structure, which allows for different
- `backends' in order to generate HTML, XML, or whatever
- format.
-
- One can regenerate the API reference by calling:
-
- python src/tools/docmaker/docmaker.py \
- --prefix=ft2 \
- --title=FreeType-2.1.3 \
- --output=<outputdirectory>
- include/freetype/*.h \
- include/freetype/config/*.h \
- include/freetype/cache/*.h
-
- - A new, experimental, support for incremental font loading (i.e.,
- loading of fonts where the glyphs are not in the font file
- itself, but provided by an external component, like a Postscript
- interpreter) has been added by Graham Asher. This is still work
- in progress, however.
-
- - A new, EXPERIMENTAL, path stroker has been added. It doesn't
- suffer from severe rounding errors and treat bezier arcs
- directly. Still work in progress (i.e. not part of the official
- API). See the file <freetype/ftstroker.h> for some of the
- details.
-
- - The massive re-formatting of sources and internal re-design is
- still under-way. Many internal functions, constants, and types
- have been renamed.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.2 and 2.1.1
-
- I. IMPORTANT BUG FIXES
-
- - Many font drivers didn't select a Unicode charmap by default
- when a new face was opened (with the FT_CONFIG_OPTION_USE_CMAPS
- options enabled), causing many applications to not be able to
- display text correctly with the 2.1.x releases.
-
- - The PFR driver had a bug in its composite loading code that
- produces incorrectly placed accents with many fonts.
-
- - The Type42 driver crashed sometimes due to a nasty bug.
-
- - The Type 1 custom encoding charmap didn't handle the case where
- the first glyph index wasn't 0.
-
- - A serious typo in the TrueType composite loader produced
- incorrectly placed glyphs in fonts like `Wingdings' and a few
- others.
-
-
- II. MISCELLANEOUS
-
- - The Win32 Visual C++ project file has been updated to include
- the PFR driver as well.
-
- - `freetype.m4' is now installed by default by `make install' on
- Unix systems.
-
- - The function FT_Get_PS_Font_Info now works with CID and Type42
- fonts as well.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.1 and 2.1.0
-
- I. IMPORTANT BUG FIXES
-
- - The `version_info' returned by `freetype-config' in 2.1.0
- returned an invalid value. It now returns 9:1:3 (2.0.9 returned
- 9:0:3).
-
- - Version 2.1.0 couldn't be linked against applications on Win32
- and Amiga systems due to a new debug function that wasn't
- properly propagated to the system-specific directory in
- `builds'.
-
- - Various MacOS and Mac OS X specific fixes.
-
- - Fixed a bug in the TrueType charmap validation routines that
- made version 2.1.0 too restrictive -- many popular fonts have
- been rejected.
-
- - There was still a very small difference between the monochrome
- glyph bitmaps produced by FreeType 1.x and FreeType 2.x with the
- bytecode interpreter enabled. This was caused by an invalid
- flag setting in the TrueType glyph loader, making the rasterizer
- change its drop-out control mode. Now the results should
- _really_ be completely identical.
-
- - The TrueType name table loader has been improved to support many
- popular though buggy Asian fonts. It now ignores empty name
- entries, invalid pointer offsets and a few other incorrect
- subtleties. Moreover, name strings are now loaded on demand,
- which reduces the memory load of many faces (e.g. the ARIAL.TTF
- font file contains a 10kByte name table with 70 names).
-
- - Fixed a bug in the Postscript hinter that prevented family blues
- substitution to happen correctly.
-
-
- II. NEW FEATURES
-
- - Three new font drivers in this release:
-
- * A BDF font driver, contributed by Franco Zappa Nardelli,
- heavily modified by Werner Lemberg. It also supports
- anti-aliased bitmaps (using a slightly extended BDF format).
-
- * A Type42 font driver, contributed by Roberto Alameda. It is
- still experimental but seems to work relatively well.
-
- * A PFR font driver, contributed by David Turner himself. It
- doesn't support PFR hinting -- note that BitStream has at
- least two patents on this format!
-
-
- III. MISCELLANEOUS
-
- - The cache sub-system has been optimized in important ways.
- Cache hits are now significantly faster. For example, using the
- CMap cache is about twice faster than calling FT_Get_Char_Index
- on most platforms. Similarly, using an SBit cache is about five
- times faster than loading the bitmaps from a bitmap file, and
- 300 to 500 times faster than generating them from a scalable
- format.
-
- Note that you should recompile your sources if you designed a
- custom cache class for the FT2 Cache subsystem, since the
- changes performed are source, but not binary, compatible.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.1.0 and 2.0.9
-
- I. IMPORTANT BUG FIXES
-
- - The TrueType bytecode interpreter has been fixed to produce
- _exactly_ the same output as FreeType 1.x. Previous differences
- were due to slightly distinct fixed-point computation routines
- used to perform dot products and vector length measurements.
-
- It seems that native TrueType hinting is _extremely_ sensitive
- to rounding errors. The required vector computation routines
- have been optimized and placed within the `ttinterp.c' file.
-
- - Fixed the parsing of accelerator tables in the PCF font driver.
-
- - Fixed the Type1 glyph loader routine used to compute the font's
- maximum advance width.
-
-
- II. NEW FEATURES
-
- - The `configure' script used on Unix systems has been modified to
- check that GNU Make is being used to build the library.
- Otherwise, it will display a message proposing to use the
- GNUMAKE environment variable to name it.
-
- The Unix-specific file README.UNX has been modified accordingly.
-
-
- III. MISCELLANEOUS
-
- - The FreeType License in `docs/FTL.TXT' has been updated to
- include a proposed preferred disclaimer. If you are using
- FreeType in your products, you are encouraged (but not mandated)
- to use the following text in your documentation:
-
- """
- Portions of this software are copyright © 1996-2002 The
- FreeType Project (www.freetype.org). All rights reserved.
- """
-
- - The default size of the render pool has been reduced to 16kByte.
- This shouldn't result in any noticeable performance penalty,
- unless you are using the engine as-is to render very large and
- complex glyphs.
-
- - The FreeType 2 redesign has begun. More information can be
- found at this URL:
-
- http://www.freetype.org/freetype2/redesign.html
-
- The following internal changes have been performed within the
- sources of this release:
-
- - Many internal types have been renamed to increase
- consistency. The following should be true, except for
- public types:
-
- * All structure types have a name ending in `Rec' (short
- for `record').
-
- * A pointer-to-structure type has the same name as the
- structure, _without_ the `Rec' suffix.
-
- Example:
-
- typedef struct FooRec_
- {
- ...
-
- } FooRec, *Foo;
-
- - Many internal macros have been renamed to increase
- consistency. The following should be true:
-
- * All macros have a name beginning with `FT_'. This
- required a few changes like
-
- ALLOC => FT_ALLOC
- FREE => FT_FREE
- REALLOC => FT_REALLOC
-
- * All macros are completely UPPERCASE. This required a
- few changes like:
-
- READ_Short => FT_READ_SHORT
- NEXT_Short => FT_NEXT_SHORT
- GET_ULongLE => FT_GET_ULONG_LE
- MEM_Set => FT_MEM_SET
- MEM_Copy => FT_MEM_COPY
- etc.
-
- * Whenever possible, all macro names follow the
- FT_<OBJECT>_<METHOD> pattern. For example
-
- ACCESS_Frame => FT_FRAME_ENTER
- FORGET_Frame => FT_FRAME_EXIT
- EXTRACT_Frame => FT_FRAME_EXTRACT
- RELEASE_Frame => FT_FRAME_RELEASE
-
- FILE_Pos => FT_STREAM_POS
- FILE_Seek => FT_STREAM_SEEK
- FILE_Read => FT_STREAM_READ
- FILE_ReadAt => FT_STREAM_READ_AT
- READ_Fields => FT_STREAM_READ_FIELDS
-
- - Many internal functions have been renamed to follow the
- FT_<Object>_<Method> pattern. For example:
-
- FT_Seek_Stream => FT_Stream_Seek
- FT_Read_Stream_At => FT_Stream_ReadAt
- FT_Done_Stream => FT_Stream_Close
- FT_New_Stream => FT_Stream_Open
- FT_New_Memory_Stream => FT_Stream_OpenMemory
- FT_Extract_Frame => FT_Stream_ExtractFrame
-
- Note that method names do not contain `_'.
-
- - The FT_ALLOC_ARRAY and FT_REALLOC_ARRAY have been replaced
- with FT_NEW_ARRAY and FT_RENEW_ARRAY which do not take a
- type as the fourth argument. Instead, the array element
- type size is computed automatically from the type of the
- target pointer used.
-
- - A new object class, FT_CMap, has been introduced. These
- internal objects are used to model character maps. This
- eases the support of additional charmap types within the
- engine.
-
- - A new configuration file named `ftstdlib.h' has been added
- to `include/freetype/config'. It is used to define aliases
- for _every_ routine of the ISO C library that the font
- engine uses. Each aliases has a `ft_' prefix
- (e.g. `ft_strlen' is an alias for `strlen').
-
- This is used to ease the porting of FreeType 2 to exotic
- runtime environments where the ISO C Library isn't available
- (e.g. XFree86 extension modules).
-
- More details are available in the `ChangeLog' file.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.0.9 and 2.0.8
-
- I. IMPORTANT BUG FIXES
-
- - Certain fonts like `foxjump.ttf' contain broken name tables with
- invalid entries and wild offsets. This caused FreeType to crash
- when trying to load them.
-
- The SFNT `name' table loader has been fixed to be able to
- support these strange fonts.
-
- Moreover, the code in charge of processing this table has been
- changed to always favour Windows-formatted entries over other
- ones. Hence, a font that works on Windows but not on the Mac
- will load cleanly in FreeType and report accurate values for
- Family & PostScript names.
-
- - The CID font driver has been fixed. It unfortunately returned a
- Postscript Font name with a leading slash, as in
- `/MunhwaGothic-Regular'.
-
- - FreeType 2 should now compile fine on AIX 4.3.3 as a shared
- library.
-
- - A bug in the Postscript hinter has been found and fixed,
- removing un-even stem widths at small pixel sizes (like 14-17).
-
- This improves the quality of a certain number of Postscript
- fonts.
-
-
- II. NEW FEATURES
-
- - A new function named `FT_Library_Version' has been added to
- return the current library's major, minor, and patch version
- numbers. This is important since the macros FREETYPE_MAJOR,
- FREETYPE_MINOR, and FREETYPE_PATCH cannot be used when the
- library is dynamically linked by a program.
-
- - Two new APIs have been added: `FT_Get_First_Char' and
- `FT_Get_Next_Char'.
-
- Together, these can be used to iterate efficiently over the
- currently selected charmap of a given face. Read the API
- reference for more details.
-
-
- III. MISCELLANEOUS
-
- - The FreeType sources are under heavy internal re-factoring. As
- a consequence, we have created a branch named `STABLE' on the
- CVS to hold all future releases/fixes in the 2.0.x family.
-
- The HEAD branch now contains the re-factored sources and
- shouldn't be used for testing or packaging new releases. In
- case you would like to access the 2.0.9 sources from our CVS
- repository, use the tag `VER-2-0-9'.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.0.8 and 2.0.7
-
- I. IMPORTANT BUG FIXES
-
- - There was a small but nasty bug in `freetype-config.in' which
- caused the `freetype-config' script to fail on Unix.
-
- This didn't prevent the installation of the library or even its
- execution, but caused problems when trying to compile many Unix
- packages that depend on it.
-
- - Some TrueType or OpenType fonts embedded in PDF documents do not
- have a 'cmap', 'post' and 'name' as is required by the
- specification. FreeType no longer refuses to load such fonts.
-
- - Various fixes to the PCF font driver.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.0.7 and 2.0.6
-
- I. IMPORTANT BUG FIXES
-
- - Fixed two bugs in the Type 1 font driver. The first one
- resulted in a memory leak in subtle cases. The other one caused
- FreeType to crash when trying to load `.gsf' files (Ghostscript
- so-called Postscript fonts).
-
- (This made _many_ KDE applications crash on certain systems.
- FreeType _is_ becoming a critical system component on Linux :-)
-
- - Fixed a memory leak in the CFF font driver.
-
- - Fixed a memory leak in the PCF font driver.
-
- - Fixed the Visual C++ project file
- `builds/win32/visualc/freetype.dsp' since it didn't include the
- Postscript hinter component, causing errors at build time.
-
- - Fixed a small rendering bug in the anti-aliased renderer that
- only occurred when trying to draw thin (less than 1 pixel)
- strokes.
-
- - Fixed `builds/unix/freetype2.a4' which is used to generate a
- valid `freetype2.m4' for use with autoconf.
-
- - Fixed the OpenVMS Makefiles.
-
-
- II. MISCELLANEOUS
-
- - Added `configure' and `install' scripts to the top-level
- directory. A GNU-style installation is thus now easily possible
- with
-
- ./configure <options>
- make
- make install
-
-
-======================================================================
-
-CHANGES BETWEEN 2.0.6 and 2.0.5
-
- I. IMPORTANT BUG FIXES
-
- - It wasn't possible to load embedded bitmaps when the auto-hinter
- was used. This is now fixed.
-
- - The TrueType font driver didn't load some composites properly
- (the sub-glyphs were slightly shifted, and this was only
- noticeable when using monochrome rendering).
-
- - Various fixes to the auto-hinter. They merely improve the
- output of sans-serif fonts. Note that there are still problems
- with serifed fonts and composites (accented characters).
-
- - All scalable font drivers erroneously returned un-fitted glyph
- advances when hinting was requested. This created problems for
- a number of layout applications. This is a very old bug that
- got undetected mainly because most test/demo program perform
- rounding explicitly or implicitly (through the cache).
-
- - `FT_Glyph_To_Bitmap' did erroneously modify the source glyph in
- certain cases.
-
- - `glnames.py' still contained a bug that made FreeType return
- invalid names for certain glyphs.
-
- - The library crashed when loading certain Type 1 fonts like
- `sadn.pfb' (`Stalingrad Normal'), which appear to contain
- pathetic font info dictionaries.
-
- - The TrueType glyph loader is now much more paranoid and checks
- everything when loading a given glyph image. This was necessary
- to avoid problems (crashes and/or memory overwrites) with broken
- fonts that came from a really buggy automatic font converter.
-
-
- II. IMPORTANT UPDATES AND NEW FEATURES
-
- - Important updates to the Mac-specific parts of the library.
-
- - The caching sub-system has been completely re-designed, and its
- API has evolved (the old one is still supported for backward
- compatibility).
-
- The documentation for it is not yet completed, sorry. For now,
- you are encouraged to continue using the old API. However, the
- ftview demo program in the ft2demos package has already been
- updated to use the new caching functions.
-
- - A new charmap cache is provided too. See `FTC_CMapCache'. This
- is useful to perform character code -> glyph index translations
- quickly, without the need for an opened FT_Face.
-
- - A NEW POSTSCRIPT HINTER module has been added to support native
- hints in the following formats: PostScript Type 1, PostScript
- CID, and CFF/CEF.
-
- Please test! Note that the auto-hinter produces better results
- for a number of badly-hinted fonts (mostly auto-generated ones)
- though.
-
- - A memory debugger is now part of the standard FreeType sources.
- To enable it, define FT_DEBUG_MEMORY in
- <freetype/config/ftoption.h>, and recompile the library.
-
- Additionally, define the _environment_ variable FT_DEBUG_MEMORY
- and run any program using FreeType. When the library is exited,
- a summary of memory footprints and possible leaks will be
- displayed.
-
- This works transparently with _any_ program that uses FreeType.
- However, you will need a lot of memory to use this (allocated
- blocks are never released to the heap to detect double deletes
- easily).
-
-
- III. MISCELLANEOUS
-
- - We are aware of subtle differences between the output of
- FreeType versions 1 and 2 when it comes to monochrome
- TrueType-hinted glyphs. These are most probably due to small
- differences in the monochrome rasterizers and will be worked out
- in an upcoming release.
-
- - We have decided to fork the sources in a `stable' branch, and an
- `unstable' one, since FreeType is becoming a critical component
- of many Unix systems.
-
- The next bug-fix releases of the library will be named 2.0.7,
- 2.0.8, etc., while the `2.1' branch will contain a version of
- the sources where we will start major reworking of the library's
- internals, in order to produce FreeType 2.2.0 (or even 3.0) in a
- more distant future.
-
- We also hope that this scheme will allow much more frequent
- releases than in the past.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.0.5 and 2.0.4
-
- NOTE THAT 2.0.5 DOES NOT CONTAIN THE POSTSCRIPT HINTER. THIS MODULE
- WILL BE PART OF THE NEXT RELEASE (EITHER 2.0.6 or 2.1)
-
- - Fixed a bug that made certain glyphs, like `Cacute', `cacute' and
- `lslash' unavailable from Unicode charmaps of Postscript fonts.
- This prevented the correct display of Polish text, for example.
-
- - The kerning table of Type 1 fonts was loaded by FreeType, when its
- AFM file was attached to its face, but the
- FT_FACE_FLAG_HAS_KERNING bit flags was not set correctly,
- preventing FT_Get_Kerning to return meaningful values.
-
- - Improved SFNT (TrueType & OpenType) charmap support. Slightly
- better performance, as well as support for the new formats defined
- by the OpenType 1.3 specification (8, 10, and 12)
-
- - Fixed a serious typo in `src/base/ftcalc.c' which caused invalid
- computations in certain rare cases, producing ugly artefacts.
-
- - The size of the EM square is computed with a more accurate
- algorithm for Postscript fonts. The old one caused slight errors
- with embedded fonts found in PDF documents.
-
- - Fixed a bug in the cache manager that prevented normal LRU
- behaviour within the cache manager, causing unnecessary reloads
- (for FT_Face and FT_Size objects only).
-
- - Added a new function named `FT_Get_Name_Index' to retrieve the
- glyph index of a given glyph name, when found in a face.
-
- - Added a new function named `FT_Get_Postscript_Name' to retrieve
- the `unique' Postscript font name of a given face.
-
- - Added a new public header size named FT_SIZES_H (or
- <freetype/ftsizes.h>) providing new FT_Size-management functions:
- FT_New_Size, FT_Activate_Size, FT_Done_Size.
-
- - Fixed a reallocation bug that generated a dangling pointer (and
- possibly memory leaks) with Postscript fonts (in
- src/psaux/psobjs.c).
-
- - Many fixes for 16-bit correctness.
-
- - Removed many pedantic compiler warnings from the sources.
-
- - Added an Amiga build directory in `builds/amiga'.
-
-
-======================================================================
-
-CHANGES BETWEEN 2.0.4 and 2.0.3
-
- - Fixed a rather annoying bug that was introduced in 2.0.3. Namely,
- the font transformation set through FT_Set_Transform was applied
- twice to auto-hinted glyphs, resulting in incorrectly rotated text
- output.
-
- - Fixed _many_ compiler warnings. FT2 should now compile cleanly
- with Visual C++'s most pedantic warning level (/W4). It already
- compiled fine with GCC and a few other compilers.
-
- - Fixed a bug that prevented the linear advance width of composite
- TrueType glyphs to be correctly returned.
-
- - Fixed the Visual C++ project files located in
- `builds/win32/visualc' (previous versions used older names of the
- library).
-
- - Many 32-bit constants have an `L' appended to their value, in
- order to improve the 16-bitness of the code. Someone is actually
- trying to use FT2 on an Atari ST machine!
-
- - Updated the `builds/detect.mk' file in order to automatically
- build FT2 on AIX systems. AIX uses `/usr/sbin/init' instead of
- `/sbin/init' and wasn't previously detected as a Unix platform by
- the FreeType build system.
-
- - Updated the Unix-specific portions of the build system (new
- libtool version, etc.).
-
- - The SFNT kerning loader now ensures that the table is sorted
- (since some problem fonts do not meet this requirement).
-
-
-=======================================================================
-
-CHANGES BETWEEN 2.0.3 and 2.0.2
-
- I. CHANGES TO THE MODULES / FONT DRIVERS
-
- - THE AUTO-HINTER HAS BEEN SLIGHTLY IMPROVED, in order to fix
- several annoying artefacts, mainly:
-
- - Blue zone alignment of horizontal stems wasn't performed
- correctly, resulting in artefacts like the `d' being placed
- one pixel below the `b' in some fonts like Time New Roman.
-
- - Overshoot thresholding wasn't performed correctly, creating
- unpleasant artefacts at large character pixel sizes.
-
- - Composite glyph loading has been simplified. This gets rid
- of various artefacts where the components of a composite
- glyphs were not correctly spaced.
-
- These are the last changes to the current auto-hinting module.
- A new hinting sub-system is currently in the work in order to
- support native hints in Type 1 / CFF / OpenType fonts, as well
- as globally improve rendering.
-
- - The PCF driver has been fixed. It reported invalid glyph
- dimensions for the fonts available on Solaris.
-
- - The Type 1, CID and CFF drivers have been modified to fix the
- computation of the EM size.
-
- - The Type 1 driver has been fixed to avoid a dangerous bug that
- crashed the library with non-conforming fonts (i.e. ones that do
- not place the .notdef glyph at position 0).
-
- - The TrueType driver had a rather subtle bug (dangling pointer
- when loading composite glyphs) that could crash the library in
- rare occasions!
-
-
- II. HIGH-LEVEL API CHANGES
-
- - The error code enumeration values have been changed. An error
- value is decomposed in a generic error code, and a module
- number. see <freetype/fterrors.h> for details.
-
- - A new public header file has been introduced, named
- FT_TRIGONOMETRY_H (include/freetype/fttrig.h), providing
- trigonometric functions to compute sines, cosines, arctangents,
- etc. with 16.16 fixed precision. The implementation is based on
- the CORDIC algorithm and is very fast while being sufficiently
- accurate.
-
-
- III. INTERNALS
-
- - Added BeOS-specific files in the old build sub-system. Note
- that no changes were required to compile the library with Jam.
-
- - The configuration is now capable of automatically detecting
- 64-bit integers on a set of predefined compilers (GCC, Visual
- C++, Borland C++) and will use them by default. This provides a
- small performance boost.
-
- - A small memory leak that happened when opening 0-sized files
- (duh!) have been fixed.
-
- - Fixed bezier stack depth bug in the routines provided by the
- FT_BBOX_H header file. Also fixed similar bugs in the
- rasterizers.
-
- - The outline bounding box code has been rewritten to use direct
- computations, instead of bezier sub-division, to compute the
- exact bounding box of glyphs. This is slightly slower but more
- accurate.
-
- - The build system has been improved and fixed, mainly to support
- `make' on Windows 2000 correctly, avoid problems with `make
- distclean' on non Unix systems, etc.
-
- - Hexadecimal constants have been suffixed with `U' to avoid
- problems with certain compilers on 64-bit platforms.
-
- - A new directory named `src/tools' has been created. It contains
- Python scripts and simple unit test programs used to develop the
- library.
-
- - The DocMaker tool has been moved from `docs' to `src/tools' and
- has been updated with the following:
-
- - Now accepts the `--title=XXXX' or `-t XXXX' option from the
- command line to set the project's name in the generated API
- reference.
-
- - Now accepts the `--output=DIR' or `-o DIR' option from the
- command line to set the output directory for all generated
- HTML files.
-
- - Now accepts the `--prefix=XXXX' or `-p XXX' option from the
- command line to set the file prefix to use for all
- generated HTML files.
-
- - Now generates the current time/data on each generated page
- in order to distinguish between versions.
-
- DocMaker can be used with other projects now, not only FT2
- (e.g. MLib, FTLayout, etc.).
-
-
-======================================================================
-
-CHANGES BETWEEN 2.0.2 and 2.0.1
-
- I. CHANGES TO THE MODULES / FONT DRIVERS
-
- - THE TRUETYPE BYTECODE INTERPRETER IS NOW TURNED OFF, in order to
- avoid legal problems with the Apple patents. It seems that we
- mistakenly turned this option on in previous releases of the
- build.
-
- Note that if you want to use the bytecode interpreter in order
- to get high-quality TrueType rendering, you will need to toggle
- by hand the definition of the
- TT_CONFIG_OPTION_BYTECODE_INTERPRETER macro in the file
- `include/freetype/config/ftoption.h'.
-
- - The CFF driver has been improved by Tom Kacvinsky and Sander van
- der Wal:
-
- * Support for `seac' emulation.
- * Support for `dotsection'.
- * Support for retrieving glyph names through
- `FT_Get_Glyph_Name'.
-
- The first two items are necessary to correctly a large number of
- Type 1 fonts converted to the CFF formats by Adobe Acrobat.
-
- - The Type 1 driver was also improved by Tom & others:
-
- * Better EM size computation.
- * Better support for synthetic (transformed) fonts.
- * The Type 1 driver returns the charstrings corresponding to
- each glyph in the `glyph->control_data' field after a call to
- `FT_Load_Glyph' (thanks Ha Shao).
-
- - Various other bugfixes, including the following:
-
- * Fixed a nasty memory leak in the Type 1 driver.
- * The autohinter and the pcf driver used static writable data
- when they shouldn't.
- * Many casts were added to make the code more 64-bits safe. It
- also now compiles on Windows XP 64-bits without warnings.
- * Some incorrect writable statics were removed in the `autohint'
- and `pcf' drivers. FreeType 2 now compiles on Epoc again.
-
-
- II. CHANGES TO THE HIGH-LEVEL API
-
- - The library header files inclusion scheme has been changed. The
- old scheme looked like:
-
- #include <freetype/freetype.h>
- #include <freetype/ftglyph.h>
- #include <freetype/ftcache.h>
- #include <freetype/cache/ftimage.h>
-
- Now you should use:
-
- #include <ft2build.h>
- #include FT_FREETYPE_H
- #include FT_GLYPH_H
- #include FT_CACHE_H
- #include FT_CACHE_IMAGE_H
-
- NOTE THAT THE OLD INCLUSION SCHEME WILL STILL WORK WITH THIS
- RELEASE. HOWEVER, WE DO NOT GUARANTEE THAT THIS WILL STILL BE
- TRUE IN THE NEXT ONE (A.K.A. FREETYPE 2.1).
-
- The file <ft2build.h> is used to define the header filename
- macros. The complete and commented list of macros is available
- in the API reference under the section name `Header File Macros'
- in Chapter I.
-
- For more information, see section I of the following document:
-
- http://www.freetype.org/
- freetype2/docs/tutorial/step1.html
-
- or
-
- http://freetype.sourceforge.net/
- freetype2/docs/tutorial/step1.html
-
- - Many, many comments have been added to the public source file in
- order to automatically generate the API Reference through the
- `docmaker.py' Python script.
-
- The latter has been updated to support the grouping of sections
- in chapters and better index sort. See:
-
- http://www.freetype.org/freetype2/docs/reference/ft2-toc.html
-
-
- III. CHANGES TO THE BUILD PROCESS
-
- - If you are not building FreeType 2 with its own build system
- (but with your own Makefiles or project files), you will need to
- be aware that the build process has changed a little bit.
-
- You don't need to put the `src' directory in the include path
- when compiling any FT2 component. Instead, simply put the
- component's directory in the current include path.
-
- So, if you were doing something like:
-
- cc -c -Iinclude -Isrc src/base/ftbase.c
-
- change the line to:
-
- cc -c -Iinclude -Isrc/base src/base/ftbase.c
-
- If you were doing something like:
-
- cd src/base
- cc -c -I../../include -I.. ftbase.c
-
- change it to:
-
- cd src/base
- cc -c -I../../include ftbase.c
-
-
-======================================================================
-
-CHANGES BETWEEN 2.0.1 and 2.0
-
- 2.0.1 introduces a few changes:
-
- - Fixed many bugs related to the support of CFF / OpenType fonts.
- These formats are now much better supported though there is
- still work planned to deal with charset tables and PDF-embedded
- CFF files that use the old `seac' command.
-
- - The library could not be compiled in debug mode with a very
- small number of C compilers whose pre-processors didn't
- implement the `##' directive correctly (i.e. per se the ANSI C
- specification!) An elegant fix was found.
-
- - Added support for the free Borland command-line C++ Builder
- compiler. Use `make setup bcc32'. Also fixed a few source
- lines that generated new warnings with BCC32.
-
- - Fixed a bug in FT_Outline_Get_BBox when computing the extrema of
- a conic Bezier arc.
-
- - Updated the INSTALL file to add IDE compilation.
-
- - Other minor bug fixes, from invalid Type 1 style flags to
- correct support of synthetic (obliqued) fonts in the
- auto-hinter, better support for embedded bitmaps in a SFNT font.
-
- - Fixed some problems with `freetype-config'.
-
- Finally, the `standard' scheme for including FreeType headers is now
- gradually changing, but this will be explained in a later release
- (probably 2.0.2).
-
- And very special thanks to Tom Kacvinsky and YAMANO-UCHI Hidetoshi
- for their contributions!
-
-
-======================================================================
-
-CHANGES BETWEEN beta8 and 2.0
-
- - Changed the default installation path for public headers from
- `include/freetype' to `include/freetype2'.
-
- Also added a new `freetype-config' that is automatically generated
- and installed on Unix and Cygwin systems. The script itself is
- used to retrieve the current install path, C compilation flags as
- well as linker flags.
-
- - Fixed several small bugs:
-
- * Incorrect max advance width for fixed-pitch Type 1 fonts.
- * Incorrect glyph names for certain TrueType fonts.
- * The glyph advance was not copied when FT_Glyph_To_Bitmap was
- called.
- * The linearHoriAdvance and linearVertAdvance fields were not
- correctly returned for glyphs processed by the auto-hinter.
- * `type1z' renamed back to `type1'; the old `type1' module has
- been removed.
-
- - Revamped the build system to make it a lot more generic. This
- will allow us to re-use nearly un-modified in lots of other
- projects (including FreeType Layout).
-
- - Changed `cid' to use `psaux' too.
-
- - Added the cache sub-system. See <freetype/ftcache.h> as well as
- the sources in `src/cache'. Note that it compiles but is still
- untested for now.
-
- - Updated `docs/docmaker.py', a draft API reference is available at
- http://www.freetype.org/ft2api.html.
-
- - Changed `type1' to use `psaux'.
-
- - Created a new module named `psaux' to hold the Type 1 & Type 2
- parsing routines. It should be used by `type1', `cid', and `cff'
- in the future.
-
- - Fixed an important bug in `FT_Glyph_Get_CBox'.
-
- - Fixed some compiler warnings that happened since the TrueType
- bytecode decoder was deactivated by default.
-
- - Fixed two memory leaks:
-
- * The memory manager (16 bytes) isn't released in
- FT_Done_FreeType!
- * Using custom input streams, the copy of the original stream was
- never released.
-
- - Fixed the auto-hinter by performing automatic computation of the
- `filling direction' of each glyph. This is done through a simple
- and fast approximation, and seems to work (problems spotted by
- Werner though). The Arphic fonts are a lot nicer though there are
- still a lot of things to do to handle Asian fonts correctly.
-
-
-======================================================================
-
-BETA-8 (RELEASE CANDIDATE) CHANGES
-
- - Deactivated the TrueType bytecode interpreter by default.
-
- - Deactivated the `src/type1' font driver. Now `src/type1z' is used
- by default.
-
- - Updates to the build system. We now compile the library correctly
- under Unix system through `configure' which is automatically
- called on the first `make' invocation.
-
- - Added the auto-hinting module! Fixing some bugs here and there.
-
- - Found some bugs in the composite loader (seac) of the Type1-based
- font drivers.
-
- - Renamed the directory `freetype2/config' to `freetype2/builds' and
- updated all relevant files.
-
- - Found a memory leak in the `type1' driver.
-
- - Incorporated Tom's patches to support flex operators correctly in
- OpenType/CFF fonts. Now all I need is to support pure CFF and CEF
- fonts to be done with this driver :-)
-
- - Added the Windows FNT/FON driver in `src/winfonts'. For now, it
- always `simulates' a Unicode charmap, so it shouldn't be
- considered completed right now.
-
- It is there to be more a proof of concept than anything else
- anyway. The driver is a single C source file, that compiles to 3
- Kb of code.
-
- I'm still working on the PCF/BDF drivers, but I'm too lazy to
- finish them now.
-
- - CHANGES TO THE HIGH-LEVEL API
-
- * FT_Get_Kerning has a new parameter that allows you to select the
- coordinates of the kerning vector (font units, scaled, scaled +
- grid-fitted).
- * The outline functions are now in <freetype/ftoutln.h> and not
- part of <freetype/freetype.h> anymore.
- * <freetype/ftmodule.h> now contains declarations for
- FT_New_Library, FT_Done_Library, FT_Add_Default_Modules.
- * The so-called convenience functions have moved from `ftoutln.c'
- to `ftglyph.c', and are thus available with this optional
- component of the library. They are declared in
- <freetype/ftglyph.h> now.
- * Anti-aliased rendering is now the default for FT_Render_Glyph
- (i.e. corresponds to render_mode == 0 == ft_render_mode_normal).
- To generate a monochrome bitmap, use ft_render_mode_mono, or the
- FT_LOAD_MONOCHROME flag in FT_Load_Glyph/FT_Load_Char.
- FT_LOAD_ANTI_ALIAS is still defined, but values to 0.
- * <freetype/freetype.h> now include <freetype/config/ftconfig.h>,
- solving a few headaches :-)
- * The type FT_GlyphSlotRec has now a `library' field.
-
- - CHANGES TO THE `ftglyph.h' API
-
- This API has been severely modified in order to make it simpler,
- clearer, and more efficient. It certainly now looks like a real
- `glyph factory' object, and allows client applications to manage
- (i.e. transform, bbox and render) glyph images without ever
- knowing their original format.
-
- - Added support for CID-keyed fonts to the CFF driver. Maybe
- support for pure CFF + CEF fonts should come in?
-
- - Cleaned up source code in order to avoid two functions with the
- same name. Also changed the names of the files in `type1z' from
- `t1XXXX' to `z1XXXX' in order to avoid any conflicts.
-
- `make multi' now works well :-)
-
- Also removed the use of `cidafm' for now, even if the source files
- are still there. This functionality will certainly go into a
- specific module.
-
- - ADDED SUPPORT FOR THE AUTO-HINTER
-
- It works :-) I have a demo program which simply is a copy of
- `ftview' that does a `FT_Add_Module(library,
- &autohinter_module_class)' after library initialization, and Type
- 1 & OpenType/CFF fonts are now hinted.
-
- CID fonts are not hinted, as they include no charmap and the
- auto-hinter doesn't include `generic' global metrics computations
- yet.
-
- Now, I need to release this thing to the FreeType 2 source.
-
- - CHANGES TO THE RENDERER MODULES
-
- The monochrome and smooth renderers are now in two distinct
- directories, namely `src/raster1' and `src/smooth'. Note that the
- old `src/renderer' is now gone.
-
- I ditched the 5-gray-levels renderers. Basically, it involved a
- simple #define toggle in 'src/raster1/ftraster.c'.
-
- FT_Render_Glyph, FT_Outline_Render & FT_Outline_Get_Bitmap now
- select the best renderer available, depending on render mode. If
- the current renderer for a given glyph image format isn't capable
- of supporting the render mode, another one will be found in the
- library's list. This means that client applications do not need
- to switch or set the renderers themselves (as in the latest
- change), they'll get what they want automatically. At last.
-
- Changed the demo programs accordingly.
-
- - MAJOR INTERNAL REDESIGN:
-
- A lot of internal modifications have been performed lately on the
- source in order to provide the following enhancements:
-
- * More generic module support:
-
- The FT_Module type is now defined to represent a handle to a
- given module. The file <freetype/ftmodule.h> contains the
- FT_Module_Class definition, as well as the module-loading public
- API.
-
- The FT_Driver type is still defined, and still represents a
- pointer to a font driver. Note that FT_Add_Driver is replaced
- by FT_Add_Module, FT_Get_Driver by FT_Get_Module, etc.
-
- * Support for generic glyph image types:
-
- The FT_Renderer type is a pointer to a module used to perform
- various operations on glyph image.
-
- Each renderer is capable of handling images in a single format
- (e.g. ft_glyph_format_outline). Its functions are used to:
-
- - transform an glyph image
- - render a glyph image into a bitmap
- - return the control box (dimensions) of a given glyph image
-
- The scan converters `ftraster.c' and `ftgrays.c' have been moved
- to the new directory `src/renderer', and are used to provide two
- default renderer modules.
-
- One corresponds to the `standard' scan-converter, the other to
- the `smooth' one.
-
- he current renderer can be set through the new function
- FT_Set_Renderer.
-
- The old raster-related function FT_Set_Raster, FT_Get_Raster and
- FT_Set_Raster_Mode have now disappeared, in favor of the new:
-
- FT_Get_Renderer
- FT_Set_Renderer
-
- See the file <freetype/ftrender.h> for more details.
-
- These changes were necessary to properly support different
- scalable formats in the future, like bi-color glyphs, etc.
-
- * Glyph loader object:
-
- A new internal object, called a 'glyph loader' has been
- introduced in the base layer. It is used by all scalable format
- font drivers to load glyphs and composites.
-
- This object has been created to reduce the code size of each
- driver, as each one of them basically re-implemented its
- functionality.
-
- See <freetype/internal/ftobjs.h> and the FT_GlyphLoader type for
- more information.
-
- * FT_GlyphSlot has new fields:
-
- In order to support extended features (see below), the
- FT_GlyphSlot structure has a few new fields:
-
- linearHoriAdvance:
-
- This field gives the linearly scaled (i.e. scaled but
- unhinted) advance width for the glyph, expressed as a 16.16
- fixed pixel value. This is useful to perform WYSIWYG text.
-
- linearVertAdvance:
- This field gives the linearly scaled advance height for the
- glyph (relevant in vertical glyph layouts only). This is
- useful to perform WYSIWYG text.
-
- Note that the two above field replace the removed `metrics2'
- field in the glyph slot.
-
- advance:
- This field is a vector that gives the transformed advance for
- the glyph. By default, it corresponds to the advance width,
- unless FT_LOAD_VERTICAL_LAYOUT was specified when calling
- FT_Load_Glyph or FT_Load_Char.
-
- bitmap_left:
- This field gives the distance in integer pixels from the
- current pen position to the left-most pixel of a glyph image
- IF IT IS A BITMAP. It is only valid when the `format' field
- is set to `ft_glyph_format_bitmap', for example, after calling
- the new function FT_Render_Glyph.
-
- bitmap_top:
- This field gives the distance in integer pixels from the
- current pen position (located on the baseline) to the top-most
- pixel of the glyph image IF IT IS A BITMAP. Positive values
- correspond to upwards Y.
-
- loader:
- This is a new private field for the glyph slot. Client
- applications should not touch it.
-
-
- * Support for transforms and direct rendering in FT_Load_Glyph:
-
- Most of the functionality found in <freetype/ftglyph.h> has been
- moved to the core library. Hence, the following:
-
- - A transform can be specified for a face through
- FT_Set_Transform. this transform is applied by FT_Load_Glyph
- to scalable glyph images (i.e. NOT TO BITMAPS) before the
- function returns, unless the bit flag FT_LOAD_IGNORE_TRANSFORM
- was set in the load flags.
-
- - Once a glyph image has been loaded, it can be directly
- converted to a bitmap by using the new FT_Render_Glyph
- function. Note that this function takes the glyph image from
- the glyph slot, and converts it to a bitmap whose properties
- are returned in `face.glyph.bitmap', `face.glyph.bitmap_left'
- and `face.glyph.bitmap_top'. The original native image might
- be lost after the conversion.
-
- - When using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph
- and FT_Load_Char functions will call FT_Render_Glyph
- automatically when needed.
-
- - Reformatted all modules source code in order to get rid of the
- basic data types redifinitions (i.e. `TT_Int' instead of `FT_Int',
- `T1_Fixed' instead of `FT_Fixed'). Hence the format-specific
- prefixes like `TT_', `T1_', `T2_' and `CID_' are only used for
- relevant structures.
-
-
-======================================================================
-
-OLD CHANGES FOR BETA 7
-
- - bug-fixed the OpenType/CFF parser. It now loads and displays my
- two fonts nicely, but I'm pretty certain that more testing is
- needed :-)
-
- - fixed the crummy Type 1 hinter, it now handles accented characters
- correctly (well, the accent is not always well placed, but that's
- another problem..)
-
- - added the CID-keyed Type 1 driver in `src/cid'. Works pretty well
- for only 13 Kb of code ;-) Doesn't read AFM files though, nor the
- really useful CMAP files..
-
- - fixed two bugs in the smooth renderer (src/base/ftgrays.c).
- Thanks to Boris Letocha for spotting them and providing a fix.
-
- - fixed potential `divide by zero' bugs in ftcalc.c.
-
- - added source code for the OpenType/CFF driver (still incomplete
- though..)
-
- - modified the SFNT driver slightly to perform more robust header
- checks in TT_Load_SFNT_Header. This prevents certain font files
- (e.g. some Type 1 Multiple Masters) from being incorrectly
- `recognized' as TrueType font files..
-
- - moved a lot of stuff from the TrueType driver to the SFNT module,
- this allows greater code re-use between font drivers
- (e.g. TrueType, OpenType, Compact-TrueType, etc..)
-
- - added a tiny segment cache to the SFNT Charmap 4 decoder, in order
- to minimally speed it up..
-
- - added support for Multiple Master fonts in `type1z'. There is
- also a new file named <freetype/ftmm.h> which defines functions to
- manage them from client applications.
-
- The new file `src/base/ftmm.c' is also optional to the engine..
-
- - various formatting changes (e.g. EXPORT_DEF -> FT_EXPORT_DEF) +
- small bug fixes in FT_Load_Glyph, the `type1' driver, etc..
-
- - a minor fix to the Type 1 driver to let them apply the font matrix
- correctly (used for many oblique fonts..)
-
- - some fixes for 64-bit systems (mainly changing some FT_TRACE calls
- to use %p instead of %lx). Thanks to Karl Robillard.
-
- - fixed some bugs in the sbit loader (src/base/sfnt/ttsbit.c) +
- added a new flag, FT_LOAD_CROP_BITMAP to query that bitmaps be
- cropped when loaded from a file (maybe I should move the bitmap
- cropper to the base layer ??).
-
- - changed the default number of gray levels of the smooth renderer
- to 256 (instead of the previous 128). Of course, the human eye
- can't see any difference ;-)
-
- - removed TT_MAX_SUBGLYPHS, there is no static limit on the number
- of subglyphs in a TrueType font now..
-
-
-======================================================================
-
-OLD CHANGES 16 May 2000
-
- - tagged `BETA-6' in the CVS tree. This one is a serious release
- candidate even though it doesn't incorporate the auto-hinter yet..
-
- - various obsolete files were removed, and copyright header updated
-
- - finally updated the standard raster to fix the monochrome
- rendering bug + re-enable support for 5-gray levels anti-aliasing
- (suck, suck..)
-
- - created new header files, and modified sources accordingly:
-
- <freetype/fttypes.h>
- - simple FreeType types, without the API
- <freetype/internal/ftmemory.h>
- - definition of memory-management macros
-
- - added the `DSIG' (OpenType Digital Signature) tag to
- <freetype/tttags.h>
-
- - light update/cleaning of the build system + changes to the sources
- in order to get rid of _all_ compiler warnings with three
- compilers, i.e:
-
- gcc with `-ansi -pedantic -Wall -W', Visual C++ with `/W3 /WX' and
- LCC
-
- IMPORTANT NOTE FOR WIN32-LCC USERS:
- |
- | It seems the C pre-processor that comes with LCC is broken, it
- | doesn't recognize the ANSI standard directives # and ##
- | correctly when one of the argument is a macro. Also,
- | something like:
- |
- | #define F(x) print##x
- |
- | F(("hello"))
- |
- | will get incorrectly translated to:
- |
- | print "hello")
- |
- | by its pre-processor. For this reason, you simply cannot build
- | FreeType 2 in debug mode with this compiler..
-
- - yet another massive grunt work. I've changed the definition of
- the EXPORT_DEF, EXPORT_FUNC, BASE_DEF & BASE_FUNC macros. These
- now take an argument, which is the function's return value type.
-
- This is necessary to compile FreeType as a DLL on Windows and
- OS/2. Depending on the compiler used, a compiler-specific keyword
- like __export or __system must be placed before (VisualC++) or
- after (BorlandC++) the type..
-
- Of course, this needed a lot of changes throughout the source code
- to make it compile again... All cleaned up now, apparently..
-
- Note also that there is a new EXPORT_VAR macro defined to allow
- the _declaration_ of an exportable public (constant)
- variable. This is the case of the raster interfaces (see
- ftraster.h and ftgrays.h), as well as each module's interface (see
- sfdriver.h, psdriver.h, etc..)
-
- - new feature: it is now possible to pass extra parameters to font
- drivers when creating a new face object. For now,
- this capability is unused. It could however prove to
- be useful in a near future..
-
- the FT_Open_Args structure was changes, as well as the internal
- driver interface (the specific `init_face' module function has
- now a different signature).
-
- - updated the tutorial (not finished though).
-
- - updated the top-level BUILD document
-
- - fixed a potential memory leak that could occur when loading
- embedded bitmaps.
-
- - added the declaration of FT_New_Memory_Face in
- <freetype/freetype.h>, as it was missing from the public header
- (the implementation was already in `ftobjs.c').
-
- - the file <freetype/fterrors.h> has been seriously updated in order
- to allow the automatic generation of error message tables. See
- the comments within it for more information.
-
- - major directory hierarchy re-organisation. This was done for two
- things:
-
- * first, to ease the `manual' compilation of the library by
- requiring at lot less include paths :-)
-
- * second, to allow external programs to effectively access
- internal data fields. For example, this can be extremely
- useful if someone wants to write a font producer or a font
- manager on top of FreeType.
-
- Basically, you should now use the 'freetype/' prefix for header
- inclusion, as in:
-
- #include <freetype/freetype.h>
- #include <freetype/ftglyph.h>
-
- Some new include sub-directories are available:
-
- a. the `freetype/config' directory, contains two files used to
- configure the build of the library. Client applications
- should not need to look at these normally, but they can if
- they want.
-
- #include <freetype/config/ftoption.h>
- #include <freetype/config/ftconfig.h>
-
- b. the `freetype/internal' directory, contains header files that
- describes library internals. These are the header files that
- were previously found in the `src/base' and `src/shared'
- directories.
-
-
- As usual, the build system and the demos have been updated to
- reflect the change..
-
- Here's a layout of the new directory hierarchy:
-
- TOP_DIR
- include/
- freetype/
- freetype.h
- ...
- config/
- ftoption.h
- ftconfig.h
- ftmodule.h
-
- internal/
- ftobjs.h
- ftstream.h
- ftcalc.h
- ...
-
- src/
- base/
- ...
-
- sfnt/
- psnames/
- truetype/
- type1/
- type1z/
-
-
- Compiling a module is now much easier, for example, the following
- should work when in the TOP_DIR directory on an ANSI build:
-
- gcc -c -I./include -I./src/base src/base/ftbase.c
- gcc -c -I./include -I./src/sfnt src/sfnt/sfnt.c
- etc..
-
- (of course, using -Iconfig/<system> if you provide system-specific
- configuration files).
-
- - updated the structure of FT_Outline_Funcs in order to allow direct
- coordinate scaling within the outline decomposition routine (this
- is important for virtual `on' points with TrueType outlines) +
- updates to the rasters to support this..
-
- - updated the OS/2 table loading code in `src/sfnt/ttload.c' in
- order to support version 2 of the table (see OpenType 1.2 spec)
-
- - created `include/tttables.h' and `include/t1tables.h' to allow
- client applications to access some of the SFNT and T1 tables of a
- face with a procedural interface (see `FT_Get_Sfnt_Table') +
- updates to internal source files to reflect the change..
-
- - some cleanups in the source code to get rid of warnings when
- compiling with the `-Wall -W -ansi -pedantic' options in gcc.
-
- - debugged and moved the smooth renderer to `src/base/ftgrays.c' and
- its header to `include/ftgrays.h'
-
- - updated TT_MAX_SUBGLYPHS to 96 as some CJK fonts have composites
- with up to 80 sub-glyphs !! Thanks to Werner
-
-
-======================================================================
-
-OLD CHANGES - 14-apr-2000
-
- - fixed a bug in the TrueType glyph loader that prevented the
- correct loading of some CJK glyphs in mingli.ttf
-
- - improved the standard Type 1 hinter in `src/type1'
-
- - fixed two bugs in the experimental Type 1 driver in `src/type1z'
- to handle the new XFree86 4.0 fonts (and a few other ones..)
-
- - the smooth renderer is now complete and supports sub-banding to
- render large glyphs at high speed. However, it is still located
- in `demos/src/ftgrays.c' and should move to the library itself in
- the next beta. NOTE: The smooth renderer doesn't compile in
- stand-alone mode anymore, but this should be fixed RSN..
-
- - introduced convenience functions to more easily deal with glyph
- images, see `include/ftglyph.h' for more details, as well as the
- new demo program named `demos/src/ftstring.c' that demonstrates
- its use
-
- - implemented FT_LOAD_NO_RECURSE in both the TrueType and Type 1
- drivers (this is required by the auto-hinter to improve its
- results).
-
- - changed the raster interface, in order to allow client
- applications to provide their own span-drawing callbacks.
- However, only the smooth renderer supports this. See
- `FT_Raster_Params' in the file `include/ftimage.h'.
-
- - fixed a small bug in FT_MulFix that caused incorrect transform
- computation!
-
- - Note: The tutorial is out-of-date.
-
-
-======================================================================
-
-OLD CHANGES - 12-mar-2000
-
- - changed the layout of configuration files : now, all ANSI
- configuration files are located in
- `freetype2/config'. System-specific over-rides can be placed in
- `freetype2/config/<system>'.
-
- - moved all configuration macros to `config/ftoption.h'
-
- - improvements in the Type 1 driver with AFM support
-
- - changed the fields in the FT_Outline structure : the old `flags'
- array is re-named `tags', while all ancient flags are encoded into
- a single unsigned int named `flags'.
-
- - introduced new flags in FT_Outline.flags (see
- ft_outline_.... enums in `ftimage.h').
-
- - changed outline functions to `FT_Outline_<action>' syntax
-
- - added a smooth anti-alias renderer to the demonstration programs
-
- - added Mac graphics driver (thanks Just)
-
- - FT_Open_Face changed in order to received a pointer to a
- FT_Open_Args descriptor..
-
- - various cleanups, a few more API functions implemented (see
- FT_Attach_File)
-
- - updated some docs
-
-
-======================================================================
-
-OLD CHANGES - 22-feb-2000
-
- - introduced the `psnames' module. It is used to:
-
- o convert a Postscript glyph name into the equivalent Unicode
- character code (used by the Type 1 driver(s) to synthesize on
- the fly a Unicode charmap).
-
- o provide an interface to retrieve the Postscript names of the
- Macintosh, Adobe Standard & Adobe Expert character codes.
- (the Macintosh names are used by the SFNT-module postscript
- names support routines, while the other two tables are used by
- the Type 1 driver(s)).
-
- - introduced the `type1z' alternate Type 1 driver. This is a (still
- experimental) driver for the Type 1 format that will ultimately
- replace the one in `src/type1'. It uses pattern matching to load
- data from the font, instead of a finite state analyzer. It works
- much better than the `old' driver with `broken' fonts. It is also
- much smaller (under 15 Kb).
-
- - the Type 1 drivers (both in `src/type1' and `src/type1z') are
- nearly complete. They both provide automatic Unicode charmap
- synthesis through the `psnames' module. No re-encoding vector is
- needed. (note that they still leak memory due to some code
- missing, and I'm getting lazy).
-
- Trivial AFM support has been added to read kerning information but
- wasn't exactly tested as it should ;-)
-
- - The TrueType glyph loader has been seriously rewritten (see the
- file `src/truetype/ttgload.c'. It is now much, much simpler as
- well as easier to read, maintain and understand :-) Preliminary
- versions introduced a memory leak that has been reported by Jack
- Davis, and is now fixed..
-
- - introduced the new `ft_glyph_format_plotter', used to represent
- stroked outlines like Windows `Vector' fonts, and certain Type 1
- fonts like `Hershey'. The corresponding raster will be written
- soon.
-
- - FT_New_Memory_Face is gone. Likewise, FT_Open_Face has a new
- interface that uses a structure to describe the input stream, the
- driver (if required), etc..
-
-
-TODO
-
- - Write FT_Get_Glyph_Bitmap and FT_Load_Glyph_Bitmap
-
- - Add a function like FT_Load_Character(face, char_code, load_flags)
- that would really embed a call to FT_Get_Char_Index then
- FT_Load_Glyph to ease developer's work.
-
- - Update the tutorial!
-
- - consider adding support for Multiple Master fonts in the Type 1
- drivers.
-
- - Test the AFM routines of the Type 1 drivers to check that kerning
- information is returned correctly.
-
- - write a decent auto-gridding component !! We need this to release
- FreeType 2.0 gold !
-
-
-less urgent needs:
-
- - add a CFF/Type2 driver
- - add a BDF driver
- - add a FNT/PCF/HBF driver
- - add a Speedo driver from the X11 sources
-
-
-======================================================================
-
-OLDER CHANGES - 27-jan-2000
-
- - updated the `sfnt' module interface to allow several SFNT-based
- drivers to co-exist peacefully
-
- - updated the `T1_Face' type to better separate Postscript font
- content from the rest of the FT_Face structure. Might be used
- later by the CFF/Type2 driver..
-
- - added an experimental replacement Type 1 driver featuring advanced
- (and speedy) pattern matching to retrieve the data from postscript
- fonts.
-
- - very minor changes in the implementation of FT_Set_Char_Size and
- FT_Set_Pixel_Sizes (they now implement default to lighten the font
- driver's code).
-
-
-======================================================================
-
-OLD MESSAGE
-
-This file summarizes the changes that occurred since the last `beta'
-of FreeType 2. Because the list is important, it has been divided into
-separate sections:
-
-Table Of Contents:
-
- I High-Level Interface (easier !)
- II Directory Structure
- III Glyph Image Formats
- IV Build System
- V Portability
- VI Font Drivers
-
-
-----------------------------------------------------------------------
-
-High-Level Interface:
-
- The high-level API has been considerably simplified. Here is how:
-
- - resource objects have disappeared. this means that face objects
- can now be created with a single function call (see FT_New_Face
- and FT_Open_Face)
-
- - when calling either FT_New_Face & FT_Open_Face, a size object
- and a glyph slot object are automatically created for the face,
- and can be accessed through `face->glyph' and `face->size' if
- one really needs to. In most cases, there's no need to call
- FT_New_Size or FT_New_Glyph.
-
- - similarly, FT_Load_Glyph now only takes a `face' argument
- (instead of a glyph slot and a size). Also, its `result'
- parameter is gone, as the glyph image type is returned in the
- field `face->glyph.format'
-
- - the list of available charmaps is directly accessible through
- `face->charmaps', counting `face->num_charmaps' elements. Each
- charmap has an 'encoding' field which specifies which known
- encoding it deals with. Valid values are, for example:
-
- ft_encoding_unicode (for ASCII, Latin-1 and Unicode)
- ft_encoding_apple_roman
- ft_encoding_sjis
- ft_encoding_adobe_standard
- ft_encoding_adobe_expert
-
- other values may be added in the future. Each charmap still
- holds its `platform_id' and `encoding_id' values in case the
- encoding is too exotic for the current library
-
-
-----------------------------------------------------------------------
-
-Directory Structure:
-
- Should seem obvious to most of you:
-
- freetype/
- config/ -- configuration sub-makefiles
- ansi/
- unix/ -- platform-specific configuration files
- win32/
- os2/
- msdos/
-
- include/ -- public header files, those to be included
- directly by client apps
-
- src/ -- sources of the library
- base/ -- the base layer
- sfnt/ -- the sfnt `driver' (see the drivers section
- below)
- truetype/ -- the truetype driver
- type1/ -- the type1 driver
- shared/ -- some header files shared between drivers
-
- demos/ -- demos/tools
-
- docs/ -- documentation (a bit empty for now)
-
-
-----------------------------------------------------------------------
-
-Glyph Image Formats:
-
- Drivers are now able to register new glyph image formats within the
- library. For now, the base layer supports of course bitmaps and
- vector outlines, but one could imagine something different like
- colored bitmaps, bi-color vectors or whatever else (Metafonts anyone
- ??).
-
- See the file `include/ftimage.h'. Note also that the type
- FT_Raster_Map is gone, and is now replaced by FT_Bitmap, which
- should encompass all known bitmap types.
-
- Each new image format must provide at least one `raster', i.e. a
- module capable of transforming the glyph image into a bitmap. It's
- also possible to change the default raster used for a given glyph
- image format.
-
- The default outline scan-converter now uses 128 levels of grays by
- default, which tends to smooth many things. Note that the demo
- programs have been updated significantly in order to display these..
-
-
-----------------------------------------------------------------------
-
-Build system:
-
- You still need GNU Make to build the library. The build system has
- been very seriously re-vamped in order to provide things like :
-
- - automatic host platform detection (reverting to 'config/ansi' if
- it is not detected, with pseudo-standard compilation flags)
-
- - the ability to compile from the Makefiles with very different and
- exotic compilers. Note that linking the library can be difficult
- for some platforms.
-
- For example, the file `config/win32/lcclib.bat' is invoked by the
- build system to create the `.lib' file with LCC-Win32 because its
- librarian has too many flaws to be invoked directly from the
- Makefile.
-
- Here's how it works:
-
- - the first time you type `make', the build system runs a series of
- sub-makefiles in order to detect your host platform. It then
- dumps what it found, and creates a file called `config.mk' in the
- current directory. This is a sub-Makefile used to define many
- important Make variables used to build the library.
-
- - the second time, the build system detects the `config.mk' then use
- it to build the library. All object files go into 'obj' by
- default, as well as the library file, but this can easily be
- changed.
-
- Note that you can run `make setup' to force another host platform
- detection even if a `config.mk' is present in the current
- directory. Another solution is simply to delete the file, then
- re-run make.
-
- Finally, the default compiler for all platforms is gcc (for now,
- this will hopefully changed in the future). You can however specify
- a different compiler by specifying it after the 'setup' target as
- in:
-
- gnumake setup lcc on Win32 to use the LCC compiler
- gnumake setup visualc on Win32 to use Visual C++
-
- See the file `config/<system>/detect.mk' for a list of supported
- compilers for your platforms.
-
- It should be relatively easy to write new detection rules files and
- config.mk..
-
- Finally, to build the demo programs, go to `demos' and launch GNU
- Make, it will use the `config.mk' in the top directory to build the
- test programs..
-
-
-----------------------------------------------------------------------
-
-Portability:
-
- In the previous beta, a single FT_System object was used to
- encompass all low-level operations like thread synchronisation,
- memory management and i/o access. This has been greatly simplified:
-
- - thread synchronisation has been dropped, for the simple reason
- that the library is already re-entrant, and that if you really
- need two threads accessing the same FT_Library, you should
- really synchronize access to it yourself with a simple mutex.
-
- - memory management is performed through a very simple object
- called `FT_Memory', which really is a table containing a table
- of pointers to functions like malloc, realloc and free as well
- as some user data (closure).
-
- - resources have disappeared (they created more problems than they
- solved), and i/o management have been simplified greatly as a
- result. Streams are defined through FT_Stream objects, which
- can be either memory-based or disk-based.
-
- Note that each face has its own stream, which is closed only
- when the face object is destroyed. Hence, a function like
- TT_Flush_Face in 1.x cannot be directly supported. However, if
- you really need something like this, you can easily tailor your
- own streams to achieve the same feature at a lower level (and
- use FT_Open_Face instead of FT_New_Face to create the face).
-
- See the file `include/ftsystem.h' for more details, as well as the
- implementations found in `config/unix' and `config/ansi'.
-
-
-----------------------------------------------------------------------
-
-Font Drivers:
-
- The Font Driver interface has been modified in order to support
- extensions & versioning.
-
-
- The list of the font drivers that are statically linked to the
- library at compile time is managed through a new configuration file
- called `config/<platform>/ftmodule.h'.
-
- This file is autogenerated when invoking `make modules'. This
- target will parse all sub-directories of 'src', looking for a
- `module.mk' rules file, used to describe the driver to the build
- system.
-
- Hence, one should call `make modules' each time a font driver is
- added or removed from the `src' directory.
-
- Finally, this version provides a `pseudo-driver' in `src/sfnt'.
- This driver doesn't support font files directly, but provides
- services used by all TrueType-like font drivers. Hence, its code is
- shared between the TrueType & OpenType font formats, and possibly
- more formats to come if we're lucky..
-
-
-----------------------------------------------------------------------
-
-Extensions support:
-
- The extensions support is inspired by the one found in 1.x.
-
- Now, each font driver has its own `extension registry', which lists
- which extensions are available for the font faces managed by the
- driver.
-
- Extension ids are now strings, rather than 4-byte tags, as this is
- usually more readable.
-
- Each extension has:
- - some data, associated to each face object
- - an interface (table of function pointers)
-
- An extension that is format-specific should simply register itself
- to the correct font driver. Here is some example code:
-
- // Registering an extensions
- //
- FT_Error FT_Init_XXXX_Extension( FT_Library library )
- {
- FT_DriverInterface* tt_driver;
-
- driver = FT_Get_Driver( library, "truetype" );
- if (!driver) return FT_Err_Unimplemented_Feature;
-
- return FT_Register_Extension( driver, &extension_class );
- }
-
-
- // Implementing the extensions
- //
- FT_Error FT_Proceed_Extension_XXX( FT_Face face )
- {
- FT_XXX_Extension ext;
- FT_XXX_Extension_Interface ext_interface;
-
- ext = FT_Get_Extension( face, "extensionid", &ext_interface );
- if (!ext) return error;
-
- return ext_interface->do_it(ext);
- }
-
-------------------------------------------------------------------------
-
-Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
-accept it fully.
-
-
-Local Variables:
-version-control: never
-coding: utf-8
-End:
-
---- end of CHANGES ---
+CHANGES BETWEEN 2.3.11 and 2.3.12
+
+ I. IMPORTANT CHANGES
+
+ - For `FT_Open_Face', new parameters are available to ignore
+ preferred family names: FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY and
+ FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY.
+
+ II. MISCELLANEOUS
+
+ - Support for incremental font loading (controlled with the
+ FT_CONFIG_OPTION_INCREMENTAL macro) is now active by default.
+
+ - Better support for vertical metrics.
+
+ - Various minor bug fixes.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.10 and 2.3.11
+
+ I. IMPORTANT BUG FIXES
+
+ - Version 2.3.10 broke PCF support.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.10 and 2.3.9
+
+ I. IMPORTANT BUG FIXES
+
+ - If all ASCII digits in a font have the same (unscaled) width,
+ the autohinter respects this and won't change it.
+
+ - TrueType fonts are now rasterized correctly if the horizontal
+ and vertical resolution differ.
+
+ - Type 1 fonts are now handled with increased precision internally
+ to avoid serious rounding issues if non-integral coordinates are
+ encountered.
+
+ - Horizontally condensed CFF fonts (using the font matrix) were
+ rendered incorrectly. This bug has been introduced after
+ release 2.3.5.
+
+
+ II. IMPORTANT CHANGES
+
+ - Support for the SFNT cmap 13 table format (as defined by the new
+ OpenType 1.6 specification) has been added.
+
+ - B/W rasterization of well-hinted TrueType fonts at small sizes
+ has been greatly improved.
+
+ - Calculation of vertical metrics in OpenType fonts has been
+ improved.
+
+
+ III. MISCELLANEOUS
+
+ - It is now possible to change the emboldening factor in the
+ `ftview' demo program with keys `e' and `E'.
+
+ - It is now possible to change the slant value in the `ftview'
+ demo program with keys `s' and `S'.
+
+ - The 5-levels grayscale mode of the `ftraster' module (which
+ FreeType doesn't use by default) was broken since version 2.3.0.
+
+ - Compilation of the `ftgrays' and `ftraster' modules was broken
+ in stand-alone mode.
+
+ - Various fixes for compilation on 64bit and 16bit architectures.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.9 and 2.3.8
+
+ I. IMPORTANT BUG FIXES
+
+ - Very unfortunately, FreeType 2.3.8 contained a change that broke
+ its official ABI. The end result is that programs compiled
+ against previous versions of the library, but dynamically linked
+ to 2.3.8 can experience memory corruption if they call the
+ `FT_Get_PS_Font_Info' function.
+
+ We recommend all users to upgrade to 2.3.9 as soon as possible,
+ or to downgrade to a previous release of the library if this is
+ not an option.
+
+ The origin of the bug is that a new field was added to the
+ publicly defined `PS_FontInfoRec' structure. Unfortunately,
+ objects of this type can be stack or heap allocated by callers
+ of `FT_Get_PS_Font_Info', resulting in a memory buffer
+ overwrite with its implementation in 2.3.8.
+
+ If you want to know whether your code is vulnerable to this
+ issue, simply search for the substrings `PS_FontInfo' and
+ `PS_Font_Info' in your source code. If none is found, your code
+ is safe and is not affected.
+
+ The FreeType team apologizes for the problem.
+
+ - The POSIX support of MacOS resource-fork fonts (Suitcase fonts
+ and LaserWriter Type1 PostScript fonts) was broken in 2.3.8. If
+ FreeType2 is built without Carbon framework, these fonts are not
+ handled correctly. Version 2.3.7 didn't have this bug.
+
+ - `FT_Get_Advance' (and `FT_Get_Advances') returned bad values for
+ almost all font formats except TrueType fonts.
+
+ - Fix a bug in the SFNT kerning table loader/parser which could
+ crash the engine if certain malformed tables were encountered.
+
+ - Composite SFNT bitmaps are now handled correctly.
+
+
+ II. IMPORTANT CHANGES
+
+ - The new functions `FT_Get_CID_Is_Internally_CID_keyed' and
+ `FT_Get_CID_From_Glyph_Index' can be used to access CID-keyed
+ CFF fonts via CID values. This code has been contributed by
+ Michael Toftdal.
+
+
+ III. MISCELLANEOUS
+
+ - `FT_Outline_Get_InsideBorder' returns FT_STROKER_BORDER_RIGHT
+ for empty outlines. This was incorrectly documented.
+
+ - The `ftview' demo program now supports UTF-8 encoded strings.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.8 and 2.3.7
+
+ I. IMPORTANT BUG FIXES
+
+ - CID-keyed fonts in an SFNT wrapper were not handled correctly.
+
+ - The smooth renderer produced truncated images (on the right) for
+ outline parts with negative horizontal values. Most fonts don't
+ contain outlines left to the y coordinate axis, but the effect
+ was very noticeable for outlines processed with FT_Glyph_Stroke,
+ using thick strokes.
+
+ - `FT_Get_TrueType_Engine_Type' returned a wrong value if both
+ configuration macros TT_CONFIG_OPTION_BYTECODE_INTERPRETER and
+ TT_CONFIG_OPTION_UNPATENTED_HINTING were defined.
+
+ - The `face_index' field in the `FT_Face' structure wasn't
+ initialized properly after calling FT_Open_Face and friends with
+ a positive face index for CFFs, WinFNTs, and, most importantly,
+ for TrueType Collections (TTCs).
+
+
+ II. IMPORTANT CHANGES
+
+ - Rudimentary support for Type 1 fonts and CID-keyed Type 1 fonts
+ in an SFNT wrapper has been added -- such fonts are used on the
+ Mac. The core SFNT tables `TYP1' and `CID ' are passed to the
+ PS Type 1 and CID-keyed PS font drivers; other tables (`ALMX',
+ `BBOX', etc.) are not supported yet.
+
+ - A new interface to extract advance values of glyphs without
+ loading their outlines has been added. The functions are called
+ `FT_Get_Advance' and `FT_Get_Advances'; they are defined in file
+ `ftadvanc.h' (to be accessed as FT_ADVANCES_H).
+
+ - A new function `FT_Get_FSType_Flags' (in FT_FREETYPE_H) has been
+ contributed by David Bevan to access the embedding and
+ subsetting restriction information of fonts.
+
+
+ III. MISCELLANEOUS
+
+ - FT_MulFix is now an inlined function; by default, assembler code
+ is provided for x86 and ARM. See FT_CONFIG_OPTION_INLINE_MULFIX
+ and FT_CONFIG_OPTION_NO_ASSEMBLER (in ftoption.h) for more.
+
+ - The handling of `tricky' fonts (this is, fonts which don't work
+ with the autohinter, needing the font format's hinting engine)
+ has been generalized and changed slightly:
+
+ . A new face flag FT_FACE_FLAG_TRICKY indicates that the font
+ format's hinting engine is necessary for correct rendering.
+ The macro FT_IS_TRICKY can be used to check this flag.
+
+ . FT_LOAD_NO_HINTING is now ignored for tricky fonts. To really
+ force raw loading of such fonts (without hinting), both
+ FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT must be used --
+ this is something which you probably never want to do.
+
+ . Tricky TrueType fonts always use the bytecode interpreter,
+ either the patented or unpatented version.
+
+ - The function `FT_GlyphSlot_Own_Bitmap' has been moved from
+ FT_SYNTHESIS_H to FT_BITMAP_H; it is now part of the `official'
+ API. (The functions in FT_SYNTHESIS_H are still subject to
+ change, however.)
+
+ - In the `ftdiff' demo program you can now toggle the use of
+ FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH with key `a'.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.7 and 2.3.6
+
+ I. IMPORTANT BUG FIXES
+
+ - If the library was compiled on an i386 platform using gcc, and
+ compiler option -O3 was given, `FT_MulFix' sometimes returned
+ incorrect results which could have caused problems with
+ `FT_Request_Metrics' and `FT_Select_Metrics', returning an
+ incorrect descender size.
+
+ - Pure CFFs without subfonts were scaled incorrectly if the font
+ matrix was non-standard. This bug has been introduced in
+ version 2.3.6.
+
+ - The `style_name' field in the `FT_FaceRec' structure often
+ contained a wrong value for Type 1 fonts. This misbehaviour
+ has been introduced in version 2.3.6 while trying to fix
+ another problem. [Note, however, that this value is
+ informative only since the used algorithm to extract it is
+ very simplistic.]
+
+
+ II. IMPORTANT CHANGES
+
+ - Two new macros, FT_OUTLINE_SMART_DROPOUTS and
+ FT_OUTLINE_EXCLUDE_STUBS, have been introduced. Together with
+ FT_OUTLINE_IGNORE_DROPOUTS (which was ignored previously) it is
+ now possible to control the dropout mode of the `raster' module
+ (for B&W rasterization), using the `flags' field in the
+ `FT_Outline' structure.
+
+ - The TrueType bytecode interpreter now passes the dropout mode to
+ the B&W rasterizer. This greatly increases the output for small
+ ppem values of many fonts like `pala.ttf'.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.6 and 2.3.5
+
+ I. IMPORTANT BUG FIXES
+
+ - A bunch of potential security problems have been found. All
+ users should update.
+
+ - Microsoft Unicode cmaps in TrueType fonts are now always
+ preferred over Apple cmaps. This is not a bug per se, but there
+ exist some buggy fonts created for MS which have broken Apple
+ cmaps. This affects only the automatic selection of FreeType;
+ it's always possible to manually select an Apple Unicode cmap if
+ desired.
+
+ - Many bug fixes to the TrueType bytecode interpreter.
+
+ - Improved Mac support.
+
+ - Subsetted CID-keyed CFFs are now supported correctly.
+
+ - CID-keyed CFFs with subfonts which are scaled in a non-standard
+ way are now handled correctly.
+
+ - A call to FT_Open_Face with `face_index' < 0 crashed FreeType if
+ the font was a Windows (bitmap) FNT/FON.
+
+
+ II. IMPORTANT CHANGES
+
+ - The new function `FT_Get_CID_Registry_Ordering_Supplement' gives
+ access to those fields in a CID-keyed font. The code has been
+ contributed by Derek Clegg.
+
+ - George Williams contributed code to validate the new `MATH'
+ OpenType table (within the `otvalid' module). The `ftvalid'
+ demo program has been extended accordingly.
+
+ - An API for cmap 14 support (for Unicode Variant Selectors, UVS)
+ has been contributed by George Williams.
+
+ - A new face flag FT_FACE_FLAG_CID_KEYED has been added, together
+ with a macro FT_IS_CID_KEYED which evaluates to 1 if the font is
+ CID-keyed.
+
+
+ III. MISCELLANEOUS
+
+ - Build support for symbian has been contributed.
+
+ - Better WGL4 glyph name support, contributed by Sergey Tolstov.
+
+ - Debugging output of the various FT_TRACEX macros is now sent to
+ stderr.
+
+ - The `ftview' demo program now provides artificial slanting too.
+
+ - The `ftvalid' demo program has a new option `-f' to select the
+ font index.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.5 and 2.3.4
+
+ I. IMPORTANT BUG FIXES
+
+ - Some subglyphs in TrueType fonts were handled incorrectly due to
+ a missing graphics state reinitialization.
+
+ - Large .Z files (as distributed with some X11 packages) weren't
+ handled correctly, making FreeType increase the heap stack in an
+ endless loop.
+
+ - A large number of bugs have been fixed to avoid crashes and
+ endless loops with invalid fonts.
+
+
+ II. IMPORTANT CHANGES
+
+ - The two new cache functions `FTC_ImageCache_LookupScaler' and
+ `FTC_SBit_Cache_LookupScaler' have been added to allow lookup of
+ glyphs using an `FTC_Scaler' object; this makes it possible to
+ use fractional pixel sizes in the cache. The demo programs have
+ been updated accordingly to use this feature.
+
+ - A new API `FT_Get_CMap_Format' has been added to get the cmap
+ format of a TrueType font. This is useful in handling PDF
+ files. The code has been contributed by Derek Clegg.
+
+ - The auto-hinter now produces better output by default for
+ non-Latin scripts like Indic. This was done by using the CJK
+ hinting module as the default instead of the Latin one. Thanks
+ to Rahul Bhalerao for this suggestion.
+
+ - A new API `FT_Face_CheckTrueTypePatents' has been added to find
+ out whether a given TrueType font uses patented bytecode
+ instructions. The `ft2demos' bundle contains a new program
+ called `ftpatchk' which demonstrates its usage.
+
+ - A new API `FT_Face_SetUnpatentedHinting' has been added to
+ enable or disable the unpatented hinter.
+
+ - Support for Windows FON files in PE format has been contributed
+ by Dmitry Timoshkov.
+
+
+ III. MISCELLANEOUS
+
+ - Vincent Richomme contributed Visual C++ project files for Pocket
+ PCs.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.4 and 2.3.3
+
+ I. IMPORTANT BUG FIXES
+
+ - A serious bug in the handling of bitmap fonts (and bitmap
+ strikes of outline fonts) has been introduced in 2.3.3.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.3 and 2.3.2
+
+ I. IMPORTANT BUG FIXES
+
+ - Remove a serious regression in the TrueType bytecode interpreter
+ that was introduced in version 2.3.2. Note that this does not
+ disable the improvements introduced to the interpreter in
+ version 2.3.2, only some ill cases that occurred with certain
+ fonts (though a few popular ones).
+
+ - The auto-hinter now ignores single-point contours for computing
+ blue zones. This bug created `wavy' baselines when rendering
+ text with various fonts that use these contours to model
+ mark-attach points (these are points that are never rasterized
+ and are placed outside of the glyph's real outline).
+
+ - The `rsb_delta' and `lsb_delta' glyph slot fields are now set to
+ zero for mono-spaced fonts. Otherwise code that uses them would
+ essentially ruin the fixed-advance property.
+
+ - Fix CVE-2007-1351 which can cause an integer overflow while
+ parsing BDF fonts, leading to a potentially exploitable heap
+ overflow condition.
+
+
+ II. MISCELLANEOUS
+
+ - Fixed compilation issues on some 64-bit platforms (see ChangeLog
+ for details).
+
+ - A new demo program `ftdiff' has been added to compare TrueType
+ hinting, FreeType's auto hinting, and rendering without hinting
+ in three columns.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.2 and 2.3.1
+
+ I. IMPORTANT BUG FIXES
+
+ - FreeType returned incorrect kerning information from TrueType
+ fonts when the bytecode interpreter was enabled. This happened
+ due to a typo introduced in version 2.3.0.
+
+ - Negative kerning values from PFM files are now reported
+ correctly (they were read as 16-bit unsigned values from the
+ file).
+
+ - Fixed a small memory leak when `FT_Init_FreeType' failed for
+ some reason.
+
+ - The Postscript hinter placed and sized very thin and ghost stems
+ incorrectly.
+
+ - The TrueType bytecode interpreter has been fixed to get rid of
+ most of the rare differences seen in comparison to the Windows
+ font loader.
+
+
+ II. IMPORTANT CHANGES
+
+ - The auto-hinter now better deals with serifs and corner cases
+ (e.g., glyph '9' in Arial at 9pt, 96dpi). It also improves
+ spacing adjustments and doesn't change widths for non-spacing
+ glyphs.
+
+ - Many Mac-specific functions are deprecated (but still
+ available); modern replacements have been provided for them.
+ See the documentation in file `ftmac.h'.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.1 and 2.3.0
+
+ I. IMPORTANT BUG FIXES
+
+ - The TrueType interpreter sometimes returned incorrect horizontal
+ metrics due to a bug in the handling of the SHZ instruction.
+
+ - A typo in a security check introduced after version 2.2.1
+ prevented FreeType to render some glyphs in CFF fonts.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.0 and 2.2.1
+
+ I. IMPORTANT BUG FIXES
+
+ - The PCF font loader is now much more robust while loading
+ malformed font files.
+
+ - Various memory leaks have been found and fixed.
+
+ - The TrueType name loader now deals properly with some fonts that
+ encode their names in UTF-16 (the specification was vague, and
+ the code incorrectly assumed UCS-4).
+
+ - Fixed the TrueType bytecode loader to deal properly with subtle
+ monochrome/gray issues when scaling the CVT. Some fonts
+ exhibited bad rendering artifacts otherwise.
+
+ - `FT_GlyphSlot_Embolden' now supports vertical layouts correctly
+ (it mangled the vertical advance height).
+
+ - Fixed byte endian issues of `ftmac.c' to support Mac OS X on
+ i386.
+
+ - The PFR font loader no longer erroneously tags font files
+ without any outlines as FT_FACE_FLAG_SCALABLE.
+
+
+ II. NEW API FUNCTIONS
+
+ - `FT_Library_SetLcdFilter' allows you to select a special filter
+ to be applied to the bitmaps generated by `FT_Render_Glyph' if
+ one of the FT_RENDER_MODE_LCD and FT_RENDER_MODE_LCD_V modes has
+ been selected. This filter is used to reduce color fringes;
+ several settings are available through the FT_LCD_FILTER_XXX
+ enumeration.
+
+ Its declaration and documentation can be found in file
+ `include/freetype/ftlcdfil.h' (to be accessed with macro
+ FT_LCD_FILTER_H).
+
+ *IMPORTANT*: This function returns an error
+ (FT_Err_Unimplemented_Feature) in default builds of the library
+ for patent reasons. See below.
+
+ - `FT_Get_Gasp' allows you to query the flags of the TrueType
+ `gasp' table for a given character pixel size. This is useful
+ to duplicate the text rendering of MS Windows when the native
+ bytecode interpreter is enabled (which isn't the default for
+ other patent reasons).
+
+ Its declaration and documentation can be found in file
+ `include/freetype/ftgasp.h' (to be accessed with macro
+ FT_GASP_H).
+
+
+ III. IMPORTANT CHANGES
+
+ - The auto-hinter has been tuned a lot to improve its results with
+ serif fonts, resulting in much better font rendering of many web
+ pages.
+
+ - The unpatented hinter is now part of the default build of the
+ library; we have added code to automatically support `tricky'
+ fonts that need it.
+
+ This means that FreeType should `just work' with certain Asian
+ fonts, like MingLiU, which cannot properly be loaded without a
+ bytecode interpreter, but which fortunately do not use any of
+ the patented bytecode opcodes. We detect these fonts by name,
+ so please report any font file that doesn't seem to work with
+ FreeType, and we shall do what we can to support it in a next
+ release.
+
+ Note that the API hasn't changed, so you can still force
+ unpatented hinting with a special parameter to `FT_Open_Face' as
+ well. This might be useful in same cases; for example, a PDF
+ reader might present a user option to activate it to deal with
+ certain `tricky' embedded fonts which cannot be clearly
+ identified.
+
+ If you are a developer for embedded systems, you might want to
+ *disable* the feature to save code space by undefining
+ TT_CONFIG_OPTION_UNPATENTED_HINTING in file `ftoption.h'.
+
+ - LCD-optimized rendering is now *disabled* in all default builds
+ of the library, mainly due to patent issues. For more
+ information see:
+
+ http://lists.gnu.org/archive/html/freetype/2006-09/msg00064.html
+
+ A new configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+ has been introduced in `ftoption.h'; manually define it in this
+ file if you want to re-enable the feature.
+
+ The change only affects the implementation, not the FreeType
+ API. This means that clients don't need to be modified, because
+ the library still generates LCD decimated bitmaps, but with the
+ added constraint that R=G=B on each triplet.
+
+ The displayed result should be equal to normal anti-aliased
+ rendering.
+
+ Additionally, if FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not
+ defined, the new `FT_Library_SetLcdFilter' function returns the
+ FT_Err_Unimplemented_Feature error code.
+
+ - Some computation bugs in the TrueType bytecode interpreter were
+ found, which allow us to get rid of very subtle and rare
+ differences we had experienced with the Windows renderer.
+
+ - It is now possible to cross-compile the library easily. See the
+ file `docs/INSTALL.CROSS' for details.
+
+ - The file `src/base/ftmac.c' now contains code for Mac OS X only;
+ its deprecated function `FT_GetFile_From_Mac_Font_Name' always
+ returns an error even if the QuickDraw framework is available.
+ The previous version has been moved to `builds/mac/ftmac.c'.
+
+ Selecting configure option `--with-quickdraw-carbon' makes the
+ build process use the original `ftmac.c' file instead of the Mac
+ OS X-only version.
+
+
+ IV. MISCELLANEOUS
+
+ - Various performance and memory footprint optimizations have been
+ performed on the TrueType and CFF font loaders, sometimes with
+ very drastic benefits (e.g., the TrueType loader is now about
+ 25% faster; FreeType should use less heap memory under nearly
+ all conditions).
+
+ - The anti-aliased rasterizer has been optimized and is now 15% to
+ 25% percent faster than in previous versions, depending on
+ content.
+
+ - The Type 1 loader has been improved; as an example, it now skips
+ top-level dictionaries properly.
+
+ - Better support for Mac fonts on POSIX systems, plus compilation
+ fixes for Mac OS X on ppc64 where `ftmac.c' cannot be built.
+
+ - Configuration without `--with-old-mac-fonts' does not include
+ `ftmac.c' (this was the behaviour in FreeType version 2.1.10).
+
+ - The TrueTypeGX validator (gxvalid) checks the order of glyph IDs
+ in the kern table.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.2.1 and 2.2
+
+ I. IMPORTANT BUG FIXES
+
+ - Various integer overflows have been fixed.
+
+ - PFB fonts with MacOS resource fork weren't handled correctly on
+ non-MacOS platforms.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.2 and 2.1.10
+
+(not released officially)
+
+ I. IMPORTANT BUG FIXES
+
+ - Vertical metrics for SFNT fonts were incorrect sometimes.
+
+ - The FT_HAS_KERNING macro always returned 0.
+
+ - CFF OpenType fonts didn't return correct vertical metrics for
+ glyphs with outlines.
+
+ - If FreeType was compiled without hinters, all font formats based
+ on PS outlines weren't scaled correctly.
+
+
+ II. IMPORTANT CHANGES
+
+ - Version 2.2 no longer exposes its internals, this is, the header
+ files located in the `include/freetype/internal' directory of
+ the source package are not copied anymore by the `make install'
+ command. Consequently, a number of rogue clients which directly
+ access FreeType's internal functions and structures won't
+ compile without modification.
+
+ We provide patches for most of those rogue clients. See the
+ following page for more information:
+
+ http://www.freetype.org/freetype2/patches/rogue-patches.html
+
+ Note that, as a convenience to our Unix desktop users, version
+ 2.2 is *binary* compatible with FreeType 2.1.7, which means that
+ installing this release on an existing distribution shall not
+ break any working desktop.
+
+ - FreeType's build mechanism has been redesigned. With GNU make
+ it is now sufficient in most cases to edit two files:
+ `modules.cfg', to select the library components, and the
+ configuration file `include/freetype/config/ftoption.h' (which
+ can be copied to the objects directory). Removing unused module
+ directories to prevent its compilation and editing
+ `include/freetype/config/ftmodule.h' is no longer necessary.
+
+ - The LIGHT hinting algorithm produces more pleasant results.
+ Also, using the FT_LOAD_TARGET_LIGHT flags within FT_Load_Glyph
+ always forces auto-hinting, as a special exception. This allows
+ you to experiment with it even if you have enabled the TrueType
+ bytecode interpreter in your build.
+
+ - The auto hinter now employs a new algorithm for CJK fonts, based
+ on Akito Hirai's patch. Note that this only works for fonts
+ with a Unicode charmap at the moment.
+
+ - The following callback function types have changed slightly (by
+ adding the `const' keyword where appropriate):
+
+ FT_Outline_MoveToFunc
+ FT_Outline_LineToFunc
+ FT_Outline_ConicToFunc
+ FT_Outline_CubicToFunc
+ FT_SpanFunc
+ FT_Raster_RenderFunc
+
+ FT_Glyph_TransformFunc
+ FT_Renderer_RenderFunc
+ FT_Renderer_TransformFunc
+
+ Note that this doesn't affect binary backward compatibility.
+
+ - On MacOS, new APIs have been added as replacements for legacy
+ APIs: `FT_New_Face_From_FSRef' for `FT_New_Face_From_FSSpec',
+ and `FT_GetFile_From_Mac_ATS_Name' for
+ `FT_GetFile_From_Mac_Name'. Legacy APIs are still available, if
+ FreeType is built without disabling them.
+
+ - A new API `FT_Select_Size' has been added to select a bitmap
+ strike by its index. Code using other functions to select
+ bitmap strikes should be updated to use this function.
+
+ - A new API `FT_Get_SubGlyph_Info' has been added to retrieve
+ subglyph data. This can be used by rogue clients which used to
+ access the internal headers to get the corresponding data.
+
+ - In 2.1.10, the behaviour of `FT_Set_Pixel_Sizes' was changed for
+ BDF/PCF fonts, and only for them. This causes inconsistency.
+ In this release, we undo the change. The intent of the change
+ in 2.1.10 is to allow size selection through real dimensions,
+ which can now be done through `FT_Request_Size'.
+
+ - Some security issues were discovered and fixed in the CFF and
+ Type 1 loader, causing crashes of FreeType by malformed font
+ files.
+
+
+ III. MISCELLANEOUS
+
+ - The documentation for FT_LOAD_TARGET_XXX and FT_RENDER_MODE_XXX
+ values now better reflects its usage and differences: One set is
+ used to specify the hinting algorithm, the other to specify the
+ pixel rendering mode.
+
+ - `FT_New_Face' and `FT_New_Face_From_FSSpec' in ftmac.c have been
+ changed to count supported scalable faces (sfnt, LWFN) only, and
+ to return the number of available faces via face->num_faces.
+ Unsupported bitmap faces (fbit, NFNT) are ignored.
+
+ - builds/unix/configure has been improved for MacOS X. It now
+ automatically checks available functions in Carbon library, and
+ prepare to use newest functions by default. Options to specify
+ the dependencies of each Carbon APIs (FSSpec, FSRef, old/new
+ QuickDraw, ATS) are available too. By manual disabling of all
+ QuickDraw functionality, FreeType can be built without
+ `deprecated function' warnings on MacOS 10.4.x, but
+ FT_GetFile_Mac_Name in ftmac.c then is changed to a dummy
+ function, and returns an `unimplemented' error. For details see
+ builds/mac/README.
+
+ - SFNT cmap handling has been improved, mainly to run much faster
+ with CJK fonts.
+
+ - A new function `FT_Get_TrueType_Engine_Type (declared in
+ `FT_MODULE_H') is provided to determine the status of the
+ TrueType bytecode interpreter compiled into the library
+ (patented, unpatented, unimplemented).
+
+ - Vertical metrics of glyphs are synthesized if the font does not
+ provide such information. You can tell whether the metrics are
+ synthesized or not by checking the FT_FACE_FLAG_VERTICAL flag of
+ the face.
+
+ - The demo programs `ftview' and `ftstring' have been rewritten
+ for better readability. `ftview' has a new switch `-p' to test
+ FT_New_Memory_Face (instead of FT_New_Face).
+
+ - FreeType now honours bit 1 in the `head' table of TrueType fonts
+ (meaning `left sidebearing point at x=0'). This helps with some
+ buggy fonts.
+
+ - Rudimentary support for Adobe's new `SING Glyphlet' format. See
+
+ http://www.adobe.com/products/indesign/sing_gaiji.html
+
+ for more information.
+
+ - The `ftdump' program from the `ft2demos' bundle now shows some
+ information about charmaps. It also supports a new switch `-v'
+ to increase verbosity.
+
+ - Better AFM support. This includes track kerning support.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.10 and 2.1.9
+
+ I. IMPORTANT BUG FIXES
+
+ - The size comparison for BDF and PCF files could fail sometimes.
+
+ - Some CFF files were still not loaded correctly. Patch from
+ Derek Noonburg.
+
+ - The stroker still had some serious bugs.
+
+ - Boris Letocha fixed a bug in the TrueType interpreter: The
+ NPUSHW instruction wasn't skipped correctly in IF clauses. Some
+ fonts like `Helvetica 75 Bold' failed.
+
+ - Another serious bug in handling TrueType hints caused many
+ distortions. It has been introduced in version 2.1.8, and it is
+ highly recommended to upgrade.
+
+ - FreeType didn't properly parse empty Type 1 glyphs.
+
+ - An unbound dynamic buffer growth was fixed in the PFR loader.
+
+ - Several bugs have been fixed in the cache sub-system.
+
+ - FreeType behaved incorrectly when resizing two distinct but very
+ close character pixel sizes through `FT_Set_Char_Size' (Savannah
+ bug #12263).
+
+ - The auto-hinter didn't work properly for fonts without a Unicode
+ charmap -- it even refused to load the glyphs.
+
+
+ II. IMPORTANT CHANGES
+
+ - Many fixes have been applied to drastically reduce the amount of
+ heap memory used by FreeType, especially when using
+ memory-mapped font files (which is the default on Unix systems
+ which support them).
+
+ - The auto-hinter has been replaced with a new module, called the
+ `auto-fitter'. It consumes less memory than its predecessor,
+ and it is prepared to support non-latin scripts better in next
+ releases.
+
+ - George Williams contributed code to read kerning data from PFM
+ files.
+
+ - FreeType now uses the TT_NAME_ID_PREFERRED_FAMILY and
+ TT_NAME_ID_PREFERRED_SUBFAMILY strings (if available) for
+ setting family and style in SFNT fonts (patch from Kornfeld
+ Eliyahu Peter).
+
+ - A new API `FT_Sfnt_Table_Info' (in FT_TRUETYPE_TABLES_H) has
+ been added to retrieve name and size information of SFNT tables.
+
+ - A new API `FT_OpenType_Validate' (in FT_OPENTYPE_VALIDATE_H) has
+ been added to validate OpenType tables (BASE, GDEF, GPOS, GSUB,
+ JSTF). After validation it is no longer necessary to check
+ for errors in those tables while accessing them.
+
+ Note that this module might be moved to another library in the
+ future to avoid a tight dependency between FreeType and the
+ OpenType specification.
+
+ - A new API in FT_BITMAP_H (`FT_Bitmap_New', `FT_Bitmap_Convert',
+ `FT_Bitmap_Copy', `FT_Bitmap_Embolden', `FT_Bitmap_Done') has
+ been added. Its use is to convert an FT_Bitmap structure in
+ 1bpp, 2bpp, 4bpp, or 8bpp format into another 8bpp FT_Bitmap,
+ probably using a different pitch, and to further manipulate it.
+
+ - A new API `FT_Outline_Embolden' (in FT_OUTLINE_H) gives finer
+ control how outlines are embolded.
+
+ - `FT_GlyphSlot_Embolden' (in FT_SYNTHESIS_H) now handles bitmaps
+ also (code contributed by Chia I Wu). Note that this function
+ is still experimental and may be replaced with a better API.
+
+ - The method how BDF and PCF bitmap fonts are accessed has been
+ refined. Formerly, FT_Set_Pixel_Sizes and FT_Set_Char_Size
+ were synonyms in FreeType's BDF and PCF interface. This has
+ changed now. FT_Set_Pixel_Sizes should be used to select the
+ actual font dimensions (the `strike', which is the sum of the
+ `FONT_ASCENT' and `FONT_DESCENT' properties), while
+ FT_Set_Char_Size selects the `nominal' size (the `PIXELSIZE'
+ property). In both functions, the width parameter is ignored.
+
+
+ III. MISCELLANEOUS
+
+ - The BDF driver no longer converts all returned bitmaps with a
+ depth of 2bpp or 4bpp to a depth of 8bpp. The documentation has
+ not mentioned this explicitly, but implementors might have
+ relied on this after looking into the source files.
+
+ - A new option `--ftversion' has been added to freetype-config to
+ return the FreeType version.
+
+ - The memory debugger has been updated to dump allocation
+ statistics on all allocation sources in the library. This is
+ useful to spot greedy allocations when loading and processing
+ fonts.
+
+ - We removed a huge array of constant pointers to constant strings
+ in the `psnames' module. The problem was that compilations in
+ PIC mode (i.e., when generating a Unix shared object/dll) put
+ the array into the non-shared writable section of the library
+ since absolute pointers are not relocatable by nature.
+
+ This reduces the memory consumption by approximately 16KByte per
+ process linked to FreeType. We now also store the array in a
+ compressed form (as a trie) which saves about 20KByte of code as
+ well.
+
+ - Kirill Smelkov provided patches to make src/raster/ftraster.c
+ compile stand-alone again.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.9 and 2.1.8
+
+ I. IMPORTANT BUG FIXES
+
+ - The function `FT_Get_CharMap_Index' was only declared, without
+ any real code. For consistency, it has been renamed to
+ `FT_Get_Charmap_Index'. (This function is needed to implement
+ cmap caches.)
+
+ - `FT_Outline_Get_BBox' sometimes returned incorrect values for
+ conic outlines (e.g., for TrueType fonts).
+
+ - Handling of `bhed' table has been fixed.
+
+ - The TrueType driver with enabled byte code interpreter sometimes
+ returned artifacts due to incorrect rounding. This bug has been
+ introduced after version 2.1.4.
+
+ - The BDF driver dropped the last glyph in the font.
+
+ - The BDF driver now uses the DEFAULT_CHAR property (if available)
+ to select a glyph shape for the undefined glyph.
+
+ - The stroker failed for closed outlines and single points.
+
+
+ II. IMPORTANT CHANGES
+
+ - George Williams contributed code to handle Apple's font
+ distortion technology found in GX fonts (`avar', `cvar', `fvar',
+ and `gvar' tables; the Multiple Masters API has been slightly
+ extended to cope with the new functionality).
+
+ - The `FT_GlyphSlotRec' structure has been extended: The elements
+ `lsb_delta' and `rsb_delta' give the difference between hinted
+ and unhinted left and right side bearings if autohinting is
+ active. Using those values can improve the inter-letter spacing
+ considerably. See the documentation of `FT_GlyphSlotRec' and
+ the `ftstring' demo program how to use it.
+
+ - Loading TrueType and Type 1 fonts has been made much faster.
+
+ - The stroker is no longer experimental (but the cache subsystem
+ still is).
+
+
+ III. MISCELLANEOUS
+
+ - A new documentation file `formats.txt' describes various font
+ formats supported (and not supported) by FreeType.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.8 and 2.1.7
+
+ I. IMPORTANT BUG FIXES
+
+ - The native TrueType hinter contained some bugs which prevented
+ some fonts to be rendered correctly, most notably Legendum.otf.
+
+ - The PostScript hinter now produces improved results.
+
+ - The linear advance width and height values were incorrectly
+ rounded, making them virtually unusable if not loaded with
+ FT_LOAD_LINEAR_DESIGN.
+
+ - Indexing CID-keyed CFF fonts is now working: The glyph index is
+ correctly treated as a CID, similar to FreeType's CID driver
+ module. Note that CID CMap support is still missing.
+
+ - The FT_FACE_FLAGS_GLYPH_NAMES flag is now set correctly for all
+ font formats.
+
+ - Some subsetted Type 1 fonts weren't parsed correctly. This bug
+ has been introduced in 2.1.7. In summary, the Type 1 parser has
+ become more robust.
+
+ - Non-decimal numbers weren't parsed correctly in PS fonts.
+
+ - The WinFNT driver now correctly reports FT_ENCODING_NONE for all
+ but one encoding. Use the new FT_WinFNT_ID_XXX values together
+ with `FT_Get_WinFNT_Header' to get the WinFNT charset ID.
+
+ - The descender metrics (face->size->metrics.descender) for WinFNT
+ bitmap fonts had the wrong sign.
+
+ - The (emulated) `seac' support for CFF fonts was broken.
+
+ - The `flex' operator didn't work for CFF fonts.
+
+ - PS glyphs which use the `hintmask' operator haven't been
+ rendered correctly in some cases.
+
+ - Metrics for BDF and PCF bitmap font formats have been fixed.
+
+ - Autohinting is now disabled for glyphs which are vertically
+ distorted or mirrored (using a transformation matrix). This
+ fixes a bug which produced zero-height glyphs.
+
+ - The `freetype-config' script now handles --prefix and
+ --exec-prefix correctly; it also returns the proper --rpath (or
+ -R) value if FreeType has been built as a shared library.
+
+
+ II. IMPORTANT CHANGES
+
+ - Both PCF and BDF drivers now handle the SETWIDTH_NAME and
+ ADD_STYLE_NAME properties. Values are appended to
+ face->style_name; example: `Bold SemiCondensed'.
+
+ - The PCF driver now handles bitmap fonts compressed with the LZW
+ algorithm (extension .pcf.Z, compressed with `compress').
+
+ - A new API function `FT_Get_CMap_Language_ID' (declared in
+ `tttables.h') is available to get the language ID of a
+ TrueType/SFNT cmap.
+
+ - The hexadecimal format of data after the `StartData' command in
+ CID-keyed Type 1 fonts is now supported. While this can't occur
+ in file-based fonts, it can happen in document-embedded
+ resources of PostScript documents.
+
+ - Embedded bitmaps in SFNT-based CFF fonts are now supported.
+
+ - A simple API is now available to control FreeType's tracing
+ mechanism if compiled with FT_DEBUG_LEVEL_TRACE. See the file
+ `ftdebug.h' for more details.
+
+ - YAMATO Masatake contributed improved handling of MacOS resource
+ forks on non-MacOS platforms (for example, Linux can mount MacOS
+ file systems).
+
+ - Support for MacOS has been improved; there is now a new function
+ `FT_New_Face_From_FSSpec' similar to `FT_New_Face' except that
+ it accepts an FSSpec instead of a path.
+
+ - The cache sub-system has been rewritten.
+
+ - There is now support for deinstallation of faces.
+
+ - A new API function `FTC_Manager_RemoveFaceID' has been added
+ to delete all `idle' nodes that correspond to a given
+ FTC_FaceID. All `locked' nodes (i.e., those with a reference
+ count > 0), will be modified to prevent them from appearing in
+ further lookups (they will be cleaned normally when their
+ reference count reaches 0).
+
+ - There is now support for point scaling (i.e., providing
+ character sizes in points + dpis, instead of pixels).
+
+ - Three abstract cache classes are now available:
+
+ FTC_GCache: Used to store one glyph item per cache node,
+ with the ability to group common attributes into
+ `families'. This replaces the old
+ FTC_GlyphCache class.
+
+ FTC_ICache: Used to store one FT_Glyph per cache node. This
+ extends FTC_GCache. Family definition, family
+ comparison, and glyph loading are however left
+ to sub-classes.
+
+ FTC_SCache: Used to store up to 16 small bitmaps per cache
+ node. This extends FTC_GCache. Family
+ definition, family comparison and glyph loading
+ are however left to sub-classes.
+
+ - The file `src/cache/ftcbasic.c' implements:
+
+ FTC_ImageCache: Extends FTC_ICache; implements family
+ definitions and glyph loading similar to the
+ old API.
+
+ FTC_SBitCache: Extends FTC_SCache, implements family
+ definitions and glyph loading similar to the
+ old API
+
+ Client applications should be able to extend FTC_GCache,
+ FTC_ICache, or FTC_SCache much more easily (i.e., less code to
+ write, and less callbacks). For example, one could envision
+ caches that are capable of storing transformed (obliqued),
+ stroked, emboldened, or colored glyph images. Use
+ `ftcbasic.c' as an example.
+
+ - All public APIs are now in `include/freetype/ftcache.h', (to
+ be accessed as `FT_CACHE_H'). The contents of
+ `include/freetype/cache/' is only needed by applications that
+ wish to implement their own caches.
+
+ - There were some major performance improvements through the use
+ of various programming tricks. Cache hits are up to 70%
+ faster than in the old code.
+
+ - The FTC_CMapCache has been simplified. Charmaps can only be
+ accessed by index right now. There is also a new API named
+ `FT_Charmap_GetIndex' for this purpose.
+
+ - The demo programs have been updated to the new code. The
+ previous versions will not work with the current one.
+
+ - Using an invalid face index in FT_Open_Face and friends now
+ causes an error even if the font contains a single face only.
+
+
+ III. MISCELLANEOUS
+
+ - Wolfgang Domröse contributed support files for building FreeType
+ on the Atari using the PureC compiler. Note that the Atari is a
+ 16bit platform.
+
+ - Vitaliy Pasternak contributed project files for VS.NET 2003.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.7 and 2.1.6
+
+ I. IMPORTANT BUG FIXES
+
+ - Updated to newest libtool version, fixing build problems on
+ various platforms.
+
+ - On Unix platforms, `make install' didn't copy the correct
+ `ftconfig.h' file.
+
+ Note that version 2.1.7 contains the same library C source code as
+ version 2.1.6.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.6 and 2.1.5
+
+ I. IMPORTANT BUG FIXES
+
+ - The PFR font driver didn't load kerning tables correctly, and
+ the functions in FT_PFR_H didn't work at all.
+
+ - Type 1 font files in binary format (PFB) with an end-of-file
+ indicator weren't accepted by the FreeType engine.
+
+ - Fonts which contain /PaintType and /StrokeWidth no longer cause
+ a segfault. This bug has been introduced in version 2.1.5.
+
+ - Fonts loaded with FT_LOAD_RENDER no longer cause strange
+ results. This bug has been introduced in version 2.1.5.
+
+ - Some Windows (bitmap) FNT/FON files couldn't be handled
+ correctly.
+
+
+ II. IMPORTANT CHANGES
+
+ - The internal module API has been heavily changed in favor of
+ massive simplifications within the font engine. This also means
+ that authors of third-party modules must adapt their code to the
+ new scheme.
+
+ NOTE: THE NEW SCHEME IS NOT COMPLETED YET. PLEASE WAIT UNTIL A
+ FINAL ANNOUNCEMENT!
+
+ - The PostScript parser has been enhanced to handle comments and
+ strings correctly. Additionally, more syntax forms are
+ recognized.
+
+ - Added the optional unpatented hinting system for TrueType. It
+ allows typefaces which need hinting to produce correct glyph
+ forms (e.g., Chinese typefaces from Dynalab) to work acceptably
+ without infringing Apple patents. This system is compiled only
+ if TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
+ ftoption.h (activated by default).
+
+
+ III. MISCELLANEOUS
+
+ - There is now a guard in the public header files to protect
+ against inclusion of freetype.h from FreeType 1.
+
+ - Direct inclusion of freetype.h and other public header files no
+ longer works. You have to use the documented scheme
+
+ #include <ft2build.h>
+ #include FT_FREETYPE_H
+
+ to load freetype.h with a symbolic name. This protects against
+ renaming of public header files (which shouldn't happen but
+ actually has, avoiding two public header files with the same
+ name).
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.5 and 2.1.4
+
+ I. IMPORTANT BUG FIXES
+
+ - Parsing the /CIDFontName field now removes the leading slash to
+ be in sync with other font drivers.
+
+ - gzip support was buggy. Some fonts could not be read.
+
+ - Fonts which have nested subglyphs more than one level deep no
+ longer cause a segfault.
+
+ - Creation of synthetic cmaps for fonts in CFF format was broken
+ partially.
+
+ - Numeric font dictionary entries for synthetic fonts are no
+ longer overwritten.
+
+ - The font matrix wasn't applied to the advance width for Type1,
+ CID, and CFF fonts. This caused problems when loading certain
+ synthetic Type 1 fonts like `Helvetica Narrow'.
+
+ - The test for the charset registry in BDF and PCF fonts is now
+ case-insensitive.
+
+ - FT_Vector_Rotate sometimes returned strange values due to
+ rounding errors.
+
+ - The PCF driver now returns the correct number of glyphs
+ (including an artificial `notdef' glyph at index 0).
+
+ - FreeType now supports buggy CMaps which are contained in many
+ CJK fonts from Dynalab.
+
+ - Opening an invalid font on a Mac caused a segfault due to
+ double-freeing memory.
+
+ - BDF fonts with more than 32768 glyphs weren't supported
+ properly.
+
+
+ II. IMPORTANT CHANGES
+
+ - Accessing bitmap font formats has been synchronized. To do that
+ the FT_Bitmap_Size structure has been extended to contain new
+ fields `size', `x_ppem', and `y_ppem'.
+
+ - The FNT driver now returns multiple faces, not multiple strikes.
+
+ - The `psnames' module has been updated to the Adobe Glyph List
+ version 2.0.
+
+ - The `psnames' module now understands `uXXXX[X[X]]' glyph names.
+
+ - The algorithm for guessing the font style has been improved.
+
+ - For fonts in SFNT format, root->height is no longer increased if
+ the line gap is zero. There exist fonts (containing e.g. form
+ drawing characters) which intentionally have a zero line gap
+ value.
+
+ - ft_glyph_bbox_xxx flags are now deprecated in favour of
+ FT_GLYPH_BBOX_XXX.
+
+ - ft_module_xxx flags are now deprecated in favour of
+ FT_MODULE_XXX.
+
+ - FT_ENCODING_MS_{SJIS,GB2312,BIG5,WANSUNG,JOHAB} are now
+ deprecated in favour of
+ FT_ENCODING_{SJIS,GB2312,GIB5,WANSONG,JOHAB} -- those encodings
+ are not specific to Microsoft.
+
+
+ III. MISCELLANEOUS
+
+ - The autohinter has been further improved; for example, `m'
+ glyphs now retain its vertical symmetry.
+
+ - Partial support of Mac fonts on non-Mac platforms.
+
+ - `make refdoc' (after first `make') builds the HTML
+ documentation. You need Python for this.
+
+ - The make build system should now work more reliably on DOS-like
+ platforms.
+
+ - Support for EMX gcc and Watson C/C++ compilers on MS-DOS has
+ been added.
+
+ - Better VMS build support.
+
+ - Support for the pkg-config package by providing a `freetype.pc'
+ file.
+
+ - New configure option --with-old-mac-fonts for Darwin.
+
+ - Some source files have been renamed (mainly to fit into the 8.3
+ naming scheme).
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.4 and 2.1.3
+
+ I. IMPORTANT BUG FIXES
+
+ - Updated to newest libtool version, fixing build problems on
+ various platforms.
+
+ - A fix in the Gzip stream reader: It couldn't read certain .gz
+ files properly due to a small typo. In certain cases, FreeType
+ could also loop endlessly when trying to load tiny gzipped
+ files.
+
+ - The configure script now tries to use the system-wide zlib when
+ it finds one (instead of the copy found in src/gzip). And
+ `freetype-config' has been updated to return relevant flags in
+ this case when invoked with `--libs' (e.g. `-lzlib').
+
+ - Certain fonts couldn't be loaded by 2.1.3 because they lacked a
+ Unicode charmap (e.g. SYMBOL.TTF). FreeType erroneously
+ rejected them.
+
+ - The CFF loader was modified to accept fonts which only contain a
+ subset of their reference charset. This prevented the correct
+ use of PDF-embedded fonts.
+
+ - The logic to detect Unicode charmaps has been modified. This is
+ required to support fonts which include both 16-bit and 32-bit
+ charmaps (like very recent asian ones) using the new 10 and 12
+ SFNT formats.
+
+ - The TrueType loader now limits the depth of composite glyphs.
+ This is necessary to prevent broken fonts to break the engine by
+ blowing the stack with recursive glyph definitions.
+
+ - The CMap cache is now capable of managing UCS-4 character codes
+ that are mapped through extended charmaps in recent
+ TrueType/OpenType fonts.
+
+ - The cache sub-system now properly manages out-of-memory
+ conditions instead of blindly reporting them to the caller.
+ This means that it will try to empty the cache before restarting
+ its allocations to see if that can help.
+
+ - The PFR driver didn't return the list of available embedded
+ bitmaps properly.
+
+ - There was a nasty memory leak when using embedded bitmaps in
+ certain font formats.
+
+
+ II. IMPORTANT CHANGES
+
+ - David Chester contributed some enhancements to the auto-hinter
+ that significantly increase the quality of its output. The
+ Postscript hinter was also improved in several ways.
+
+ - The FT_RENDER_MODE_LIGHT render mode was implemented.
+
+ - A new API function called `FT_Get_BDF_Property' has been added
+ to FT_BDF_H to retrieve BDF properties from BDF _and_ PCF font
+ files. THIS IS STILL EXPERIMENTAL, since it hasn't been
+ properly tested yet.
+
+ - A Windows FNT specific API has been added, mostly to access font
+ headers. This is used by Wine.
+
+ - TrueType tables without an `hmtx' table are now tolerated when
+ an incremental interface is used. This happens for certain
+ Type42 fonts passed from Ghostscript to FreeType.
+
+ - The PFR font driver is now capable of returning the font family
+ and style names when they are available (instead of the sole
+ `FontID'). This is performed by parsing an *undocumented*
+ portion of the font file!
+
+
+ III. MISCELLANEOUS
+
+ - The path stroker in FT_STROKER_H has entered beta stage. It now
+ works very well, but its interface might change a bit in the
+ future. More on this in later releases.
+
+ - The documentation for FT_Size_Metrics didn't appear properly in
+ the API reference.
+
+ - The file docs/VERSION.DLL has been updated to explain versioning
+ with FreeType (i.e., comparing release/libtool/so numbers, and
+ how to use them in autoconf scripts).
+
+ - The installation documentation has been seriously revamped.
+ Everything is now in the `docs' directory.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.3 and 2.1.2
+
+ I. IMPORTANT BUG FIXES
+
+ - FT_Vector_Transform had been incorrectly modified in 2.1.2,
+ resulting in incorrect transformations being applied (for
+ example, rotations were processed in opposite angles).
+
+ - The format 8 and 12 TrueType charmap enumeration routines have
+ been fixed (FT_Get_Next_Char returned invalid values).
+
+ - The PFR font driver returned incorrect advance widths if the
+ outline and metrics resolution defined in the font file were
+ different.
+
+ - FT_Glyph_To_Bitmap now returns successfully when called with an
+ FT_BitmapGlyph argument (it previously returned an error).
+
+ - A bug in the Type 1 loader that prevented valid font bounding
+ boxes to be loaded from multiple master fonts.
+
+ - The SFNT validation code has been rewritten. FreeType can now
+ load `broken' fonts that were usable on Windows, but not with
+ previous versions of the library.
+
+ - The computation of bearings in the BDF driver has been fixed.
+
+ - The Postscript hinter crashed when trying to hint certain glyphs
+ (more precisely, when trying to apply hints to an empty glyph
+ outline).
+
+ - The TrueType glyph loader now supports composites in `Apple
+ format' (they differ slightly from Microsoft/OpenType ones in
+ the way transformation offsets are computed).
+
+ - FreeType was very slow at opening certain asian CID/CFF fonts,
+ due to fixed increment in dynamic array re-allocations. This
+ has been changed to exponential behaviour to get acceptable
+ performance.
+
+
+
+ II. IMPORTANT CHANGES
+
+ - The PCF driver now supports gzip-compressed font files natively.
+ This means that you will be able to use all these bitmap fonts
+ that come with XFree86 with FreeType (and libXft/libXft2, by
+ extension).
+
+ - The automatic and postscript hinters have both been updated.
+ This results in a relatively important increase of rendering
+ quality since many nasty defaults have been suppressed. Please
+ visit the web page:
+
+ http://www.freetype.org/hinting/smooth-hinting.html
+
+ for additional details on this topic.
+
+ - The `load_flags' parameter of `FT_Load_Glyph' is now an FT_Int32
+ (instead of just being an FT_Int). This breaks source and
+ binary compatibility for 16bit systems only, while retaining
+ both of them for 32 and 64 bit ones.
+
+ Some new flags have been added consequently:
+
+ FT_LOAD_NO_AUTOHINT :: Disable the use of the auto-hinter
+ (but not native format hinters).
+
+ FT_LOAD_TARGET_NORMAL :: Hint and render for normal
+ anti-aliased displays.
+
+ FT_LOAD_TARGET_MONO :: Hint and render for 1-bit displays.
+
+ FT_LOAD_TARGET_LCD :: Hint and render for horizontal RGB or
+ BGR sub-pixel displays (like LCD
+ screens). THIS IS STILL
+ EXPERIMENTAL!
+
+ FT_LOAD_TARGET_LCD_V :: Same as FT_LOAD_TARGET_LCD, for
+ vertical sub-pixel displays (like
+ rotated LCD screens). THIS IS STILL
+ EXPERIMENTAL!
+
+ FT_LOAD_MONOCHROME is still supported, but only affects
+ rendering, not the hinting.
+
+ Note that the `ftview' demo program available in the `ft2demos'
+ package has been updated to support LCD-optimized display on
+ non-paletted displays (under Win32 and X11).
+
+ - The PFR driver now supports embedded bitmaps (all formats
+ supported), and returns correct kerning metrics for all glyphs.
+
+ - The TrueType charmap loader now supports certain `broken' fonts
+ that load under Windows without problems.
+
+ - The cache API has been slightly modified (it's still a beta!):
+
+ - The type FTC_ImageDesc has been removed; it is now replaced
+ by FTC_ImageTypeRec. Note that one of its fields is a
+ `load_flag' parameter for FT_Load_Glyph.
+
+ - The field `num_grays' of FT_SBitRec has been changed to
+ `max_grays' in order to fit within a single byte. Its
+ maximum value is thus 255 (instead of 256 as previously).
+
+
+ III. MISCELLANEOUS
+
+ - Added support for the DESTDIR variable during `make install'.
+ This simplifies packaging of FreeType.
+
+ - Included modified copies of the ZLib sources in `src/gzip' in
+ order to support gzip-compressed PCF fonts. We do not use the
+ system-provided zlib for now, though this is a probable
+ enhancement for future releases.
+
+ - The DocMaker tool used to generate the on-line API reference has
+ been completely rewritten. It is now located in
+ `src/tools/docmaker/docmaker.py'. Features:
+
+ - better cross-referenced output
+ - more polished output
+ - uses Python regular expressions (though it didn't speed the
+ program)
+ - much more modular structure, which allows for different
+ `backends' in order to generate HTML, XML, or whatever
+ format.
+
+ One can regenerate the API reference by calling:
+
+ python src/tools/docmaker/docmaker.py \
+ --prefix=ft2 \
+ --title=FreeType-2.1.3 \
+ --output=<outputdirectory>
+ include/freetype/*.h \
+ include/freetype/config/*.h \
+ include/freetype/cache/*.h
+
+ - A new, experimental, support for incremental font loading (i.e.,
+ loading of fonts where the glyphs are not in the font file
+ itself, but provided by an external component, like a Postscript
+ interpreter) has been added by Graham Asher. This is still work
+ in progress, however.
+
+ - A new, EXPERIMENTAL, path stroker has been added. It doesn't
+ suffer from severe rounding errors and treat bezier arcs
+ directly. Still work in progress (i.e. not part of the official
+ API). See the file <freetype/ftstroker.h> for some of the
+ details.
+
+ - The massive re-formatting of sources and internal re-design is
+ still under-way. Many internal functions, constants, and types
+ have been renamed.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.2 and 2.1.1
+
+ I. IMPORTANT BUG FIXES
+
+ - Many font drivers didn't select a Unicode charmap by default
+ when a new face was opened (with the FT_CONFIG_OPTION_USE_CMAPS
+ options enabled), causing many applications to not be able to
+ display text correctly with the 2.1.x releases.
+
+ - The PFR driver had a bug in its composite loading code that
+ produces incorrectly placed accents with many fonts.
+
+ - The Type42 driver crashed sometimes due to a nasty bug.
+
+ - The Type 1 custom encoding charmap didn't handle the case where
+ the first glyph index wasn't 0.
+
+ - A serious typo in the TrueType composite loader produced
+ incorrectly placed glyphs in fonts like `Wingdings' and a few
+ others.
+
+
+ II. MISCELLANEOUS
+
+ - The Win32 Visual C++ project file has been updated to include
+ the PFR driver as well.
+
+ - `freetype.m4' is now installed by default by `make install' on
+ Unix systems.
+
+ - The function FT_Get_PS_Font_Info now works with CID and Type42
+ fonts as well.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.1 and 2.1.0
+
+ I. IMPORTANT BUG FIXES
+
+ - The `version_info' returned by `freetype-config' in 2.1.0
+ returned an invalid value. It now returns 9:1:3 (2.0.9 returned
+ 9:0:3).
+
+ - Version 2.1.0 couldn't be linked against applications on Win32
+ and Amiga systems due to a new debug function that wasn't
+ properly propagated to the system-specific directory in
+ `builds'.
+
+ - Various MacOS and Mac OS X specific fixes.
+
+ - Fixed a bug in the TrueType charmap validation routines that
+ made version 2.1.0 too restrictive -- many popular fonts have
+ been rejected.
+
+ - There was still a very small difference between the monochrome
+ glyph bitmaps produced by FreeType 1.x and FreeType 2.x with the
+ bytecode interpreter enabled. This was caused by an invalid
+ flag setting in the TrueType glyph loader, making the rasterizer
+ change its drop-out control mode. Now the results should
+ _really_ be completely identical.
+
+ - The TrueType name table loader has been improved to support many
+ popular though buggy Asian fonts. It now ignores empty name
+ entries, invalid pointer offsets and a few other incorrect
+ subtleties. Moreover, name strings are now loaded on demand,
+ which reduces the memory load of many faces (e.g. the ARIAL.TTF
+ font file contains a 10kByte name table with 70 names).
+
+ - Fixed a bug in the Postscript hinter that prevented family blues
+ substitution to happen correctly.
+
+
+ II. NEW FEATURES
+
+ - Three new font drivers in this release:
+
+ * A BDF font driver, contributed by Franco Zappa Nardelli,
+ heavily modified by Werner Lemberg. It also supports
+ anti-aliased bitmaps (using a slightly extended BDF format).
+
+ * A Type42 font driver, contributed by Roberto Alameda. It is
+ still experimental but seems to work relatively well.
+
+ * A PFR font driver, contributed by David Turner himself. It
+ doesn't support PFR hinting -- note that BitStream has at
+ least two patents on this format!
+
+
+ III. MISCELLANEOUS
+
+ - The cache sub-system has been optimized in important ways.
+ Cache hits are now significantly faster. For example, using the
+ CMap cache is about twice faster than calling FT_Get_Char_Index
+ on most platforms. Similarly, using an SBit cache is about five
+ times faster than loading the bitmaps from a bitmap file, and
+ 300 to 500 times faster than generating them from a scalable
+ format.
+
+ Note that you should recompile your sources if you designed a
+ custom cache class for the FT2 Cache subsystem, since the
+ changes performed are source, but not binary, compatible.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.1.0 and 2.0.9
+
+ I. IMPORTANT BUG FIXES
+
+ - The TrueType bytecode interpreter has been fixed to produce
+ _exactly_ the same output as FreeType 1.x. Previous differences
+ were due to slightly distinct fixed-point computation routines
+ used to perform dot products and vector length measurements.
+
+ It seems that native TrueType hinting is _extremely_ sensitive
+ to rounding errors. The required vector computation routines
+ have been optimized and placed within the `ttinterp.c' file.
+
+ - Fixed the parsing of accelerator tables in the PCF font driver.
+
+ - Fixed the Type1 glyph loader routine used to compute the font's
+ maximum advance width.
+
+
+ II. NEW FEATURES
+
+ - The `configure' script used on Unix systems has been modified to
+ check that GNU Make is being used to build the library.
+ Otherwise, it will display a message proposing to use the
+ GNUMAKE environment variable to name it.
+
+ The Unix-specific file README.UNX has been modified accordingly.
+
+
+ III. MISCELLANEOUS
+
+ - The FreeType License in `docs/FTL.TXT' has been updated to
+ include a proposed preferred disclaimer. If you are using
+ FreeType in your products, you are encouraged (but not mandated)
+ to use the following text in your documentation:
+
+ """
+ Portions of this software are copyright © 1996-2002 The
+ FreeType Project (www.freetype.org). All rights reserved.
+ """
+
+ - The default size of the render pool has been reduced to 16kByte.
+ This shouldn't result in any noticeable performance penalty,
+ unless you are using the engine as-is to render very large and
+ complex glyphs.
+
+ - The FreeType 2 redesign has begun. More information can be
+ found at this URL:
+
+ http://www.freetype.org/freetype2/redesign.html
+
+ The following internal changes have been performed within the
+ sources of this release:
+
+ - Many internal types have been renamed to increase
+ consistency. The following should be true, except for
+ public types:
+
+ * All structure types have a name ending in `Rec' (short
+ for `record').
+
+ * A pointer-to-structure type has the same name as the
+ structure, _without_ the `Rec' suffix.
+
+ Example:
+
+ typedef struct FooRec_
+ {
+ ...
+
+ } FooRec, *Foo;
+
+ - Many internal macros have been renamed to increase
+ consistency. The following should be true:
+
+ * All macros have a name beginning with `FT_'. This
+ required a few changes like
+
+ ALLOC => FT_ALLOC
+ FREE => FT_FREE
+ REALLOC => FT_REALLOC
+
+ * All macros are completely UPPERCASE. This required a
+ few changes like:
+
+ READ_Short => FT_READ_SHORT
+ NEXT_Short => FT_NEXT_SHORT
+ GET_ULongLE => FT_GET_ULONG_LE
+ MEM_Set => FT_MEM_SET
+ MEM_Copy => FT_MEM_COPY
+ etc.
+
+ * Whenever possible, all macro names follow the
+ FT_<OBJECT>_<METHOD> pattern. For example
+
+ ACCESS_Frame => FT_FRAME_ENTER
+ FORGET_Frame => FT_FRAME_EXIT
+ EXTRACT_Frame => FT_FRAME_EXTRACT
+ RELEASE_Frame => FT_FRAME_RELEASE
+
+ FILE_Pos => FT_STREAM_POS
+ FILE_Seek => FT_STREAM_SEEK
+ FILE_Read => FT_STREAM_READ
+ FILE_ReadAt => FT_STREAM_READ_AT
+ READ_Fields => FT_STREAM_READ_FIELDS
+
+ - Many internal functions have been renamed to follow the
+ FT_<Object>_<Method> pattern. For example:
+
+ FT_Seek_Stream => FT_Stream_Seek
+ FT_Read_Stream_At => FT_Stream_ReadAt
+ FT_Done_Stream => FT_Stream_Close
+ FT_New_Stream => FT_Stream_Open
+ FT_New_Memory_Stream => FT_Stream_OpenMemory
+ FT_Extract_Frame => FT_Stream_ExtractFrame
+
+ Note that method names do not contain `_'.
+
+ - The FT_ALLOC_ARRAY and FT_REALLOC_ARRAY have been replaced
+ with FT_NEW_ARRAY and FT_RENEW_ARRAY which do not take a
+ type as the fourth argument. Instead, the array element
+ type size is computed automatically from the type of the
+ target pointer used.
+
+ - A new object class, FT_CMap, has been introduced. These
+ internal objects are used to model character maps. This
+ eases the support of additional charmap types within the
+ engine.
+
+ - A new configuration file named `ftstdlib.h' has been added
+ to `include/freetype/config'. It is used to define aliases
+ for _every_ routine of the ISO C library that the font
+ engine uses. Each aliases has a `ft_' prefix
+ (e.g. `ft_strlen' is an alias for `strlen').
+
+ This is used to ease the porting of FreeType 2 to exotic
+ runtime environments where the ISO C Library isn't available
+ (e.g. XFree86 extension modules).
+
+ More details are available in the `ChangeLog' file.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.0.9 and 2.0.8
+
+ I. IMPORTANT BUG FIXES
+
+ - Certain fonts like `foxjump.ttf' contain broken name tables with
+ invalid entries and wild offsets. This caused FreeType to crash
+ when trying to load them.
+
+ The SFNT `name' table loader has been fixed to be able to
+ support these strange fonts.
+
+ Moreover, the code in charge of processing this table has been
+ changed to always favour Windows-formatted entries over other
+ ones. Hence, a font that works on Windows but not on the Mac
+ will load cleanly in FreeType and report accurate values for
+ Family & PostScript names.
+
+ - The CID font driver has been fixed. It unfortunately returned a
+ Postscript Font name with a leading slash, as in
+ `/MunhwaGothic-Regular'.
+
+ - FreeType 2 should now compile fine on AIX 4.3.3 as a shared
+ library.
+
+ - A bug in the Postscript hinter has been found and fixed,
+ removing un-even stem widths at small pixel sizes (like 14-17).
+
+ This improves the quality of a certain number of Postscript
+ fonts.
+
+
+ II. NEW FEATURES
+
+ - A new function named `FT_Library_Version' has been added to
+ return the current library's major, minor, and patch version
+ numbers. This is important since the macros FREETYPE_MAJOR,
+ FREETYPE_MINOR, and FREETYPE_PATCH cannot be used when the
+ library is dynamically linked by a program.
+
+ - Two new APIs have been added: `FT_Get_First_Char' and
+ `FT_Get_Next_Char'.
+
+ Together, these can be used to iterate efficiently over the
+ currently selected charmap of a given face. Read the API
+ reference for more details.
+
+
+ III. MISCELLANEOUS
+
+ - The FreeType sources are under heavy internal re-factoring. As
+ a consequence, we have created a branch named `STABLE' on the
+ CVS to hold all future releases/fixes in the 2.0.x family.
+
+ The HEAD branch now contains the re-factored sources and
+ shouldn't be used for testing or packaging new releases. In
+ case you would like to access the 2.0.9 sources from our CVS
+ repository, use the tag `VER-2-0-9'.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.0.8 and 2.0.7
+
+ I. IMPORTANT BUG FIXES
+
+ - There was a small but nasty bug in `freetype-config.in' which
+ caused the `freetype-config' script to fail on Unix.
+
+ This didn't prevent the installation of the library or even its
+ execution, but caused problems when trying to compile many Unix
+ packages that depend on it.
+
+ - Some TrueType or OpenType fonts embedded in PDF documents do not
+ have a 'cmap', 'post' and 'name' as is required by the
+ specification. FreeType no longer refuses to load such fonts.
+
+ - Various fixes to the PCF font driver.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.0.7 and 2.0.6
+
+ I. IMPORTANT BUG FIXES
+
+ - Fixed two bugs in the Type 1 font driver. The first one
+ resulted in a memory leak in subtle cases. The other one caused
+ FreeType to crash when trying to load `.gsf' files (Ghostscript
+ so-called Postscript fonts).
+
+ (This made _many_ KDE applications crash on certain systems.
+ FreeType _is_ becoming a critical system component on Linux :-)
+
+ - Fixed a memory leak in the CFF font driver.
+
+ - Fixed a memory leak in the PCF font driver.
+
+ - Fixed the Visual C++ project file
+ `builds/win32/visualc/freetype.dsp' since it didn't include the
+ Postscript hinter component, causing errors at build time.
+
+ - Fixed a small rendering bug in the anti-aliased renderer that
+ only occurred when trying to draw thin (less than 1 pixel)
+ strokes.
+
+ - Fixed `builds/unix/freetype2.a4' which is used to generate a
+ valid `freetype2.m4' for use with autoconf.
+
+ - Fixed the OpenVMS Makefiles.
+
+
+ II. MISCELLANEOUS
+
+ - Added `configure' and `install' scripts to the top-level
+ directory. A GNU-style installation is thus now easily possible
+ with
+
+ ./configure <options>
+ make
+ make install
+
+
+======================================================================
+
+CHANGES BETWEEN 2.0.6 and 2.0.5
+
+ I. IMPORTANT BUG FIXES
+
+ - It wasn't possible to load embedded bitmaps when the auto-hinter
+ was used. This is now fixed.
+
+ - The TrueType font driver didn't load some composites properly
+ (the sub-glyphs were slightly shifted, and this was only
+ noticeable when using monochrome rendering).
+
+ - Various fixes to the auto-hinter. They merely improve the
+ output of sans-serif fonts. Note that there are still problems
+ with serifed fonts and composites (accented characters).
+
+ - All scalable font drivers erroneously returned un-fitted glyph
+ advances when hinting was requested. This created problems for
+ a number of layout applications. This is a very old bug that
+ got undetected mainly because most test/demo program perform
+ rounding explicitly or implicitly (through the cache).
+
+ - `FT_Glyph_To_Bitmap' did erroneously modify the source glyph in
+ certain cases.
+
+ - `glnames.py' still contained a bug that made FreeType return
+ invalid names for certain glyphs.
+
+ - The library crashed when loading certain Type 1 fonts like
+ `sadn.pfb' (`Stalingrad Normal'), which appear to contain
+ pathetic font info dictionaries.
+
+ - The TrueType glyph loader is now much more paranoid and checks
+ everything when loading a given glyph image. This was necessary
+ to avoid problems (crashes and/or memory overwrites) with broken
+ fonts that came from a really buggy automatic font converter.
+
+
+ II. IMPORTANT UPDATES AND NEW FEATURES
+
+ - Important updates to the Mac-specific parts of the library.
+
+ - The caching sub-system has been completely re-designed, and its
+ API has evolved (the old one is still supported for backward
+ compatibility).
+
+ The documentation for it is not yet completed, sorry. For now,
+ you are encouraged to continue using the old API. However, the
+ ftview demo program in the ft2demos package has already been
+ updated to use the new caching functions.
+
+ - A new charmap cache is provided too. See `FTC_CMapCache'. This
+ is useful to perform character code -> glyph index translations
+ quickly, without the need for an opened FT_Face.
+
+ - A NEW POSTSCRIPT HINTER module has been added to support native
+ hints in the following formats: PostScript Type 1, PostScript
+ CID, and CFF/CEF.
+
+ Please test! Note that the auto-hinter produces better results
+ for a number of badly-hinted fonts (mostly auto-generated ones)
+ though.
+
+ - A memory debugger is now part of the standard FreeType sources.
+ To enable it, define FT_DEBUG_MEMORY in
+ <freetype/config/ftoption.h>, and recompile the library.
+
+ Additionally, define the _environment_ variable FT_DEBUG_MEMORY
+ and run any program using FreeType. When the library is exited,
+ a summary of memory footprints and possible leaks will be
+ displayed.
+
+ This works transparently with _any_ program that uses FreeType.
+ However, you will need a lot of memory to use this (allocated
+ blocks are never released to the heap to detect double deletes
+ easily).
+
+
+ III. MISCELLANEOUS
+
+ - We are aware of subtle differences between the output of
+ FreeType versions 1 and 2 when it comes to monochrome
+ TrueType-hinted glyphs. These are most probably due to small
+ differences in the monochrome rasterizers and will be worked out
+ in an upcoming release.
+
+ - We have decided to fork the sources in a `stable' branch, and an
+ `unstable' one, since FreeType is becoming a critical component
+ of many Unix systems.
+
+ The next bug-fix releases of the library will be named 2.0.7,
+ 2.0.8, etc., while the `2.1' branch will contain a version of
+ the sources where we will start major reworking of the library's
+ internals, in order to produce FreeType 2.2.0 (or even 3.0) in a
+ more distant future.
+
+ We also hope that this scheme will allow much more frequent
+ releases than in the past.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.0.5 and 2.0.4
+
+ NOTE THAT 2.0.5 DOES NOT CONTAIN THE POSTSCRIPT HINTER. THIS MODULE
+ WILL BE PART OF THE NEXT RELEASE (EITHER 2.0.6 or 2.1)
+
+ - Fixed a bug that made certain glyphs, like `Cacute', `cacute' and
+ `lslash' unavailable from Unicode charmaps of Postscript fonts.
+ This prevented the correct display of Polish text, for example.
+
+ - The kerning table of Type 1 fonts was loaded by FreeType, when its
+ AFM file was attached to its face, but the
+ FT_FACE_FLAG_HAS_KERNING bit flags was not set correctly,
+ preventing FT_Get_Kerning to return meaningful values.
+
+ - Improved SFNT (TrueType & OpenType) charmap support. Slightly
+ better performance, as well as support for the new formats defined
+ by the OpenType 1.3 specification (8, 10, and 12)
+
+ - Fixed a serious typo in `src/base/ftcalc.c' which caused invalid
+ computations in certain rare cases, producing ugly artefacts.
+
+ - The size of the EM square is computed with a more accurate
+ algorithm for Postscript fonts. The old one caused slight errors
+ with embedded fonts found in PDF documents.
+
+ - Fixed a bug in the cache manager that prevented normal LRU
+ behaviour within the cache manager, causing unnecessary reloads
+ (for FT_Face and FT_Size objects only).
+
+ - Added a new function named `FT_Get_Name_Index' to retrieve the
+ glyph index of a given glyph name, when found in a face.
+
+ - Added a new function named `FT_Get_Postscript_Name' to retrieve
+ the `unique' Postscript font name of a given face.
+
+ - Added a new public header size named FT_SIZES_H (or
+ <freetype/ftsizes.h>) providing new FT_Size-management functions:
+ FT_New_Size, FT_Activate_Size, FT_Done_Size.
+
+ - Fixed a reallocation bug that generated a dangling pointer (and
+ possibly memory leaks) with Postscript fonts (in
+ src/psaux/psobjs.c).
+
+ - Many fixes for 16-bit correctness.
+
+ - Removed many pedantic compiler warnings from the sources.
+
+ - Added an Amiga build directory in `builds/amiga'.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.0.4 and 2.0.3
+
+ - Fixed a rather annoying bug that was introduced in 2.0.3. Namely,
+ the font transformation set through FT_Set_Transform was applied
+ twice to auto-hinted glyphs, resulting in incorrectly rotated text
+ output.
+
+ - Fixed _many_ compiler warnings. FT2 should now compile cleanly
+ with Visual C++'s most pedantic warning level (/W4). It already
+ compiled fine with GCC and a few other compilers.
+
+ - Fixed a bug that prevented the linear advance width of composite
+ TrueType glyphs to be correctly returned.
+
+ - Fixed the Visual C++ project files located in
+ `builds/win32/visualc' (previous versions used older names of the
+ library).
+
+ - Many 32-bit constants have an `L' appended to their value, in
+ order to improve the 16-bitness of the code. Someone is actually
+ trying to use FT2 on an Atari ST machine!
+
+ - Updated the `builds/detect.mk' file in order to automatically
+ build FT2 on AIX systems. AIX uses `/usr/sbin/init' instead of
+ `/sbin/init' and wasn't previously detected as a Unix platform by
+ the FreeType build system.
+
+ - Updated the Unix-specific portions of the build system (new
+ libtool version, etc.).
+
+ - The SFNT kerning loader now ensures that the table is sorted
+ (since some problem fonts do not meet this requirement).
+
+
+=======================================================================
+
+CHANGES BETWEEN 2.0.3 and 2.0.2
+
+ I. CHANGES TO THE MODULES / FONT DRIVERS
+
+ - THE AUTO-HINTER HAS BEEN SLIGHTLY IMPROVED, in order to fix
+ several annoying artefacts, mainly:
+
+ - Blue zone alignment of horizontal stems wasn't performed
+ correctly, resulting in artefacts like the `d' being placed
+ one pixel below the `b' in some fonts like Time New Roman.
+
+ - Overshoot thresholding wasn't performed correctly, creating
+ unpleasant artefacts at large character pixel sizes.
+
+ - Composite glyph loading has been simplified. This gets rid
+ of various artefacts where the components of a composite
+ glyphs were not correctly spaced.
+
+ These are the last changes to the current auto-hinting module.
+ A new hinting sub-system is currently in the work in order to
+ support native hints in Type 1 / CFF / OpenType fonts, as well
+ as globally improve rendering.
+
+ - The PCF driver has been fixed. It reported invalid glyph
+ dimensions for the fonts available on Solaris.
+
+ - The Type 1, CID and CFF drivers have been modified to fix the
+ computation of the EM size.
+
+ - The Type 1 driver has been fixed to avoid a dangerous bug that
+ crashed the library with non-conforming fonts (i.e. ones that do
+ not place the .notdef glyph at position 0).
+
+ - The TrueType driver had a rather subtle bug (dangling pointer
+ when loading composite glyphs) that could crash the library in
+ rare occasions!
+
+
+ II. HIGH-LEVEL API CHANGES
+
+ - The error code enumeration values have been changed. An error
+ value is decomposed in a generic error code, and a module
+ number. see <freetype/fterrors.h> for details.
+
+ - A new public header file has been introduced, named
+ FT_TRIGONOMETRY_H (include/freetype/fttrig.h), providing
+ trigonometric functions to compute sines, cosines, arctangents,
+ etc. with 16.16 fixed precision. The implementation is based on
+ the CORDIC algorithm and is very fast while being sufficiently
+ accurate.
+
+
+ III. INTERNALS
+
+ - Added BeOS-specific files in the old build sub-system. Note
+ that no changes were required to compile the library with Jam.
+
+ - The configuration is now capable of automatically detecting
+ 64-bit integers on a set of predefined compilers (GCC, Visual
+ C++, Borland C++) and will use them by default. This provides a
+ small performance boost.
+
+ - A small memory leak that happened when opening 0-sized files
+ (duh!) have been fixed.
+
+ - Fixed bezier stack depth bug in the routines provided by the
+ FT_BBOX_H header file. Also fixed similar bugs in the
+ rasterizers.
+
+ - The outline bounding box code has been rewritten to use direct
+ computations, instead of bezier sub-division, to compute the
+ exact bounding box of glyphs. This is slightly slower but more
+ accurate.
+
+ - The build system has been improved and fixed, mainly to support
+ `make' on Windows 2000 correctly, avoid problems with `make
+ distclean' on non Unix systems, etc.
+
+ - Hexadecimal constants have been suffixed with `U' to avoid
+ problems with certain compilers on 64-bit platforms.
+
+ - A new directory named `src/tools' has been created. It contains
+ Python scripts and simple unit test programs used to develop the
+ library.
+
+ - The DocMaker tool has been moved from `docs' to `src/tools' and
+ has been updated with the following:
+
+ - Now accepts the `--title=XXXX' or `-t XXXX' option from the
+ command line to set the project's name in the generated API
+ reference.
+
+ - Now accepts the `--output=DIR' or `-o DIR' option from the
+ command line to set the output directory for all generated
+ HTML files.
+
+ - Now accepts the `--prefix=XXXX' or `-p XXX' option from the
+ command line to set the file prefix to use for all
+ generated HTML files.
+
+ - Now generates the current time/data on each generated page
+ in order to distinguish between versions.
+
+ DocMaker can be used with other projects now, not only FT2
+ (e.g. MLib, FTLayout, etc.).
+
+
+======================================================================
+
+CHANGES BETWEEN 2.0.2 and 2.0.1
+
+ I. CHANGES TO THE MODULES / FONT DRIVERS
+
+ - THE TRUETYPE BYTECODE INTERPRETER IS NOW TURNED OFF, in order to
+ avoid legal problems with the Apple patents. It seems that we
+ mistakenly turned this option on in previous releases of the
+ build.
+
+ Note that if you want to use the bytecode interpreter in order
+ to get high-quality TrueType rendering, you will need to toggle
+ by hand the definition of the
+ TT_CONFIG_OPTION_BYTECODE_INTERPRETER macro in the file
+ `include/freetype/config/ftoption.h'.
+
+ - The CFF driver has been improved by Tom Kacvinsky and Sander van
+ der Wal:
+
+ * Support for `seac' emulation.
+ * Support for `dotsection'.
+ * Support for retrieving glyph names through
+ `FT_Get_Glyph_Name'.
+
+ The first two items are necessary to correctly a large number of
+ Type 1 fonts converted to the CFF formats by Adobe Acrobat.
+
+ - The Type 1 driver was also improved by Tom & others:
+
+ * Better EM size computation.
+ * Better support for synthetic (transformed) fonts.
+ * The Type 1 driver returns the charstrings corresponding to
+ each glyph in the `glyph->control_data' field after a call to
+ `FT_Load_Glyph' (thanks Ha Shao).
+
+ - Various other bugfixes, including the following:
+
+ * Fixed a nasty memory leak in the Type 1 driver.
+ * The autohinter and the pcf driver used static writable data
+ when they shouldn't.
+ * Many casts were added to make the code more 64-bits safe. It
+ also now compiles on Windows XP 64-bits without warnings.
+ * Some incorrect writable statics were removed in the `autohint'
+ and `pcf' drivers. FreeType 2 now compiles on Epoc again.
+
+
+ II. CHANGES TO THE HIGH-LEVEL API
+
+ - The library header files inclusion scheme has been changed. The
+ old scheme looked like:
+
+ #include <freetype/freetype.h>
+ #include <freetype/ftglyph.h>
+ #include <freetype/ftcache.h>
+ #include <freetype/cache/ftimage.h>
+
+ Now you should use:
+
+ #include <ft2build.h>
+ #include FT_FREETYPE_H
+ #include FT_GLYPH_H
+ #include FT_CACHE_H
+ #include FT_CACHE_IMAGE_H
+
+ NOTE THAT THE OLD INCLUSION SCHEME WILL STILL WORK WITH THIS
+ RELEASE. HOWEVER, WE DO NOT GUARANTEE THAT THIS WILL STILL BE
+ TRUE IN THE NEXT ONE (A.K.A. FREETYPE 2.1).
+
+ The file <ft2build.h> is used to define the header filename
+ macros. The complete and commented list of macros is available
+ in the API reference under the section name `Header File Macros'
+ in Chapter I.
+
+ For more information, see section I of the following document:
+
+ http://www.freetype.org/
+ freetype2/docs/tutorial/step1.html
+
+ or
+
+ http://freetype.sourceforge.net/
+ freetype2/docs/tutorial/step1.html
+
+ - Many, many comments have been added to the public source file in
+ order to automatically generate the API Reference through the
+ `docmaker.py' Python script.
+
+ The latter has been updated to support the grouping of sections
+ in chapters and better index sort. See:
+
+ http://www.freetype.org/freetype2/docs/reference/ft2-toc.html
+
+
+ III. CHANGES TO THE BUILD PROCESS
+
+ - If you are not building FreeType 2 with its own build system
+ (but with your own Makefiles or project files), you will need to
+ be aware that the build process has changed a little bit.
+
+ You don't need to put the `src' directory in the include path
+ when compiling any FT2 component. Instead, simply put the
+ component's directory in the current include path.
+
+ So, if you were doing something like:
+
+ cc -c -Iinclude -Isrc src/base/ftbase.c
+
+ change the line to:
+
+ cc -c -Iinclude -Isrc/base src/base/ftbase.c
+
+ If you were doing something like:
+
+ cd src/base
+ cc -c -I../../include -I.. ftbase.c
+
+ change it to:
+
+ cd src/base
+ cc -c -I../../include ftbase.c
+
+
+======================================================================
+
+CHANGES BETWEEN 2.0.1 and 2.0
+
+ 2.0.1 introduces a few changes:
+
+ - Fixed many bugs related to the support of CFF / OpenType fonts.
+ These formats are now much better supported though there is
+ still work planned to deal with charset tables and PDF-embedded
+ CFF files that use the old `seac' command.
+
+ - The library could not be compiled in debug mode with a very
+ small number of C compilers whose pre-processors didn't
+ implement the `##' directive correctly (i.e. per se the ANSI C
+ specification!) An elegant fix was found.
+
+ - Added support for the free Borland command-line C++ Builder
+ compiler. Use `make setup bcc32'. Also fixed a few source
+ lines that generated new warnings with BCC32.
+
+ - Fixed a bug in FT_Outline_Get_BBox when computing the extrema of
+ a conic Bezier arc.
+
+ - Updated the INSTALL file to add IDE compilation.
+
+ - Other minor bug fixes, from invalid Type 1 style flags to
+ correct support of synthetic (obliqued) fonts in the
+ auto-hinter, better support for embedded bitmaps in a SFNT font.
+
+ - Fixed some problems with `freetype-config'.
+
+ Finally, the `standard' scheme for including FreeType headers is now
+ gradually changing, but this will be explained in a later release
+ (probably 2.0.2).
+
+ And very special thanks to Tom Kacvinsky and YAMANO-UCHI Hidetoshi
+ for their contributions!
+
+
+======================================================================
+
+CHANGES BETWEEN beta8 and 2.0
+
+ - Changed the default installation path for public headers from
+ `include/freetype' to `include/freetype2'.
+
+ Also added a new `freetype-config' that is automatically generated
+ and installed on Unix and Cygwin systems. The script itself is
+ used to retrieve the current install path, C compilation flags as
+ well as linker flags.
+
+ - Fixed several small bugs:
+
+ * Incorrect max advance width for fixed-pitch Type 1 fonts.
+ * Incorrect glyph names for certain TrueType fonts.
+ * The glyph advance was not copied when FT_Glyph_To_Bitmap was
+ called.
+ * The linearHoriAdvance and linearVertAdvance fields were not
+ correctly returned for glyphs processed by the auto-hinter.
+ * `type1z' renamed back to `type1'; the old `type1' module has
+ been removed.
+
+ - Revamped the build system to make it a lot more generic. This
+ will allow us to re-use nearly un-modified in lots of other
+ projects (including FreeType Layout).
+
+ - Changed `cid' to use `psaux' too.
+
+ - Added the cache sub-system. See <freetype/ftcache.h> as well as
+ the sources in `src/cache'. Note that it compiles but is still
+ untested for now.
+
+ - Updated `docs/docmaker.py', a draft API reference is available at
+ http://www.freetype.org/ft2api.html.
+
+ - Changed `type1' to use `psaux'.
+
+ - Created a new module named `psaux' to hold the Type 1 & Type 2
+ parsing routines. It should be used by `type1', `cid', and `cff'
+ in the future.
+
+ - Fixed an important bug in `FT_Glyph_Get_CBox'.
+
+ - Fixed some compiler warnings that happened since the TrueType
+ bytecode decoder was deactivated by default.
+
+ - Fixed two memory leaks:
+
+ * The memory manager (16 bytes) isn't released in
+ FT_Done_FreeType!
+ * Using custom input streams, the copy of the original stream was
+ never released.
+
+ - Fixed the auto-hinter by performing automatic computation of the
+ `filling direction' of each glyph. This is done through a simple
+ and fast approximation, and seems to work (problems spotted by
+ Werner though). The Arphic fonts are a lot nicer though there are
+ still a lot of things to do to handle Asian fonts correctly.
+
+
+======================================================================
+
+BETA-8 (RELEASE CANDIDATE) CHANGES
+
+ - Deactivated the TrueType bytecode interpreter by default.
+
+ - Deactivated the `src/type1' font driver. Now `src/type1z' is used
+ by default.
+
+ - Updates to the build system. We now compile the library correctly
+ under Unix system through `configure' which is automatically
+ called on the first `make' invocation.
+
+ - Added the auto-hinting module! Fixing some bugs here and there.
+
+ - Found some bugs in the composite loader (seac) of the Type1-based
+ font drivers.
+
+ - Renamed the directory `freetype2/config' to `freetype2/builds' and
+ updated all relevant files.
+
+ - Found a memory leak in the `type1' driver.
+
+ - Incorporated Tom's patches to support flex operators correctly in
+ OpenType/CFF fonts. Now all I need is to support pure CFF and CEF
+ fonts to be done with this driver :-)
+
+ - Added the Windows FNT/FON driver in `src/winfonts'. For now, it
+ always `simulates' a Unicode charmap, so it shouldn't be
+ considered completed right now.
+
+ It is there to be more a proof of concept than anything else
+ anyway. The driver is a single C source file, that compiles to 3
+ Kb of code.
+
+ I'm still working on the PCF/BDF drivers, but I'm too lazy to
+ finish them now.
+
+ - CHANGES TO THE HIGH-LEVEL API
+
+ * FT_Get_Kerning has a new parameter that allows you to select the
+ coordinates of the kerning vector (font units, scaled, scaled +
+ grid-fitted).
+ * The outline functions are now in <freetype/ftoutln.h> and not
+ part of <freetype/freetype.h> anymore.
+ * <freetype/ftmodule.h> now contains declarations for
+ FT_New_Library, FT_Done_Library, FT_Add_Default_Modules.
+ * The so-called convenience functions have moved from `ftoutln.c'
+ to `ftglyph.c', and are thus available with this optional
+ component of the library. They are declared in
+ <freetype/ftglyph.h> now.
+ * Anti-aliased rendering is now the default for FT_Render_Glyph
+ (i.e. corresponds to render_mode == 0 == ft_render_mode_normal).
+ To generate a monochrome bitmap, use ft_render_mode_mono, or the
+ FT_LOAD_MONOCHROME flag in FT_Load_Glyph/FT_Load_Char.
+ FT_LOAD_ANTI_ALIAS is still defined, but values to 0.
+ * <freetype/freetype.h> now include <freetype/config/ftconfig.h>,
+ solving a few headaches :-)
+ * The type FT_GlyphSlotRec has now a `library' field.
+
+ - CHANGES TO THE `ftglyph.h' API
+
+ This API has been severely modified in order to make it simpler,
+ clearer, and more efficient. It certainly now looks like a real
+ `glyph factory' object, and allows client applications to manage
+ (i.e. transform, bbox and render) glyph images without ever
+ knowing their original format.
+
+ - Added support for CID-keyed fonts to the CFF driver. Maybe
+ support for pure CFF + CEF fonts should come in?
+
+ - Cleaned up source code in order to avoid two functions with the
+ same name. Also changed the names of the files in `type1z' from
+ `t1XXXX' to `z1XXXX' in order to avoid any conflicts.
+
+ `make multi' now works well :-)
+
+ Also removed the use of `cidafm' for now, even if the source files
+ are still there. This functionality will certainly go into a
+ specific module.
+
+ - ADDED SUPPORT FOR THE AUTO-HINTER
+
+ It works :-) I have a demo program which simply is a copy of
+ `ftview' that does a `FT_Add_Module(library,
+ &autohinter_module_class)' after library initialization, and Type
+ 1 & OpenType/CFF fonts are now hinted.
+
+ CID fonts are not hinted, as they include no charmap and the
+ auto-hinter doesn't include `generic' global metrics computations
+ yet.
+
+ Now, I need to release this thing to the FreeType 2 source.
+
+ - CHANGES TO THE RENDERER MODULES
+
+ The monochrome and smooth renderers are now in two distinct
+ directories, namely `src/raster1' and `src/smooth'. Note that the
+ old `src/renderer' is now gone.
+
+ I ditched the 5-gray-levels renderers. Basically, it involved a
+ simple #define toggle in 'src/raster1/ftraster.c'.
+
+ FT_Render_Glyph, FT_Outline_Render & FT_Outline_Get_Bitmap now
+ select the best renderer available, depending on render mode. If
+ the current renderer for a given glyph image format isn't capable
+ of supporting the render mode, another one will be found in the
+ library's list. This means that client applications do not need
+ to switch or set the renderers themselves (as in the latest
+ change), they'll get what they want automatically. At last.
+
+ Changed the demo programs accordingly.
+
+ - MAJOR INTERNAL REDESIGN:
+
+ A lot of internal modifications have been performed lately on the
+ source in order to provide the following enhancements:
+
+ * More generic module support:
+
+ The FT_Module type is now defined to represent a handle to a
+ given module. The file <freetype/ftmodule.h> contains the
+ FT_Module_Class definition, as well as the module-loading public
+ API.
+
+ The FT_Driver type is still defined, and still represents a
+ pointer to a font driver. Note that FT_Add_Driver is replaced
+ by FT_Add_Module, FT_Get_Driver by FT_Get_Module, etc.
+
+ * Support for generic glyph image types:
+
+ The FT_Renderer type is a pointer to a module used to perform
+ various operations on glyph image.
+
+ Each renderer is capable of handling images in a single format
+ (e.g. ft_glyph_format_outline). Its functions are used to:
+
+ - transform an glyph image
+ - render a glyph image into a bitmap
+ - return the control box (dimensions) of a given glyph image
+
+ The scan converters `ftraster.c' and `ftgrays.c' have been moved
+ to the new directory `src/renderer', and are used to provide two
+ default renderer modules.
+
+ One corresponds to the `standard' scan-converter, the other to
+ the `smooth' one.
+
+ he current renderer can be set through the new function
+ FT_Set_Renderer.
+
+ The old raster-related function FT_Set_Raster, FT_Get_Raster and
+ FT_Set_Raster_Mode have now disappeared, in favor of the new:
+
+ FT_Get_Renderer
+ FT_Set_Renderer
+
+ See the file <freetype/ftrender.h> for more details.
+
+ These changes were necessary to properly support different
+ scalable formats in the future, like bi-color glyphs, etc.
+
+ * Glyph loader object:
+
+ A new internal object, called a 'glyph loader' has been
+ introduced in the base layer. It is used by all scalable format
+ font drivers to load glyphs and composites.
+
+ This object has been created to reduce the code size of each
+ driver, as each one of them basically re-implemented its
+ functionality.
+
+ See <freetype/internal/ftobjs.h> and the FT_GlyphLoader type for
+ more information.
+
+ * FT_GlyphSlot has new fields:
+
+ In order to support extended features (see below), the
+ FT_GlyphSlot structure has a few new fields:
+
+ linearHoriAdvance:
+
+ This field gives the linearly scaled (i.e. scaled but
+ unhinted) advance width for the glyph, expressed as a 16.16
+ fixed pixel value. This is useful to perform WYSIWYG text.
+
+ linearVertAdvance:
+ This field gives the linearly scaled advance height for the
+ glyph (relevant in vertical glyph layouts only). This is
+ useful to perform WYSIWYG text.
+
+ Note that the two above field replace the removed `metrics2'
+ field in the glyph slot.
+
+ advance:
+ This field is a vector that gives the transformed advance for
+ the glyph. By default, it corresponds to the advance width,
+ unless FT_LOAD_VERTICAL_LAYOUT was specified when calling
+ FT_Load_Glyph or FT_Load_Char.
+
+ bitmap_left:
+ This field gives the distance in integer pixels from the
+ current pen position to the left-most pixel of a glyph image
+ IF IT IS A BITMAP. It is only valid when the `format' field
+ is set to `ft_glyph_format_bitmap', for example, after calling
+ the new function FT_Render_Glyph.
+
+ bitmap_top:
+ This field gives the distance in integer pixels from the
+ current pen position (located on the baseline) to the top-most
+ pixel of the glyph image IF IT IS A BITMAP. Positive values
+ correspond to upwards Y.
+
+ loader:
+ This is a new private field for the glyph slot. Client
+ applications should not touch it.
+
+
+ * Support for transforms and direct rendering in FT_Load_Glyph:
+
+ Most of the functionality found in <freetype/ftglyph.h> has been
+ moved to the core library. Hence, the following:
+
+ - A transform can be specified for a face through
+ FT_Set_Transform. this transform is applied by FT_Load_Glyph
+ to scalable glyph images (i.e. NOT TO BITMAPS) before the
+ function returns, unless the bit flag FT_LOAD_IGNORE_TRANSFORM
+ was set in the load flags.
+
+ - Once a glyph image has been loaded, it can be directly
+ converted to a bitmap by using the new FT_Render_Glyph
+ function. Note that this function takes the glyph image from
+ the glyph slot, and converts it to a bitmap whose properties
+ are returned in `face.glyph.bitmap', `face.glyph.bitmap_left'
+ and `face.glyph.bitmap_top'. The original native image might
+ be lost after the conversion.
+
+ - When using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph
+ and FT_Load_Char functions will call FT_Render_Glyph
+ automatically when needed.
+
+ - Reformatted all modules source code in order to get rid of the
+ basic data types redifinitions (i.e. `TT_Int' instead of `FT_Int',
+ `T1_Fixed' instead of `FT_Fixed'). Hence the format-specific
+ prefixes like `TT_', `T1_', `T2_' and `CID_' are only used for
+ relevant structures.
+
+
+======================================================================
+
+OLD CHANGES FOR BETA 7
+
+ - bug-fixed the OpenType/CFF parser. It now loads and displays my
+ two fonts nicely, but I'm pretty certain that more testing is
+ needed :-)
+
+ - fixed the crummy Type 1 hinter, it now handles accented characters
+ correctly (well, the accent is not always well placed, but that's
+ another problem..)
+
+ - added the CID-keyed Type 1 driver in `src/cid'. Works pretty well
+ for only 13 Kb of code ;-) Doesn't read AFM files though, nor the
+ really useful CMAP files..
+
+ - fixed two bugs in the smooth renderer (src/base/ftgrays.c).
+ Thanks to Boris Letocha for spotting them and providing a fix.
+
+ - fixed potential `divide by zero' bugs in ftcalc.c.
+
+ - added source code for the OpenType/CFF driver (still incomplete
+ though..)
+
+ - modified the SFNT driver slightly to perform more robust header
+ checks in TT_Load_SFNT_Header. This prevents certain font files
+ (e.g. some Type 1 Multiple Masters) from being incorrectly
+ `recognized' as TrueType font files..
+
+ - moved a lot of stuff from the TrueType driver to the SFNT module,
+ this allows greater code re-use between font drivers
+ (e.g. TrueType, OpenType, Compact-TrueType, etc..)
+
+ - added a tiny segment cache to the SFNT Charmap 4 decoder, in order
+ to minimally speed it up..
+
+ - added support for Multiple Master fonts in `type1z'. There is
+ also a new file named <freetype/ftmm.h> which defines functions to
+ manage them from client applications.
+
+ The new file `src/base/ftmm.c' is also optional to the engine..
+
+ - various formatting changes (e.g. EXPORT_DEF -> FT_EXPORT_DEF) +
+ small bug fixes in FT_Load_Glyph, the `type1' driver, etc..
+
+ - a minor fix to the Type 1 driver to let them apply the font matrix
+ correctly (used for many oblique fonts..)
+
+ - some fixes for 64-bit systems (mainly changing some FT_TRACE calls
+ to use %p instead of %lx). Thanks to Karl Robillard.
+
+ - fixed some bugs in the sbit loader (src/base/sfnt/ttsbit.c) +
+ added a new flag, FT_LOAD_CROP_BITMAP to query that bitmaps be
+ cropped when loaded from a file (maybe I should move the bitmap
+ cropper to the base layer ??).
+
+ - changed the default number of gray levels of the smooth renderer
+ to 256 (instead of the previous 128). Of course, the human eye
+ can't see any difference ;-)
+
+ - removed TT_MAX_SUBGLYPHS, there is no static limit on the number
+ of subglyphs in a TrueType font now..
+
+
+======================================================================
+
+OLD CHANGES 16 May 2000
+
+ - tagged `BETA-6' in the CVS tree. This one is a serious release
+ candidate even though it doesn't incorporate the auto-hinter yet..
+
+ - various obsolete files were removed, and copyright header updated
+
+ - finally updated the standard raster to fix the monochrome
+ rendering bug + re-enable support for 5-gray levels anti-aliasing
+ (suck, suck..)
+
+ - created new header files, and modified sources accordingly:
+
+ <freetype/fttypes.h>
+ - simple FreeType types, without the API
+ <freetype/internal/ftmemory.h>
+ - definition of memory-management macros
+
+ - added the `DSIG' (OpenType Digital Signature) tag to
+ <freetype/tttags.h>
+
+ - light update/cleaning of the build system + changes to the sources
+ in order to get rid of _all_ compiler warnings with three
+ compilers, i.e:
+
+ gcc with `-ansi -pedantic -Wall -W', Visual C++ with `/W3 /WX' and
+ LCC
+
+ IMPORTANT NOTE FOR WIN32-LCC USERS:
+ |
+ | It seems the C pre-processor that comes with LCC is broken, it
+ | doesn't recognize the ANSI standard directives # and ##
+ | correctly when one of the argument is a macro. Also,
+ | something like:
+ |
+ | #define F(x) print##x
+ |
+ | F(("hello"))
+ |
+ | will get incorrectly translated to:
+ |
+ | print "hello")
+ |
+ | by its pre-processor. For this reason, you simply cannot build
+ | FreeType 2 in debug mode with this compiler..
+
+ - yet another massive grunt work. I've changed the definition of
+ the EXPORT_DEF, EXPORT_FUNC, BASE_DEF & BASE_FUNC macros. These
+ now take an argument, which is the function's return value type.
+
+ This is necessary to compile FreeType as a DLL on Windows and
+ OS/2. Depending on the compiler used, a compiler-specific keyword
+ like __export or __system must be placed before (VisualC++) or
+ after (BorlandC++) the type..
+
+ Of course, this needed a lot of changes throughout the source code
+ to make it compile again... All cleaned up now, apparently..
+
+ Note also that there is a new EXPORT_VAR macro defined to allow
+ the _declaration_ of an exportable public (constant)
+ variable. This is the case of the raster interfaces (see
+ ftraster.h and ftgrays.h), as well as each module's interface (see
+ sfdriver.h, psdriver.h, etc..)
+
+ - new feature: it is now possible to pass extra parameters to font
+ drivers when creating a new face object. For now,
+ this capability is unused. It could however prove to
+ be useful in a near future..
+
+ the FT_Open_Args structure was changes, as well as the internal
+ driver interface (the specific `init_face' module function has
+ now a different signature).
+
+ - updated the tutorial (not finished though).
+
+ - updated the top-level BUILD document
+
+ - fixed a potential memory leak that could occur when loading
+ embedded bitmaps.
+
+ - added the declaration of FT_New_Memory_Face in
+ <freetype/freetype.h>, as it was missing from the public header
+ (the implementation was already in `ftobjs.c').
+
+ - the file <freetype/fterrors.h> has been seriously updated in order
+ to allow the automatic generation of error message tables. See
+ the comments within it for more information.
+
+ - major directory hierarchy re-organisation. This was done for two
+ things:
+
+ * first, to ease the `manual' compilation of the library by
+ requiring at lot less include paths :-)
+
+ * second, to allow external programs to effectively access
+ internal data fields. For example, this can be extremely
+ useful if someone wants to write a font producer or a font
+ manager on top of FreeType.
+
+ Basically, you should now use the 'freetype/' prefix for header
+ inclusion, as in:
+
+ #include <freetype/freetype.h>
+ #include <freetype/ftglyph.h>
+
+ Some new include sub-directories are available:
+
+ a. the `freetype/config' directory, contains two files used to
+ configure the build of the library. Client applications
+ should not need to look at these normally, but they can if
+ they want.
+
+ #include <freetype/config/ftoption.h>
+ #include <freetype/config/ftconfig.h>
+
+ b. the `freetype/internal' directory, contains header files that
+ describes library internals. These are the header files that
+ were previously found in the `src/base' and `src/shared'
+ directories.
+
+
+ As usual, the build system and the demos have been updated to
+ reflect the change..
+
+ Here's a layout of the new directory hierarchy:
+
+ TOP_DIR
+ include/
+ freetype/
+ freetype.h
+ ...
+ config/
+ ftoption.h
+ ftconfig.h
+ ftmodule.h
+
+ internal/
+ ftobjs.h
+ ftstream.h
+ ftcalc.h
+ ...
+
+ src/
+ base/
+ ...
+
+ sfnt/
+ psnames/
+ truetype/
+ type1/
+ type1z/
+
+
+ Compiling a module is now much easier, for example, the following
+ should work when in the TOP_DIR directory on an ANSI build:
+
+ gcc -c -I./include -I./src/base src/base/ftbase.c
+ gcc -c -I./include -I./src/sfnt src/sfnt/sfnt.c
+ etc..
+
+ (of course, using -Iconfig/<system> if you provide system-specific
+ configuration files).
+
+ - updated the structure of FT_Outline_Funcs in order to allow direct
+ coordinate scaling within the outline decomposition routine (this
+ is important for virtual `on' points with TrueType outlines) +
+ updates to the rasters to support this..
+
+ - updated the OS/2 table loading code in `src/sfnt/ttload.c' in
+ order to support version 2 of the table (see OpenType 1.2 spec)
+
+ - created `include/tttables.h' and `include/t1tables.h' to allow
+ client applications to access some of the SFNT and T1 tables of a
+ face with a procedural interface (see `FT_Get_Sfnt_Table') +
+ updates to internal source files to reflect the change..
+
+ - some cleanups in the source code to get rid of warnings when
+ compiling with the `-Wall -W -ansi -pedantic' options in gcc.
+
+ - debugged and moved the smooth renderer to `src/base/ftgrays.c' and
+ its header to `include/ftgrays.h'
+
+ - updated TT_MAX_SUBGLYPHS to 96 as some CJK fonts have composites
+ with up to 80 sub-glyphs !! Thanks to Werner
+
+
+======================================================================
+
+OLD CHANGES - 14-apr-2000
+
+ - fixed a bug in the TrueType glyph loader that prevented the
+ correct loading of some CJK glyphs in mingli.ttf
+
+ - improved the standard Type 1 hinter in `src/type1'
+
+ - fixed two bugs in the experimental Type 1 driver in `src/type1z'
+ to handle the new XFree86 4.0 fonts (and a few other ones..)
+
+ - the smooth renderer is now complete and supports sub-banding to
+ render large glyphs at high speed. However, it is still located
+ in `demos/src/ftgrays.c' and should move to the library itself in
+ the next beta. NOTE: The smooth renderer doesn't compile in
+ stand-alone mode anymore, but this should be fixed RSN..
+
+ - introduced convenience functions to more easily deal with glyph
+ images, see `include/ftglyph.h' for more details, as well as the
+ new demo program named `demos/src/ftstring.c' that demonstrates
+ its use
+
+ - implemented FT_LOAD_NO_RECURSE in both the TrueType and Type 1
+ drivers (this is required by the auto-hinter to improve its
+ results).
+
+ - changed the raster interface, in order to allow client
+ applications to provide their own span-drawing callbacks.
+ However, only the smooth renderer supports this. See
+ `FT_Raster_Params' in the file `include/ftimage.h'.
+
+ - fixed a small bug in FT_MulFix that caused incorrect transform
+ computation!
+
+ - Note: The tutorial is out-of-date.
+
+
+======================================================================
+
+OLD CHANGES - 12-mar-2000
+
+ - changed the layout of configuration files : now, all ANSI
+ configuration files are located in
+ `freetype2/config'. System-specific over-rides can be placed in
+ `freetype2/config/<system>'.
+
+ - moved all configuration macros to `config/ftoption.h'
+
+ - improvements in the Type 1 driver with AFM support
+
+ - changed the fields in the FT_Outline structure : the old `flags'
+ array is re-named `tags', while all ancient flags are encoded into
+ a single unsigned int named `flags'.
+
+ - introduced new flags in FT_Outline.flags (see
+ ft_outline_.... enums in `ftimage.h').
+
+ - changed outline functions to `FT_Outline_<action>' syntax
+
+ - added a smooth anti-alias renderer to the demonstration programs
+
+ - added Mac graphics driver (thanks Just)
+
+ - FT_Open_Face changed in order to received a pointer to a
+ FT_Open_Args descriptor..
+
+ - various cleanups, a few more API functions implemented (see
+ FT_Attach_File)
+
+ - updated some docs
+
+
+======================================================================
+
+OLD CHANGES - 22-feb-2000
+
+ - introduced the `psnames' module. It is used to:
+
+ o convert a Postscript glyph name into the equivalent Unicode
+ character code (used by the Type 1 driver(s) to synthesize on
+ the fly a Unicode charmap).
+
+ o provide an interface to retrieve the Postscript names of the
+ Macintosh, Adobe Standard & Adobe Expert character codes.
+ (the Macintosh names are used by the SFNT-module postscript
+ names support routines, while the other two tables are used by
+ the Type 1 driver(s)).
+
+ - introduced the `type1z' alternate Type 1 driver. This is a (still
+ experimental) driver for the Type 1 format that will ultimately
+ replace the one in `src/type1'. It uses pattern matching to load
+ data from the font, instead of a finite state analyzer. It works
+ much better than the `old' driver with `broken' fonts. It is also
+ much smaller (under 15 Kb).
+
+ - the Type 1 drivers (both in `src/type1' and `src/type1z') are
+ nearly complete. They both provide automatic Unicode charmap
+ synthesis through the `psnames' module. No re-encoding vector is
+ needed. (note that they still leak memory due to some code
+ missing, and I'm getting lazy).
+
+ Trivial AFM support has been added to read kerning information but
+ wasn't exactly tested as it should ;-)
+
+ - The TrueType glyph loader has been seriously rewritten (see the
+ file `src/truetype/ttgload.c'. It is now much, much simpler as
+ well as easier to read, maintain and understand :-) Preliminary
+ versions introduced a memory leak that has been reported by Jack
+ Davis, and is now fixed..
+
+ - introduced the new `ft_glyph_format_plotter', used to represent
+ stroked outlines like Windows `Vector' fonts, and certain Type 1
+ fonts like `Hershey'. The corresponding raster will be written
+ soon.
+
+ - FT_New_Memory_Face is gone. Likewise, FT_Open_Face has a new
+ interface that uses a structure to describe the input stream, the
+ driver (if required), etc..
+
+
+TODO
+
+ - Write FT_Get_Glyph_Bitmap and FT_Load_Glyph_Bitmap
+
+ - Add a function like FT_Load_Character(face, char_code, load_flags)
+ that would really embed a call to FT_Get_Char_Index then
+ FT_Load_Glyph to ease developer's work.
+
+ - Update the tutorial!
+
+ - consider adding support for Multiple Master fonts in the Type 1
+ drivers.
+
+ - Test the AFM routines of the Type 1 drivers to check that kerning
+ information is returned correctly.
+
+ - write a decent auto-gridding component !! We need this to release
+ FreeType 2.0 gold !
+
+
+less urgent needs:
+
+ - add a CFF/Type2 driver
+ - add a BDF driver
+ - add a FNT/PCF/HBF driver
+ - add a Speedo driver from the X11 sources
+
+
+======================================================================
+
+OLDER CHANGES - 27-jan-2000
+
+ - updated the `sfnt' module interface to allow several SFNT-based
+ drivers to co-exist peacefully
+
+ - updated the `T1_Face' type to better separate Postscript font
+ content from the rest of the FT_Face structure. Might be used
+ later by the CFF/Type2 driver..
+
+ - added an experimental replacement Type 1 driver featuring advanced
+ (and speedy) pattern matching to retrieve the data from postscript
+ fonts.
+
+ - very minor changes in the implementation of FT_Set_Char_Size and
+ FT_Set_Pixel_Sizes (they now implement default to lighten the font
+ driver's code).
+
+
+======================================================================
+
+OLD MESSAGE
+
+This file summarizes the changes that occurred since the last `beta'
+of FreeType 2. Because the list is important, it has been divided into
+separate sections:
+
+Table Of Contents:
+
+ I High-Level Interface (easier !)
+ II Directory Structure
+ III Glyph Image Formats
+ IV Build System
+ V Portability
+ VI Font Drivers
+
+
+----------------------------------------------------------------------
+
+High-Level Interface:
+
+ The high-level API has been considerably simplified. Here is how:
+
+ - resource objects have disappeared. this means that face objects
+ can now be created with a single function call (see FT_New_Face
+ and FT_Open_Face)
+
+ - when calling either FT_New_Face & FT_Open_Face, a size object
+ and a glyph slot object are automatically created for the face,
+ and can be accessed through `face->glyph' and `face->size' if
+ one really needs to. In most cases, there's no need to call
+ FT_New_Size or FT_New_Glyph.
+
+ - similarly, FT_Load_Glyph now only takes a `face' argument
+ (instead of a glyph slot and a size). Also, its `result'
+ parameter is gone, as the glyph image type is returned in the
+ field `face->glyph.format'
+
+ - the list of available charmaps is directly accessible through
+ `face->charmaps', counting `face->num_charmaps' elements. Each
+ charmap has an 'encoding' field which specifies which known
+ encoding it deals with. Valid values are, for example:
+
+ ft_encoding_unicode (for ASCII, Latin-1 and Unicode)
+ ft_encoding_apple_roman
+ ft_encoding_sjis
+ ft_encoding_adobe_standard
+ ft_encoding_adobe_expert
+
+ other values may be added in the future. Each charmap still
+ holds its `platform_id' and `encoding_id' values in case the
+ encoding is too exotic for the current library
+
+
+----------------------------------------------------------------------
+
+Directory Structure:
+
+ Should seem obvious to most of you:
+
+ freetype/
+ config/ -- configuration sub-makefiles
+ ansi/
+ unix/ -- platform-specific configuration files
+ win32/
+ os2/
+ msdos/
+
+ include/ -- public header files, those to be included
+ directly by client apps
+
+ src/ -- sources of the library
+ base/ -- the base layer
+ sfnt/ -- the sfnt `driver' (see the drivers section
+ below)
+ truetype/ -- the truetype driver
+ type1/ -- the type1 driver
+ shared/ -- some header files shared between drivers
+
+ demos/ -- demos/tools
+
+ docs/ -- documentation (a bit empty for now)
+
+
+----------------------------------------------------------------------
+
+Glyph Image Formats:
+
+ Drivers are now able to register new glyph image formats within the
+ library. For now, the base layer supports of course bitmaps and
+ vector outlines, but one could imagine something different like
+ colored bitmaps, bi-color vectors or whatever else (Metafonts anyone
+ ??).
+
+ See the file `include/ftimage.h'. Note also that the type
+ FT_Raster_Map is gone, and is now replaced by FT_Bitmap, which
+ should encompass all known bitmap types.
+
+ Each new image format must provide at least one `raster', i.e. a
+ module capable of transforming the glyph image into a bitmap. It's
+ also possible to change the default raster used for a given glyph
+ image format.
+
+ The default outline scan-converter now uses 128 levels of grays by
+ default, which tends to smooth many things. Note that the demo
+ programs have been updated significantly in order to display these..
+
+
+----------------------------------------------------------------------
+
+Build system:
+
+ You still need GNU Make to build the library. The build system has
+ been very seriously re-vamped in order to provide things like :
+
+ - automatic host platform detection (reverting to 'config/ansi' if
+ it is not detected, with pseudo-standard compilation flags)
+
+ - the ability to compile from the Makefiles with very different and
+ exotic compilers. Note that linking the library can be difficult
+ for some platforms.
+
+ For example, the file `config/win32/lcclib.bat' is invoked by the
+ build system to create the `.lib' file with LCC-Win32 because its
+ librarian has too many flaws to be invoked directly from the
+ Makefile.
+
+ Here's how it works:
+
+ - the first time you type `make', the build system runs a series of
+ sub-makefiles in order to detect your host platform. It then
+ dumps what it found, and creates a file called `config.mk' in the
+ current directory. This is a sub-Makefile used to define many
+ important Make variables used to build the library.
+
+ - the second time, the build system detects the `config.mk' then use
+ it to build the library. All object files go into 'obj' by
+ default, as well as the library file, but this can easily be
+ changed.
+
+ Note that you can run `make setup' to force another host platform
+ detection even if a `config.mk' is present in the current
+ directory. Another solution is simply to delete the file, then
+ re-run make.
+
+ Finally, the default compiler for all platforms is gcc (for now,
+ this will hopefully changed in the future). You can however specify
+ a different compiler by specifying it after the 'setup' target as
+ in:
+
+ gnumake setup lcc on Win32 to use the LCC compiler
+ gnumake setup visualc on Win32 to use Visual C++
+
+ See the file `config/<system>/detect.mk' for a list of supported
+ compilers for your platforms.
+
+ It should be relatively easy to write new detection rules files and
+ config.mk..
+
+ Finally, to build the demo programs, go to `demos' and launch GNU
+ Make, it will use the `config.mk' in the top directory to build the
+ test programs..
+
+
+----------------------------------------------------------------------
+
+Portability:
+
+ In the previous beta, a single FT_System object was used to
+ encompass all low-level operations like thread synchronisation,
+ memory management and i/o access. This has been greatly simplified:
+
+ - thread synchronisation has been dropped, for the simple reason
+ that the library is already re-entrant, and that if you really
+ need two threads accessing the same FT_Library, you should
+ really synchronize access to it yourself with a simple mutex.
+
+ - memory management is performed through a very simple object
+ called `FT_Memory', which really is a table containing a table
+ of pointers to functions like malloc, realloc and free as well
+ as some user data (closure).
+
+ - resources have disappeared (they created more problems than they
+ solved), and i/o management have been simplified greatly as a
+ result. Streams are defined through FT_Stream objects, which
+ can be either memory-based or disk-based.
+
+ Note that each face has its own stream, which is closed only
+ when the face object is destroyed. Hence, a function like
+ TT_Flush_Face in 1.x cannot be directly supported. However, if
+ you really need something like this, you can easily tailor your
+ own streams to achieve the same feature at a lower level (and
+ use FT_Open_Face instead of FT_New_Face to create the face).
+
+ See the file `include/ftsystem.h' for more details, as well as the
+ implementations found in `config/unix' and `config/ansi'.
+
+
+----------------------------------------------------------------------
+
+Font Drivers:
+
+ The Font Driver interface has been modified in order to support
+ extensions & versioning.
+
+
+ The list of the font drivers that are statically linked to the
+ library at compile time is managed through a new configuration file
+ called `config/<platform>/ftmodule.h'.
+
+ This file is autogenerated when invoking `make modules'. This
+ target will parse all sub-directories of 'src', looking for a
+ `module.mk' rules file, used to describe the driver to the build
+ system.
+
+ Hence, one should call `make modules' each time a font driver is
+ added or removed from the `src' directory.
+
+ Finally, this version provides a `pseudo-driver' in `src/sfnt'.
+ This driver doesn't support font files directly, but provides
+ services used by all TrueType-like font drivers. Hence, its code is
+ shared between the TrueType & OpenType font formats, and possibly
+ more formats to come if we're lucky..
+
+
+----------------------------------------------------------------------
+
+Extensions support:
+
+ The extensions support is inspired by the one found in 1.x.
+
+ Now, each font driver has its own `extension registry', which lists
+ which extensions are available for the font faces managed by the
+ driver.
+
+ Extension ids are now strings, rather than 4-byte tags, as this is
+ usually more readable.
+
+ Each extension has:
+ - some data, associated to each face object
+ - an interface (table of function pointers)
+
+ An extension that is format-specific should simply register itself
+ to the correct font driver. Here is some example code:
+
+ // Registering an extensions
+ //
+ FT_Error FT_Init_XXXX_Extension( FT_Library library )
+ {
+ FT_DriverInterface* tt_driver;
+
+ driver = FT_Get_Driver( library, "truetype" );
+ if (!driver) return FT_Err_Unimplemented_Feature;
+
+ return FT_Register_Extension( driver, &extension_class );
+ }
+
+
+ // Implementing the extensions
+ //
+ FT_Error FT_Proceed_Extension_XXX( FT_Face face )
+ {
+ FT_XXX_Extension ext;
+ FT_XXX_Extension_Interface ext_interface;
+
+ ext = FT_Get_Extension( face, "extensionid", &ext_interface );
+ if (!ext) return error;
+
+ return ext_interface->do_it(ext);
+ }
+
+------------------------------------------------------------------------
+
+Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
+accept it fully.
+
+
+Local Variables:
+version-control: never
+coding: utf-8
+End:
+
+--- end of CHANGES ---
diff --git a/components/external/freetype/docs/CUSTOMIZE b/components/external/freetype/docs/CUSTOMIZE
index cdceb270fb..7d7d474ec0 100644
--- a/components/external/freetype/docs/CUSTOMIZE
+++ b/components/external/freetype/docs/CUSTOMIZE
@@ -1,150 +1,150 @@
-How to customize the compilation of the library
-===============================================
-
- FreeType is highly customizable to fit various needs, and this
- document describes how it is possible to select options and
- components at compilation time.
-
-
-I. Configuration macros
-
- The file found in `include/freetype/config/ftoption.h' contains a
- list of commented configuration macros that can be toggled by
- developers to indicate which features should be active while
- building the library.
-
- These options range from debug level to availability of certain
- features, like native TrueType hinting through a bytecode
- interpreter.
-
- We invite you to read this file for more information. You can
- change the file's content to suit your needs, or override it with
- one of the techniques described below.
-
-
-II. Modules list
-
- If you use GNU make please edit the top-level file `modules.cfg'.
- It contains a list of available FreeType modules and extensions to
- be compiled. Change it to suit your own preferences. Be aware that
- certain modules depend on others, as described in the file. GNU
- make uses `modules.cfg' to generate `ftmodule.h' (in the object
- directory).
-
- If you don't use GNU make you have to manually edit the file
- `include/freetype/config/ftmodule.h' (which is *not* used with if
- compiled with GNU make) to add or remove the drivers and components
- you want to compile into the library. See `INSTALL.ANY' for more
- information.
-
-
-III. System interface
-
- FreeType's default interface to the system (i.e., the parts that
- deal with memory management and i/o streams) is located in
- `src/base/ftsystem.c'.
-
- The current implementation uses standard C library calls to manage
- memory and to read font files. It is however possible to write
- custom implementations to suit specific systems.
-
- To tell the GNU Make-based build system to use a custom system
- interface, you have to define the environment variable FTSYS_SRC to
- point to the relevant implementation:
-
- on Unix:
-
- ./configure <your options>
- export FTSYS_SRC=foo/my_ftsystem.c
- make
- make install
-
- on Windows:
-
- make setup <compiler>
- set FTSYS_SRC=foo/my_ftsystem.c
- make
-
-
-IV. Overriding default configuration and module headers
-
- It is possible to override the default configuration and module
- headers without changing the original files. There are three ways
- to do that:
-
-
- 1. With GNU make
-
- [This is actually a combination of method 2 and 3.]
-
- Just put your custom `ftoption.h' file into the objects directory
- (normally `<topdir>/objs'), which GNU make prefers over the
- standard location. No action is needed for `ftmodule.h' because
- it is generated automatically in the objects directory.
-
-
- 2. Using the C include path
-
- Use the C include path to ensure that your own versions of the
- files are used at compile time when the lines
-
- #include FT_CONFIG_OPTIONS_H
- #include FT_CONFIG_MODULES_H
-
- are compiled. Their default values being
- <freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
- can do something like:
-
- custom/
- freetype/
- config/
- ftoption.h => custom options header
- ftmodule.h => custom modules list
-
- include/ => normal FreeType 2 include
- freetype/
- ...
-
- then change the C include path to always give the path to `custom'
- before the FreeType 2 `include'.
-
-
- 3. Redefining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
-
- Another way to do the same thing is to redefine the macros used to
- name the configuration headers. To do so, you need a custom
- `ft2build.h' whose content can be as simple as:
-
- #ifndef __FT2_BUILD_MY_PLATFORM_H__
- #define __FT2_BUILD_MY_PLATFORM_H__
-
- #define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
- #define FT_CONFIG_MODULES_H <custom/my-ftmodule.h>
-
- #include <freetype/config/ftheader.h>
-
- #endif /* __FT2_BUILD_MY_PLATFORM_H__ */
-
- Place those files in a separate directory, e.g.,
-
- custom/
- ft2build.h => custom version described above
- my-ftoption.h => custom options header
- my-ftmodule.h => custom modules list header
-
- and change the C include path to ensure that `custom' is always
- placed before the FT2 `include' during compilation.
-
-----------------------------------------------------------------------
-
-Copyright 2003, 2005, 2006 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute
-this file you indicate that you have read the license and understand
-and accept it fully.
-
-
---- end of CUSTOMIZE ---
+How to customize the compilation of the library
+===============================================
+
+ FreeType is highly customizable to fit various needs, and this
+ document describes how it is possible to select options and
+ components at compilation time.
+
+
+I. Configuration macros
+
+ The file found in `include/freetype/config/ftoption.h' contains a
+ list of commented configuration macros that can be toggled by
+ developers to indicate which features should be active while
+ building the library.
+
+ These options range from debug level to availability of certain
+ features, like native TrueType hinting through a bytecode
+ interpreter.
+
+ We invite you to read this file for more information. You can
+ change the file's content to suit your needs, or override it with
+ one of the techniques described below.
+
+
+II. Modules list
+
+ If you use GNU make please edit the top-level file `modules.cfg'.
+ It contains a list of available FreeType modules and extensions to
+ be compiled. Change it to suit your own preferences. Be aware that
+ certain modules depend on others, as described in the file. GNU
+ make uses `modules.cfg' to generate `ftmodule.h' (in the object
+ directory).
+
+ If you don't use GNU make you have to manually edit the file
+ `include/freetype/config/ftmodule.h' (which is *not* used with if
+ compiled with GNU make) to add or remove the drivers and components
+ you want to compile into the library. See `INSTALL.ANY' for more
+ information.
+
+
+III. System interface
+
+ FreeType's default interface to the system (i.e., the parts that
+ deal with memory management and i/o streams) is located in
+ `src/base/ftsystem.c'.
+
+ The current implementation uses standard C library calls to manage
+ memory and to read font files. It is however possible to write
+ custom implementations to suit specific systems.
+
+ To tell the GNU Make-based build system to use a custom system
+ interface, you have to define the environment variable FTSYS_SRC to
+ point to the relevant implementation:
+
+ on Unix:
+
+ ./configure <your options>
+ export FTSYS_SRC=foo/my_ftsystem.c
+ make
+ make install
+
+ on Windows:
+
+ make setup <compiler>
+ set FTSYS_SRC=foo/my_ftsystem.c
+ make
+
+
+IV. Overriding default configuration and module headers
+
+ It is possible to override the default configuration and module
+ headers without changing the original files. There are three ways
+ to do that:
+
+
+ 1. With GNU make
+
+ [This is actually a combination of method 2 and 3.]
+
+ Just put your custom `ftoption.h' file into the objects directory
+ (normally `<topdir>/objs'), which GNU make prefers over the
+ standard location. No action is needed for `ftmodule.h' because
+ it is generated automatically in the objects directory.
+
+
+ 2. Using the C include path
+
+ Use the C include path to ensure that your own versions of the
+ files are used at compile time when the lines
+
+ #include FT_CONFIG_OPTIONS_H
+ #include FT_CONFIG_MODULES_H
+
+ are compiled. Their default values being
+ <freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
+ can do something like:
+
+ custom/
+ freetype/
+ config/
+ ftoption.h => custom options header
+ ftmodule.h => custom modules list
+
+ include/ => normal FreeType 2 include
+ freetype/
+ ...
+
+ then change the C include path to always give the path to `custom'
+ before the FreeType 2 `include'.
+
+
+ 3. Redefining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
+
+ Another way to do the same thing is to redefine the macros used to
+ name the configuration headers. To do so, you need a custom
+ `ft2build.h' whose content can be as simple as:
+
+ #ifndef __FT2_BUILD_MY_PLATFORM_H__
+ #define __FT2_BUILD_MY_PLATFORM_H__
+
+ #define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
+ #define FT_CONFIG_MODULES_H <custom/my-ftmodule.h>
+
+ #include <freetype/config/ftheader.h>
+
+ #endif /* __FT2_BUILD_MY_PLATFORM_H__ */
+
+ Place those files in a separate directory, e.g.,
+
+ custom/
+ ft2build.h => custom version described above
+ my-ftoption.h => custom options header
+ my-ftmodule.h => custom modules list header
+
+ and change the C include path to ensure that `custom' is always
+ placed before the FT2 `include' during compilation.
+
+----------------------------------------------------------------------
+
+Copyright 2003, 2005, 2006 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute
+this file you indicate that you have read the license and understand
+and accept it fully.
+
+
+--- end of CUSTOMIZE ---
diff --git a/components/external/freetype/docs/DEBUG b/components/external/freetype/docs/DEBUG
index fd09cececd..3d6acd3bb0 100644
--- a/components/external/freetype/docs/DEBUG
+++ b/components/external/freetype/docs/DEBUG
@@ -1,202 +1,202 @@
-Debugging within the FreeType sources
-=====================================
-
-I. Configuration macros
------------------------
-
-There are several ways to enable debugging features in a FreeType 2
-builds. This is controlled through the definition of special macros
-located in the file `ftoptions.h'. The macros are:
-
-
- FT_DEBUG_LEVEL_ERROR
-
- #define this macro if you want to compile the FT_ERROR macro calls
- to print error messages during program execution. This will not
- stop the program. Very useful to spot invalid fonts during
- development and to code workarounds for them.
-
- FT_DEBUG_LEVEL_TRACE
-
- #define this macro if you want to compile both macros FT_ERROR and
- FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1,
- FT_TRACE2, ..., FT_TRACE7.
-
- The trace macros are used to send debugging messages when an
- appropriate `debug level' is configured at runtime through the
- FT2_DEBUG environment variable (more on this later).
-
- FT_DEBUG_MEMORY
-
- If this macro is #defined, the FreeType engine is linked with a
- small but effective debugging memory manager that tracks all
- allocations and frees that are performed within the font engine.
-
- When the FT2_DEBUG_MEMORY environment variable is defined at
- runtime, a call to FT_Done_FreeType will dump memory statistics,
- including the list of leaked memory blocks with the source locations
- where these were allocated. It is always a very good idea to define
- this in development builds. This works with _any_ program linked to
- FreeType, but requires a big deal of memory (the debugging memory
- manager never frees the blocks to the heap in order to detect double
- frees).
-
- When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory
- manager is ignored, and performance is unaffected.
-
-
-II. Debugging macros
---------------------
-
-Several macros can be used within the FreeType sources to help debugging
-its code:
-
-
- 1. FT_ERROR(( ... ))
-
- This macro is used to send debug messages that indicate relatively
- serious errors (like broken font files), but will not stop the
- execution of the running program. Its code is compiled only when
- either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
- `ftoption.h'.
-
- Note that you have to use a printf-like signature, but with double
- parentheses, like in
-
- FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
-
-
- 2. FT_ASSERT( condition )
-
- This macro is used to check strong assertions at runtime. If its
- condition isn't TRUE, the program will abort with a panic message.
- Its code is compiled when either FT_DEBUG_LEVEL_ERROR or
- FT_DEBUG_LEVEL_TRACE are defined. You don't need double parentheses
- here. For example
-
- FT_ASSERT( ptr != NULL );
-
-
- 3. FT_TRACE( level, (message...) )
-
- The FT_TRACE macro is used to send general-purpose debugging
- messages during program execution. This macro uses an *implicit*
- macro named FT_COMPONENT used to name the current FreeType component
- being run.
-
- The developer should always define FT_COMPONENT as appropriate, for
- example as in
-
- #undef FT_COMPONENT
- #define FT_COMPONENT trace_io
-
- The value of the FT_COMPONENT macro is an enumeration named
- trace_XXXX where XXXX is one of the component names defined in the
- internal file `freetype/internal/fttrace.h'. If you modify FreeType
- source and insert new trace_XXXX macro, you must register it in
- fttrace.h. If you insert or remove many trace macros, you can check
- the undefined or the unused trace macro by src/tools/chktrcmp.py.
-
- Each such component is assigned a `debug level', ranging from 0
- to 7, through the use of the FT2_DEBUG environment variable
- (described below) when a program linked with FreeType starts.
-
- When FT_TRACE is called, its level is compared to the one of the
- corresponding component. Messages with trace levels *higher* than
- the corresponding component level are filtered and never printed.
-
- This means that trace messages with level 0 are always printed,
- those with level 2 are only printed when the component level is *at
- least* 2.
-
- The second parameter to FT_TRACE must contain parentheses and
- correspond to a printf-like call, as in
-
- FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
-
- The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7
- can be used with constant level indices, and are much cleaner to
- use, as in
-
- FT_TRACE2(( "your %s is not %s\n", "foo", "bar" ));
-
-
-III. Environment variables
---------------------------
-
-The following environment variables control debugging output and
-behaviour of FreeType at runtime.
-
-
- FT2_DEBUG
-
- This variable is only used when FreeType is built with
- FT_DEBUG_LEVEL_TRACE defined. It contains a list of component level
- definitions, following this format:
-
- component1:level1 component2:level2 component3:level3 ...
-
- where `componentX' is the name of a tracing component, as defined in
- `fttrace.h', but without the `trace_' prefix. `levelX' is the
- corresponding level to use at runtime.
-
- `any' is a special component name that will be interpreted as
- `any/all components'. For example, the following definitions
-
- set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
- export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
-
- both stipulate that all components should have level 2, except for
- the memory and io components which will be set to trace levels 5 and
- 4, respectively.
-
-
- FT2_DEBUG_MEMORY
-
- This environment variable, when defined, tells FreeType to use a
- debugging memory manager that will track leaking memory blocks as
- well as other common errors like double frees. It is also capable
- of reporting _where_ the leaking blocks were allocated, which
- considerably saves time when debugging new additions to the library.
-
- This code is only compiled when FreeType is built with the
- FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be
- ignored in other builds.
-
-
- FT2_ALLOC_TOTAL_MAX
-
- This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
- allows you to specify a maximum heap size for all memory allocations
- performed by FreeType. This is very useful to test the robustness
- of the font engine and programs that use it in tight memory
- conditions.
-
- If it is undefined, or if its value is not strictly positive, then
- no allocation bounds are checked at runtime.
-
-
- FT2_ALLOC_COUNT_MAX
-
- This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
- allows you to specify a maximum number of memory allocations
- performed by FreeType before returning the error
- FT_Err_Out_Of_Memory. This is useful for debugging and testing the
- engine's robustness.
-
- If it is undefined, or if its value is not strictly positive, then
- no allocation bounds are checked at runtime.
-
-------------------------------------------------------------------------
-
-Copyright 2002, 2003, 2004, 2005, 2009 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
-accept it fully.
-
-
---- end of DEBUG ---
+Debugging within the FreeType sources
+=====================================
+
+I. Configuration macros
+-----------------------
+
+There are several ways to enable debugging features in a FreeType 2
+builds. This is controlled through the definition of special macros
+located in the file `ftoptions.h'. The macros are:
+
+
+ FT_DEBUG_LEVEL_ERROR
+
+ #define this macro if you want to compile the FT_ERROR macro calls
+ to print error messages during program execution. This will not
+ stop the program. Very useful to spot invalid fonts during
+ development and to code workarounds for them.
+
+ FT_DEBUG_LEVEL_TRACE
+
+ #define this macro if you want to compile both macros FT_ERROR and
+ FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1,
+ FT_TRACE2, ..., FT_TRACE7.
+
+ The trace macros are used to send debugging messages when an
+ appropriate `debug level' is configured at runtime through the
+ FT2_DEBUG environment variable (more on this later).
+
+ FT_DEBUG_MEMORY
+
+ If this macro is #defined, the FreeType engine is linked with a
+ small but effective debugging memory manager that tracks all
+ allocations and frees that are performed within the font engine.
+
+ When the FT2_DEBUG_MEMORY environment variable is defined at
+ runtime, a call to FT_Done_FreeType will dump memory statistics,
+ including the list of leaked memory blocks with the source locations
+ where these were allocated. It is always a very good idea to define
+ this in development builds. This works with _any_ program linked to
+ FreeType, but requires a big deal of memory (the debugging memory
+ manager never frees the blocks to the heap in order to detect double
+ frees).
+
+ When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory
+ manager is ignored, and performance is unaffected.
+
+
+II. Debugging macros
+--------------------
+
+Several macros can be used within the FreeType sources to help debugging
+its code:
+
+
+ 1. FT_ERROR(( ... ))
+
+ This macro is used to send debug messages that indicate relatively
+ serious errors (like broken font files), but will not stop the
+ execution of the running program. Its code is compiled only when
+ either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
+ `ftoption.h'.
+
+ Note that you have to use a printf-like signature, but with double
+ parentheses, like in
+
+ FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
+
+
+ 2. FT_ASSERT( condition )
+
+ This macro is used to check strong assertions at runtime. If its
+ condition isn't TRUE, the program will abort with a panic message.
+ Its code is compiled when either FT_DEBUG_LEVEL_ERROR or
+ FT_DEBUG_LEVEL_TRACE are defined. You don't need double parentheses
+ here. For example
+
+ FT_ASSERT( ptr != NULL );
+
+
+ 3. FT_TRACE( level, (message...) )
+
+ The FT_TRACE macro is used to send general-purpose debugging
+ messages during program execution. This macro uses an *implicit*
+ macro named FT_COMPONENT used to name the current FreeType component
+ being run.
+
+ The developer should always define FT_COMPONENT as appropriate, for
+ example as in
+
+ #undef FT_COMPONENT
+ #define FT_COMPONENT trace_io
+
+ The value of the FT_COMPONENT macro is an enumeration named
+ trace_XXXX where XXXX is one of the component names defined in the
+ internal file `freetype/internal/fttrace.h'. If you modify FreeType
+ source and insert new trace_XXXX macro, you must register it in
+ fttrace.h. If you insert or remove many trace macros, you can check
+ the undefined or the unused trace macro by src/tools/chktrcmp.py.
+
+ Each such component is assigned a `debug level', ranging from 0
+ to 7, through the use of the FT2_DEBUG environment variable
+ (described below) when a program linked with FreeType starts.
+
+ When FT_TRACE is called, its level is compared to the one of the
+ corresponding component. Messages with trace levels *higher* than
+ the corresponding component level are filtered and never printed.
+
+ This means that trace messages with level 0 are always printed,
+ those with level 2 are only printed when the component level is *at
+ least* 2.
+
+ The second parameter to FT_TRACE must contain parentheses and
+ correspond to a printf-like call, as in
+
+ FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
+
+ The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7
+ can be used with constant level indices, and are much cleaner to
+ use, as in
+
+ FT_TRACE2(( "your %s is not %s\n", "foo", "bar" ));
+
+
+III. Environment variables
+--------------------------
+
+The following environment variables control debugging output and
+behaviour of FreeType at runtime.
+
+
+ FT2_DEBUG
+
+ This variable is only used when FreeType is built with
+ FT_DEBUG_LEVEL_TRACE defined. It contains a list of component level
+ definitions, following this format:
+
+ component1:level1 component2:level2 component3:level3 ...
+
+ where `componentX' is the name of a tracing component, as defined in
+ `fttrace.h', but without the `trace_' prefix. `levelX' is the
+ corresponding level to use at runtime.
+
+ `any' is a special component name that will be interpreted as
+ `any/all components'. For example, the following definitions
+
+ set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
+ export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
+
+ both stipulate that all components should have level 2, except for
+ the memory and io components which will be set to trace levels 5 and
+ 4, respectively.
+
+
+ FT2_DEBUG_MEMORY
+
+ This environment variable, when defined, tells FreeType to use a
+ debugging memory manager that will track leaking memory blocks as
+ well as other common errors like double frees. It is also capable
+ of reporting _where_ the leaking blocks were allocated, which
+ considerably saves time when debugging new additions to the library.
+
+ This code is only compiled when FreeType is built with the
+ FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be
+ ignored in other builds.
+
+
+ FT2_ALLOC_TOTAL_MAX
+
+ This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
+ allows you to specify a maximum heap size for all memory allocations
+ performed by FreeType. This is very useful to test the robustness
+ of the font engine and programs that use it in tight memory
+ conditions.
+
+ If it is undefined, or if its value is not strictly positive, then
+ no allocation bounds are checked at runtime.
+
+
+ FT2_ALLOC_COUNT_MAX
+
+ This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
+ allows you to specify a maximum number of memory allocations
+ performed by FreeType before returning the error
+ FT_Err_Out_Of_Memory. This is useful for debugging and testing the
+ engine's robustness.
+
+ If it is undefined, or if its value is not strictly positive, then
+ no allocation bounds are checked at runtime.
+
+------------------------------------------------------------------------
+
+Copyright 2002, 2003, 2004, 2005, 2009 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
+accept it fully.
+
+
+--- end of DEBUG ---
diff --git a/components/external/freetype/docs/INSTALL b/components/external/freetype/docs/INSTALL
index 1483c3e623..de50d0c2e4 100644
--- a/components/external/freetype/docs/INSTALL
+++ b/components/external/freetype/docs/INSTALL
@@ -1,91 +1,91 @@
-
-There are several ways to build the FreeType library, depending on
-your system and the level of customization you need. Here is a short
-overview of the documentation available:
-
-
-I. Normal installation and upgrades
-===================================
-
- 1. Native TrueType Hinting
-
- Native TrueType hinting is disabled by default[1]. If you really
- need it, read the file `TRUETYPE' for information.
-
-
- 2. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows)
-
- Please read *both* `UPGRADE.UNIX' and `INSTALL.UNIX' to install or
- upgrade FreeType 2 on a Unix system. Note that you *need* GNU
- Make for automatic compilation, since other make tools won't work
- (this includes BSD Make).
-
- GNU Make VERSION 3.80 OR NEWER IS NEEDED!
-
-
- 3. On VMS with the `mms' build tool
-
- See `INSTALL.VMS' for installation instructions on this platform.
-
-
- 4. Other systems using GNU Make
-
- On non-Unix platforms, it is possible to build the library using
- GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]!
- This methods supports several compilers on Windows, OS/2, and
- BeOS, including MinGW, Visual C++, Borland C++, and more.
-
- Instructions are provided in the file `INSTALL.GNU'.
-
-
- 5. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
-
- We provide a small number of `project files' for various IDEs to
- automatically build the library as well. Note that these files
- are not supported and only sporadically maintained by FreeType
- developers, so don't expect them to work in each release.
-
- To find them, have a look at the content of the `builds/<system>'
- directory, where <system> stands for your OS or environment.
-
-
- 6. From you own IDE, or own Makefiles
-
- If you want to create your own project file, follow the
- instructions given in the `INSTALL.ANY' document of this
- directory.
-
-
-II. Custom builds of the library
-================================
-
- Customizing the compilation of FreeType is easy, and allows you to
- select only the components of the font engine that you really need.
- For more details read the file `CUSTOMIZE'.
-
-
-----------------------------------------------------------------------
-
-[1] More details on: http://www.freetype.org/patents.html
-
-[2] make++, a make tool written in Perl, has sufficient support of GNU
- make extensions to build FreeType. See
-
- http://makepp.sourceforge.net
-
- for more information; you need version 1.19 or newer, and you must
- pass option `--norc-substitution'.
-
-----------------------------------------------------------------------
-
-Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute
-this file you indicate that you have read the license and understand
-and accept it fully.
-
-
---- end of INSTALL ---
+
+There are several ways to build the FreeType library, depending on
+your system and the level of customization you need. Here is a short
+overview of the documentation available:
+
+
+I. Normal installation and upgrades
+===================================
+
+ 1. Native TrueType Hinting
+
+ Native TrueType hinting is disabled by default[1]. If you really
+ need it, read the file `TRUETYPE' for information.
+
+
+ 2. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows)
+
+ Please read *both* `UPGRADE.UNIX' and `INSTALL.UNIX' to install or
+ upgrade FreeType 2 on a Unix system. Note that you *need* GNU
+ Make for automatic compilation, since other make tools won't work
+ (this includes BSD Make).
+
+ GNU Make VERSION 3.80 OR NEWER IS NEEDED!
+
+
+ 3. On VMS with the `mms' build tool
+
+ See `INSTALL.VMS' for installation instructions on this platform.
+
+
+ 4. Other systems using GNU Make
+
+ On non-Unix platforms, it is possible to build the library using
+ GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]!
+ This methods supports several compilers on Windows, OS/2, and
+ BeOS, including MinGW, Visual C++, Borland C++, and more.
+
+ Instructions are provided in the file `INSTALL.GNU'.
+
+
+ 5. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
+
+ We provide a small number of `project files' for various IDEs to
+ automatically build the library as well. Note that these files
+ are not supported and only sporadically maintained by FreeType
+ developers, so don't expect them to work in each release.
+
+ To find them, have a look at the content of the `builds/<system>'
+ directory, where <system> stands for your OS or environment.
+
+
+ 6. From you own IDE, or own Makefiles
+
+ If you want to create your own project file, follow the
+ instructions given in the `INSTALL.ANY' document of this
+ directory.
+
+
+II. Custom builds of the library
+================================
+
+ Customizing the compilation of FreeType is easy, and allows you to
+ select only the components of the font engine that you really need.
+ For more details read the file `CUSTOMIZE'.
+
+
+----------------------------------------------------------------------
+
+[1] More details on: http://www.freetype.org/patents.html
+
+[2] make++, a make tool written in Perl, has sufficient support of GNU
+ make extensions to build FreeType. See
+
+ http://makepp.sourceforge.net
+
+ for more information; you need version 1.19 or newer, and you must
+ pass option `--norc-substitution'.
+
+----------------------------------------------------------------------
+
+Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute
+this file you indicate that you have read the license and understand
+and accept it fully.
+
+
+--- end of INSTALL ---
diff --git a/components/external/freetype/docs/INSTALL.ANY b/components/external/freetype/docs/INSTALL.ANY
index 0971dff290..44b785c67e 100644
--- a/components/external/freetype/docs/INSTALL.ANY
+++ b/components/external/freetype/docs/INSTALL.ANY
@@ -1,151 +1,151 @@
-Instructions on how to build FreeType with your own build tool
-==============================================================
-
-See the file `CUSTOMIZE' to learn how to customize FreeType to
-specific environments.
-
-
-I. Standard procedure
----------------------
-
- * DISABLE PRE-COMPILED HEADERS! This is very important for Visual
- C++, because FreeType uses lines like:
-
- #include FT_FREETYPE_H
-
- which are not correctly supported by this compiler while being ISO
- C compliant!
-
- * You need to add the directories `freetype2/include' to your
- include path when compiling the library.
-
- * FreeType 2 is made of several components; each of them is located
- in a subdirectory of `freetype2/src'. For example,
- `freetype2/src/truetype/' contains the TrueType font driver.
-
- * DO NOT COMPILE ALL C FILES! Rather, compile the following ones.
-
- -- base components (required)
-
- src/base/ftsystem.c
- src/base/ftinit.c
- src/base/ftdebug.c
-
- src/base/ftbase.c
-
- src/base/ftbbox.c -- recommended, see <freetype/ftbbox.h>
- src/base/ftglyph.c -- recommended, see <freetype/ftglyph.h>
-
- src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
- src/base/ftbitmap.c -- optional, see <freetype/ftbitmap.h>
- src/base/ftcid.c -- optional, see <freetype/ftcid.h>
- src/base/ftfstype.c -- optional
- src/base/ftgasp.c -- optional, see <freetype/ftgasp.h>
- src/base/ftgxval.c -- optional, see <freetype/ftgxval.h>
- src/base/ftlcdfil.c -- optional, see <freetype/ftlcdfil.h>
- src/base/ftmm.c -- optional, see <freetype/ftmm.h>
- src/base/ftotval.c -- optional, see <freetype/ftotval.h>
- src/base/ftpatent.c -- optional
- src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
- src/base/ftstroke.c -- optional, see <freetype/ftstroke.h>
- src/base/ftsynth.c -- optional, see <freetype/ftsynth.h>
- src/base/fttype1.c -- optional, see <freetype/t1tables.h>
- src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
- src/base/ftxf86.c -- optional, see <freetype/ftxf86.h>
-
- src/base/ftmac.c -- only on the Macintosh
-
- -- font drivers (optional; at least one is needed)
-
- src/bdf/bdf.c -- BDF font driver
- src/cff/cff.c -- CFF/OpenType font driver
- src/cid/type1cid.c -- Type 1 CID-keyed font driver
- src/pcf/pcf.c -- PCF font driver
- src/pfr/pfr.c -- PFR/TrueDoc font driver
- src/sfnt/sfnt.c -- SFNT files support
- (TrueType & OpenType)
- src/truetype/truetype.c -- TrueType font driver
- src/type1/type1.c -- Type 1 font driver
- src/type42/type42.c -- Type 42 font driver
- src/winfonts/winfnt.c -- Windows FONT / FNT font driver
-
- -- rasterizers (optional; at least one is needed for vector
- formats)
-
- src/raster/raster.c -- monochrome rasterizer
- src/smooth/smooth.c -- anti-aliasing rasterizer
-
- -- auxiliary modules (optional)
-
- src/autofit/autofit.c -- auto hinting module
- src/cache/ftcache.c -- cache sub-system (in beta)
- src/gzip/ftgzip.c -- support for compressed fonts (.gz)
- src/lzw/ftlzw.c -- support for compressed fonts (.Z)
- src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation
- src/otvalid/otvalid.c -- OpenType table validation
- src/psaux/psaux.c -- PostScript Type 1 parsing
- src/pshinter/pshinter.c -- PS hinting module
- src/psnames/psnames.c -- PostScript glyph names support
-
-
- Notes:
-
- `ftcache.c' needs `ftglyph.c'
- `ftfstype.c' needs `fttype1.c'
- `ftglyph.c' needs `ftbitmap.c'
- `ftstroke.c' needs `ftglyph.c'
- `ftsynth.c' needs `ftbitmap.c'
-
- `cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c'
- `truetype.c' needs `sfnt.c' and `psnames.c'
- `type1.c' needs `psaux.c' `pshinter.c', and `psnames.c'
- `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
- `type42.c' needs `truetype.c'
-
-
- Read the file `CUSTOMIZE' in case you want to compile only a subset
- of the drivers, renderers, and optional modules; a detailed
- description of the various base extension is given in the top-level
- file `modules.cfg'.
-
- You are done. In case of problems, see the archives of the FreeType
- development mailing list.
-
-
-II. Support for flat-directory compilation
-------------------------------------------
-
- It is possible to put all FreeType 2 source files into a single
- directory, with the *exception* of the `include' hierarchy.
-
- 1. Copy all files in current directory
-
- cp freetype2/src/base/*.[hc] .
- cp freetype2/src/raster1/*.[hc] .
- cp freetype2/src/smooth/*.[hc] .
- etc.
-
- 2. Compile sources
-
- cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
- cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
- cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
- cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
- etc.
-
- You don't need to define the FT_FLAT_COMPILATION macro (as this
- was required in previous releases of FreeType 2).
-
-----------------------------------------------------------------------
-
-Copyright 2003, 2005, 2006, 2009, 2010 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute
-this file you indicate that you have read the license and understand
-and accept it fully.
-
-
---- end of INSTALL.ANY ---
+Instructions on how to build FreeType with your own build tool
+==============================================================
+
+See the file `CUSTOMIZE' to learn how to customize FreeType to
+specific environments.
+
+
+I. Standard procedure
+---------------------
+
+ * DISABLE PRE-COMPILED HEADERS! This is very important for Visual
+ C++, because FreeType uses lines like:
+
+ #include FT_FREETYPE_H
+
+ which are not correctly supported by this compiler while being ISO
+ C compliant!
+
+ * You need to add the directories `freetype2/include' to your
+ include path when compiling the library.
+
+ * FreeType 2 is made of several components; each of them is located
+ in a subdirectory of `freetype2/src'. For example,
+ `freetype2/src/truetype/' contains the TrueType font driver.
+
+ * DO NOT COMPILE ALL C FILES! Rather, compile the following ones.
+
+ -- base components (required)
+
+ src/base/ftsystem.c
+ src/base/ftinit.c
+ src/base/ftdebug.c
+
+ src/base/ftbase.c
+
+ src/base/ftbbox.c -- recommended, see <freetype/ftbbox.h>
+ src/base/ftglyph.c -- recommended, see <freetype/ftglyph.h>
+
+ src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
+ src/base/ftbitmap.c -- optional, see <freetype/ftbitmap.h>
+ src/base/ftcid.c -- optional, see <freetype/ftcid.h>
+ src/base/ftfstype.c -- optional
+ src/base/ftgasp.c -- optional, see <freetype/ftgasp.h>
+ src/base/ftgxval.c -- optional, see <freetype/ftgxval.h>
+ src/base/ftlcdfil.c -- optional, see <freetype/ftlcdfil.h>
+ src/base/ftmm.c -- optional, see <freetype/ftmm.h>
+ src/base/ftotval.c -- optional, see <freetype/ftotval.h>
+ src/base/ftpatent.c -- optional
+ src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
+ src/base/ftstroke.c -- optional, see <freetype/ftstroke.h>
+ src/base/ftsynth.c -- optional, see <freetype/ftsynth.h>
+ src/base/fttype1.c -- optional, see <freetype/t1tables.h>
+ src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
+ src/base/ftxf86.c -- optional, see <freetype/ftxf86.h>
+
+ src/base/ftmac.c -- only on the Macintosh
+
+ -- font drivers (optional; at least one is needed)
+
+ src/bdf/bdf.c -- BDF font driver
+ src/cff/cff.c -- CFF/OpenType font driver
+ src/cid/type1cid.c -- Type 1 CID-keyed font driver
+ src/pcf/pcf.c -- PCF font driver
+ src/pfr/pfr.c -- PFR/TrueDoc font driver
+ src/sfnt/sfnt.c -- SFNT files support
+ (TrueType & OpenType)
+ src/truetype/truetype.c -- TrueType font driver
+ src/type1/type1.c -- Type 1 font driver
+ src/type42/type42.c -- Type 42 font driver
+ src/winfonts/winfnt.c -- Windows FONT / FNT font driver
+
+ -- rasterizers (optional; at least one is needed for vector
+ formats)
+
+ src/raster/raster.c -- monochrome rasterizer
+ src/smooth/smooth.c -- anti-aliasing rasterizer
+
+ -- auxiliary modules (optional)
+
+ src/autofit/autofit.c -- auto hinting module
+ src/cache/ftcache.c -- cache sub-system (in beta)
+ src/gzip/ftgzip.c -- support for compressed fonts (.gz)
+ src/lzw/ftlzw.c -- support for compressed fonts (.Z)
+ src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation
+ src/otvalid/otvalid.c -- OpenType table validation
+ src/psaux/psaux.c -- PostScript Type 1 parsing
+ src/pshinter/pshinter.c -- PS hinting module
+ src/psnames/psnames.c -- PostScript glyph names support
+
+
+ Notes:
+
+ `ftcache.c' needs `ftglyph.c'
+ `ftfstype.c' needs `fttype1.c'
+ `ftglyph.c' needs `ftbitmap.c'
+ `ftstroke.c' needs `ftglyph.c'
+ `ftsynth.c' needs `ftbitmap.c'
+
+ `cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c'
+ `truetype.c' needs `sfnt.c' and `psnames.c'
+ `type1.c' needs `psaux.c' `pshinter.c', and `psnames.c'
+ `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
+ `type42.c' needs `truetype.c'
+
+
+ Read the file `CUSTOMIZE' in case you want to compile only a subset
+ of the drivers, renderers, and optional modules; a detailed
+ description of the various base extension is given in the top-level
+ file `modules.cfg'.
+
+ You are done. In case of problems, see the archives of the FreeType
+ development mailing list.
+
+
+II. Support for flat-directory compilation
+------------------------------------------
+
+ It is possible to put all FreeType 2 source files into a single
+ directory, with the *exception* of the `include' hierarchy.
+
+ 1. Copy all files in current directory
+
+ cp freetype2/src/base/*.[hc] .
+ cp freetype2/src/raster1/*.[hc] .
+ cp freetype2/src/smooth/*.[hc] .
+ etc.
+
+ 2. Compile sources
+
+ cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
+ cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
+ cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
+ cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
+ etc.
+
+ You don't need to define the FT_FLAT_COMPILATION macro (as this
+ was required in previous releases of FreeType 2).
+
+----------------------------------------------------------------------
+
+Copyright 2003, 2005, 2006, 2009, 2010 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute
+this file you indicate that you have read the license and understand
+and accept it fully.
+
+
+--- end of INSTALL.ANY ---
diff --git a/components/external/freetype/docs/INSTALL.CROSS b/components/external/freetype/docs/INSTALL.CROSS
index 6f5e498f0f..3def12c8c5 100644
--- a/components/external/freetype/docs/INSTALL.CROSS
+++ b/components/external/freetype/docs/INSTALL.CROSS
@@ -1,135 +1,135 @@
-This document contains instructions on how to cross-build the FreeType
-library on Unix systems, for example, building binaries for Linux/MIPS
-on FreeBSD/i386. Before reading this document, please consult
-INSTALL.UNIX for required tools and the basic self-building procedure.
-
-
- 1. Required Tools
- -----------------
-
- For self-building the FreeType library on a Unix system, GNU Make
- 3.80 or newer is required. INSTALL.UNIX contains hints how to
- check the installed `make'.
-
- The GNU C compiler to cross-build the target system is required.
- At present, using non-GNU cross compiler is not tested. The cross
- compiler is expected to be installed with a system prefix. For
- example, if your building system is FreeBSD/i386 and the target
- system is Linux/MIPS, the cross compiler should be installed with
- the name `mips-ip22-linuxelf-gcc'.
-
- A C compiler for a self-build is required also, to build a tool
- that is executed during the building procedure. Non-GNU self
- compilers are acceptable, but such a setup is not tested yet.
-
-
- 2. Configuration
- ----------------
-
- 2.1. Building and target system
-
- To configure for cross-build, the options `--host=<system>' and
- `--build=<system>' must be passed to configure. For example, if
- your building system is FreeBSD/i386 and the target system is
- Linux/MIPS, say
-
- ./configure \
- --build=i386-unknown-freebsd \
- --host=mips-ip22-linuxelf \
- [other options]
-
- It should be noted that `--host=<system>' specifies the system
- where the built binaries will be executed, not the system where
- the build actually happens. Older versions of GNU autoconf use
- the option pair `--host=' and `--target='. This is broken and
- doesn't work. Similarly, an explicit CC specification like
-
- env CC=mips-ip22-linux-gcc ./configure
-
- or
-
- env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure
-
- doesn't work either; such a configuration confuses the
- `configure' script while trying to find the cross and native C
- compilers.
-
-
- 2.2. The prefix to install FreeType2
-
- Setting `--prefix=<prefix>' properly is important. The prefix
- to install FreeType2 is written into the freetype-config script
- and freetype2.pc configuration file.
-
- If the built FreeType 2 library is used as a part of the
- cross-building system, the prefix is expected to be different
- from the self-building system. For example, configuration with
- `--prefix=/usr/local' installs binaries into the system wide
- `/usr/local' directory which then can't be executed. This
- causes confusion in configuration of all applications which use
- FreeType2. Instead, use a prefix to install the cross-build
- into a separate system tree, for example,
- `--prefix=/usr/local/mips-ip22-linux/'.
-
- On the other hand, if the built FreeType2 is used as a part of
- the target system, the prefix to install should reflect the file
- system structure of the target system.
-
-
- 3. Building command
- -------------------
-
- If the configuration finishes successfully, invoking GNU make
- builds FreeType2. Just say
-
- make
-
- or
-
- gmake
-
- depending on the name the GNU make binary actually has.
-
-
- 4. Installation
- ---------------
-
- Saying
-
- make install
-
- as usual to install FreeType2 into the directory tree specified by
- the argument of the `--prefix' option.
-
- As noted in section 2.2, FreeType2 is sometimes configured to be
- installed into the system directory of the target system, and
- should not be installed in the cross-building system. In such
- cases, the make variable `DESTDIR' is useful to change the root
- directory in the installation. For example, after
-
- make DESTDIR=/mnt/target_system_root/ install
-
- the built FreeType2 library files are installed into the directory
- `/mnt/target_system_root/<prefix_in_configure>/lib'.
-
-
- 5. TODO
- -------
-
- Cross building between Cygwin (or MSys) and Unix must be tested.
-
-
-----------------------------------------------------------------------
-
-Copyright 2006, 2008 by suzuki toshiya
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute
-this file you indicate that you have read the license and understand
-and accept it fully.
-
-
---- end of INSTALL.CROSS ---
+This document contains instructions on how to cross-build the FreeType
+library on Unix systems, for example, building binaries for Linux/MIPS
+on FreeBSD/i386. Before reading this document, please consult
+INSTALL.UNIX for required tools and the basic self-building procedure.
+
+
+ 1. Required Tools
+ -----------------
+
+ For self-building the FreeType library on a Unix system, GNU Make
+ 3.80 or newer is required. INSTALL.UNIX contains hints how to
+ check the installed `make'.
+
+ The GNU C compiler to cross-build the target system is required.
+ At present, using non-GNU cross compiler is not tested. The cross
+ compiler is expected to be installed with a system prefix. For
+ example, if your building system is FreeBSD/i386 and the target
+ system is Linux/MIPS, the cross compiler should be installed with
+ the name `mips-ip22-linuxelf-gcc'.
+
+ A C compiler for a self-build is required also, to build a tool
+ that is executed during the building procedure. Non-GNU self
+ compilers are acceptable, but such a setup is not tested yet.
+
+
+ 2. Configuration
+ ----------------
+
+ 2.1. Building and target system
+
+ To configure for cross-build, the options `--host=<system>' and
+ `--build=<system>' must be passed to configure. For example, if
+ your building system is FreeBSD/i386 and the target system is
+ Linux/MIPS, say
+
+ ./configure \
+ --build=i386-unknown-freebsd \
+ --host=mips-ip22-linuxelf \
+ [other options]
+
+ It should be noted that `--host=<system>' specifies the system
+ where the built binaries will be executed, not the system where
+ the build actually happens. Older versions of GNU autoconf use
+ the option pair `--host=' and `--target='. This is broken and
+ doesn't work. Similarly, an explicit CC specification like
+
+ env CC=mips-ip22-linux-gcc ./configure
+
+ or
+
+ env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure
+
+ doesn't work either; such a configuration confuses the
+ `configure' script while trying to find the cross and native C
+ compilers.
+
+
+ 2.2. The prefix to install FreeType2
+
+ Setting `--prefix=<prefix>' properly is important. The prefix
+ to install FreeType2 is written into the freetype-config script
+ and freetype2.pc configuration file.
+
+ If the built FreeType 2 library is used as a part of the
+ cross-building system, the prefix is expected to be different
+ from the self-building system. For example, configuration with
+ `--prefix=/usr/local' installs binaries into the system wide
+ `/usr/local' directory which then can't be executed. This
+ causes confusion in configuration of all applications which use
+ FreeType2. Instead, use a prefix to install the cross-build
+ into a separate system tree, for example,
+ `--prefix=/usr/local/mips-ip22-linux/'.
+
+ On the other hand, if the built FreeType2 is used as a part of
+ the target system, the prefix to install should reflect the file
+ system structure of the target system.
+
+
+ 3. Building command
+ -------------------
+
+ If the configuration finishes successfully, invoking GNU make
+ builds FreeType2. Just say
+
+ make
+
+ or
+
+ gmake
+
+ depending on the name the GNU make binary actually has.
+
+
+ 4. Installation
+ ---------------
+
+ Saying
+
+ make install
+
+ as usual to install FreeType2 into the directory tree specified by
+ the argument of the `--prefix' option.
+
+ As noted in section 2.2, FreeType2 is sometimes configured to be
+ installed into the system directory of the target system, and
+ should not be installed in the cross-building system. In such
+ cases, the make variable `DESTDIR' is useful to change the root
+ directory in the installation. For example, after
+
+ make DESTDIR=/mnt/target_system_root/ install
+
+ the built FreeType2 library files are installed into the directory
+ `/mnt/target_system_root/<prefix_in_configure>/lib'.
+
+
+ 5. TODO
+ -------
+
+ Cross building between Cygwin (or MSys) and Unix must be tested.
+
+
+----------------------------------------------------------------------
+
+Copyright 2006, 2008 by suzuki toshiya
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute
+this file you indicate that you have read the license and understand
+and accept it fully.
+
+
+--- end of INSTALL.CROSS ---
diff --git a/components/external/freetype/docs/INSTALL.GNU b/components/external/freetype/docs/INSTALL.GNU
index d8ec340844..72df50a4ea 100644
--- a/components/external/freetype/docs/INSTALL.GNU
+++ b/components/external/freetype/docs/INSTALL.GNU
@@ -1,159 +1,159 @@
-This document contains instructions how to build the FreeType library
-on non-Unix systems with the help of GNU Make. Note that if you are
-running Cygwin or MSys in Windows, you should follow the instructions
-in the file INSTALL.UNIX instead.
-
-
- FreeType 2 includes a powerful and flexible build system that allows
- you to easily compile it on a great variety of platforms from the
- command line. To do so, just follow these simple instructions.
-
- 1. Install GNU Make
- -------------------
-
- Because GNU Make is the only Make tool supported to compile
- FreeType 2, you should install it on your machine.
-
- The FreeType 2 build system relies on many features special to GNU
- Make.
-
- NEARLY ALL OTHER MAKE TOOLS FAIL, INCLUDING `BSD MAKE', SO REALLY
- INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
-
- Note that make++, a make tool written in Perl, supports enough
- features of GNU make to compile FreeType. See
-
- http://makepp.sourceforge.net
-
- for more information; you need version 1.19 or newer, and you must
- pass option `--norc-substitution'.
-
- Make sure that you are invoking GNU Make from the command line, by
- typing something like:
-
- make -v
-
- to display its version number.
-
- VERSION 3.80 OR NEWER IS NEEDED!
-
-
- 2. Invoke `make'
- ----------------
-
- Go to the root directory of FreeType 2, then simply invoke GNU
- Make from the command line. This will launch the FreeType 2 host
- platform detection routines. A summary will be displayed, for
- example, on Win32.
-
-
- ==============================================================
- FreeType build system -- automatic system detection
-
- The following settings are used:
-
- platform win32
- compiler gcc
- configuration directory .\builds\win32
- configuration rules .\builds\win32\w32-gcc.mk
-
- If this does not correspond to your system or settings please
- remove the file 'config.mk' from this directory then read the
- INSTALL file for help.
-
- Otherwise, simply type 'make' again to build the library
- or 'make refdoc' to build the API reference (the latter needs
- python).
- =============================================================
-
-
- If the detected settings correspond to your platform and compiler,
- skip to step 5. Note that if your platform is completely alien to
- the build system, the detected platform will be `ansi'.
-
-
- 3. Configure the build system for a different compiler
- ------------------------------------------------------
-
- If the build system correctly detected your platform, but you want
- to use a different compiler than the one specified in the summary
- (for most platforms, gcc is the default compiler), invoke GNU Make
- with
-
- make setup <compiler>
-
- Examples:
-
- to use Visual C++ on Win32, type: `make setup visualc'
- to use Borland C++ on Win32, type `make setup bcc32'
- to use Watcom C++ on Win32, type `make setup watcom'
- to use Intel C++ on Win32, type `make setup intelc'
- to use LCC-Win32 on Win32, type: `make setup lcc'
- to use Watcom C++ on OS/2, type `make setup watcom'
- to use VisualAge C++ on OS/2, type `make setup visualage'
-
- The <compiler> name to use is platform-dependent. The list of
- available compilers for your system is available in the file
- `builds/<system>/detect.mk'.
-
- If you are satisfied by the new configuration summary, skip to
- step 5.
-
-
- 4. Configure the build system for an unknown platform/compiler
- --------------------------------------------------------------
-
- The auto-detection/setup phase of the build system copies a file
- to the current directory under the name `config.mk'.
-
- For example, on OS/2+gcc, it would simply copy
- `builds/os2/os2-gcc.mk' to `./config.mk'.
-
- If for some reason your platform isn't correctly detected, copy
- manually the configuration sub-makefile to `./config.mk' and go to
- step 5.
-
- Note that this file is a sub-Makefile used to specify Make
- variables for compiler and linker invocation during the build.
- You can easily create your own version from one of the existing
- configuration files, then copy it to the current directory under
- the name `./config.mk'.
-
-
- 5. Build the library
- --------------------
-
- The auto-detection/setup phase should have copied a file in the
- current directory, called `./config.mk'. This file contains
- definitions of various Make variables used to invoke the compiler
- and linker during the build. [It has also generated a file called
- `ftmodule.h' in the objects directory (which is normally
- `<toplevel>/objs/'); please read the file `docs/CUSTOMIZE' for
- customization of FreeType.]
-
- To launch the build, simply invoke GNU Make again: The top
- Makefile will detect the configuration file and run the build with
- it.
-
-
- Final note
-
- The build system builds a statically linked library of the font
- engine in the `objs' directory. It does _not_ support the build
- of DLLs on Windows and OS/2. If you need these, you have to
- either use an IDE-specific project file, or follow the
- instructions in `INSTALL.ANY' to create your own Makefiles.
-
-----------------------------------------------------------------------
-
-Copyright 2003, 2004, 2005, 2006, 2008 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute
-this file you indicate that you have read the license and understand
-and accept it fully.
-
-
---- end of INSTALL.GNU ---
+This document contains instructions how to build the FreeType library
+on non-Unix systems with the help of GNU Make. Note that if you are
+running Cygwin or MSys in Windows, you should follow the instructions
+in the file INSTALL.UNIX instead.
+
+
+ FreeType 2 includes a powerful and flexible build system that allows
+ you to easily compile it on a great variety of platforms from the
+ command line. To do so, just follow these simple instructions.
+
+ 1. Install GNU Make
+ -------------------
+
+ Because GNU Make is the only Make tool supported to compile
+ FreeType 2, you should install it on your machine.
+
+ The FreeType 2 build system relies on many features special to GNU
+ Make.
+
+ NEARLY ALL OTHER MAKE TOOLS FAIL, INCLUDING `BSD MAKE', SO REALLY
+ INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
+
+ Note that make++, a make tool written in Perl, supports enough
+ features of GNU make to compile FreeType. See
+
+ http://makepp.sourceforge.net
+
+ for more information; you need version 1.19 or newer, and you must
+ pass option `--norc-substitution'.
+
+ Make sure that you are invoking GNU Make from the command line, by
+ typing something like:
+
+ make -v
+
+ to display its version number.
+
+ VERSION 3.80 OR NEWER IS NEEDED!
+
+
+ 2. Invoke `make'
+ ----------------
+
+ Go to the root directory of FreeType 2, then simply invoke GNU
+ Make from the command line. This will launch the FreeType 2 host
+ platform detection routines. A summary will be displayed, for
+ example, on Win32.
+
+
+ ==============================================================
+ FreeType build system -- automatic system detection
+
+ The following settings are used:
+
+ platform win32
+ compiler gcc
+ configuration directory .\builds\win32
+ configuration rules .\builds\win32\w32-gcc.mk
+
+ If this does not correspond to your system or settings please
+ remove the file 'config.mk' from this directory then read the
+ INSTALL file for help.
+
+ Otherwise, simply type 'make' again to build the library
+ or 'make refdoc' to build the API reference (the latter needs
+ python).
+ =============================================================
+
+
+ If the detected settings correspond to your platform and compiler,
+ skip to step 5. Note that if your platform is completely alien to
+ the build system, the detected platform will be `ansi'.
+
+
+ 3. Configure the build system for a different compiler
+ ------------------------------------------------------
+
+ If the build system correctly detected your platform, but you want
+ to use a different compiler than the one specified in the summary
+ (for most platforms, gcc is the default compiler), invoke GNU Make
+ with
+
+ make setup <compiler>
+
+ Examples:
+
+ to use Visual C++ on Win32, type: `make setup visualc'
+ to use Borland C++ on Win32, type `make setup bcc32'
+ to use Watcom C++ on Win32, type `make setup watcom'
+ to use Intel C++ on Win32, type `make setup intelc'
+ to use LCC-Win32 on Win32, type: `make setup lcc'
+ to use Watcom C++ on OS/2, type `make setup watcom'
+ to use VisualAge C++ on OS/2, type `make setup visualage'
+
+ The <compiler> name to use is platform-dependent. The list of
+ available compilers for your system is available in the file
+ `builds/<system>/detect.mk'.
+
+ If you are satisfied by the new configuration summary, skip to
+ step 5.
+
+
+ 4. Configure the build system for an unknown platform/compiler
+ --------------------------------------------------------------
+
+ The auto-detection/setup phase of the build system copies a file
+ to the current directory under the name `config.mk'.
+
+ For example, on OS/2+gcc, it would simply copy
+ `builds/os2/os2-gcc.mk' to `./config.mk'.
+
+ If for some reason your platform isn't correctly detected, copy
+ manually the configuration sub-makefile to `./config.mk' and go to
+ step 5.
+
+ Note that this file is a sub-Makefile used to specify Make
+ variables for compiler and linker invocation during the build.
+ You can easily create your own version from one of the existing
+ configuration files, then copy it to the current directory under
+ the name `./config.mk'.
+
+
+ 5. Build the library
+ --------------------
+
+ The auto-detection/setup phase should have copied a file in the
+ current directory, called `./config.mk'. This file contains
+ definitions of various Make variables used to invoke the compiler
+ and linker during the build. [It has also generated a file called
+ `ftmodule.h' in the objects directory (which is normally
+ `<toplevel>/objs/'); please read the file `docs/CUSTOMIZE' for
+ customization of FreeType.]
+
+ To launch the build, simply invoke GNU Make again: The top
+ Makefile will detect the configuration file and run the build with
+ it.
+
+
+ Final note
+
+ The build system builds a statically linked library of the font
+ engine in the `objs' directory. It does _not_ support the build
+ of DLLs on Windows and OS/2. If you need these, you have to
+ either use an IDE-specific project file, or follow the
+ instructions in `INSTALL.ANY' to create your own Makefiles.
+
+----------------------------------------------------------------------
+
+Copyright 2003, 2004, 2005, 2006, 2008 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute
+this file you indicate that you have read the license and understand
+and accept it fully.
+
+
+--- end of INSTALL.GNU ---
diff --git a/components/external/freetype/docs/INSTALL.MAC b/components/external/freetype/docs/INSTALL.MAC
index 3b76514f70..42bb0d8637 100644
--- a/components/external/freetype/docs/INSTALL.MAC
+++ b/components/external/freetype/docs/INSTALL.MAC
@@ -1,32 +1,32 @@
-Please follow the instructions in INSTALL.UNIX to install FreeType on
-Mac OS X.
-
-Currently FreeType2 functions based on some deprecated Carbon APIs
-return FT_Err_Unimplemented_Feature always, even if FreeType2 is
-configured and built on the system that deprecated Carbon APIs are
-available. To enable deprecated FreeType2 functions as far as possible,
-replace src/base/ftmac.c by builds/mac/ftmac.c.
-
-Starting with Mac OS X 10.5, gcc defaults the deployment target
-to 10.5. In previous versions of Mac OS X, this defaulted to 10.1.
-If you want your built binaries to run only on 10.5, this change
-does not concern you. If you want them to also run on older versions
-of Mac OS X, then you must either set the MACOSX_DEPLOYMENT_TARGET
-environment variable or pass -mmacosx-version-min to gcc. You should
-specify the oldest version of Mac OS you want the code to run on.
-For example, if you use Bourne shell:
-
- export MACOSX_DEPLOYMENT_TARGET=10.2
-
-or, if you use C shell:
-
- setenv MACOSX_DEPLOYMENT_TARGET 10.2
-
-Alternatively, you could pass "-mmacosx-version-min=10.2" to gcc.
-
-Here the number 10.2 is the lowest version that the built binaries
-can run on. In the cases in above, the built binaries will run on
-Mac OS X 10.2 and later, but _not_ earlier. If you want to run on
-earlier, you have to set lower version, e.g. 10.0.
-
-For classic Mac OS (Mac OS 7, 8, 9) please refer to builds/mac/README.
+Please follow the instructions in INSTALL.UNIX to install FreeType on
+Mac OS X.
+
+Currently FreeType2 functions based on some deprecated Carbon APIs
+return FT_Err_Unimplemented_Feature always, even if FreeType2 is
+configured and built on the system that deprecated Carbon APIs are
+available. To enable deprecated FreeType2 functions as far as possible,
+replace src/base/ftmac.c by builds/mac/ftmac.c.
+
+Starting with Mac OS X 10.5, gcc defaults the deployment target
+to 10.5. In previous versions of Mac OS X, this defaulted to 10.1.
+If you want your built binaries to run only on 10.5, this change
+does not concern you. If you want them to also run on older versions
+of Mac OS X, then you must either set the MACOSX_DEPLOYMENT_TARGET
+environment variable or pass -mmacosx-version-min to gcc. You should
+specify the oldest version of Mac OS you want the code to run on.
+For example, if you use Bourne shell:
+
+ export MACOSX_DEPLOYMENT_TARGET=10.2
+
+or, if you use C shell:
+
+ setenv MACOSX_DEPLOYMENT_TARGET 10.2
+
+Alternatively, you could pass "-mmacosx-version-min=10.2" to gcc.
+
+Here the number 10.2 is the lowest version that the built binaries
+can run on. In the cases in above, the built binaries will run on
+Mac OS X 10.2 and later, but _not_ earlier. If you want to run on
+earlier, you have to set lower version, e.g. 10.0.
+
+For classic Mac OS (Mac OS 7, 8, 9) please refer to builds/mac/README.
diff --git a/components/external/freetype/docs/INSTALL.UNIX b/components/external/freetype/docs/INSTALL.UNIX
index bb0ca0b75e..1d5af993f8 100644
--- a/components/external/freetype/docs/INSTALL.UNIX
+++ b/components/external/freetype/docs/INSTALL.UNIX
@@ -1,96 +1,96 @@
-This document contains instructions on how to build the FreeType
-library on Unix systems. This also works for emulations like Cygwin
-or MSys on Win32:
-
-
- 1. Ensure that you are using GNU Make
- -------------------------------------
-
- The FreeType build system _exclusively_ works with GNU Make. You
- will not be able to compile the library with the instructions
- below using any other alternative (including BSD Make).
-
- Check that you have GNU make by running the command:
-
- make -v
-
- This should dump some text that begins with:
-
- GNU Make <version number>
- Copyright (C) <year> Free Software Foundation Inc.
-
- Note that version 3.80 or higher is *required* or the build will
- fail.
-
- It is also fine to have GNU Make under another name (e.g. 'gmake')
- if you use the GNUMAKE variable as described below.
-
- As a special exception, 'makepp' can also be used to build
- FreeType 2. See the file docs/MAKEPP for details.
-
-
- 2. Regenerate the configure script if needed
- --------------------------------------------
-
- This only applies if you are building a CVS snapshot or checkout,
- *not* if you grabbed the sources of an official release.
-
- You need to invoke the `autogen.sh' script in the top-level
- directory in order to create the `configure' script for your
- platform. Normally, this simply means typing:
-
- sh autogen.sh
-
- In case of problems, you may need to install or upgrade Automake,
- Autoconf or Libtool. See README.CVS in the top-level directory
- for more information.
-
-
- 3. Build and install the library
- --------------------------------
-
- The following should work on all Unix systems where the `make'
- command invokes GNU Make:
-
- ./configure [options]
- make
- make install (as root)
-
- The default installation path is `/usr/local'. It can be changed
- with the `--prefix=<path>' option. Example:
-
- ./configure --prefix=/usr
-
- When using a different command to invoke GNU Make, use the GNUMAKE
- variable. For example, if `gmake' is the command to use on your
- system, do something like:
-
- GNUMAKE=gmake ./configure [options]
- gmake
- gmake install (as root)
-
- If this still doesn't work, there must be a problem with your
- system (e.g., you are using a very old version of GNU Make).
-
- It is possible to compile FreeType in a different directory.
- Assuming the FreeType source files in directory `/src/freetype' a
- compilation in directory `foo' works as follows:
-
- cd foo
- /src/freetype/configure [options]
- make
- make install
-
-----------------------------------------------------------------------
-
-Copyright 2003, 2004, 2005, 2006, 2007 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute
-this file you indicate that you have read the license and understand
-and accept it fully.
-
-
---- end of INSTALL.UNIX ---
+This document contains instructions on how to build the FreeType
+library on Unix systems. This also works for emulations like Cygwin
+or MSys on Win32:
+
+
+ 1. Ensure that you are using GNU Make
+ -------------------------------------
+
+ The FreeType build system _exclusively_ works with GNU Make. You
+ will not be able to compile the library with the instructions
+ below using any other alternative (including BSD Make).
+
+ Check that you have GNU make by running the command:
+
+ make -v
+
+ This should dump some text that begins with:
+
+ GNU Make <version number>
+ Copyright (C) <year> Free Software Foundation Inc.
+
+ Note that version 3.80 or higher is *required* or the build will
+ fail.
+
+ It is also fine to have GNU Make under another name (e.g. 'gmake')
+ if you use the GNUMAKE variable as described below.
+
+ As a special exception, 'makepp' can also be used to build
+ FreeType 2. See the file docs/MAKEPP for details.
+
+
+ 2. Regenerate the configure script if needed
+ --------------------------------------------
+
+ This only applies if you are building a CVS snapshot or checkout,
+ *not* if you grabbed the sources of an official release.
+
+ You need to invoke the `autogen.sh' script in the top-level
+ directory in order to create the `configure' script for your
+ platform. Normally, this simply means typing:
+
+ sh autogen.sh
+
+ In case of problems, you may need to install or upgrade Automake,
+ Autoconf or Libtool. See README.CVS in the top-level directory
+ for more information.
+
+
+ 3. Build and install the library
+ --------------------------------
+
+ The following should work on all Unix systems where the `make'
+ command invokes GNU Make:
+
+ ./configure [options]
+ make
+ make install (as root)
+
+ The default installation path is `/usr/local'. It can be changed
+ with the `--prefix=<path>' option. Example:
+
+ ./configure --prefix=/usr
+
+ When using a different command to invoke GNU Make, use the GNUMAKE
+ variable. For example, if `gmake' is the command to use on your
+ system, do something like:
+
+ GNUMAKE=gmake ./configure [options]
+ gmake
+ gmake install (as root)
+
+ If this still doesn't work, there must be a problem with your
+ system (e.g., you are using a very old version of GNU Make).
+
+ It is possible to compile FreeType in a different directory.
+ Assuming the FreeType source files in directory `/src/freetype' a
+ compilation in directory `foo' works as follows:
+
+ cd foo
+ /src/freetype/configure [options]
+ make
+ make install
+
+----------------------------------------------------------------------
+
+Copyright 2003, 2004, 2005, 2006, 2007 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute
+this file you indicate that you have read the license and understand
+and accept it fully.
+
+
+--- end of INSTALL.UNIX ---
diff --git a/components/external/freetype/docs/INSTALL.VMS b/components/external/freetype/docs/INSTALL.VMS
index c985d14fed..994e566883 100644
--- a/components/external/freetype/docs/INSTALL.VMS
+++ b/components/external/freetype/docs/INSTALL.VMS
@@ -1,62 +1,62 @@
-How to build the freetype2 library on VMS
------------------------------------------
-
-It is actually very straightforward to install the Freetype2 library.
-Just execute vms_make.com from the toplevel directory to build the
-library. This procedure currently accepts the following options:
-
-DEBUG
- Build the library with debug information and without optimization.
-
-lopts=<value>
- Options to pass to the link command e.g. lopts=/traceback
-
-ccopt=<value>
- Options to pass to the C compiler e.g. ccopt=/float=ieee
-
-In case you did download the demos, place them in a separate directory
-sharing the same toplevel as the directory of Freetype2 and follow the
-same instructions as above for the demos from there. The build
-process relies on this to figure the location of the Freetype2 include
-files.
-
-
-To rebuild the sources it is necessary to have MMS/MMK installed on
-the system.
-
-The library is available in the directory
-
- [.LIB]
-
-To compile applications using FreeType 2 you have to define the
-logical FREETYPE pointing to the directory
-
- [.INCLUDE.FREETYPE]
-
-i.e., if the directory in which this INSTALL.VMS file is located is
-$disk:[freetype] then define the logical with
-
- define freetype $disk:[freetype.include.freetype]
-
-This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha
-V7.2-1.
-
-
- Any problems can be reported to
-
- Jouk Jansen <[email protected]> or
- Martin P.J. Zinser <[email protected]>
-
-------------------------------------------------------------------------
-
-Copyright 2000, 2004 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
-accept it fully.
-
-
---- end of INSTALL.VMS ---
+How to build the freetype2 library on VMS
+-----------------------------------------
+
+It is actually very straightforward to install the Freetype2 library.
+Just execute vms_make.com from the toplevel directory to build the
+library. This procedure currently accepts the following options:
+
+DEBUG
+ Build the library with debug information and without optimization.
+
+lopts=<value>
+ Options to pass to the link command e.g. lopts=/traceback
+
+ccopt=<value>
+ Options to pass to the C compiler e.g. ccopt=/float=ieee
+
+In case you did download the demos, place them in a separate directory
+sharing the same toplevel as the directory of Freetype2 and follow the
+same instructions as above for the demos from there. The build
+process relies on this to figure the location of the Freetype2 include
+files.
+
+
+To rebuild the sources it is necessary to have MMS/MMK installed on
+the system.
+
+The library is available in the directory
+
+ [.LIB]
+
+To compile applications using FreeType 2 you have to define the
+logical FREETYPE pointing to the directory
+
+ [.INCLUDE.FREETYPE]
+
+i.e., if the directory in which this INSTALL.VMS file is located is
+$disk:[freetype] then define the logical with
+
+ define freetype $disk:[freetype.include.freetype]
+
+This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha
+V7.2-1.
+
+
+ Any problems can be reported to
+
+ Jouk Jansen <[email protected]> or
+ Martin P.J. Zinser <[email protected]>
+
+------------------------------------------------------------------------
+
+Copyright 2000, 2004 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
+accept it fully.
+
+
+--- end of INSTALL.VMS ---
diff --git a/components/external/freetype/docs/MAKEPP b/components/external/freetype/docs/MAKEPP
index fb2e903183..58eaf551df 100644
--- a/components/external/freetype/docs/MAKEPP
+++ b/components/external/freetype/docs/MAKEPP
@@ -1,5 +1,5 @@
-As a special exception, FreeType can also be built with the 'makepp'
-build tool, available from http://makepp.sourceforge.net.
-
-Note, however. that you will need at least version 1.19 and pass the
-option --norc-substitution to have it work correctly.
+As a special exception, FreeType can also be built with the 'makepp'
+build tool, available from http://makepp.sourceforge.net.
+
+Note, however. that you will need at least version 1.19 and pass the
+option --norc-substitution to have it work correctly.
diff --git a/components/external/freetype/docs/PATENTS b/components/external/freetype/docs/PATENTS
index 8fcaa4e67a..f36778b5e9 100644
--- a/components/external/freetype/docs/PATENTS
+++ b/components/external/freetype/docs/PATENTS
@@ -1,27 +1,27 @@
-
- FreeType Patents Disclaimer
- August 1999
-
-
-
-WE HAVE DISCOVERED THAT APPLE OWNS SEVERAL PATENTS RELATED TO THE
-RENDERING OF TRUETYPE FONTS. THIS COULD MEAN THAT THE FREE USE OF
-FREETYPE MIGHT BE ILLEGAL IN THE USA, JAPAN, AND POSSIBLY OTHER
-COUNTRIES, BE IT IN PROPRIETARY OR FREE SOFTWARE PRODUCTS.
-
-FOR MORE DETAILS, WE STRONGLY ADVISE YOU TO GO TO THE FREETYPE
-PATENTS PAGE AT THE FOLLOWING WEB ADDRESS:
-
- http://www.freetype.org/patents.html
-
-WE WILL NOT PLACE INFORMATION IN THIS FILE AS THE SITUATION IS STILL
-UNDETERMINED FOR NOW. AT THE TIME THESE LINES ARE WRITTEN, WE HAVE
-CONTACTED APPLE'S LEGAL DEPARTMENT AND ARE STILL WAITING FOR THEIR
-ANSWER ON THE SUBJECT.
-
-PLEASE READ THE `INSTALL' FILE TO SEE HOW TO DISABLE THE ENGINE'S
-BYTECODE INTERPRETER IN ORDER TO BUILD A PATENT-FREE ENGINE, AT THE
-COST OF RENDERING QUALITY.
-
-
---- end of PATENTS ---
+
+ FreeType Patents Disclaimer
+ August 1999
+
+
+
+WE HAVE DISCOVERED THAT APPLE OWNS SEVERAL PATENTS RELATED TO THE
+RENDERING OF TRUETYPE FONTS. THIS COULD MEAN THAT THE FREE USE OF
+FREETYPE MIGHT BE ILLEGAL IN THE USA, JAPAN, AND POSSIBLY OTHER
+COUNTRIES, BE IT IN PROPRIETARY OR FREE SOFTWARE PRODUCTS.
+
+FOR MORE DETAILS, WE STRONGLY ADVISE YOU TO GO TO THE FREETYPE
+PATENTS PAGE AT THE FOLLOWING WEB ADDRESS:
+
+ http://www.freetype.org/patents.html
+
+WE WILL NOT PLACE INFORMATION IN THIS FILE AS THE SITUATION IS STILL
+UNDETERMINED FOR NOW. AT THE TIME THESE LINES ARE WRITTEN, WE HAVE
+CONTACTED APPLE'S LEGAL DEPARTMENT AND ARE STILL WAITING FOR THEIR
+ANSWER ON THE SUBJECT.
+
+PLEASE READ THE `INSTALL' FILE TO SEE HOW TO DISABLE THE ENGINE'S
+BYTECODE INTERPRETER IN ORDER TO BUILD A PATENT-FREE ENGINE, AT THE
+COST OF RENDERING QUALITY.
+
+
+--- end of PATENTS ---
diff --git a/components/external/freetype/docs/PROBLEMS b/components/external/freetype/docs/PROBLEMS
index ec85bbde33..9b598966a0 100644
--- a/components/external/freetype/docs/PROBLEMS
+++ b/components/external/freetype/docs/PROBLEMS
@@ -1,77 +1,77 @@
-This file describes various problems that have been encountered in
-compiling, installing and running FreeType 2. Suggestions for
-additions or other improvements to this file are welcome.
-
-----------------------------------------------------------------------
-
-Running Problems
-================
-
-
-* Some Type 1, Multiple Masters, and CID-keyed PostScript fonts aren't
- handled correctly.
-
------
-
-Of course, there might be bugs in FreeType, but some fonts based on
-the PostScript format can't behandled indeed. The reason is that
-FreeType doesn't contain a full PostScript interpreter but applies
-pattern matching instead. In case a font doesn't follow the standard
-structure of the given font format, FreeType fails. A typical example
-is Adobe's `Optima' font family which contains extra code to switch
-between low and high resolution versions of the glyphs.
-
-It might be possible to patch FreeType in some situations, though.
-Please report failing fonts so that we investigate the problem and set
-up a list of such problematic fonts.
-
-----------------------------------------------------------------------
-
-
-Compilation Problems
-====================
-
-
-* I get an `internal compilation error' (ICE) while compiling FreeType
- 2.2.1 with Intel C++.
-
- This has been reported for the following compiler version:
-
- Intel(R) C++ Compiler for 32-bit applications,
- Version 9.0 Build 20050430Z Package ID: W_CC_P_9.0.019
-
------
-
-The best solution is to update the compiler to version
-
- Intel(R) C++ Compiler for 32-bit applications,
- Version 9.1 Build 20060323Z Package ID: W_CC_P_9.1.022
-
-or newer. If this isn't feasible, apply the following patch.
-
-
---- src/cache/ftcbasic.c 20 Mar 2006 12:10:24 -0000 1.20
-+++ src/cache/ftcbasic.c.patched 15 May 2006 02:51:02 -0000
-@@ -252,7 +252,7 @@
- */
-
- FT_CALLBACK_TABLE_DEF
-- const FTC_IFamilyClassRec ftc_basic_image_family_class =
-+ FTC_IFamilyClassRec ftc_basic_image_family_class =
- {
- {
- sizeof ( FTC_BasicFamilyRec ),
-@@ -266,7 +266,7 @@
-
-
- FT_CALLBACK_TABLE_DEF
-- const FTC_GCacheClassRec ftc_basic_image_cache_class =
-+ FTC_GCacheClassRec ftc_basic_image_cache_class =
- {
- {
- ftc_inode_new,
-
-
-----------------------------------------------------------------------
-
---- end of PROBLEMS ---
+This file describes various problems that have been encountered in
+compiling, installing and running FreeType 2. Suggestions for
+additions or other improvements to this file are welcome.
+
+----------------------------------------------------------------------
+
+Running Problems
+================
+
+
+* Some Type 1, Multiple Masters, and CID-keyed PostScript fonts aren't
+ handled correctly.
+
+-----
+
+Of course, there might be bugs in FreeType, but some fonts based on
+the PostScript format can't behandled indeed. The reason is that
+FreeType doesn't contain a full PostScript interpreter but applies
+pattern matching instead. In case a font doesn't follow the standard
+structure of the given font format, FreeType fails. A typical example
+is Adobe's `Optima' font family which contains extra code to switch
+between low and high resolution versions of the glyphs.
+
+It might be possible to patch FreeType in some situations, though.
+Please report failing fonts so that we investigate the problem and set
+up a list of such problematic fonts.
+
+----------------------------------------------------------------------
+
+
+Compilation Problems
+====================
+
+
+* I get an `internal compilation error' (ICE) while compiling FreeType
+ 2.2.1 with Intel C++.
+
+ This has been reported for the following compiler version:
+
+ Intel(R) C++ Compiler for 32-bit applications,
+ Version 9.0 Build 20050430Z Package ID: W_CC_P_9.0.019
+
+-----
+
+The best solution is to update the compiler to version
+
+ Intel(R) C++ Compiler for 32-bit applications,
+ Version 9.1 Build 20060323Z Package ID: W_CC_P_9.1.022
+
+or newer. If this isn't feasible, apply the following patch.
+
+
+--- src/cache/ftcbasic.c 20 Mar 2006 12:10:24 -0000 1.20
++++ src/cache/ftcbasic.c.patched 15 May 2006 02:51:02 -0000
+@@ -252,7 +252,7 @@
+ */
+
+ FT_CALLBACK_TABLE_DEF
+- const FTC_IFamilyClassRec ftc_basic_image_family_class =
++ FTC_IFamilyClassRec ftc_basic_image_family_class =
+ {
+ {
+ sizeof ( FTC_BasicFamilyRec ),
+@@ -266,7 +266,7 @@
+
+
+ FT_CALLBACK_TABLE_DEF
+- const FTC_GCacheClassRec ftc_basic_image_cache_class =
++ FTC_GCacheClassRec ftc_basic_image_cache_class =
+ {
+ {
+ ftc_inode_new,
+
+
+----------------------------------------------------------------------
+
+--- end of PROBLEMS ---
diff --git a/components/external/freetype/docs/TODO b/components/external/freetype/docs/TODO
index b987f9014b..be60d6f040 100644
--- a/components/external/freetype/docs/TODO
+++ b/components/external/freetype/docs/TODO
@@ -1,40 +1,40 @@
-Here is a list of items that need to be addressed in FreeType 2
----------------------------------------------------------------
-
-* Implement stem3/counter hints properly in the Postscript hinter.
-
-* Add CIDCMap support to the CID driver.
-
-* Add track kerning support to the PFR driver.
-
-* Add kerning (AFM file) support to the CID driver.
-
-
-Here is a list of bugs which should be handled
-----------------------------------------------
-
-Other bugs have been registered at the savannah bugzilla of FreeType.
-
-* CID driver:
- Handle the case where a CID font has a top-level font matrix also
- (see PLRM, 5.11.3, Type 0 CIDFonts). Since CID_FaceInfoRec lacks
- a font_matrix entry we have to directly apply it to all subfont
- matrices.
-
-* CID driver:
- Use top-level font matrix entry for setting the upem value, not the
- entries in the FDarray. If absent, use 1000.
-
-------------------------------------------------------------------------
-
-Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
-accept it fully.
-
-
---- end of TODO ---
+Here is a list of items that need to be addressed in FreeType 2
+---------------------------------------------------------------
+
+* Implement stem3/counter hints properly in the Postscript hinter.
+
+* Add CIDCMap support to the CID driver.
+
+* Add track kerning support to the PFR driver.
+
+* Add kerning (AFM file) support to the CID driver.
+
+
+Here is a list of bugs which should be handled
+----------------------------------------------
+
+Other bugs have been registered at the savannah bugzilla of FreeType.
+
+* CID driver:
+ Handle the case where a CID font has a top-level font matrix also
+ (see PLRM, 5.11.3, Type 0 CIDFonts). Since CID_FaceInfoRec lacks
+ a font_matrix entry we have to directly apply it to all subfont
+ matrices.
+
+* CID driver:
+ Use top-level font matrix entry for setting the upem value, not the
+ entries in the FDarray. If absent, use 1000.
+
+------------------------------------------------------------------------
+
+Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
+accept it fully.
+
+
+--- end of TODO ---
diff --git a/components/external/freetype/docs/TRUETYPE b/components/external/freetype/docs/TRUETYPE
index d5c0fbea2d..3e1614ad43 100644
--- a/components/external/freetype/docs/TRUETYPE
+++ b/components/external/freetype/docs/TRUETYPE
@@ -1,40 +1,40 @@
-How to enable the TrueType native hinter if you need it
--------------------------------------------------------
-
- The TrueType bytecode interpreter is disabled in all public releases
- of the FreeType packages for patents reasons; see
-
- http://www.freetype.org/patents.html
-
- for more details.
-
- However, many Linux distributions do enable the interpreter in the
- FreeType packages (DEB/RPM/etc.) they produce for their platforms. If
- you are using TrueType fonts on your system, you most probably want to
- enable it manually by doing the following:
-
- - open the file `include/freetype/config/ftoption.h'
-
- - locate a line that says:
-
- /* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
-
- - change it to:
-
- #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
-
- These steps must be done _before_ compiling the library.
-
-------------------------------------------------------------------------
-
-Copyright 2003, 2005, 2006 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
-accept it fully.
-
-
---- end of TRUETYPE ---
+How to enable the TrueType native hinter if you need it
+-------------------------------------------------------
+
+ The TrueType bytecode interpreter is disabled in all public releases
+ of the FreeType packages for patents reasons; see
+
+ http://www.freetype.org/patents.html
+
+ for more details.
+
+ However, many Linux distributions do enable the interpreter in the
+ FreeType packages (DEB/RPM/etc.) they produce for their platforms. If
+ you are using TrueType fonts on your system, you most probably want to
+ enable it manually by doing the following:
+
+ - open the file `include/freetype/config/ftoption.h'
+
+ - locate a line that says:
+
+ /* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
+
+ - change it to:
+
+ #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+
+ These steps must be done _before_ compiling the library.
+
+------------------------------------------------------------------------
+
+Copyright 2003, 2005, 2006 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
+accept it fully.
+
+
+--- end of TRUETYPE ---
diff --git a/components/external/freetype/docs/UPGRADE.UNIX b/components/external/freetype/docs/UPGRADE.UNIX
index f39a032994..48c746d703 100644
--- a/components/external/freetype/docs/UPGRADE.UNIX
+++ b/components/external/freetype/docs/UPGRADE.UNIX
@@ -1,137 +1,137 @@
-
-SPECIAL NOTE FOR UNIX USERS
-===========================
-
- If you are installing this release of FreeType on a system that
- already uses release 2.0.5 (or even an older version), you have to
- perform a few special steps to ensure that everything goes well.
-
-
- 1. Enable the TrueType bytecode hinter if you need it
- -----------------------------------------------------
-
- See the instructions in the file `TRUETYPE' of this directory.
-
- Note that FreeType supports TrueType fonts without the bytecode
- interpreter through its auto-hinter, which now generates relatively
- good results with most fonts.
-
-
- 2. Determine the correct installation path
- ------------------------------------------
-
- By default, the configure script installs the library in
- `/usr/local'. However, many Unix distributions now install the
- library in `/usr', since FreeType is becoming a critical system
- component.
-
- If FreeType is already installed on your system, type
-
- freetype-config --prefix
-
- on the command line. This should return the installation path
- (e.g., `/usr' or `/usr/local'). To avoid problems of parallel
- FreeType versions, use this path for the --prefix option of the
- configure script.
-
- Otherwise, simply use `/usr' (or whatever you think is adequate for
- your installation).
-
-
- 3. Ensure that you are using GNU Make
- -------------------------------------
-
- The FreeType build system _exclusively_ works with GNU Make (as an
- exception you can use make++ which emulates GNU Make sufficiently;
- see http://makepp.sourceforge.net). You will not be able to compile
- the library with the instructions below using any other alternative
- (including BSD Make).
-
- Trying to compile the library with a different Make tool prints a
- message like:
-
- Sorry, GNU make is required to build FreeType2.
-
- and the build process is aborted. If this happens, install GNU Make
- on your system, and use the GNUMAKE environment variable to name it.
-
-
- 4. Build and install the library
- --------------------------------
-
- The following should work on all Unix systems where the `make'
- command invokes GNU Make:
-
- ./configure --prefix=<yourprefix>
- make
- make install (as root)
-
- where `<yourprefix>' must be replaced by the prefix returned by the
- `freetype-config' command.
-
- When using a different command to invoke GNU Make, use the GNUMAKE
- variable. For example, if `gmake' is the command to use on your
- system, do something like:
-
- GNUMAKE=gmake ./configure --prefix=<yourprefix>
- gmake
- gmake install (as root)
-
-
- 5. Take care of XFree86 version 4
- ---------------------------------
-
- Certain Linux distributions install _several_ versions of FreeType
- on your system. For example, on a fresh Mandrake 8.1 system, you
- can find the following files:
-
- /usr/lib/libfreetype.so which links to
- /usr/lib/libfreetype.6.1.0.so
-
- and
-
- /usr/X11R6/lib/libfreetype.so which links to
- /usr/X11R6/lib/libfreetype.6.0.so
-
- Note that these files correspond to two distinct versions of the
- library! It seems that this surprising issue is due to the install
- scripts of recent XFree86 servers (from 4.1.0) which install their
- own (dated) version of the library in `/usr/X11R6/lib'.
-
- In certain _rare_ cases you may experience minor problems if you
- install this release of the library in `/usr' only, namely, that
- certain applications do not benefit from the bug fixes and rendering
- improvements you would expect.
-
- There are two good ways to deal with this situation:
-
- - Install the library _twice_, in `/usr' and in `/usr/X11R6' (you
- have to do that each time you install a new FreeType release
- though).
-
- - Change the link in /usr/X11R6/lib/libfreetype.so to point to
-
- /usr/lib/libfreetype.so,
-
- and get rid of
-
- /usr/X11R6/lib/libfreetype.6.0.so
-
- The FreeType Team is not responsible for this problem, so please
- contact either the XFree86 development team or your Linux
- distributor to help clear this issue in case the information given
- here doesn't help.
-
-------------------------------------------------------------------------
-
-Copyright 2003, 2005 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
-accept it fully.
-
-
----- end of UPGRADE.UNIX ---
+
+SPECIAL NOTE FOR UNIX USERS
+===========================
+
+ If you are installing this release of FreeType on a system that
+ already uses release 2.0.5 (or even an older version), you have to
+ perform a few special steps to ensure that everything goes well.
+
+
+ 1. Enable the TrueType bytecode hinter if you need it
+ -----------------------------------------------------
+
+ See the instructions in the file `TRUETYPE' of this directory.
+
+ Note that FreeType supports TrueType fonts without the bytecode
+ interpreter through its auto-hinter, which now generates relatively
+ good results with most fonts.
+
+
+ 2. Determine the correct installation path
+ ------------------------------------------
+
+ By default, the configure script installs the library in
+ `/usr/local'. However, many Unix distributions now install the
+ library in `/usr', since FreeType is becoming a critical system
+ component.
+
+ If FreeType is already installed on your system, type
+
+ freetype-config --prefix
+
+ on the command line. This should return the installation path
+ (e.g., `/usr' or `/usr/local'). To avoid problems of parallel
+ FreeType versions, use this path for the --prefix option of the
+ configure script.
+
+ Otherwise, simply use `/usr' (or whatever you think is adequate for
+ your installation).
+
+
+ 3. Ensure that you are using GNU Make
+ -------------------------------------
+
+ The FreeType build system _exclusively_ works with GNU Make (as an
+ exception you can use make++ which emulates GNU Make sufficiently;
+ see http://makepp.sourceforge.net). You will not be able to compile
+ the library with the instructions below using any other alternative
+ (including BSD Make).
+
+ Trying to compile the library with a different Make tool prints a
+ message like:
+
+ Sorry, GNU make is required to build FreeType2.
+
+ and the build process is aborted. If this happens, install GNU Make
+ on your system, and use the GNUMAKE environment variable to name it.
+
+
+ 4. Build and install the library
+ --------------------------------
+
+ The following should work on all Unix systems where the `make'
+ command invokes GNU Make:
+
+ ./configure --prefix=<yourprefix>
+ make
+ make install (as root)
+
+ where `<yourprefix>' must be replaced by the prefix returned by the
+ `freetype-config' command.
+
+ When using a different command to invoke GNU Make, use the GNUMAKE
+ variable. For example, if `gmake' is the command to use on your
+ system, do something like:
+
+ GNUMAKE=gmake ./configure --prefix=<yourprefix>
+ gmake
+ gmake install (as root)
+
+
+ 5. Take care of XFree86 version 4
+ ---------------------------------
+
+ Certain Linux distributions install _several_ versions of FreeType
+ on your system. For example, on a fresh Mandrake 8.1 system, you
+ can find the following files:
+
+ /usr/lib/libfreetype.so which links to
+ /usr/lib/libfreetype.6.1.0.so
+
+ and
+
+ /usr/X11R6/lib/libfreetype.so which links to
+ /usr/X11R6/lib/libfreetype.6.0.so
+
+ Note that these files correspond to two distinct versions of the
+ library! It seems that this surprising issue is due to the install
+ scripts of recent XFree86 servers (from 4.1.0) which install their
+ own (dated) version of the library in `/usr/X11R6/lib'.
+
+ In certain _rare_ cases you may experience minor problems if you
+ install this release of the library in `/usr' only, namely, that
+ certain applications do not benefit from the bug fixes and rendering
+ improvements you would expect.
+
+ There are two good ways to deal with this situation:
+
+ - Install the library _twice_, in `/usr' and in `/usr/X11R6' (you
+ have to do that each time you install a new FreeType release
+ though).
+
+ - Change the link in /usr/X11R6/lib/libfreetype.so to point to
+
+ /usr/lib/libfreetype.so,
+
+ and get rid of
+
+ /usr/X11R6/lib/libfreetype.6.0.so
+
+ The FreeType Team is not responsible for this problem, so please
+ contact either the XFree86 development team or your Linux
+ distributor to help clear this issue in case the information given
+ here doesn't help.
+
+------------------------------------------------------------------------
+
+Copyright 2003, 2005 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
+accept it fully.
+
+
+---- end of UPGRADE.UNIX ---
diff --git a/components/external/freetype/docs/VERSION.DLL b/components/external/freetype/docs/VERSION.DLL
index e41792edbe..bb55c3dda9 100644
--- a/components/external/freetype/docs/VERSION.DLL
+++ b/components/external/freetype/docs/VERSION.DLL
@@ -1,138 +1,138 @@
-Due to our use of `libtool' to generate and install the FreeType 2
-libraries on Unix systems, as well as other historical events, it is
-generally very difficult to know precisely which release of the font
-engine is installed on a given system.
-
-This file tries to explain why and to document ways to properly detect
-FreeType on Unix.
-
-
-1. Version and Release numbers
-------------------------------
-
-For each new public release of FreeType 2, there are generally *three*
-distinct `version' numbers to consider:
-
- * The official FreeType 2 release number, like 2.0.9 or 2.1.3.
-
- * The libtool (and Unix) specific version number, like 9.2.3. This is
- what `freetype-config --version' returns.
-
- * The platform-specific shared object number, used for example when
- the library is installed as `/usr/lib/libfreetype.so.6.3.2'.
-
-The platform-specific number is, unsurprisingly, platform-specific and
-varies with the operating system you are using (several variants of
-Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
-for simple tests.
-
-The libtool-specific number does not equal the release number but is
-tied to it.
-
-The release number is available at *compile* time through the following
-macros defined in FT_FREETYPE_H:
-
- - FREETYPE_MAJOR: major release number
- - FREETYPE_MINOR: minor release number
- - FREETYPE_PATCH: patch release number
-
-See below for a small autoconf fragment.
-
-The release number is also available at *runtime* through the
-`FT_Library_Version' API. Unfortunately, this one wasn't available or
-working correctly before the 2.1.3 official release.
-
-
-2. History
-----------
-
-The following table gives, for each official release, the corresponding
-libtool number, as well as the shared object number found on _most_
-systems, but not all of them:
-
-
- release libtool so
- -------------------------------
- 2.3.12 10.0.4 6.4.0
- 2.3.11 9.22.3 6.3.22
- 2.3.10 9.21.3 6.3.21
- 2.3.9 9.20.3 6.3.20
- 2.3.8 9.19.3 6.3.19
- 2.3.7 9.18.3 6.3.18
- 2.3.6 9.17.3 6.3.17
- 2.3.5 9.16.3 6.3.16
- 2.3.4 9.15.3 6.3.15
- 2.3.3 9.14.3 6.3.14
- 2.3.2 9.13.3 6.3.13
- 2.3.1 9.12.3 6.3.12
- 2.3.0 9.11.3 6.3.11
- 2.2.1 9.10.3 6.3.10
- 2.2.0 9.9.3 6.3.9
- 2.1.10 9.8.3 6.3.8
- 2.1.9 9.7.3 6.3.7
- 2.1.8 9.6.3 6.3.6
- 2.1.7 9.5.3 6.3.5
- 2.1.6 9.5.3 6.3.5
- 2.1.5 9.4.3 6.3.4
- 2.1.4 9.3.3 6.3.3
- 2.1.3 9.2.3 6.3.2
- 2.1.2 9.1.3 6.3.1
- 2.1.1 9.0.3 ?
- 2.1.0 8.0.2 ?
- 2.0.9 9.0.3 ?
- 2.0.8 8.0.2 ?
- 2.0.4 7.0.1 ?
- 2.0.1 6.1.0 ?
-
-The libtool numbers are a bit inconsistent due to the library's history:
-
- - 2.1.0 was created as a development branch from 2.0.8 (hence the same
- libtool numbers).
-
- - 2.0.9 was a bug-fix release of the `stable' branch, and we
- incorrectly increased its libtool number.
-
- - 2.1.4 was a development version, however it was stable enough to be
- the basis of the 2.2.0 release.
-
-
-3. Autoconf Code Fragment
--------------------------
-
-Lars Clausen contributed the following autoconf fragment to detect which
-version of FreeType is installed on a system. This one tests for a
-version that is at least 2.0.9; you should change it to check against
-other release numbers.
-
-
- AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
- old_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS=`freetype-config --cflags`
- AC_TRY_CPP([
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
-#error Freetype version too low.
-#endif
- ],
- [AC_MSG_RESULT(yes)
- FREETYPE_LIBS=`freetype-config --libs`
- AC_SUBST(FREETYPE_LIBS)
- AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
- CPPFLAGS="$old_CPPFLAGS"],
- [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
-
-------------------------------------------------------------------------
-
-Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
-accept it fully.
-
-
---- end of VERSION.DLL ---
+Due to our use of `libtool' to generate and install the FreeType 2
+libraries on Unix systems, as well as other historical events, it is
+generally very difficult to know precisely which release of the font
+engine is installed on a given system.
+
+This file tries to explain why and to document ways to properly detect
+FreeType on Unix.
+
+
+1. Version and Release numbers
+------------------------------
+
+For each new public release of FreeType 2, there are generally *three*
+distinct `version' numbers to consider:
+
+ * The official FreeType 2 release number, like 2.0.9 or 2.1.3.
+
+ * The libtool (and Unix) specific version number, like 9.2.3. This is
+ what `freetype-config --version' returns.
+
+ * The platform-specific shared object number, used for example when
+ the library is installed as `/usr/lib/libfreetype.so.6.3.2'.
+
+The platform-specific number is, unsurprisingly, platform-specific and
+varies with the operating system you are using (several variants of
+Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
+for simple tests.
+
+The libtool-specific number does not equal the release number but is
+tied to it.
+
+The release number is available at *compile* time through the following
+macros defined in FT_FREETYPE_H:
+
+ - FREETYPE_MAJOR: major release number
+ - FREETYPE_MINOR: minor release number
+ - FREETYPE_PATCH: patch release number
+
+See below for a small autoconf fragment.
+
+The release number is also available at *runtime* through the
+`FT_Library_Version' API. Unfortunately, this one wasn't available or
+working correctly before the 2.1.3 official release.
+
+
+2. History
+----------
+
+The following table gives, for each official release, the corresponding
+libtool number, as well as the shared object number found on _most_
+systems, but not all of them:
+
+
+ release libtool so
+ -------------------------------
+ 2.3.12 10.0.4 6.4.0
+ 2.3.11 9.22.3 6.3.22
+ 2.3.10 9.21.3 6.3.21
+ 2.3.9 9.20.3 6.3.20
+ 2.3.8 9.19.3 6.3.19
+ 2.3.7 9.18.3 6.3.18
+ 2.3.6 9.17.3 6.3.17
+ 2.3.5 9.16.3 6.3.16
+ 2.3.4 9.15.3 6.3.15
+ 2.3.3 9.14.3 6.3.14
+ 2.3.2 9.13.3 6.3.13
+ 2.3.1 9.12.3 6.3.12
+ 2.3.0 9.11.3 6.3.11
+ 2.2.1 9.10.3 6.3.10
+ 2.2.0 9.9.3 6.3.9
+ 2.1.10 9.8.3 6.3.8
+ 2.1.9 9.7.3 6.3.7
+ 2.1.8 9.6.3 6.3.6
+ 2.1.7 9.5.3 6.3.5
+ 2.1.6 9.5.3 6.3.5
+ 2.1.5 9.4.3 6.3.4
+ 2.1.4 9.3.3 6.3.3
+ 2.1.3 9.2.3 6.3.2
+ 2.1.2 9.1.3 6.3.1
+ 2.1.1 9.0.3 ?
+ 2.1.0 8.0.2 ?
+ 2.0.9 9.0.3 ?
+ 2.0.8 8.0.2 ?
+ 2.0.4 7.0.1 ?
+ 2.0.1 6.1.0 ?
+
+The libtool numbers are a bit inconsistent due to the library's history:
+
+ - 2.1.0 was created as a development branch from 2.0.8 (hence the same
+ libtool numbers).
+
+ - 2.0.9 was a bug-fix release of the `stable' branch, and we
+ incorrectly increased its libtool number.
+
+ - 2.1.4 was a development version, however it was stable enough to be
+ the basis of the 2.2.0 release.
+
+
+3. Autoconf Code Fragment
+-------------------------
+
+Lars Clausen contributed the following autoconf fragment to detect which
+version of FreeType is installed on a system. This one tests for a
+version that is at least 2.0.9; you should change it to check against
+other release numbers.
+
+
+ AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
+ old_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS=`freetype-config --cflags`
+ AC_TRY_CPP([
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
+#error Freetype version too low.
+#endif
+ ],
+ [AC_MSG_RESULT(yes)
+ FREETYPE_LIBS=`freetype-config --libs`
+ AC_SUBST(FREETYPE_LIBS)
+ AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
+ CPPFLAGS="$old_CPPFLAGS"],
+ [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
+
+------------------------------------------------------------------------
+
+Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
+accept it fully.
+
+
+--- end of VERSION.DLL ---
diff --git a/components/external/freetype/docs/reference/.gitignore b/components/external/freetype/docs/reference/.gitignore
index d3fc626fe4..2d19fc766d 100644
--- a/components/external/freetype/docs/reference/.gitignore
+++ b/components/external/freetype/docs/reference/.gitignore
@@ -1 +1 @@
-*.html
+*.html
diff --git a/components/external/freetype/docs/reference/README b/components/external/freetype/docs/reference/README
index 906b77acf9..51b04d6f15 100644
--- a/components/external/freetype/docs/reference/README
+++ b/components/external/freetype/docs/reference/README
@@ -1,5 +1,5 @@
-After saying `make refdoc' this directory contains the FreeType API
-reference. You need python to make this target.
-
-This also works with Jam: Just type `jam refdoc' in the main directory.
-
+After saying `make refdoc' this directory contains the FreeType API
+reference. You need python to make this target.
+
+This also works with Jam: Just type `jam refdoc' in the main directory.
+
diff --git a/components/external/freetype/docs/release b/components/external/freetype/docs/release
index e79a31c85d..5e2d51f880 100644
--- a/components/external/freetype/docs/release
+++ b/components/external/freetype/docs/release
@@ -1,195 +1,195 @@
-How to prepare a new release
-----------------------------
-
-. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
- and FREETYPE_PATCH.
-
-. Update version numbers in all files where necessary (for example, do
- a grep for both `2.3.1' and `231' for release 2.3.1).
-
-. builds/unix/configure.raw: Update `version_info'.
-
-. docs/CHANGES: Document differences to last release.
-
-. README: Update.
-
-. docs/VERSION.DLL: Document changed `version_info'.
-
-. ChangeLog: Announce new release (both in the freetype2 and
- freetype2-demos modules).
-
-. Clone the git archive to another directory with
-
- git clone -l -s . ../freetype2.test
-
- or something like this and run
-
- make distclean; make devel; make
- make distclean; make devel; make multi
- make distclean; make devel CC=g++; make CC=g++
- make distclean; make devel CC=g++; make multi CC=g++
-
- sh autogen.sh
- make distclean; ./configure; make
- make distclean; ./configure CC=g++; make
-
- in the cloned repository to test compilation with both gcc and g++.
-
-. Test C++ compilation for freetype2-demos too (using `git clone' as
- above).
-
-. Run src/tools/chktrcmp.py and check that there are no undefined
- trace_XXXX macros.
-
-. Tag the git repositories (freetype2, freetype2-demos) with
-
- git tag VER-<version> -m "" -u <committer>
-
- and push the tags with
-
- git push --tags
-
- TODO: Tag the home page CVS on savannah.nongnu.org.
-
-. Say `make dist' in both the freetype2 and freetype2-demos modules
- to generate the .tar.gz, .tar.bz2, and .zip files.
-
-. Create the doc bundles (freetype-doc-<version>.tar.gz,
- freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
- everything below
-
- freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
-
- except the `reference' subdirectory. Do *not* use option `-l' from
- zip!
-
-. Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
- and $SOURCEFORGE_USER variables) to sign and upload the bundles to
- both Savannah and SourceForge. The signing code has been taken from
- the `gnupload' script (part of the automake bundle).
-
- #!/bin/sh
-
- VERSION=2.3.11
- SAVANNAH_USER=wl
- SOURCEFORGE_USER=wlemb
-
- #####################################################################
-
- GPG='/usr/bin/gpg --batch --no-tty'
-
- version=`echo $VERSION | sed "s/\\.//g"`
-
- FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
- freetype-$VERSION.tar.bz2 \
- ft$version.zip"
- FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
- ft2demos-$VERSION.tar.bz2 \
- ftdmo$version.zip"
- FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
- freetype-doc-$VERSION.tar.bz2 \
- ftdoc$version.zip"
-
- PACKAGE_LIST="$FREETYPE_PACKAGES \
- $FT2DEMOS_PACKAGES \
- $FTDOC_PACKAGES"
-
- set -e
- unset passphrase
-
- PATH=/empty echo -n "Enter GPG passphrase: "
- stty -echo
- read -r passphrase
- stty echo
- echo
-
- for f in $PACKAGE_LIST; do
- if test ! -f $f; then
- echo "$0: Cannot find \`$f'" 1>&2
- exit 1
- else
- :
- fi
- done
-
- for f in $PACKAGE_LIST; do
- echo "Signing $f..."
- rm -f $f.sig
- echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
- done
-
- FREETYPE_SIGNATURES=
- for i in $FREETYPE_PACKAGES; do
- FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
- done
-
- FT2DEMOS_SIGNATURES=
- for i in $FT2DEMOS_PACKAGES; do
- FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
- done
-
- FTDOC_SIGNATURES=
- for i in $FTDOC_PACKAGES; do
- FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
- done
-
- SIGNATURE_LIST="$FREETYPE_SIGNATURES \
- $FT2DEMOS_SIGNATURES \
- $FTDOC_SIGNATURES"
-
- scp $PACKAGE_LIST $SIGNATURE_LIST \
- [email protected]:/releases/freetype/
-
- rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
- $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
- rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
- $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
- rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
- $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
-
- # EOF
-
-. While files on savannah.gnu.org are automatically moved to the right
- directory, it must be done manually on SourceForge. Do that now.
-
-. Update the FreeType release notes on SourceForge.
-
-. Copy the reference files (generated by `make dist') to
-
- freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
-
- and
-
- shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
-
- TODO: Create FreeType home page CVS on savannah.nongnu.org and
- update it accordingly.
-
- Write script to automatically do this.
-
- Mirror FreeType's savannah home page everywhere.
-
-. Update
-
- freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
-
- and copy it to
-
- shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
-
-. Announce new release on [email protected] and to relevant
- newsgroups.
-
-----------------------------------------------------------------------
-
-Copyright 2003, 2005, 2006, 2007, 2009 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute
-this file you indicate that you have read the license and understand
-and accept it fully.
-
-
---- end of release ---
+How to prepare a new release
+----------------------------
+
+. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
+ and FREETYPE_PATCH.
+
+. Update version numbers in all files where necessary (for example, do
+ a grep for both `2.3.1' and `231' for release 2.3.1).
+
+. builds/unix/configure.raw: Update `version_info'.
+
+. docs/CHANGES: Document differences to last release.
+
+. README: Update.
+
+. docs/VERSION.DLL: Document changed `version_info'.
+
+. ChangeLog: Announce new release (both in the freetype2 and
+ freetype2-demos modules).
+
+. Clone the git archive to another directory with
+
+ git clone -l -s . ../freetype2.test
+
+ or something like this and run
+
+ make distclean; make devel; make
+ make distclean; make devel; make multi
+ make distclean; make devel CC=g++; make CC=g++
+ make distclean; make devel CC=g++; make multi CC=g++
+
+ sh autogen.sh
+ make distclean; ./configure; make
+ make distclean; ./configure CC=g++; make
+
+ in the cloned repository to test compilation with both gcc and g++.
+
+. Test C++ compilation for freetype2-demos too (using `git clone' as
+ above).
+
+. Run src/tools/chktrcmp.py and check that there are no undefined
+ trace_XXXX macros.
+
+. Tag the git repositories (freetype2, freetype2-demos) with
+
+ git tag VER-<version> -m "" -u <committer>
+
+ and push the tags with
+
+ git push --tags
+
+ TODO: Tag the home page CVS on savannah.nongnu.org.
+
+. Say `make dist' in both the freetype2 and freetype2-demos modules
+ to generate the .tar.gz, .tar.bz2, and .zip files.
+
+. Create the doc bundles (freetype-doc-<version>.tar.gz,
+ freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
+ everything below
+
+ freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
+
+ except the `reference' subdirectory. Do *not* use option `-l' from
+ zip!
+
+. Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
+ and $SOURCEFORGE_USER variables) to sign and upload the bundles to
+ both Savannah and SourceForge. The signing code has been taken from
+ the `gnupload' script (part of the automake bundle).
+
+ #!/bin/sh
+
+ VERSION=2.3.11
+ SAVANNAH_USER=wl
+ SOURCEFORGE_USER=wlemb
+
+ #####################################################################
+
+ GPG='/usr/bin/gpg --batch --no-tty'
+
+ version=`echo $VERSION | sed "s/\\.//g"`
+
+ FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
+ freetype-$VERSION.tar.bz2 \
+ ft$version.zip"
+ FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
+ ft2demos-$VERSION.tar.bz2 \
+ ftdmo$version.zip"
+ FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
+ freetype-doc-$VERSION.tar.bz2 \
+ ftdoc$version.zip"
+
+ PACKAGE_LIST="$FREETYPE_PACKAGES \
+ $FT2DEMOS_PACKAGES \
+ $FTDOC_PACKAGES"
+
+ set -e
+ unset passphrase
+
+ PATH=/empty echo -n "Enter GPG passphrase: "
+ stty -echo
+ read -r passphrase
+ stty echo
+ echo
+
+ for f in $PACKAGE_LIST; do
+ if test ! -f $f; then
+ echo "$0: Cannot find \`$f'" 1>&2
+ exit 1
+ else
+ :
+ fi
+ done
+
+ for f in $PACKAGE_LIST; do
+ echo "Signing $f..."
+ rm -f $f.sig
+ echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
+ done
+
+ FREETYPE_SIGNATURES=
+ for i in $FREETYPE_PACKAGES; do
+ FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
+ done
+
+ FT2DEMOS_SIGNATURES=
+ for i in $FT2DEMOS_PACKAGES; do
+ FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
+ done
+
+ FTDOC_SIGNATURES=
+ for i in $FTDOC_PACKAGES; do
+ FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
+ done
+
+ SIGNATURE_LIST="$FREETYPE_SIGNATURES \
+ $FT2DEMOS_SIGNATURES \
+ $FTDOC_SIGNATURES"
+
+ scp $PACKAGE_LIST $SIGNATURE_LIST \
+ [email protected]:/releases/freetype/
+
+ rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
+ $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
+ rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
+ $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
+ rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
+ $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
+
+ # EOF
+
+. While files on savannah.gnu.org are automatically moved to the right
+ directory, it must be done manually on SourceForge. Do that now.
+
+. Update the FreeType release notes on SourceForge.
+
+. Copy the reference files (generated by `make dist') to
+
+ freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
+
+ and
+
+ shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
+
+ TODO: Create FreeType home page CVS on savannah.nongnu.org and
+ update it accordingly.
+
+ Write script to automatically do this.
+
+ Mirror FreeType's savannah home page everywhere.
+
+. Update
+
+ freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
+
+ and copy it to
+
+ shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
+
+. Announce new release on [email protected] and to relevant
+ newsgroups.
+
+----------------------------------------------------------------------
+
+Copyright 2003, 2005, 2006, 2007, 2009 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute
+this file you indicate that you have read the license and understand
+and accept it fully.
+
+
+--- end of release ---
diff --git a/components/external/freetype/modules.cfg b/components/external/freetype/modules.cfg
index 5d12b63ab9..4047d7f09c 100644
--- a/components/external/freetype/modules.cfg
+++ b/components/external/freetype/modules.cfg
@@ -1,250 +1,250 @@
-# modules.cfg
-#
-# Copyright 2005, 2006, 2007, 2009 by
-# David Turner, Robert Wilhelm, and Werner Lemberg.
-#
-# This file is part of the FreeType project, and may only be used, modified,
-# and distributed under the terms of the FreeType project license,
-# LICENSE.TXT. By continuing to use, modify, or distribute this file you
-# indicate that you have read the license and understand and accept it
-# fully.
-#
-#
-# In case you compile the FreeType library with GNU make or makepp, this
-# file controls which components are built into the library. Otherwise,
-# please read this file for information on the various modules and its
-# dependencies, then follow the instructions in the file `docs/INSTALL.ANY'.
-#
-# To deactivate a module, simply comment out the corresponding line. To
-# activate a module, remove the comment character.
-#
-# Note that many modules and components are further controlled with macros
-# in the file `include/freetype/config/ftoption.h'.
-
-
-####
-#### font modules -- at least one is required
-####
-#### The order given here (from top to down) is the order used for testing
-#### font formats in the compiled library.
-####
-
-# TrueType font driver.
-#
-# This driver needs the `sfnt' module.
-FONT_MODULES += truetype
-
-# PostScript Type 1 font driver.
-#
-# This driver needs the `psaux', `pshinter', and `psnames' modules.
-FONT_MODULES += type1
-
-# CFF/OpenType font driver.
-#
-# This driver needs the `sfnt', `pshinter', and `psnames' modules.
-FONT_MODULES += cff
-
-# Type 1 CID-keyed font driver.
-#
-# This driver needs the `psaux', `pshinter', and `psnames' modules.
-FONT_MODULES += cid
-
-# PFR/TrueDoc font driver. See optional extension ftpfr.c below also.
-FONT_MODULES += pfr
-
-# PostScript Type 42 font driver.
-#
-# This driver needs the `truetype' module.
-FONT_MODULES += type42
-
-# Windows FONT/FNT font driver. See optional extension ftwinfnt.c below
-# also.
-FONT_MODULES += winfonts
-
-# PCF font driver.
-FONT_MODULES += pcf
-
-# BDF font driver. See optional extension ftbdf.c below also.
-FONT_MODULES += bdf
-
-# SFNT files support. If used without `truetype' or `cff', it supports
-# bitmap-only fonts within an SFNT wrapper.
-#
-# This driver needs the `psnames' module.
-FONT_MODULES += sfnt
-
-
-####
-#### hinting modules
-####
-
-# FreeType's auto hinter.
-HINTING_MODULES += autofit
-
-# PostScript hinter.
-HINTING_MODULES += pshinter
-
-# The TrueType hinting engine doesn't have a module of its own but is
-# controlled in file include/freetype/config/ftoption.h
-# (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends).
-
-
-####
-#### raster modules -- at least one is required for vector font formats
-####
-
-# Monochrome rasterizer.
-RASTER_MODULES += raster
-
-# Anti-aliasing rasterizer.
-RASTER_MODULES += smooth
-
-
-####
-#### auxiliary modules
-####
-
-# FreeType's cache sub-system (quite stable but still in beta -- this means
-# that its public API is subject to change if necessary). See
-# include/freetype/ftcache.h. Needs ftglyph.c.
-AUX_MODULES += cache
-
-# TrueType GX/AAT table validation. Needs ftgxval.c below.
-# AUX_MODULES += gxvalid
-
-# Support for streams compressed with gzip (files with suffix .gz).
-#
-# See include/freetype/ftgzip.h for the API.
-AUX_MODULES += gzip
-
-# Support for streams compressed with LZW (files with suffix .Z).
-#
-# See include/freetype/ftlzw.h for the API.
-AUX_MODULES += lzw
-
-# OpenType table validation. Needs ftotval.c below.
-#
-# AUX_MODULES += otvalid
-
-# Auxiliary PostScript driver component to share common code.
-#
-# This module depends on `psnames'.
-AUX_MODULES += psaux
-
-# Support for PostScript glyph names.
-#
-# This module can be controlled in ftconfig.h
-# (FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
-AUX_MODULES += psnames
-
-
-####
-#### base module extensions
-####
-
-# Exact bounding box calculation.
-#
-# See include/freetype/ftbbox.h for the API.
-BASE_EXTENSIONS += ftbbox.c
-
-# Access BDF-specific strings. Needs BDF font driver.
-#
-# See include/freetype/ftbdf.h for the API.
-BASE_EXTENSIONS += ftbdf.c
-
-# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
-# 8bpp format, and for emboldening of bitmap glyphs.
-#
-# See include/freetype/ftbitmap.h for the API.
-BASE_EXTENSIONS += ftbitmap.c
-
-# Access CID font information.
-#
-# See include/freetype/ftcid.h for the API.
-BASE_EXTENSIONS += ftcid.c
-
-# Access FSType information. Needs fttype1.c.
-#
-# See include/freetype/freetype.h for the API.
-BASE_EXTENSIONS += ftfstype.c
-
-# Support for GASP table queries.
-#
-# See include/freetype/ftgasp.h for the API.
-BASE_EXTENSIONS += ftgasp.c
-
-# Convenience functions to handle glyphs. Needs ftbitmap.c.
-#
-# See include/freetype/ftglyph.h for the API.
-BASE_EXTENSIONS += ftglyph.c
-
-# Interface for gxvalid module.
-#
-# See include/freetype/ftgxval.h for the API.
-BASE_EXTENSIONS += ftgxval.c
-
-# Support for LCD color filtering of subpixel bitmaps.
-#
-# See include/freetype/ftlcdfil.h for the API.
-BASE_EXTENSIONS += ftlcdfil.c
-
-# Multiple Master font interface.
-#
-# See include/freetype/ftmm.h for the API.
-BASE_EXTENSIONS += ftmm.c
-
-# Interface for otvalid module.
-#
-# See include/freetype/ftotval.h for the API.
-BASE_EXTENSIONS += ftotval.c
-
-# Support for FT_Face_CheckTrueTypePatents.
-#
-# See include/freetype/freetype.h for the API.
-BASE_EXTENSIONS += ftpatent.c
-
-# Interface for accessing PFR-specific data. Needs PFR font driver.
-#
-# See include/freetype/ftpfr.h for the API.
-BASE_EXTENSIONS += ftpfr.c
-
-# Path stroker. Needs ftglyph.c.
-#
-# See include/freetype/ftstroke.h for the API.
-BASE_EXTENSIONS += ftstroke.c
-
-# Support for synthetic embolding and slanting of fonts. Needs ftbitmap.c.
-#
-# See include/freetype/ftsynth.h for the API.
-BASE_EXTENSIONS += ftsynth.c
-
-# Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
-# fonts.
-#
-# See include/freetype/t1tables.h for the API.
-BASE_EXTENSIONS += fttype1.c
-
-# Interface for accessing data specific to Windows FNT files. Needs winfnt
-# driver.
-#
-# See include/freetype/ftwinfnt.h for the API.
-BASE_EXTENSIONS += ftwinfnt.c
-
-# Support functions for X11.
-#
-# See include/freetype/ftxf86.h for the API.
-BASE_EXTENSIONS += ftxf86.c
-
-####
-#### The components `ftsystem.c' (for memory allocation and stream I/O
-#### management) and `ftdebug.c' (for emitting debug messages to the user)
-#### are controlled with the following variables.
-####
-#### ftsystem.c: $(FTSYS_SRC)
-#### ftdebug.c: $(FTDEBUG_SRC)
-####
-#### Please refer to docs/CUSTOMIZE for details.
-####
-
-
-# EOF
+# modules.cfg
+#
+# Copyright 2005, 2006, 2007, 2009 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+#
+#
+# In case you compile the FreeType library with GNU make or makepp, this
+# file controls which components are built into the library. Otherwise,
+# please read this file for information on the various modules and its
+# dependencies, then follow the instructions in the file `docs/INSTALL.ANY'.
+#
+# To deactivate a module, simply comment out the corresponding line. To
+# activate a module, remove the comment character.
+#
+# Note that many modules and components are further controlled with macros
+# in the file `include/freetype/config/ftoption.h'.
+
+
+####
+#### font modules -- at least one is required
+####
+#### The order given here (from top to down) is the order used for testing
+#### font formats in the compiled library.
+####
+
+# TrueType font driver.
+#
+# This driver needs the `sfnt' module.
+FONT_MODULES += truetype
+
+# PostScript Type 1 font driver.
+#
+# This driver needs the `psaux', `pshinter', and `psnames' modules.
+FONT_MODULES += type1
+
+# CFF/OpenType font driver.
+#
+# This driver needs the `sfnt', `pshinter', and `psnames' modules.
+FONT_MODULES += cff
+
+# Type 1 CID-keyed font driver.
+#
+# This driver needs the `psaux', `pshinter', and `psnames' modules.
+FONT_MODULES += cid
+
+# PFR/TrueDoc font driver. See optional extension ftpfr.c below also.
+FONT_MODULES += pfr
+
+# PostScript Type 42 font driver.
+#
+# This driver needs the `truetype' module.
+FONT_MODULES += type42
+
+# Windows FONT/FNT font driver. See optional extension ftwinfnt.c below
+# also.
+FONT_MODULES += winfonts
+
+# PCF font driver.
+FONT_MODULES += pcf
+
+# BDF font driver. See optional extension ftbdf.c below also.
+FONT_MODULES += bdf
+
+# SFNT files support. If used without `truetype' or `cff', it supports
+# bitmap-only fonts within an SFNT wrapper.
+#
+# This driver needs the `psnames' module.
+FONT_MODULES += sfnt
+
+
+####
+#### hinting modules
+####
+
+# FreeType's auto hinter.
+HINTING_MODULES += autofit
+
+# PostScript hinter.
+HINTING_MODULES += pshinter
+
+# The TrueType hinting engine doesn't have a module of its own but is
+# controlled in file include/freetype/config/ftoption.h
+# (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends).
+
+
+####
+#### raster modules -- at least one is required for vector font formats
+####
+
+# Monochrome rasterizer.
+RASTER_MODULES += raster
+
+# Anti-aliasing rasterizer.
+RASTER_MODULES += smooth
+
+
+####
+#### auxiliary modules
+####
+
+# FreeType's cache sub-system (quite stable but still in beta -- this means
+# that its public API is subject to change if necessary). See
+# include/freetype/ftcache.h. Needs ftglyph.c.
+AUX_MODULES += cache
+
+# TrueType GX/AAT table validation. Needs ftgxval.c below.
+# AUX_MODULES += gxvalid
+
+# Support for streams compressed with gzip (files with suffix .gz).
+#
+# See include/freetype/ftgzip.h for the API.
+AUX_MODULES += gzip
+
+# Support for streams compressed with LZW (files with suffix .Z).
+#
+# See include/freetype/ftlzw.h for the API.
+AUX_MODULES += lzw
+
+# OpenType table validation. Needs ftotval.c below.
+#
+# AUX_MODULES += otvalid
+
+# Auxiliary PostScript driver component to share common code.
+#
+# This module depends on `psnames'.
+AUX_MODULES += psaux
+
+# Support for PostScript glyph names.
+#
+# This module can be controlled in ftconfig.h
+# (FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
+AUX_MODULES += psnames
+
+
+####
+#### base module extensions
+####
+
+# Exact bounding box calculation.
+#
+# See include/freetype/ftbbox.h for the API.
+BASE_EXTENSIONS += ftbbox.c
+
+# Access BDF-specific strings. Needs BDF font driver.
+#
+# See include/freetype/ftbdf.h for the API.
+BASE_EXTENSIONS += ftbdf.c
+
+# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
+# 8bpp format, and for emboldening of bitmap glyphs.
+#
+# See include/freetype/ftbitmap.h for the API.
+BASE_EXTENSIONS += ftbitmap.c
+
+# Access CID font information.
+#
+# See include/freetype/ftcid.h for the API.
+BASE_EXTENSIONS += ftcid.c
+
+# Access FSType information. Needs fttype1.c.
+#
+# See include/freetype/freetype.h for the API.
+BASE_EXTENSIONS += ftfstype.c
+
+# Support for GASP table queries.
+#
+# See include/freetype/ftgasp.h for the API.
+BASE_EXTENSIONS += ftgasp.c
+
+# Convenience functions to handle glyphs. Needs ftbitmap.c.
+#
+# See include/freetype/ftglyph.h for the API.
+BASE_EXTENSIONS += ftglyph.c
+
+# Interface for gxvalid module.
+#
+# See include/freetype/ftgxval.h for the API.
+BASE_EXTENSIONS += ftgxval.c
+
+# Support for LCD color filtering of subpixel bitmaps.
+#
+# See include/freetype/ftlcdfil.h for the API.
+BASE_EXTENSIONS += ftlcdfil.c
+
+# Multiple Master font interface.
+#
+# See include/freetype/ftmm.h for the API.
+BASE_EXTENSIONS += ftmm.c
+
+# Interface for otvalid module.
+#
+# See include/freetype/ftotval.h for the API.
+BASE_EXTENSIONS += ftotval.c
+
+# Support for FT_Face_CheckTrueTypePatents.
+#
+# See include/freetype/freetype.h for the API.
+BASE_EXTENSIONS += ftpatent.c
+
+# Interface for accessing PFR-specific data. Needs PFR font driver.
+#
+# See include/freetype/ftpfr.h for the API.
+BASE_EXTENSIONS += ftpfr.c
+
+# Path stroker. Needs ftglyph.c.
+#
+# See include/freetype/ftstroke.h for the API.
+BASE_EXTENSIONS += ftstroke.c
+
+# Support for synthetic embolding and slanting of fonts. Needs ftbitmap.c.
+#
+# See include/freetype/ftsynth.h for the API.
+BASE_EXTENSIONS += ftsynth.c
+
+# Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
+# fonts.
+#
+# See include/freetype/t1tables.h for the API.
+BASE_EXTENSIONS += fttype1.c
+
+# Interface for accessing data specific to Windows FNT files. Needs winfnt
+# driver.
+#
+# See include/freetype/ftwinfnt.h for the API.
+BASE_EXTENSIONS += ftwinfnt.c
+
+# Support functions for X11.
+#
+# See include/freetype/ftxf86.h for the API.
+BASE_EXTENSIONS += ftxf86.c
+
+####
+#### The components `ftsystem.c' (for memory allocation and stream I/O
+#### management) and `ftdebug.c' (for emitting debug messages to the user)
+#### are controlled with the following variables.
+####
+#### ftsystem.c: $(FTSYS_SRC)
+#### ftdebug.c: $(FTDEBUG_SRC)
+####
+#### Please refer to docs/CUSTOMIZE for details.
+####
+
+
+# EOF
diff --git a/components/external/freetype/objs/.gitignore b/components/external/freetype/objs/.gitignore
index 033a11ce3f..ad264ce152 100644
--- a/components/external/freetype/objs/.gitignore
+++ b/components/external/freetype/objs/.gitignore
@@ -1,9 +1,9 @@
-apinames
-freetype.def
-freetype.lib
-ftexport.sym
-ftmodule.h
-ftoption.h
-libfreetype.la
-.libs
-*.lo
+apinames
+freetype.def
+freetype.lib
+ftexport.sym
+ftmodule.h
+ftoption.h
+libfreetype.la
+.libs
+*.lo
diff --git a/components/external/freetype/objs/README b/components/external/freetype/objs/README
index 9ebddde71b..befb63e049 100644
--- a/components/external/freetype/objs/README
+++ b/components/external/freetype/objs/README
@@ -1,2 +1,2 @@
-This directory contains all the object files created when building the
-library.
+This directory contains all the object files created when building the
+library.
diff --git a/components/external/freetype/src/bdf/README b/components/external/freetype/src/bdf/README
index 837a60fe7c..e3f2ae3861 100644
--- a/components/external/freetype/src/bdf/README
+++ b/components/external/freetype/src/bdf/README
@@ -1,148 +1,148 @@
- FreeType font driver for BDF fonts
-
- Francesco Zappa Nardelli
-
-
-Introduction
-************
-
-BDF (Bitmap Distribution Format) is a bitmap font format defined by Adobe,
-which is intended to be easily understood by both humans and computers.
-This code implements a BDF driver for the FreeType library, following the
-Adobe Specification V 2.2. The specification of the BDF font format is
-available from Adobe's web site:
-
- http://partners.adobe.com/asn/developer/PDFS/TN/5005.BDF_Spec.pdf
-
-Many good bitmap fonts in bdf format come with XFree86 (www.XFree86.org).
-They do not define vertical metrics, because the X Consortium BDF
-specification has removed them.
-
-
-Encodings
-*********
-
-The variety of encodings that accompanies bdf fonts appears to encompass the
-small set defined in freetype.h. On the other hand, two properties that
-specify encoding and registry are usually defined in bdf fonts.
-
-I decided to make these two properties directly accessible, leaving to the
-client application the work of interpreting them. For instance:
-
-
- #include FT_INTERNAL_BDF_TYPES_H
-
- FT_Face face;
- BDF_Public_Face bdfface;
-
-
- FT_New_Face( library, ..., &face );
-
- bdfface = (BDF_Public_Face)face;
-
- if ( ( bdfface->charset_registry == "ISO10646" ) &&
- ( bdfface->charset_encoding == "1" ) )
- [..]
-
-
-Thus the driver always exports `ft_encoding_none' as face->charmap.encoding.
-FT_Get_Char_Index's behavior is unmodified, that is, it converts the ULong
-value given as argument into the corresponding glyph number.
-
-If the two properties are not available, Adobe Standard Encoding should be
-assumed.
-
-
-Anti-Aliased Bitmaps
-********************
-
-The driver supports an extension to the BDF format as used in Mark Leisher's
-xmbdfed bitmap font editor. Microsoft's SBIT tool expects bitmap fonts in
-that format for adding anti-aliased them to TrueType fonts. It introduces a
-fourth field to the `SIZE' keyword which gives the bpp value (bits per
-pixel) of the glyph data in the font. Possible values are 1 (the default),
-2 (four gray levels), 4 (16 gray levels), and 8 (256 gray levels). The
-driver returns either a bitmap with 1 bit per pixel or a pixmap with 8bits
-per pixel (using 4, 16, and 256 gray levels, respectively).
-
-
-Known problems
-**************
-
-- A font is entirely loaded into memory. Obviously, this is not the Right
- Thing(TM). If you have big fonts I suggest you convert them into PCF
- format (using the bdftopcf utility): the PCF font drive of FreeType can
- perform incremental glyph loading.
-
-When I have some time, I will implement on-demand glyph parsing.
-
-- Except for encodings properties, client applications have no visibility of
- the PCF_Face object. This means that applications cannot directly access
- font tables and must trust FreeType.
-
-- Currently, glyph names are ignored.
-
- I plan to give full visibility of the BDF_Face object in an upcoming
- revision of the driver, thus implementing also glyph names.
-
-- As I have never seen a BDF font that defines vertical metrics, vertical
- metrics are (parsed and) discarded. If you own a BDF font that defines
- vertical metrics, please let me know (I will implement them in 5-10
- minutes).
-
-
-License
-*******
-
-Copyright (C) 2001-2002 by Francesco Zappa Nardelli
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*** Portions of the driver (that is, bdflib.c and bdf.h):
-
-Copyright 2000 Computing Research Labs, New Mexico State University
-Copyright 2001-2002 Francesco Zappa Nardelli
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
-OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
-THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-Credits
-*******
-
-This driver is based on excellent Mark Leisher's bdf library. If you
-find something good in this driver you should probably thank him, not
-me.
+ FreeType font driver for BDF fonts
+
+ Francesco Zappa Nardelli
+
+
+Introduction
+************
+
+BDF (Bitmap Distribution Format) is a bitmap font format defined by Adobe,
+which is intended to be easily understood by both humans and computers.
+This code implements a BDF driver for the FreeType library, following the
+Adobe Specification V 2.2. The specification of the BDF font format is
+available from Adobe's web site:
+
+ http://partners.adobe.com/asn/developer/PDFS/TN/5005.BDF_Spec.pdf
+
+Many good bitmap fonts in bdf format come with XFree86 (www.XFree86.org).
+They do not define vertical metrics, because the X Consortium BDF
+specification has removed them.
+
+
+Encodings
+*********
+
+The variety of encodings that accompanies bdf fonts appears to encompass the
+small set defined in freetype.h. On the other hand, two properties that
+specify encoding and registry are usually defined in bdf fonts.
+
+I decided to make these two properties directly accessible, leaving to the
+client application the work of interpreting them. For instance:
+
+
+ #include FT_INTERNAL_BDF_TYPES_H
+
+ FT_Face face;
+ BDF_Public_Face bdfface;
+
+
+ FT_New_Face( library, ..., &face );
+
+ bdfface = (BDF_Public_Face)face;
+
+ if ( ( bdfface->charset_registry == "ISO10646" ) &&
+ ( bdfface->charset_encoding == "1" ) )
+ [..]
+
+
+Thus the driver always exports `ft_encoding_none' as face->charmap.encoding.
+FT_Get_Char_Index's behavior is unmodified, that is, it converts the ULong
+value given as argument into the corresponding glyph number.
+
+If the two properties are not available, Adobe Standard Encoding should be
+assumed.
+
+
+Anti-Aliased Bitmaps
+********************
+
+The driver supports an extension to the BDF format as used in Mark Leisher's
+xmbdfed bitmap font editor. Microsoft's SBIT tool expects bitmap fonts in
+that format for adding anti-aliased them to TrueType fonts. It introduces a
+fourth field to the `SIZE' keyword which gives the bpp value (bits per
+pixel) of the glyph data in the font. Possible values are 1 (the default),
+2 (four gray levels), 4 (16 gray levels), and 8 (256 gray levels). The
+driver returns either a bitmap with 1 bit per pixel or a pixmap with 8bits
+per pixel (using 4, 16, and 256 gray levels, respectively).
+
+
+Known problems
+**************
+
+- A font is entirely loaded into memory. Obviously, this is not the Right
+ Thing(TM). If you have big fonts I suggest you convert them into PCF
+ format (using the bdftopcf utility): the PCF font drive of FreeType can
+ perform incremental glyph loading.
+
+When I have some time, I will implement on-demand glyph parsing.
+
+- Except for encodings properties, client applications have no visibility of
+ the PCF_Face object. This means that applications cannot directly access
+ font tables and must trust FreeType.
+
+- Currently, glyph names are ignored.
+
+ I plan to give full visibility of the BDF_Face object in an upcoming
+ revision of the driver, thus implementing also glyph names.
+
+- As I have never seen a BDF font that defines vertical metrics, vertical
+ metrics are (parsed and) discarded. If you own a BDF font that defines
+ vertical metrics, please let me know (I will implement them in 5-10
+ minutes).
+
+
+License
+*******
+
+Copyright (C) 2001-2002 by Francesco Zappa Nardelli
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*** Portions of the driver (that is, bdflib.c and bdf.h):
+
+Copyright 2000 Computing Research Labs, New Mexico State University
+Copyright 2001-2002 Francesco Zappa Nardelli
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
+OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Credits
+*******
+
+This driver is based on excellent Mark Leisher's bdf library. If you
+find something good in this driver you should probably thank him, not
+me.
diff --git a/components/external/freetype/src/gxvalid/README b/components/external/freetype/src/gxvalid/README
index 1e24d99b85..28e535b0bc 100644
--- a/components/external/freetype/src/gxvalid/README
+++ b/components/external/freetype/src/gxvalid/README
@@ -1,532 +1,532 @@
-gxvalid: TrueType GX validator
-==============================
-
-
-1. What is this
----------------
-
- `gxvalid' is a module to validate TrueType GX tables: a collection of
- additional tables in TrueType font which are used by `QuickDraw GX
- Text', Apple Advanced Typography (AAT). In addition, gxvalid can
- validates `kern' tables which have been extended for AAT. Like the
- otvalid module, gxvalid uses Freetype 2's validator framework
- (ftvalid).
-
- You can link gxvalid with your program; before running your own layout
- engine, gxvalid validates a font file. As the result, you can remove
- error-checking code from the layout engine. It is also possible to
- use gxvalid as a stand-alone font validator; the `ftvalid' test
- program included in the ft2demo bundle calls gxvalid internally.
- A stand-alone font validator may be useful for font developers.
-
- This documents documents the following issues.
-
- - supported TrueType GX tables
- - fundamental validation limitations
- - permissive error handling of broken GX tables
- - `kern' table issue.
-
-
-2. Supported tables
--------------------
-
- The following GX tables are currently supported.
-
- bsln
- feat
- just
- kern(*)
- lcar
- mort
- morx
- opbd
- prop
- trak
-
- The following GX tables are currently unsupported.
-
- cvar
- fdsc
- fmtx
- fvar
- gvar
- Zapf
-
- The following GX tables won't be supported.
-
- acnt(**)
- hsty(***)
-
- The following undocumented tables in TrueType fonts designed for Apple
- platform aren't handled either.
-
- addg
- CVTM
- TPNM
- umif
-
-
- *) The `kern' validator handles both the classic and the new kern
- formats; the former is supported on both Microsoft and Apple
- platforms, while the latter is supported on Apple platforms.
-
- **) `acnt' tables are not supported by currently available Apple font
- tools.
-
- ***) There is one more Apple extension, `hsty', but it is for
- Newton-OS, not GX (Newton-OS is a platform by Apple, but it can
- use sfnt- housed bitmap fonts only). Therefore, it should be
- excluded from `Apple platform' in the context of TrueType.
- gxvalid ignores it as Apple font tools do so.
-
-
- We have checked 183 fonts bundled with MacOS 9.1, MacOS 9.2, MacOS
- 10.0, MacOS X 10.1, MSIE for MacOS, and AppleWorks 6.0. In addition,
- we have checked 67 Dynalab fonts (designed for MacOS) and 189 Ricoh
- fonts (designed for Windows and MacOS dual platforms). The number of
- fonts including TrueType GX tables are as follows.
-
- bsln: 76
- feat: 191
- just: 84
- kern: 59
- lcar: 4
- mort: 326
- morx: 19
- opbd: 4
- prop: 114
- trak: 16
-
- Dynalab and Ricoh fonts don't have GX tables except of `feat' and
- `mort'.
-
-
-3. Fundamental validation limitations
--------------------------------------
-
- TrueType GX provides layout information to libraries for font
- rasterizers and text layout. gxvalid can check whether the layout
- data in a font is conformant to the TrueType GX format specified by
- Apple. But gxvalid cannot check a how QuickDraw GX/AAT renderer uses
- the stored information.
-
- 3-1. Validation of State Machine activity
- -----------------------------------------
-
- QuickDraw GX/AAT uses a `State Machine' to provide `stateful' layout
- features, and TrueType GX stores the state transition diagram of
- this `State Machine' in a `StateTable' data structure. While the
- State Machine receives a series of glyph IDs, the State Machine
- starts with `start of text' state, walks around various states and
- generates various layout information to the renderer, and finally
- reaches the `end of text' state.
-
- gxvalid can check essential errors like:
-
- - possibility of state transitions to undefined states
- - existence of glyph IDs that the State Machine doesn't know how
- to handle
- - the State Machine cannot compute the layout information from
- given diagram
-
- These errors can be checked within finite steps, and without the
- State Machine itself, because these are `expression' errors of state
- transition diagram.
-
- There is no limitation about how long the State Machine walks
- around, so validation of the algorithm in the state transition
- diagram requires infinite steps, even if we had a State Machine in
- gxvalid. Therefore, the following errors and problems cannot be
- checked.
-
- - existence of states which the State Machine never transits to
- - the possibility that the State Machine never reaches `end of
- text'
- - the possibility of stack underflow/overflow in the State Machine
- (in ligature and contextual glyph substitutions, the State
- Machine can store 16 glyphs onto its stack)
-
- In addition, gxvalid doesn't check `temporary glyph IDs' used in the
- chained State Machines (in `mort' and `morx' tables). If a layout
- feature is implemented by a single State Machine, a glyph ID
- converted by the State Machine is passed to the glyph renderer, thus
- it should not point to an undefined glyph ID. But if a layout
- feature is implemented by chained State Machines, a component State
- Machine (if it is not the final one) is permitted to generate
- undefined glyph IDs for temporary use, because it is handled by next
- component State Machine and not by the glyph renderer. To validate
- such temporary glyph IDs, gxvalid must stack all undefined glyph IDs
- which can occur in the output of the previous State Machine and
- search them in the `ClassTable' structure of the current State
- Machine. It is too complex to list all possible glyph IDs from the
- StateTable, especially from a ligature substitution table.
-
- 3-2. Validation of relationship between multiple layout features
- ----------------------------------------------------------------
-
- gxvalid does not validate the relationship between multiple layout
- features at all.
-
- If multiple layout features are defined in TrueType GX tables,
- possible interactions, overrides, and conflicts between layout
- features are implicitly given in the font too. For example, there
- are several predefined spacing control features:
-
- - Text Spacing (Proportional/Monospace/Half-width/Normal)
- - Number Spacing (Monospaced-numbers/Proportional-numbers)
- - Kana Spacing (Full-width/Proportional)
- - Ideographic Spacing (Full-width/Proportional)
- - CJK Roman Spacing (Half-width/Proportional/Default-roman
- /Full-width-roman/Proportional)
-
- If all layout features are independently managed, we can activate
- inconsistent typographic rules like `Text Spacing=Monospace' and
- `Ideographic Spacing=Proportional' at the same time.
-
- The combinations of layout features is managed by a 32bit integer
- (one bit each for selector setting), so we can define relationships
- between up to 32 features, theoretically. But if one feature
- setting affects another feature setting, we need typographic
- priority rules to validate the relationship. Unfortunately, the
- TrueType GX format specification does not give such information even
- for predefined features.
-
-
-4. Permissive error handling of broken GX tables
-------------------------------------------------
-
- When Apple's font rendering system finds an inconsistency, like a
- specification violation or an unspecified value in a TrueType GX
- table, it does not always return error. In most cases, the rendering
- engine silently ignores such wrong values or even whole tables. In
- fact, MacOS is shipped with fonts including broken GX/AAT tables, but
- no harmful effects due to `officially broken' fonts are observed by
- end-users.
-
- gxvalid is designed to continue the validation process as long as
- possible. When gxvalid find wrong values, gxvalid warns it at least,
- and takes a fallback procedure if possible. The fallback procedure
- depends on the debug level.
-
- We used the following three tools to investigate Apple's error handling.
-
- - FontValidator (for MacOS 8.5 - 9.2) resource fork font
- - ftxvalidator (for MacOS X 10.1 -) dfont or naked-sfnt
- - ftxdumperfuser (for MacOS X 10.1 -) dfont or naked-sfnt
-
- However, all tests were done on a PowerPC based Macintosh; at present,
- we have not checked those tools on a m68k-based Macintosh.
-
- In total, we checked 183 fonts bundled to MacOS 9.1, MacOS 9.2, MacOS
- 10.0, MacOS X 10.1, MSIE for MacOS, and AppleWorks 6.0. These fonts
- are distributed officially, but many broken GX/AAT tables were found
- by Apple's font tools. In the following, we list typical violation of
- the GX specification, in fonts officially distributed with those Apple
- systems.
-
- 4-1. broken BinSrchHeader (19/183)
- ----------------------------------
-
- `BinSrchHeader' is a header of a data array for m68k platforms to
- access memory efficiently. Although there are only two independent
- parameters for real (`unitSize' and `nUnits'), BinSrchHeader has
- three additional parameters which can be calculated from `unitSize'
- and `nUnits', for fast setup. Apple font tools ignore them
- silently, so gxvalid warns if it finds and inconsistency, and always
- continues validation. The additional parameters are ignored
- regardless of the consistency.
-
- 19 fonts include such inconsistencies; all breaks are in the
- BinSrchHeader structure of the `kern' table.
-
- 4-2. too-short LookupTable (5/183)
- ----------------------------------
-
- LookupTable format 0 is a simple array to get a value from a given
- GID (glyph ID); the index of this array is a GID too. Therefore,
- the length of the array is expected to be same as the maximum GID
- value defined in the `maxp' table, but there are some fonts whose
- LookupTable format 0 is too short to cover all GIDs. FontValidator
- ignores this error silently, ftxvalidator and ftxdumperfuser both
- warn and continue. Similar problems are found in format 3 subtables
- of `kern'. gxvalid warns always and abort if the validation level
- is set to FT_VALIDATE_PARANOID.
-
- 5 fonts include too-short kern format 0 subtables.
- 1 font includes too-short kern format 3 subtable.
-
- 4-3. broken LookupTable format 2 (1/183)
- ----------------------------------------
-
- LookupTable format 2, subformat 4 covers the GID space by a
- collection of segments which are specified by `firstGlyph' and
- `lastGlyph'. Some fonts store `firstGlyph' and `lastGlyph' in
- reverse order, so the segment specification is broken. Apple font
- tools ignore this error silently; a broken segment is ignored as if
- it did not exist. gxvalid warns and normalize the segment at
- FT_VALIDATE_DEFAULT, or ignore the segment at FT_VALIDATE_TIGHT, or
- abort at FT_VALIDATE_PARANOID.
-
- 1 font includes broken LookupTable format 2, in the `just' table.
-
- *) It seems that all fonts manufactured by ITC for AppleWorks have
- this error.
-
- 4-4. bad bracketing in glyph property (14/183)
- ----------------------------------------------
-
- GX/AAT defines a `bracketing' property of the glyphs in the `prop'
- table, to control layout features of strings enclosed inside and
- outside of brackets. Some fonts give inappropriate bracket
- properties to glyphs. Apple font tools warn about this error;
- gxvalid warns too and aborts at FT_VALIDATE_PARANOID.
-
- 14 fonts include wrong bracket properties.
-
-
- 4-5. invalid feature number (117/183)
- -------------------------------------
-
- The GX/AAT extension can include 255 different layout features, but
- popular layout features are predefined (see
- http://developer.apple.com/fonts/Registry/index.html). Some fonts
- include feature numbers which are incompatible with the predefined
- feature registry.
-
- In our survey, there are 140 fonts including `feat' table.
-
- a) 67 fonts use a feature number which should not be used.
- b) 117 fonts set the wrong feature range (nSetting). This is mostly
- found in the `mort' and `morx' tables.
-
- Apple font tools give no warning, although they cannot recognize
- what the feature is. At FT_VALIDATE_DEFAULT, gxvalid warns but
- continues in both cases (a, b). At FT_VALIDATE_TIGHT, gxvalid warns
- and aborts for (a), but continues for (b). At FT_VALIDATE_PARANOID,
- gxvalid warns and aborts in both cases (a, b).
-
- 4-6. invalid prop version (10/183)
- ----------------------------------
-
- As most TrueType GX tables, the `prop' table must start with a 32bit
- version identifier: 0x00010000, 0x00020000 or 0x00030000. But some
- fonts store nonsense binary data instead. When Apple font tools
- find them, they abort the processing immediately, and the data which
- follows is unhandled. gxvalid does the same.
-
- 10 fonts include broken `prop' version.
-
- All of these fonts are classic TrueType fonts for the Japanese
- script, manufactured by Apple.
-
- 4-7. unknown resource name (2/183)
- ------------------------------------
-
- NOTE: THIS IS NOT A TRUETYPE GX ERROR.
-
- If a TrueType font is stored in the resource fork or in dfont
- format, the data must be tagged as `sfnt' in the resource fork index
- to invoke TrueType font handler for the data. But the TrueType font
- data in `Keyboard.dfont' is tagged as `kbd', and that in
- `LastResort.dfont' is tagged as `lst'. Apple font tools can detect
- that the data is in TrueType format and successfully validate them.
- Maybe this is possible because they are known to be dfont. The
- current implementation of the resource fork driver of FreeType
- cannot do that, thus gxvalid cannot validate them.
-
- 2 fonts use an unknown tag for the TrueType font resource.
-
-5. `kern' table issues
-----------------------
-
- In common terminology of TrueType, `kern' is classified as a basic and
- platform-independent table. But there are Apple extensions of `kern',
- and there is an extension which requires a GX state machine for
- contextual kerning. Therefore, gxvalid includes a special validator
- for `kern' tables. Unfortunately, there is no exact algorithm to
- check Apple's extension, so gxvalid includes a heuristic algorithm to
- find the proper validation routines for all possible data formats,
- including the data format for Microsoft. By calling
- classic_kern_validate() instead of gxv_validate(), you can specify the
- `kern' format explicitly. However, current FreeType2 uses Microsoft
- `kern' format only, others are ignored (and should be handled in a
- library one level higher than FreeType).
-
- 5-1. History
- ------------
-
- The original 16bit version of `kern' was designed by Apple in the
- pre-GX era, and it was also approved by Microsoft. Afterwards,
- Apple designed a new 32bit version of the `kern' table. According
- to the documentation, the difference between the 16bit and 32bit
- version is only the size of variables in the `kern' header. In the
- following, we call the original 16bit version as `classic', and
- 32bit version as `new'.
-
- 5-2. Versions and dialects which should be differentiated
- ---------------------------------------------------------
-
- The `kern' table consists of a table header and several subtables.
- The version number which identifies a `classic' or a `new' version
- is explicitly written in the table header, but there are
- undocumented differences between Microsoft's and Apple's formats.
- It is called a `dialect' in the following. There are three cases
- which should be handled: the new Apple-dialect, the classic
- Apple-dialect, and the classic Microsoft-dialect. An analysis of
- the formats and the auto detection algorithm of gxvalid is described
- in the following.
-
- 5-2-1. Version detection: classic and new kern
- ----------------------------------------------
-
- According to Apple TrueType specification, there are only two
- differences between the classic and the new:
-
- - The `kern' table header starts with the version number.
- The classic version starts with 0x0000 (16bit),
- the new version starts with 0x00010000 (32bit).
-
- - In the `kern' table header, the number of subtables follows
- the version number.
- In the classic version, it is stored as a 16bit value.
- In the new version, it is stored as a 32bit value.
-
- From Apple font tool's output (DumpKERN is also tested in addition
- to the three Apple font tools in above), there is another
- undocumented difference. In the new version, the subtable header
- includes a 16bit variable named `tupleIndex' which does not exist
- in the classic version.
-
- The new version can store all subtable formats (0, 1, 2, and 3),
- but the Apple TrueType specification does not mention the subtable
- formats available in the classic version.
-
- 5-2-2. Available subtable formats in classic version
- ----------------------------------------------------
-
- Although the Apple TrueType specification recommends to use the
- classic version in the case if the font is designed for both the
- Apple and Microsoft platforms, it does not document the available
- subtable formats in the classic version.
-
- According to the Microsoft TrueType specification, the subtable
- format assured for Windows and OS/2 support is only subtable
- format 0. The Microsoft TrueType specification also describes
- subtable format 2, but does not mention which platforms support
- it. Aubtable formats 1, 3, and higher are documented as reserved
- for future use. Therefore, the classic version can store subtable
- formats 0 and 2, at least. `ttfdump.exe', a font tool provided by
- Microsoft, ignores the subtable format written in the subtable
- header, and parses the table as if all subtables are in format 0.
-
- `kern' subtable format 1 uses a StateTable, so it cannot be
- utilized without a GX State Machine. Therefore, it is reasonable
- to assume that format 1 (and 3) were introduced after Apple had
- introduced GX and moved to the new 32bit version.
-
- 5-2-3. Apple and Microsoft dialects
- -----------------------------------
-
- The `kern' subtable has a 16bit `coverage' field to describe
- kerning attributes, but bit interpretations by Apple and Microsoft
- are different: For example, Apple uses bits 0-7 to identify the
- subtable, while Microsoft uses bits 8-15.
-
- In addition, due to the output of DumpKERN and FontValidator,
- Apple's bit interpretations of coverage in classic and new version
- are incompatible also. In summary, there are three dialects:
- classic Apple dialect, classic Microsoft dialect, and new Apple
- dialect. The classic Microsoft dialect and the new Apple dialect
- are documented by each vendors' TrueType font specification, but
- the documentation for classic Apple dialect is not available.
-
- For example, in the new Apple dialect, bit 15 is documented as
- `set to 1 if the kerning is vertical'. On the other hand, in
- classic Microsoft dialect, bit 1 is documented as `set to 1 if the
- kerning is horizontal'. From the outputs of DumpKERN and
- FontValidator, classic Apple dialect recognizes 15 as `set to 1
- when the kerning is horizontal'. From the results of similar
- experiments, classic Apple dialect seems to be the Endian reverse
- of the classic Microsoft dialect.
-
- As a conclusion it must be noted that no font tool can identify
- classic Apple dialect or classic Microsoft dialect automatically.
-
- 5-2-4. gxvalid auto dialect detection algorithm
- -----------------------------------------------
-
- The first 16 bits of the `kern' table are enough to identify the
- version:
-
- - if the first 16 bits are 0x0000, the `kern' table is in
- classic Apple dialect or classic Microsoft dialect
- - if the first 16 bits are 0x0001, and next 16 bits are 0x0000,
- the kern table is in new Apple dialect.
-
- If the `kern' table is a classic one, the 16bit `coverage' field
- is checked next. Firstly, the coverage bits are decoded for the
- classic Apple dialect using the following bit masks (this is based
- on DumpKERN output):
-
- 0x8000: 1=horizontal, 0=vertical
- 0x4000: not used
- 0x2000: 1=cross-stream, 0=normal
- 0x1FF0: reserved
- 0x000F: subtable format
-
- If any of reserved bits are set or the subtable bits is
- interpreted as format 1 or 3, we take it as `impossible in classic
- Apple dialect' and retry, using the classic Microsoft dialect.
-
- The most popular coverage in new Apple-dialect: 0x8000,
- The most popular coverage in classic Apple-dialect: 0x0000,
- The most popular coverage in classic Microsoft dialect: 0x0001.
-
- 5-3. Tested fonts
- -----------------
-
- We checked 59 fonts bundled with MacOS and 38 fonts bundled with
- Windows, where all font include a `kern' table.
-
- - fonts bundled with MacOS
- * new Apple dialect
- format 0: 18
- format 2: 1
- format 3: 1
- * classic Apple dialect
- format 0: 14
- * classic Microsoft dialect
- format 0: 15
-
- - fonts bundled with Windows
- * classic Microsoft dialect
- format 0: 38
-
- It looks strange that classic Microsoft-dialect fonts are bundled to
- MacOS: they come from MSIE for MacOS, except of MarkerFelt.dfont.
-
-
- ACKNOWLEDGEMENT
- ---------------
-
- Some parts of gxvalid are derived from both the `gxlayout' module and
- the `otvalid' module. Development of gxlayout was supported by the
- Information-technology Promotion Agency(IPA), Japan.
-
- The detailed analysis of undefined glyph ID utilization in `mort' and
- `morx' tables is provided by George Williams.
-
-------------------------------------------------------------------------
-
-Copyright 2004, 2005, 2007 by
-suzuki toshiya, Masatake YAMATO, Red hat K.K.,
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
-accept it fully.
-
-
---- end of README ---
+gxvalid: TrueType GX validator
+==============================
+
+
+1. What is this
+---------------
+
+ `gxvalid' is a module to validate TrueType GX tables: a collection of
+ additional tables in TrueType font which are used by `QuickDraw GX
+ Text', Apple Advanced Typography (AAT). In addition, gxvalid can
+ validates `kern' tables which have been extended for AAT. Like the
+ otvalid module, gxvalid uses Freetype 2's validator framework
+ (ftvalid).
+
+ You can link gxvalid with your program; before running your own layout
+ engine, gxvalid validates a font file. As the result, you can remove
+ error-checking code from the layout engine. It is also possible to
+ use gxvalid as a stand-alone font validator; the `ftvalid' test
+ program included in the ft2demo bundle calls gxvalid internally.
+ A stand-alone font validator may be useful for font developers.
+
+ This documents documents the following issues.
+
+ - supported TrueType GX tables
+ - fundamental validation limitations
+ - permissive error handling of broken GX tables
+ - `kern' table issue.
+
+
+2. Supported tables
+-------------------
+
+ The following GX tables are currently supported.
+
+ bsln
+ feat
+ just
+ kern(*)
+ lcar
+ mort
+ morx
+ opbd
+ prop
+ trak
+
+ The following GX tables are currently unsupported.
+
+ cvar
+ fdsc
+ fmtx
+ fvar
+ gvar
+ Zapf
+
+ The following GX tables won't be supported.
+
+ acnt(**)
+ hsty(***)
+
+ The following undocumented tables in TrueType fonts designed for Apple
+ platform aren't handled either.
+
+ addg
+ CVTM
+ TPNM
+ umif
+
+
+ *) The `kern' validator handles both the classic and the new kern
+ formats; the former is supported on both Microsoft and Apple
+ platforms, while the latter is supported on Apple platforms.
+
+ **) `acnt' tables are not supported by currently available Apple font
+ tools.
+
+ ***) There is one more Apple extension, `hsty', but it is for
+ Newton-OS, not GX (Newton-OS is a platform by Apple, but it can
+ use sfnt- housed bitmap fonts only). Therefore, it should be
+ excluded from `Apple platform' in the context of TrueType.
+ gxvalid ignores it as Apple font tools do so.
+
+
+ We have checked 183 fonts bundled with MacOS 9.1, MacOS 9.2, MacOS
+ 10.0, MacOS X 10.1, MSIE for MacOS, and AppleWorks 6.0. In addition,
+ we have checked 67 Dynalab fonts (designed for MacOS) and 189 Ricoh
+ fonts (designed for Windows and MacOS dual platforms). The number of
+ fonts including TrueType GX tables are as follows.
+
+ bsln: 76
+ feat: 191
+ just: 84
+ kern: 59
+ lcar: 4
+ mort: 326
+ morx: 19
+ opbd: 4
+ prop: 114
+ trak: 16
+
+ Dynalab and Ricoh fonts don't have GX tables except of `feat' and
+ `mort'.
+
+
+3. Fundamental validation limitations
+-------------------------------------
+
+ TrueType GX provides layout information to libraries for font
+ rasterizers and text layout. gxvalid can check whether the layout
+ data in a font is conformant to the TrueType GX format specified by
+ Apple. But gxvalid cannot check a how QuickDraw GX/AAT renderer uses
+ the stored information.
+
+ 3-1. Validation of State Machine activity
+ -----------------------------------------
+
+ QuickDraw GX/AAT uses a `State Machine' to provide `stateful' layout
+ features, and TrueType GX stores the state transition diagram of
+ this `State Machine' in a `StateTable' data structure. While the
+ State Machine receives a series of glyph IDs, the State Machine
+ starts with `start of text' state, walks around various states and
+ generates various layout information to the renderer, and finally
+ reaches the `end of text' state.
+
+ gxvalid can check essential errors like:
+
+ - possibility of state transitions to undefined states
+ - existence of glyph IDs that the State Machine doesn't know how
+ to handle
+ - the State Machine cannot compute the layout information from
+ given diagram
+
+ These errors can be checked within finite steps, and without the
+ State Machine itself, because these are `expression' errors of state
+ transition diagram.
+
+ There is no limitation about how long the State Machine walks
+ around, so validation of the algorithm in the state transition
+ diagram requires infinite steps, even if we had a State Machine in
+ gxvalid. Therefore, the following errors and problems cannot be
+ checked.
+
+ - existence of states which the State Machine never transits to
+ - the possibility that the State Machine never reaches `end of
+ text'
+ - the possibility of stack underflow/overflow in the State Machine
+ (in ligature and contextual glyph substitutions, the State
+ Machine can store 16 glyphs onto its stack)
+
+ In addition, gxvalid doesn't check `temporary glyph IDs' used in the
+ chained State Machines (in `mort' and `morx' tables). If a layout
+ feature is implemented by a single State Machine, a glyph ID
+ converted by the State Machine is passed to the glyph renderer, thus
+ it should not point to an undefined glyph ID. But if a layout
+ feature is implemented by chained State Machines, a component State
+ Machine (if it is not the final one) is permitted to generate
+ undefined glyph IDs for temporary use, because it is handled by next
+ component State Machine and not by the glyph renderer. To validate
+ such temporary glyph IDs, gxvalid must stack all undefined glyph IDs
+ which can occur in the output of the previous State Machine and
+ search them in the `ClassTable' structure of the current State
+ Machine. It is too complex to list all possible glyph IDs from the
+ StateTable, especially from a ligature substitution table.
+
+ 3-2. Validation of relationship between multiple layout features
+ ----------------------------------------------------------------
+
+ gxvalid does not validate the relationship between multiple layout
+ features at all.
+
+ If multiple layout features are defined in TrueType GX tables,
+ possible interactions, overrides, and conflicts between layout
+ features are implicitly given in the font too. For example, there
+ are several predefined spacing control features:
+
+ - Text Spacing (Proportional/Monospace/Half-width/Normal)
+ - Number Spacing (Monospaced-numbers/Proportional-numbers)
+ - Kana Spacing (Full-width/Proportional)
+ - Ideographic Spacing (Full-width/Proportional)
+ - CJK Roman Spacing (Half-width/Proportional/Default-roman
+ /Full-width-roman/Proportional)
+
+ If all layout features are independently managed, we can activate
+ inconsistent typographic rules like `Text Spacing=Monospace' and
+ `Ideographic Spacing=Proportional' at the same time.
+
+ The combinations of layout features is managed by a 32bit integer
+ (one bit each for selector setting), so we can define relationships
+ between up to 32 features, theoretically. But if one feature
+ setting affects another feature setting, we need typographic
+ priority rules to validate the relationship. Unfortunately, the
+ TrueType GX format specification does not give such information even
+ for predefined features.
+
+
+4. Permissive error handling of broken GX tables
+------------------------------------------------
+
+ When Apple's font rendering system finds an inconsistency, like a
+ specification violation or an unspecified value in a TrueType GX
+ table, it does not always return error. In most cases, the rendering
+ engine silently ignores such wrong values or even whole tables. In
+ fact, MacOS is shipped with fonts including broken GX/AAT tables, but
+ no harmful effects due to `officially broken' fonts are observed by
+ end-users.
+
+ gxvalid is designed to continue the validation process as long as
+ possible. When gxvalid find wrong values, gxvalid warns it at least,
+ and takes a fallback procedure if possible. The fallback procedure
+ depends on the debug level.
+
+ We used the following three tools to investigate Apple's error handling.
+
+ - FontValidator (for MacOS 8.5 - 9.2) resource fork font
+ - ftxvalidator (for MacOS X 10.1 -) dfont or naked-sfnt
+ - ftxdumperfuser (for MacOS X 10.1 -) dfont or naked-sfnt
+
+ However, all tests were done on a PowerPC based Macintosh; at present,
+ we have not checked those tools on a m68k-based Macintosh.
+
+ In total, we checked 183 fonts bundled to MacOS 9.1, MacOS 9.2, MacOS
+ 10.0, MacOS X 10.1, MSIE for MacOS, and AppleWorks 6.0. These fonts
+ are distributed officially, but many broken GX/AAT tables were found
+ by Apple's font tools. In the following, we list typical violation of
+ the GX specification, in fonts officially distributed with those Apple
+ systems.
+
+ 4-1. broken BinSrchHeader (19/183)
+ ----------------------------------
+
+ `BinSrchHeader' is a header of a data array for m68k platforms to
+ access memory efficiently. Although there are only two independent
+ parameters for real (`unitSize' and `nUnits'), BinSrchHeader has
+ three additional parameters which can be calculated from `unitSize'
+ and `nUnits', for fast setup. Apple font tools ignore them
+ silently, so gxvalid warns if it finds and inconsistency, and always
+ continues validation. The additional parameters are ignored
+ regardless of the consistency.
+
+ 19 fonts include such inconsistencies; all breaks are in the
+ BinSrchHeader structure of the `kern' table.
+
+ 4-2. too-short LookupTable (5/183)
+ ----------------------------------
+
+ LookupTable format 0 is a simple array to get a value from a given
+ GID (glyph ID); the index of this array is a GID too. Therefore,
+ the length of the array is expected to be same as the maximum GID
+ value defined in the `maxp' table, but there are some fonts whose
+ LookupTable format 0 is too short to cover all GIDs. FontValidator
+ ignores this error silently, ftxvalidator and ftxdumperfuser both
+ warn and continue. Similar problems are found in format 3 subtables
+ of `kern'. gxvalid warns always and abort if the validation level
+ is set to FT_VALIDATE_PARANOID.
+
+ 5 fonts include too-short kern format 0 subtables.
+ 1 font includes too-short kern format 3 subtable.
+
+ 4-3. broken LookupTable format 2 (1/183)
+ ----------------------------------------
+
+ LookupTable format 2, subformat 4 covers the GID space by a
+ collection of segments which are specified by `firstGlyph' and
+ `lastGlyph'. Some fonts store `firstGlyph' and `lastGlyph' in
+ reverse order, so the segment specification is broken. Apple font
+ tools ignore this error silently; a broken segment is ignored as if
+ it did not exist. gxvalid warns and normalize the segment at
+ FT_VALIDATE_DEFAULT, or ignore the segment at FT_VALIDATE_TIGHT, or
+ abort at FT_VALIDATE_PARANOID.
+
+ 1 font includes broken LookupTable format 2, in the `just' table.
+
+ *) It seems that all fonts manufactured by ITC for AppleWorks have
+ this error.
+
+ 4-4. bad bracketing in glyph property (14/183)
+ ----------------------------------------------
+
+ GX/AAT defines a `bracketing' property of the glyphs in the `prop'
+ table, to control layout features of strings enclosed inside and
+ outside of brackets. Some fonts give inappropriate bracket
+ properties to glyphs. Apple font tools warn about this error;
+ gxvalid warns too and aborts at FT_VALIDATE_PARANOID.
+
+ 14 fonts include wrong bracket properties.
+
+
+ 4-5. invalid feature number (117/183)
+ -------------------------------------
+
+ The GX/AAT extension can include 255 different layout features, but
+ popular layout features are predefined (see
+ http://developer.apple.com/fonts/Registry/index.html). Some fonts
+ include feature numbers which are incompatible with the predefined
+ feature registry.
+
+ In our survey, there are 140 fonts including `feat' table.
+
+ a) 67 fonts use a feature number which should not be used.
+ b) 117 fonts set the wrong feature range (nSetting). This is mostly
+ found in the `mort' and `morx' tables.
+
+ Apple font tools give no warning, although they cannot recognize
+ what the feature is. At FT_VALIDATE_DEFAULT, gxvalid warns but
+ continues in both cases (a, b). At FT_VALIDATE_TIGHT, gxvalid warns
+ and aborts for (a), but continues for (b). At FT_VALIDATE_PARANOID,
+ gxvalid warns and aborts in both cases (a, b).
+
+ 4-6. invalid prop version (10/183)
+ ----------------------------------
+
+ As most TrueType GX tables, the `prop' table must start with a 32bit
+ version identifier: 0x00010000, 0x00020000 or 0x00030000. But some
+ fonts store nonsense binary data instead. When Apple font tools
+ find them, they abort the processing immediately, and the data which
+ follows is unhandled. gxvalid does the same.
+
+ 10 fonts include broken `prop' version.
+
+ All of these fonts are classic TrueType fonts for the Japanese
+ script, manufactured by Apple.
+
+ 4-7. unknown resource name (2/183)
+ ------------------------------------
+
+ NOTE: THIS IS NOT A TRUETYPE GX ERROR.
+
+ If a TrueType font is stored in the resource fork or in dfont
+ format, the data must be tagged as `sfnt' in the resource fork index
+ to invoke TrueType font handler for the data. But the TrueType font
+ data in `Keyboard.dfont' is tagged as `kbd', and that in
+ `LastResort.dfont' is tagged as `lst'. Apple font tools can detect
+ that the data is in TrueType format and successfully validate them.
+ Maybe this is possible because they are known to be dfont. The
+ current implementation of the resource fork driver of FreeType
+ cannot do that, thus gxvalid cannot validate them.
+
+ 2 fonts use an unknown tag for the TrueType font resource.
+
+5. `kern' table issues
+----------------------
+
+ In common terminology of TrueType, `kern' is classified as a basic and
+ platform-independent table. But there are Apple extensions of `kern',
+ and there is an extension which requires a GX state machine for
+ contextual kerning. Therefore, gxvalid includes a special validator
+ for `kern' tables. Unfortunately, there is no exact algorithm to
+ check Apple's extension, so gxvalid includes a heuristic algorithm to
+ find the proper validation routines for all possible data formats,
+ including the data format for Microsoft. By calling
+ classic_kern_validate() instead of gxv_validate(), you can specify the
+ `kern' format explicitly. However, current FreeType2 uses Microsoft
+ `kern' format only, others are ignored (and should be handled in a
+ library one level higher than FreeType).
+
+ 5-1. History
+ ------------
+
+ The original 16bit version of `kern' was designed by Apple in the
+ pre-GX era, and it was also approved by Microsoft. Afterwards,
+ Apple designed a new 32bit version of the `kern' table. According
+ to the documentation, the difference between the 16bit and 32bit
+ version is only the size of variables in the `kern' header. In the
+ following, we call the original 16bit version as `classic', and
+ 32bit version as `new'.
+
+ 5-2. Versions and dialects which should be differentiated
+ ---------------------------------------------------------
+
+ The `kern' table consists of a table header and several subtables.
+ The version number which identifies a `classic' or a `new' version
+ is explicitly written in the table header, but there are
+ undocumented differences between Microsoft's and Apple's formats.
+ It is called a `dialect' in the following. There are three cases
+ which should be handled: the new Apple-dialect, the classic
+ Apple-dialect, and the classic Microsoft-dialect. An analysis of
+ the formats and the auto detection algorithm of gxvalid is described
+ in the following.
+
+ 5-2-1. Version detection: classic and new kern
+ ----------------------------------------------
+
+ According to Apple TrueType specification, there are only two
+ differences between the classic and the new:
+
+ - The `kern' table header starts with the version number.
+ The classic version starts with 0x0000 (16bit),
+ the new version starts with 0x00010000 (32bit).
+
+ - In the `kern' table header, the number of subtables follows
+ the version number.
+ In the classic version, it is stored as a 16bit value.
+ In the new version, it is stored as a 32bit value.
+
+ From Apple font tool's output (DumpKERN is also tested in addition
+ to the three Apple font tools in above), there is another
+ undocumented difference. In the new version, the subtable header
+ includes a 16bit variable named `tupleIndex' which does not exist
+ in the classic version.
+
+ The new version can store all subtable formats (0, 1, 2, and 3),
+ but the Apple TrueType specification does not mention the subtable
+ formats available in the classic version.
+
+ 5-2-2. Available subtable formats in classic version
+ ----------------------------------------------------
+
+ Although the Apple TrueType specification recommends to use the
+ classic version in the case if the font is designed for both the
+ Apple and Microsoft platforms, it does not document the available
+ subtable formats in the classic version.
+
+ According to the Microsoft TrueType specification, the subtable
+ format assured for Windows and OS/2 support is only subtable
+ format 0. The Microsoft TrueType specification also describes
+ subtable format 2, but does not mention which platforms support
+ it. Aubtable formats 1, 3, and higher are documented as reserved
+ for future use. Therefore, the classic version can store subtable
+ formats 0 and 2, at least. `ttfdump.exe', a font tool provided by
+ Microsoft, ignores the subtable format written in the subtable
+ header, and parses the table as if all subtables are in format 0.
+
+ `kern' subtable format 1 uses a StateTable, so it cannot be
+ utilized without a GX State Machine. Therefore, it is reasonable
+ to assume that format 1 (and 3) were introduced after Apple had
+ introduced GX and moved to the new 32bit version.
+
+ 5-2-3. Apple and Microsoft dialects
+ -----------------------------------
+
+ The `kern' subtable has a 16bit `coverage' field to describe
+ kerning attributes, but bit interpretations by Apple and Microsoft
+ are different: For example, Apple uses bits 0-7 to identify the
+ subtable, while Microsoft uses bits 8-15.
+
+ In addition, due to the output of DumpKERN and FontValidator,
+ Apple's bit interpretations of coverage in classic and new version
+ are incompatible also. In summary, there are three dialects:
+ classic Apple dialect, classic Microsoft dialect, and new Apple
+ dialect. The classic Microsoft dialect and the new Apple dialect
+ are documented by each vendors' TrueType font specification, but
+ the documentation for classic Apple dialect is not available.
+
+ For example, in the new Apple dialect, bit 15 is documented as
+ `set to 1 if the kerning is vertical'. On the other hand, in
+ classic Microsoft dialect, bit 1 is documented as `set to 1 if the
+ kerning is horizontal'. From the outputs of DumpKERN and
+ FontValidator, classic Apple dialect recognizes 15 as `set to 1
+ when the kerning is horizontal'. From the results of similar
+ experiments, classic Apple dialect seems to be the Endian reverse
+ of the classic Microsoft dialect.
+
+ As a conclusion it must be noted that no font tool can identify
+ classic Apple dialect or classic Microsoft dialect automatically.
+
+ 5-2-4. gxvalid auto dialect detection algorithm
+ -----------------------------------------------
+
+ The first 16 bits of the `kern' table are enough to identify the
+ version:
+
+ - if the first 16 bits are 0x0000, the `kern' table is in
+ classic Apple dialect or classic Microsoft dialect
+ - if the first 16 bits are 0x0001, and next 16 bits are 0x0000,
+ the kern table is in new Apple dialect.
+
+ If the `kern' table is a classic one, the 16bit `coverage' field
+ is checked next. Firstly, the coverage bits are decoded for the
+ classic Apple dialect using the following bit masks (this is based
+ on DumpKERN output):
+
+ 0x8000: 1=horizontal, 0=vertical
+ 0x4000: not used
+ 0x2000: 1=cross-stream, 0=normal
+ 0x1FF0: reserved
+ 0x000F: subtable format
+
+ If any of reserved bits are set or the subtable bits is
+ interpreted as format 1 or 3, we take it as `impossible in classic
+ Apple dialect' and retry, using the classic Microsoft dialect.
+
+ The most popular coverage in new Apple-dialect: 0x8000,
+ The most popular coverage in classic Apple-dialect: 0x0000,
+ The most popular coverage in classic Microsoft dialect: 0x0001.
+
+ 5-3. Tested fonts
+ -----------------
+
+ We checked 59 fonts bundled with MacOS and 38 fonts bundled with
+ Windows, where all font include a `kern' table.
+
+ - fonts bundled with MacOS
+ * new Apple dialect
+ format 0: 18
+ format 2: 1
+ format 3: 1
+ * classic Apple dialect
+ format 0: 14
+ * classic Microsoft dialect
+ format 0: 15
+
+ - fonts bundled with Windows
+ * classic Microsoft dialect
+ format 0: 38
+
+ It looks strange that classic Microsoft-dialect fonts are bundled to
+ MacOS: they come from MSIE for MacOS, except of MarkerFelt.dfont.
+
+
+ ACKNOWLEDGEMENT
+ ---------------
+
+ Some parts of gxvalid are derived from both the `gxlayout' module and
+ the `otvalid' module. Development of gxlayout was supported by the
+ Information-technology Promotion Agency(IPA), Japan.
+
+ The detailed analysis of undefined glyph ID utilization in `mort' and
+ `morx' tables is provided by George Williams.
+
+------------------------------------------------------------------------
+
+Copyright 2004, 2005, 2007 by
+suzuki toshiya, Masatake YAMATO, Red hat K.K.,
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
+accept it fully.
+
+
+--- end of README ---
diff --git a/components/external/freetype/src/pcf/README b/components/external/freetype/src/pcf/README
index 892cb9ae4f..cc1480b2d2 100644
--- a/components/external/freetype/src/pcf/README
+++ b/components/external/freetype/src/pcf/README
@@ -1,114 +1,114 @@
- FreeType font driver for PCF fonts
-
- Francesco Zappa Nardelli
-
-
-Introduction
-************
-
-PCF (Portable Compiled Format) is a binary bitmap font format, largely used
-in X world. This code implements a PCF driver for the FreeType library.
-Glyph images are loaded into memory only on demand, thus leading to a small
-memory footprint.
-
-Information on the PCF font format can only be worked out from
-`pcfread.c', and `pcfwrite.c', to be found, for instance, in the XFree86
-(www.xfree86.org) source tree (xc/lib/font/bitmap/).
-
-Many good bitmap fonts in bdf format come with XFree86: they can be
-compiled into the pcf format using the `bdftopcf' utility.
-
-
-Supported hardware
-******************
-
-The driver has been tested on linux/x86 and sunos5.5/sparc. In both
-cases the compiler was gcc. When back in Paris, I will test it also
-on linux/alpha.
-
-
-Encodings
-*********
-
-The variety of encodings that accompanies pcf fonts appears to encompass the
-small set defined in freetype.h. On the other hand, each pcf font defines
-two properties that specify encoding and registry.
-
-I decided to make these two properties directly accessible, leaving to the
-client application the work of interpreting them. For instance:
-
- #include "pcftypes.h" /* include/freetype/internal/pcftypes.h */
-
- FT_Face face;
- PCF_Public_Face pcfface;
-
- FT_New_Face( library,..., &face );
-
- pcfface = (PCF_Public_Face)face;
-
- if ((pcfface->charset_registry == "ISO10646") &&
- (pcfface->charset_encoding) == "1")) [..]
-
-Thus the driver always export `ft_encoding_none' as
-face->charmap.encoding. FT_Get_Char_Index() behavior is unmodified, that
-is, it converts the ULong value given as argument into the corresponding
-glyph number.
-
-
-Known problems
-**************
-
-- dealing explicitly with encodings breaks the uniformity of freetype2
- api.
-
-- except for encodings properties, client applications have no
- visibility of the PCF_Face object. This means that applications
- cannot directly access font tables and are obliged to trust
- FreeType.
-
-- currently, glyph names and ink_metrics are ignored.
-
-I plan to give full visibility of the PCF_Face object in the next
-release of the driver, thus implementing also glyph names and
-ink_metrics.
-
-- height is defined as (ascent - descent). Is this correct?
-
-- if unable to read size information from the font, PCF_Init_Face
- sets available_size->width and available_size->height to 12.
-
-- too many english grammar errors in the readme file :-(
-
-
-License
-*******
-
-Copyright (C) 2000 by Francesco Zappa Nardelli
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-Credits
-*******
-
-Keith Packard wrote the pcf driver found in XFree86. His work is at
-the same time the specification and the sample implementation of the
-PCF format. Undoubtedly, this driver is inspired from his work.
+ FreeType font driver for PCF fonts
+
+ Francesco Zappa Nardelli
+
+
+Introduction
+************
+
+PCF (Portable Compiled Format) is a binary bitmap font format, largely used
+in X world. This code implements a PCF driver for the FreeType library.
+Glyph images are loaded into memory only on demand, thus leading to a small
+memory footprint.
+
+Information on the PCF font format can only be worked out from
+`pcfread.c', and `pcfwrite.c', to be found, for instance, in the XFree86
+(www.xfree86.org) source tree (xc/lib/font/bitmap/).
+
+Many good bitmap fonts in bdf format come with XFree86: they can be
+compiled into the pcf format using the `bdftopcf' utility.
+
+
+Supported hardware
+******************
+
+The driver has been tested on linux/x86 and sunos5.5/sparc. In both
+cases the compiler was gcc. When back in Paris, I will test it also
+on linux/alpha.
+
+
+Encodings
+*********
+
+The variety of encodings that accompanies pcf fonts appears to encompass the
+small set defined in freetype.h. On the other hand, each pcf font defines
+two properties that specify encoding and registry.
+
+I decided to make these two properties directly accessible, leaving to the
+client application the work of interpreting them. For instance:
+
+ #include "pcftypes.h" /* include/freetype/internal/pcftypes.h */
+
+ FT_Face face;
+ PCF_Public_Face pcfface;
+
+ FT_New_Face( library,..., &face );
+
+ pcfface = (PCF_Public_Face)face;
+
+ if ((pcfface->charset_registry == "ISO10646") &&
+ (pcfface->charset_encoding) == "1")) [..]
+
+Thus the driver always export `ft_encoding_none' as
+face->charmap.encoding. FT_Get_Char_Index() behavior is unmodified, that
+is, it converts the ULong value given as argument into the corresponding
+glyph number.
+
+
+Known problems
+**************
+
+- dealing explicitly with encodings breaks the uniformity of freetype2
+ api.
+
+- except for encodings properties, client applications have no
+ visibility of the PCF_Face object. This means that applications
+ cannot directly access font tables and are obliged to trust
+ FreeType.
+
+- currently, glyph names and ink_metrics are ignored.
+
+I plan to give full visibility of the PCF_Face object in the next
+release of the driver, thus implementing also glyph names and
+ink_metrics.
+
+- height is defined as (ascent - descent). Is this correct?
+
+- if unable to read size information from the font, PCF_Init_Face
+ sets available_size->width and available_size->height to 12.
+
+- too many english grammar errors in the readme file :-(
+
+
+License
+*******
+
+Copyright (C) 2000 by Francesco Zappa Nardelli
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Credits
+*******
+
+Keith Packard wrote the pcf driver found in XFree86. His work is at
+the same time the specification and the sample implementation of the
+PCF format. Undoubtedly, this driver is inspired from his work.
diff --git a/components/external/freetype/src/tools/docmaker/.gitignore b/components/external/freetype/src/tools/docmaker/.gitignore
index 94487b9516..0d20b6487c 100644
--- a/components/external/freetype/src/tools/docmaker/.gitignore
+++ b/components/external/freetype/src/tools/docmaker/.gitignore
@@ -1 +1 @@
-*.pyc
+*.pyc
diff --git a/components/external/freetype/src/tools/ftrandom/README b/components/external/freetype/src/tools/ftrandom/README
index 6b337ed13e..c093f15e81 100644
--- a/components/external/freetype/src/tools/ftrandom/README
+++ b/components/external/freetype/src/tools/ftrandom/README
@@ -1,48 +1,48 @@
-ftrandom
---------
-
-This program expects a set of directories containing good fonts, and a set
-of extensions of fonts to be tested. It will randomly pick a font, copy it,
-introduce and error and then test it.
-
-The FreeType tests are quite basic:
-
- For each erroneous font it
- forks off a new tester;
- initializes the library;
- opens each font in the file;
- loads each glyph;
- (optionally reviewing the contours of the glyph)
- (optionally rasterizing)
- closes the face.
-
-If the tester exits with a signal, or takes longer than 20 seconds then
-ftrandom saves the erroneous font and continues. If the tester exits
-normally or with an error, then the superstructure removes the test font and
-continues.
-
-Arguments are:
-
- --all Test every font in the directory(ies) no matter
- what its extension (some CID-keyed fonts have no
- extension).
- --check-outlines Call FT_Outline_Decompose on each glyph.
- --dir <dir> Append <dir> to the list of directories to search
- for good fonts.
- --error-count <cnt> Introduce <cnt> single-byte errors into the
- erroneous fonts.
- --error-fraction <frac> Multiply the file size of the font by <frac> and
- introduce that many errors into the erroneous
- font file.
- --ext <ext> Add <ext> to the set of font types tested. Known
- extensions are `ttf', `otf', `ttc', `cid', `pfb',
- `pfa', `bdf', `pcf', `pfr', `fon', `otb', and
- `cff'.
- --help Print out this list of options.
- --nohints Specify FT_LOAD_NO_HINTING when loading glyphs.
- --rasterize Call FT_Render_Glyph as well as loading it.
- --result <dir> This is the directory in which test files are
- placed.
- --test <file> Run a single test on a pre-generated testcase.
- Done in the current process so it can be debugged
- more easily.
+ftrandom
+--------
+
+This program expects a set of directories containing good fonts, and a set
+of extensions of fonts to be tested. It will randomly pick a font, copy it,
+introduce and error and then test it.
+
+The FreeType tests are quite basic:
+
+ For each erroneous font it
+ forks off a new tester;
+ initializes the library;
+ opens each font in the file;
+ loads each glyph;
+ (optionally reviewing the contours of the glyph)
+ (optionally rasterizing)
+ closes the face.
+
+If the tester exits with a signal, or takes longer than 20 seconds then
+ftrandom saves the erroneous font and continues. If the tester exits
+normally or with an error, then the superstructure removes the test font and
+continues.
+
+Arguments are:
+
+ --all Test every font in the directory(ies) no matter
+ what its extension (some CID-keyed fonts have no
+ extension).
+ --check-outlines Call FT_Outline_Decompose on each glyph.
+ --dir <dir> Append <dir> to the list of directories to search
+ for good fonts.
+ --error-count <cnt> Introduce <cnt> single-byte errors into the
+ erroneous fonts.
+ --error-fraction <frac> Multiply the file size of the font by <frac> and
+ introduce that many errors into the erroneous
+ font file.
+ --ext <ext> Add <ext> to the set of font types tested. Known
+ extensions are `ttf', `otf', `ttc', `cid', `pfb',
+ `pfa', `bdf', `pcf', `pfr', `fon', `otb', and
+ `cff'.
+ --help Print out this list of options.
+ --nohints Specify FT_LOAD_NO_HINTING when loading glyphs.
+ --rasterize Call FT_Render_Glyph as well as loading it.
+ --result <dir> This is the directory in which test files are
+ placed.
+ --test <file> Run a single test on a pre-generated testcase.
+ Done in the current process so it can be debugged
+ more easily.
diff --git a/components/external/freetype/version.sed b/components/external/freetype/version.sed
index 779a46bb2c..c281ff506b 100644
--- a/components/external/freetype/version.sed
+++ b/components/external/freetype/version.sed
@@ -1,5 +1,5 @@
-#! /usr/bin/sed -nf
-
-s/^#define *FREETYPE_MAJOR *\([^ ][^ ]*\).*$/freetype_major="\1" ;/p
-s/^#define *FREETYPE_MINOR *\([^ ][^ ]*\).*$/freetype_minor=".\1" ;/p
-s/^#define *FREETYPE_PATCH *\([^ ][^ ]*\).*$/freetype_patch=".\1" ;/p
+#! /usr/bin/sed -nf
+
+s/^#define *FREETYPE_MAJOR *\([^ ][^ ]*\).*$/freetype_major="\1" ;/p
+s/^#define *FREETYPE_MINOR *\([^ ][^ ]*\).*$/freetype_minor=".\1" ;/p
+s/^#define *FREETYPE_PATCH *\([^ ][^ ]*\).*$/freetype_patch=".\1" ;/p