mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 22:36:23 +00:00
[FREETYPE] Update to v2.6.1. CORE-10378
svn path=/trunk/; revision=69694
This commit is contained in:
parent
f9dab9b203
commit
4c14eaa561
184 changed files with 3806 additions and 1354 deletions
1108
reactos/lib/3rdparty/freetype/ChangeLog
vendored
1108
reactos/lib/3rdparty/freetype/ChangeLog
vendored
File diff suppressed because it is too large
Load diff
11
reactos/lib/3rdparty/freetype/README
vendored
11
reactos/lib/3rdparty/freetype/README
vendored
|
@ -1,5 +1,5 @@
|
|||
FreeType 2.6
|
||||
============
|
||||
FreeType 2.6.1
|
||||
==============
|
||||
|
||||
Homepage: http://www.freetype.org
|
||||
|
||||
|
@ -24,9 +24,9 @@
|
|||
|
||||
and download one of the following files.
|
||||
|
||||
freetype-doc-2.6.tar.bz2
|
||||
freetype-doc-2.6.tar.gz
|
||||
ftdoc26.zip
|
||||
freetype-doc-2.6.1.tar.bz2
|
||||
freetype-doc-2.6.1.tar.gz
|
||||
ftdoc261.zip
|
||||
|
||||
To view the documentation online, go to
|
||||
|
||||
|
@ -42,6 +42,7 @@
|
|||
general use and discussion: freetype@nongnu.org
|
||||
engine internals, porting, etc.: freetype-devel@nongnu.org
|
||||
announcements: freetype-announce@nongnu.org
|
||||
git repository tracker: freetype-commit@nongnu.org
|
||||
|
||||
The lists are moderated; see
|
||||
|
||||
|
|
3
reactos/lib/3rdparty/freetype/autogen.sh
vendored
3
reactos/lib/3rdparty/freetype/autogen.sh
vendored
|
@ -139,7 +139,7 @@ check_tool_version $LIBTOOLIZE libtoolize LIBTOOLIZE 2.2.4
|
|||
check_tool_version $AUTOCONF autoconf AUTOCONF 2.62
|
||||
|
||||
# This sets freetype_major, freetype_minor, and freetype_patch.
|
||||
eval `sed -nf version.sed include/freetype.h`
|
||||
eval `sed -nf version.sed include/freetype/freetype.h`
|
||||
|
||||
# We set freetype-patch to an empty value if it is zero.
|
||||
if test "$freetype_patch" = ".0"; then
|
||||
|
@ -156,7 +156,6 @@ run aclocal -I . --force
|
|||
run $LIBTOOLIZE --force --copy --install
|
||||
run autoconf --force
|
||||
|
||||
chmod +x mkinstalldirs
|
||||
chmod +x install-sh
|
||||
|
||||
cd ../..
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
#define FT_CONFIG_OPTIONS_H <ftoption.h>
|
||||
|
||||
#include <config/ftheader.h>
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* __FT2BUILD_H__ */
|
||||
|
||||
|
|
10
reactos/lib/3rdparty/freetype/devel/ftoption.h
vendored
10
reactos/lib/3rdparty/freetype/devel/ftoption.h
vendored
|
@ -38,9 +38,9 @@ FT_BEGIN_HEADER
|
|||
/* library from a single source directory. */
|
||||
/* */
|
||||
/* - You can put a copy of this file in your build directory, more */
|
||||
/* precisely in `$BUILD/config/ftoption.h', where `$BUILD' is the */
|
||||
/* name of a directory that is included _before_ the FreeType include */
|
||||
/* path during compilation. */
|
||||
/* precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD' */
|
||||
/* is the name of a directory that is included _before_ the FreeType */
|
||||
/* include path during compilation. */
|
||||
/* */
|
||||
/* The default FreeType Makefiles and Jamfiles use the build */
|
||||
/* directory `builds/<system>' by default, but you can easily change */
|
||||
|
@ -51,7 +51,7 @@ FT_BEGIN_HEADER
|
|||
/* locate this file during the build. For example, */
|
||||
/* */
|
||||
/* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */
|
||||
/* #include <config/ftheader.h> */
|
||||
/* #include <freetype/config/ftheader.h> */
|
||||
/* */
|
||||
/* will use `$BUILD/myftoptions.h' instead of this file for macro */
|
||||
/* definitions. */
|
||||
|
@ -59,7 +59,7 @@ FT_BEGIN_HEADER
|
|||
/* Note also that you can similarly pre-define the macro */
|
||||
/* FT_CONFIG_MODULES_H used to locate the file listing of the modules */
|
||||
/* that are statically linked to the library at compile time. By */
|
||||
/* default, this file is <config/ftmodule.h>. */
|
||||
/* default, this file is <freetype/config/ftmodule.h>. */
|
||||
/* */
|
||||
/* We highly recommend using the third method whenever possible. */
|
||||
/* */
|
||||
|
|
|
@ -335,9 +335,9 @@ FT_BEGIN_HEADER
|
|||
#if ( __GNUC__ >= 2 || \
|
||||
defined( __IBM__TYPEOF__ ) || \
|
||||
( __SUNPRO_C >= 0x5110 && !__STDC__ ) )
|
||||
#define TYPEOF( type ) (__typeof__ (type))
|
||||
#define FT_TYPEOF( type ) (__typeof__ (type))
|
||||
#else
|
||||
#define TYPEOF( type ) /* empty */
|
||||
#define FT_TYPEOF( type ) /* empty */
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -387,9 +387,9 @@ FT_BEGIN_HEADER
|
|||
#ifndef FT_EXPORT
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT( x ) extern "C" x __cdecl
|
||||
#define FT_EXPORT( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT( x ) extern x __cdecl
|
||||
#define FT_EXPORT( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT */
|
||||
|
@ -398,9 +398,9 @@ FT_BEGIN_HEADER
|
|||
#ifndef FT_EXPORT_DEF
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_EXPORT_DEF( x ) extern "C" x __cdecl
|
||||
#define FT_EXPORT_DEF( x ) extern "C" x
|
||||
#else
|
||||
#define FT_EXPORT_DEF( x ) extern x __cdecl
|
||||
#define FT_EXPORT_DEF( x ) extern x
|
||||
#endif
|
||||
|
||||
#endif /* !FT_EXPORT_DEF */
|
|
@ -107,7 +107,7 @@
|
|||
*
|
||||
*/
|
||||
#ifndef FT_CONFIG_CONFIG_H
|
||||
#define FT_CONFIG_CONFIG_H <config/ftconfig.h>
|
||||
#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -122,7 +122,7 @@
|
|||
*
|
||||
*/
|
||||
#ifndef FT_CONFIG_STANDARD_LIBRARY_H
|
||||
#define FT_CONFIG_STANDARD_LIBRARY_H <config/ftstdlib.h>
|
||||
#define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -137,7 +137,7 @@
|
|||
*
|
||||
*/
|
||||
#ifndef FT_CONFIG_OPTIONS_H
|
||||
#define FT_CONFIG_OPTIONS_H <config/ftoption.h>
|
||||
#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -153,7 +153,7 @@
|
|||
*
|
||||
*/
|
||||
#ifndef FT_CONFIG_MODULES_H
|
||||
#define FT_CONFIG_MODULES_H <config/ftmodule.h>
|
||||
#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
|
||||
#endif
|
||||
|
||||
/* */
|
||||
|
@ -170,7 +170,7 @@
|
|||
* base FreeType~2 API.
|
||||
*
|
||||
*/
|
||||
#define FT_FREETYPE_H <freetype.h>
|
||||
#define FT_FREETYPE_H <freetype/freetype.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -185,7 +185,7 @@
|
|||
* It is included by @FT_FREETYPE_H.
|
||||
*
|
||||
*/
|
||||
#define FT_ERRORS_H <fterrors.h>
|
||||
#define FT_ERRORS_H <freetype/fterrors.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -198,7 +198,7 @@
|
|||
* list of FreeType~2 module error offsets (and messages).
|
||||
*
|
||||
*/
|
||||
#define FT_MODULE_ERRORS_H <ftmoderr.h>
|
||||
#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -214,7 +214,7 @@
|
|||
* It is included by @FT_FREETYPE_H.
|
||||
*
|
||||
*/
|
||||
#define FT_SYSTEM_H <ftsystem.h>
|
||||
#define FT_SYSTEM_H <freetype/ftsystem.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -230,7 +230,7 @@
|
|||
* It is included by @FT_FREETYPE_H.
|
||||
*
|
||||
*/
|
||||
#define FT_IMAGE_H <ftimage.h>
|
||||
#define FT_IMAGE_H <freetype/ftimage.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -245,7 +245,7 @@
|
|||
* It is included by @FT_FREETYPE_H.
|
||||
*
|
||||
*/
|
||||
#define FT_TYPES_H <fttypes.h>
|
||||
#define FT_TYPES_H <freetype/fttypes.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -260,7 +260,7 @@
|
|||
* (Most applications will never need to include this file.)
|
||||
*
|
||||
*/
|
||||
#define FT_LIST_H <ftlist.h>
|
||||
#define FT_LIST_H <freetype/ftlist.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -273,7 +273,7 @@
|
|||
* scalable outline management API of FreeType~2.
|
||||
*
|
||||
*/
|
||||
#define FT_OUTLINE_H <ftoutln.h>
|
||||
#define FT_OUTLINE_H <freetype/ftoutln.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -286,7 +286,7 @@
|
|||
* API which manages multiple @FT_Size objects per face.
|
||||
*
|
||||
*/
|
||||
#define FT_SIZES_H <ftsizes.h>
|
||||
#define FT_SIZES_H <freetype/ftsizes.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -299,7 +299,7 @@
|
|||
* module management API of FreeType~2.
|
||||
*
|
||||
*/
|
||||
#define FT_MODULE_H <ftmodapi.h>
|
||||
#define FT_MODULE_H <freetype/ftmodapi.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -312,7 +312,7 @@
|
|||
* renderer module management API of FreeType~2.
|
||||
*
|
||||
*/
|
||||
#define FT_RENDER_H <ftrender.h>
|
||||
#define FT_RENDER_H <freetype/ftrender.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -325,7 +325,7 @@
|
|||
* structures and macros related to the auto-hinting module.
|
||||
*
|
||||
*/
|
||||
#define FT_AUTOHINTER_H <ftautoh.h>
|
||||
#define FT_AUTOHINTER_H <freetype/ftautoh.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -338,7 +338,7 @@
|
|||
* structures and macros related to the CFF driver module.
|
||||
*
|
||||
*/
|
||||
#define FT_CFF_DRIVER_H <ftcffdrv.h>
|
||||
#define FT_CFF_DRIVER_H <freetype/ftcffdrv.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -351,7 +351,7 @@
|
|||
* structures and macros related to the TrueType driver module.
|
||||
*
|
||||
*/
|
||||
#define FT_TRUETYPE_DRIVER_H <ftttdrv.h>
|
||||
#define FT_TRUETYPE_DRIVER_H <freetype/ftttdrv.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -364,7 +364,7 @@
|
|||
* types and API specific to the Type~1 format.
|
||||
*
|
||||
*/
|
||||
#define FT_TYPE1_TABLES_H <t1tables.h>
|
||||
#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -379,7 +379,7 @@
|
|||
* definitions, taken from the TrueType and OpenType specifications.
|
||||
*
|
||||
*/
|
||||
#define FT_TRUETYPE_IDS_H <ttnameid.h>
|
||||
#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -392,7 +392,7 @@
|
|||
* types and API specific to the TrueType (as well as OpenType) format.
|
||||
*
|
||||
*/
|
||||
#define FT_TRUETYPE_TABLES_H <tttables.h>
|
||||
#define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -406,7 +406,7 @@
|
|||
* SFNT-based font formats (i.e., TrueType and OpenType).
|
||||
*
|
||||
*/
|
||||
#define FT_TRUETYPE_TAGS_H <tttags.h>
|
||||
#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -420,7 +420,7 @@
|
|||
* face.
|
||||
*
|
||||
*/
|
||||
#define FT_BDF_H <ftbdf.h>
|
||||
#define FT_BDF_H <freetype/ftbdf.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -434,7 +434,7 @@
|
|||
* face.
|
||||
*
|
||||
*/
|
||||
#define FT_CID_H <ftcid.h>
|
||||
#define FT_CID_H <freetype/ftcid.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -447,7 +447,7 @@
|
|||
* definitions of an API which supports gzip-compressed files.
|
||||
*
|
||||
*/
|
||||
#define FT_GZIP_H <ftgzip.h>
|
||||
#define FT_GZIP_H <freetype/ftgzip.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -460,7 +460,7 @@
|
|||
* definitions of an API which supports LZW-compressed files.
|
||||
*
|
||||
*/
|
||||
#define FT_LZW_H <ftlzw.h>
|
||||
#define FT_LZW_H <freetype/ftlzw.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -473,7 +473,7 @@
|
|||
* definitions of an API which supports bzip2-compressed files.
|
||||
*
|
||||
*/
|
||||
#define FT_BZIP2_H <ftbzip2.h>
|
||||
#define FT_BZIP2_H <freetype/ftbzip2.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -486,7 +486,7 @@
|
|||
* definitions of an API which supports Windows FNT files.
|
||||
*
|
||||
*/
|
||||
#define FT_WINFONTS_H <ftwinfnt.h>
|
||||
#define FT_WINFONTS_H <freetype/ftwinfnt.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -499,7 +499,7 @@
|
|||
* API of the optional glyph management component.
|
||||
*
|
||||
*/
|
||||
#define FT_GLYPH_H <ftglyph.h>
|
||||
#define FT_GLYPH_H <freetype/ftglyph.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -512,7 +512,7 @@
|
|||
* API of the optional bitmap conversion component.
|
||||
*
|
||||
*/
|
||||
#define FT_BITMAP_H <ftbitmap.h>
|
||||
#define FT_BITMAP_H <freetype/ftbitmap.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -525,7 +525,7 @@
|
|||
* API of the optional exact bounding box computation routines.
|
||||
*
|
||||
*/
|
||||
#define FT_BBOX_H <ftbbox.h>
|
||||
#define FT_BBOX_H <freetype/ftbbox.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -538,7 +538,7 @@
|
|||
* API of the optional FreeType~2 cache sub-system.
|
||||
*
|
||||
*/
|
||||
#define FT_CACHE_H <ftcache.h>
|
||||
#define FT_CACHE_H <freetype/ftcache.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -612,7 +612,7 @@
|
|||
* compiled on the Mac (note that the base API still works though).
|
||||
*
|
||||
*/
|
||||
#define FT_MAC_H <ftmac.h>
|
||||
#define FT_MAC_H <freetype/ftmac.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -625,7 +625,7 @@
|
|||
* optional multiple-masters management API of FreeType~2.
|
||||
*
|
||||
*/
|
||||
#define FT_MULTIPLE_MASTERS_H <ftmm.h>
|
||||
#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -639,7 +639,7 @@
|
|||
* SFNT-based font formats (i.e., TrueType and OpenType).
|
||||
*
|
||||
*/
|
||||
#define FT_SFNT_NAMES_H <ftsnames.h>
|
||||
#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -653,7 +653,7 @@
|
|||
* GPOS, GSUB, JSTF).
|
||||
*
|
||||
*/
|
||||
#define FT_OPENTYPE_VALIDATE_H <ftotval.h>
|
||||
#define FT_OPENTYPE_VALIDATE_H <freetype/ftotval.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -667,7 +667,7 @@
|
|||
* mort, morx, bsln, just, kern, opbd, trak, prop).
|
||||
*
|
||||
*/
|
||||
#define FT_GX_VALIDATE_H <ftgxval.h>
|
||||
#define FT_GX_VALIDATE_H <freetype/ftgxval.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -680,7 +680,7 @@
|
|||
* FreeType~2 API which accesses PFR-specific data.
|
||||
*
|
||||
*/
|
||||
#define FT_PFR_H <ftpfr.h>
|
||||
#define FT_PFR_H <freetype/ftpfr.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -692,7 +692,7 @@
|
|||
* A macro used in #include statements to name the file containing the
|
||||
* FreeType~2 API which provides functions to stroke outline paths.
|
||||
*/
|
||||
#define FT_STROKER_H <ftstroke.h>
|
||||
#define FT_STROKER_H <freetype/ftstroke.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -704,7 +704,7 @@
|
|||
* A macro used in #include statements to name the file containing the
|
||||
* FreeType~2 API which performs artificial obliquing and emboldening.
|
||||
*/
|
||||
#define FT_SYNTHESIS_H <ftsynth.h>
|
||||
#define FT_SYNTHESIS_H <freetype/ftsynth.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -716,7 +716,7 @@
|
|||
* A macro used in #include statements to name the file containing the
|
||||
* FreeType~2 API which provides functions specific to font formats.
|
||||
*/
|
||||
#define FT_FONT_FORMATS_H <ftfntfmt.h>
|
||||
#define FT_FONT_FORMATS_H <freetype/ftfntfmt.h>
|
||||
|
||||
/* deprecated */
|
||||
#define FT_XFREE86_H FT_FONT_FORMATS_H
|
||||
|
@ -732,7 +732,7 @@
|
|||
* FreeType~2 API which performs trigonometric computations (e.g.,
|
||||
* cosines and arc tangents).
|
||||
*/
|
||||
#define FT_TRIGONOMETRY_H <fttrigon.h>
|
||||
#define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -744,7 +744,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 <ftlcdfil.h>
|
||||
#define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -756,7 +756,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_UNPATENTED_HINTING_H <ttunpat.h>
|
||||
#define FT_UNPATENTED_HINTING_H <freetype/ttunpat.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -768,7 +768,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_INCREMENTAL_H <ftincrem.h>
|
||||
#define FT_INCREMENTAL_H <freetype/ftincrem.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -780,7 +780,7 @@
|
|||
* A macro used in #include statements to name the file containing the
|
||||
* FreeType~2 API which returns entries from the TrueType GASP table.
|
||||
*/
|
||||
#define FT_GASP_H <ftgasp.h>
|
||||
#define FT_GASP_H <freetype/ftgasp.h>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -792,30 +792,30 @@
|
|||
* A macro used in #include statements to name the file containing the
|
||||
* FreeType~2 API which returns individual and ranged glyph advances.
|
||||
*/
|
||||
#define FT_ADVANCES_H <ftadvanc.h>
|
||||
#define FT_ADVANCES_H <freetype/ftadvanc.h>
|
||||
|
||||
|
||||
/* */
|
||||
|
||||
#define FT_ERROR_DEFINITIONS_H <fterrdef.h>
|
||||
#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h>
|
||||
|
||||
|
||||
/* The internals of the cache sub-system are no longer exposed. We */
|
||||
/* default to FT_CACHE_H at the moment just in case, but we know of */
|
||||
/* no rogue client that uses them. */
|
||||
/* */
|
||||
#define FT_CACHE_MANAGER_H <ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_MRU_H <ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_MANAGER_H <ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_CACHE_H <ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_GLYPH_H <ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_IMAGE_H <ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_SBITS_H <ftcache.h>
|
||||
#define FT_CACHE_MANAGER_H <freetype/ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_MRU_H <freetype/ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_MANAGER_H <freetype/ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_CACHE_H <freetype/ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_GLYPH_H <freetype/ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_IMAGE_H <freetype/ftcache.h>
|
||||
#define FT_CACHE_INTERNAL_SBITS_H <freetype/ftcache.h>
|
||||
|
||||
|
||||
#define FT_INCREMENTAL_H <ftincrem.h>
|
||||
#define FT_INCREMENTAL_H <freetype/ftincrem.h>
|
||||
|
||||
#define FT_TRUETYPE_UNPATENTED_H <ttunpat.h>
|
||||
#define FT_TRUETYPE_UNPATENTED_H <freetype/ttunpat.h>
|
||||
|
||||
|
||||
/*
|
||||
|
@ -823,7 +823,7 @@
|
|||
* only when building the library.
|
||||
*/
|
||||
#ifdef FT2_BUILD_LIBRARY
|
||||
#define FT_INTERNAL_INTERNAL_H <internal/internal.h>
|
||||
#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h>
|
||||
#include FT_INTERNAL_INTERNAL_H
|
||||
#endif /* FT2_BUILD_LIBRARY */
|
||||
|
|
@ -38,9 +38,9 @@ FT_BEGIN_HEADER
|
|||
/* library from a single source directory. */
|
||||
/* */
|
||||
/* - You can put a copy of this file in your build directory, more */
|
||||
/* precisely in `$BUILD/config/ftoption.h', where `$BUILD' is the */
|
||||
/* name of a directory that is included _before_ the FreeType include */
|
||||
/* path during compilation. */
|
||||
/* precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD' */
|
||||
/* is the name of a directory that is included _before_ the FreeType */
|
||||
/* include path during compilation. */
|
||||
/* */
|
||||
/* The default FreeType Makefiles and Jamfiles use the build */
|
||||
/* directory `builds/<system>' by default, but you can easily change */
|
||||
|
@ -51,7 +51,7 @@ FT_BEGIN_HEADER
|
|||
/* locate this file during the build. For example, */
|
||||
/* */
|
||||
/* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */
|
||||
/* #include <config/ftheader.h> */
|
||||
/* #include <freetype/config/ftheader.h> */
|
||||
/* */
|
||||
/* will use `$BUILD/myftoptions.h' instead of this file for macro */
|
||||
/* definitions. */
|
||||
|
@ -59,7 +59,7 @@ FT_BEGIN_HEADER
|
|||
/* Note also that you can similarly pre-define the macro */
|
||||
/* FT_CONFIG_MODULES_H used to locate the file listing of the modules */
|
||||
/* that are statically linked to the library at compile time. By */
|
||||
/* default, this file is <config/ftmodule.h>. */
|
||||
/* default, this file is <freetype/config/ftmodule.h>. */
|
||||
/* */
|
||||
/* We highly recommend using the third method whenever possible. */
|
||||
/* */
|
|
@ -64,6 +64,7 @@
|
|||
#define FT_INT_MAX INT_MAX
|
||||
#define FT_INT_MIN INT_MIN
|
||||
#define FT_UINT_MAX UINT_MAX
|
||||
#define FT_LONG_MAX LONG_MAX
|
||||
#define FT_ULONG_MAX ULONG_MAX
|
||||
|
||||
|
|
@ -876,17 +876,36 @@ FT_BEGIN_HEADER
|
|||
/* font formats can have multiple faces in */
|
||||
/* a font file. */
|
||||
/* */
|
||||
/* face_index :: The index of the face in the font file. It */
|
||||
/* is set to~0 if there is only one face in */
|
||||
/* face_index :: This field holds two different values. */
|
||||
/* Bits 0-15 are the index of the face in the */
|
||||
/* font file (starting with value~0). They */
|
||||
/* are set to~0 if there is only one face in */
|
||||
/* the font file. */
|
||||
/* */
|
||||
/* Bits 16-30 are relevant to GX variation */
|
||||
/* fonts only, holding the named instance */
|
||||
/* index for the current face index (starting */
|
||||
/* with value~1; value~0 indicates font access */
|
||||
/* without GX variation data). For non-GX */
|
||||
/* fonts, bits 16-30 are ignored. If we have */
|
||||
/* the third named instance of face~4, say, */
|
||||
/* `face_index' is set to 0x00030004. */
|
||||
/* */
|
||||
/* Bit 31 is always zero (this is, */
|
||||
/* `face_index' is always a positive value). */
|
||||
/* */
|
||||
/* face_flags :: A set of bit flags that give important */
|
||||
/* information about the face; see */
|
||||
/* @FT_FACE_FLAG_XXX for the details. */
|
||||
/* */
|
||||
/* style_flags :: A set of bit flags indicating the style of */
|
||||
/* the face; see @FT_STYLE_FLAG_XXX for the */
|
||||
/* details. */
|
||||
/* style_flags :: The lower 16~bits contain a set of bit */
|
||||
/* flags indicating the style of the face; see */
|
||||
/* @FT_STYLE_FLAG_XXX for the details. Bits */
|
||||
/* 16-30 hold the number of named instances */
|
||||
/* available for the current face if we have a */
|
||||
/* GX variation (sub)font. Bit 31 is always */
|
||||
/* zero (this is, `style_flags' is always a */
|
||||
/* positive value). */
|
||||
/* */
|
||||
/* num_glyphs :: The number of glyphs in the face. If the */
|
||||
/* face is scalable and has sbits (see */
|
||||
|
@ -1392,7 +1411,7 @@ FT_BEGIN_HEADER
|
|||
/* FT_STYLE_FLAG_XXX */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A list of bit-flags used to indicate the style of a given face. */
|
||||
/* A list of bit flags used to indicate the style of a given face. */
|
||||
/* These are used in the `style_flags' field of @FT_FaceRec. */
|
||||
/* */
|
||||
/* <Values> */
|
||||
|
@ -1824,7 +1843,7 @@ FT_BEGIN_HEADER
|
|||
/* FT_OPEN_XXX */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A list of bit-field constants used within the `flags' field of the */
|
||||
/* A list of bit field constants used within the `flags' field of the */
|
||||
/* @FT_Open_Args structure. */
|
||||
/* */
|
||||
/* <Values> */
|
||||
|
@ -1971,13 +1990,12 @@ FT_BEGIN_HEADER
|
|||
/* <Input> */
|
||||
/* pathname :: A path to the font file. */
|
||||
/* */
|
||||
/* face_index :: The index of the face within the font. The first */
|
||||
/* face has index~0. */
|
||||
/* face_index :: See @FT_Open_Face for a detailed description of this */
|
||||
/* parameter. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* aface :: A handle to a new face object. If `face_index' is */
|
||||
/* greater than or equal to zero, it must be non-NULL. */
|
||||
/* See @FT_Open_Face for more details. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0~means success. */
|
||||
|
@ -2010,13 +2028,12 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* file_size :: The size of the memory chunk used by the font data. */
|
||||
/* */
|
||||
/* face_index :: The index of the face within the font. The first */
|
||||
/* face has index~0. */
|
||||
/* face_index :: See @FT_Open_Face for a detailed description of this */
|
||||
/* parameter. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* aface :: A handle to a new face object. If `face_index' is */
|
||||
/* greater than or equal to zero, it must be non-NULL. */
|
||||
/* See @FT_Open_Face for more details. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0~means success. */
|
||||
|
@ -2048,13 +2065,43 @@ FT_BEGIN_HEADER
|
|||
/* args :: A pointer to an `FT_Open_Args' structure that must */
|
||||
/* be filled by the caller. */
|
||||
/* */
|
||||
/* face_index :: The index of the face within the font. The first */
|
||||
/* face has index~0. */
|
||||
/* face_index :: This field holds two different values. Bits 0-15 */
|
||||
/* are the index of the face in the font file (starting */
|
||||
/* with value~0). Set it to~0 if there is only one */
|
||||
/* face in the font file. */
|
||||
/* */
|
||||
/* Bits 16-30 are relevant to GX variation fonts only, */
|
||||
/* specifying the named instance index for the current */
|
||||
/* face index (starting with value~1; value~0 makes */
|
||||
/* FreeType ignore named instances). For non-GX fonts, */
|
||||
/* bits 16-30 are ignored. Assuming that you want to */
|
||||
/* access the third named instance in face~4, */
|
||||
/* `face_index' should be set to 0x00030004. If you */
|
||||
/* want to access face~4 without GX variation handling, */
|
||||
/* simply set `face_index' to value~4. */
|
||||
/* */
|
||||
/* FT_Open_Face and its siblings can be used to quickly */
|
||||
/* check whether the font format of a given font */
|
||||
/* resource is supported by FreeType. In general, if */
|
||||
/* the `face_index' argument is negative, the */
|
||||
/* function's return value is~0 if the font format is */
|
||||
/* recognized, or non-zero otherwise. The function */
|
||||
/* allocates a more or less empty face handle in */
|
||||
/* `*aface' (if `aface' isn't NULL); the only two */
|
||||
/* useful fields in this special case are */
|
||||
/* `face->num_faces' and `face->style_flags'. For any */
|
||||
/* negative value of `face_index', `face->num_faces' */
|
||||
/* gives the number of faces within the font file. For */
|
||||
/* the negative value `-(N+1)' (with `N' a 16-bit */
|
||||
/* value), bits 16-30 in `face->style_flags' give the */
|
||||
/* number of named instances in face `N' if we have a */
|
||||
/* GX variation font (or zero otherwise). After */
|
||||
/* examination, the returned @FT_Face structure should */
|
||||
/* be deallocated with a call to @FT_Done_Face. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* aface :: A handle to a new face object. If `face_index' is */
|
||||
/* greater than or equal to zero, it must be non-NULL. */
|
||||
/* See note below. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0~means success. */
|
||||
|
@ -2064,16 +2111,6 @@ FT_BEGIN_HEADER
|
|||
/* slot for the face object that can be accessed directly through */
|
||||
/* `face->glyph'. */
|
||||
/* */
|
||||
/* FT_Open_Face can be used to quickly check whether the font */
|
||||
/* format of a given font resource is supported by FreeType. If the */
|
||||
/* `face_index' field is negative, the function's return value is~0 */
|
||||
/* if the font format is recognized, or non-zero otherwise; */
|
||||
/* the function returns a more or less empty face handle in `*aface' */
|
||||
/* (if `aface' isn't NULL). The only useful field in this special */
|
||||
/* case is `face->num_faces' that gives the number of faces within */
|
||||
/* the font file. After examination, the returned @FT_Face structure */
|
||||
/* should be deallocated with a call to @FT_Done_Face. */
|
||||
/* */
|
||||
/* Each new face object created with this function also owns a */
|
||||
/* default @FT_Size object, accessible as `face->size'. */
|
||||
/* */
|
||||
|
@ -2084,6 +2121,74 @@ FT_BEGIN_HEADER
|
|||
/* See the discussion of reference counters in the description of */
|
||||
/* @FT_Reference_Face. */
|
||||
/* */
|
||||
/* To loop over all faces, use code similar to the following snippet */
|
||||
/* (omitting the error handling). */
|
||||
/* */
|
||||
/* { */
|
||||
/* ... */
|
||||
/* FT_Face face; */
|
||||
/* FT_Long i, num_faces; */
|
||||
/* */
|
||||
/* */
|
||||
/* error = FT_Open_Face( library, args, -1, &face ); */
|
||||
/* if ( error ) { ... } */
|
||||
/* */
|
||||
/* num_faces = face->num_faces; */
|
||||
/* FT_Done_Face( face ); */
|
||||
/* */
|
||||
/* for ( i = 0; i < num_faces; i++ ) */
|
||||
/* { */
|
||||
/* ... */
|
||||
/* error = FT_Open_Face( library, args, i, &face ); */
|
||||
/* ... */
|
||||
/* FT_Done_Face( face ); */
|
||||
/* ... */
|
||||
/* } */
|
||||
/* } */
|
||||
/* */
|
||||
/* To loop over all valid values for `face_index', use something */
|
||||
/* similar to the following snippet, again without error handling. */
|
||||
/* The code accesses all faces immediately (thus only a single call */
|
||||
/* of `FT_Open_Face' within the do-loop), with and without named */
|
||||
/* instances. */
|
||||
/* */
|
||||
/* { */
|
||||
/* ... */
|
||||
/* FT_Face face; */
|
||||
/* */
|
||||
/* FT_Long num_faces = 0; */
|
||||
/* FT_Long num_instances = 0; */
|
||||
/* */
|
||||
/* FT_Long face_idx = 0; */
|
||||
/* FT_Long instance_idx = 0; */
|
||||
/* */
|
||||
/* */
|
||||
/* do */
|
||||
/* { */
|
||||
/* FT_Long id = ( instance_idx << 16 ) + face_idx; */
|
||||
/* */
|
||||
/* */
|
||||
/* error = FT_Open_Face( library, args, id, &face ); */
|
||||
/* if ( error ) { ... } */
|
||||
/* */
|
||||
/* num_faces = face->num_faces; */
|
||||
/* num_instances = face->style_flags >> 16; */
|
||||
/* */
|
||||
/* ... */
|
||||
/* */
|
||||
/* FT_Done_Face( face ); */
|
||||
/* */
|
||||
/* if ( instance_idx < num_instances ) */
|
||||
/* instance_idx++; */
|
||||
/* else */
|
||||
/* { */
|
||||
/* face_idx++; */
|
||||
/* instance_idx = 0; */
|
||||
/* } */
|
||||
/* */
|
||||
/* } while ( face_idx < num_faces ) */
|
||||
/* } */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Open_Face( FT_Library library,
|
||||
const FT_Open_Args* args,
|
||||
|
@ -2521,7 +2626,7 @@ FT_BEGIN_HEADER
|
|||
* FT_LOAD_XXX
|
||||
*
|
||||
* @description:
|
||||
* A list of bit-field constants used with @FT_Load_Glyph to indicate
|
||||
* A list of bit field constants used with @FT_Load_Glyph to indicate
|
||||
* what kind of operations to perform during glyph loading.
|
||||
*
|
||||
* @values:
|
||||
|
@ -2638,6 +2743,16 @@ FT_BEGIN_HEADER
|
|||
* bitmaps transparently. Those bitmaps will be in the
|
||||
* @FT_PIXEL_MODE_GRAY format.
|
||||
*
|
||||
* FT_LOAD_COMPUTE_METRICS ::
|
||||
* This flag sets computing glyph metrics without the use of bundled
|
||||
* metrics tables (for example, the `hdmx' table in TrueType fonts).
|
||||
* Well-behaving fonts have optimized bundled metrics and these should
|
||||
* be used. This flag is mainly used by font validating or font
|
||||
* editing applications, which need to ignore, verify, or edit those
|
||||
* tables.
|
||||
*
|
||||
* Currently, this flag is only implemented for TrueType fonts.
|
||||
*
|
||||
* FT_LOAD_CROP_BITMAP ::
|
||||
* Ignored. Deprecated.
|
||||
*
|
||||
|
@ -2683,6 +2798,7 @@ FT_BEGIN_HEADER
|
|||
#define FT_LOAD_NO_AUTOHINT ( 1L << 15 )
|
||||
/* Bits 16..19 are used by `FT_LOAD_TARGET_' */
|
||||
#define FT_LOAD_COLOR ( 1L << 20 )
|
||||
#define FT_LOAD_COMPUTE_METRICS ( 1L << 21 )
|
||||
|
||||
/* */
|
||||
|
||||
|
@ -2927,15 +3043,22 @@ FT_BEGIN_HEADER
|
|||
/* @FT_Get_Kerning. */
|
||||
/* */
|
||||
/* <Values> */
|
||||
/* FT_KERNING_DEFAULT :: Return scaled and grid-fitted kerning */
|
||||
/* distances (value is~0). */
|
||||
/* FT_KERNING_DEFAULT :: Return grid-fitted kerning distances in */
|
||||
/* pixels (value is~0). Whether they are */
|
||||
/* scaled depends on @FT_LOAD_NO_SCALE. */
|
||||
/* */
|
||||
/* FT_KERNING_UNFITTED :: Return scaled but un-grid-fitted kerning */
|
||||
/* distances. */
|
||||
/* FT_KERNING_UNFITTED :: Return un-grid-fitted kerning distances in */
|
||||
/* 26.6 fractional pixels. Whether they are */
|
||||
/* scaled depends on @FT_LOAD_NO_SCALE. */
|
||||
/* */
|
||||
/* FT_KERNING_UNSCALED :: Return the kerning vector in original font */
|
||||
/* units. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* FT_KERNING_DEFAULT returns full pixel values; it also makes */
|
||||
/* FreeType heuristically scale down kerning distances at small ppem */
|
||||
/* values so that they don't become too big. */
|
||||
/* */
|
||||
typedef enum FT_Kerning_Mode_
|
||||
{
|
||||
FT_KERNING_DEFAULT = 0,
|
||||
|
@ -2972,9 +3095,10 @@ FT_BEGIN_HEADER
|
|||
/* kerning vector. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* akerning :: The kerning vector. This is either in font units */
|
||||
/* or in pixels (26.6 format) for scalable formats, */
|
||||
/* and in pixels for fixed-sizes formats. */
|
||||
/* akerning :: The kerning vector. This is either in font units, */
|
||||
/* fractional pixels (26.6 format), or pixels for */
|
||||
/* scalable formats, and in pixels for fixed-sizes */
|
||||
/* formats. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0~means success. */
|
||||
|
@ -3259,6 +3383,13 @@ FT_BEGIN_HEADER
|
|||
/* } */
|
||||
/* } */
|
||||
/* */
|
||||
/* Be aware that character codes can have values up to 0xFFFFFFFF; */
|
||||
/* this might happen for non-Unicode or malformed cmaps. However, */
|
||||
/* even with regular Unicode encoding, so-called `last resort fonts' */
|
||||
/* (using SFNT cmap format 13, see function @FT_Get_CMap_Format) */
|
||||
/* normally have entries for all Unicode characters up to 0x1FFFFF, */
|
||||
/* which can cause *a lot* of iterations. */
|
||||
/* */
|
||||
/* Note that `*agindex' is set to~0 if the charmap is empty. The */
|
||||
/* result itself can be~0 in two cases: if the charmap is empty or */
|
||||
/* if the value~0 is the first valid character code. */
|
||||
|
@ -3454,6 +3585,9 @@ FT_BEGIN_HEADER
|
|||
/* bitmaps available in the font, then the font is unembeddable. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* The flags are ORed together, thus more than a single value can be */
|
||||
/* returned. */
|
||||
/* */
|
||||
/* While the fsType flags can indicate that a font may be embedded, a */
|
||||
/* license with the font vendor may be separately required to use the */
|
||||
/* font in this way. */
|
||||
|
@ -3839,7 +3973,8 @@ FT_BEGIN_HEADER
|
|||
/* a :: The number to be rounded. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The result of `(a + 0x8000) & -0x10000'. */
|
||||
/* `a' rounded to nearest 16.16 fixed integer, halfway cases away */
|
||||
/* from zero. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Fixed )
|
||||
FT_RoundFix( FT_Fixed a );
|
||||
|
@ -3858,7 +3993,7 @@ FT_BEGIN_HEADER
|
|||
/* a :: The number for which the ceiling function is to be computed. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The result of `(a + 0x10000 - 1) & -0x10000'. */
|
||||
/* `a' rounded towards plus infinity. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Fixed )
|
||||
FT_CeilFix( FT_Fixed a );
|
||||
|
@ -3877,7 +4012,7 @@ FT_BEGIN_HEADER
|
|||
/* a :: The number for which the floor function is to be computed. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* The result of `a & -0x10000'. */
|
||||
/* `a' rounded towards minus infinity. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Fixed )
|
||||
FT_FloorFix( FT_Fixed a );
|
||||
|
@ -3958,7 +4093,7 @@ FT_BEGIN_HEADER
|
|||
*/
|
||||
#define FREETYPE_MAJOR 2
|
||||
#define FREETYPE_MINOR 6
|
||||
#define FREETYPE_PATCH 0
|
||||
#define FREETYPE_PATCH 1
|
||||
|
||||
|
||||
/*************************************************************************/
|
|
@ -247,8 +247,8 @@ FT_BEGIN_HEADER
|
|||
*/
|
||||
typedef struct FT_Prop_GlyphToScriptMap_
|
||||
{
|
||||
FT_Face face;
|
||||
FT_Byte* map;
|
||||
FT_Face face;
|
||||
FT_UShort* map;
|
||||
|
||||
} FT_Prop_GlyphToScriptMap;
|
||||
|
|
@ -119,3 +119,17 @@
|
|||
/* lcd_filtering */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* <Chapter> */
|
||||
/* error_codes */
|
||||
/* */
|
||||
/* <Title> */
|
||||
/* Error Codes */
|
||||
/* */
|
||||
/* <Sections> */
|
||||
/* error_enumerations */
|
||||
/* error_code_values */
|
||||
/* */
|
||||
/***************************************************************************/
|
|
@ -16,18 +16,43 @@
|
|||
/***************************************************************************/
|
||||
|
||||
|
||||
/*******************************************************************/
|
||||
/*******************************************************************/
|
||||
/***** *****/
|
||||
/***** LIST OF ERROR CODES/MESSAGES *****/
|
||||
/***** *****/
|
||||
/*******************************************************************/
|
||||
/*******************************************************************/
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Section> */
|
||||
/* error_code_values */
|
||||
/* */
|
||||
/* <Title> */
|
||||
/* Error Code Values */
|
||||
/* */
|
||||
/* <Abstract> */
|
||||
/* All possible error codes returned by FreeType functions. */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The list below is taken verbatim from the file `fterrdef.h' */
|
||||
/* (loaded automatically by including `FT_FREETYPE_H'). The first */
|
||||
/* argument of the `FT_ERROR_DEF_' macro is the error label; by */
|
||||
/* default, the prefix `FT_Err_' gets added so that you get error */
|
||||
/* names like `FT_Err_Cannot_Open_Resource'. The second argument is */
|
||||
/* the error code, and the last argument an error string, which is not */
|
||||
/* used by FreeType. */
|
||||
/* */
|
||||
/* Within your application you should *only* use error names and */
|
||||
/* *never* its numeric values! The latter might (and actually do) */
|
||||
/* change in forthcoming FreeType versions. */
|
||||
/* */
|
||||
/* Macro `FT_NOERRORDEF_' defines `FT_Err_Ok', which is always zero. */
|
||||
/* See the `Error Enumerations' subsection how to automatically */
|
||||
/* generate a list of error strings. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/* You need to define both FT_ERRORDEF_ and FT_NOERRORDEF_ before */
|
||||
/* including this file. */
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Enum> */
|
||||
/* FT_Err_XXX */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
/* generic errors */
|
||||
|
||||
|
@ -245,5 +270,7 @@
|
|||
FT_ERRORDEF_( Corrupted_Font_Glyphs, 0xBA,
|
||||
"Font glyphs corrupted or missing fields" )
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
/* END */
|
|
@ -18,68 +18,86 @@
|
|||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This special header file is used to define the handling of FT2 */
|
||||
/* enumeration constants. It can also be used to generate error message */
|
||||
/* strings with a small macro trick explained below. */
|
||||
/* <Section> */
|
||||
/* error_enumerations */
|
||||
/* */
|
||||
/* I - Error Formats */
|
||||
/* ----------------- */
|
||||
/* <Title> */
|
||||
/* Error Enumerations */
|
||||
/* */
|
||||
/* <Abstract> */
|
||||
/* How to handle errors and error strings. */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* The header file `fterrors.h' (which is automatically included by */
|
||||
/* `freetype.h' defines the handling of FreeType's enumeration */
|
||||
/* constants. It can also be used to generate error message strings */
|
||||
/* with a small macro trick explained below. */
|
||||
/* */
|
||||
/* *Error* *Formats* */
|
||||
/* */
|
||||
/* The configuration macro FT_CONFIG_OPTION_USE_MODULE_ERRORS can be */
|
||||
/* defined in ftoption.h in order to make the higher byte indicate */
|
||||
/* defined in `ftoption.h' in order to make the higher byte indicate */
|
||||
/* the module where the error has happened (this is not compatible */
|
||||
/* with standard builds of FreeType 2). See the file `ftmoderr.h' for */
|
||||
/* more details. */
|
||||
/* with standard builds of FreeType 2, however). See the file */
|
||||
/* `ftmoderr.h' for more details. */
|
||||
/* */
|
||||
/* *Error* *Message* *Strings* */
|
||||
/* */
|
||||
/* II - Error Message strings */
|
||||
/* -------------------------- */
|
||||
/* */
|
||||
/* The error definitions below are made through special macros that */
|
||||
/* allow client applications to build a table of error message strings */
|
||||
/* if they need it. The strings are not included in a normal build of */
|
||||
/* FreeType 2 to save space (most client applications do not use */
|
||||
/* them). */
|
||||
/* Error definitions are set up with special macros that allow client */
|
||||
/* applications to build a table of error message strings. The */
|
||||
/* strings are not included in a normal build of FreeType 2 to */
|
||||
/* save space (most client applications do not use them). */
|
||||
/* */
|
||||
/* To do so, you have to define the following macros before including */
|
||||
/* this file: */
|
||||
/* */
|
||||
/* FT_ERROR_START_LIST :: */
|
||||
/* This macro is called before anything else to define the start of */
|
||||
/* the error list. It is followed by several FT_ERROR_DEF calls */
|
||||
/* (see below). */
|
||||
/* */
|
||||
/* FT_ERROR_DEF( e, v, s ) :: */
|
||||
/* This macro is called to define one single error. */
|
||||
/* `e' is the error code identifier (e.g. FT_Err_Invalid_Argument). */
|
||||
/* `v' is the error numerical value. */
|
||||
/* `s' is the corresponding error string. */
|
||||
/* */
|
||||
/* FT_ERROR_END_LIST :: */
|
||||
/* This macro ends the list. */
|
||||
/* */
|
||||
/* Additionally, you have to undefine __FTERRORS_H__ before #including */
|
||||
/* this file. */
|
||||
/* */
|
||||
/* Here is a simple example: */
|
||||
/* { */
|
||||
/* FT_ERROR_START_LIST */
|
||||
/* } */
|
||||
/* */
|
||||
/* This macro is called before anything else to define the start of */
|
||||
/* the error list. It is followed by several FT_ERROR_DEF calls. */
|
||||
/* */
|
||||
/* { */
|
||||
/* FT_ERROR_DEF( e, v, s ) */
|
||||
/* } */
|
||||
/* */
|
||||
/* This macro is called to define one single error. `e' is the error */
|
||||
/* code identifier (e.g., `Invalid_Argument'), `v' is the error's */
|
||||
/* numerical value, and `s' is the corresponding error string. */
|
||||
/* */
|
||||
/* { */
|
||||
/* FT_ERROR_END_LIST */
|
||||
/* } */
|
||||
/* */
|
||||
/* This macro ends the list. */
|
||||
/* */
|
||||
/* Additionally, you have to undefine `__FTERRORS_H__' before */
|
||||
/* #including this file. */
|
||||
/* */
|
||||
/* Here is a simple example. */
|
||||
/* */
|
||||
/* { */
|
||||
/* #undef __FTERRORS_H__ */
|
||||
/* #define FT_ERRORDEF( e, v, s ) { e, s }, */
|
||||
/* #define FT_ERROR_START_LIST { */
|
||||
/* #define FT_ERROR_END_LIST { 0, NULL } }; */
|
||||
/* */
|
||||
/* const struct */
|
||||
/* { */
|
||||
/* #undef __FTERRORS_H__ */
|
||||
/* #define FT_ERRORDEF( e, v, s ) { e, s }, */
|
||||
/* #define FT_ERROR_START_LIST { */
|
||||
/* #define FT_ERROR_END_LIST { 0, 0 } }; */
|
||||
/* int err_code; */
|
||||
/* const char* err_msg; */
|
||||
/* } ft_errors[] = */
|
||||
/* */
|
||||
/* const struct */
|
||||
/* { */
|
||||
/* int err_code; */
|
||||
/* const char* err_msg; */
|
||||
/* } ft_errors[] = */
|
||||
/* #include FT_ERRORS_H */
|
||||
/* } */
|
||||
/* */
|
||||
/* #include FT_ERRORS_H */
|
||||
/* } */
|
||||
/* Note that `FT_Err_Ok' is _not_ defined with `FT_ERRORDEF' but with */
|
||||
/* `FT_NOERRORDEF'; it is always zero. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
/* */
|
||||
|
||||
#ifndef __FTERRORS_H__
|
||||
#define __FTERRORS_H__
|
|
@ -63,7 +63,7 @@ FT_BEGIN_HEADER
|
|||
/* psaux */
|
||||
/* pshinter */
|
||||
/* psnames */
|
||||
/* raster1, raster5 */
|
||||
/* raster1 */
|
||||
/* sfnt */
|
||||
/* smooth, smooth-lcd, smooth-lcdv */
|
||||
/* truetype */
|
|
@ -354,8 +354,8 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
/* { */
|
||||
/* FT_Load_Glyph( face, index, FT_LOAD_DEFAULT ); */
|
||||
/* if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE ) */
|
||||
/* FT_Outline_Embolden( &face->slot->outline, strength ); */
|
||||
/* if ( face->glyph->format == FT_GLYPH_FORMAT_OUTLINE ) */
|
||||
/* FT_Outline_Embolden( &face->glyph->outline, strength ); */
|
||||
/* } */
|
||||
/* */
|
||||
/* To get meaningful results, font scaling values must be set with */
|
|
@ -225,8 +225,8 @@ FT_BEGIN_HEADER
|
|||
*
|
||||
* @description:
|
||||
* Return the unit vector corresponding to a given angle. After the
|
||||
* call, the value of `vec.x' will be `sin(angle)', and the value of
|
||||
* `vec.y' will be `cos(angle)'.
|
||||
* call, the value of `vec.x' will be `cos(angle)', and the value of
|
||||
* `vec.y' will be `sin(angle)'.
|
||||
*
|
||||
* This function is useful to retrieve both the sinus and cosinus of a
|
||||
* given angle quickly.
|
|
@ -52,6 +52,83 @@ FT_BEGIN_HEADER
|
|||
*
|
||||
* The TrueType driver's module name is `truetype'.
|
||||
*
|
||||
* We start with a list of definitions, kindly provided by Greg
|
||||
* Hitchcock.
|
||||
*
|
||||
* _Bi-Level_ _Rendering_
|
||||
*
|
||||
* Monochromatic rendering, exclusively used in the early days of
|
||||
* TrueType by both Apple and Microsoft. Microsoft's GDI interface
|
||||
* supported hinting of the right-side bearing point, such that the
|
||||
* advance width could be non-linear. Most often this was done to
|
||||
* achieve some level of glyph symmetry. To enable reasonable
|
||||
* performance (e.g., not having to run hinting on all glyphs just to
|
||||
* get the widths) there was a bit in the head table indicating if the
|
||||
* side bearing was hinted, and additional tables, `hdmx' and `LTSH', to
|
||||
* cache hinting widths across multiple sizes and device aspect ratios.
|
||||
*
|
||||
* _Font_ _Smoothing_
|
||||
*
|
||||
* Microsoft's GDI implementation of anti-aliasing. Not traditional
|
||||
* anti-aliasing as the outlines were hinted before the sampling. The
|
||||
* widths matched the bi-level rendering.
|
||||
*
|
||||
* _ClearType_ _Rendering_
|
||||
*
|
||||
* Technique that uses physical subpixels to improve rendering on LCD
|
||||
* (and other) displays. Because of the higher resolution, many methods
|
||||
* of improving symmetry in glyphs through hinting the right-side
|
||||
* bearing were no longer necessary. This lead to what GDI calls
|
||||
* `natural widths' ClearType, see
|
||||
* http://www.beatstamm.com/typography/RTRCh4.htm#Sec21. Since hinting
|
||||
* has extra resolution, most non-linearity went away, but it is still
|
||||
* possible for hints to change the advance widths in this mode.
|
||||
*
|
||||
* _ClearType_ _Compatible_ _Widths_
|
||||
*
|
||||
* One of the earliest challenges with ClearType was allowing the
|
||||
* implementation in GDI to be selected without requiring all UI and
|
||||
* documents to reflow. To address this, a compatible method of
|
||||
* rendering ClearType was added where the font hints are executed once
|
||||
* to determine the width in bi-level rendering, and then re-run in
|
||||
* ClearType, with the difference in widths being absorbed in the font
|
||||
* hints for ClearType (mostly in the white space of hints); see
|
||||
* http://www.beatstamm.com/typography/RTRCh4.htm#Sec20. Somewhat by
|
||||
* definition, compatible width ClearType allows for non-linear widths,
|
||||
* but only when the bi-level version has non-linear widths.
|
||||
*
|
||||
* _ClearType_ _Subpixel_ _Positioning_
|
||||
*
|
||||
* One of the nice benefits of ClearType is the ability to more crisply
|
||||
* display fractional widths; unfortunately, the GDI model of integer
|
||||
* bitmaps did not support this. However, the WPF and Direct Write
|
||||
* frameworks do support fractional widths. DWrite calls this `natural
|
||||
* mode', not to be confused with GDI's `natural widths'. Subpixel
|
||||
* positioning, in the current implementation of Direct Write,
|
||||
* unfortunately does not support hinted advance widths, see
|
||||
* http://www.beatstamm.com/typography/RTRCh4.htm#Sec22. Note that the
|
||||
* TrueType interpreter fully allows the advance width to be adjusted in
|
||||
* this mode, just the DWrite client will ignore those changes.
|
||||
*
|
||||
* _ClearType_ _Backwards_ _Compatibility_
|
||||
*
|
||||
* This is a set of exceptions made in the TrueType interpreter to
|
||||
* minimize hinting techniques that were problematic with the extra
|
||||
* resolution of ClearType; see
|
||||
* http://www.beatstamm.com/typography/RTRCh4.htm#Sec1 and
|
||||
* http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx.
|
||||
* This technique is not to be confused with ClearType compatible
|
||||
* widths. ClearType backwards compatibility has no direct impact on
|
||||
* changing advance widths, but there might be an indirect impact on
|
||||
* disabling some deltas. This could be worked around in backwards
|
||||
* compatibility mode.
|
||||
*
|
||||
* _Native_ _ClearType_ _Mode_
|
||||
*
|
||||
* (Not to be confused with `natural widths'.) This mode removes all
|
||||
* the exceptions in the TrueType interpreter when running with
|
||||
* ClearType. Any issues on widths would still apply, though.
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
@ -299,6 +299,18 @@ FT_BEGIN_HEADER
|
|||
FT_Long scaling );
|
||||
|
||||
|
||||
/*
|
||||
* This function normalizes a vector and returns its original length.
|
||||
* The normalized vector is a 16.16 fixed-point unit vector with length
|
||||
* close to 0x10000. The accuracy of the returned length is limited to
|
||||
* 16 bits also. The function utilizes quick inverse square root
|
||||
* approximation without divisions and square roots relying on Newton's
|
||||
* iterations instead.
|
||||
*/
|
||||
FT_BASE( FT_UInt32 )
|
||||
FT_Vector_NormLen( FT_Vector* vector );
|
||||
|
||||
|
||||
/*
|
||||
* Return -1, 0, or +1, depending on the orientation of a given corner.
|
||||
* We use the Cartesian coordinate system, with positive vertical values
|
|
@ -83,12 +83,12 @@ FT_BEGIN_HEADER
|
|||
x > y ? x + ( 3 * y >> 3 ) \
|
||||
: y + ( 3 * x >> 3 ) )
|
||||
|
||||
/* we use the TYPEOF macro to suppress signedness compilation warnings */
|
||||
#define FT_PAD_FLOOR( x, n ) ( (x) & ~TYPEOF( x )( (n)-1 ) )
|
||||
/* we use FT_TYPEOF to suppress signedness compilation warnings */
|
||||
#define FT_PAD_FLOOR( x, n ) ( (x) & ~FT_TYPEOF( x )( (n)-1 ) )
|
||||
#define FT_PAD_ROUND( x, n ) FT_PAD_FLOOR( (x) + ((n)/2), n )
|
||||
#define FT_PAD_CEIL( x, n ) FT_PAD_FLOOR( (x) + ((n)-1), n )
|
||||
|
||||
#define FT_PIX_FLOOR( x ) ( (x) & ~TYPEOF( x )63 )
|
||||
#define FT_PIX_FLOOR( x ) ( (x) & ~FT_TYPEOF( x )63 )
|
||||
#define FT_PIX_ROUND( x ) FT_PIX_FLOOR( (x) + 32 )
|
||||
#define FT_PIX_CEIL( x ) FT_PIX_FLOOR( (x) + 63 )
|
||||
|
|
@ -734,24 +734,24 @@ FT_BEGIN_HEADER
|
|||
* The header files containing the services.
|
||||
*/
|
||||
|
||||
#define FT_SERVICE_BDF_H <internal/services/svbdf.h>
|
||||
#define FT_SERVICE_CID_H <internal/services/svcid.h>
|
||||
#define FT_SERVICE_GLYPH_DICT_H <internal/services/svgldict.h>
|
||||
#define FT_SERVICE_GX_VALIDATE_H <internal/services/svgxval.h>
|
||||
#define FT_SERVICE_KERNING_H <internal/services/svkern.h>
|
||||
#define FT_SERVICE_MULTIPLE_MASTERS_H <internal/services/svmm.h>
|
||||
#define FT_SERVICE_OPENTYPE_VALIDATE_H <internal/services/svotval.h>
|
||||
#define FT_SERVICE_PFR_H <internal/services/svpfr.h>
|
||||
#define FT_SERVICE_POSTSCRIPT_CMAPS_H <internal/services/svpscmap.h>
|
||||
#define FT_SERVICE_POSTSCRIPT_INFO_H <internal/services/svpsinfo.h>
|
||||
#define FT_SERVICE_POSTSCRIPT_NAME_H <internal/services/svpostnm.h>
|
||||
#define FT_SERVICE_PROPERTIES_H <internal/services/svprop.h>
|
||||
#define FT_SERVICE_SFNT_H <internal/services/svsfnt.h>
|
||||
#define FT_SERVICE_TRUETYPE_ENGINE_H <internal/services/svtteng.h>
|
||||
#define FT_SERVICE_TT_CMAP_H <internal/services/svttcmap.h>
|
||||
#define FT_SERVICE_WINFNT_H <internal/services/svwinfnt.h>
|
||||
#define FT_SERVICE_FONT_FORMAT_H <internal/services/svfntfmt.h>
|
||||
#define FT_SERVICE_TRUETYPE_GLYF_H <internal/services/svttglyf.h>
|
||||
#define FT_SERVICE_BDF_H <freetype/internal/services/svbdf.h>
|
||||
#define FT_SERVICE_CID_H <freetype/internal/services/svcid.h>
|
||||
#define FT_SERVICE_GLYPH_DICT_H <freetype/internal/services/svgldict.h>
|
||||
#define FT_SERVICE_GX_VALIDATE_H <freetype/internal/services/svgxval.h>
|
||||
#define FT_SERVICE_KERNING_H <freetype/internal/services/svkern.h>
|
||||
#define FT_SERVICE_MULTIPLE_MASTERS_H <freetype/internal/services/svmm.h>
|
||||
#define FT_SERVICE_OPENTYPE_VALIDATE_H <freetype/internal/services/svotval.h>
|
||||
#define FT_SERVICE_PFR_H <freetype/internal/services/svpfr.h>
|
||||
#define FT_SERVICE_POSTSCRIPT_CMAPS_H <freetype/internal/services/svpscmap.h>
|
||||
#define FT_SERVICE_POSTSCRIPT_INFO_H <freetype/internal/services/svpsinfo.h>
|
||||
#define FT_SERVICE_POSTSCRIPT_NAME_H <freetype/internal/services/svpostnm.h>
|
||||
#define FT_SERVICE_PROPERTIES_H <freetype/internal/services/svprop.h>
|
||||
#define FT_SERVICE_SFNT_H <freetype/internal/services/svsfnt.h>
|
||||
#define FT_SERVICE_TRUETYPE_ENGINE_H <freetype/internal/services/svtteng.h>
|
||||
#define FT_SERVICE_TT_CMAP_H <freetype/internal/services/svttcmap.h>
|
||||
#define FT_SERVICE_WINFNT_H <freetype/internal/services/svwinfnt.h>
|
||||
#define FT_SERVICE_FONT_FORMAT_H <freetype/internal/services/svfntfmt.h>
|
||||
#define FT_SERVICE_TRUETYPE_GLYF_H <freetype/internal/services/svttglyf.h>
|
||||
|
||||
/* */
|
||||
|
|
@ -24,28 +24,28 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
#define FT_INTERNAL_OBJECTS_H <internal/ftobjs.h>
|
||||
#define FT_INTERNAL_PIC_H <internal/ftpic.h>
|
||||
#define FT_INTERNAL_STREAM_H <internal/ftstream.h>
|
||||
#define FT_INTERNAL_MEMORY_H <internal/ftmemory.h>
|
||||
#define FT_INTERNAL_DEBUG_H <internal/ftdebug.h>
|
||||
#define FT_INTERNAL_CALC_H <internal/ftcalc.h>
|
||||
#define FT_INTERNAL_DRIVER_H <internal/ftdriver.h>
|
||||
#define FT_INTERNAL_TRACE_H <internal/fttrace.h>
|
||||
#define FT_INTERNAL_GLYPH_LOADER_H <internal/ftgloadr.h>
|
||||
#define FT_INTERNAL_SFNT_H <internal/sfnt.h>
|
||||
#define FT_INTERNAL_SERVICE_H <internal/ftserv.h>
|
||||
#define FT_INTERNAL_RFORK_H <internal/ftrfork.h>
|
||||
#define FT_INTERNAL_VALIDATE_H <internal/ftvalid.h>
|
||||
#define FT_INTERNAL_OBJECTS_H <freetype/internal/ftobjs.h>
|
||||
#define FT_INTERNAL_PIC_H <freetype/internal/ftpic.h>
|
||||
#define FT_INTERNAL_STREAM_H <freetype/internal/ftstream.h>
|
||||
#define FT_INTERNAL_MEMORY_H <freetype/internal/ftmemory.h>
|
||||
#define FT_INTERNAL_DEBUG_H <freetype/internal/ftdebug.h>
|
||||
#define FT_INTERNAL_CALC_H <freetype/internal/ftcalc.h>
|
||||
#define FT_INTERNAL_DRIVER_H <freetype/internal/ftdriver.h>
|
||||
#define FT_INTERNAL_TRACE_H <freetype/internal/fttrace.h>
|
||||
#define FT_INTERNAL_GLYPH_LOADER_H <freetype/internal/ftgloadr.h>
|
||||
#define FT_INTERNAL_SFNT_H <freetype/internal/sfnt.h>
|
||||
#define FT_INTERNAL_SERVICE_H <freetype/internal/ftserv.h>
|
||||
#define FT_INTERNAL_RFORK_H <freetype/internal/ftrfork.h>
|
||||
#define FT_INTERNAL_VALIDATE_H <freetype/internal/ftvalid.h>
|
||||
|
||||
#define FT_INTERNAL_TRUETYPE_TYPES_H <internal/tttypes.h>
|
||||
#define FT_INTERNAL_TYPE1_TYPES_H <internal/t1types.h>
|
||||
#define FT_INTERNAL_TRUETYPE_TYPES_H <freetype/internal/tttypes.h>
|
||||
#define FT_INTERNAL_TYPE1_TYPES_H <freetype/internal/t1types.h>
|
||||
|
||||
#define FT_INTERNAL_POSTSCRIPT_AUX_H <internal/psaux.h>
|
||||
#define FT_INTERNAL_POSTSCRIPT_HINTS_H <internal/pshints.h>
|
||||
#define FT_INTERNAL_POSTSCRIPT_GLOBALS_H <internal/psglobal.h>
|
||||
#define FT_INTERNAL_POSTSCRIPT_AUX_H <freetype/internal/psaux.h>
|
||||
#define FT_INTERNAL_POSTSCRIPT_HINTS_H <freetype/internal/pshints.h>
|
||||
#define FT_INTERNAL_POSTSCRIPT_GLOBALS_H <freetype/internal/psglobal.h>
|
||||
|
||||
#define FT_INTERNAL_AUTOHINT_H <internal/autohint.h>
|
||||
#define FT_INTERNAL_AUTOHINT_H <freetype/internal/autohint.h>
|
||||
|
||||
|
||||
#if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */
|
|
@ -48,11 +48,12 @@ FT_BEGIN_HEADER
|
|||
/* `ttnameid.h'. */
|
||||
/* */
|
||||
/* format :: */
|
||||
/* The cmap format. OpenType 1.5 defines the formats 0 (byte */
|
||||
/* The cmap format. OpenType 1.6 defines the formats 0 (byte */
|
||||
/* encoding table), 2~(high-byte mapping through table), 4~(segment */
|
||||
/* mapping to delta values), 6~(trimmed table mapping), 8~(mixed */
|
||||
/* 16-bit and 32-bit coverage), 10~(trimmed array), 12~(segmented */
|
||||
/* coverage), and 14 (Unicode Variation Sequences). */
|
||||
/* coverage), 13~(last resort font), and 14 (Unicode Variation */
|
||||
/* Sequences). */
|
||||
/* */
|
||||
typedef struct TT_CMapInfo_
|
||||
{
|
|
@ -44,7 +44,9 @@ FT_BEGIN_HEADER
|
|||
/* face :: A handle to the target face object. */
|
||||
/* */
|
||||
/* face_index :: The index of the TrueType font, if we are opening a */
|
||||
/* collection. */
|
||||
/* collection, in bits 0-15. The numbered instance */
|
||||
/* index~+~1 of a GX (sub)font, if applicable, in bits */
|
||||
/* 16-30. */
|
||||
/* */
|
||||
/* num_params :: The number of additional parameters. */
|
||||
/* */
|
||||
|
@ -87,7 +89,9 @@ FT_BEGIN_HEADER
|
|||
/* face :: A handle to the target face object. */
|
||||
/* */
|
||||
/* face_index :: The index of the TrueType font, if we are opening a */
|
||||
/* collection. */
|
||||
/* collection, in bits 0-15. The numbered instance */
|
||||
/* index~+~1 of a GX (sub)font, if applicable, in bits */
|
||||
/* 16-30. */
|
||||
/* */
|
||||
/* num_params :: The number of additional parameters. */
|
||||
/* */
|
||||
|
@ -424,6 +428,33 @@ FT_BEGIN_HEADER
|
|||
FT_UShort* aadvance );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <FuncType> */
|
||||
/* TT_Get_Name_Func */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* From the `name' table, return a given ENGLISH name record in */
|
||||
/* ASCII. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source face object. */
|
||||
/* */
|
||||
/* nameid :: The name id of the name record to return. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* name :: The address of an allocated string pointer. NULL if */
|
||||
/* no name is present. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
typedef FT_Error
|
||||
(*TT_Get_Name_Func)( TT_Face face,
|
||||
FT_UShort nameid,
|
||||
FT_String** name );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <FuncType> */
|
||||
|
@ -556,6 +587,8 @@ FT_BEGIN_HEADER
|
|||
|
||||
TT_Get_Metrics_Func get_metrics;
|
||||
|
||||
TT_Get_Name_Func get_name;
|
||||
|
||||
} SFNT_Interface;
|
||||
|
||||
|
||||
|
@ -594,7 +627,8 @@ FT_BEGIN_HEADER
|
|||
free_eblc_, \
|
||||
set_sbit_strike_, \
|
||||
load_strike_metrics_, \
|
||||
get_metrics_ ) \
|
||||
get_metrics_, \
|
||||
get_name_ ) \
|
||||
static const SFNT_Interface class_ = \
|
||||
{ \
|
||||
goto_table_, \
|
||||
|
@ -626,6 +660,7 @@ FT_BEGIN_HEADER
|
|||
set_sbit_strike_, \
|
||||
load_strike_metrics_, \
|
||||
get_metrics_, \
|
||||
get_name_, \
|
||||
};
|
||||
|
||||
#else /* FT_CONFIG_OPTION_PIC */
|
||||
|
@ -663,7 +698,8 @@ FT_BEGIN_HEADER
|
|||
free_eblc_, \
|
||||
set_sbit_strike_, \
|
||||
load_strike_metrics_, \
|
||||
get_metrics_ ) \
|
||||
get_metrics_, \
|
||||
get_name_ ) \
|
||||
void \
|
||||
FT_Init_Class_ ## class_( FT_Library library, \
|
||||
SFNT_Interface* clazz ) \
|
||||
|
@ -699,6 +735,7 @@ FT_BEGIN_HEADER
|
|||
clazz->set_sbit_strike = set_sbit_strike_; \
|
||||
clazz->load_strike_metrics = load_strike_metrics_; \
|
||||
clazz->get_metrics = get_metrics_; \
|
||||
clazz->get_name = get_name_; \
|
||||
}
|
||||
|
||||
#endif /* FT_CONFIG_OPTION_PIC */
|
|
@ -1457,11 +1457,23 @@ FT_BEGIN_HEADER
|
|||
/* handle to execution context */
|
||||
typedef struct TT_ExecContextRec_* TT_ExecContext;
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Type> */
|
||||
/* TT_Size */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A handle to a TrueType size object. */
|
||||
/* */
|
||||
typedef struct TT_SizeRec_* TT_Size;
|
||||
|
||||
|
||||
/* glyph loader structure */
|
||||
typedef struct TT_LoaderRec_
|
||||
{
|
||||
FT_Face face;
|
||||
FT_Size size;
|
||||
TT_Face face;
|
||||
TT_Size size;
|
||||
FT_GlyphSlot glyph;
|
||||
FT_GlyphLoader gloader;
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
#ifndef __FT2BUILD_H__
|
||||
#define __FT2BUILD_H__
|
||||
|
||||
#include <config/ftheader.h>
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* __FT2BUILD_H__ */
|
||||
|
||||
|
|
48
reactos/lib/3rdparty/freetype/modules.cfg
vendored
48
reactos/lib/3rdparty/freetype/modules.cfg
vendored
|
@ -19,7 +19,7 @@
|
|||
# activate a module, remove the comment character.
|
||||
#
|
||||
# Note that many modules and components are further controlled with macros
|
||||
# in the file `include/config/ftoption.h'.
|
||||
# in the file `include/freetype/config/ftoption.h'.
|
||||
|
||||
|
||||
####
|
||||
|
@ -85,7 +85,7 @@ HINTING_MODULES += autofit
|
|||
HINTING_MODULES += pshinter
|
||||
|
||||
# The TrueType hinting engine doesn't have a module of its own but is
|
||||
# controlled in file include/config/ftoption.h
|
||||
# controlled in file include/freetype/config/ftoption.h
|
||||
# (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends).
|
||||
|
||||
|
||||
|
@ -106,7 +106,7 @@ RASTER_MODULES += smooth
|
|||
|
||||
# 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/ftcache.h. Needs ftglyph.c.
|
||||
# include/freetype/ftcache.h. Needs ftglyph.c.
|
||||
AUX_MODULES += cache
|
||||
|
||||
# TrueType GX/AAT table validation. Needs ftgxval.c below.
|
||||
|
@ -114,17 +114,17 @@ AUX_MODULES += cache
|
|||
|
||||
# Support for streams compressed with gzip (files with suffix .gz).
|
||||
#
|
||||
# See include/ftgzip.h for the API.
|
||||
# See include/freetype/ftgzip.h for the API.
|
||||
AUX_MODULES += gzip
|
||||
|
||||
# Support for streams compressed with LZW (files with suffix .Z).
|
||||
#
|
||||
# See include/ftlzw.h for the API.
|
||||
# See include/freetype/ftlzw.h for the API.
|
||||
AUX_MODULES += lzw
|
||||
|
||||
# Support for streams compressed with bzip2 (files with suffix .bz2).
|
||||
#
|
||||
# See include/ftbzip2.h for the API.
|
||||
# See include/freetype/ftbzip2.h for the API.
|
||||
AUX_MODULES += bzip2
|
||||
|
||||
# OpenType table validation. Needs ftotval.c below.
|
||||
|
@ -149,95 +149,95 @@ AUX_MODULES += psnames
|
|||
|
||||
# Exact bounding box calculation.
|
||||
#
|
||||
# See include/ftbbox.h for the API.
|
||||
# See include/freetype/ftbbox.h for the API.
|
||||
BASE_EXTENSIONS += ftbbox.c
|
||||
|
||||
# Access BDF-specific strings. Needs BDF font driver.
|
||||
#
|
||||
# See include/ftbdf.h for the API.
|
||||
# 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/ftbitmap.h for the API.
|
||||
# See include/freetype/ftbitmap.h for the API.
|
||||
BASE_EXTENSIONS += ftbitmap.c
|
||||
|
||||
# Access CID font information.
|
||||
#
|
||||
# See include/ftcid.h for the API.
|
||||
# See include/freetype/ftcid.h for the API.
|
||||
BASE_EXTENSIONS += ftcid.c
|
||||
|
||||
# Support functions for font formats.
|
||||
#
|
||||
# See include/ftfntfmt.h for the API.
|
||||
# See include/freetype/ftfntfmt.h for the API.
|
||||
BASE_EXTENSIONS += ftfntfmt.c
|
||||
|
||||
# Access FSType information. Needs fttype1.c.
|
||||
#
|
||||
# See include/freetype.h for the API.
|
||||
# See include/freetype/freetype.h for the API.
|
||||
BASE_EXTENSIONS += ftfstype.c
|
||||
|
||||
# Support for GASP table queries.
|
||||
#
|
||||
# See include/ftgasp.h for the API.
|
||||
# See include/freetype/ftgasp.h for the API.
|
||||
BASE_EXTENSIONS += ftgasp.c
|
||||
|
||||
# Convenience functions to handle glyphs. Needs ftbitmap.c.
|
||||
#
|
||||
# See include/ftglyph.h for the API.
|
||||
# See include/freetype/ftglyph.h for the API.
|
||||
BASE_EXTENSIONS += ftglyph.c
|
||||
|
||||
# Interface for gxvalid module.
|
||||
#
|
||||
# See include/ftgxval.h for the API.
|
||||
# See include/freetype/ftgxval.h for the API.
|
||||
BASE_EXTENSIONS += ftgxval.c
|
||||
|
||||
# Support for LCD color filtering of subpixel bitmaps.
|
||||
#
|
||||
# See include/ftlcdfil.h for the API.
|
||||
# See include/freetype/ftlcdfil.h for the API.
|
||||
BASE_EXTENSIONS += ftlcdfil.c
|
||||
|
||||
# Multiple Master font interface.
|
||||
#
|
||||
# See include/ftmm.h for the API.
|
||||
# See include/freetype/ftmm.h for the API.
|
||||
BASE_EXTENSIONS += ftmm.c
|
||||
|
||||
# Interface for otvalid module.
|
||||
#
|
||||
# See include/ftotval.h for the API.
|
||||
# See include/freetype/ftotval.h for the API.
|
||||
BASE_EXTENSIONS += ftotval.c
|
||||
|
||||
# Support for FT_Face_CheckTrueTypePatents.
|
||||
#
|
||||
# See include/freetype.h for the API.
|
||||
# See include/freetype/freetype.h for the API.
|
||||
BASE_EXTENSIONS += ftpatent.c
|
||||
|
||||
# Interface for accessing PFR-specific data. Needs PFR font driver.
|
||||
#
|
||||
# See include/ftpfr.h for the API.
|
||||
# See include/freetype/ftpfr.h for the API.
|
||||
BASE_EXTENSIONS += ftpfr.c
|
||||
|
||||
# Path stroker. Needs ftglyph.c.
|
||||
#
|
||||
# See include/ftstroke.h for the API.
|
||||
# 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/ftsynth.h for the API.
|
||||
# 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/t1tables.h for the API.
|
||||
# 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/ftwinfnt.h for the API.
|
||||
# See include/freetype/ftwinfnt.h for the API.
|
||||
BASE_EXTENSIONS += ftwinfnt.c
|
||||
|
||||
####
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
'\0',
|
||||
'\xD8', '\xAA', '\xD8', '\xAB', '\xD8', '\xB7', '\xD8', '\xB8', '\xD9', '\x83', /* ت ث ط ظ ك */
|
||||
'\0',
|
||||
'\xD9', '\x80', /* ـ */
|
||||
'\0',
|
||||
'\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\x9F', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕПЗОСЭ */
|
||||
'\0',
|
||||
'\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\xA8', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕШЗОСЭ */
|
||||
|
@ -62,6 +64,16 @@
|
|||
'\0',
|
||||
'\xD7', '\xA7', '\xD7', '\x9A', '\xD7', '\x9F', '\xD7', '\xA3', '\xD7', '\xA5', /* קךןףץ */
|
||||
'\0',
|
||||
'\xE0', '\xBA', '\xB2', '\xE0', '\xBA', '\x94', '\xE0', '\xBA', '\xAD', '\xE0', '\xBA', '\xA1', '\xE0', '\xBA', '\xA5', '\xE0', '\xBA', '\xA7', '\xE0', '\xBA', '\xA3', '\xE0', '\xBA', '\x87', /* າ ດ ອ ມ ລ ວ ຣ ງ */
|
||||
'\0',
|
||||
'\xE0', '\xBA', '\xB2', '\xE0', '\xBA', '\xAD', '\xE0', '\xBA', '\x9A', '\xE0', '\xBA', '\x8D', '\xE0', '\xBA', '\xA3', '\xE0', '\xBA', '\xAE', '\xE0', '\xBA', '\xA7', '\xE0', '\xBA', '\xA2', /* າ ອ ບ ຍ ຣ ຮ ວ ຢ */
|
||||
'\0',
|
||||
'\xE0', '\xBA', '\x9B', '\xE0', '\xBA', '\xA2', '\xE0', '\xBA', '\x9F', '\xE0', '\xBA', '\x9D', /* ປ ຢ ຟ ຝ */
|
||||
'\0',
|
||||
'\xE0', '\xBB', '\x82', '\xE0', '\xBB', '\x84', '\xE0', '\xBB', '\x83', /* ໂ ໄ ໃ */
|
||||
'\0',
|
||||
'\xE0', '\xBA', '\x87', '\xE0', '\xBA', '\x8A', '\xE0', '\xBA', '\x96', '\xE0', '\xBA', '\xBD', '\xE0', '\xBB', '\x86', '\xE0', '\xBA', '\xAF', /* ງ ຊ ຖ ຽ ໆ ຯ */
|
||||
'\0',
|
||||
'T', 'H', 'E', 'Z', 'O', 'C', 'Q', 'S', /* THEZOCQS */
|
||||
'\0',
|
||||
'H', 'E', 'Z', 'L', 'O', 'C', 'U', 'S', /* HEZLOCUS */
|
||||
|
@ -72,6 +84,26 @@
|
|||
'\0',
|
||||
'p', 'q', 'g', 'j', 'y', /* pqgjy */
|
||||
'\0',
|
||||
'\xE2', '\x82', '\x80', '\xE2', '\x82', '\x83', '\xE2', '\x82', '\x85', '\xE2', '\x82', '\x87', '\xE2', '\x82', '\x88', /* ₀₃₅₇₈ */
|
||||
'\0',
|
||||
'\xE2', '\x82', '\x80', '\xE2', '\x82', '\x81', '\xE2', '\x82', '\x82', '\xE2', '\x82', '\x83', '\xE2', '\x82', '\x88', /* ₀₁₂₃₈ */
|
||||
'\0',
|
||||
'\xE1', '\xB5', '\xA2', '\xE2', '\xB1', '\xBC', '\xE2', '\x82', '\x95', '\xE2', '\x82', '\x96', '\xE2', '\x82', '\x97', /* ᵢⱼₕₖₗ */
|
||||
'\0',
|
||||
'\xE2', '\x82', '\x90', '\xE2', '\x82', '\x91', '\xE2', '\x82', '\x92', '\xE2', '\x82', '\x93', '\xE2', '\x82', '\x99', '\xE2', '\x82', '\x9B', '\xE1', '\xB5', '\xA5', '\xE1', '\xB5', '\xA4', '\xE1', '\xB5', '\xA3', /* ₐₑₒₓₙₛᵥᵤᵣ */
|
||||
'\0',
|
||||
'\xE1', '\xB5', '\xA6', '\xE1', '\xB5', '\xA7', '\xE1', '\xB5', '\xA8', '\xE1', '\xB5', '\xA9', '\xE2', '\x82', '\x9A', /* ᵦᵧᵨᵩₚ */
|
||||
'\0',
|
||||
'\xE2', '\x81', '\xB0', '\xC2', '\xB3', '\xE2', '\x81', '\xB5', '\xE2', '\x81', '\xB7', '\xE1', '\xB5', '\x80', '\xE1', '\xB4', '\xB4', '\xE1', '\xB4', '\xB1', '\xE1', '\xB4', '\xBC', /* ⁰³⁵⁷ᵀᴴᴱᴼ */
|
||||
'\0',
|
||||
'\xE2', '\x81', '\xB0', '\xC2', '\xB9', '\xC2', '\xB2', '\xC2', '\xB3', '\xE1', '\xB4', '\xB1', '\xE1', '\xB4', '\xB8', '\xE1', '\xB4', '\xBC', '\xE1', '\xB5', '\x81', /* ⁰¹²³ᴱᴸᴼᵁ */
|
||||
'\0',
|
||||
'\xE1', '\xB5', '\x87', '\xE1', '\xB5', '\x88', '\xE1', '\xB5', '\x8F', '\xCA', '\xB0', '\xCA', '\xB2', '\xE1', '\xB6', '\xA0', '\xE2', '\x81', '\xB1', /* ᵇᵈᵏʰʲᶠⁱ */
|
||||
'\0',
|
||||
'\xE1', '\xB5', '\x89', '\xE1', '\xB5', '\x92', '\xCA', '\xB3', '\xCB', '\xA2', '\xCB', '\xA3', '\xE1', '\xB6', '\x9C', '\xE1', '\xB6', '\xBB', /* ᵉᵒʳˢˣᶜᶻ */
|
||||
'\0',
|
||||
'\xE1', '\xB5', '\x96', '\xCA', '\xB8', '\xE1', '\xB5', '\x8D', /* ᵖʸᵍ */
|
||||
'\0',
|
||||
'\xE0', '\xB0', '\x87', '\xE0', '\xB0', '\x8C', '\xE0', '\xB0', '\x99', '\xE0', '\xB0', '\x9E', '\xE0', '\xB0', '\xA3', '\xE0', '\xB0', '\xB1', '\xE0', '\xB1', '\xAF', /* ఇ ఌ ఙ ఞ ణ ఱ ౯ */
|
||||
'\0',
|
||||
'\xE0', '\xB0', '\x85', '\xE0', '\xB0', '\x95', '\xE0', '\xB0', '\x9A', '\xE0', '\xB0', '\xB0', '\xE0', '\xB0', '\xBD', '\xE0', '\xB1', '\xA8', '\xE0', '\xB1', '\xAC', /* అ క చ ర ఽ ౨ ౬ */
|
||||
|
@ -139,9 +171,10 @@
|
|||
af_blue_stringsets[] =
|
||||
{
|
||||
/* */
|
||||
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_ARABIC_JOIN, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_ARABIC_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_ARABIC_JOIN, AF_BLUE_PROPERTY_LATIN_NEUTRAL },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
|
@ -170,6 +203,13 @@
|
|||
{ AF_BLUE_STRING_HEBREW_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_HEBREW_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_LAO_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_LAO_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_LAO_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_LAO_LARGE_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_LAO_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
|
@ -178,6 +218,22 @@
|
|||
{ AF_BLUE_STRING_LATIN_SMALL, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_SMALL, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL, 0 },
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_TELUGU_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
|
|
|
@ -69,8 +69,15 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
|
||||
AF_BLUE_STRING_ARABIC_TOP
|
||||
"ا إ ل ك ط ظ"
|
||||
AF_BLUE_STRING_ARABIC_JOIN
|
||||
AF_BLUE_STRING_ARABIC_BOTTOM
|
||||
"ت ث ط ظ ك"
|
||||
// We don't necessarily have access to medial forms via Unicode in case
|
||||
// Arabic presentational forms are missing. The only character that is
|
||||
// guaranteed to have the same vertical position with joining (this is,
|
||||
// non-isolated) forms is U+0640, ARABIC TATWEEL, which must join both
|
||||
// round and flat curves.
|
||||
AF_BLUE_STRING_ARABIC_JOIN
|
||||
"ـ"
|
||||
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP
|
||||
"БВЕПЗОСЭ"
|
||||
|
@ -113,6 +120,17 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_HEBREW_DESCENDER
|
||||
"קךןףץ"
|
||||
|
||||
AF_BLUE_STRING_LAO_TOP
|
||||
"າ ດ ອ ມ ລ ວ ຣ ງ"
|
||||
AF_BLUE_STRING_LAO_BOTTOM
|
||||
"າ ອ ບ ຍ ຣ ຮ ວ ຢ"
|
||||
AF_BLUE_STRING_LAO_ASCENDER
|
||||
"ປ ຢ ຟ ຝ"
|
||||
AF_BLUE_STRING_LAO_LARGE_ASCENDER
|
||||
"ໂ ໄ ໃ"
|
||||
AF_BLUE_STRING_LAO_DESCENDER
|
||||
"ງ ຊ ຖ ຽ ໆ ຯ"
|
||||
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_TOP
|
||||
"THEZOCQS"
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM
|
||||
|
@ -124,6 +142,31 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRING_LATIN_SMALL_DESCENDER
|
||||
"pqgjy"
|
||||
|
||||
// we assume that both the subscript and superscript ranges
|
||||
// don't contain oldstyle digits (actually, most fonts probably
|
||||
// have digits only in those ranges)
|
||||
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP
|
||||
"₀₃₅₇₈"
|
||||
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM
|
||||
"₀₁₂₃₈"
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP
|
||||
"ᵢⱼₕₖₗ"
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL
|
||||
"ₐₑₒₓₙₛᵥᵤᵣ"
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER
|
||||
"ᵦᵧᵨᵩₚ"
|
||||
|
||||
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP
|
||||
"⁰³⁵⁷ᵀᴴᴱᴼ"
|
||||
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM
|
||||
"⁰¹²³ᴱᴸᴼᵁ"
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP
|
||||
"ᵇᵈᵏʰʲᶠⁱ"
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL
|
||||
"ᵉᵒʳˢˣᶜᶻ"
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER
|
||||
"ᵖʸᵍ"
|
||||
|
||||
// we separate the letters with spaces to avoid ligatures;
|
||||
// this is just for convenience to simplify reading
|
||||
AF_BLUE_STRING_TELUGU_TOP
|
||||
|
@ -289,9 +332,10 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
||||
|
||||
AF_BLUE_STRINGSET_ARAB
|
||||
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_ARABIC_JOIN, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_ARABIC_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_ARABIC_JOIN, AF_BLUE_PROPERTY_LATIN_NEUTRAL }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_CYRL
|
||||
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
|
@ -329,6 +373,15 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_HEBREW_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_LAO
|
||||
{ AF_BLUE_STRING_LAO_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_LAO_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_LAO_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_LAO_LARGE_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_LAO_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_LATN
|
||||
{ AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 }
|
||||
|
@ -339,6 +392,26 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
|||
{ AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_LATB
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_SMALL, 0 }
|
||||
{ AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_LATP
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL, 0 }
|
||||
{ AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_TELU
|
||||
{ AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_TELUGU_BOTTOM, 0 }
|
||||
|
|
|
@ -75,38 +75,54 @@ FT_BEGIN_HEADER
|
|||
typedef enum AF_Blue_String_
|
||||
{
|
||||
AF_BLUE_STRING_ARABIC_TOP = 0,
|
||||
AF_BLUE_STRING_ARABIC_JOIN = 13,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 24,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 41,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL = 58,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 75,
|
||||
AF_BLUE_STRING_DEVANAGARI_BASE = 82,
|
||||
AF_BLUE_STRING_DEVANAGARI_TOP = 107,
|
||||
AF_BLUE_STRING_DEVANAGARI_HEAD = 132,
|
||||
AF_BLUE_STRING_DEVANAGARI_BOTTOM = 157,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 164,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 179,
|
||||
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 192,
|
||||
AF_BLUE_STRING_GREEK_SMALL = 205,
|
||||
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 222,
|
||||
AF_BLUE_STRING_HEBREW_TOP = 239,
|
||||
AF_BLUE_STRING_HEBREW_BOTTOM = 256,
|
||||
AF_BLUE_STRING_HEBREW_DESCENDER = 269,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 280,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 289,
|
||||
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 298,
|
||||
AF_BLUE_STRING_LATIN_SMALL = 306,
|
||||
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 314,
|
||||
AF_BLUE_STRING_TELUGU_TOP = 320,
|
||||
AF_BLUE_STRING_TELUGU_BOTTOM = 342,
|
||||
AF_BLUE_STRING_THAI_TOP = 364,
|
||||
AF_BLUE_STRING_THAI_BOTTOM = 383,
|
||||
AF_BLUE_STRING_THAI_ASCENDER = 405,
|
||||
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 415,
|
||||
AF_BLUE_STRING_THAI_DESCENDER = 425,
|
||||
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 438,
|
||||
AF_BLUE_STRING_THAI_DIGIT_TOP = 445,
|
||||
af_blue_1_1 = 454,
|
||||
AF_BLUE_STRING_ARABIC_BOTTOM = 13,
|
||||
AF_BLUE_STRING_ARABIC_JOIN = 24,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 27,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 44,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL = 61,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 78,
|
||||
AF_BLUE_STRING_DEVANAGARI_BASE = 85,
|
||||
AF_BLUE_STRING_DEVANAGARI_TOP = 110,
|
||||
AF_BLUE_STRING_DEVANAGARI_HEAD = 135,
|
||||
AF_BLUE_STRING_DEVANAGARI_BOTTOM = 160,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 167,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 182,
|
||||
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 195,
|
||||
AF_BLUE_STRING_GREEK_SMALL = 208,
|
||||
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 225,
|
||||
AF_BLUE_STRING_HEBREW_TOP = 242,
|
||||
AF_BLUE_STRING_HEBREW_BOTTOM = 259,
|
||||
AF_BLUE_STRING_HEBREW_DESCENDER = 272,
|
||||
AF_BLUE_STRING_LAO_TOP = 283,
|
||||
AF_BLUE_STRING_LAO_BOTTOM = 308,
|
||||
AF_BLUE_STRING_LAO_ASCENDER = 333,
|
||||
AF_BLUE_STRING_LAO_LARGE_ASCENDER = 346,
|
||||
AF_BLUE_STRING_LAO_DESCENDER = 356,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 375,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 384,
|
||||
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 393,
|
||||
AF_BLUE_STRING_LATIN_SMALL = 401,
|
||||
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 409,
|
||||
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 415,
|
||||
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 431,
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 447,
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL = 463,
|
||||
AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 491,
|
||||
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 507,
|
||||
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 531,
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 553,
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL = 573,
|
||||
AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 592,
|
||||
AF_BLUE_STRING_TELUGU_TOP = 601,
|
||||
AF_BLUE_STRING_TELUGU_BOTTOM = 623,
|
||||
AF_BLUE_STRING_THAI_TOP = 645,
|
||||
AF_BLUE_STRING_THAI_BOTTOM = 664,
|
||||
AF_BLUE_STRING_THAI_ASCENDER = 686,
|
||||
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 696,
|
||||
AF_BLUE_STRING_THAI_DESCENDER = 706,
|
||||
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 719,
|
||||
AF_BLUE_STRING_THAI_DIGIT_TOP = 726,
|
||||
af_blue_1_1 = 735,
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1,
|
||||
AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 153,
|
||||
|
@ -165,14 +181,17 @@ FT_BEGIN_HEADER
|
|||
typedef enum AF_Blue_Stringset_
|
||||
{
|
||||
AF_BLUE_STRINGSET_ARAB = 0,
|
||||
AF_BLUE_STRINGSET_CYRL = 3,
|
||||
AF_BLUE_STRINGSET_DEVA = 9,
|
||||
AF_BLUE_STRINGSET_GREK = 15,
|
||||
AF_BLUE_STRINGSET_HEBR = 22,
|
||||
AF_BLUE_STRINGSET_LATN = 26,
|
||||
AF_BLUE_STRINGSET_TELU = 33,
|
||||
AF_BLUE_STRINGSET_THAI = 36,
|
||||
af_blue_2_1 = 44,
|
||||
AF_BLUE_STRINGSET_CYRL = 4,
|
||||
AF_BLUE_STRINGSET_DEVA = 10,
|
||||
AF_BLUE_STRINGSET_GREK = 16,
|
||||
AF_BLUE_STRINGSET_HEBR = 23,
|
||||
AF_BLUE_STRINGSET_LAO = 27,
|
||||
AF_BLUE_STRINGSET_LATN = 33,
|
||||
AF_BLUE_STRINGSET_LATB = 40,
|
||||
AF_BLUE_STRINGSET_LATP = 47,
|
||||
AF_BLUE_STRINGSET_TELU = 54,
|
||||
AF_BLUE_STRINGSET_THAI = 57,
|
||||
af_blue_2_1 = 65,
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
|
||||
af_blue_2_1_1 = af_blue_2_1 + 2,
|
||||
|
|
|
@ -2196,7 +2196,8 @@
|
|||
/* Apply the complete hinting algorithm to a CJK glyph. */
|
||||
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
af_cjk_hints_apply( AF_GlyphHints hints,
|
||||
af_cjk_hints_apply( FT_UInt glyph_index,
|
||||
AF_GlyphHints hints,
|
||||
FT_Outline* outline,
|
||||
AF_CJKMetrics metrics )
|
||||
{
|
||||
|
@ -2204,6 +2205,7 @@
|
|||
int dim;
|
||||
|
||||
FT_UNUSED( metrics );
|
||||
FT_UNUSED( glyph_index );
|
||||
|
||||
|
||||
error = af_glyph_hints_reload( hints, outline );
|
||||
|
|
|
@ -115,7 +115,8 @@ FT_BEGIN_HEADER
|
|||
AF_CJKMetrics metrics );
|
||||
|
||||
FT_LOCAL( FT_Error )
|
||||
af_cjk_hints_apply( AF_GlyphHints hints,
|
||||
af_cjk_hints_apply( FT_UInt glyph_index,
|
||||
AF_GlyphHints hints,
|
||||
FT_Outline* outline,
|
||||
AF_CJKMetrics metrics );
|
||||
|
||||
|
|
|
@ -38,11 +38,14 @@
|
|||
|
||||
|
||||
static FT_Error
|
||||
af_dummy_hints_apply( AF_GlyphHints hints,
|
||||
af_dummy_hints_apply( FT_UInt glyph_index,
|
||||
AF_GlyphHints hints,
|
||||
FT_Outline* outline )
|
||||
{
|
||||
FT_Error error;
|
||||
|
||||
FT_UNUSED( glyph_index );
|
||||
|
||||
|
||||
error = af_glyph_hints_reload( hints, outline );
|
||||
if ( !error )
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue