Update bundled FreeType to 2.6.1
Change-Id: Ic489f8aa8ad42da3922f542e6c9064afe44f3799 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
This commit is contained in:
parent
e056be144a
commit
dba44cd4e5
11
src/3rdparty/freetype/README
vendored
11
src/3rdparty/freetype/README
vendored
@ -1,4 +1,4 @@
|
||||
FreeType 2.5.5
|
||||
FreeType 2.6.1
|
||||
==============
|
||||
|
||||
Homepage: http://www.freetype.org
|
||||
@ -24,9 +24,9 @@
|
||||
|
||||
and download one of the following files.
|
||||
|
||||
freetype-doc-2.5.5.tar.bz2
|
||||
freetype-doc-2.5.5.tar.gz
|
||||
ftdoc255.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
|
||||
|
||||
@ -70,7 +71,7 @@
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2006-2014 by
|
||||
Copyright 2006-2015 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
|
2
src/3rdparty/freetype/builds/unix/ftsystem.c
vendored
2
src/3rdparty/freetype/builds/unix/ftsystem.c
vendored
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Unix-specific FreeType low-level system interface (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2002, 2004-2008, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
188
src/3rdparty/freetype/docs/CHANGES
vendored
188
src/3rdparty/freetype/docs/CHANGES
vendored
@ -1,3 +1,189 @@
|
||||
CHANGES BETWEEN 2.6 and 2.6.1
|
||||
|
||||
I. IMPORTANT BUG FIXES
|
||||
|
||||
- It turned out that for CFFs only the advance widths should be
|
||||
taken from the `htmx' table, not the side bearings. This bug,
|
||||
introduced in version 2.6.0, makes it necessary to upgrade if
|
||||
you are using CFFs; otherwise, you get cropped glyphs with GUI
|
||||
interfaces like GTK or Qt.
|
||||
|
||||
- Accessing Type 42 fonts returned incorrect results if the glyph
|
||||
order of the embedded TrueType font differs from the glyph order
|
||||
of the Type 42 charstrings table.
|
||||
|
||||
|
||||
II. IMPORTANT CHANGES
|
||||
|
||||
- The header file layout has been changed (again), moving all
|
||||
header files except `ft2build.h' into a subdirectory tree.
|
||||
|
||||
Doing so reduces the possibility of header file name clashes
|
||||
(e.g., FTGL's `FTGlyph.h' with FreeType's `ftglyph.h') on case
|
||||
insensitive file systems like Mac OS X or Windows.
|
||||
|
||||
Applications that use (a) the `freetype-config' script or
|
||||
FreeType's `freetype2.pc' file for pkg-config to get the include
|
||||
directory for the compiler, and (b) the documented way for
|
||||
header inclusion like
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
...
|
||||
|
||||
don't need any change to the source code.
|
||||
|
||||
- Simple access to named instances in GX variation fonts is now
|
||||
available (in addition to the previous method via FreeType's MM
|
||||
interface). In the `FT_Face' structure, bits 16-30 of the
|
||||
`face_index' field hold the current named instance index for the
|
||||
given face index, and bits 16-30 of `style_flags' contain the
|
||||
number of instances for the given face index. `FT_Open_Face'
|
||||
and friends also understand the extended bits of the face index
|
||||
parameter.
|
||||
|
||||
You need to enable TT_CONFIG_OPTION_GX_VAR_SUPPORT for this new
|
||||
feature. Otherwise, bits 16-30 of the two fields are zero (or
|
||||
are ignored).
|
||||
|
||||
- Lao script support has been added to the auto-hinter.
|
||||
|
||||
|
||||
III. MISCELLANEOUS
|
||||
|
||||
- The auto-hinter's Arabic script support has been enhanced.
|
||||
|
||||
- Superscript-like and subscript-like glyphs as used by various
|
||||
phonetic alphabets like the IPA are now better supported by the
|
||||
auto-hinter.
|
||||
|
||||
- The TrueType bytecode interpreter now runs slightly faster.
|
||||
|
||||
- Improved support for builds with cmake.
|
||||
|
||||
- The function `FT_CeilFix' now always rounds towards plus
|
||||
infinity.
|
||||
|
||||
- The function `FT_FloorFix' now always rounds towards minus
|
||||
infinity.
|
||||
|
||||
- A new load flag `FT_LOAD_COMPUTE_METRICS' has been added; it
|
||||
makes FreeType ignore pre-computed metrics, as needed by font
|
||||
validating or font editing programs. Right now, only the
|
||||
TrueType module supports it to ignore data from the `hdmx'
|
||||
table.
|
||||
|
||||
- Another round of bug fixes to better handle broken fonts, found
|
||||
by Kostya Serebryany <kcc@google.com>.
|
||||
|
||||
|
||||
======================================================================
|
||||
|
||||
CHANGES BETWEEN 2.5.5 and 2.6
|
||||
|
||||
I. IMPORTANT CHANGES
|
||||
|
||||
- Behdad Esfahbod contributed code for improved thread-safety,
|
||||
which results in the following model.
|
||||
|
||||
* An `FT_Face' object can only be safely used from one thread at
|
||||
a time.
|
||||
|
||||
* An `FT_Library' object can now be used without modification
|
||||
from multiple threads at the same time.
|
||||
|
||||
* `FT_Face' creation and destruction with the same `FT_Library'
|
||||
object can only be done from one thread at a time.
|
||||
|
||||
One can use a single `FT_Library' object across threads as long
|
||||
as a mutex lock is used around `FT_New_Face' and `FT_Done_Face'.
|
||||
Any calls to `FT_Load_Glyph' and similar API are safe and do not
|
||||
need the lock to be held as long as the same `FT_Face' is not
|
||||
used from multiple threads at the same time.
|
||||
|
||||
- Thai script support has been added to the auto-hinter.
|
||||
|
||||
- Arabic script support has been added to the auto-hinter.
|
||||
|
||||
- Following OpenType version 1.7, advance widths and side bearing
|
||||
values in CFFs (wrapped in an SFNT structure) are now always
|
||||
taken from the `hmtx' table.
|
||||
|
||||
- Following OpenType version 1.7, the PostScript font name of a
|
||||
CFF font (wrapped in an SFNT structure) is now always taken from
|
||||
the `name' table. This is also true for OpenType Collections
|
||||
(i.e., TTCs using CFFs subfonts instead of TTFs), where it may
|
||||
have a significant difference.
|
||||
|
||||
- Fonts natively hinted for ClearType are now supported, properly
|
||||
handling selector index 3 of the INSTCTRL bytecode instruction.
|
||||
|
||||
- Major improvements to the GX TrueType variation font handling.
|
||||
|
||||
|
||||
II. MISCELLANEOUS
|
||||
|
||||
- A new auto-hinter property `warping' can switch on and off the
|
||||
warping code if this experimental feature is compiled in (by
|
||||
defining the AF_CONFIG_OPTION_USE_WARPER configuration option;
|
||||
by default this option is now enabled but warping is switched
|
||||
off).
|
||||
|
||||
The AF_CONFIG_OPTION_USE_WARPER option itself is an old feature,
|
||||
available since 2006. Warping only works in `light'
|
||||
auto-hinting mode. The idea of the code is to slightly scale
|
||||
and shift a glyph along the non-hinted dimension (which is
|
||||
usually the horizontal axis) so that as much of its segments are
|
||||
aligned (more or less) to the grid. To find out a glyph's
|
||||
optimal scaling and shifting value, various parameter
|
||||
combinations are tried and scored.
|
||||
|
||||
See file `ftautoh.h' for more; the demo programs `ftdiff',
|
||||
`ftview', and `ftgrid' can toggle warping with key `w'.
|
||||
|
||||
- Some fields in the `FTC_ImageTypeRec' structure have been
|
||||
changed from signed to unsigned type, which better reflects the
|
||||
actual usage. It is also an additional means to protect against
|
||||
malformed input.
|
||||
|
||||
This change doesn't break the ABI; however, it might cause
|
||||
compiler warnings.
|
||||
|
||||
- Function `FT_Bitmap_New' has been renamed to `FT_Bitmap_Init',
|
||||
since this name better reflects its function. For backwards
|
||||
compatibility, the old function name is still available.
|
||||
|
||||
- Function `FT_Get_X11_Font_Format' has been renamed to
|
||||
`FT_Get_Font_Format', since this name better reflects its
|
||||
function. For backwards compatibility, the old function name is
|
||||
still available.
|
||||
|
||||
Additionally, the header file macro for this function has been
|
||||
renamed to `FT_FONT_FORMATS_H' (the old name `FT_XFREE86_H' is
|
||||
retained for backwards compatibility).
|
||||
|
||||
- Various improvements to the `ftgrid' demo program.
|
||||
|
||||
. It can now display GX and MM fonts while interactively
|
||||
manipulating the axes (with keys F2, F3, and F4).
|
||||
|
||||
. Anti-aliasing rendering modes can now be selected (with keys
|
||||
F5 and F6).
|
||||
|
||||
. The display of point numbers can be toggled with key `D'.
|
||||
|
||||
- Various improvements to the `ftdump' demo program.
|
||||
|
||||
. It now displays information on MM and GX variation axes.
|
||||
|
||||
. New command line option `-u' makes it output data in utf-8
|
||||
encoding.
|
||||
|
||||
- The `ftmulti' demo program can now handle up to six MM or GX
|
||||
axes.
|
||||
|
||||
|
||||
======================================================================
|
||||
|
||||
CHANGES BETWEEN 2.5.4 and 2.5.5
|
||||
|
||||
@ -4159,7 +4345,7 @@ Extensions support:
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2000-2013 by
|
||||
Copyright 2000-2015 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
|
17
src/3rdparty/freetype/docs/CUSTOMIZE
vendored
17
src/3rdparty/freetype/docs/CUSTOMIZE
vendored
@ -8,7 +8,7 @@ How to customize the compilation of the library
|
||||
|
||||
I. Configuration macros
|
||||
|
||||
The file found in `include/config/ftoption.h' contains a list of
|
||||
The file `include/freetype/config/ftoption.h' contains a list of
|
||||
commented configuration macros that can be toggled by developers to
|
||||
indicate which features should be active while building the library.
|
||||
|
||||
@ -35,9 +35,9 @@ II. Modules list
|
||||
can keep the source files `clean'.
|
||||
|
||||
If you don't use GNU make you have to manually edit the file
|
||||
`include/config/ftmodule.h' (which is *not* used with if compiled
|
||||
with GNU make) to add or remove the drivers and components you want
|
||||
to compile into the library. See `INSTALL.ANY' for more
|
||||
`include/freetype/config/ftmodule.h' (which is *not* used with if
|
||||
compiled with GNU make) to add or remove the drivers and components
|
||||
you want to compile into the library. See `INSTALL.ANY' for more
|
||||
information.
|
||||
|
||||
|
||||
@ -95,8 +95,9 @@ IV. Overriding default configuration and module headers
|
||||
#include FT_CONFIG_OPTIONS_H
|
||||
#include FT_CONFIG_MODULES_H
|
||||
|
||||
are compiled. Their default values being <config/ftoption.h> and
|
||||
<config/ftmodule.h>, you can do something like:
|
||||
are compiled. Their default values being
|
||||
<freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
|
||||
can do something like:
|
||||
|
||||
custom/
|
||||
config/
|
||||
@ -122,7 +123,7 @@ IV. Overriding default configuration and module headers
|
||||
#define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
|
||||
#define FT_CONFIG_MODULES_H <custom/my-ftmodule.h>
|
||||
|
||||
#include <config/ftheader.h>
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* __FT2_BUILD_MY_PLATFORM_H__ */
|
||||
|
||||
@ -138,7 +139,7 @@ IV. Overriding default configuration and module headers
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Copyright 2003, 2005, 2006, 2012, 2013 by
|
||||
Copyright 2003-2015 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
|
2
src/3rdparty/freetype/docs/DEBUG
vendored
2
src/3rdparty/freetype/docs/DEBUG
vendored
@ -191,7 +191,7 @@ behaviour of FreeType at runtime.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2002-2005, 2009, 2013 by
|
||||
Copyright 2002-2015 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
|
2
src/3rdparty/freetype/docs/TODO
vendored
2
src/3rdparty/freetype/docs/TODO
vendored
@ -27,7 +27,7 @@ Other bugs have been registered at the savannah bugzilla of FreeType.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
|
||||
Copyright 2001-2015 by
|
||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
|
||||
This file is part of the FreeType project, and may only be used,
|
||||
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* ANSI-specific configuration file (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2004, 2006-2008, 2010-2011, 2013, 2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -319,11 +319,28 @@ FT_BEGIN_HEADER
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* miscellaneous */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#define FT_BEGIN_STMNT do {
|
||||
#define FT_END_STMNT } while ( 0 )
|
||||
#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
|
||||
|
||||
|
||||
/* typeof condition taken from gnulib's `intprops.h' header file */
|
||||
#if ( __GNUC__ >= 2 || \
|
||||
defined( __IBM__TYPEOF__ ) || \
|
||||
( __SUNPRO_C >= 0x5110 && !__STDC__ ) )
|
||||
#define FT_TYPEOF( type ) (__typeof__ (type))
|
||||
#else
|
||||
#define FT_TYPEOF( type ) /* empty */
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
|
||||
|
||||
#define FT_LOCAL( x ) static x
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Build macros of the FreeType 2 library. */
|
||||
/* */
|
||||
/* Copyright 1996-2008, 2010, 2012, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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,20 +704,22 @@
|
||||
* 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>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
*
|
||||
* @macro:
|
||||
* FT_XFREE86_H
|
||||
* FT_FONT_FORMATS_H
|
||||
*
|
||||
* @description:
|
||||
* A macro used in #include statements to name the file containing the
|
||||
* FreeType~2 API which provides functions specific to the XFree86 and
|
||||
* X.Org X11 servers.
|
||||
* FreeType~2 API which provides functions specific to font formats.
|
||||
*/
|
||||
#define FT_XFREE86_H <ftxf86.h>
|
||||
#define FT_FONT_FORMATS_H <freetype/ftfntfmt.h>
|
||||
|
||||
/* deprecated */
|
||||
#define FT_XFREE86_H FT_FONT_FORMATS_H
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
@ -730,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>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
@ -742,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>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
@ -754,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>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
@ -766,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>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
@ -778,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>
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
@ -790,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>
|
||||
|
||||
|
||||
/*
|
||||
@ -821,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 */
|
||||
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* User-selectable configuration macros (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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. */
|
||||
/* */
|
||||
@ -378,10 +378,6 @@ FT_BEGIN_HEADER
|
||||
/* The size in bytes of the render pool used by the scan-line converter */
|
||||
/* to do all of its work. */
|
||||
/* */
|
||||
/* This must be greater than 4KByte if you use FreeType to rasterize */
|
||||
/* glyphs; otherwise, you may set it to zero to avoid unnecessary */
|
||||
/* allocation of the render pool. */
|
||||
/* */
|
||||
#define FT_RENDER_POOL_SIZE 16384L
|
||||
|
||||
|
||||
@ -435,6 +431,8 @@ FT_BEGIN_HEADER
|
||||
/* af_glyph_hints_dump_points */
|
||||
/* af_glyph_hints_dump_segments */
|
||||
/* af_glyph_hints_dump_edges */
|
||||
/* af_glyph_hints_get_num_segments */
|
||||
/* af_glyph_hints_get_segment_offset */
|
||||
/* */
|
||||
/* As an argument, they use another global variable: */
|
||||
/* */
|
||||
@ -657,19 +655,6 @@ FT_BEGIN_HEADER
|
||||
/* #define TT_CONFIG_OPTION_UNPATENTED_HINTING */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Define TT_CONFIG_OPTION_INTERPRETER_SWITCH to compile the TrueType */
|
||||
/* bytecode interpreter with a huge switch statement, rather than a call */
|
||||
/* table. This results in smaller and faster code for a number of */
|
||||
/* architectures. */
|
||||
/* */
|
||||
/* Note however that on some compiler/processor combinations, undefining */
|
||||
/* this macro will generate faster, though larger, code. */
|
||||
/* */
|
||||
#define TT_CONFIG_OPTION_INTERPRETER_SWITCH
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* Define TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED to compile the */
|
||||
@ -684,7 +669,7 @@ FT_BEGIN_HEADER
|
||||
/* fonts will not have them. */
|
||||
/* */
|
||||
/* http://www.microsoft.com/typography/otspec/glyf.htm */
|
||||
/* http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html */
|
||||
/* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6glyf.html */
|
||||
/* */
|
||||
#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
|
||||
|
||||
@ -835,10 +820,12 @@ FT_BEGIN_HEADER
|
||||
/* grid. To find out the optimal scaling and shifting value, various */
|
||||
/* parameter combinations are tried and scored. */
|
||||
/* */
|
||||
/* This experimental option is only active if the render mode is */
|
||||
/* FT_RENDER_MODE_LIGHT. */
|
||||
/* This experimental option is active only if the rendering mode is */
|
||||
/* FT_RENDER_MODE_LIGHT; you can switch warping on and off with the */
|
||||
/* `warping' property of the auto-hinter (see file `ftautoh.h' for more */
|
||||
/* information; by default it is switched off). */
|
||||
/* */
|
||||
/* #define AF_CONFIG_OPTION_USE_WARPER */
|
||||
#define AF_CONFIG_OPTION_USE_WARPER
|
||||
|
||||
/* */
|
||||
|
@ -5,7 +5,7 @@
|
||||
/* ANSI-specific library and header configuration file (specification */
|
||||
/* only). */
|
||||
/* */
|
||||
/* Copyright 2002-2007, 2009, 2011-2012 by */
|
||||
/* Copyright 2002-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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
|
||||
|
||||
|
||||
@ -141,8 +142,7 @@
|
||||
/**********************************************************************/
|
||||
|
||||
|
||||
#define ft_atol atol
|
||||
#define ft_labs labs
|
||||
#define ft_atol atol
|
||||
|
||||
|
||||
/**********************************************************************/
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType high-level API and common types (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -394,8 +394,11 @@ FT_BEGIN_HEADER
|
||||
/* It also embeds a memory manager (see @FT_Memory), as well as a */
|
||||
/* scan-line converter object (see @FT_Raster). */
|
||||
/* */
|
||||
/* In multi-threaded applications, make sure that the same FT_Library */
|
||||
/* object or any of its children doesn't get accessed in parallel. */
|
||||
/* In multi-threaded applications it is easiest to use one */
|
||||
/* `FT_Library' object per thread. In case this is too cumbersome, */
|
||||
/* a single `FT_Library' object across threads is possible also */
|
||||
/* (since FreeType version 2.5.6), as long as a mutex lock is used */
|
||||
/* around @FT_New_Face and @FT_Done_Face. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Library objects are normally created by @FT_Init_FreeType, and */
|
||||
@ -477,6 +480,14 @@ FT_BEGIN_HEADER
|
||||
/* */
|
||||
/* Use @FT_Done_Face to destroy it (along with its slot and sizes). */
|
||||
/* */
|
||||
/* An `FT_Face' object can only be safely used from one thread at a */
|
||||
/* time. Similarly, creation and destruction of `FT_Face' with the */
|
||||
/* same @FT_Library object can only be done from one thread at a */
|
||||
/* time. On the other hand, functions like @FT_Load_Glyph and its */
|
||||
/* siblings are thread-safe and do not need the lock to be held as */
|
||||
/* long as the same `FT_Face' object is not used from multiple */
|
||||
/* threads at the same time. */
|
||||
/* */
|
||||
/* <Also> */
|
||||
/* See @FT_FaceRec for the publicly accessible fields of a given face */
|
||||
/* object. */
|
||||
@ -631,9 +642,13 @@ FT_BEGIN_HEADER
|
||||
/* */
|
||||
/* FT_ENCODING_MS_SYMBOL :: */
|
||||
/* Corresponds to the Microsoft Symbol encoding, used to encode */
|
||||
/* mathematical symbols in the 32..255 character code range. For */
|
||||
/* more information, see */
|
||||
/* `http://www.kostis.net/charsets/symbol.htm'. */
|
||||
/* mathematical symbols and wingdings. For more information, see */
|
||||
/* `http://www.microsoft.com/typography/otspec/recom.htm', */
|
||||
/* `http://www.kostis.net/charsets/symbol.htm', and */
|
||||
/* `http://www.kostis.net/charsets/wingding.htm'. */
|
||||
/* */
|
||||
/* This encoding uses character codes from the PUA (Private Unicode */
|
||||
/* Area) in the range U+F020-U+F0FF. */
|
||||
/* */
|
||||
/* FT_ENCODING_SJIS :: */
|
||||
/* Corresponds to Japanese SJIS encoding. More info at */
|
||||
@ -651,7 +666,7 @@ FT_BEGIN_HEADER
|
||||
/* FT_ENCODING_WANSUNG :: */
|
||||
/* Corresponds to the Korean encoding system known as Wansung. */
|
||||
/* For more information see */
|
||||
/* `http://msdn.microsoft.com/en-US/goglobal/cc305154'. */
|
||||
/* `https://msdn.microsoft.com/en-US/goglobal/cc305154'. */
|
||||
/* */
|
||||
/* FT_ENCODING_JOHAB :: */
|
||||
/* The Korean standard character set (KS~C 5601-1992), which */
|
||||
@ -861,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 */
|
||||
@ -893,6 +927,11 @@ FT_BEGIN_HEADER
|
||||
/* Can be NULL (e.g., in fonts embedded in a */
|
||||
/* PDF file). */
|
||||
/* */
|
||||
/* In case the font doesn't provide a specific */
|
||||
/* family name entry, FreeType tries to */
|
||||
/* synthesize one, deriving it from other name */
|
||||
/* entries. */
|
||||
/* */
|
||||
/* style_name :: The face's style name. This is an ASCII */
|
||||
/* string, usually in English, that describes */
|
||||
/* the typeface's style (like `Italic', */
|
||||
@ -1140,7 +1179,7 @@ FT_BEGIN_HEADER
|
||||
/* TrueType bytecode instructions to move and scale all of its */
|
||||
/* subglyphs. */
|
||||
/* */
|
||||
/* It is not possible to autohint such fonts using */
|
||||
/* It is not possible to auto-hint such fonts using */
|
||||
/* @FT_LOAD_FORCE_AUTOHINT; it will also ignore */
|
||||
/* @FT_LOAD_NO_HINTING. You have to set both @FT_LOAD_NO_HINTING */
|
||||
/* and @FT_LOAD_NO_AUTOHINT to really disable hinting; however, you */
|
||||
@ -1372,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> */
|
||||
@ -1649,11 +1688,11 @@ FT_BEGIN_HEADER
|
||||
/* needs to know about the image format. */
|
||||
/* */
|
||||
/* lsb_delta :: The difference between hinted and unhinted */
|
||||
/* left side bearing while autohinting is */
|
||||
/* left side bearing while auto-hinting is */
|
||||
/* active. Zero otherwise. */
|
||||
/* */
|
||||
/* rsb_delta :: The difference between hinted and unhinted */
|
||||
/* right side bearing while autohinting is */
|
||||
/* right side bearing while auto-hinting is */
|
||||
/* active. Zero otherwise. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
@ -1676,7 +1715,7 @@ FT_BEGIN_HEADER
|
||||
/* `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Here a small pseudo code fragment that shows how to use */
|
||||
/* Here is a small pseudo code fragment that shows how to use */
|
||||
/* `lsb_delta' and `rsb_delta': */
|
||||
/* */
|
||||
/* { */
|
||||
@ -1769,8 +1808,8 @@ FT_BEGIN_HEADER
|
||||
/* use @FT_New_Library instead, followed by a call to */
|
||||
/* @FT_Add_Default_Modules (or a series of calls to @FT_Add_Module). */
|
||||
/* */
|
||||
/* For multi-threading applications each thread should have its own */
|
||||
/* FT_Library object. */
|
||||
/* See the documentation of @FT_Library and @FT_Face for */
|
||||
/* multi-threading issues. */
|
||||
/* */
|
||||
/* If you need reference-counting (cf. @FT_Reference_Library), use */
|
||||
/* @FT_New_Library and @FT_Done_Library. */
|
||||
@ -1804,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> */
|
||||
@ -1951,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. */
|
||||
@ -1990,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. */
|
||||
@ -2028,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. */
|
||||
@ -2044,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'. */
|
||||
/* */
|
||||
@ -2064,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,
|
||||
@ -2501,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:
|
||||
@ -2618,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.
|
||||
*
|
||||
@ -2663,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 )
|
||||
|
||||
/* */
|
||||
|
||||
@ -2907,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,
|
||||
@ -2952,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. */
|
||||
@ -3239,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. */
|
||||
@ -3398,8 +3549,9 @@ FT_BEGIN_HEADER
|
||||
/* @FT_Get_FSType_Flags; they inform client applications of embedding */
|
||||
/* and subsetting restrictions associated with a font. */
|
||||
/* */
|
||||
/* See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for */
|
||||
/* more details. */
|
||||
/* See */
|
||||
/* http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/FontPolicies.pdf */
|
||||
/* for more details. */
|
||||
/* */
|
||||
/* <Values> */
|
||||
/* FT_FSTYPE_INSTALLABLE_EMBEDDING :: */
|
||||
@ -3433,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. */
|
||||
@ -3818,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 );
|
||||
@ -3837,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 );
|
||||
@ -3856,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 );
|
||||
@ -3936,8 +4092,8 @@ FT_BEGIN_HEADER
|
||||
*
|
||||
*/
|
||||
#define FREETYPE_MAJOR 2
|
||||
#define FREETYPE_MINOR 5
|
||||
#define FREETYPE_PATCH 5
|
||||
#define FREETYPE_MINOR 6
|
||||
#define FREETYPE_PATCH 1
|
||||
|
||||
|
||||
/*************************************************************************/
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Quick computation of advance widths (specification only). */
|
||||
/* */
|
||||
/* Copyright 2008, 2013, 2014 by */
|
||||
/* Copyright 2008-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -77,7 +77,7 @@ FT_BEGIN_HEADER
|
||||
/* and hinting of the glyph outline, are extremely slow by */
|
||||
/* comparison. */
|
||||
/* */
|
||||
#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000UL
|
||||
#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000L
|
||||
|
||||
|
||||
/*************************************************************************/
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType API for controlling the auto-hinter (specification only). */
|
||||
/* */
|
||||
/* Copyright 2012, 2013 by */
|
||||
/* Copyright 2012-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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;
|
||||
|
||||
@ -300,7 +300,7 @@ FT_BEGIN_HEADER
|
||||
* @description:
|
||||
* *Experimental* *only*
|
||||
*
|
||||
* If Freetype gets compiled with FT_CONFIG_OPTION_USE_HARFBUZZ to make
|
||||
* If FreeType gets compiled with FT_CONFIG_OPTION_USE_HARFBUZZ to make
|
||||
* the HarfBuzz library access OpenType features for getting better
|
||||
* glyph coverages, this property sets the (auto-fitter) script to be
|
||||
* used for the default (OpenType) script data of a font's GSUB table.
|
||||
@ -391,6 +391,54 @@ FT_BEGIN_HEADER
|
||||
|
||||
} FT_Prop_IncreaseXHeight;
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @property:
|
||||
* warping
|
||||
*
|
||||
* @description:
|
||||
* *Experimental* *only*
|
||||
*
|
||||
* If FreeType gets compiled with option AF_CONFIG_OPTION_USE_WARPER to
|
||||
* activate the warp hinting code in the auto-hinter, this property
|
||||
* switches warping on and off.
|
||||
*
|
||||
* Warping only works in `light' auto-hinting mode. The idea of the
|
||||
* code is to slightly scale and shift a glyph along the non-hinted
|
||||
* dimension (which is usually the horizontal axis) so that as much of
|
||||
* its segments are aligned (more or less) to the grid. To find out a
|
||||
* glyph's optimal scaling and shifting value, various parameter
|
||||
* combinations are tried and scored.
|
||||
*
|
||||
* By default, warping is off. The example below shows how to switch on
|
||||
* warping (omitting the error handling).
|
||||
*
|
||||
* {
|
||||
* FT_Library library;
|
||||
* FT_Bool warping = 1;
|
||||
*
|
||||
*
|
||||
* FT_Init_FreeType( &library );
|
||||
*
|
||||
* FT_Property_Set( library, "autofitter",
|
||||
* "warping", &warping );
|
||||
* }
|
||||
*
|
||||
* @note:
|
||||
* This property can be used with @FT_Property_Get also.
|
||||
*
|
||||
* The warping code can also change advance widths. Have a look at the
|
||||
* `lsb_delta' and `rsb_delta' fields in the @FT_GlyphSlotRec structure
|
||||
* for details on improving inter-glyph distances while rendering.
|
||||
*
|
||||
* Since warping is a global property of the auto-hinter it is best to
|
||||
* change its value before rendering any face. Otherwise, you should
|
||||
* reload all faces that get auto-hinted in `light' hinting mode.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* */
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType exact bbox computation (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2003, 2007, 2011, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType API for accessing BDF-specific strings (specification). */
|
||||
/* */
|
||||
/* Copyright 2002-2004, 2006, 2009, 2014 by */
|
||||
/* Copyright 2002-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType utility functions for bitmaps (specification). */
|
||||
/* */
|
||||
/* Copyright 2004-2006, 2008, 2013, 2014 by */
|
||||
/* Copyright 2004-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -55,7 +55,7 @@ FT_BEGIN_HEADER
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Bitmap_New */
|
||||
/* FT_Bitmap_Init */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Initialize a pointer to an @FT_Bitmap structure. */
|
||||
@ -63,6 +63,14 @@ FT_BEGIN_HEADER
|
||||
/* <InOut> */
|
||||
/* abitmap :: A pointer to the bitmap structure. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* A deprecated name for the same function is `FT_Bitmap_New'. */
|
||||
/* */
|
||||
FT_EXPORT( void )
|
||||
FT_Bitmap_Init( FT_Bitmap *abitmap );
|
||||
|
||||
|
||||
/* deprecated */
|
||||
FT_EXPORT( void )
|
||||
FT_Bitmap_New( FT_Bitmap *abitmap );
|
||||
|
||||
@ -202,7 +210,7 @@ FT_BEGIN_HEADER
|
||||
/* FT_Bitmap_Done */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Destroy a bitmap object created with @FT_Bitmap_New. */
|
||||
/* Destroy a bitmap object initialized with @FT_Bitmap_Init. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* library :: A handle to a library object. */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Bzip2-compressed stream support. */
|
||||
/* */
|
||||
/* Copyright 2010 by */
|
||||
/* Copyright 2010-2015 by */
|
||||
/* Joel Klinghed. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType Cache subsystem (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2008, 2010, 2013, 2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -667,8 +667,8 @@ FT_BEGIN_HEADER
|
||||
typedef struct FTC_ImageTypeRec_
|
||||
{
|
||||
FTC_FaceID face_id;
|
||||
FT_Int width;
|
||||
FT_Int height;
|
||||
FT_UInt width;
|
||||
FT_UInt height;
|
||||
FT_Int32 flags;
|
||||
|
||||
} FTC_ImageTypeRec;
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType API for controlling the CFF driver (specification only). */
|
||||
/* */
|
||||
/* Copyright 2013, 2014 by */
|
||||
/* Copyright 2013-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -119,3 +119,17 @@
|
||||
/* lcd_filtering */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* <Chapter> */
|
||||
/* error_codes */
|
||||
/* */
|
||||
/* <Title> */
|
||||
/* Error Codes */
|
||||
/* */
|
||||
/* <Sections> */
|
||||
/* error_enumerations */
|
||||
/* error_code_values */
|
||||
/* */
|
||||
/***************************************************************************/
|
@ -4,7 +4,8 @@
|
||||
/* */
|
||||
/* FreeType API for accessing CID font information (specification). */
|
||||
/* */
|
||||
/* Copyright 2007, 2009 by Dereg Clegg, Michael Toftdal. */
|
||||
/* Copyright 2007-2015 by */
|
||||
/* Dereg Clegg and Michael Toftdal. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType error codes (specification). */
|
||||
/* */
|
||||
/* Copyright 2002, 2004, 2006, 2007, 2010-2013 by */
|
||||
/* Copyright 2002-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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 */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType error code handling (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2002, 2004, 2007, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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__
|
@ -1,10 +1,10 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftxf86.h */
|
||||
/* ftfntfmt.h */
|
||||
/* */
|
||||
/* Support functions for X11. */
|
||||
/* Support functions for font formats. */
|
||||
/* */
|
||||
/* Copyright 2002-2004, 2006, 2007, 2013 by */
|
||||
/* Copyright 2002-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -16,8 +16,8 @@
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#ifndef __FTXF86_H__
|
||||
#define __FTXF86_H__
|
||||
#ifndef __FTFNTFMT_H__
|
||||
#define __FTFNTFMT_H__
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
@ -49,22 +49,20 @@ FT_BEGIN_HEADER
|
||||
/* however, there are special cases (like in PDF devices) where it is */
|
||||
/* important to differentiate, in spite of FreeType's uniform API. */
|
||||
/* */
|
||||
/* This function is in the X11/xf86 namespace for historical reasons */
|
||||
/* and in no way depends on that windowing system. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Get_X11_Font_Format */
|
||||
/* FT_Get_Font_Format */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Return a string describing the format of a given face, using values */
|
||||
/* that can be used as an X11 FONT_PROPERTY. Possible values are */
|
||||
/* `TrueType', `Type~1', `BDF', `PCF', `Type~42', `CID~Type~1', `CFF', */
|
||||
/* `PFR', and `Windows~FNT'. */
|
||||
/* Return a string describing the format of a given face. Possible */
|
||||
/* values are `TrueType', `Type~1', `BDF', `PCF', `Type~42', */
|
||||
/* `CID~Type~1', `CFF', `PFR', and `Windows~FNT'. */
|
||||
/* */
|
||||
/* The return value is suitable to be used as an X11 FONT_PROPERTY. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: */
|
||||
@ -73,12 +71,22 @@ FT_BEGIN_HEADER
|
||||
/* <Return> */
|
||||
/* Font format string. NULL in case of error. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* A deprecated name for the same function is */
|
||||
/* `FT_Get_X11_Font_Format'. */
|
||||
/* */
|
||||
FT_EXPORT( const char* )
|
||||
FT_Get_Font_Format( FT_Face face );
|
||||
|
||||
|
||||
/* deprecated */
|
||||
FT_EXPORT( const char* )
|
||||
FT_Get_X11_Font_Format( FT_Face face );
|
||||
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
#endif /* __FTXF86_H__ */
|
||||
#endif /* __FTFNTFMT_H__ */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Access of TrueType's `gasp' table (specification). */
|
||||
/* */
|
||||
/* Copyright 2007, 2008, 2011 by */
|
||||
/* Copyright 2007-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType convenience functions to handle glyphs (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2003, 2006, 2008, 2009, 2011, 2013, 2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType API for validating TrueTypeGX/AAT tables (specification). */
|
||||
/* */
|
||||
/* Copyright 2004-2006, 2013 by */
|
||||
/* Copyright 2004-2015 by */
|
||||
/* Masatake YAMATO, Redhat K.K, */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Gzip-compressed stream support. */
|
||||
/* */
|
||||
/* Copyright 2002-2004, 2006, 2013 by */
|
||||
/* Copyright 2002-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -5,7 +5,7 @@
|
||||
/* FreeType glyph image formats and default raster interface */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2010, 2013, 2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -258,11 +258,6 @@ FT_BEGIN_HEADER
|
||||
/* field is intended for paletted pixel modes. Not */
|
||||
/* used currently. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* For now, the only pixel modes supported by FreeType are mono and */
|
||||
/* grays. However, drivers might be added in the future to support */
|
||||
/* more `colorful' options. */
|
||||
/* */
|
||||
typedef struct FT_Bitmap_
|
||||
{
|
||||
unsigned int rows;
|
||||
@ -1078,10 +1073,10 @@ FT_BEGIN_HEADER
|
||||
/* FT_Raster_ResetFunc */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* FreeType provides an area of memory called the `render pool', */
|
||||
/* available to all registered rasters. This pool can be freely used */
|
||||
/* during a given scan-conversion but is shared by all rasters. Its */
|
||||
/* content is thus transient. */
|
||||
/* FreeType used to provide an area of memory called the `render */
|
||||
/* pool' available to all registered rasters. This was not thread */
|
||||
/* safe however and now FreeType never allocates this pool. NULL */
|
||||
/* is always passed in as pool_base. */
|
||||
/* */
|
||||
/* This function is called each time the render pool changes, or just */
|
||||
/* after a new raster object is created. */
|
||||
@ -1094,10 +1089,9 @@ FT_BEGIN_HEADER
|
||||
/* pool_size :: The size in bytes of the render pool. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Rasters can ignore the render pool and rely on dynamic memory */
|
||||
/* Rasters should ignore the render pool and rely on dynamic or stack */
|
||||
/* allocation if they want to (a handle to the memory allocator is */
|
||||
/* passed to the raster constructor). However, this is not */
|
||||
/* recommended for efficiency purposes. */
|
||||
/* passed to the raster constructor). */
|
||||
/* */
|
||||
typedef void
|
||||
(*FT_Raster_ResetFunc)( FT_Raster raster,
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType incremental loading (specification). */
|
||||
/* */
|
||||
/* Copyright 2002, 2003, 2006-2008, 2010, 2014 by */
|
||||
/* Copyright 2002-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -5,7 +5,7 @@
|
||||
/* FreeType API for color filtering of subpixel bitmap glyphs */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 2006-2008, 2010, 2013, 2014 by */
|
||||
/* Copyright 2006-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Generic list support for FreeType (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2003, 2007, 2010, 2013, 2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* LZW-compressed stream support. */
|
||||
/* */
|
||||
/* Copyright 2004, 2006 by */
|
||||
/* Copyright 2004-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Additional Mac-specific API. */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2004, 2006, 2007, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType Multiple Master font interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2003, 2004, 2006, 2009, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -95,8 +95,8 @@ FT_BEGIN_HEADER
|
||||
/* */
|
||||
/* num_designs :: Number of designs; should be normally 2^num_axis */
|
||||
/* even though the Type~1 specification strangely */
|
||||
/* allows for intermediate designs to be present. This */
|
||||
/* number cannot exceed~16. */
|
||||
/* allows for intermediate designs to be present. */
|
||||
/* This number cannot exceed~16. */
|
||||
/* */
|
||||
/* axis :: A table of axis descriptors. */
|
||||
/* */
|
||||
@ -201,10 +201,10 @@ FT_BEGIN_HEADER
|
||||
/* associated with them. The font can tell the */
|
||||
/* user that, for example, Weight=1.5 is `Bold'. */
|
||||
/* */
|
||||
/* axis :: A table of axis descriptors. */
|
||||
/* axis :: An axis descriptor table. */
|
||||
/* GX fonts contain slightly more data than MM. */
|
||||
/* */
|
||||
/* namedstyles :: A table of named styles. */
|
||||
/* namedstyle :: A named style table. */
|
||||
/* Only meaningful with GX. */
|
||||
/* */
|
||||
typedef struct FT_MM_Var_
|
||||
@ -280,8 +280,10 @@ FT_BEGIN_HEADER
|
||||
/* face :: A handle to the source face. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* num_coords :: The number of design coordinates (must be equal to */
|
||||
/* the number of axes in the font). */
|
||||
/* num_coords :: The number of available design coordinates. If it */
|
||||
/* is larger than the number of axes, ignore the excess */
|
||||
/* values. If it is smaller than the number of axes, */
|
||||
/* use default values for the remaining axes. */
|
||||
/* */
|
||||
/* coords :: An array of design coordinates. */
|
||||
/* */
|
||||
@ -307,8 +309,10 @@ FT_BEGIN_HEADER
|
||||
/* face :: A handle to the source face. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* num_coords :: The number of design coordinates (must be equal to */
|
||||
/* the number of axes in the font). */
|
||||
/* num_coords :: The number of available design coordinates. If it */
|
||||
/* is larger than the number of axes, ignore the excess */
|
||||
/* values. If it is smaller than the number of axes, */
|
||||
/* use default values for the remaining axes. */
|
||||
/* */
|
||||
/* coords :: An array of design coordinates. */
|
||||
/* */
|
||||
@ -334,8 +338,10 @@ FT_BEGIN_HEADER
|
||||
/* face :: A handle to the source face. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* num_coords :: The number of design coordinates (must be equal to */
|
||||
/* the number of axes in the font). */
|
||||
/* num_coords :: The number of available design coordinates. If it */
|
||||
/* is larger than the number of axes, ignore the excess */
|
||||
/* values. If it is smaller than the number of axes, */
|
||||
/* use default values for the remaining axes. */
|
||||
/* */
|
||||
/* coords :: The design coordinates array (each element must be */
|
||||
/* between 0 and 1.0). */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType modules public interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2003, 2006, 2008-2010, 2012, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -63,7 +63,7 @@ FT_BEGIN_HEADER
|
||||
/* psaux */
|
||||
/* pshinter */
|
||||
/* psnames */
|
||||
/* raster1, raster5 */
|
||||
/* raster1 */
|
||||
/* sfnt */
|
||||
/* smooth, smooth-lcd, smooth-lcdv */
|
||||
/* truetype */
|
||||
@ -469,7 +469,9 @@ FT_BEGIN_HEADER
|
||||
/* <Description> */
|
||||
/* This function is used to create a new FreeType library instance */
|
||||
/* from a given memory object. It is thus possible to use libraries */
|
||||
/* with distinct memory allocators within the same program. */
|
||||
/* with distinct memory allocators within the same program. Note, */
|
||||
/* however, that the used @FT_Memory structure is expected to remain */
|
||||
/* valid for the life of the @FT_Library object. */
|
||||
/* */
|
||||
/* Normally, you would call this function (followed by a call to */
|
||||
/* @FT_Add_Default_Modules or a series of calls to @FT_Add_Module) */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType module error offsets (specification). */
|
||||
/* */
|
||||
/* Copyright 2001-2005, 2010, 2013 by */
|
||||
/* Copyright 2001-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType API for validating OpenType tables (specification). */
|
||||
/* */
|
||||
/* Copyright 2004-2007, 2013, 2014 by */
|
||||
/* Copyright 2004-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -5,7 +5,7 @@
|
||||
/* Support for the FT_Outline type used to store glyph shapes of */
|
||||
/* most scalable font formats (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2003, 2005-2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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 */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType API for accessing PFR-specific data (specification only). */
|
||||
/* */
|
||||
/* Copyright 2002, 2003, 2004, 2006, 2008, 2009 by */
|
||||
/* Copyright 2002-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType renderer modules public interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2005, 2006, 2010 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -212,13 +212,8 @@ FT_BEGIN_HEADER
|
||||
/* */
|
||||
/* This doesn't change the current renderer for other formats. */
|
||||
/* */
|
||||
/* Currently, only the B/W renderer, if compiled with */
|
||||
/* FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels */
|
||||
/* anti-aliasing mode; this option must be set directly in */
|
||||
/* `ftraster.c' and is undefined by default) accepts a single tag */
|
||||
/* `pal5' to set its gray palette as a character string with */
|
||||
/* 5~elements. Consequently, the third and fourth argument are zero */
|
||||
/* normally. */
|
||||
/* Currently, no FreeType renderer module uses `parameters'; you */
|
||||
/* should thus always pass NULL as the value. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Set_Renderer( FT_Library library,
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType size objects management (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2003, 2004, 2006, 2009, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -7,7 +7,7 @@
|
||||
/* */
|
||||
/* This is _not_ used to retrieve glyph names! */
|
||||
/* */
|
||||
/* Copyright 1996-2003, 2006, 2009, 2010, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType path stroker (specification). */
|
||||
/* */
|
||||
/* Copyright 2002-2006, 2008, 2009, 2011-2012, 2014 by */
|
||||
/* Copyright 2002-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -5,7 +5,7 @@
|
||||
/* FreeType synthesizing code for emboldening and slanting */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 2000-2001, 2003, 2006, 2008, 2012, 2013 by */
|
||||
/* Copyright 2000-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -62,8 +62,10 @@ FT_BEGIN_HEADER
|
||||
/* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */
|
||||
/* */
|
||||
/* For emboldened outlines the height, width, and advance metrics are */
|
||||
/* increased by the strength of the emboldening. You can also call */
|
||||
/* @FT_Outline_Get_CBox to get precise values. */
|
||||
/* increased by the strength of the emboldening -- this even affects */
|
||||
/* mono-width fonts! */
|
||||
/* */
|
||||
/* You can also call @FT_Outline_Get_CBox to get precise values. */
|
||||
FT_EXPORT( void )
|
||||
FT_GlyphSlot_Embolden( FT_GlyphSlot slot );
|
||||
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType low-level system interface definition (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2005, 2010, 2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType trigonometric functions (specification). */
|
||||
/* */
|
||||
/* Copyright 2001, 2003, 2005, 2007, 2013 by */
|
||||
/* Copyright 2001-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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.
|
310
src/3rdparty/freetype/include/freetype/ftttdrv.h
vendored
Normal file
310
src/3rdparty/freetype/include/freetype/ftttdrv.h
vendored
Normal file
@ -0,0 +1,310 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftttdrv.h */
|
||||
/* */
|
||||
/* FreeType API for controlling the TrueType driver */
|
||||
/* (specification only). */
|
||||
/* */
|
||||
/* Copyright 2013-2015 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 __FTTTDRV_H__
|
||||
#define __FTTTDRV_H__
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
#ifdef FREETYPE_H
|
||||
#error "freetype.h of FreeType 1 has been loaded!"
|
||||
#error "Please fix the directory search order for header files"
|
||||
#error "so that freetype.h of FreeType 2 is found first."
|
||||
#endif
|
||||
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @section:
|
||||
* tt_driver
|
||||
*
|
||||
* @title:
|
||||
* The TrueType driver
|
||||
*
|
||||
* @abstract:
|
||||
* Controlling the TrueType driver module.
|
||||
*
|
||||
* @description:
|
||||
* While FreeType's TrueType driver doesn't expose API functions by
|
||||
* itself, it is possible to control its behaviour with @FT_Property_Set
|
||||
* and @FT_Property_Get. The following lists the available properties
|
||||
* together with the necessary macros and structures.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @property:
|
||||
* interpreter-version
|
||||
*
|
||||
* @description:
|
||||
* Currently, two versions are available, representing the bytecode
|
||||
* interpreter with and without subpixel hinting support,
|
||||
* respectively. The default is subpixel support if
|
||||
* TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel
|
||||
* support otherwise (since it isn't available then).
|
||||
*
|
||||
* If subpixel hinting is on, many TrueType bytecode instructions behave
|
||||
* differently compared to B/W or grayscale rendering (except if `native
|
||||
* ClearType' is selected by the font). The main idea is to render at a
|
||||
* much increased horizontal resolution, then sampling down the created
|
||||
* output to subpixel precision. However, many older fonts are not
|
||||
* suited to this and must be specially taken care of by applying
|
||||
* (hardcoded) font-specific tweaks.
|
||||
*
|
||||
* Details on subpixel hinting and some of the necessary tweaks can be
|
||||
* found in Greg Hitchcock's whitepaper at
|
||||
* `http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx'.
|
||||
*
|
||||
* The following example code demonstrates how to activate subpixel
|
||||
* hinting (omitting the error handling).
|
||||
*
|
||||
* {
|
||||
* FT_Library library;
|
||||
* FT_Face face;
|
||||
* FT_UInt interpreter_version = TT_INTERPRETER_VERSION_38;
|
||||
*
|
||||
*
|
||||
* FT_Init_FreeType( &library );
|
||||
*
|
||||
* FT_Property_Set( library, "truetype",
|
||||
* "interpreter-version",
|
||||
* &interpreter_version );
|
||||
* }
|
||||
*
|
||||
* @note:
|
||||
* This property can be used with @FT_Property_Get also.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @enum:
|
||||
* TT_INTERPRETER_VERSION_XXX
|
||||
*
|
||||
* @description:
|
||||
* A list of constants used for the @interpreter-version property to
|
||||
* select the hinting engine for Truetype fonts.
|
||||
*
|
||||
* The numeric value in the constant names represents the version
|
||||
* number as returned by the `GETINFO' bytecode instruction.
|
||||
*
|
||||
* @values:
|
||||
* TT_INTERPRETER_VERSION_35 ::
|
||||
* Version~35 corresponds to MS rasterizer v.1.7 as used e.g. in
|
||||
* Windows~98; only grayscale and B/W rasterizing is supported.
|
||||
*
|
||||
* TT_INTERPRETER_VERSION_38 ::
|
||||
* Version~38 corresponds to MS rasterizer v.1.9; it is roughly
|
||||
* equivalent to the hinting provided by DirectWrite ClearType (as
|
||||
* can be found, for example, in the Internet Explorer~9 running on
|
||||
* Windows~7).
|
||||
*
|
||||
* @note:
|
||||
* This property controls the behaviour of the bytecode interpreter
|
||||
* and thus how outlines get hinted. It does *not* control how glyph
|
||||
* get rasterized! In particular, it does not control subpixel color
|
||||
* filtering.
|
||||
*
|
||||
* If FreeType has not been compiled with configuration option
|
||||
* FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version~38 causes an
|
||||
* `FT_Err_Unimplemented_Feature' error.
|
||||
*
|
||||
* Depending on the graphics framework, Microsoft uses different
|
||||
* bytecode and rendering engines. As a consequence, the version
|
||||
* numbers returned by a call to the `GETINFO' bytecode instruction are
|
||||
* more convoluted than desired.
|
||||
*
|
||||
* Here are two tables that try to shed some light on the possible
|
||||
* values for the MS rasterizer engine, together with the additional
|
||||
* features introduced by it.
|
||||
*
|
||||
* {
|
||||
* GETINFO framework version feature
|
||||
* -------------------------------------------------------------------
|
||||
* 3 GDI (Win 3.1), v1.0 16-bit, first version
|
||||
* TrueImage
|
||||
* 33 GDI (Win NT 3.1), v1.5 32-bit
|
||||
* HP Laserjet
|
||||
* 34 GDI (Win 95) v1.6 font smoothing,
|
||||
* new SCANTYPE opcode
|
||||
* 35 GDI (Win 98/2000) v1.7 (UN)SCALED_COMPONENT_OFFSET
|
||||
* bits in composite glyphs
|
||||
* 36 MGDI (Win CE 2) v1.6+ classic ClearType
|
||||
* 37 GDI (XP and later), v1.8 ClearType
|
||||
* GDI+ old (before Vista)
|
||||
* 38 GDI+ old (Vista, Win 7), v1.9 subpixel ClearType,
|
||||
* WPF Y-direction ClearType,
|
||||
* additional error checking
|
||||
* 39 DWrite (before Win 8) v2.0 subpixel ClearType flags
|
||||
* in GETINFO opcode,
|
||||
* bug fixes
|
||||
* 40 GDI+ (after Win 7), v2.1 Y-direction ClearType flag
|
||||
* DWrite (Win 8) in GETINFO opcode,
|
||||
* Gray ClearType
|
||||
* }
|
||||
*
|
||||
* The `version' field gives a rough orientation only, since some
|
||||
* applications provided certain features much earlier (as an example,
|
||||
* Microsoft Reader used subpixel and Y-direction ClearType already in
|
||||
* Windows 2000). Similarly, updates to a given framework might include
|
||||
* improved hinting support.
|
||||
*
|
||||
* {
|
||||
* version sampling rendering comment
|
||||
* x y x y
|
||||
* --------------------------------------------------------------
|
||||
* v1.0 normal normal B/W B/W bi-level
|
||||
* v1.6 high high gray gray grayscale
|
||||
* v1.8 high normal color-filter B/W (GDI) ClearType
|
||||
* v1.9 high high color-filter gray Color ClearType
|
||||
* v2.1 high normal gray B/W Gray ClearType
|
||||
* v2.1 high high gray gray Gray ClearType
|
||||
* }
|
||||
*
|
||||
* Color and Gray ClearType are the two available variants of
|
||||
* `Y-direction ClearType', meaning grayscale rasterization along the
|
||||
* Y-direction; the name used in the TrueType specification for this
|
||||
* feature is `symmetric smoothing'. `Classic ClearType' is the
|
||||
* original algorithm used before introducing a modified version in
|
||||
* Win~XP. Another name for v1.6's grayscale rendering is `font
|
||||
* smoothing', and `Color ClearType' is sometimes also called `DWrite
|
||||
* ClearType'. To differentiate between today's Color ClearType and the
|
||||
* earlier ClearType variant with B/W rendering along the vertical axis,
|
||||
* the latter is sometimes called `GDI ClearType'.
|
||||
*
|
||||
* `Normal' and `high' sampling describe the (virtual) resolution to
|
||||
* access the rasterized outline after the hinting process. `Normal'
|
||||
* means 1 sample per grid line (i.e., B/W). In the current Microsoft
|
||||
* implementation, `high' means an extra virtual resolution of 16x16 (or
|
||||
* 16x1) grid lines per pixel for bytecode instructions like `MIRP'.
|
||||
* After hinting, these 16 grid lines are mapped to 6x5 (or 6x1) grid
|
||||
* lines for color filtering if Color ClearType is activated.
|
||||
*
|
||||
* Note that `Gray ClearType' is essentially the same as v1.6's
|
||||
* grayscale rendering. However, the GETINFO instruction handles it
|
||||
* differently: v1.6 returns bit~12 (hinting for grayscale), while v2.1
|
||||
* returns bits~13 (hinting for ClearType), 18 (symmetrical smoothing),
|
||||
* and~19 (Gray ClearType). Also, this mode respects bits 2 and~3 for
|
||||
* the version~1 gasp table exclusively (like Color ClearType), while
|
||||
* v1.6 only respects the values of version~0 (bits 0 and~1).
|
||||
*
|
||||
* FreeType doesn't provide all capabilities of the most recent
|
||||
* ClearType incarnation, thus we identify our subpixel support as
|
||||
* version~38.
|
||||
*
|
||||
*/
|
||||
#define TT_INTERPRETER_VERSION_35 35
|
||||
#define TT_INTERPRETER_VERSION_38 38
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
|
||||
#endif /* __FTTTDRV_H__ */
|
||||
|
||||
|
||||
/* END */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType simple types definitions (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2002, 2004, 2006-2009, 2012-2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType API for accessing Windows fnt-specific data. */
|
||||
/* */
|
||||
/* Copyright 2003, 2004, 2008 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -59,7 +59,7 @@ FT_BEGIN_HEADER
|
||||
* A list of valid values for the `charset' byte in
|
||||
* @FT_WinFNT_HeaderRec. Exact mapping tables for the various cpXXXX
|
||||
* encodings (except for cp1361) can be found at
|
||||
* ftp://ftp.unicode.org/public in the MAPPINGS/VENDORS/MICSFT/WINDOWS
|
||||
* ftp://ftp.unicode.org/Public in the MAPPINGS/VENDORS/MICSFT/WINDOWS
|
||||
* subdirectory. cp1361 is roughly a superset of
|
||||
* MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.
|
||||
*
|
||||
@ -95,7 +95,7 @@ FT_BEGIN_HEADER
|
||||
* second default codepage that most international versions of
|
||||
* Windows have. It is one of the OEM codepages from
|
||||
*
|
||||
* http://www.microsoft.com/globaldev/reference/cphome.mspx,
|
||||
* https://msdn.microsoft.com/en-us/goglobal/bb964655,
|
||||
*
|
||||
* and is used for the `DOS boxes', to support legacy applications.
|
||||
* A German Windows version for example usually uses ANSI codepage
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* High-level `autohint' module-specific interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2002, 2007, 2009, 2012 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Arithmetic computations (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2006, 2008, 2009, 2012-2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Debugging and logging component (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2002, 2004, 2006-2009, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -140,7 +140,7 @@ FT_BEGIN_HEADER
|
||||
/* This function may be useful if you want to control FreeType 2's */
|
||||
/* debug level in your application. */
|
||||
/* */
|
||||
FT_BASE( const char * )
|
||||
FT_BASE( const char* )
|
||||
FT_Trace_Get_Name( FT_Int idx );
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType font driver interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2003, 2006, 2008, 2011-2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType glyph loader (specification). */
|
||||
/* */
|
||||
/* Copyright 2002, 2003, 2005, 2006 by */
|
||||
/* Copyright 2002-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -121,23 +121,25 @@ FT_BEGIN_HEADER
|
||||
FT_UInt n_contours );
|
||||
|
||||
|
||||
#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \
|
||||
( (_count) == 0 || \
|
||||
( (_loader)->base.outline.n_points + \
|
||||
(_loader)->current.outline.n_points + \
|
||||
(unsigned long)(_count) ) <= (_loader)->max_points )
|
||||
#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \
|
||||
( (_count) == 0 || \
|
||||
( (FT_UInt)(_loader)->base.outline.n_points + \
|
||||
(FT_UInt)(_loader)->current.outline.n_points + \
|
||||
(FT_UInt)(_count) ) <= (_loader)->max_points )
|
||||
|
||||
#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \
|
||||
( (_count) == 0 || \
|
||||
( (_loader)->base.outline.n_contours + \
|
||||
(_loader)->current.outline.n_contours + \
|
||||
(unsigned long)(_count)) <= (_loader)->max_contours )
|
||||
#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \
|
||||
( (_count) == 0 || \
|
||||
( (FT_UInt)(_loader)->base.outline.n_contours + \
|
||||
(FT_UInt)(_loader)->current.outline.n_contours + \
|
||||
(FT_UInt)(_count) ) <= (_loader)->max_contours )
|
||||
|
||||
#define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points, _contours ) \
|
||||
( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \
|
||||
FT_GLYPHLOADER_CHECK_C( _loader, _contours ) ) \
|
||||
? 0 \
|
||||
: FT_GlyphLoader_CheckPoints( (_loader), (_points), (_contours) ) )
|
||||
#define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points, _contours ) \
|
||||
( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \
|
||||
FT_GLYPHLOADER_CHECK_C( _loader, _contours ) ) \
|
||||
? 0 \
|
||||
: FT_GlyphLoader_CheckPoints( (_loader), \
|
||||
(FT_UInt)(_points), \
|
||||
(FT_UInt)(_contours) ) )
|
||||
|
||||
|
||||
/* check that there is enough space to add `n_subs' sub-glyphs to */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType memory management macros (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2002, 2004-2007, 2010, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -215,11 +215,14 @@ FT_BEGIN_HEADER
|
||||
#define FT_MEM_SET_ERROR( cond ) ( (cond), error != 0 )
|
||||
|
||||
|
||||
#define FT_MEM_SET( dest, byte, count ) ft_memset( dest, byte, count )
|
||||
#define FT_MEM_SET( dest, byte, count ) \
|
||||
ft_memset( dest, byte, (FT_Offset)(count) )
|
||||
|
||||
#define FT_MEM_COPY( dest, source, count ) ft_memcpy( dest, source, count )
|
||||
#define FT_MEM_COPY( dest, source, count ) \
|
||||
ft_memcpy( dest, source, (FT_Offset)(count) )
|
||||
|
||||
#define FT_MEM_MOVE( dest, source, count ) ft_memmove( dest, source, count )
|
||||
#define FT_MEM_MOVE( dest, source, count ) \
|
||||
ft_memmove( dest, source, (FT_Offset)(count) )
|
||||
|
||||
|
||||
#define FT_MEM_ZERO( dest, count ) FT_MEM_SET( dest, 0, count )
|
||||
@ -227,14 +230,19 @@ FT_BEGIN_HEADER
|
||||
#define FT_ZERO( p ) FT_MEM_ZERO( p, sizeof ( *(p) ) )
|
||||
|
||||
|
||||
#define FT_ARRAY_ZERO( dest, count ) \
|
||||
FT_MEM_ZERO( dest, (count) * sizeof ( *(dest) ) )
|
||||
#define FT_ARRAY_ZERO( dest, count ) \
|
||||
FT_MEM_ZERO( dest, \
|
||||
(FT_Offset)(count) * sizeof ( *(dest) ) )
|
||||
|
||||
#define FT_ARRAY_COPY( dest, source, count ) \
|
||||
FT_MEM_COPY( dest, source, (count) * sizeof ( *(dest) ) )
|
||||
#define FT_ARRAY_COPY( dest, source, count ) \
|
||||
FT_MEM_COPY( dest, \
|
||||
source, \
|
||||
(FT_Offset)(count) * sizeof ( *(dest) ) )
|
||||
|
||||
#define FT_ARRAY_MOVE( dest, source, count ) \
|
||||
FT_MEM_MOVE( dest, source, (count) * sizeof ( *(dest) ) )
|
||||
#define FT_ARRAY_MOVE( dest, source, count ) \
|
||||
FT_MEM_MOVE( dest, \
|
||||
source, \
|
||||
(FT_Offset)(count) * sizeof ( *(dest) ) )
|
||||
|
||||
|
||||
/*
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType private base classes (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2006, 2008, 2010, 2012-2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -83,11 +83,12 @@ FT_BEGIN_HEADER
|
||||
x > y ? x + ( 3 * y >> 3 ) \
|
||||
: y + ( 3 * x >> 3 ) )
|
||||
|
||||
#define FT_PAD_FLOOR( x, n ) ( (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) & ~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 )
|
||||
|
||||
@ -404,7 +405,7 @@ FT_BEGIN_HEADER
|
||||
/* glyph_hints :: Format-specific glyph hints management. */
|
||||
/* */
|
||||
|
||||
#define FT_GLYPH_OWN_BITMAP 0x1
|
||||
#define FT_GLYPH_OWN_BITMAP 0x1U
|
||||
|
||||
typedef struct FT_Slot_InternalRec_
|
||||
{
|
||||
@ -613,12 +614,12 @@ FT_BEGIN_HEADER
|
||||
|
||||
#define FT_REQUEST_WIDTH( req ) \
|
||||
( (req)->horiResolution \
|
||||
? (FT_Pos)( (req)->width * (req)->horiResolution + 36 ) / 72 \
|
||||
? ( (req)->width * (FT_Pos)(req)->horiResolution + 36 ) / 72 \
|
||||
: (req)->width )
|
||||
|
||||
#define FT_REQUEST_HEIGHT( req ) \
|
||||
( (req)->vertResolution \
|
||||
? (FT_Pos)( (req)->height * (req)->vertResolution + 36 ) / 72 \
|
||||
? ( (req)->height * (FT_Pos)(req)->vertResolution + 36 ) / 72 \
|
||||
: (req)->height )
|
||||
|
||||
|
||||
@ -740,9 +741,8 @@ FT_BEGIN_HEADER
|
||||
/* faces_list :: The list of faces currently opened by this */
|
||||
/* driver. */
|
||||
/* */
|
||||
/* glyph_loader :: The glyph loader for all faces managed by this */
|
||||
/* driver. This object isn't defined for unscalable */
|
||||
/* formats. */
|
||||
/* glyph_loader :: Unused. Used to be glyph loader for all faces */
|
||||
/* managed by this driver. */
|
||||
/* */
|
||||
typedef struct FT_DriverRec_
|
||||
{
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType position independent code services (declaration). */
|
||||
/* */
|
||||
/* Copyright 2009, 2012 by */
|
||||
/* Copyright 2009-2015 by */
|
||||
/* Oran Agra and Mickey Gabel. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Embedded resource forks accessor (specification). */
|
||||
/* */
|
||||
/* Copyright 2004, 2006, 2007, 2012, 2013 by */
|
||||
/* Copyright 2004-2015 by */
|
||||
/* Masatake YAMATO and Redhat K.K. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -44,7 +44,7 @@ FT_BEGIN_HEADER
|
||||
typedef struct FT_RFork_Ref_
|
||||
{
|
||||
FT_UShort res_id;
|
||||
FT_ULong offset;
|
||||
FT_Long offset;
|
||||
|
||||
} FT_RFork_Ref;
|
||||
|
||||
@ -83,7 +83,7 @@ FT_BEGIN_HEADER
|
||||
|
||||
/* this array is a storage in non-PIC mode, so ; is needed in END */
|
||||
#define CONST_FT_RFORK_RULE_ARRAY_BEGIN( name, type ) \
|
||||
const type name[] = {
|
||||
static const type name[] = {
|
||||
#define CONST_FT_RFORK_RULE_ARRAY_ENTRY( func_suffix, type_suffix ) \
|
||||
{ raccess_guess_ ## func_suffix, \
|
||||
FT_RFork_Rule_ ## type_suffix },
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType services (specification only). */
|
||||
/* */
|
||||
/* Copyright 2003-2007, 2009, 2012, 2013 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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_XFREE86_NAME_H <internal/services/svxf86nm.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>
|
||||
|
||||
/* */
|
||||
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Stream handling (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2002, 2004-2006, 2011, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -361,7 +361,7 @@ FT_BEGIN_HEADER
|
||||
FT_Long distance );
|
||||
|
||||
/* return current stream position */
|
||||
FT_BASE( FT_Long )
|
||||
FT_BASE( FT_ULong )
|
||||
FT_Stream_Pos( FT_Stream stream );
|
||||
|
||||
/* read bytes from a stream into a user-allocated buffer, returns an */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Tracing handling (specification only). */
|
||||
/* */
|
||||
/* Copyright 2002, 2004-2007, 2009, 2011-2014 by */
|
||||
/* Copyright 2002-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType validation support (specification). */
|
||||
/* */
|
||||
/* Copyright 2004, 2013, 2014 by */
|
||||
/* Copyright 2004-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Internal header files (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2004, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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++) */
|
@ -5,7 +5,7 @@
|
||||
/* Auxiliary functions and data structures related to PostScript fonts */
|
||||
/* (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2004, 2006, 2008, 2009, 2012 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -71,10 +71,10 @@ FT_BEGIN_HEADER
|
||||
(*done)( PS_Table table );
|
||||
|
||||
FT_Error
|
||||
(*add)( PS_Table table,
|
||||
FT_Int idx,
|
||||
void* object,
|
||||
FT_PtrDist length );
|
||||
(*add)( PS_Table table,
|
||||
FT_Int idx,
|
||||
void* object,
|
||||
FT_UInt length );
|
||||
|
||||
void
|
||||
(*release)( PS_Table table );
|
||||
@ -122,12 +122,12 @@ FT_BEGIN_HEADER
|
||||
FT_Byte* block; /* current memory block */
|
||||
FT_Offset cursor; /* current cursor in memory block */
|
||||
FT_Offset capacity; /* current size of memory block */
|
||||
FT_Long init;
|
||||
FT_ULong init;
|
||||
|
||||
FT_Int max_elems;
|
||||
FT_Int num_elems;
|
||||
FT_Byte** elements; /* addresses of table elements */
|
||||
FT_PtrDist* lengths; /* lengths of table elements */
|
||||
FT_UInt* lengths; /* lengths of table elements */
|
||||
|
||||
FT_Memory memory;
|
||||
PS_Table_FuncsRec funcs;
|
||||
@ -365,7 +365,7 @@ FT_BEGIN_HEADER
|
||||
(*to_bytes)( PS_Parser parser,
|
||||
FT_Byte* bytes,
|
||||
FT_Offset max_bytes,
|
||||
FT_Long* pnum_bytes,
|
||||
FT_ULong* pnum_bytes,
|
||||
FT_Bool delimiters );
|
||||
|
||||
FT_Int
|
||||
@ -675,9 +675,9 @@ FT_BEGIN_HEADER
|
||||
FT_Byte** glyph_names;
|
||||
|
||||
FT_Int lenIV; /* internal for sub routine calls */
|
||||
FT_UInt num_subrs;
|
||||
FT_Int num_subrs;
|
||||
FT_Byte** subrs;
|
||||
FT_PtrDist* subrs_len; /* array of subrs length (optional) */
|
||||
FT_UInt* subrs_len; /* array of subrs length (optional) */
|
||||
|
||||
FT_Matrix font_matrix;
|
||||
FT_Vector font_offset;
|
@ -6,7 +6,7 @@
|
||||
/* recorders (specification only). These are used to support native */
|
||||
/* T1/T2 hints in the `type1', `cid', and `cff' font drivers. */
|
||||
/* */
|
||||
/* Copyright 2001-2003, 2005-2007, 2009, 2012, 2014 by */
|
||||
/* Copyright 2001-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -465,7 +465,7 @@ FT_BEGIN_HEADER
|
||||
typedef void
|
||||
(*T2_Hints_StemsFunc)( T2_Hints hints,
|
||||
FT_UInt dimension,
|
||||
FT_UInt count,
|
||||
FT_Int count,
|
||||
FT_Fixed* coordinates );
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType BDF services (specification). */
|
||||
/* */
|
||||
/* Copyright 2003, 2009, 2012 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,8 @@
|
||||
/* */
|
||||
/* The FreeType CID font services (specification). */
|
||||
/* */
|
||||
/* Copyright 2007, 2009, 2012 by Derek Clegg, Michael Toftdal. */
|
||||
/* Copyright 2007-2015 by */
|
||||
/* Derek Clegg and Michael Toftdal. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
@ -1,10 +1,10 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* svxf86nm.h */
|
||||
/* svfntfmt.h */
|
||||
/* */
|
||||
/* The FreeType XFree86 services (specification only). */
|
||||
/* The FreeType font format service (specification only). */
|
||||
/* */
|
||||
/* Copyright 2003 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -16,8 +16,8 @@
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#ifndef __SVXF86NM_H__
|
||||
#define __SVXF86NM_H__
|
||||
#ifndef __SVFNTFMT_H__
|
||||
#define __SVFNTFMT_H__
|
||||
|
||||
#include FT_INTERNAL_SERVICE_H
|
||||
|
||||
@ -31,17 +31,17 @@ FT_BEGIN_HEADER
|
||||
* is a simple constant string pointer.
|
||||
*/
|
||||
|
||||
#define FT_SERVICE_ID_XF86_NAME "xf86-driver-name"
|
||||
#define FT_SERVICE_ID_FONT_FORMAT "font-format"
|
||||
|
||||
#define FT_XF86_FORMAT_TRUETYPE "TrueType"
|
||||
#define FT_XF86_FORMAT_TYPE_1 "Type 1"
|
||||
#define FT_XF86_FORMAT_BDF "BDF"
|
||||
#define FT_XF86_FORMAT_PCF "PCF"
|
||||
#define FT_XF86_FORMAT_TYPE_42 "Type 42"
|
||||
#define FT_XF86_FORMAT_CID "CID Type 1"
|
||||
#define FT_XF86_FORMAT_CFF "CFF"
|
||||
#define FT_XF86_FORMAT_PFR "PFR"
|
||||
#define FT_XF86_FORMAT_WINFNT "Windows FNT"
|
||||
#define FT_FONT_FORMAT_TRUETYPE "TrueType"
|
||||
#define FT_FONT_FORMAT_TYPE_1 "Type 1"
|
||||
#define FT_FONT_FORMAT_BDF "BDF"
|
||||
#define FT_FONT_FORMAT_PCF "PCF"
|
||||
#define FT_FONT_FORMAT_TYPE_42 "Type 42"
|
||||
#define FT_FONT_FORMAT_CID "CID Type 1"
|
||||
#define FT_FONT_FORMAT_CFF "CFF"
|
||||
#define FT_FONT_FORMAT_PFR "PFR"
|
||||
#define FT_FONT_FORMAT_WINFNT "Windows FNT"
|
||||
|
||||
/* */
|
||||
|
||||
@ -49,7 +49,7 @@ FT_BEGIN_HEADER
|
||||
FT_END_HEADER
|
||||
|
||||
|
||||
#endif /* __SVXF86NM_H__ */
|
||||
#endif /* __SVFNTFMT_H__ */
|
||||
|
||||
|
||||
/* END */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType glyph dictionary services (specification). */
|
||||
/* */
|
||||
/* Copyright 2003, 2009, 2012 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType API for validating TrueTypeGX/AAT tables (specification). */
|
||||
/* */
|
||||
/* Copyright 2004, 2005 by */
|
||||
/* Copyright 2004-2015 by */
|
||||
/* Masatake YAMATO, Red Hat K.K., */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType Kerning service (specification). */
|
||||
/* */
|
||||
/* Copyright 2006 by */
|
||||
/* Copyright 2006-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType Multiple Masters and GX var services (specification). */
|
||||
/* */
|
||||
/* Copyright 2003, 2004, 2009, 2012 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType OpenType validation service (specification). */
|
||||
/* */
|
||||
/* Copyright 2004, 2006 by */
|
||||
/* Copyright 2004-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Internal PFR service functions (specification). */
|
||||
/* */
|
||||
/* Copyright 2003, 2006 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType PostScript name services (specification). */
|
||||
/* */
|
||||
/* Copyright 2003, 2007, 2009, 2012 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType property service (specification). */
|
||||
/* */
|
||||
/* Copyright 2012 by */
|
||||
/* Copyright 2012-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType PostScript charmap service (specification). */
|
||||
/* */
|
||||
/* Copyright 2003, 2006, 2009, 2012 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType PostScript info service (specification). */
|
||||
/* */
|
||||
/* Copyright 2003, 2004, 2009, 2011, 2012 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType SFNT table loading service (specification). */
|
||||
/* */
|
||||
/* Copyright 2003, 2004, 2009, 2012 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,10 +4,8 @@
|
||||
/* */
|
||||
/* The FreeType TrueType/sfnt cmap extra information service. */
|
||||
/* */
|
||||
/* Copyright 2003 by */
|
||||
/* Masatake YAMATO, Redhat K.K. */
|
||||
/* */
|
||||
/* Copyright 2003, 2008, 2009, 2012, 2013 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* Masatake YAMATO, Redhat K.K., */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -50,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_
|
||||
{
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType TrueType engine query service (specification). */
|
||||
/* */
|
||||
/* Copyright 2006 by */
|
||||
/* Copyright 2006-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,8 @@
|
||||
/* */
|
||||
/* The FreeType TrueType glyph service. */
|
||||
/* */
|
||||
/* Copyright 2007, 2009, 2012 by David Turner. */
|
||||
/* Copyright 2007-2015 by */
|
||||
/* David Turner. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* The FreeType Windows FNT/FONT service (specification). */
|
||||
/* */
|
||||
/* Copyright 2003 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* High-level `sfnt' driver interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2006, 2009, 2012-2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -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 */
|
@ -5,7 +5,7 @@
|
||||
/* Basic Type1/Type2 type definitions and interface (specification */
|
||||
/* only). */
|
||||
/* */
|
||||
/* Copyright 1996-2004, 2006, 2008, 2009, 2011, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -106,12 +106,12 @@ FT_BEGIN_HEADER
|
||||
|
||||
FT_Int num_subrs;
|
||||
FT_Byte** subrs;
|
||||
FT_PtrDist* subrs_len;
|
||||
FT_UInt* subrs_len;
|
||||
|
||||
FT_Int num_glyphs;
|
||||
FT_String** glyph_names; /* array of glyph names */
|
||||
FT_Byte** charstrings; /* array of glyph charstrings */
|
||||
FT_PtrDist* charstrings_len;
|
||||
FT_UInt* charstrings_len;
|
||||
|
||||
FT_Byte paint_type;
|
||||
FT_Byte font_type;
|
||||
@ -127,7 +127,7 @@ FT_BEGIN_HEADER
|
||||
|
||||
typedef struct CID_SubrsRec_
|
||||
{
|
||||
FT_UInt num_subrs;
|
||||
FT_Int num_subrs;
|
||||
FT_Byte** code;
|
||||
|
||||
} CID_SubrsRec, *CID_Subrs;
|
||||
@ -157,10 +157,10 @@ FT_BEGIN_HEADER
|
||||
|
||||
typedef struct AFM_KernPairRec_
|
||||
{
|
||||
FT_Int index1;
|
||||
FT_Int index2;
|
||||
FT_Int x;
|
||||
FT_Int y;
|
||||
FT_UInt index1;
|
||||
FT_UInt index2;
|
||||
FT_Int x;
|
||||
FT_Int y;
|
||||
|
||||
} AFM_KernPairRec, *AFM_KernPair;
|
||||
|
||||
@ -171,9 +171,9 @@ FT_BEGIN_HEADER
|
||||
FT_Fixed Ascender;
|
||||
FT_Fixed Descender;
|
||||
AFM_TrackKern TrackKerns; /* free if non-NULL */
|
||||
FT_Int NumTrackKern;
|
||||
FT_UInt NumTrackKern;
|
||||
AFM_KernPair KernPairs; /* free if non-NULL */
|
||||
FT_Int NumKernPair;
|
||||
FT_UInt NumKernPair;
|
||||
|
||||
} AFM_FontInfoRec, *AFM_FontInfo;
|
||||
|
@ -5,7 +5,7 @@
|
||||
/* Basic SFNT/TrueType type definitions and interface (specification */
|
||||
/* only). */
|
||||
/* */
|
||||
/* Copyright 1996-2002, 2004-2008, 2012-2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -614,8 +614,7 @@ FT_BEGIN_HEADER
|
||||
/* in use by other platforms (e.g. Newton). */
|
||||
/* For details, please see */
|
||||
/* */
|
||||
/* http://fonts.apple.com/ */
|
||||
/* TTRefMan/RM06/Chap6bloc.html */
|
||||
/* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bloc.html */
|
||||
/* */
|
||||
/* hori :: The line metrics for horizontal layouts. */
|
||||
/* */
|
||||
@ -635,8 +634,7 @@ FT_BEGIN_HEADER
|
||||
/* flags :: Is this a vertical or horizontal strike? For */
|
||||
/* details, please see */
|
||||
/* */
|
||||
/* http://fonts.apple.com/ */
|
||||
/* TTRefMan/RM06/Chap6bloc.html */
|
||||
/* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bloc.html */
|
||||
/* */
|
||||
typedef struct TT_SBit_StrikeRec_
|
||||
{
|
||||
@ -1113,7 +1111,7 @@ FT_BEGIN_HEADER
|
||||
/* This field also contains the associated */
|
||||
/* vertical metrics table (`vmtx'), if found. */
|
||||
/* IMPORTANT: The contents of this field is */
|
||||
/* undefined if the `verticalInfo' field is */
|
||||
/* undefined if the `vertical_info' field is */
|
||||
/* unset. */
|
||||
/* */
|
||||
/* num_names :: The number of name records within this */
|
||||
@ -1440,7 +1438,7 @@ FT_BEGIN_HEADER
|
||||
{
|
||||
FT_Memory memory;
|
||||
FT_UShort max_points;
|
||||
FT_UShort max_contours;
|
||||
FT_Short max_contours;
|
||||
FT_UShort n_points; /* number of points in zone */
|
||||
FT_Short n_contours; /* number of contours */
|
||||
|
||||
@ -1459,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;
|
||||
|
@ -5,7 +5,7 @@
|
||||
/* Basic Type 1/Type 2 tables definitions and interface (specification */
|
||||
/* only). */
|
||||
/* */
|
||||
/* Copyright 1996-2004, 2006, 2008, 2009, 2011, 2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -492,8 +492,9 @@ FT_BEGIN_HEADER
|
||||
* FreeType error code. 0~means success.
|
||||
*
|
||||
* @note:
|
||||
* The string pointers within the font info structure are owned by
|
||||
* the face and don't need to be freed by the caller.
|
||||
* String pointers within the @PS_FontInfoRec structure are owned by
|
||||
* the face and don't need to be freed by the caller. Missing entries
|
||||
* in the font's FontInfo dictionary are represented by NULL pointers.
|
||||
*
|
||||
* If the font's format is not PostScript-based, this function will
|
||||
* return the `FT_Err_Invalid_Argument' error code.
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* TrueType name ID definitions (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2004, 2006-2008, 2012-2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -321,7 +321,7 @@ FT_BEGIN_HEADER
|
||||
/* */
|
||||
/* The canonical source for the Apple assigned Language ID's is at */
|
||||
/* */
|
||||
/* https://developer.apple.com/fonts/TTRefMan/RM06/Chap6name.html */
|
||||
/* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html */
|
||||
/* */
|
||||
#define TT_MAC_LANGID_ENGLISH 0
|
||||
#define TT_MAC_LANGID_FRENCH 1
|
@ -5,7 +5,7 @@
|
||||
/* Basic SFNT/TrueType tables definitions and interface */
|
||||
/* (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2005, 2008-2014 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -371,7 +371,7 @@ FT_BEGIN_HEADER
|
||||
FT_Short xAvgCharWidth;
|
||||
FT_UShort usWeightClass;
|
||||
FT_UShort usWidthClass;
|
||||
FT_Short fsType;
|
||||
FT_UShort fsType;
|
||||
FT_Short ySubscriptXSize;
|
||||
FT_Short ySubscriptYSize;
|
||||
FT_Short ySubscriptXOffset;
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Tags for TrueType and OpenType tables (specification only). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2004, 2005, 2007, 2008, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Definitions for the unpatented TrueType hinting system */
|
||||
/* */
|
||||
/* Copyright 2003, 2006 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* Written by Graham Asher <graham.asher@btinternet.com> */
|
4
src/3rdparty/freetype/include/ft2build.h
vendored
4
src/3rdparty/freetype/include/ft2build.h
vendored
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* FreeType 2 build and setup macros. */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2006, 2013 by */
|
||||
/* Copyright 1996-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -34,7 +34,7 @@
|
||||
#ifndef __FT2BUILD_H__
|
||||
#define __FT2BUILD_H__
|
||||
|
||||
#include <config/ftheader.h>
|
||||
#include <freetype/config/ftheader.h>
|
||||
|
||||
#endif /* __FT2BUILD_H__ */
|
||||
|
||||
|
170
src/3rdparty/freetype/include/ftttdrv.h
vendored
170
src/3rdparty/freetype/include/ftttdrv.h
vendored
@ -1,170 +0,0 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftttdrv.h */
|
||||
/* */
|
||||
/* FreeType API for controlling the TrueType driver */
|
||||
/* (specification only). */
|
||||
/* */
|
||||
/* Copyright 2013 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 __FTTTDRV_H__
|
||||
#define __FTTTDRV_H__
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
#ifdef FREETYPE_H
|
||||
#error "freetype.h of FreeType 1 has been loaded!"
|
||||
#error "Please fix the directory search order for header files"
|
||||
#error "so that freetype.h of FreeType 2 is found first."
|
||||
#endif
|
||||
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @section:
|
||||
* tt_driver
|
||||
*
|
||||
* @title:
|
||||
* The TrueType driver
|
||||
*
|
||||
* @abstract:
|
||||
* Controlling the TrueType driver module.
|
||||
*
|
||||
* @description:
|
||||
* While FreeType's TrueType driver doesn't expose API functions by
|
||||
* itself, it is possible to control its behaviour with @FT_Property_Set
|
||||
* and @FT_Property_Get. The following lists the available properties
|
||||
* together with the necessary macros and structures.
|
||||
*
|
||||
* The TrueType driver's module name is `truetype'.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @property:
|
||||
* interpreter-version
|
||||
*
|
||||
* @description:
|
||||
* Currently, two versions are available, representing the bytecode
|
||||
* interpreter with and without subpixel hinting support,
|
||||
* respectively. The default is subpixel support if
|
||||
* TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel
|
||||
* support otherwise (since it isn't available then).
|
||||
*
|
||||
* If subpixel hinting is on, many TrueType bytecode instructions
|
||||
* behave differently compared to B/W or grayscale rendering. The
|
||||
* main idea is to render at a much increased horizontal resolution,
|
||||
* then sampling down the created output to subpixel precision.
|
||||
* However, many older fonts are not suited to this and must be
|
||||
* specially taken care of by applying (hardcoded) font-specific
|
||||
* tweaks.
|
||||
*
|
||||
* Details on subpixel hinting and some of the necessary tweaks can be
|
||||
* found in Greg Hitchcock's whitepaper at
|
||||
* `http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx'.
|
||||
*
|
||||
* The following example code demonstrates how to activate subpixel
|
||||
* hinting (omitting the error handling).
|
||||
*
|
||||
* {
|
||||
* FT_Library library;
|
||||
* FT_Face face;
|
||||
* FT_UInt interpreter_version = TT_INTERPRETER_VERSION_38;
|
||||
*
|
||||
*
|
||||
* FT_Init_FreeType( &library );
|
||||
*
|
||||
* FT_Property_Set( library, "truetype",
|
||||
* "interpreter-version",
|
||||
* &interpreter_version );
|
||||
* }
|
||||
*
|
||||
* @note:
|
||||
* This property can be used with @FT_Property_Get also.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @enum:
|
||||
* TT_INTERPRETER_VERSION_XXX
|
||||
*
|
||||
* @description:
|
||||
* A list of constants used for the @interpreter-version property to
|
||||
* select the hinting engine for Truetype fonts.
|
||||
*
|
||||
* The numeric value in the constant names represents the version
|
||||
* number as returned by the `GETINFO' bytecode instruction.
|
||||
*
|
||||
* @values:
|
||||
* TT_INTERPRETER_VERSION_35 ::
|
||||
* Version~35 corresponds to MS rasterizer v.1.7 as used e.g. in
|
||||
* Windows~98; only grayscale and B/W rasterizing is supported.
|
||||
*
|
||||
* TT_INTERPRETER_VERSION_38 ::
|
||||
* Version~38 corresponds to MS rasterizer v.1.9; it is roughly
|
||||
* equivalent to the hinting provided by DirectWrite ClearType (as
|
||||
* can be found, for example, in the Internet Explorer~9 running on
|
||||
* Windows~7).
|
||||
*
|
||||
* @note:
|
||||
* This property controls the behaviour of the bytecode interpreter
|
||||
* and thus how outlines get hinted. It does *not* control how glyph
|
||||
* get rasterized! In particular, it does not control subpixel color
|
||||
* filtering.
|
||||
*
|
||||
* If FreeType has not been compiled with configuration option
|
||||
* FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version~38 causes an
|
||||
* `FT_Err_Unimplemented_Feature' error.
|
||||
*
|
||||
* Depending on the graphics framework, Microsoft uses different
|
||||
* bytecode engines. As a consequence, the version numbers returned by
|
||||
* a call to the `GETINFO[1]' bytecode instruction are more convoluted
|
||||
* than desired.
|
||||
*
|
||||
* {
|
||||
* framework Windows version result of GETINFO[1]
|
||||
* ----------------------------------------------------
|
||||
* GDI before XP 35
|
||||
* GDI XP and later 37
|
||||
* GDI+ old before Vista 37
|
||||
* GDI+ old Vista, 7 38
|
||||
* GDI+ after 7 40
|
||||
* DWrite before 8 39
|
||||
* DWrite 8 and later 40
|
||||
* }
|
||||
*
|
||||
* Since FreeType doesn't provide all capabilities of DWrite ClearType,
|
||||
* using version~38 seems justified.
|
||||
*
|
||||
*/
|
||||
#define TT_INTERPRETER_VERSION_35 35
|
||||
#define TT_INTERPRETER_VERSION_38 38
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
|
||||
#endif /* __FTTTDRV_H__ */
|
||||
|
||||
|
||||
/* END */
|
8
src/3rdparty/freetype/src/Jamfile
vendored
8
src/3rdparty/freetype/src/Jamfile
vendored
@ -1,6 +1,6 @@
|
||||
# FreeType 2 src Jamfile
|
||||
#
|
||||
# Copyright 2001, 2002, 2013 by
|
||||
# Copyright 2001-2015 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
@ -11,12 +11,6 @@
|
||||
|
||||
SubDir FT2_TOP $(FT2_SRC_DIR) ;
|
||||
|
||||
# The file <internal/internal.h> is used to define macros that are
|
||||
# later used in #include statements. It needs to be parsed in order to
|
||||
# record these definitions.
|
||||
#
|
||||
HDRMACRO [ FT2_SubDir $(FT2_INCLUDE_DIR) internal internal.h ] ;
|
||||
|
||||
for xx in $(FT2_COMPONENTS)
|
||||
{
|
||||
SubInclude FT2_TOP $(FT2_SRC_DIR) $(xx) ;
|
||||
|
20
src/3rdparty/freetype/src/autofit/Jamfile
vendored
20
src/3rdparty/freetype/src/autofit/Jamfile
vendored
@ -1,6 +1,6 @@
|
||||
# FreeType 2 src/autofit Jamfile
|
||||
#
|
||||
# Copyright 2003, 2004, 2005, 2006, 2007, 2009 by
|
||||
# Copyright 2003-2015 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
@ -17,11 +17,25 @@ SubDir FT2_TOP src autofit ;
|
||||
# define FT2_AUTOFIT2 to enable experimental latin hinter replacement
|
||||
if $(FT2_AUTOFIT2)
|
||||
{
|
||||
DEFINES += FT_OPTION_AUTOFIT2 ;
|
||||
CCFLAGS += FT_OPTION_AUTOFIT2 ;
|
||||
}
|
||||
if $(FT2_MULTI)
|
||||
{
|
||||
_sources = afangles afglobal afhints aflatin afcjk afindic afloader afmodule afdummy afwarp afpic ;
|
||||
_sources = afangles
|
||||
afblue
|
||||
afcjk
|
||||
afdummy
|
||||
afglobal
|
||||
afhints
|
||||
afindic
|
||||
aflatin
|
||||
afloader
|
||||
afmodule
|
||||
afpic
|
||||
afranges
|
||||
afwarp
|
||||
hbshim
|
||||
;
|
||||
|
||||
if $(FT2_AUTOFIT2)
|
||||
{
|
||||
|
4
src/3rdparty/freetype/src/autofit/afangles.c
vendored
4
src/3rdparty/freetype/src/autofit/afangles.c
vendored
@ -5,7 +5,7 @@
|
||||
/* Routines used to compute vector angles with limited accuracy */
|
||||
/* and very high speed. It also contains sorting routines (body). */
|
||||
/* */
|
||||
/* Copyright 2003-2006, 2011-2012 by */
|
||||
/* Copyright 2003-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -259,7 +259,7 @@
|
||||
sum += table[j].org;
|
||||
table[j].org = 0;
|
||||
}
|
||||
table[cur_idx].org = sum / j;
|
||||
table[cur_idx].org = sum / (FT_Pos)j;
|
||||
|
||||
if ( i < *count - 1 )
|
||||
{
|
||||
|
88
src/3rdparty/freetype/src/autofit/afblue.c
vendored
88
src/3rdparty/freetype/src/autofit/afblue.c
vendored
@ -7,7 +7,7 @@
|
||||
/* */
|
||||
/* Auto-fitter data for blue strings (body). */
|
||||
/* */
|
||||
/* Copyright 2013 by */
|
||||
/* Copyright 2013-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -26,6 +26,12 @@
|
||||
af_blue_strings[] =
|
||||
{
|
||||
/* */
|
||||
'\xD8', '\xA7', '\xD8', '\xA5', '\xD9', '\x84', '\xD9', '\x83', '\xD8', '\xB7', '\xD8', '\xB8', /* ا إ ل ك ط ظ */
|
||||
'\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', /* БВЕШЗОСЭ */
|
||||
@ -58,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 */
|
||||
@ -68,9 +84,43 @@
|
||||
'\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', /* అ క చ ర ఽ ౨ ౬ */
|
||||
'\0',
|
||||
'\xE0', '\xB8', '\x9A', '\xE0', '\xB9', '\x80', '\xE0', '\xB9', '\x81', '\xE0', '\xB8', '\xAD', '\xE0', '\xB8', '\x81', '\xE0', '\xB8', '\xB2', /* บ เ แ อ ก า */
|
||||
'\0',
|
||||
'\xE0', '\xB8', '\x9A', '\xE0', '\xB8', '\x9B', '\xE0', '\xB8', '\xA9', '\xE0', '\xB8', '\xAF', '\xE0', '\xB8', '\xAD', '\xE0', '\xB8', '\xA2', '\xE0', '\xB8', '\xAE', /* บ ป ษ ฯ อ ย ฮ */
|
||||
'\0',
|
||||
'\xE0', '\xB8', '\x9B', '\xE0', '\xB8', '\x9D', '\xE0', '\xB8', '\x9F', /* ป ฝ ฟ */
|
||||
'\0',
|
||||
'\xE0', '\xB9', '\x82', '\xE0', '\xB9', '\x83', '\xE0', '\xB9', '\x84', /* โ ใ ไ */
|
||||
'\0',
|
||||
'\xE0', '\xB8', '\x8E', '\xE0', '\xB8', '\x8F', '\xE0', '\xB8', '\xA4', '\xE0', '\xB8', '\xA6', /* ฎ ฏ ฤ ฦ */
|
||||
'\0',
|
||||
'\xE0', '\xB8', '\x8D', '\xE0', '\xB8', '\x90', /* ญ ฐ */
|
||||
'\0',
|
||||
'\xE0', '\xB9', '\x90', '\xE0', '\xB9', '\x91', '\xE0', '\xB9', '\x93', /* ๐ ๑ ๓ */
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
'\0',
|
||||
'\xE4', '\xBB', '\x96', '\xE4', '\xBB', '\xAC', '\xE4', '\xBD', '\xA0', '\xE4', '\xBE', '\x86', '\xE5', '\x80', '\x91', '\xE5', '\x88', '\xB0', '\xE5', '\x92', '\x8C', '\xE5', '\x9C', '\xB0', /* 他们你來們到和地 */
|
||||
@ -121,6 +171,10 @@
|
||||
af_blue_stringsets[] =
|
||||
{
|
||||
/* */
|
||||
{ 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 |
|
||||
@ -149,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 },
|
||||
@ -157,9 +218,34 @@
|
||||
{ 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 },
|
||||
{ AF_BLUE_STRING_THAI_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
|
||||
{ AF_BLUE_STRING_THAI_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_THAI_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_THAI_LARGE_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_THAI_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_THAI_LARGE_DESCENDER, 0 },
|
||||
{ AF_BLUE_STRING_THAI_DIGIT_TOP, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
{ AF_BLUE_STRING_CJK_TOP, AF_BLUE_PROPERTY_CJK_TOP },
|
||||
{ AF_BLUE_STRING_CJK_BOTTOM, 0 },
|
||||
|
2
src/3rdparty/freetype/src/autofit/afblue.cin
vendored
2
src/3rdparty/freetype/src/autofit/afblue.cin
vendored
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Auto-fitter data for blue strings (body). */
|
||||
/* */
|
||||
/* Copyright 2013 by */
|
||||
/* Copyright 2013-2015 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user