ref: cc7f12a42963e39d59d9b654572b2ba8bae47c11
parent: 4f7496eea2a35f7ece06cc5dcd45799dc9c61ca7
author: Werner Lemberg <[email protected]>
date: Tue Jan 9 05:37:36 EST 2007
formatting, copyright years and messages, doc polishing
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,21 +1,22 @@
2007-01-08 David Turner <[email protected]>
- * docs/CHANGES: updating documentation
+ * docs/CHANGES: Updated.
- * include/freetype/ftgasp.h, src/base/ftgasp.c: adding a
- new API FT_Get_Gasp to return entries of the GASP table
+ * 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: add version check for the GASP table,
- in order to be better future-proof
+ * 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: add definition of
- FT_GASP_H, corresponding to <freetype/ftgasp.h>
+ * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
+ <freetype/ftgasp.h>.
- * src/base/rules.mk, src/base/Jamfile, modules.cfg,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj: Adding src/base/ftgasp.c
- to the default build
+ * 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]>
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -7,50 +7,52 @@
- Various memory leaks have been found and fixed.
- - Fixed the TrueType name loader that didn't deal properly with some
- fonts that encode their names in UTF-16 (the spec was vague, and
- the code assumed UCS-4)
+ - 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 artefacts otherwise.
+ - 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)
+ - FT_GlyphSlot_Embolden now supports vertical layouts correctly
+ (it mangled the vertical advance height).
+
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 when one
- of FT_RENDER_MODE_LCD and FT_RENDER_MODE_LCD_V is used. This
- filter is used to reduce color-fringes, several settings are
- available through the FT_LCD_FILTER_XXX enum.
+ - `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.
- See its declaration and documentation in FT_LCD_FILTER_H, a.k.a.
- include/freetype/ftlcdfil.h.
+ Its declaration and documentation can be found in file
+ `include/freetype/ftlcdfil.h' (to be accessed with macro
+ FT_LCD_FILTER_H).
- *IMPORTANT*: note that this function returns an error
- (FT_Err_Unimplemented_Feature) in default builds of the library
- for patent reasons. See below
+ *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).
- - FT_Get_Gasp allows you to query the TrueType GASP flags for a
- given character pixel size. This is only useful to duplicate
- Windows' text rendering, when the native bytecode interpreter is
- enabled (which still 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).
- Declaration and documentation in FT_GASP_H, a.k.a.
- include/freetype/ftgasp.h
-
-
III. IMPORTANT CHANGES
- - The auto-hinter has been severely tuned to improve its results
- with serif fonts. This results in much better font rendering of
- many web pages.
+ - 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.
@@ -74,7 +76,6 @@
*disable* the feature to save code space by undefining
TT_CONFIG_OPTION_UNPATENTED_HINTING in ftoption.h.
-
- LCD-optimized rendering is now DISABLED in all default builds of
the library, mainly due to PATENT issues. For more information
see:
@@ -93,27 +94,25 @@
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 will return
- the FT_Err_Unimplemented_Feature error code.
+ 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.
- - It's now possible to cross-compile the library easily. See the
- file docs/INSTALL.CROSS for details
-
III. 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 in nearly all
- conditions)
+ 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
@@ -122,12 +121,13 @@
- The Type 1 loader has been improved; as an example, it now skips
top-level dictionaries properly.
- - fixed the PFR font loader so that font files without any outlines
- are not recognized as FT_FACE_FLAG_SCALABLE anymore
+ - The PFR font loader no longer erroneously tags font files
+ without any outlines as FT_FACE_FLAG_SCALABLE.
- - better support for Mac Fonts on POSIX systems, plus compilation
- fixes for PPC64
+ - Better support for Mac Fonts on POSIX systems, plus compilation
+ fixes for PPC64.
+
======================================================================
CHANGES BETWEEN 2.2.1 and 2.2
@@ -244,7 +244,7 @@
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
+ - `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.
@@ -498,7 +498,7 @@
- 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.
+ 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.
@@ -825,8 +825,8 @@
- 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").
+ `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
@@ -877,13 +877,13 @@
- 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
+ - 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*
+ `FontID'). This is performed by parsing an *undocumented*
portion of the font file!
@@ -901,7 +901,7 @@
how to use them in autoconf scripts).
- The installation documentation has been seriously revamped.
- Everything is now in the "docs" directory.
+ Everything is now in the `docs' directory.
======================================================================
@@ -928,7 +928,7 @@
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
+ 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.
@@ -937,8 +937,8 @@
(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 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,
@@ -964,7 +964,7 @@
for additional details on this topic.
- - The "load_flags" parameter of FT_Load_Glyph is now an FT_Int32
+ - 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.
@@ -1008,14 +1008,14 @@
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
+ - 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".
+ - 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
@@ -1025,7 +1025,7 @@
- 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:
+ `src/tools/docmaker/docmaker.py'. Features:
- better cross-referenced output
- more polished output
@@ -1032,7 +1032,7 @@
- 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
+ `backends' in order to generate HTML, XML, or whatever
format.
One can regenerate the API reference by calling:
@@ -1082,7 +1082,7 @@
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
+ incorrectly placed glyphs in fonts like `Wingdings' and a few
others.
@@ -1091,7 +1091,7 @@
- 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
+ - `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
@@ -1181,7 +1181,7 @@
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.
+ have been optimized and placed within the `ttinterp.c' file.
- Fixed the parsing of accelerator tables in the PCF font driver.
@@ -1228,11 +1228,11 @@
consistency. The following should be true, except for
public types:
- * All structure types have a name ending in "Rec" (short
+ * 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.
+ structure, _without_ the `Rec' suffix.
Example:
@@ -1245,7 +1245,7 @@
- Many internal macros have been renamed to increase
consistency. The following should be true:
- * All macros have a name beginning with "FT_". This
+ * All macros have a name beginning with `FT_'. This
required a few changes like
ALLOC => FT_ALLOC
@@ -1286,7 +1286,7 @@
FT_New_Memory_Stream => FT_Stream_OpenMemory
FT_Extract_Frame => FT_Stream_ExtractFrame
- Note that method names do not contain "_".
+ 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
@@ -1299,17 +1299,17 @@
eases the support of additional charmap types within the
engine.
- - A new configuration file named "ftstdlib.h" has been added
+ - 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").
+ 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.
+ More details are available in the `ChangeLog' file.
======================================================================
@@ -1318,7 +1318,7 @@
I. IMPORTANT BUG FIXES
- - Certain fonts like "foxjump.ttf" contain broken name tables with
+ - 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.
@@ -1333,7 +1333,7 @@
- The CID font driver has been fixed. It unfortunately returned a
Postscript Font name with a leading slash, as in
- "/MunhwaGothic-Regular".
+ `/MunhwaGothic-Regular'.
- FreeType 2 should now compile fine on AIX 4.3.3 as a shared
library.
@@ -1364,7 +1364,7 @@
III. MISCELLANEOUS
- The FreeType sources are under heavy internal re-factoring. As
- a consequence, we have created a branch named "STABLE" on the
+ 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
@@ -1379,8 +1379,8 @@
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.
+ - 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
@@ -1401,7 +1401,7 @@
- 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
+ FreeType to crash when trying to load `.gsf' files (Ghostscript
so-called Postscript fonts).
(This made _many_ KDE applications crash on certain systems.
@@ -1412,7 +1412,7 @@
- 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
+ `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
@@ -1419,8 +1419,8 @@
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 `builds/unix/freetype2.a4' which is used to generate a
+ valid `freetype2.m4' for use with autoconf.
- Fixed the OpenVMS Makefiles.
@@ -1427,7 +1427,7 @@
II. MISCELLANEOUS
- - Added "configure" and "install" scripts to the top-level
+ - Added `configure' and `install' scripts to the top-level
directory. A GNU-style installation is thus now easily possible
with
@@ -1459,14 +1459,14 @@
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
+ - `FT_Glyph_To_Bitmap' did erroneously modify the source glyph in
certain cases.
- - "glnames.py" still contained a bug that made FreeType return
+ - `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
+ `sadn.pfb' (`Stalingrad Normal'), which appear to contain
pathetic font info dictionaries.
- The TrueType glyph loader is now much more paranoid and checks
@@ -1488,7 +1488,7 @@
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
+ - 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.
@@ -1523,12 +1523,12 @@
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
+ - 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
+ 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.
@@ -1544,8 +1544,8 @@
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.
+ - 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
@@ -1557,7 +1557,7 @@
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
+ - 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
@@ -1568,11 +1568,11 @@
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
+ - 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 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:
@@ -1586,7 +1586,7 @@
- Removed many pedantic compiler warnings from the sources.
- - Added an Amiga build directory in "builds/amiga".
+ - Added an Amiga build directory in `builds/amiga'.
======================================================================
@@ -1606,16 +1606,16 @@
TrueType glyphs to be correctly returned.
- Fixed the Visual C++ project files located in
- "builds/win32/visualc" (previous versions used older names of the
+ `builds/win32/visualc' (previous versions used older names of the
library).
- - Many 32-bit constants have an "L" appended to their value, in
+ - 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
+ - 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
@@ -1635,8 +1635,8 @@
several annoying artefacts, mainly:
- Blue zone alignement 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.
+ 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.
@@ -1702,28 +1702,28 @@
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.
+ `make' on Windows 2000 correctly, avoid problems with `make
+ distclean' on non Unix systems, etc.
- - Hexadecimal constants have been suffixed with "U" to avoid
+ - 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
+ - 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
+ - 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
+ - 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
+ - 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
+ - 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.
@@ -1749,15 +1749,15 @@
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".
+ `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 `seac' emulation.
+ * Support for `dotsection'.
* Support for retrieving glyph names through
- "FT_Get_Glyph_Name".
+ `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.
@@ -1767,8 +1767,8 @@
* 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).
+ each glyph in the `glyph->control_data' field after a call to
+ `FT_Load_Glyph' (thanks Ha Shao).
- Various other bugfixes, including the following:
@@ -1777,8 +1777,8 @@
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.
+ * 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
@@ -1805,7 +1805,7 @@
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 the API reference under the section name `Header File Macros'
in Chapter I.
For more information, see section I of the following document:
@@ -1820,7 +1820,7 @@
- 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.
+ `docmaker.py' Python script.
The latter has been updated to support the grouping of sections
in chapters and better index sort. See:
@@ -1834,7 +1834,7 @@
(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
+ 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.
@@ -1866,15 +1866,15 @@
- 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.
+ 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
+ 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
+ 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
@@ -1886,9 +1886,9 @@
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".
+ - Fixed some problems with `freetype-config'.
- Finally, the "standard" scheme for including FreeType headers is now
+ 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).
@@ -1901,9 +1901,9 @@
CHANGES BETWEEN beta8 and 2.0
- Changed the default installation path for public headers from
- "include/freetype" to "include/freetype2".
+ `include/freetype' to `include/freetype2'.
- Also added a new "freetype-config" that is automatically generated
+ 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.
@@ -1916,7 +1916,7 @@
called.
* The linearHoriAdvance and linerVertAdvance fields were not
correctly returned for glyphs processed by the auto-hinter.
- * "type1z" renamed back to "type1"; the old "type1" module has
+ * `type1z' renamed back to `type1'; the old `type1' module has
been removed.
- Revamped the build system to make it a lot more generic. This
@@ -1923,22 +1923,22 @@
will allow us to re-use nearly un-modified in lots of other
projects (including FreeType Layout).
- - Changed "cid" to use "psaux" too.
+ - 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
+ 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
+ - Updated `docs/docmaker.py', a draft API reference is available at
http://www.freetype.org/ft2api.html.
- - Changed "type1" to use "psaux".
+ - 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"
+ - 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 an important bug in `FT_Glyph_Get_CBox'.
- Fixed some compiler warnings that happened since the TrueType
bytecode decoder was deactivated by default.
@@ -1951,7 +1951,7 @@
never released.
- Fixed the auto-hinter by performing automatic computation of the
- "filling direction" of each glyph. This is done through a simple
+ `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.
@@ -1963,12 +1963,12 @@
- Deactivated the TrueType bytecode interpreter by default.
- - Deactivated the "src/type1" font driver. Now "src/type1z" is used
+ - 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.
+ 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.
@@ -1975,17 +1975,17 @@
- Found some bugs in the composite loader (seac) of the Type1-based
font drivers.
- - Renamed the directory "freetype2/config" to "freetype2/builds" and
+ - Renamed the directory `freetype2/config' to `freetype2/builds' and
updated all relevant files.
- - Found a memory leak in the "type1" driver.
+ - 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
+ - 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
@@ -2004,8 +2004,8 @@
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
+ * 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
@@ -2015,13 +2015,13 @@
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.
+ * The type FT_GlyphSlotRec has now a `library' field.
- - CHANGES TO THE "ftglyph.h" API
+ - 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
+ `glyph factory' object, and allows client applications to manage
(i.e. transform, bbox and render) glyph images without ever
knowing their original format.
@@ -2029,12 +2029,12 @@
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.
+ 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 :-)
+ `make multi' now works well :-)
- Also removed the use of "cidafm" for now, even if the source files
+ 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.
@@ -2041,12 +2041,12 @@
- 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,
+ `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
+ auto-hinter doesn't include `generic' global metrics computations
yet.
Now, I need to release this thing to the FreeType 2 source.
@@ -2054,8 +2054,8 @@
- 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.
+ 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'.
@@ -2098,12 +2098,12 @@
- 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
+ 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.
+ 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.
@@ -2148,7 +2148,7 @@
glyph (relevant in vertical glyph layouts only). This is
useful to perform WYSIWYG text.
- Note that the two above field replace the removed "metrics2"
+ Note that the two above field replace the removed `metrics2'
field in the glyph slot.
advance:
@@ -2160,8 +2160,8 @@
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
+ 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:
@@ -2190,8 +2190,8 @@
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
+ 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
@@ -2199,9 +2199,9 @@
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
+ 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.
@@ -2217,7 +2217,7 @@
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
+ - 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..
@@ -2224,7 +2224,7 @@
- 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.
+ - fixed potential `divide by zero' bugs in ftcalc.c.
- added source code for the OpenType/CFF driver (still incomplete
though..)
@@ -2232,7 +2232,7 @@
- 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..
+ `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
@@ -2241,14 +2241,14 @@
- 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
+ - 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..
+ 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..
+ 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..)
@@ -2273,7 +2273,7 @@
OLD CHANGES 16 May 2000
- - tagged "BETA-6" in the CVS tree. This one is a serious release
+ - 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
@@ -2289,7 +2289,7 @@
<freetype/internal/ftmemory.h>
- definition of memory-management macros
- - added the "DSIG" (OpenType Digital Signature) tag to
+ - added the `DSIG' (OpenType Digital Signature) tag to
<freetype/tttags.h>
- light update/cleaning of the build system + changes to the sources
@@ -2296,7 +2296,7 @@
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
+ gcc with `-ansi -pedantic -Wall -W', Visual C++ with `/W3 /WX' and
LCC
IMPORTANT NOTE FOR WIN32-LCC USERS:
@@ -2341,7 +2341,7 @@
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
+ driver interface (the specific `init_face' module function has
now a different signature).
- updated the tutorial (not finished though).
@@ -2353,7 +2353,7 @@
- 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 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
@@ -2362,7 +2362,7 @@
- major directory hierarchy re-organisation. This was done for two
things:
- * first, to ease the "manual" compilation of the library by
+ * first, to ease the `manual' compilation of the library by
requiring at lot less include paths :-)
* second, to allow external programs to effectively access
@@ -2378,7 +2378,7 @@
Some new include sub-directories are available:
- a. the "freetype/config" directory, contains two files used to
+ 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.
@@ -2386,9 +2386,9 @@
#include <freetype/config/ftoption.h>
#include <freetype/config/ftconfig.h>
- b. the "freetype/internal" directory, contains header files that
+ 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"
+ were previously found in the `src/base' and `src/shared'
directories.
@@ -2436,22 +2436,22 @@
- 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) +
+ 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
+ - 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
+ - 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()) +
+ 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.
+ 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"
+ - 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
@@ -2464,20 +2464,20 @@
- 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"
+ - improved the standard Type 1 hinter in `src/type1'
- - fixed two bugs in the experimental Type 1 driver in "src/type1z"
+ - 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
+ 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
+ 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
@@ -2487,7 +2487,7 @@
- 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".
+ `FT_Raster_Params' in the file `include/ftimage.h'.
- fixed a small bug in FT_MulFix that caused incorrect transform
computation!
@@ -2501,21 +2501,21 @@
- 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>".
+ `freetype2/config'. System-specific over-rides can be placed in
+ `freetype2/config/<system>'.
- - moved all configuration macros to "config/ftoption.h"
+ - 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".
+ - 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").
+ ft_outline_.... enums in `ftimage.h').
- - changed outline functions to "FT_Outline_<action>" syntax
+ - changed outline functions to `FT_Outline_<action>' syntax
- added a smooth anti-alias renderer to the demonstration programs
@@ -2534,7 +2534,7 @@
OLD CHANGES - 22-feb-2000
- - introduced the "psnames" module. It is used to:
+ - 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 synthetize on
@@ -2546,16 +2546,16 @@
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
+ - 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
+ 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 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
+ - 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
+ 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).
@@ -2563,14 +2563,14 @@
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
+ 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
+ - 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
@@ -2610,10 +2610,10 @@
OLDER CHANGES - 27-jan-2000
- - updated the "sfnt" module interface to allow several SFNT-based
+ - 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
+ - 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..
@@ -2630,7 +2630,7 @@
OLD MESSAGE
-This file summarizes the changes that occured since the last "beta" of
+This file summarizes the changes that occured since the last `beta' of
FreeType 2. Because the list is important, it has been divided into
separate sections:
@@ -2656,17 +2656,17 @@
- 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
+ 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, it's "result"
+ - similarly, FT_Load_Glyph now only takes a `face' argument
+ (instead of a glyph slot and a size). Also, it's `result'
parameter is gone, as the glyph image type is returned in the
- field "face->glyph.format"
+ field `face->glyph.format'
- the list of available charmaps is directly accessible through
- "face->charmaps", counting "face->num_charmaps" elements. Each
+ `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:
@@ -2677,7 +2677,7 @@
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
+ holds its `platform_id' and `encoding_id' values in case the
encoding is too exotic for the current library
@@ -2700,7 +2700,7 @@
src/ -- sources of the library
base/ -- the base layer
- sfnt/ -- the sfnt "driver" (see the drivers section
+ sfnt/ -- the sfnt `driver' (see the drivers section
below)
truetype/ -- the truetype driver
type1/ -- the type1 driver
@@ -2725,7 +2725,7 @@
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
+ 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.
@@ -2750,7 +2750,7 @@
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
+ build system to create the `.lib' file with LCC-Win32 because its
librarian has too many flaws to be invoked directly from the
Makefile.
@@ -2767,7 +2767,7 @@
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
+ 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.
@@ -2805,7 +2805,7 @@
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
+ 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).
@@ -2821,8 +2821,8 @@
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".
+ See the file `include/ftsystem.h' for more details, as well as the
+ implementations found in `config/unix' and `config/ansi'.
----------------------------------------------------------------------
@@ -2839,13 +2839,13 @@
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
+ `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'.
+ 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
@@ -2858,7 +2858,7 @@
The extensions support is inspired by the one found in 1.x.
- Now, each font driver has its own "extension registry", which lists
+ Now, each font driver has its own `extension registry', which lists
which extensions are available for the font faces managed by the
driver.
@@ -2900,7 +2900,7 @@
------------------------------------------------------------------------
-Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006 by
+Copyright 2000, 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,
--- a/include/freetype/config/ftheader.h
+++ b/include/freetype/config/ftheader.h
@@ -4,7 +4,7 @@
/* */
/* Build macros of the FreeType 2 library. */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by */
+/* Copyright 1996-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, */
@@ -675,7 +675,7 @@
* A macro used in #include statements to name the file containing the
* FreeType 2 API which performs color filtering for subpixel rendering.
*/
-#define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
+#define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
/*************************************************************************
@@ -685,9 +685,9 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 API which returns entries from the TrueType GASP table
+ * FreeType 2 API which returns entries from the TrueType GASP table.
*/
-#define FT_GASP_H <freetype/ftgasp.h>
+#define FT_GASP_H <freetype/ftgasp.h>
/* */
--- a/include/freetype/ftgasp.h
+++ b/include/freetype/ftgasp.h
@@ -1,3 +1,21 @@
+/***************************************************************************/
+/* */
+/* ftgasp.h */
+/* */
+/* Access of TrueType's `gasp' table (specification). */
+/* */
+/* Copyright 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. */
+/* */
+/***************************************************************************/
+
+
#ifndef _FT_GASP_H_
#define _FT_GASP_H_
@@ -4,62 +22,69 @@
#include <ft2build.h>
#include FT_FREETYPE_H
-/**
- * @enum: FT_GASP_XXX
- *
- * @description:
- * a list of values and/or bit-flags returned by the
- * @FT_Get_Gasp function.
- *
- * @values:
- * FT_GASP_NO_TABLE ::
- * this special value means that there is no GASP table
- * in this face. It's up to the client to decide what to
- * do
- *
- * FT_GASP_DO_GRIDFIT ::
- * indicates that grid-fitting/hinting should be
- * performed at the specified ppem. This *really*
- * means TrueType bytecode interpretation
- *
- * FT_GASP_DO_GRAY ::
- * indicates that anti-aliased rendering should be
- * performed at the specified ppem
- *
- * FT_GASP_SYMMETRIC_SMOOTHING ::
- * indicates that smoothing along multiple axis
- * must be used with ClearType.
- *
- * FT_GASP_SYMMETRIC_GRIDFIT ::
- * indicates that grid-fitting must be used with
- * ClearType's symmetric smoothing
- */
-#define FT_GASP_NO_TABLE -1
-#define FT_GASP_DO_GRIDFIT 0x01
-#define FT_GASP_DO_GRAY 0x02
-#define FT_GASP_SYMMETRIC_SMOOTHING 0x08
-#define FT_GASP_SYMMETRIC_GRIDFIT 0x10
- /**
- * @func: FT_Get_Gasp
- *
- * @description:
- * read the GASP table from a TrueType or OpenType font file
- * and return the entry corresponding to a given character
- * pixel size
- *
- * @input:
- * face :: source face handle
- * ppem :: vertical character pixel size
- *
- * @return:
- * bit flags, or @FT_GASP_NO_TABLE is there is no GASP table
- * in the face.
- */
+ /*************************************************************************
+ *
+ * @enum:
+ * FT_GASP_XXX
+ *
+ * @description:
+ * A list of values and/or bit-flags returned by the @FT_Get_Gasp
+ * function.
+ *
+ * @values:
+ * FT_GASP_NO_TABLE ::
+ * This special value means that there is no GASP table in this face.
+ * It is up to the client to decide what to do.
+ *
+ * FT_GASP_DO_GRIDFIT ::
+ * Grid-fitting and hinting should be performed at the specified ppem.
+ * This *really* means TrueType bytecode interpretation.
+ *
+ * FT_GASP_DO_GRAY ::
+ * Anti-aliased rendering should be performed at the specified ppem.
+ *
+ * FT_GASP_SYMMETRIC_SMOOTHING ::
+ * Smoothing along multiple axes must be used with ClearType.
+ *
+ * FT_GASP_SYMMETRIC_GRIDFIT ::
+ * Grid-fitting must be used with ClearType's symmetric smoothing.
+ *
+ * @note:
+ * `ClearType' is Microsoft's implementation of LCD rendering, partly
+ * protected by patents.
+ */
+#define FT_GASP_NO_TABLE -1
+#define FT_GASP_DO_GRIDFIT 0x01
+#define FT_GASP_DO_GRAY 0x02
+#define FT_GASP_SYMMETRIC_SMOOTHING 0x08
+#define FT_GASP_SYMMETRIC_GRIDFIT 0x10
+
+
+ /*************************************************************************
+ *
+ * @func:
+ * FT_Get_Gasp
+ *
+ * @description:
+ * Read the `gasp' table from a TrueType or OpenType font file and
+ * return the entry corresponding to a given character pixel size.
+ *
+ * @input:
+ * face :: The source face handle.
+ * ppem :: The vertical character pixel size.
+ *
+ * @return:
+ * Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE is there is no
+ * `gasp' table in the face.
+ */
FT_EXPORT( FT_Int )
- FT_Get_Gasp( FT_Face face,
- FT_UInt ppem );
+ FT_Get_Gasp( FT_Face face,
+ FT_UInt ppem );
/* */
#endif /* _FT_GASP_H_ */
+
+
+/* END */
--- a/modules.cfg
+++ b/modules.cfg
@@ -1,6 +1,6 @@
# modules.cfg
#
-# Copyright 2005, 2006 by
+# Copyright 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,
--- a/src/base/Jamfile
+++ b/src/base/Jamfile
@@ -1,6 +1,6 @@
# FreeType 2 src/base Jamfile
#
-# Copyright 2001, 2002, 2003, 2004, 2005, 2006 by
+# 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,
--- a/src/base/ftgasp.c
+++ b/src/base/ftgasp.c
@@ -1,22 +1,44 @@
+/***************************************************************************/
+/* */
+/* ftgasp.c */
+/* */
+/* Access of TrueType's `gasp' table (body). */
+/* */
+/* Copyright 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. */
+/* */
+/***************************************************************************/
+
+
#include <ft2build.h>
#include FT_GASP_H
#include FT_INTERNAL_TRUETYPE_TYPES_H
+
FT_EXPORT_DEF( FT_Int )
- FT_Get_Gasp( FT_Face face,
- FT_UInt ppem )
+ FT_Get_Gasp( FT_Face face,
+ FT_UInt ppem )
{
FT_Int result = FT_GASP_NO_TABLE;
- if ( face && FT_IS_SFNT(face) )
+
+ if ( face && FT_IS_SFNT( face ) )
{
TT_Face ttface = (TT_Face)face;
+
if ( ttface->gasp.numRanges > 0 )
{
TT_GaspRange range = ttface->gasp.gaspRanges;
TT_GaspRange range_end = range + ttface->gasp.numRanges;
+
while ( ppem > range->maxPPEM )
{
range++;
@@ -26,7 +48,7 @@
result = range->gaspFlag;
- /* ensure we don't have spurious bits */
+ /* ensure that we don't have spurious bits */
if ( ttface->gasp.version == 0 )
result &= 3;
}
@@ -36,3 +58,4 @@
}
+/* END */
--- a/src/base/rules.mk
+++ b/src/base/rules.mk
@@ -3,7 +3,7 @@
#
-# Copyright 1996-2000, 2002, 2003, 2004, 2005, 2006 by
+# Copyright 1996-2000, 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,
--- a/src/sfnt/ttload.c
+++ b/src/sfnt/ttload.c
@@ -5,7 +5,7 @@
/* Load the basic TrueType tables, i.e., tables that can be either in */
/* TTF or OTF fonts (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by */
+/* Copyright 1996-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, */
@@ -1142,7 +1142,7 @@
if ( face->gasp.version >= 2 )
{
face->gasp.numRanges = 0;
- error = FT_Err_Invalid_Table;
+ error = SFNT_Err_Invalid_Table;
goto Exit;
}