[FREETYPE] Sync up to 2.6.0. CORE-10072

svn path=/trunk/; revision=69124
This commit is contained in:
Amine Khaldi 2015-09-08 19:23:01 +00:00
parent ef93914ac3
commit 79125bf7bd
432 changed files with 9463 additions and 7220 deletions

View file

@ -14,6 +14,7 @@ list(APPEND SOURCE
src/base/ftcid.c src/base/ftcid.c
src/base/ftdbgmem.c src/base/ftdbgmem.c
src/base/ftdebug.c src/base/ftdebug.c
src/base/ftfntfmt.c
src/base/ftfstype.c src/base/ftfstype.c
src/base/ftgasp.c src/base/ftgasp.c
src/base/ftgloadr.c src/base/ftgloadr.c
@ -37,7 +38,6 @@ list(APPEND SOURCE
src/base/fttype1.c src/base/fttype1.c
src/base/ftutil.c src/base/ftutil.c
src/base/ftwinfnt.c src/base/ftwinfnt.c
src/base/ftxf86.c
src/bdf/bdf.c src/bdf/bdf.c
src/bzip2/ftbzip2.c src/bzip2/ftbzip2.c
src/cache/ftcache.c src/cache/ftcache.c

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
FreeType 2.5.5 FreeType 2.6
============== ============
Homepage: http://www.freetype.org Homepage: http://www.freetype.org
@ -24,9 +24,9 @@
and download one of the following files. and download one of the following files.
freetype-doc-2.5.5.tar.bz2 freetype-doc-2.6.tar.bz2
freetype-doc-2.5.5.tar.gz freetype-doc-2.6.tar.gz
ftdoc255.zip ftdoc26.zip
To view the documentation online, go to To view the documentation online, go to
@ -70,7 +70,7 @@
---------------------------------------------------------------------- ----------------------------------------------------------------------
Copyright 2006-2014 by Copyright 2006-2015 by
David Turner, Robert Wilhelm, and Werner Lemberg. David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, This file is part of the FreeType project, and may only be used,

View file

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# Copyright 2005-2010, 2013 by # Copyright 2005-2015 by
# David Turner, Robert Wilhelm, and Werner Lemberg. # David Turner, Robert Wilhelm, and Werner Lemberg.
# #
# This file is part of the FreeType project, and may only be used, modified, # This file is part of the FreeType project, and may only be used, modified,

View file

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# #
# Copyright 2002-2006, 2008-2010, 2013 by # Copyright 2002-2015 by
# David Turner, Robert Wilhelm, and Werner Lemberg. # David Turner, Robert Wilhelm, and Werner Lemberg.
# #
# This file is part of the FreeType project, and may only be used, modified, # This file is part of the FreeType project, and may only be used, modified,

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType 2 build and setup macros (development version). */ /* FreeType 2 build and setup macros (development version). */
/* */ /* */
/* Copyright 1996-2001, 2003, 2006, 2013 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* User-selectable configuration macros (specification only). */ /* User-selectable configuration macros (specification only). */
/* */ /* */
/* Copyright 1996-2014 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -378,10 +378,6 @@ FT_BEGIN_HEADER
/* The size in bytes of the render pool used by the scan-line converter */ /* The size in bytes of the render pool used by the scan-line converter */
/* to do all of its work. */ /* 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 #define FT_RENDER_POOL_SIZE 16384L
@ -435,6 +431,8 @@ FT_BEGIN_HEADER
/* af_glyph_hints_dump_points */ /* af_glyph_hints_dump_points */
/* af_glyph_hints_dump_segments */ /* af_glyph_hints_dump_segments */
/* af_glyph_hints_dump_edges */ /* 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: */ /* 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_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 */ /* Define TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED to compile the */
@ -684,7 +669,7 @@ FT_BEGIN_HEADER
/* fonts will not have them. */ /* fonts will not have them. */
/* */ /* */
/* http://www.microsoft.com/typography/otspec/glyf.htm */ /* 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 #undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
@ -835,8 +820,10 @@ FT_BEGIN_HEADER
/* grid. To find out the optimal scaling and shifting value, various */ /* grid. To find out the optimal scaling and shifting value, various */
/* parameter combinations are tried and scored. */ /* parameter combinations are tried and scored. */
/* */ /* */
/* This experimental option is only active if the render mode is */ /* This experimental option is active only if the rendering mode is */
/* FT_RENDER_MODE_LIGHT. */ /* 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

View file

@ -1,11 +1,135 @@
Index: src/base/ftbitmap.c diff -prudN e:\freetype-2.6\src/autofit/afcjk.c e:\reactos\lib\3rdparty\freetype\src/autofit/afcjk.c
=================================================================== --- e:\freetype-2.6\src/autofit/afcjk.c 2015-04-20 21:52:41 +0100
--- src/base/ftbitmap.c (Revision 51535) +++ e:\reactos\lib\3rdparty\freetype\src/autofit/afcjk.c 2015-09-07 22:38:13 +0100
+++ src/base/ftbitmap.c (Arbeitskopie) @@ -71,7 +71,11 @@
@@ -451,15 +451,15 @@ FT_Face face )
{
/* scan the array of segments in each direction */
+#ifdef __REACTOS__
+ AF_GlyphHintsRec *hints = malloc(sizeof(AF_GlyphHintsRec));
+#else
AF_GlyphHintsRec hints[1];
+#endif
FT_TRACE5(( "\n"
@@ -90,7 +94,11 @@
FT_ULong glyph_index;
FT_Long y_offset;
int dim;
+#ifdef __REACTOS__
+ AF_CJKMetricsRec *dummy = malloc(sizeof(AF_CJKMetricsRec));
+#else
AF_CJKMetricsRec dummy[1];
+#endif
AF_Scaler scaler = &dummy->root.scaler;
#ifdef FT_CONFIG_OPTION_PIC
@@ -243,11 +251,18 @@
}
#endif
}
+#ifdef __REACTOS__
+ free(dummy);
+#endif
}
FT_TRACE5(( "\n" ));
af_glyph_hints_done( hints );
+
+#ifdef __REACTOS__
+ free(hints);
+#endif
}
diff -prudN e:\freetype-2.6\src/autofit/aflatin.c e:\reactos\lib\3rdparty\freetype\src/autofit/aflatin.c
--- e:\freetype-2.6\src/autofit/aflatin.c 2015-04-20 21:52:58 +0100
+++ e:\reactos\lib\3rdparty\freetype\src/autofit/aflatin.c 2015-09-08 11:08:25 +0100
@@ -58,7 +58,11 @@
FT_Face face )
{
/* scan the array of segments in each direction */
+#ifdef __REACTOS__
+ AF_GlyphHintsRec *hints = malloc(sizeof(AF_GlyphHintsRec));
+#else
AF_GlyphHintsRec hints[1];
+#endif
FT_TRACE5(( "\n"
@@ -77,7 +81,11 @@
FT_ULong glyph_index;
FT_Long y_offset;
int dim;
+#ifdef __REACTOS__
+ AF_LatinMetricsRec *dummy = malloc(sizeof(AF_LatinMetricsRec));
+#else
AF_LatinMetricsRec dummy[1];
+#endif
AF_Scaler scaler = &dummy->root.scaler;
#ifdef FT_CONFIG_OPTION_PIC
@@ -243,11 +251,19 @@
}
#endif
}
+#ifdef __REACTOS__
+ free(dummy);
+#endif
}
FT_TRACE5(( "\n" ));
af_glyph_hints_done( hints );
+
+#ifdef __REACTOS__
+ free(hints);
+#endif
+
}
diff -prudN e:\freetype-2.6\src/autofit/afmodule.c e:\reactos\lib\3rdparty\freetype\src/autofit/afmodule.c
--- e:\freetype-2.6\src/autofit/afmodule.c 2015-06-07 05:44:38 +0100
+++ e:\reactos\lib\3rdparty\freetype\src/autofit/afmodule.c 2015-09-07 20:58:52 +0100
@@ -351,9 +351,13 @@
return error;
#else /* !FT_DEBUG_AUTOFIT */
-
+#ifdef __REACTOS__
+ AF_GlyphHintsRec *hints = malloc(sizeof(AF_GlyphHintsRec));
+ AF_LoaderRec *loader = malloc(sizeof(AF_LoaderRec));
+#else
AF_GlyphHintsRec hints[1];
AF_LoaderRec loader[1];
+#endif
FT_UNUSED( size );
@@ -367,6 +371,11 @@
af_loader_done( loader );
af_glyph_hints_done( hints );
+#ifdef __REACTOS__
+ free(hints);
+ free(loader);
+#endif
+
return error;
#endif /* !FT_DEBUG_AUTOFIT */
diff -prudN e:\freetype-2.6\src/base/ftbitmap.c e:\reactos\lib\3rdparty\freetype\src/base/ftbitmap.c
--- e:\freetype-2.6\src/base/ftbitmap.c 2015-03-11 06:47:11 +0100
+++ e:\reactos\lib\3rdparty\freetype\src/base/ftbitmap.c 2015-09-07 17:20:37 +0100
@@ -577,7 +577,16 @@
{ {
FT_Int val = ss[0]; /* avoid a byte->int cast on each line */ FT_Int val = ss[0]; /* avoid a byte->int cast on each line */
-
+#ifdef __REACTOS__
+ tt[0] = (FT_Byte)( ( val & 0x80 ) ? 0xff : 0); + tt[0] = (FT_Byte)( ( val & 0x80 ) ? 0xff : 0);
+ tt[1] = (FT_Byte)( ( val & 0x40 ) ? 0xff : 0); + tt[1] = (FT_Byte)( ( val & 0x40 ) ? 0xff : 0);
+ tt[2] = (FT_Byte)( ( val & 0x20 ) ? 0xff : 0); + tt[2] = (FT_Byte)( ( val & 0x20 ) ? 0xff : 0);
@ -14,24 +138,336 @@ Index: src/base/ftbitmap.c
+ tt[5] = (FT_Byte)( ( val & 0x04 ) ? 0xff : 0); + tt[5] = (FT_Byte)( ( val & 0x04 ) ? 0xff : 0);
+ tt[6] = (FT_Byte)( ( val & 0x02 ) ? 0xff : 0); + tt[6] = (FT_Byte)( ( val & 0x02 ) ? 0xff : 0);
+ tt[7] = (FT_Byte)( ( val & 0x01 ) ? 0xff : 0); + tt[7] = (FT_Byte)( ( val & 0x01 ) ? 0xff : 0);
+#else
- tt[0] = (FT_Byte)( ( val & 0x80 ) >> 7 ); tt[0] = (FT_Byte)( ( val & 0x80 ) >> 7 );
- tt[1] = (FT_Byte)( ( val & 0x40 ) >> 6 ); tt[1] = (FT_Byte)( ( val & 0x40 ) >> 6 );
- tt[2] = (FT_Byte)( ( val & 0x20 ) >> 5 ); tt[2] = (FT_Byte)( ( val & 0x20 ) >> 5 );
- tt[3] = (FT_Byte)( ( val & 0x10 ) >> 4 ); @@ -586,6 +595,7 @@
- tt[4] = (FT_Byte)( ( val & 0x08 ) >> 3 ); tt[5] = (FT_Byte)( ( val & 0x04 ) >> 2 );
- tt[5] = (FT_Byte)( ( val & 0x04 ) >> 2 ); tt[6] = (FT_Byte)( ( val & 0x02 ) >> 1 );
- tt[6] = (FT_Byte)( ( val & 0x02 ) >> 1 ); tt[7] = (FT_Byte)( val & 0x01 );
- tt[7] = (FT_Byte)( val & 0x01 ); +#endif
tt += 8; tt += 8;
ss += 1; ss += 1;
@@ -474,7 +474,7 @@ @@ -600,7 +610,11 @@
for ( ; j > 0; j-- ) for ( ; j > 0; j-- )
{ {
- tt[0] = (FT_Byte)( ( val & 0x80 ) >> 7); +#ifdef __REACTOS__
+ tt[0] = (FT_Byte)( ( val & 0x80 ) ? 0xff : 0); + tt[0] = (FT_Byte)( ( val & 0x80 ) ? 0xff : 0);
+#else
tt[0] = (FT_Byte)( ( val & 0x80 ) >> 7);
+#endif
val <<= 1; val <<= 1;
tt += 1; tt += 1;
} }
diff -prudN e:\freetype-2.6\src/cff/cf2intrp.c e:\reactos\lib\3rdparty\freetype\src/cff/cf2intrp.c
--- e:\freetype-2.6\src/cff/cf2intrp.c 2015-05-12 06:22:36 +0100
+++ e:\reactos\lib\3rdparty\freetype\src/cff/cf2intrp.c 2015-09-08 10:46:46 +0100
@@ -463,7 +463,13 @@
CF2_ArrStackRec vStemHintArray;
CF2_HintMaskRec hintMask;
+#ifdef __REACTOS__
+ CF2_GlyphPathRec *glyphPath = malloc(sizeof(CF2_GlyphPathRec));
+/* Ugly but it allows us to reduce the diff */
+#define glyphPath (*glyphPath)
+#else
CF2_GlyphPathRec glyphPath;
+#endif
/* initialize the remaining objects */
@@ -1197,7 +1203,13 @@
* discard `counterMask' and `counterHintMap'.
*
*/
+#ifdef __REACTOS__
+ CF2_HintMapRec *counterHintMap = malloc(sizeof(CF2_HintMapRec));
+/* Ugly but it allows us to reduce the diff */
+#define counterHintMap (*counterHintMap)
+#else
CF2_HintMapRec counterHintMap;
+#endif
CF2_HintMaskRec counterMask;
@@ -1218,6 +1230,9 @@
&counterMask,
0,
FALSE );
+#ifdef __REACTOS__
+ free(&counterHintMap);
+#endif
}
break;
@@ -1564,6 +1579,12 @@
FT_TRACE4(( "\n" ));
+#ifdef __REACTOS__
+ free(&glyphPath);
+#undef counterHintMap
+#undef glyphPath
+#endif
+
return;
}
diff -prudN e:\freetype-2.6\src/cid/cidgload.c e:\reactos\lib\3rdparty\freetype\src/cid/cidgload.c
--- e:\freetype-2.6\src/cid/cidgload.c 2015-04-16 06:02:23 +0100
+++ e:\reactos\lib\3rdparty\freetype\src/cid/cidgload.c 2015-09-08 10:59:15 +0100
@@ -273,7 +273,13 @@
{
CID_GlyphSlot glyph = (CID_GlyphSlot)cidglyph;
FT_Error error;
+#ifdef __REACTOS__
+ T1_DecoderRec *decoder = malloc(sizeof(T1_DecoderRec));
+/* Ugly but it allows us to reduce the diff */
+#define decoder (*decoder)
+#else
T1_DecoderRec decoder;
+#endif
CID_Face face = (CID_Face)cidglyph->face;
FT_Bool hinting;
@@ -435,6 +441,10 @@
}
Exit:
+#ifdef __REACTOS__
+ free(&decoder);
+#undef decoder
+#endif
return error;
}
diff -prudN e:\freetype-2.6\src/raster/ftraster.c e:\reactos\lib\3rdparty\freetype\src/raster/ftraster.c
--- e:\freetype-2.6\src/raster/ftraster.c 2015-06-02 10:21:17 +0100
+++ e:\reactos\lib\3rdparty\freetype\src/raster/ftraster.c 2015-09-08 11:09:33 +0100
@@ -3136,9 +3136,15 @@
const FT_Outline* outline = (const FT_Outline*)params->source;
const FT_Bitmap* target_map = params->target;
+#ifdef __REACTOS__
+ FT_Error ret;
+ black_TWorker *worker;
+ Long *buffer;
+#else
black_TWorker worker[1];
Long buffer[FT_MAX( FT_RENDER_POOL_SIZE, 2048 ) / sizeof ( Long )];
+#endif
if ( !raster )
@@ -3175,13 +3181,29 @@
if ( !target_map->buffer )
return FT_THROW( Invalid );
+#ifdef __REACTOS__
+ worker = malloc(sizeof(black_TWorker));
+ buffer = malloc(FT_MAX(FT_RENDER_POOL_SIZE, 2048));
+#endif
+
ras.outline = *outline;
ras.target = *target_map;
worker->buff = buffer;
+#ifdef __REACTOS__
+ worker->sizeBuff = buffer + (FT_MAX(FT_RENDER_POOL_SIZE, 2048) / sizeof(Long));
+#else
worker->sizeBuff = (&buffer)[1]; /* Points to right after buffer. */
+#endif
+#ifdef __REACTOS__
+ ret = Render_Glyph(RAS_VAR);
+ free(worker);
+ free(buffer);
+ return ret;
+#else
return Render_Glyph( RAS_VAR );
+#endif
}
diff -prudN e:\freetype-2.6\src/smooth/ftgrays.c e:\reactos\lib\3rdparty\freetype\src/smooth/ftgrays.c
--- e:\freetype-2.6\src/smooth/ftgrays.c 2015-03-11 06:47:11 +0100
+++ e:\reactos\lib\3rdparty\freetype\src/smooth/ftgrays.c 2015-09-08 09:57:56 +0100
@@ -1940,10 +1940,17 @@ typedef ptrdiff_t FT_PtrDist;
const FT_Outline* outline = (const FT_Outline*)params->source;
const FT_Bitmap* target_map = params->target;
+#ifdef __REACTOS__
+ gray_TWorker *worker;
+ int ret;
+ TCell *buffer;
+ long buffer_size = FT_MAX(FT_RENDER_POOL_SIZE, 2048);
+#else
gray_TWorker worker[1];
TCell buffer[FT_MAX( FT_RENDER_POOL_SIZE, 2048 ) / sizeof ( TCell )];
long buffer_size = sizeof ( buffer );
+#endif
int band_size = (int)( buffer_size /
(long)( sizeof ( TCell ) * 8 ) );
@@ -1983,6 +1990,10 @@ typedef ptrdiff_t FT_PtrDist;
if ( !( params->flags & FT_RASTER_FLAG_AA ) )
return FT_THROW( Invalid_Mode );
+#ifdef __REACTOS__
+ worker = malloc(sizeof(gray_TWorker));
+#endif
+
/* compute clipping box */
if ( !( params->flags & FT_RASTER_FLAG_DIRECT ) )
{
@@ -2002,6 +2013,10 @@ typedef ptrdiff_t FT_PtrDist;
ras.clip_box.yMax = 32767L;
}
+#ifdef __REACTOS__
+ buffer = malloc(buffer_size);
+#endif
+
gray_init_cells( RAS_VAR_ buffer, buffer_size );
ras.outline = *outline;
@@ -2023,7 +2038,14 @@ typedef ptrdiff_t FT_PtrDist;
ras.render_span_data = &ras;
}
+#ifdef __REACTOS__
+ ret = gray_convert_glyph(RAS_VAR);
+ free(worker);
+ free(buffer);
+ return ret;
+#else
return gray_convert_glyph( RAS_VAR );
+#endif
}
diff -prudN e:\freetype-2.6\src/type1/t1gload.c e:\reactos\lib\3rdparty\freetype\src/type1/t1gload.c
--- e:\freetype-2.6\src/type1/t1gload.c 2015-04-13 17:14:02 +0100
+++ e:\reactos\lib\3rdparty\freetype\src/type1/t1gload.c 2015-09-08 10:55:18 +0100
@@ -154,7 +154,13 @@
FT_Pos* max_advance )
{
FT_Error error;
+#ifdef __REACTOS__
+ T1_DecoderRec *decoder = malloc(sizeof(T1_DecoderRec));
+/* Ugly but it allows us to reduce the diff */
+#define decoder (*decoder)
+#else
T1_DecoderRec decoder;
+#endif
FT_Int glyph_index;
T1_Font type1 = &face->type1;
PSAux_Service psaux = (PSAux_Service)face->psaux;
@@ -175,7 +181,14 @@
FT_RENDER_MODE_NORMAL,
T1_Parse_Glyph );
if ( error )
+#ifdef __REACTOS__
+ {
+ free(&decoder);
+ return error;
+ }
+#else
return error;
+#endif
decoder.builder.metrics_only = 1;
decoder.builder.load_points = 0;
@@ -202,7 +215,10 @@
}
psaux->t1_decoder_funcs->done( &decoder );
-
+#ifdef __REACTOS__
+ free(&decoder);
+#undef decoder
+#endif
return FT_Err_Ok;
}
@@ -215,7 +231,13 @@
FT_Fixed* advances )
{
T1_Face face = (T1_Face)t1face;
+#ifdef __REACTOS__
+ T1_DecoderRec *decoder = malloc(sizeof(T1_DecoderRec));
+/* Ugly but it allows us to reduce the diff */
+#define decoder (*decoder)
+#else
T1_DecoderRec decoder;
+#endif
T1_Font type1 = &face->type1;
PSAux_Service psaux = (PSAux_Service)face->psaux;
FT_UInt nn;
@@ -227,6 +249,9 @@
for ( nn = 0; nn < count; nn++ )
advances[nn] = 0;
+#ifdef __REACTOS__
+ free(&decoder);
+#endif
return FT_Err_Ok;
}
@@ -240,7 +265,14 @@
FT_RENDER_MODE_NORMAL,
T1_Parse_Glyph );
if ( error )
+#ifdef __REACTOS__
+ {
+ free(&decoder);
+ return error;
+ }
+#else
return error;
+#endif
decoder.builder.metrics_only = 1;
decoder.builder.load_points = 0;
@@ -260,7 +292,10 @@
else
advances[nn] = 0;
}
-
+#ifdef __REACTOS__
+ free(&decoder);
+#undef decoder
+#endif
return FT_Err_Ok;
}
@@ -273,7 +308,13 @@
{
T1_GlyphSlot glyph = (T1_GlyphSlot)t1glyph;
FT_Error error;
+#ifdef __REACTOS__
+ T1_DecoderRec *decoder = malloc(sizeof(T1_DecoderRec));
+/* Ugly but it allows us to reduce the diff */
+#define decoder (*decoder)
+#else
T1_DecoderRec decoder;
+#endif
T1_Face face = (T1_Face)t1glyph->face;
FT_Bool hinting;
T1_Font type1 = &face->type1;
@@ -512,6 +553,10 @@
if ( must_finish_decoder )
decoder_funcs->done( &decoder );
+#ifdef __REACTOS__
+ free(&decoder);
+#undef decoder
+#endif
return error;
}

View file

@ -4,7 +4,7 @@
/* */ /* */
/* ANSI-specific configuration file (specification only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -319,11 +319,28 @@ FT_BEGIN_HEADER
#endif #endif
/*************************************************************************/
/* */
/* miscellaneous */
/* */
/*************************************************************************/
#define FT_BEGIN_STMNT do { #define FT_BEGIN_STMNT do {
#define FT_END_STMNT } while ( 0 ) #define FT_END_STMNT } while ( 0 )
#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT #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 TYPEOF( type ) (__typeof__ (type))
#else
#define TYPEOF( type ) /* empty */
#endif
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT #ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define FT_LOCAL( x ) static x #define FT_LOCAL( x ) static x

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Build macros of the FreeType 2 library. */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -710,14 +710,16 @@
/************************************************************************* /*************************************************************************
* *
* @macro: * @macro:
* FT_XFREE86_H * FT_FONT_FORMATS_H
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType~2 API which provides functions specific to the XFree86 and * FreeType~2 API which provides functions specific to font formats.
* X.Org X11 servers.
*/ */
#define FT_XFREE86_H <ftxf86.h> #define FT_FONT_FORMATS_H <ftfntfmt.h>
/* deprecated */
#define FT_XFREE86_H FT_FONT_FORMATS_H
/************************************************************************* /*************************************************************************

View file

@ -4,7 +4,7 @@
/* */ /* */
/* User-selectable configuration macros (specification only). */ /* User-selectable configuration macros (specification only). */
/* */ /* */
/* Copyright 1996-2014 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -378,10 +378,6 @@ FT_BEGIN_HEADER
/* The size in bytes of the render pool used by the scan-line converter */ /* The size in bytes of the render pool used by the scan-line converter */
/* to do all of its work. */ /* 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 #define FT_RENDER_POOL_SIZE 16384L
@ -435,6 +431,8 @@ FT_BEGIN_HEADER
/* af_glyph_hints_dump_points */ /* af_glyph_hints_dump_points */
/* af_glyph_hints_dump_segments */ /* af_glyph_hints_dump_segments */
/* af_glyph_hints_dump_edges */ /* 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: */ /* 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_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 */ /* Define TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED to compile the */
@ -684,7 +669,7 @@ FT_BEGIN_HEADER
/* fonts will not have them. */ /* fonts will not have them. */
/* */ /* */
/* http://www.microsoft.com/typography/otspec/glyf.htm */ /* 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 #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 */ /* grid. To find out the optimal scaling and shifting value, various */
/* parameter combinations are tried and scored. */ /* parameter combinations are tried and scored. */
/* */ /* */
/* This experimental option is only active if the render mode is */ /* This experimental option is active only if the rendering mode is */
/* FT_RENDER_MODE_LIGHT. */ /* 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
/* */ /* */

View file

@ -5,7 +5,7 @@
/* ANSI-specific library and header configuration file (specification */ /* ANSI-specific library and header configuration file (specification */
/* only). */ /* only). */
/* */ /* */
/* Copyright 2002-2007, 2009, 2011-2012 by */ /* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -141,8 +141,7 @@
/**********************************************************************/ /**********************************************************************/
#define ft_atol atol #define ft_atol atol
#define ft_labs labs
/**********************************************************************/ /**********************************************************************/

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType high-level API and common types (specification only). */ /* FreeType high-level API and common types (specification only). */
/* */ /* */
/* Copyright 1996-2014 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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 */ /* It also embeds a memory manager (see @FT_Memory), as well as a */
/* scan-line converter object (see @FT_Raster). */ /* scan-line converter object (see @FT_Raster). */
/* */ /* */
/* In multi-threaded applications, make sure that the same FT_Library */ /* In multi-threaded applications it is easiest to use one */
/* object or any of its children doesn't get accessed in parallel. */ /* `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> */ /* <Note> */
/* Library objects are normally created by @FT_Init_FreeType, and */ /* 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). */ /* 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> */ /* <Also> */
/* See @FT_FaceRec for the publicly accessible fields of a given face */ /* See @FT_FaceRec for the publicly accessible fields of a given face */
/* object. */ /* object. */
@ -631,9 +642,13 @@ FT_BEGIN_HEADER
/* */ /* */
/* FT_ENCODING_MS_SYMBOL :: */ /* FT_ENCODING_MS_SYMBOL :: */
/* Corresponds to the Microsoft Symbol encoding, used to encode */ /* Corresponds to the Microsoft Symbol encoding, used to encode */
/* mathematical symbols in the 32..255 character code range. For */ /* mathematical symbols and wingdings. For more information, see */
/* more information, see */ /* `http://www.microsoft.com/typography/otspec/recom.htm', */
/* `http://www.kostis.net/charsets/symbol.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 :: */ /* FT_ENCODING_SJIS :: */
/* Corresponds to Japanese SJIS encoding. More info at */ /* Corresponds to Japanese SJIS encoding. More info at */
@ -651,7 +666,7 @@ FT_BEGIN_HEADER
/* FT_ENCODING_WANSUNG :: */ /* FT_ENCODING_WANSUNG :: */
/* Corresponds to the Korean encoding system known as Wansung. */ /* Corresponds to the Korean encoding system known as Wansung. */
/* For more information see */ /* For more information see */
/* `http://msdn.microsoft.com/en-US/goglobal/cc305154'. */ /* `https://msdn.microsoft.com/en-US/goglobal/cc305154'. */
/* */ /* */
/* FT_ENCODING_JOHAB :: */ /* FT_ENCODING_JOHAB :: */
/* The Korean standard character set (KS~C 5601-1992), which */ /* The Korean standard character set (KS~C 5601-1992), which */
@ -893,6 +908,11 @@ FT_BEGIN_HEADER
/* Can be NULL (e.g., in fonts embedded in a */ /* Can be NULL (e.g., in fonts embedded in a */
/* PDF file). */ /* 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 */ /* style_name :: The face's style name. This is an ASCII */
/* string, usually in English, that describes */ /* string, usually in English, that describes */
/* the typeface's style (like `Italic', */ /* the typeface's style (like `Italic', */
@ -1140,7 +1160,7 @@ FT_BEGIN_HEADER
/* TrueType bytecode instructions to move and scale all of its */ /* TrueType bytecode instructions to move and scale all of its */
/* subglyphs. */ /* 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_FORCE_AUTOHINT; it will also ignore */
/* @FT_LOAD_NO_HINTING. You have to set both @FT_LOAD_NO_HINTING */ /* @FT_LOAD_NO_HINTING. You have to set both @FT_LOAD_NO_HINTING */
/* and @FT_LOAD_NO_AUTOHINT to really disable hinting; however, you */ /* and @FT_LOAD_NO_AUTOHINT to really disable hinting; however, you */
@ -1649,11 +1669,11 @@ FT_BEGIN_HEADER
/* needs to know about the image format. */ /* needs to know about the image format. */
/* */ /* */
/* lsb_delta :: The difference between hinted and unhinted */ /* lsb_delta :: The difference between hinted and unhinted */
/* left side bearing while autohinting is */ /* left side bearing while auto-hinting is */
/* active. Zero otherwise. */ /* active. Zero otherwise. */
/* */ /* */
/* rsb_delta :: The difference between hinted and unhinted */ /* rsb_delta :: The difference between hinted and unhinted */
/* right side bearing while autohinting is */ /* right side bearing while auto-hinting is */
/* active. Zero otherwise. */ /* active. Zero otherwise. */
/* */ /* */
/* <Note> */ /* <Note> */
@ -1676,7 +1696,7 @@ FT_BEGIN_HEADER
/* `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP. */ /* `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP. */
/* */ /* */
/* <Note> */ /* <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': */ /* `lsb_delta' and `rsb_delta': */
/* */ /* */
/* { */ /* { */
@ -1769,8 +1789,8 @@ FT_BEGIN_HEADER
/* use @FT_New_Library instead, followed by a call to */ /* use @FT_New_Library instead, followed by a call to */
/* @FT_Add_Default_Modules (or a series of calls to @FT_Add_Module). */ /* @FT_Add_Default_Modules (or a series of calls to @FT_Add_Module). */
/* */ /* */
/* For multi-threading applications each thread should have its own */ /* See the documentation of @FT_Library and @FT_Face for */
/* FT_Library object. */ /* multi-threading issues. */
/* */ /* */
/* If you need reference-counting (cf. @FT_Reference_Library), use */ /* If you need reference-counting (cf. @FT_Reference_Library), use */
/* @FT_New_Library and @FT_Done_Library. */ /* @FT_New_Library and @FT_Done_Library. */
@ -3398,8 +3418,9 @@ FT_BEGIN_HEADER
/* @FT_Get_FSType_Flags; they inform client applications of embedding */ /* @FT_Get_FSType_Flags; they inform client applications of embedding */
/* and subsetting restrictions associated with a font. */ /* and subsetting restrictions associated with a font. */
/* */ /* */
/* See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for */ /* See */
/* more details. */ /* http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/FontPolicies.pdf */
/* for more details. */
/* */ /* */
/* <Values> */ /* <Values> */
/* FT_FSTYPE_INSTALLABLE_EMBEDDING :: */ /* FT_FSTYPE_INSTALLABLE_EMBEDDING :: */
@ -3936,8 +3957,8 @@ FT_BEGIN_HEADER
* *
*/ */
#define FREETYPE_MAJOR 2 #define FREETYPE_MAJOR 2
#define FREETYPE_MINOR 5 #define FREETYPE_MINOR 6
#define FREETYPE_PATCH 5 #define FREETYPE_PATCH 0
/*************************************************************************/ /*************************************************************************/

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType 2 build and setup macros. */ /* FreeType 2 build and setup macros. */
/* */ /* */
/* Copyright 1996-2001, 2006, 2013 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Quick computation of advance widths (specification only). */ /* Quick computation of advance widths (specification only). */
/* */ /* */
/* Copyright 2008, 2013, 2014 by */ /* Copyright 2008-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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 */ /* and hinting of the glyph outline, are extremely slow by */
/* comparison. */ /* comparison. */
/* */ /* */
#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000UL #define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000L
/*************************************************************************/ /*************************************************************************/

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType API for controlling the auto-hinter (specification only). */ /* FreeType API for controlling the auto-hinter (specification only). */
/* */ /* */
/* Copyright 2012, 2013 by */ /* Copyright 2012-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -300,7 +300,7 @@ FT_BEGIN_HEADER
* @description: * @description:
* *Experimental* *only* * *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 * the HarfBuzz library access OpenType features for getting better
* glyph coverages, this property sets the (auto-fitter) script to be * glyph coverages, this property sets the (auto-fitter) script to be
* used for the default (OpenType) script data of a font's GSUB table. * used for the default (OpenType) script data of a font's GSUB table.
@ -391,6 +391,54 @@ FT_BEGIN_HEADER
} FT_Prop_IncreaseXHeight; } 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.
*
*/
/* */ /* */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType exact bbox computation (specification). */ /* FreeType exact bbox computation (specification). */
/* */ /* */
/* Copyright 1996-2001, 2003, 2007, 2011, 2013 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType API for accessing BDF-specific strings (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType utility functions for bitmaps (specification). */ /* FreeType utility functions for bitmaps (specification). */
/* */ /* */
/* Copyright 2004-2006, 2008, 2013, 2014 by */ /* Copyright 2004-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -55,7 +55,7 @@ FT_BEGIN_HEADER
/*************************************************************************/ /*************************************************************************/
/* */ /* */
/* <Function> */ /* <Function> */
/* FT_Bitmap_New */ /* FT_Bitmap_Init */
/* */ /* */
/* <Description> */ /* <Description> */
/* Initialize a pointer to an @FT_Bitmap structure. */ /* Initialize a pointer to an @FT_Bitmap structure. */
@ -63,6 +63,14 @@ FT_BEGIN_HEADER
/* <InOut> */ /* <InOut> */
/* abitmap :: A pointer to the bitmap structure. */ /* 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_EXPORT( void )
FT_Bitmap_New( FT_Bitmap *abitmap ); FT_Bitmap_New( FT_Bitmap *abitmap );
@ -202,7 +210,7 @@ FT_BEGIN_HEADER
/* FT_Bitmap_Done */ /* FT_Bitmap_Done */
/* */ /* */
/* <Description> */ /* <Description> */
/* Destroy a bitmap object created with @FT_Bitmap_New. */ /* Destroy a bitmap object initialized with @FT_Bitmap_Init. */
/* */ /* */
/* <Input> */ /* <Input> */
/* library :: A handle to a library object. */ /* library :: A handle to a library object. */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Bzip2-compressed stream support. */ /* Bzip2-compressed stream support. */
/* */ /* */
/* Copyright 2010 by */ /* Copyright 2010-2015 by */
/* Joel Klinghed. */ /* Joel Klinghed. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType Cache subsystem (specification). */ /* FreeType Cache subsystem (specification). */
/* */ /* */
/* Copyright 1996-2008, 2010, 2013, 2014 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -667,8 +667,8 @@ FT_BEGIN_HEADER
typedef struct FTC_ImageTypeRec_ typedef struct FTC_ImageTypeRec_
{ {
FTC_FaceID face_id; FTC_FaceID face_id;
FT_Int width; FT_UInt width;
FT_Int height; FT_UInt height;
FT_Int32 flags; FT_Int32 flags;
} FTC_ImageTypeRec; } FTC_ImageTypeRec;

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType API for controlling the CFF driver (specification only). */ /* FreeType API for controlling the CFF driver (specification only). */
/* */ /* */
/* Copyright 2013, 2014 by */ /* Copyright 2013-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,8 @@
/* */ /* */
/* FreeType API for accessing CID font information (specification). */ /* 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, */ /* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */ /* modified, and distributed under the terms of the FreeType project */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType error codes (specification). */ /* FreeType error codes (specification). */
/* */ /* */
/* Copyright 2002, 2004, 2006, 2007, 2010-2013 by */ /* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType error code handling (specification). */ /* FreeType error code handling (specification). */
/* */ /* */
/* Copyright 1996-2002, 2004, 2007, 2013 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -16,8 +16,8 @@
/***************************************************************************/ /***************************************************************************/
#ifndef __FTXF86_H__ #ifndef __FTFNTFMT_H__
#define __FTXF86_H__ #define __FTFNTFMT_H__
#include <ft2build.h> #include <ft2build.h>
#include FT_FREETYPE_H #include FT_FREETYPE_H
@ -49,22 +49,20 @@ FT_BEGIN_HEADER
/* however, there are special cases (like in PDF devices) where it is */ /* however, there are special cases (like in PDF devices) where it is */
/* important to differentiate, in spite of FreeType's uniform API. */ /* 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> */ /* <Function> */
/* FT_Get_X11_Font_Format */ /* FT_Get_Font_Format */
/* */ /* */
/* <Description> */ /* <Description> */
/* Return a string describing the format of a given face, using values */ /* Return a string describing the format of a given face. Possible */
/* that can be used as an X11 FONT_PROPERTY. Possible values are */ /* values are `TrueType', `Type~1', `BDF', `PCF', `Type~42', */
/* `TrueType', `Type~1', `BDF', `PCF', `Type~42', `CID~Type~1', `CFF', */ /* `CID~Type~1', `CFF', `PFR', and `Windows~FNT'. */
/* `PFR', and `Windows~FNT'. */ /* */
/* The return value is suitable to be used as an X11 FONT_PROPERTY. */
/* */ /* */
/* <Input> */ /* <Input> */
/* face :: */ /* face :: */
@ -73,12 +71,22 @@ FT_BEGIN_HEADER
/* <Return> */ /* <Return> */
/* Font format string. NULL in case of error. */ /* 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_EXPORT( const char* )
FT_Get_X11_Font_Format( FT_Face face ); FT_Get_X11_Font_Format( FT_Face face );
/* */ /* */
FT_END_HEADER FT_END_HEADER
#endif /* __FTXF86_H__ */ #endif /* __FTFNTFMT_H__ */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Access of TrueType's `gasp' table (specification). */ /* Access of TrueType's `gasp' table (specification). */
/* */ /* */
/* Copyright 2007, 2008, 2011 by */ /* Copyright 2007-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType convenience functions to handle glyphs (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType API for validating TrueTypeGX/AAT tables (specification). */ /* FreeType API for validating TrueTypeGX/AAT tables (specification). */
/* */ /* */
/* Copyright 2004-2006, 2013 by */ /* Copyright 2004-2015 by */
/* Masatake YAMATO, Redhat K.K, */ /* Masatake YAMATO, Redhat K.K, */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Gzip-compressed stream support. */ /* Gzip-compressed stream support. */
/* */ /* */
/* Copyright 2002-2004, 2006, 2013 by */ /* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -5,7 +5,7 @@
/* FreeType glyph image formats and default raster interface */ /* FreeType glyph image formats and default raster interface */
/* (specification). */ /* (specification). */
/* */ /* */
/* Copyright 1996-2010, 2013, 2014 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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 */ /* field is intended for paletted pixel modes. Not */
/* used currently. */ /* 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_ typedef struct FT_Bitmap_
{ {
unsigned int rows; unsigned int rows;
@ -1078,10 +1073,10 @@ FT_BEGIN_HEADER
/* FT_Raster_ResetFunc */ /* FT_Raster_ResetFunc */
/* */ /* */
/* <Description> */ /* <Description> */
/* FreeType provides an area of memory called the `render pool', */ /* FreeType used to provide an area of memory called the `render */
/* available to all registered rasters. This pool can be freely used */ /* pool' available to all registered rasters. This was not thread */
/* during a given scan-conversion but is shared by all rasters. Its */ /* safe however and now FreeType never allocates this pool. NULL */
/* content is thus transient. */ /* is always passed in as pool_base. */
/* */ /* */
/* This function is called each time the render pool changes, or just */ /* This function is called each time the render pool changes, or just */
/* after a new raster object is created. */ /* after a new raster object is created. */
@ -1094,10 +1089,9 @@ FT_BEGIN_HEADER
/* pool_size :: The size in bytes of the render pool. */ /* pool_size :: The size in bytes of the render pool. */
/* */ /* */
/* <Note> */ /* <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 */ /* allocation if they want to (a handle to the memory allocator is */
/* passed to the raster constructor). However, this is not */ /* passed to the raster constructor). */
/* recommended for efficiency purposes. */
/* */ /* */
typedef void typedef void
(*FT_Raster_ResetFunc)( FT_Raster raster, (*FT_Raster_ResetFunc)( FT_Raster raster,

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType incremental loading (specification). */ /* FreeType incremental loading (specification). */
/* */ /* */
/* Copyright 2002, 2003, 2006-2008, 2010, 2014 by */ /* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -5,7 +5,7 @@
/* FreeType API for color filtering of subpixel bitmap glyphs */ /* FreeType API for color filtering of subpixel bitmap glyphs */
/* (specification). */ /* (specification). */
/* */ /* */
/* Copyright 2006-2008, 2010, 2013, 2014 by */ /* Copyright 2006-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Generic list support for FreeType (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* LZW-compressed stream support. */ /* LZW-compressed stream support. */
/* */ /* */
/* Copyright 2004, 2006 by */ /* Copyright 2004-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Additional Mac-specific API. */ /* 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. */ /* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType Multiple Master font interface (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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 */ /* num_designs :: Number of designs; should be normally 2^num_axis */
/* even though the Type~1 specification strangely */ /* even though the Type~1 specification strangely */
/* allows for intermediate designs to be present. This */ /* allows for intermediate designs to be present. */
/* number cannot exceed~16. */ /* This number cannot exceed~16. */
/* */ /* */
/* axis :: A table of axis descriptors. */ /* axis :: A table of axis descriptors. */
/* */ /* */
@ -201,10 +201,10 @@ FT_BEGIN_HEADER
/* associated with them. The font can tell the */ /* associated with them. The font can tell the */
/* user that, for example, Weight=1.5 is `Bold'. */ /* 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. */ /* GX fonts contain slightly more data than MM. */
/* */ /* */
/* namedstyles :: A table of named styles. */ /* namedstyle :: A named style table. */
/* Only meaningful with GX. */ /* Only meaningful with GX. */
/* */ /* */
typedef struct FT_MM_Var_ typedef struct FT_MM_Var_
@ -280,8 +280,10 @@ FT_BEGIN_HEADER
/* face :: A handle to the source face. */ /* face :: A handle to the source face. */
/* */ /* */
/* <Input> */ /* <Input> */
/* num_coords :: The number of design coordinates (must be equal to */ /* num_coords :: The number of available design coordinates. If it */
/* the number of axes in the font). */ /* 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. */ /* coords :: An array of design coordinates. */
/* */ /* */
@ -307,8 +309,10 @@ FT_BEGIN_HEADER
/* face :: A handle to the source face. */ /* face :: A handle to the source face. */
/* */ /* */
/* <Input> */ /* <Input> */
/* num_coords :: The number of design coordinates (must be equal to */ /* num_coords :: The number of available design coordinates. If it */
/* the number of axes in the font). */ /* 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. */ /* coords :: An array of design coordinates. */
/* */ /* */
@ -334,8 +338,10 @@ FT_BEGIN_HEADER
/* face :: A handle to the source face. */ /* face :: A handle to the source face. */
/* */ /* */
/* <Input> */ /* <Input> */
/* num_coords :: The number of design coordinates (must be equal to */ /* num_coords :: The number of available design coordinates. If it */
/* the number of axes in the font). */ /* 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 */ /* coords :: The design coordinates array (each element must be */
/* between 0 and 1.0). */ /* between 0 and 1.0). */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType modules public interface (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -469,7 +469,9 @@ FT_BEGIN_HEADER
/* <Description> */ /* <Description> */
/* This function is used to create a new FreeType library instance */ /* This function is used to create a new FreeType library instance */
/* from a given memory object. It is thus possible to use libraries */ /* 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 */ /* Normally, you would call this function (followed by a call to */
/* @FT_Add_Default_Modules or a series of calls to @FT_Add_Module) */ /* @FT_Add_Default_Modules or a series of calls to @FT_Add_Module) */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType module error offsets (specification). */ /* FreeType module error offsets (specification). */
/* */ /* */
/* Copyright 2001-2005, 2010, 2013 by */ /* Copyright 2001-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType API for validating OpenType tables (specification). */ /* FreeType API for validating OpenType tables (specification). */
/* */ /* */
/* Copyright 2004-2007, 2013, 2014 by */ /* Copyright 2004-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -5,7 +5,7 @@
/* Support for the FT_Outline type used to store glyph shapes of */ /* Support for the FT_Outline type used to store glyph shapes of */
/* most scalable font formats (specification). */ /* most scalable font formats (specification). */
/* */ /* */
/* Copyright 1996-2003, 2005-2014 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType API for accessing PFR-specific data (specification only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType renderer modules public interface (specification). */ /* FreeType renderer modules public interface (specification). */
/* */ /* */
/* Copyright 1996-2001, 2005, 2006, 2010 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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. */ /* This doesn't change the current renderer for other formats. */
/* */ /* */
/* Currently, only the B/W renderer, if compiled with */ /* Currently, no FreeType renderer module uses `parameters'; you */
/* FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels */ /* should thus always pass NULL as the value. */
/* 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. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Set_Renderer( FT_Library library, FT_Set_Renderer( FT_Library library,

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType size objects management (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -7,7 +7,7 @@
/* */ /* */
/* This is _not_ used to retrieve glyph names! */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType path stroker (specification). */ /* FreeType path stroker (specification). */
/* */ /* */
/* Copyright 2002-2006, 2008, 2009, 2011-2012, 2014 by */ /* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -5,7 +5,7 @@
/* FreeType synthesizing code for emboldening and slanting */ /* FreeType synthesizing code for emboldening and slanting */
/* (specification). */ /* (specification). */
/* */ /* */
/* Copyright 2000-2001, 2003, 2006, 2008, 2012, 2013 by */ /* Copyright 2000-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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. */ /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */
/* */ /* */
/* For emboldened outlines the height, width, and advance metrics are */ /* For emboldened outlines the height, width, and advance metrics are */
/* increased by the strength of the emboldening. You can also call */ /* increased by the strength of the emboldening -- this even affects */
/* @FT_Outline_Get_CBox to get precise values. */ /* mono-width fonts! */
/* */
/* You can also call @FT_Outline_Get_CBox to get precise values. */
FT_EXPORT( void ) FT_EXPORT( void )
FT_GlyphSlot_Embolden( FT_GlyphSlot slot ); FT_GlyphSlot_Embolden( FT_GlyphSlot slot );

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType low-level system interface definition (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType trigonometric functions (specification). */ /* FreeType trigonometric functions (specification). */
/* */ /* */
/* Copyright 2001, 2003, 2005, 2007, 2013 by */ /* Copyright 2001-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -5,7 +5,7 @@
/* FreeType API for controlling the TrueType driver */ /* FreeType API for controlling the TrueType driver */
/* (specification only). */ /* (specification only). */
/* */ /* */
/* Copyright 2013 by */ /* Copyright 2013-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -67,13 +67,13 @@ FT_BEGIN_HEADER
* TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel * TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel
* support otherwise (since it isn't available then). * support otherwise (since it isn't available then).
* *
* If subpixel hinting is on, many TrueType bytecode instructions * If subpixel hinting is on, many TrueType bytecode instructions behave
* behave differently compared to B/W or grayscale rendering. The * differently compared to B/W or grayscale rendering (except if `native
* main idea is to render at a much increased horizontal resolution, * ClearType' is selected by the font). The main idea is to render at a
* then sampling down the created output to subpixel precision. * much increased horizontal resolution, then sampling down the created
* However, many older fonts are not suited to this and must be * output to subpixel precision. However, many older fonts are not
* specially taken care of by applying (hardcoded) font-specific * suited to this and must be specially taken care of by applying
* tweaks. * (hardcoded) font-specific tweaks.
* *
* Details on subpixel hinting and some of the necessary tweaks can be * Details on subpixel hinting and some of the necessary tweaks can be
* found in Greg Hitchcock's whitepaper at * found in Greg Hitchcock's whitepaper at
@ -135,24 +135,87 @@ FT_BEGIN_HEADER
* `FT_Err_Unimplemented_Feature' error. * `FT_Err_Unimplemented_Feature' error.
* *
* Depending on the graphics framework, Microsoft uses different * Depending on the graphics framework, Microsoft uses different
* bytecode engines. As a consequence, the version numbers returned by * bytecode and rendering engines. As a consequence, the version
* a call to the `GETINFO[1]' bytecode instruction are more convoluted * numbers returned by a call to the `GETINFO' bytecode instruction are
* than desired. * 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.
* *
* { * {
* framework Windows version result of GETINFO[1] * GETINFO framework version feature
* ---------------------------------------------------- * -------------------------------------------------------------------
* GDI before XP 35 * 3 GDI (Win 3.1), v1.0 16-bit, first version
* GDI XP and later 37 * TrueImage
* GDI+ old before Vista 37 * 33 GDI (Win NT 3.1), v1.5 32-bit
* GDI+ old Vista, 7 38 * HP Laserjet
* GDI+ after 7 40 * 34 GDI (Win 95) v1.6 font smoothing,
* DWrite before 8 39 * new SCANTYPE opcode
* DWrite 8 and later 40 * 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
* } * }
* *
* Since FreeType doesn't provide all capabilities of DWrite ClearType, * The `version' field gives a rough orientation only, since some
* using version~38 seems justified. * 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_35 35

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType simple types definitions (specification only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType API for accessing Windows fnt-specific data. */ /* FreeType API for accessing Windows fnt-specific data. */
/* */ /* */
/* Copyright 2003, 2004, 2008 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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 * A list of valid values for the `charset' byte in
* @FT_WinFNT_HeaderRec. Exact mapping tables for the various cpXXXX * @FT_WinFNT_HeaderRec. Exact mapping tables for the various cpXXXX
* encodings (except for cp1361) can be found at * 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 * subdirectory. cp1361 is roughly a superset of
* MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT. * MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.
* *
@ -95,7 +95,7 @@ FT_BEGIN_HEADER
* second default codepage that most international versions of * second default codepage that most international versions of
* Windows have. It is one of the OEM codepages from * 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. * and is used for the `DOS boxes', to support legacy applications.
* A German Windows version for example usually uses ANSI codepage * A German Windows version for example usually uses ANSI codepage

View file

@ -4,7 +4,7 @@
/* */ /* */
/* High-level `autohint' module-specific interface (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Arithmetic computations (specification). */ /* Arithmetic computations (specification). */
/* */ /* */
/* Copyright 1996-2006, 2008, 2009, 2012-2014 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Debugging and logging component (specification). */ /* Debugging and logging component (specification). */
/* */ /* */
/* Copyright 1996-2002, 2004, 2006-2009, 2013 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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 */ /* This function may be useful if you want to control FreeType 2's */
/* debug level in your application. */ /* debug level in your application. */
/* */ /* */
FT_BASE( const char * ) FT_BASE( const char* )
FT_Trace_Get_Name( FT_Int idx ); FT_Trace_Get_Name( FT_Int idx );

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType font driver interface (specification). */ /* FreeType font driver interface (specification). */
/* */ /* */
/* Copyright 1996-2003, 2006, 2008, 2011-2013 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType glyph loader (specification). */ /* The FreeType glyph loader (specification). */
/* */ /* */
/* Copyright 2002, 2003, 2005, 2006 by */ /* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg */ /* David Turner, Robert Wilhelm, and Werner Lemberg */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -121,23 +121,25 @@ FT_BEGIN_HEADER
FT_UInt n_contours ); FT_UInt n_contours );
#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \ #define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \
( (_count) == 0 || \ ( (_count) == 0 || \
( (_loader)->base.outline.n_points + \ ( (FT_UInt)(_loader)->base.outline.n_points + \
(_loader)->current.outline.n_points + \ (FT_UInt)(_loader)->current.outline.n_points + \
(unsigned long)(_count) ) <= (_loader)->max_points ) (FT_UInt)(_count) ) <= (_loader)->max_points )
#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \ #define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \
( (_count) == 0 || \ ( (_count) == 0 || \
( (_loader)->base.outline.n_contours + \ ( (FT_UInt)(_loader)->base.outline.n_contours + \
(_loader)->current.outline.n_contours + \ (FT_UInt)(_loader)->current.outline.n_contours + \
(unsigned long)(_count)) <= (_loader)->max_contours ) (FT_UInt)(_count) ) <= (_loader)->max_contours )
#define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points, _contours ) \ #define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points, _contours ) \
( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \ ( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \
FT_GLYPHLOADER_CHECK_C( _loader, _contours ) ) \ FT_GLYPHLOADER_CHECK_C( _loader, _contours ) ) \
? 0 \ ? 0 \
: FT_GlyphLoader_CheckPoints( (_loader), (_points), (_contours) ) ) : FT_GlyphLoader_CheckPoints( (_loader), \
(FT_UInt)(_points), \
(FT_UInt)(_contours) ) )
/* check that there is enough space to add `n_subs' sub-glyphs to */ /* check that there is enough space to add `n_subs' sub-glyphs to */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType memory management macros (specification). */ /* 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 */ /* David Turner, Robert Wilhelm, and Werner Lemberg */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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_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 ) #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_ZERO( p ) FT_MEM_ZERO( p, sizeof ( *(p) ) )
#define FT_ARRAY_ZERO( dest, count ) \ #define FT_ARRAY_ZERO( dest, count ) \
FT_MEM_ZERO( dest, (count) * sizeof ( *(dest) ) ) FT_MEM_ZERO( dest, \
(FT_Offset)(count) * sizeof ( *(dest) ) )
#define FT_ARRAY_COPY( dest, source, count ) \ #define FT_ARRAY_COPY( dest, source, count ) \
FT_MEM_COPY( dest, source, (count) * sizeof ( *(dest) ) ) FT_MEM_COPY( dest, \
source, \
(FT_Offset)(count) * sizeof ( *(dest) ) )
#define FT_ARRAY_MOVE( dest, source, count ) \ #define FT_ARRAY_MOVE( dest, source, count ) \
FT_MEM_MOVE( dest, source, (count) * sizeof ( *(dest) ) ) FT_MEM_MOVE( dest, \
source, \
(FT_Offset)(count) * sizeof ( *(dest) ) )
/* /*

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType private base classes (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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 ) \ x > y ? x + ( 3 * y >> 3 ) \
: y + ( 3 * x >> 3 ) ) : y + ( 3 * x >> 3 ) )
#define FT_PAD_FLOOR( x, n ) ( (x) & ~((n)-1) ) /* we use the TYPEOF macro to suppress signedness compilation warnings */
#define FT_PAD_FLOOR( x, n ) ( (x) & ~TYPEOF( x )( (n)-1 ) )
#define FT_PAD_ROUND( x, n ) FT_PAD_FLOOR( (x) + ((n)/2), n ) #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_PAD_CEIL( x, n ) FT_PAD_FLOOR( (x) + ((n)-1), n )
#define FT_PIX_FLOOR( x ) ( (x) & ~63 ) #define FT_PIX_FLOOR( x ) ( (x) & ~TYPEOF( x )63 )
#define FT_PIX_ROUND( x ) FT_PIX_FLOOR( (x) + 32 ) #define FT_PIX_ROUND( x ) FT_PIX_FLOOR( (x) + 32 )
#define FT_PIX_CEIL( x ) FT_PIX_FLOOR( (x) + 63 ) #define FT_PIX_CEIL( x ) FT_PIX_FLOOR( (x) + 63 )
@ -404,7 +405,7 @@ FT_BEGIN_HEADER
/* glyph_hints :: Format-specific glyph hints management. */ /* glyph_hints :: Format-specific glyph hints management. */
/* */ /* */
#define FT_GLYPH_OWN_BITMAP 0x1 #define FT_GLYPH_OWN_BITMAP 0x1U
typedef struct FT_Slot_InternalRec_ typedef struct FT_Slot_InternalRec_
{ {
@ -613,12 +614,12 @@ FT_BEGIN_HEADER
#define FT_REQUEST_WIDTH( req ) \ #define FT_REQUEST_WIDTH( req ) \
( (req)->horiResolution \ ( (req)->horiResolution \
? (FT_Pos)( (req)->width * (req)->horiResolution + 36 ) / 72 \ ? ( (req)->width * (FT_Pos)(req)->horiResolution + 36 ) / 72 \
: (req)->width ) : (req)->width )
#define FT_REQUEST_HEIGHT( req ) \ #define FT_REQUEST_HEIGHT( req ) \
( (req)->vertResolution \ ( (req)->vertResolution \
? (FT_Pos)( (req)->height * (req)->vertResolution + 36 ) / 72 \ ? ( (req)->height * (FT_Pos)(req)->vertResolution + 36 ) / 72 \
: (req)->height ) : (req)->height )
@ -740,9 +741,8 @@ FT_BEGIN_HEADER
/* faces_list :: The list of faces currently opened by this */ /* faces_list :: The list of faces currently opened by this */
/* driver. */ /* driver. */
/* */ /* */
/* glyph_loader :: The glyph loader for all faces managed by this */ /* glyph_loader :: Unused. Used to be glyph loader for all faces */
/* driver. This object isn't defined for unscalable */ /* managed by this driver. */
/* formats. */
/* */ /* */
typedef struct FT_DriverRec_ typedef struct FT_DriverRec_
{ {

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType position independent code services (declaration). */ /* The FreeType position independent code services (declaration). */
/* */ /* */
/* Copyright 2009, 2012 by */ /* Copyright 2009-2015 by */
/* Oran Agra and Mickey Gabel. */ /* Oran Agra and Mickey Gabel. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Embedded resource forks accessor (specification). */ /* Embedded resource forks accessor (specification). */
/* */ /* */
/* Copyright 2004, 2006, 2007, 2012, 2013 by */ /* Copyright 2004-2015 by */
/* Masatake YAMATO and Redhat K.K. */ /* Masatake YAMATO and Redhat K.K. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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_ typedef struct FT_RFork_Ref_
{ {
FT_UShort res_id; FT_UShort res_id;
FT_ULong offset; FT_Long offset;
} FT_RFork_Ref; } FT_RFork_Ref;
@ -83,7 +83,7 @@ FT_BEGIN_HEADER
/* this array is a storage in non-PIC mode, so ; is needed in END */ /* this array is a storage in non-PIC mode, so ; is needed in END */
#define CONST_FT_RFORK_RULE_ARRAY_BEGIN( name, type ) \ #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 ) \ #define CONST_FT_RFORK_RULE_ARRAY_ENTRY( func_suffix, type_suffix ) \
{ raccess_guess_ ## func_suffix, \ { raccess_guess_ ## func_suffix, \
FT_RFork_Rule_ ## type_suffix }, FT_RFork_Rule_ ## type_suffix },

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType services (specification only). */ /* The FreeType services (specification only). */
/* */ /* */
/* Copyright 2003-2007, 2009, 2012, 2013 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -750,7 +750,7 @@ FT_BEGIN_HEADER
#define FT_SERVICE_TRUETYPE_ENGINE_H <internal/services/svtteng.h> #define FT_SERVICE_TRUETYPE_ENGINE_H <internal/services/svtteng.h>
#define FT_SERVICE_TT_CMAP_H <internal/services/svttcmap.h> #define FT_SERVICE_TT_CMAP_H <internal/services/svttcmap.h>
#define FT_SERVICE_WINFNT_H <internal/services/svwinfnt.h> #define FT_SERVICE_WINFNT_H <internal/services/svwinfnt.h>
#define FT_SERVICE_XFREE86_NAME_H <internal/services/svxf86nm.h> #define FT_SERVICE_FONT_FORMAT_H <internal/services/svfntfmt.h>
#define FT_SERVICE_TRUETYPE_GLYF_H <internal/services/svttglyf.h> #define FT_SERVICE_TRUETYPE_GLYF_H <internal/services/svttglyf.h>
/* */ /* */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Stream handling (specification). */ /* Stream handling (specification). */
/* */ /* */
/* Copyright 1996-2002, 2004-2006, 2011, 2013 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -361,7 +361,7 @@ FT_BEGIN_HEADER
FT_Long distance ); FT_Long distance );
/* return current stream position */ /* return current stream position */
FT_BASE( FT_Long ) FT_BASE( FT_ULong )
FT_Stream_Pos( FT_Stream stream ); FT_Stream_Pos( FT_Stream stream );
/* read bytes from a stream into a user-allocated buffer, returns an */ /* read bytes from a stream into a user-allocated buffer, returns an */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Tracing handling (specification only). */ /* Tracing handling (specification only). */
/* */ /* */
/* Copyright 2002, 2004-2007, 2009, 2011-2014 by */ /* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType validation support (specification). */ /* FreeType validation support (specification). */
/* */ /* */
/* Copyright 2004, 2013, 2014 by */ /* Copyright 2004-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Internal header files (specification only). */ /* Internal header files (specification only). */
/* */ /* */
/* Copyright 1996-2004, 2013 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -5,7 +5,7 @@
/* Auxiliary functions and data structures related to PostScript fonts */ /* Auxiliary functions and data structures related to PostScript fonts */
/* (specification). */ /* (specification). */
/* */ /* */
/* Copyright 1996-2004, 2006, 2008, 2009, 2012 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -71,10 +71,10 @@ FT_BEGIN_HEADER
(*done)( PS_Table table ); (*done)( PS_Table table );
FT_Error FT_Error
(*add)( PS_Table table, (*add)( PS_Table table,
FT_Int idx, FT_Int idx,
void* object, void* object,
FT_PtrDist length ); FT_UInt length );
void void
(*release)( PS_Table table ); (*release)( PS_Table table );
@ -122,12 +122,12 @@ FT_BEGIN_HEADER
FT_Byte* block; /* current memory block */ FT_Byte* block; /* current memory block */
FT_Offset cursor; /* current cursor in memory block */ FT_Offset cursor; /* current cursor in memory block */
FT_Offset capacity; /* current size of memory block */ FT_Offset capacity; /* current size of memory block */
FT_Long init; FT_ULong init;
FT_Int max_elems; FT_Int max_elems;
FT_Int num_elems; FT_Int num_elems;
FT_Byte** elements; /* addresses of table elements */ FT_Byte** elements; /* addresses of table elements */
FT_PtrDist* lengths; /* lengths of table elements */ FT_UInt* lengths; /* lengths of table elements */
FT_Memory memory; FT_Memory memory;
PS_Table_FuncsRec funcs; PS_Table_FuncsRec funcs;
@ -365,7 +365,7 @@ FT_BEGIN_HEADER
(*to_bytes)( PS_Parser parser, (*to_bytes)( PS_Parser parser,
FT_Byte* bytes, FT_Byte* bytes,
FT_Offset max_bytes, FT_Offset max_bytes,
FT_Long* pnum_bytes, FT_ULong* pnum_bytes,
FT_Bool delimiters ); FT_Bool delimiters );
FT_Int FT_Int
@ -675,9 +675,9 @@ FT_BEGIN_HEADER
FT_Byte** glyph_names; FT_Byte** glyph_names;
FT_Int lenIV; /* internal for sub routine calls */ FT_Int lenIV; /* internal for sub routine calls */
FT_UInt num_subrs; FT_Int num_subrs;
FT_Byte** 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_Matrix font_matrix;
FT_Vector font_offset; FT_Vector font_offset;

View file

@ -6,7 +6,7 @@
/* recorders (specification only). These are used to support native */ /* recorders (specification only). These are used to support native */
/* T1/T2 hints in the `type1', `cid', and `cff' font drivers. */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -465,7 +465,7 @@ FT_BEGIN_HEADER
typedef void typedef void
(*T2_Hints_StemsFunc)( T2_Hints hints, (*T2_Hints_StemsFunc)( T2_Hints hints,
FT_UInt dimension, FT_UInt dimension,
FT_UInt count, FT_Int count,
FT_Fixed* coordinates ); FT_Fixed* coordinates );

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType BDF services (specification). */ /* The FreeType BDF services (specification). */
/* */ /* */
/* Copyright 2003, 2009, 2012 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,8 @@
/* */ /* */
/* The FreeType CID font services (specification). */ /* 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, */ /* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */ /* modified, and distributed under the terms of the FreeType project */

View file

@ -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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -16,8 +16,8 @@
/***************************************************************************/ /***************************************************************************/
#ifndef __SVXF86NM_H__ #ifndef __SVFNTFMT_H__
#define __SVXF86NM_H__ #define __SVFNTFMT_H__
#include FT_INTERNAL_SERVICE_H #include FT_INTERNAL_SERVICE_H
@ -31,17 +31,17 @@ FT_BEGIN_HEADER
* is a simple constant string pointer. * 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_FONT_FORMAT_TRUETYPE "TrueType"
#define FT_XF86_FORMAT_TYPE_1 "Type 1" #define FT_FONT_FORMAT_TYPE_1 "Type 1"
#define FT_XF86_FORMAT_BDF "BDF" #define FT_FONT_FORMAT_BDF "BDF"
#define FT_XF86_FORMAT_PCF "PCF" #define FT_FONT_FORMAT_PCF "PCF"
#define FT_XF86_FORMAT_TYPE_42 "Type 42" #define FT_FONT_FORMAT_TYPE_42 "Type 42"
#define FT_XF86_FORMAT_CID "CID Type 1" #define FT_FONT_FORMAT_CID "CID Type 1"
#define FT_XF86_FORMAT_CFF "CFF" #define FT_FONT_FORMAT_CFF "CFF"
#define FT_XF86_FORMAT_PFR "PFR" #define FT_FONT_FORMAT_PFR "PFR"
#define FT_XF86_FORMAT_WINFNT "Windows FNT" #define FT_FONT_FORMAT_WINFNT "Windows FNT"
/* */ /* */
@ -49,7 +49,7 @@ FT_BEGIN_HEADER
FT_END_HEADER FT_END_HEADER
#endif /* __SVXF86NM_H__ */ #endif /* __SVFNTFMT_H__ */
/* END */ /* END */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType glyph dictionary services (specification). */ /* The FreeType glyph dictionary services (specification). */
/* */ /* */
/* Copyright 2003, 2009, 2012 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* FreeType API for validating TrueTypeGX/AAT tables (specification). */ /* FreeType API for validating TrueTypeGX/AAT tables (specification). */
/* */ /* */
/* Copyright 2004, 2005 by */ /* Copyright 2004-2015 by */
/* Masatake YAMATO, Red Hat K.K., */ /* Masatake YAMATO, Red Hat K.K., */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType Kerning service (specification). */ /* The FreeType Kerning service (specification). */
/* */ /* */
/* Copyright 2006 by */ /* Copyright 2006-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType Multiple Masters and GX var services (specification). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType OpenType validation service (specification). */ /* The FreeType OpenType validation service (specification). */
/* */ /* */
/* Copyright 2004, 2006 by */ /* Copyright 2004-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Internal PFR service functions (specification). */ /* Internal PFR service functions (specification). */
/* */ /* */
/* Copyright 2003, 2006 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType PostScript name services (specification). */ /* The FreeType PostScript name services (specification). */
/* */ /* */
/* Copyright 2003, 2007, 2009, 2012 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType property service (specification). */ /* The FreeType property service (specification). */
/* */ /* */
/* Copyright 2012 by */ /* Copyright 2012-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType PostScript charmap service (specification). */ /* The FreeType PostScript charmap service (specification). */
/* */ /* */
/* Copyright 2003, 2006, 2009, 2012 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType PostScript info service (specification). */ /* The FreeType PostScript info service (specification). */
/* */ /* */
/* Copyright 2003, 2004, 2009, 2011, 2012 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType SFNT table loading service (specification). */ /* The FreeType SFNT table loading service (specification). */
/* */ /* */
/* Copyright 2003, 2004, 2009, 2012 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,10 +4,8 @@
/* */ /* */
/* The FreeType TrueType/sfnt cmap extra information service. */ /* The FreeType TrueType/sfnt cmap extra information service. */
/* */ /* */
/* Copyright 2003 by */ /* Copyright 2003-2015 by */
/* Masatake YAMATO, Redhat K.K. */ /* Masatake YAMATO, Redhat K.K., */
/* */
/* Copyright 2003, 2008, 2009, 2012, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType TrueType engine query service (specification). */ /* The FreeType TrueType engine query service (specification). */
/* */ /* */
/* Copyright 2006 by */ /* Copyright 2006-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,8 @@
/* */ /* */
/* The FreeType TrueType glyph service. */ /* 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, */ /* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */ /* modified, and distributed under the terms of the FreeType project */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* The FreeType Windows FNT/FONT service (specification). */ /* The FreeType Windows FNT/FONT service (specification). */
/* */ /* */
/* Copyright 2003 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* High-level `sfnt' driver interface (specification). */ /* High-level `sfnt' driver interface (specification). */
/* */ /* */
/* Copyright 1996-2006, 2009, 2012-2014 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -5,7 +5,7 @@
/* Basic Type1/Type2 type definitions and interface (specification */ /* Basic Type1/Type2 type definitions and interface (specification */
/* only). */ /* only). */
/* */ /* */
/* Copyright 1996-2004, 2006, 2008, 2009, 2011, 2013 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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_Int num_subrs;
FT_Byte** subrs; FT_Byte** subrs;
FT_PtrDist* subrs_len; FT_UInt* subrs_len;
FT_Int num_glyphs; FT_Int num_glyphs;
FT_String** glyph_names; /* array of glyph names */ FT_String** glyph_names; /* array of glyph names */
FT_Byte** charstrings; /* array of glyph charstrings */ FT_Byte** charstrings; /* array of glyph charstrings */
FT_PtrDist* charstrings_len; FT_UInt* charstrings_len;
FT_Byte paint_type; FT_Byte paint_type;
FT_Byte font_type; FT_Byte font_type;
@ -127,7 +127,7 @@ FT_BEGIN_HEADER
typedef struct CID_SubrsRec_ typedef struct CID_SubrsRec_
{ {
FT_UInt num_subrs; FT_Int num_subrs;
FT_Byte** code; FT_Byte** code;
} CID_SubrsRec, *CID_Subrs; } CID_SubrsRec, *CID_Subrs;
@ -157,10 +157,10 @@ FT_BEGIN_HEADER
typedef struct AFM_KernPairRec_ typedef struct AFM_KernPairRec_
{ {
FT_Int index1; FT_UInt index1;
FT_Int index2; FT_UInt index2;
FT_Int x; FT_Int x;
FT_Int y; FT_Int y;
} AFM_KernPairRec, *AFM_KernPair; } AFM_KernPairRec, *AFM_KernPair;
@ -171,9 +171,9 @@ FT_BEGIN_HEADER
FT_Fixed Ascender; FT_Fixed Ascender;
FT_Fixed Descender; FT_Fixed Descender;
AFM_TrackKern TrackKerns; /* free if non-NULL */ AFM_TrackKern TrackKerns; /* free if non-NULL */
FT_Int NumTrackKern; FT_UInt NumTrackKern;
AFM_KernPair KernPairs; /* free if non-NULL */ AFM_KernPair KernPairs; /* free if non-NULL */
FT_Int NumKernPair; FT_UInt NumKernPair;
} AFM_FontInfoRec, *AFM_FontInfo; } AFM_FontInfoRec, *AFM_FontInfo;

View file

@ -5,7 +5,7 @@
/* Basic SFNT/TrueType type definitions and interface (specification */ /* Basic SFNT/TrueType type definitions and interface (specification */
/* only). */ /* only). */
/* */ /* */
/* Copyright 1996-2002, 2004-2008, 2012-2013 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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). */ /* in use by other platforms (e.g. Newton). */
/* For details, please see */ /* For details, please see */
/* */ /* */
/* http://fonts.apple.com/ */ /* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bloc.html */
/* TTRefMan/RM06/Chap6bloc.html */
/* */ /* */
/* hori :: The line metrics for horizontal layouts. */ /* hori :: The line metrics for horizontal layouts. */
/* */ /* */
@ -635,8 +634,7 @@ FT_BEGIN_HEADER
/* flags :: Is this a vertical or horizontal strike? For */ /* flags :: Is this a vertical or horizontal strike? For */
/* details, please see */ /* details, please see */
/* */ /* */
/* http://fonts.apple.com/ */ /* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bloc.html */
/* TTRefMan/RM06/Chap6bloc.html */
/* */ /* */
typedef struct TT_SBit_StrikeRec_ typedef struct TT_SBit_StrikeRec_
{ {
@ -1113,7 +1111,7 @@ FT_BEGIN_HEADER
/* This field also contains the associated */ /* This field also contains the associated */
/* vertical metrics table (`vmtx'), if found. */ /* vertical metrics table (`vmtx'), if found. */
/* IMPORTANT: The contents of this field is */ /* IMPORTANT: The contents of this field is */
/* undefined if the `verticalInfo' field is */ /* undefined if the `vertical_info' field is */
/* unset. */ /* unset. */
/* */ /* */
/* num_names :: The number of name records within this */ /* num_names :: The number of name records within this */
@ -1440,7 +1438,7 @@ FT_BEGIN_HEADER
{ {
FT_Memory memory; FT_Memory memory;
FT_UShort max_points; FT_UShort max_points;
FT_UShort max_contours; FT_Short max_contours;
FT_UShort n_points; /* number of points in zone */ FT_UShort n_points; /* number of points in zone */
FT_Short n_contours; /* number of contours */ FT_Short n_contours; /* number of contours */

View file

@ -5,7 +5,7 @@
/* Basic Type 1/Type 2 tables definitions and interface (specification */ /* Basic Type 1/Type 2 tables definitions and interface (specification */
/* only). */ /* only). */
/* */ /* */
/* Copyright 1996-2004, 2006, 2008, 2009, 2011, 2014 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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. * FreeType error code. 0~means success.
* *
* @note: * @note:
* The string pointers within the font info structure are owned by * String pointers within the @PS_FontInfoRec structure are owned by
* the face and don't need to be freed by the caller. * 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 * If the font's format is not PostScript-based, this function will
* return the `FT_Err_Invalid_Argument' error code. * return the `FT_Err_Invalid_Argument' error code.

View file

@ -4,7 +4,7 @@
/* */ /* */
/* TrueType name ID definitions (specification only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* 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 */ /* 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_ENGLISH 0
#define TT_MAC_LANGID_FRENCH 1 #define TT_MAC_LANGID_FRENCH 1

View file

@ -5,7 +5,7 @@
/* Basic SFNT/TrueType tables definitions and interface */ /* Basic SFNT/TrueType tables definitions and interface */
/* (specification only). */ /* (specification only). */
/* */ /* */
/* Copyright 1996-2005, 2008-2014 by */ /* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -371,7 +371,7 @@ FT_BEGIN_HEADER
FT_Short xAvgCharWidth; FT_Short xAvgCharWidth;
FT_UShort usWeightClass; FT_UShort usWeightClass;
FT_UShort usWidthClass; FT_UShort usWidthClass;
FT_Short fsType; FT_UShort fsType;
FT_Short ySubscriptXSize; FT_Short ySubscriptXSize;
FT_Short ySubscriptYSize; FT_Short ySubscriptYSize;
FT_Short ySubscriptXOffset; FT_Short ySubscriptXOffset;

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Tags for TrueType and OpenType tables (specification only). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Definitions for the unpatented TrueType hinting system */ /* Definitions for the unpatented TrueType hinting system */
/* */ /* */
/* Copyright 2003, 2006 by */ /* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* Written by Graham Asher <graham.asher@btinternet.com> */ /* Written by Graham Asher <graham.asher@btinternet.com> */

View file

@ -1,6 +1,6 @@
# modules.cfg # modules.cfg
# #
# Copyright 2005-2007, 2009-2011, 2013 by # Copyright 2005-2015 by
# David Turner, Robert Wilhelm, and Werner Lemberg. # David Turner, Robert Wilhelm, and Werner Lemberg.
# #
# This file is part of the FreeType project, and may only be used, modified, # This file is part of the FreeType project, and may only be used, modified,
@ -168,6 +168,11 @@ BASE_EXTENSIONS += ftbitmap.c
# See include/ftcid.h for the API. # See include/ftcid.h for the API.
BASE_EXTENSIONS += ftcid.c BASE_EXTENSIONS += ftcid.c
# Support functions for font formats.
#
# See include/ftfntfmt.h for the API.
BASE_EXTENSIONS += ftfntfmt.c
# Access FSType information. Needs fttype1.c. # Access FSType information. Needs fttype1.c.
# #
# See include/freetype.h for the API. # See include/freetype.h for the API.
@ -235,11 +240,6 @@ BASE_EXTENSIONS += fttype1.c
# See include/ftwinfnt.h for the API. # See include/ftwinfnt.h for the API.
BASE_EXTENSIONS += ftwinfnt.c BASE_EXTENSIONS += ftwinfnt.c
# Support functions for X11.
#
# See include/ftxf86.h for the API.
BASE_EXTENSIONS += ftxf86.c
#### ####
#### The components `ftsystem.c' (for memory allocation and stream I/O #### The components `ftsystem.c' (for memory allocation and stream I/O
#### management) and `ftdebug.c' (for emitting debug messages to the user) #### management) and `ftdebug.c' (for emitting debug messages to the user)

View file

@ -5,7 +5,7 @@
/* Routines used to compute vector angles with limited accuracy */ /* Routines used to compute vector angles with limited accuracy */
/* and very high speed. It also contains sorting routines (body). */ /* 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. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -259,7 +259,7 @@
sum += table[j].org; sum += table[j].org;
table[j].org = 0; table[j].org = 0;
} }
table[cur_idx].org = sum / j; table[cur_idx].org = sum / (FT_Pos)j;
if ( i < *count - 1 ) if ( i < *count - 1 )
{ {

View file

@ -7,7 +7,7 @@
/* */ /* */
/* Auto-fitter data for blue strings (body). */ /* Auto-fitter data for blue strings (body). */
/* */ /* */
/* Copyright 2013 by */ /* Copyright 2013-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -26,6 +26,10 @@
af_blue_strings[] = 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',
'\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\x9F', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕПЗОСЭ */ '\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\x9F', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕПЗОСЭ */
'\0', '\0',
'\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\xA8', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕШЗОСЭ */ '\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\xA8', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕШЗОСЭ */
@ -71,6 +75,20 @@
'\xE0', '\xB0', '\x87', '\xE0', '\xB0', '\x8C', '\xE0', '\xB0', '\x99', '\xE0', '\xB0', '\x9E', '\xE0', '\xB0', '\xA3', '\xE0', '\xB0', '\xB1', '\xE0', '\xB1', '\xAF', /* ఇ ఌ ఙ ఞ ణ ఱ ౯ */ '\xE0', '\xB0', '\x87', '\xE0', '\xB0', '\x8C', '\xE0', '\xB0', '\x99', '\xE0', '\xB0', '\x9E', '\xE0', '\xB0', '\xA3', '\xE0', '\xB0', '\xB1', '\xE0', '\xB1', '\xAF', /* ఇ ఌ ఙ ఞ ణ ఱ ౯ */
'\0', '\0',
'\xE0', '\xB0', '\x85', '\xE0', '\xB0', '\x95', '\xE0', '\xB0', '\x9A', '\xE0', '\xB0', '\xB0', '\xE0', '\xB0', '\xBD', '\xE0', '\xB1', '\xA8', '\xE0', '\xB1', '\xAC', /* అ క చ ర ఽ ౨ ౬ */ '\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 #ifdef AF_CONFIG_OPTION_CJK
'\0', '\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', /* 他们你來們到和地 */ '\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 +139,9 @@
af_blue_stringsets[] = af_blue_stringsets[] =
{ {
/* */ /* */
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_ARABIC_JOIN, 0 },
{ AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, { AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 }, { AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 },
{ AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP | { AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
@ -160,6 +181,15 @@
{ AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, { AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_TELUGU_BOTTOM, 0 }, { AF_BLUE_STRING_TELUGU_BOTTOM, 0 },
{ AF_BLUE_STRING_MAX, 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 #ifdef AF_CONFIG_OPTION_CJK
{ AF_BLUE_STRING_CJK_TOP, AF_BLUE_PROPERTY_CJK_TOP }, { AF_BLUE_STRING_CJK_TOP, AF_BLUE_PROPERTY_CJK_TOP },
{ AF_BLUE_STRING_CJK_BOTTOM, 0 }, { AF_BLUE_STRING_CJK_BOTTOM, 0 },

View file

@ -4,7 +4,7 @@
/* */ /* */
/* Auto-fitter data for blue strings (body). */ /* Auto-fitter data for blue strings (body). */
/* */ /* */
/* Copyright 2013 by */ /* Copyright 2013-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View file

@ -2,7 +2,7 @@
// //
// Auto-fitter data for blue strings. // Auto-fitter data for blue strings.
// //
// Copyright 2013, 2014 by // Copyright 2013-2015 by
// David Turner, Robert Wilhelm, and Werner Lemberg. // David Turner, Robert Wilhelm, and Werner Lemberg.
// //
// This file is part of the FreeType project, and may only be used, // This file is part of the FreeType project, and may only be used,
@ -67,6 +67,11 @@
AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN: AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRING_ARABIC_TOP
"ا إ ل ك ط ظ"
AF_BLUE_STRING_ARABIC_JOIN
"ت ث ط ظ ك"
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP
"БВЕПЗОСЭ" "БВЕПЗОСЭ"
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM
@ -123,10 +128,25 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
// this is just for convenience to simplify reading // this is just for convenience to simplify reading
AF_BLUE_STRING_TELUGU_TOP AF_BLUE_STRING_TELUGU_TOP
"ఇ ఌ ఙ ఞ ణ ఱ ౯" "ఇ ఌ ఙ ఞ ణ ఱ ౯"
AF_BLUE_STRING_TELUGU_BOTTOM AF_BLUE_STRING_TELUGU_BOTTOM
"అ క చ ర ఽ ౨ ౬" "అ క చ ర ఽ ౨ ౬"
AF_BLUE_STRING_THAI_TOP
"บ เ แ อ ก า"
AF_BLUE_STRING_THAI_BOTTOM
"บ ป ษ ฯ อ ย ฮ"
AF_BLUE_STRING_THAI_ASCENDER
"ป ฝ ฟ"
AF_BLUE_STRING_THAI_LARGE_ASCENDER
"โ ใ ไ"
AF_BLUE_STRING_THAI_DESCENDER
"ฎ ฏ ฤ ฦ"
AF_BLUE_STRING_THAI_LARGE_DESCENDER
"ญ ฐ"
AF_BLUE_STRING_THAI_DIGIT_TOP
" ๑ ๓"
#ifdef AF_CONFIG_OPTION_CJK #ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRING_CJK_TOP AF_BLUE_STRING_CJK_TOP
@ -268,6 +288,11 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN: AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
AF_BLUE_STRINGSET_ARAB
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_ARABIC_JOIN, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_CYRL AF_BLUE_STRINGSET_CYRL
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP } { AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 } { AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 }
@ -319,6 +344,18 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
{ AF_BLUE_STRING_TELUGU_BOTTOM, 0 } { AF_BLUE_STRING_TELUGU_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 } { AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_THAI
{ 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 #ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRINGSET_HANI AF_BLUE_STRINGSET_HANI

View file

@ -7,7 +7,7 @@
/* */ /* */
/* Auto-fitter data for blue strings (specification). */ /* Auto-fitter data for blue strings (specification). */
/* */ /* */
/* Copyright 2013, 2014 by */ /* Copyright 2013-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -74,30 +74,39 @@ FT_BEGIN_HEADER
typedef enum AF_Blue_String_ typedef enum AF_Blue_String_
{ {
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 0, AF_BLUE_STRING_ARABIC_TOP = 0,
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 17, AF_BLUE_STRING_ARABIC_JOIN = 13,
AF_BLUE_STRING_CYRILLIC_SMALL = 34, AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 24,
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 51, AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 41,
AF_BLUE_STRING_DEVANAGARI_BASE = 58, AF_BLUE_STRING_CYRILLIC_SMALL = 58,
AF_BLUE_STRING_DEVANAGARI_TOP = 83, AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 75,
AF_BLUE_STRING_DEVANAGARI_HEAD = 108, AF_BLUE_STRING_DEVANAGARI_BASE = 82,
AF_BLUE_STRING_DEVANAGARI_BOTTOM = 133, AF_BLUE_STRING_DEVANAGARI_TOP = 107,
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 140, AF_BLUE_STRING_DEVANAGARI_HEAD = 132,
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 155, AF_BLUE_STRING_DEVANAGARI_BOTTOM = 157,
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 168, AF_BLUE_STRING_GREEK_CAPITAL_TOP = 164,
AF_BLUE_STRING_GREEK_SMALL = 181, AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 179,
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 198, AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 192,
AF_BLUE_STRING_HEBREW_TOP = 215, AF_BLUE_STRING_GREEK_SMALL = 205,
AF_BLUE_STRING_HEBREW_BOTTOM = 232, AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 222,
AF_BLUE_STRING_HEBREW_DESCENDER = 245, AF_BLUE_STRING_HEBREW_TOP = 239,
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 256, AF_BLUE_STRING_HEBREW_BOTTOM = 256,
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 265, AF_BLUE_STRING_HEBREW_DESCENDER = 269,
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 274, AF_BLUE_STRING_LATIN_CAPITAL_TOP = 280,
AF_BLUE_STRING_LATIN_SMALL = 282, AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 289,
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 290, AF_BLUE_STRING_LATIN_SMALL_F_TOP = 298,
AF_BLUE_STRING_TELUGU_TOP = 296, AF_BLUE_STRING_LATIN_SMALL = 306,
AF_BLUE_STRING_TELUGU_BOTTOM = 318, AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 314,
af_blue_1_1 = 339, AF_BLUE_STRING_TELUGU_TOP = 320,
AF_BLUE_STRING_TELUGU_BOTTOM = 342,
AF_BLUE_STRING_THAI_TOP = 364,
AF_BLUE_STRING_THAI_BOTTOM = 383,
AF_BLUE_STRING_THAI_ASCENDER = 405,
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 415,
AF_BLUE_STRING_THAI_DESCENDER = 425,
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 438,
AF_BLUE_STRING_THAI_DIGIT_TOP = 445,
af_blue_1_1 = 454,
#ifdef AF_CONFIG_OPTION_CJK #ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1, AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1,
AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 153, AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 153,
@ -138,30 +147,32 @@ FT_BEGIN_HEADER
/* Properties are specific to a writing system. We assume that a given */ /* Properties are specific to a writing system. We assume that a given */
/* blue string can't be used in more than a single writing system, which */ /* blue string can't be used in more than a single writing system, which */
/* is a safe bet. */ /* is a safe bet. */
#define AF_BLUE_PROPERTY_LATIN_TOP ( 1 << 0 ) /* must have value 1 */ #define AF_BLUE_PROPERTY_LATIN_TOP ( 1U << 0 ) /* must have value 1 */
#define AF_BLUE_PROPERTY_LATIN_NEUTRAL ( 1 << 1 ) #define AF_BLUE_PROPERTY_LATIN_NEUTRAL ( 1U << 1 )
#define AF_BLUE_PROPERTY_LATIN_X_HEIGHT ( 1 << 2 ) #define AF_BLUE_PROPERTY_LATIN_X_HEIGHT ( 1U << 2 )
#define AF_BLUE_PROPERTY_LATIN_LONG ( 1 << 3 ) #define AF_BLUE_PROPERTY_LATIN_LONG ( 1U << 3 )
#define AF_BLUE_PROPERTY_CJK_TOP ( 1 << 0 ) /* must have value 1 */ #define AF_BLUE_PROPERTY_CJK_TOP ( 1U << 0 ) /* must have value 1 */
#define AF_BLUE_PROPERTY_CJK_HORIZ ( 1 << 1 ) /* must have value 2 */ #define AF_BLUE_PROPERTY_CJK_HORIZ ( 1U << 1 ) /* must have value 2 */
#define AF_BLUE_PROPERTY_CJK_RIGHT AF_BLUE_PROPERTY_CJK_TOP #define AF_BLUE_PROPERTY_CJK_RIGHT AF_BLUE_PROPERTY_CJK_TOP
#define AF_BLUE_STRINGSET_MAX_LEN 7 #define AF_BLUE_STRINGSET_MAX_LEN 8
/* The AF_Blue_Stringset enumeration values are offsets into the */ /* The AF_Blue_Stringset enumeration values are offsets into the */
/* `af_blue_stringsets' array. */ /* `af_blue_stringsets' array. */
typedef enum AF_Blue_Stringset_ typedef enum AF_Blue_Stringset_
{ {
AF_BLUE_STRINGSET_CYRL = 0, AF_BLUE_STRINGSET_ARAB = 0,
AF_BLUE_STRINGSET_DEVA = 6, AF_BLUE_STRINGSET_CYRL = 3,
AF_BLUE_STRINGSET_GREK = 12, AF_BLUE_STRINGSET_DEVA = 9,
AF_BLUE_STRINGSET_HEBR = 19, AF_BLUE_STRINGSET_GREK = 15,
AF_BLUE_STRINGSET_LATN = 23, AF_BLUE_STRINGSET_HEBR = 22,
AF_BLUE_STRINGSET_TELU = 30, AF_BLUE_STRINGSET_LATN = 26,
af_blue_2_1 = 33, AF_BLUE_STRINGSET_TELU = 33,
AF_BLUE_STRINGSET_THAI = 36,
af_blue_2_1 = 44,
#ifdef AF_CONFIG_OPTION_CJK #ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0, AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
af_blue_2_1_1 = af_blue_2_1 + 2, af_blue_2_1_1 = af_blue_2_1 + 2,

Some files were not shown because too many files have changed in this diff Show more