mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 01:58:19 +00:00
updated freetype to 2.4.8 on windows
This commit is contained in:
parent
318d4e24b0
commit
2df6e0d04d
|
@ -1 +1 @@
|
||||||
2.4.4
|
2.4.8
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* ANSI-specific configuration file (specification only). */
|
/* ANSI-specific configuration file (specification only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008, 2010 by */
|
/* Copyright 1996-2004, 2006-2008, 2010-2011 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,10 +95,6 @@ FT_BEGIN_HEADER
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Preferred alignment of data */
|
|
||||||
#define FT_ALIGNMENT 8
|
|
||||||
|
|
||||||
|
|
||||||
/* FT_UNUSED is a macro used to indicate that a given parameter is not */
|
/* FT_UNUSED is a macro used to indicate that a given parameter is not */
|
||||||
/* used -- this is only used to get rid of unpleasant compiler warnings */
|
/* used -- this is only used to get rid of unpleasant compiler warnings */
|
||||||
#ifndef FT_UNUSED
|
#ifndef FT_UNUSED
|
||||||
|
@ -127,7 +123,12 @@ FT_BEGIN_HEADER
|
||||||
#if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \
|
#if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \
|
||||||
( defined( __MWERKS__ ) && defined( macintosh ) )
|
( defined( __MWERKS__ ) && defined( macintosh ) )
|
||||||
/* no Carbon frameworks for 64bit 10.4.x */
|
/* no Carbon frameworks for 64bit 10.4.x */
|
||||||
|
/* AvailabilityMacros.h is available since Mac OS X 10.2, */
|
||||||
|
/* so guess the system version by maximum errno before inclusion */
|
||||||
|
#include <errno.h>
|
||||||
|
#ifdef ECANCELED /* defined since 10.2 */
|
||||||
#include "AvailabilityMacros.h"
|
#include "AvailabilityMacros.h"
|
||||||
|
#endif
|
||||||
#if defined( __LP64__ ) && \
|
#if defined( __LP64__ ) && \
|
||||||
( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
|
( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
|
||||||
#define DARWIN_NO_CARBON 1
|
#define DARWIN_NO_CARBON 1
|
||||||
|
@ -348,14 +349,14 @@ FT_BEGIN_HEADER
|
||||||
register FT_Int32 t, t2;
|
register FT_Int32 t, t2;
|
||||||
|
|
||||||
|
|
||||||
asm __volatile__ (
|
__asm__ __volatile__ (
|
||||||
"smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */
|
"smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */
|
||||||
"mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */
|
"mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */
|
||||||
"add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */
|
"add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */
|
||||||
"adds %1, %1, %0\n\t" /* %1 += %0 */
|
"adds %1, %1, %0\n\t" /* %1 += %0 */
|
||||||
"adc %2, %2, #0\n\t" /* %2 += carry */
|
"adc %2, %2, #0\n\t" /* %2 += carry */
|
||||||
"mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */
|
"mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */
|
||||||
"orr %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
|
"orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
|
||||||
: "=r"(a), "=&r"(t2), "=&r"(t)
|
: "=r"(a), "=&r"(t2), "=&r"(t)
|
||||||
: "r"(a), "r"(b) );
|
: "r"(a), "r"(b) );
|
||||||
return a;
|
return a;
|
||||||
|
@ -395,6 +396,43 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#endif /* __GNUC__ */
|
#endif /* __GNUC__ */
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _MSC_VER /* Visual C++ */
|
||||||
|
|
||||||
|
#ifdef _M_IX86
|
||||||
|
|
||||||
|
#define FT_MULFIX_ASSEMBLER FT_MulFix_i386
|
||||||
|
|
||||||
|
/* documentation is in freetype.h */
|
||||||
|
|
||||||
|
static __inline FT_Int32
|
||||||
|
FT_MulFix_i386( FT_Int32 a,
|
||||||
|
FT_Int32 b )
|
||||||
|
{
|
||||||
|
register FT_Int32 result;
|
||||||
|
|
||||||
|
__asm
|
||||||
|
{
|
||||||
|
mov eax, a
|
||||||
|
mov edx, b
|
||||||
|
imul edx
|
||||||
|
mov ecx, edx
|
||||||
|
sar ecx, 31
|
||||||
|
add ecx, 8000h
|
||||||
|
add eax, ecx
|
||||||
|
adc edx, 0
|
||||||
|
shr eax, 16
|
||||||
|
shl edx, 16
|
||||||
|
add eax, edx
|
||||||
|
mov result, eax
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _M_IX86 */
|
||||||
|
|
||||||
|
#endif /* _MSC_VER */
|
||||||
|
|
||||||
#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
|
#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* Build macros of the FreeType 2 library. */
|
/* Build macros of the FreeType 2 library. */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
|
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 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, */
|
||||||
|
@ -424,6 +424,19 @@
|
||||||
#define FT_LZW_H <freetype/ftlzw.h>
|
#define FT_LZW_H <freetype/ftlzw.h>
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_BZIP2_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in #include statements to name the file containing the
|
||||||
|
* definitions of an API which supports bzip2-compressed files.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_BZIP2_H <freetype/ftbzip2.h>
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
*
|
*
|
||||||
* @macro:
|
* @macro:
|
||||||
|
|
|
@ -4,8 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* User-selectable configuration macros (specification only). */
|
/* User-selectable configuration macros (specification only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, */
|
/* Copyright 1996-2011 by */
|
||||||
/* 2010 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, */
|
||||||
|
@ -188,6 +187,33 @@ FT_BEGIN_HEADER
|
||||||
/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
|
/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Bzip2-compressed file support. */
|
||||||
|
/* */
|
||||||
|
/* FreeType now handles font files that have been compressed with the */
|
||||||
|
/* `bzip2' program. This is mostly used to parse many of the PCF */
|
||||||
|
/* files that come with XFree86. The implementation uses `libbz2' to */
|
||||||
|
/* partially uncompress the file on the fly (see src/bzip2/ftbzip2.c). */
|
||||||
|
/* Contrary to gzip, bzip2 currently is not included and need to use */
|
||||||
|
/* the system available bzip2 implementation. */
|
||||||
|
/* */
|
||||||
|
/* Define this macro if you want to enable this `feature'. */
|
||||||
|
/* */
|
||||||
|
/* #define FT_CONFIG_OPTION_USE_BZIP2 */
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Define to disable the use of file stream functions and types, FILE, */
|
||||||
|
/* fopen() etc. Enables the use of smaller system libraries on embedded */
|
||||||
|
/* systems that have multiple system libraries, some with or without */
|
||||||
|
/* file stream support, in the cases where file stream support is not */
|
||||||
|
/* necessary such as memory loading of font files. */
|
||||||
|
/* */
|
||||||
|
/* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* DLL export compilation */
|
/* DLL export compilation */
|
||||||
|
@ -228,6 +254,8 @@ FT_BEGIN_HEADER
|
||||||
/* */
|
/* */
|
||||||
/* #define FT_EXPORT(x) extern x */
|
/* #define FT_EXPORT(x) extern x */
|
||||||
/* #define FT_EXPORT_DEF(x) x */
|
/* #define FT_EXPORT_DEF(x) x */
|
||||||
|
#define FT_EXPORT(x) __declspec(dllexport) x
|
||||||
|
#define FT_EXPORT_DEF(x) __declspec(dllexport) x
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
@ -363,6 +391,39 @@ FT_BEGIN_HEADER
|
||||||
/* #define FT_DEBUG_LEVEL_TRACE */
|
/* #define FT_DEBUG_LEVEL_TRACE */
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Autofitter debugging */
|
||||||
|
/* */
|
||||||
|
/* If FT_DEBUG_AUTOFIT is defined, FreeType provides some means to */
|
||||||
|
/* control the autofitter behaviour for debugging purposes with global */
|
||||||
|
/* boolean variables (consequently, you should *never* enable this */
|
||||||
|
/* while compiling in `release' mode): */
|
||||||
|
/* */
|
||||||
|
/* _af_debug_disable_horz_hints */
|
||||||
|
/* _af_debug_disable_vert_hints */
|
||||||
|
/* _af_debug_disable_blue_hints */
|
||||||
|
/* */
|
||||||
|
/* Additionally, the following functions provide dumps of various */
|
||||||
|
/* internal autofit structures to stdout (using `printf'): */
|
||||||
|
/* */
|
||||||
|
/* af_glyph_hints_dump_points */
|
||||||
|
/* af_glyph_hints_dump_segments */
|
||||||
|
/* af_glyph_hints_dump_edges */
|
||||||
|
/* */
|
||||||
|
/* As an argument, they use another global variable: */
|
||||||
|
/* */
|
||||||
|
/* _af_debug_hints */
|
||||||
|
/* */
|
||||||
|
/* Please have a look at the `ftgrid' demo program to see how those */
|
||||||
|
/* variables and macros should be used. */
|
||||||
|
/* */
|
||||||
|
/* Do not #undef these macros here since the build system might define */
|
||||||
|
/* them for certain configurations only. */
|
||||||
|
/* */
|
||||||
|
/* #define FT_DEBUG_AUTOFIT */
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Memory Debugging */
|
/* Memory Debugging */
|
||||||
|
@ -575,7 +636,7 @@ FT_BEGIN_HEADER
|
||||||
/* composite flags array which can be used to disambiguate, but old */
|
/* composite flags array which can be used to disambiguate, but old */
|
||||||
/* fonts will not have them. */
|
/* fonts will not have them. */
|
||||||
/* */
|
/* */
|
||||||
/* http://partners.adobe.com/asn/developer/opentype/glyf.html */
|
/* http://www.microsoft.com/typography/otspec/glyf.htm */
|
||||||
/* http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html */
|
/* http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html */
|
||||||
/* */
|
/* */
|
||||||
#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
|
#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
|
||||||
|
@ -676,6 +737,19 @@ FT_BEGIN_HEADER
|
||||||
/* */
|
/* */
|
||||||
#define AF_CONFIG_OPTION_INDIC
|
#define AF_CONFIG_OPTION_INDIC
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Compile autofit module with warp hinting. The idea of the warping */
|
||||||
|
/* code is to slightly scale and shift a glyph within a single dimension */
|
||||||
|
/* so that as much of its segments are aligned (more or less) on the */
|
||||||
|
/* grid. To find out the optimal scaling and shifting value, various */
|
||||||
|
/* parameter combinations are tried and scored. */
|
||||||
|
/* */
|
||||||
|
/* This experimental option is only active if the render mode is */
|
||||||
|
/* FT_RENDER_MODE_LIGHT. */
|
||||||
|
/* */
|
||||||
|
/* #define AF_CONFIG_OPTION_USE_WARPER */
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
/* ANSI-specific library and header configuration file (specification */
|
/* ANSI-specific library and header configuration file (specification */
|
||||||
/* only). */
|
/* only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2009 by */
|
/* Copyright 2002-2007, 2009, 2011 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,11 +59,12 @@
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
#define FT_CHAR_BIT CHAR_BIT
|
#define FT_CHAR_BIT CHAR_BIT
|
||||||
#define FT_INT_MAX INT_MAX
|
#define FT_USHORT_MAX USHRT_MAX
|
||||||
#define FT_INT_MIN INT_MIN
|
#define FT_INT_MAX INT_MAX
|
||||||
#define FT_UINT_MAX UINT_MAX
|
#define FT_INT_MIN INT_MIN
|
||||||
#define FT_ULONG_MAX ULONG_MAX
|
#define FT_UINT_MAX UINT_MAX
|
||||||
|
#define FT_ULONG_MAX ULONG_MAX
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
|
|
|
@ -4,8 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* FreeType high-level API and common types (specification only). */
|
/* FreeType high-level API and common types (specification only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, */
|
/* Copyright 1996-2011 by */
|
||||||
/* 2010 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, */
|
||||||
|
@ -227,10 +226,12 @@ FT_BEGIN_HEADER
|
||||||
/* Left side bearing for vertical layout. */
|
/* Left side bearing for vertical layout. */
|
||||||
/* */
|
/* */
|
||||||
/* vertBearingY :: */
|
/* vertBearingY :: */
|
||||||
/* Top side bearing for vertical layout. */
|
/* Top side bearing for vertical layout. Larger positive values */
|
||||||
|
/* mean further below the vertical glyph origin. */
|
||||||
/* */
|
/* */
|
||||||
/* vertAdvance :: */
|
/* vertAdvance :: */
|
||||||
/* Advance height for vertical layout. */
|
/* Advance height for vertical layout. Positive values mean the */
|
||||||
|
/* glyph has a positive advance downward. */
|
||||||
/* */
|
/* */
|
||||||
/* <Note> */
|
/* <Note> */
|
||||||
/* If not disabled with @FT_LOAD_NO_HINTING, the values represent */
|
/* If not disabled with @FT_LOAD_NO_HINTING, the values represent */
|
||||||
|
@ -1058,12 +1059,12 @@ FT_BEGIN_HEADER
|
||||||
/* */
|
/* */
|
||||||
/* It is not possible to autohint such fonts using */
|
/* It is not possible to autohint 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 */
|
||||||
/* probably never want this except for demonstration purposes. */
|
/* probably never want this except for demonstration purposes. */
|
||||||
/* */
|
/* */
|
||||||
/* Currently, there are six TrueType fonts in the list of tricky */
|
/* Currently, there are about a dozen TrueType fonts in the list of */
|
||||||
/* fonts; they are hard-coded in file `ttobjs.c'. */
|
/* tricky fonts; they are hard-coded in file `ttobjs.c'. */
|
||||||
/* */
|
/* */
|
||||||
#define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
|
#define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
|
||||||
#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
|
#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
|
||||||
|
@ -2106,8 +2107,8 @@ FT_BEGIN_HEADER
|
||||||
/* used to determine both scaling values. */
|
/* used to determine both scaling values. */
|
||||||
/* */
|
/* */
|
||||||
/* FT_SIZE_REQUEST_TYPE_REAL_DIM :: */
|
/* FT_SIZE_REQUEST_TYPE_REAL_DIM :: */
|
||||||
/* The real dimension. The sum of the the `Ascender' and (minus */
|
/* The real dimension. The sum of the the `ascender' and (minus */
|
||||||
/* of) the `Descender' fields of @FT_FaceRec are used to determine */
|
/* of) the `descender' fields of @FT_FaceRec are used to determine */
|
||||||
/* both scaling values. */
|
/* both scaling values. */
|
||||||
/* */
|
/* */
|
||||||
/* FT_SIZE_REQUEST_TYPE_BBOX :: */
|
/* FT_SIZE_REQUEST_TYPE_BBOX :: */
|
||||||
|
@ -2445,13 +2446,7 @@ FT_BEGIN_HEADER
|
||||||
* in fonts. By default, FreeType tries to handle broken fonts also.
|
* in fonts. By default, FreeType tries to handle broken fonts also.
|
||||||
*
|
*
|
||||||
* FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ::
|
* FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ::
|
||||||
* Indicates that the font driver should ignore the global advance
|
* Ignored. Deprecated.
|
||||||
* width defined in the font. By default, that value is used as the
|
|
||||||
* advance width for all glyphs when the face has
|
|
||||||
* @FT_FACE_FLAG_FIXED_WIDTH set.
|
|
||||||
*
|
|
||||||
* This flag exists for historical reasons (to support buggy CJK
|
|
||||||
* fonts).
|
|
||||||
*
|
*
|
||||||
* FT_LOAD_NO_RECURSE ::
|
* FT_LOAD_NO_RECURSE ::
|
||||||
* This flag is only used internally. It merely indicates that the
|
* This flag is only used internally. It merely indicates that the
|
||||||
|
@ -2921,6 +2916,10 @@ FT_BEGIN_HEADER
|
||||||
/* The glyph name is truncated to fit within the buffer if it is too */
|
/* The glyph name is truncated to fit within the buffer if it is too */
|
||||||
/* long. The returned string is always zero-terminated. */
|
/* long. The returned string is always zero-terminated. */
|
||||||
/* */
|
/* */
|
||||||
|
/* Be aware that FreeType reorders glyph indices internally so that */
|
||||||
|
/* glyph index~0 always corresponds to the `missing glyph' (called */
|
||||||
|
/* `.notdef'). */
|
||||||
|
/* */
|
||||||
/* This function is not compiled within the library if the config */
|
/* This function is not compiled within the library if the config */
|
||||||
/* macro `FT_CONFIG_OPTION_NO_GLYPH_NAMES' is defined in */
|
/* macro `FT_CONFIG_OPTION_NO_GLYPH_NAMES' is defined in */
|
||||||
/* `include/freetype/config/ftoptions.h'. */
|
/* `include/freetype/config/ftoptions.h'. */
|
||||||
|
@ -3331,6 +3330,9 @@ FT_BEGIN_HEADER
|
||||||
/* in the @PS_FontInfoRec structure which is only guaranteed to */
|
/* in the @PS_FontInfoRec structure which is only guaranteed to */
|
||||||
/* return the correct results for Type~1 fonts. */
|
/* return the correct results for Type~1 fonts. */
|
||||||
/* */
|
/* */
|
||||||
|
/* <Since> */
|
||||||
|
/* 2.3.8 */
|
||||||
|
/* */
|
||||||
FT_EXPORT( FT_UShort )
|
FT_EXPORT( FT_UShort )
|
||||||
FT_Get_FSType_Flags( FT_Face face );
|
FT_Get_FSType_Flags( FT_Face face );
|
||||||
|
|
||||||
|
@ -3808,7 +3810,7 @@ FT_BEGIN_HEADER
|
||||||
*/
|
*/
|
||||||
#define FREETYPE_MAJOR 2
|
#define FREETYPE_MAJOR 2
|
||||||
#define FREETYPE_MINOR 4
|
#define FREETYPE_MINOR 4
|
||||||
#define FREETYPE_PATCH 4
|
#define FREETYPE_PATCH 8
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* FreeType exact bbox computation (specification). */
|
/* FreeType exact bbox computation (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2003, 2007 by */
|
/* Copyright 1996-2001, 2003, 2007, 2011 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, */
|
||||||
|
@ -73,6 +73,14 @@ FT_BEGIN_HEADER
|
||||||
/* <Return> */
|
/* <Return> */
|
||||||
/* FreeType error code. 0~means success. */
|
/* FreeType error code. 0~means success. */
|
||||||
/* */
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* If the font is tricky and the glyph has been loaded with */
|
||||||
|
/* @FT_LOAD_NO_SCALE, the resulting BBox is meaningless. To get */
|
||||||
|
/* reasonable values for the BBox it is necessary to load the glyph */
|
||||||
|
/* at a large ppem value (so that the hinting instructions can */
|
||||||
|
/* properly shift and scale the subglyphs), then extracting the BBox */
|
||||||
|
/* which can be eventually converted back to font units. */
|
||||||
|
/* */
|
||||||
FT_EXPORT( FT_Error )
|
FT_EXPORT( FT_Error )
|
||||||
FT_Outline_Get_BBox( FT_Outline* outline,
|
FT_Outline_Get_BBox( FT_Outline* outline,
|
||||||
FT_BBox *abbox );
|
FT_BBox *abbox );
|
||||||
|
|
102
other/freetype/include/freetype/ftbzip2.h
Normal file
102
other/freetype/include/freetype/ftbzip2.h
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
/***************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ftbzip2.h */
|
||||||
|
/* */
|
||||||
|
/* Bzip2-compressed stream support. */
|
||||||
|
/* */
|
||||||
|
/* Copyright 2010 by */
|
||||||
|
/* Joel Klinghed. */
|
||||||
|
/* */
|
||||||
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
/* modified, and distributed under the terms of the FreeType project */
|
||||||
|
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||||
|
/* this file you indicate that you have read the license and */
|
||||||
|
/* understand and accept it fully. */
|
||||||
|
/* */
|
||||||
|
/***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __FTBZIP2_H__
|
||||||
|
#define __FTBZIP2_H__
|
||||||
|
|
||||||
|
#include <ft2build.h>
|
||||||
|
#include FT_FREETYPE_H
|
||||||
|
|
||||||
|
#ifdef FREETYPE_H
|
||||||
|
#error "freetype.h of FreeType 1 has been loaded!"
|
||||||
|
#error "Please fix the directory search order for header files"
|
||||||
|
#error "so that freetype.h of FreeType 2 is found first."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
FT_BEGIN_HEADER
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Section> */
|
||||||
|
/* bzip2 */
|
||||||
|
/* */
|
||||||
|
/* <Title> */
|
||||||
|
/* BZIP2 Streams */
|
||||||
|
/* */
|
||||||
|
/* <Abstract> */
|
||||||
|
/* Using bzip2-compressed font files. */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* This section contains the declaration of Bzip2-specific functions. */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
*
|
||||||
|
* @function:
|
||||||
|
* FT_Stream_OpenBzip2
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* Open a new stream to parse bzip2-compressed font files. This is
|
||||||
|
* mainly used to support the compressed `*.pcf.bz2' fonts that come
|
||||||
|
* with XFree86.
|
||||||
|
*
|
||||||
|
* @input:
|
||||||
|
* stream ::
|
||||||
|
* The target embedding stream.
|
||||||
|
*
|
||||||
|
* source ::
|
||||||
|
* The source stream.
|
||||||
|
*
|
||||||
|
* @return:
|
||||||
|
* FreeType error code. 0~means success.
|
||||||
|
*
|
||||||
|
* @note:
|
||||||
|
* The source stream must be opened _before_ calling this function.
|
||||||
|
*
|
||||||
|
* Calling the internal function `FT_Stream_Close' on the new stream will
|
||||||
|
* *not* call `FT_Stream_Close' on the source stream. None of the stream
|
||||||
|
* objects will be released to the heap.
|
||||||
|
*
|
||||||
|
* The stream implementation is very basic and resets the decompression
|
||||||
|
* process each time seeking backwards is needed within the stream.
|
||||||
|
*
|
||||||
|
* In certain builds of the library, bzip2 compression recognition is
|
||||||
|
* automatically handled when calling @FT_New_Face or @FT_Open_Face.
|
||||||
|
* This means that if no font driver is capable of handling the raw
|
||||||
|
* compressed file, the library will try to open a bzip2 compressed stream
|
||||||
|
* from it and re-open the face with it.
|
||||||
|
*
|
||||||
|
* This function may return `FT_Err_Unimplemented_Feature' if your build
|
||||||
|
* of FreeType was not compiled with bzip2 support.
|
||||||
|
*/
|
||||||
|
FT_EXPORT( FT_Error )
|
||||||
|
FT_Stream_OpenBzip2( FT_Stream stream,
|
||||||
|
FT_Stream source );
|
||||||
|
|
||||||
|
/* */
|
||||||
|
|
||||||
|
|
||||||
|
FT_END_HEADER
|
||||||
|
|
||||||
|
#endif /* __FTBZIP2_H__ */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
|
@ -98,6 +98,7 @@
|
||||||
/* module_management */
|
/* module_management */
|
||||||
/* gzip */
|
/* gzip */
|
||||||
/* lzw */
|
/* lzw */
|
||||||
|
/* bzip2 */
|
||||||
/* lcd_filtering */
|
/* lcd_filtering */
|
||||||
/* */
|
/* */
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
|
|
@ -214,7 +214,6 @@
|
||||||
FT_ERRORDEF_( No_Unicode_Glyph_Name, 0xA3, \
|
FT_ERRORDEF_( No_Unicode_Glyph_Name, 0xA3, \
|
||||||
"no Unicode glyph name found" )
|
"no Unicode glyph name found" )
|
||||||
|
|
||||||
|
|
||||||
/* BDF errors */
|
/* BDF errors */
|
||||||
|
|
||||||
FT_ERRORDEF_( Missing_Startfont_Field, 0xB0, \
|
FT_ERRORDEF_( Missing_Startfont_Field, 0xB0, \
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* Access of TrueType's `gasp' table (specification). */
|
/* Access of TrueType's `gasp' table (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2007, 2008 by */
|
/* Copyright 2007, 2008, 2011 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, */
|
||||||
|
@ -63,18 +63,26 @@
|
||||||
*
|
*
|
||||||
* FT_GASP_DO_GRIDFIT ::
|
* FT_GASP_DO_GRIDFIT ::
|
||||||
* Grid-fitting and hinting should be performed at the specified ppem.
|
* Grid-fitting and hinting should be performed at the specified ppem.
|
||||||
* This *really* means TrueType bytecode interpretation.
|
* This *really* means TrueType bytecode interpretation. If this bit
|
||||||
|
* is not set, no hinting gets applied.
|
||||||
*
|
*
|
||||||
* FT_GASP_DO_GRAY ::
|
* FT_GASP_DO_GRAY ::
|
||||||
* Anti-aliased rendering should be performed at the specified ppem.
|
* Anti-aliased rendering should be performed at the specified ppem.
|
||||||
|
* If not set, do monochrome rendering.
|
||||||
*
|
*
|
||||||
* FT_GASP_SYMMETRIC_SMOOTHING ::
|
* FT_GASP_SYMMETRIC_SMOOTHING ::
|
||||||
* Smoothing along multiple axes must be used with ClearType.
|
* If set, smoothing along multiple axes must be used with ClearType.
|
||||||
*
|
*
|
||||||
* FT_GASP_SYMMETRIC_GRIDFIT ::
|
* FT_GASP_SYMMETRIC_GRIDFIT ::
|
||||||
* Grid-fitting must be used with ClearType's symmetric smoothing.
|
* Grid-fitting must be used with ClearType's symmetric smoothing.
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
|
* The bit-flags `FT_GASP_DO_GRIDFIT' and `FT_GASP_DO_GRAY' are to be
|
||||||
|
* used for standard font rasterization only. Independently of that,
|
||||||
|
* `FT_GASP_SYMMETRIC_SMOOTHING' and `FT_GASP_SYMMETRIC_GRIDFIT' are to
|
||||||
|
* be used if ClearType is enabled (and `FT_GASP_DO_GRIDFIT' and
|
||||||
|
* `FT_GASP_DO_GRAY' are consequently ignored).
|
||||||
|
*
|
||||||
* `ClearType' is Microsoft's implementation of LCD rendering, partly
|
* `ClearType' is Microsoft's implementation of LCD rendering, partly
|
||||||
* protected by patents.
|
* protected by patents.
|
||||||
*
|
*
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* FreeType convenience functions to handle glyphs (specification). */
|
/* FreeType convenience functions to handle glyphs (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002, 2003, 2006, 2008, 2009 by */
|
/* Copyright 1996-2003, 2006, 2008, 2009, 2011 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, */
|
||||||
|
@ -384,6 +384,13 @@ FT_BEGIN_HEADER
|
||||||
/* units in 26.6 pixel format. The value @FT_GLYPH_BBOX_SUBPIXELS */
|
/* units in 26.6 pixel format. The value @FT_GLYPH_BBOX_SUBPIXELS */
|
||||||
/* is another name for this constant. */
|
/* is another name for this constant. */
|
||||||
/* */
|
/* */
|
||||||
|
/* If the font is tricky and the glyph has been loaded with */
|
||||||
|
/* @FT_LOAD_NO_SCALE, the resulting CBox is meaningless. To get */
|
||||||
|
/* reasonable values for the CBox it is necessary to load the glyph */
|
||||||
|
/* at a large ppem value (so that the hinting instructions can */
|
||||||
|
/* properly shift and scale the subglyphs), then extracting the CBox */
|
||||||
|
/* which can be eventually converted back to font units. */
|
||||||
|
/* */
|
||||||
/* Note that the maximum coordinates are exclusive, which means that */
|
/* Note that the maximum coordinates are exclusive, which means that */
|
||||||
/* one can compute the width and height of the glyph image (be it in */
|
/* one can compute the width and height of the glyph image (be it in */
|
||||||
/* integer or 26.6 pixels) as: */
|
/* integer or 26.6 pixels) as: */
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* FreeType module error offsets (specification). */
|
/* FreeType module error offsets (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2001, 2002, 2003, 2004, 2005 by */
|
/* Copyright 2001, 2002, 2003, 2004, 2005, 2010 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, */
|
||||||
|
@ -105,24 +105,25 @@
|
||||||
FT_MODERRDEF( Base, 0x000, "base module" )
|
FT_MODERRDEF( Base, 0x000, "base module" )
|
||||||
FT_MODERRDEF( Autofit, 0x100, "autofitter module" )
|
FT_MODERRDEF( Autofit, 0x100, "autofitter module" )
|
||||||
FT_MODERRDEF( BDF, 0x200, "BDF module" )
|
FT_MODERRDEF( BDF, 0x200, "BDF module" )
|
||||||
FT_MODERRDEF( Cache, 0x300, "cache module" )
|
FT_MODERRDEF( Bzip2, 0x300, "Bzip2 module" )
|
||||||
FT_MODERRDEF( CFF, 0x400, "CFF module" )
|
FT_MODERRDEF( Cache, 0x400, "cache module" )
|
||||||
FT_MODERRDEF( CID, 0x500, "CID module" )
|
FT_MODERRDEF( CFF, 0x500, "CFF module" )
|
||||||
FT_MODERRDEF( Gzip, 0x600, "Gzip module" )
|
FT_MODERRDEF( CID, 0x600, "CID module" )
|
||||||
FT_MODERRDEF( LZW, 0x700, "LZW module" )
|
FT_MODERRDEF( Gzip, 0x700, "Gzip module" )
|
||||||
FT_MODERRDEF( OTvalid, 0x800, "OpenType validation module" )
|
FT_MODERRDEF( LZW, 0x800, "LZW module" )
|
||||||
FT_MODERRDEF( PCF, 0x900, "PCF module" )
|
FT_MODERRDEF( OTvalid, 0x900, "OpenType validation module" )
|
||||||
FT_MODERRDEF( PFR, 0xA00, "PFR module" )
|
FT_MODERRDEF( PCF, 0xA00, "PCF module" )
|
||||||
FT_MODERRDEF( PSaux, 0xB00, "PS auxiliary module" )
|
FT_MODERRDEF( PFR, 0xB00, "PFR module" )
|
||||||
FT_MODERRDEF( PShinter, 0xC00, "PS hinter module" )
|
FT_MODERRDEF( PSaux, 0xC00, "PS auxiliary module" )
|
||||||
FT_MODERRDEF( PSnames, 0xD00, "PS names module" )
|
FT_MODERRDEF( PShinter, 0xD00, "PS hinter module" )
|
||||||
FT_MODERRDEF( Raster, 0xE00, "raster module" )
|
FT_MODERRDEF( PSnames, 0xE00, "PS names module" )
|
||||||
FT_MODERRDEF( SFNT, 0xF00, "SFNT module" )
|
FT_MODERRDEF( Raster, 0xF00, "raster module" )
|
||||||
FT_MODERRDEF( Smooth, 0x1000, "smooth raster module" )
|
FT_MODERRDEF( SFNT, 0x1000, "SFNT module" )
|
||||||
FT_MODERRDEF( TrueType, 0x1100, "TrueType module" )
|
FT_MODERRDEF( Smooth, 0x1100, "smooth raster module" )
|
||||||
FT_MODERRDEF( Type1, 0x1200, "Type 1 module" )
|
FT_MODERRDEF( TrueType, 0x1200, "TrueType module" )
|
||||||
FT_MODERRDEF( Type42, 0x1300, "Type 42 module" )
|
FT_MODERRDEF( Type1, 0x1300, "Type 1 module" )
|
||||||
FT_MODERRDEF( Winfonts, 0x1400, "Windows FON/FNT module" )
|
FT_MODERRDEF( Type42, 0x1400, "Type 42 module" )
|
||||||
|
FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" )
|
||||||
|
|
||||||
|
|
||||||
#ifdef FT_MODERR_END_LIST
|
#ifdef FT_MODERR_END_LIST
|
||||||
|
|
|
@ -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-2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010 by */
|
/* Copyright 1996-2003, 2005-2011 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, */
|
||||||
|
@ -227,6 +227,9 @@ FT_BEGIN_HEADER
|
||||||
/* <Output> */
|
/* <Output> */
|
||||||
/* acbox :: The outline's control box. */
|
/* acbox :: The outline's control box. */
|
||||||
/* */
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* See @FT_Glyph_Get_CBox for a discussion of tricky fonts. */
|
||||||
|
/* */
|
||||||
FT_EXPORT( void )
|
FT_EXPORT( void )
|
||||||
FT_Outline_Get_CBox( const FT_Outline* outline,
|
FT_Outline_Get_CBox( const FT_Outline* outline,
|
||||||
FT_BBox *acbox );
|
FT_BBox *acbox );
|
||||||
|
@ -332,7 +335,7 @@ FT_BEGIN_HEADER
|
||||||
/* handled incorrectly. */
|
/* handled incorrectly. */
|
||||||
/* */
|
/* */
|
||||||
/* If you need `better' metrics values you should call */
|
/* If you need `better' metrics values you should call */
|
||||||
/* @FT_Outline_Get_CBox ot @FT_Outline_Get_BBox. */
|
/* @FT_Outline_Get_CBox or @FT_Outline_Get_BBox. */
|
||||||
/* */
|
/* */
|
||||||
/* Example call: */
|
/* Example call: */
|
||||||
/* */
|
/* */
|
||||||
|
|
|
@ -212,6 +212,14 @@ 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 */
|
||||||
|
/* FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels */
|
||||||
|
/* anti-aliasing mode; this option must be set directly in */
|
||||||
|
/* `ftraster.c' and is undefined by default) accepts a single tag */
|
||||||
|
/* `pal5' to set its gray palette as a character string with */
|
||||||
|
/* 5~elements. Consequently, the third and fourth argument are zero */
|
||||||
|
/* normally. */
|
||||||
|
/* */
|
||||||
FT_EXPORT( FT_Error )
|
FT_EXPORT( FT_Error )
|
||||||
FT_Set_Renderer( FT_Library library,
|
FT_Set_Renderer( FT_Library library,
|
||||||
FT_Renderer renderer,
|
FT_Renderer renderer,
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* FreeType path stroker (specification). */
|
/* FreeType path stroker (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by */
|
/* Copyright 2002-2006, 2008, 2009, 2011 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, */
|
||||||
|
@ -75,20 +75,44 @@ FT_BEGIN_HEADER
|
||||||
* to join two lines smoothly.
|
* to join two lines smoothly.
|
||||||
*
|
*
|
||||||
* FT_STROKER_LINEJOIN_BEVEL ::
|
* FT_STROKER_LINEJOIN_BEVEL ::
|
||||||
* Used to render beveled line joins; i.e., the two joining lines
|
* Used to render beveled line joins. The outer corner of
|
||||||
* are extended until they intersect.
|
* the joined lines is filled by enclosing the triangular
|
||||||
|
* region of the corner with a straight line between the
|
||||||
|
* outer corners of each stroke.
|
||||||
*
|
*
|
||||||
|
* FT_STROKER_LINEJOIN_MITER_FIXED ::
|
||||||
|
* Used to render mitered line joins, with fixed bevels if the
|
||||||
|
* miter limit is exceeded. The outer edges of the strokes
|
||||||
|
* for the two segments are extended until they meet at an
|
||||||
|
* angle. If the segments meet at too sharp an angle (such
|
||||||
|
* that the miter would extend from the intersection of the
|
||||||
|
* segments a distance greater than the product of the miter
|
||||||
|
* limit value and the border radius), then a bevel join (see
|
||||||
|
* above) is used instead. This prevents long spikes being
|
||||||
|
* created. FT_STROKER_LINEJOIN_MITER_FIXED generates a miter
|
||||||
|
* line join as used in PostScript and PDF.
|
||||||
|
*
|
||||||
|
* FT_STROKER_LINEJOIN_MITER_VARIABLE ::
|
||||||
* FT_STROKER_LINEJOIN_MITER ::
|
* FT_STROKER_LINEJOIN_MITER ::
|
||||||
* Same as beveled rendering, except that an additional line
|
* Used to render mitered line joins, with variable bevels if
|
||||||
* break is added if the angle between the two joining lines
|
* the miter limit is exceeded. The intersection of the
|
||||||
* is too closed (this is useful to avoid unpleasant spikes
|
* strokes is clipped at a line perpendicular to the bisector
|
||||||
* in beveled rendering).
|
* of the angle between the strokes, at the distance from the
|
||||||
|
* intersection of the segments equal to the product of the
|
||||||
|
* miter limit value and the border radius. This prevents
|
||||||
|
* long spikes being created.
|
||||||
|
* FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line
|
||||||
|
* join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias
|
||||||
|
* for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for
|
||||||
|
* backwards compatibility.
|
||||||
*/
|
*/
|
||||||
typedef enum FT_Stroker_LineJoin_
|
typedef enum FT_Stroker_LineJoin_
|
||||||
{
|
{
|
||||||
FT_STROKER_LINEJOIN_ROUND = 0,
|
FT_STROKER_LINEJOIN_ROUND = 0,
|
||||||
FT_STROKER_LINEJOIN_BEVEL,
|
FT_STROKER_LINEJOIN_BEVEL = 1,
|
||||||
FT_STROKER_LINEJOIN_MITER
|
FT_STROKER_LINEJOIN_MITER_VARIABLE = 2,
|
||||||
|
FT_STROKER_LINEJOIN_MITER = FT_STROKER_LINEJOIN_MITER_VARIABLE,
|
||||||
|
FT_STROKER_LINEJOIN_MITER_FIXED = 3
|
||||||
|
|
||||||
} FT_Stroker_LineJoin;
|
} FT_Stroker_LineJoin;
|
||||||
|
|
||||||
|
@ -245,7 +269,8 @@ FT_BEGIN_HEADER
|
||||||
* The line join style.
|
* The line join style.
|
||||||
*
|
*
|
||||||
* miter_limit ::
|
* miter_limit ::
|
||||||
* The miter limit for the FT_STROKER_LINEJOIN_MITER style,
|
* The miter limit for the FT_STROKER_LINEJOIN_MITER_FIXED and
|
||||||
|
* FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles,
|
||||||
* expressed as 16.16 fixed point value.
|
* expressed as 16.16 fixed point value.
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* Stream handling (specification). */
|
/* Stream handling (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002, 2004, 2005, 2006 by */
|
/* Copyright 1996-2002, 2004-2006, 2011 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, */
|
||||||
|
@ -292,18 +292,18 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#define FT_GET_CHAR() FT_GET_MACRO( FT_Stream_GetChar, FT_Char )
|
#define FT_GET_CHAR() FT_GET_MACRO( FT_Stream_GetChar, FT_Char )
|
||||||
#define FT_GET_BYTE() FT_GET_MACRO( FT_Stream_GetChar, FT_Byte )
|
#define FT_GET_BYTE() FT_GET_MACRO( FT_Stream_GetChar, FT_Byte )
|
||||||
#define FT_GET_SHORT() FT_GET_MACRO( FT_Stream_GetShort, FT_Short )
|
#define FT_GET_SHORT() FT_GET_MACRO( FT_Stream_GetUShort, FT_Short )
|
||||||
#define FT_GET_USHORT() FT_GET_MACRO( FT_Stream_GetShort, FT_UShort )
|
#define FT_GET_USHORT() FT_GET_MACRO( FT_Stream_GetUShort, FT_UShort )
|
||||||
#define FT_GET_OFF3() FT_GET_MACRO( FT_Stream_GetOffset, FT_Long )
|
#define FT_GET_OFF3() FT_GET_MACRO( FT_Stream_GetUOffset, FT_Long )
|
||||||
#define FT_GET_UOFF3() FT_GET_MACRO( FT_Stream_GetOffset, FT_ULong )
|
#define FT_GET_UOFF3() FT_GET_MACRO( FT_Stream_GetUOffset, FT_ULong )
|
||||||
#define FT_GET_LONG() FT_GET_MACRO( FT_Stream_GetLong, FT_Long )
|
#define FT_GET_LONG() FT_GET_MACRO( FT_Stream_GetULong, FT_Long )
|
||||||
#define FT_GET_ULONG() FT_GET_MACRO( FT_Stream_GetLong, FT_ULong )
|
#define FT_GET_ULONG() FT_GET_MACRO( FT_Stream_GetULong, FT_ULong )
|
||||||
#define FT_GET_TAG4() FT_GET_MACRO( FT_Stream_GetLong, FT_ULong )
|
#define FT_GET_TAG4() FT_GET_MACRO( FT_Stream_GetULong, FT_ULong )
|
||||||
|
|
||||||
#define FT_GET_SHORT_LE() FT_GET_MACRO( FT_Stream_GetShortLE, FT_Short )
|
#define FT_GET_SHORT_LE() FT_GET_MACRO( FT_Stream_GetUShortLE, FT_Short )
|
||||||
#define FT_GET_USHORT_LE() FT_GET_MACRO( FT_Stream_GetShortLE, FT_UShort )
|
#define FT_GET_USHORT_LE() FT_GET_MACRO( FT_Stream_GetUShortLE, FT_UShort )
|
||||||
#define FT_GET_LONG_LE() FT_GET_MACRO( FT_Stream_GetLongLE, FT_Long )
|
#define FT_GET_LONG_LE() FT_GET_MACRO( FT_Stream_GetULongLE, FT_Long )
|
||||||
#define FT_GET_ULONG_LE() FT_GET_MACRO( FT_Stream_GetLongLE, FT_ULong )
|
#define FT_GET_ULONG_LE() FT_GET_MACRO( FT_Stream_GetULongLE, FT_ULong )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FT_READ_MACRO( func, type, var ) \
|
#define FT_READ_MACRO( func, type, var ) \
|
||||||
|
@ -312,17 +312,17 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#define FT_READ_BYTE( var ) FT_READ_MACRO( FT_Stream_ReadChar, FT_Byte, var )
|
#define FT_READ_BYTE( var ) FT_READ_MACRO( FT_Stream_ReadChar, FT_Byte, var )
|
||||||
#define FT_READ_CHAR( var ) FT_READ_MACRO( FT_Stream_ReadChar, FT_Char, var )
|
#define FT_READ_CHAR( var ) FT_READ_MACRO( FT_Stream_ReadChar, FT_Char, var )
|
||||||
#define FT_READ_SHORT( var ) FT_READ_MACRO( FT_Stream_ReadShort, FT_Short, var )
|
#define FT_READ_SHORT( var ) FT_READ_MACRO( FT_Stream_ReadUShort, FT_Short, var )
|
||||||
#define FT_READ_USHORT( var ) FT_READ_MACRO( FT_Stream_ReadShort, FT_UShort, var )
|
#define FT_READ_USHORT( var ) FT_READ_MACRO( FT_Stream_ReadUShort, FT_UShort, var )
|
||||||
#define FT_READ_OFF3( var ) FT_READ_MACRO( FT_Stream_ReadOffset, FT_Long, var )
|
#define FT_READ_OFF3( var ) FT_READ_MACRO( FT_Stream_ReadUOffset, FT_Long, var )
|
||||||
#define FT_READ_UOFF3( var ) FT_READ_MACRO( FT_Stream_ReadOffset, FT_ULong, var )
|
#define FT_READ_UOFF3( var ) FT_READ_MACRO( FT_Stream_ReadUOffset, FT_ULong, var )
|
||||||
#define FT_READ_LONG( var ) FT_READ_MACRO( FT_Stream_ReadLong, FT_Long, var )
|
#define FT_READ_LONG( var ) FT_READ_MACRO( FT_Stream_ReadULong, FT_Long, var )
|
||||||
#define FT_READ_ULONG( var ) FT_READ_MACRO( FT_Stream_ReadLong, FT_ULong, var )
|
#define FT_READ_ULONG( var ) FT_READ_MACRO( FT_Stream_ReadULong, FT_ULong, var )
|
||||||
|
|
||||||
#define FT_READ_SHORT_LE( var ) FT_READ_MACRO( FT_Stream_ReadShortLE, FT_Short, var )
|
#define FT_READ_SHORT_LE( var ) FT_READ_MACRO( FT_Stream_ReadUShortLE, FT_Short, var )
|
||||||
#define FT_READ_USHORT_LE( var ) FT_READ_MACRO( FT_Stream_ReadShortLE, FT_UShort, var )
|
#define FT_READ_USHORT_LE( var ) FT_READ_MACRO( FT_Stream_ReadUShortLE, FT_UShort, var )
|
||||||
#define FT_READ_LONG_LE( var ) FT_READ_MACRO( FT_Stream_ReadLongLE, FT_Long, var )
|
#define FT_READ_LONG_LE( var ) FT_READ_MACRO( FT_Stream_ReadULongLE, FT_Long, var )
|
||||||
#define FT_READ_ULONG_LE( var ) FT_READ_MACRO( FT_Stream_ReadLongLE, FT_ULong, var )
|
#define FT_READ_ULONG_LE( var ) FT_READ_MACRO( FT_Stream_ReadULongLE, FT_ULong, var )
|
||||||
|
|
||||||
|
|
||||||
#ifndef FT_CONFIG_OPTION_NO_DEFAULT_SYSTEM
|
#ifndef FT_CONFIG_OPTION_NO_DEFAULT_SYSTEM
|
||||||
|
@ -431,25 +431,25 @@ FT_BEGIN_HEADER
|
||||||
FT_BASE( FT_Char )
|
FT_BASE( FT_Char )
|
||||||
FT_Stream_GetChar( FT_Stream stream );
|
FT_Stream_GetChar( FT_Stream stream );
|
||||||
|
|
||||||
/* read a 16-bit big-endian integer from an entered frame */
|
/* read a 16-bit big-endian unsigned integer from an entered frame */
|
||||||
FT_BASE( FT_Short )
|
FT_BASE( FT_UShort )
|
||||||
FT_Stream_GetShort( FT_Stream stream );
|
FT_Stream_GetUShort( FT_Stream stream );
|
||||||
|
|
||||||
/* read a 24-bit big-endian integer from an entered frame */
|
/* read a 24-bit big-endian unsigned integer from an entered frame */
|
||||||
FT_BASE( FT_Long )
|
FT_BASE( FT_ULong )
|
||||||
FT_Stream_GetOffset( FT_Stream stream );
|
FT_Stream_GetUOffset( FT_Stream stream );
|
||||||
|
|
||||||
/* read a 32-bit big-endian integer from an entered frame */
|
/* read a 32-bit big-endian unsigned integer from an entered frame */
|
||||||
FT_BASE( FT_Long )
|
FT_BASE( FT_ULong )
|
||||||
FT_Stream_GetLong( FT_Stream stream );
|
FT_Stream_GetULong( FT_Stream stream );
|
||||||
|
|
||||||
/* read a 16-bit little-endian integer from an entered frame */
|
/* read a 16-bit little-endian unsigned integer from an entered frame */
|
||||||
FT_BASE( FT_Short )
|
FT_BASE( FT_UShort )
|
||||||
FT_Stream_GetShortLE( FT_Stream stream );
|
FT_Stream_GetUShortLE( FT_Stream stream );
|
||||||
|
|
||||||
/* read a 32-bit little-endian integer from an entered frame */
|
/* read a 32-bit little-endian unsigned integer from an entered frame */
|
||||||
FT_BASE( FT_Long )
|
FT_BASE( FT_ULong )
|
||||||
FT_Stream_GetLongLE( FT_Stream stream );
|
FT_Stream_GetULongLE( FT_Stream stream );
|
||||||
|
|
||||||
|
|
||||||
/* read a byte from a stream */
|
/* read a byte from a stream */
|
||||||
|
@ -457,30 +457,30 @@ FT_BEGIN_HEADER
|
||||||
FT_Stream_ReadChar( FT_Stream stream,
|
FT_Stream_ReadChar( FT_Stream stream,
|
||||||
FT_Error* error );
|
FT_Error* error );
|
||||||
|
|
||||||
/* read a 16-bit big-endian integer from a stream */
|
/* read a 16-bit big-endian unsigned integer from a stream */
|
||||||
FT_BASE( FT_Short )
|
FT_BASE( FT_UShort )
|
||||||
FT_Stream_ReadShort( FT_Stream stream,
|
FT_Stream_ReadUShort( FT_Stream stream,
|
||||||
FT_Error* error );
|
|
||||||
|
|
||||||
/* read a 24-bit big-endian integer from a stream */
|
|
||||||
FT_BASE( FT_Long )
|
|
||||||
FT_Stream_ReadOffset( FT_Stream stream,
|
|
||||||
FT_Error* error );
|
FT_Error* error );
|
||||||
|
|
||||||
/* read a 32-bit big-endian integer from a stream */
|
/* read a 24-bit big-endian unsigned integer from a stream */
|
||||||
FT_BASE( FT_Long )
|
FT_BASE( FT_ULong )
|
||||||
FT_Stream_ReadLong( FT_Stream stream,
|
FT_Stream_ReadUOffset( FT_Stream stream,
|
||||||
FT_Error* error );
|
|
||||||
|
|
||||||
/* read a 16-bit little-endian integer from a stream */
|
|
||||||
FT_BASE( FT_Short )
|
|
||||||
FT_Stream_ReadShortLE( FT_Stream stream,
|
|
||||||
FT_Error* error );
|
FT_Error* error );
|
||||||
|
|
||||||
/* read a 32-bit little-endian integer from a stream */
|
/* read a 32-bit big-endian integer from a stream */
|
||||||
FT_BASE( FT_Long )
|
FT_BASE( FT_ULong )
|
||||||
FT_Stream_ReadLongLE( FT_Stream stream,
|
FT_Stream_ReadULong( FT_Stream stream,
|
||||||
FT_Error* error );
|
FT_Error* error );
|
||||||
|
|
||||||
|
/* read a 16-bit little-endian unsigned integer from a stream */
|
||||||
|
FT_BASE( FT_UShort )
|
||||||
|
FT_Stream_ReadUShortLE( FT_Stream stream,
|
||||||
|
FT_Error* error );
|
||||||
|
|
||||||
|
/* read a 32-bit little-endian unsigned integer from a stream */
|
||||||
|
FT_BASE( FT_ULong )
|
||||||
|
FT_Stream_ReadULongLE( FT_Stream stream,
|
||||||
|
FT_Error* error );
|
||||||
|
|
||||||
/* Read a structure from a stream. The structure must be described */
|
/* Read a structure from a stream. The structure must be described */
|
||||||
/* by an array of FT_Frame_Field records. */
|
/* by an array of FT_Frame_Field records. */
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* Tracing handling (specification only). */
|
/* Tracing handling (specification only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2002, 2004, 2005, 2006, 2007 by */
|
/* Copyright 2002, 2004-2007, 2009, 2011 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, */
|
||||||
|
@ -135,5 +135,10 @@ FT_TRACE_DEF( gxvtrak )
|
||||||
FT_TRACE_DEF( gxvprop )
|
FT_TRACE_DEF( gxvprop )
|
||||||
FT_TRACE_DEF( gxvlcar )
|
FT_TRACE_DEF( gxvlcar )
|
||||||
|
|
||||||
|
/* autofit components */
|
||||||
|
FT_TRACE_DEF( afcjk )
|
||||||
|
FT_TRACE_DEF( aflatin )
|
||||||
|
FT_TRACE_DEF( aflatin2 )
|
||||||
|
FT_TRACE_DEF( afwarp )
|
||||||
|
|
||||||
/* END */
|
/* END */
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* pcftypes.h
|
|
||||||
|
|
||||||
FreeType font driver for pcf fonts
|
|
||||||
|
|
||||||
Copyright (C) 2000, 2001, 2002 by
|
|
||||||
Francesco Zappa Nardelli
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef __PCFTYPES_H__
|
|
||||||
#define __PCFTYPES_H__
|
|
||||||
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
|
|
||||||
|
|
||||||
FT_BEGIN_HEADER
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct PCF_Public_FaceRec_
|
|
||||||
{
|
|
||||||
FT_FaceRec root;
|
|
||||||
FT_StreamRec gzip_stream;
|
|
||||||
FT_Stream gzip_source;
|
|
||||||
|
|
||||||
char* charset_encoding;
|
|
||||||
char* charset_registry;
|
|
||||||
|
|
||||||
} PCF_Public_FaceRec, *PCF_Public_Face;
|
|
||||||
|
|
||||||
|
|
||||||
FT_END_HEADER
|
|
||||||
|
|
||||||
#endif /* __PCFTYPES_H__ */
|
|
||||||
|
|
||||||
|
|
||||||
/* END */
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* The FreeType PostScript info service (specification). */
|
/* The FreeType PostScript info service (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2003, 2004, 2009 by */
|
/* Copyright 2003, 2004, 2009, 2011 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, */
|
||||||
|
@ -44,6 +44,13 @@ FT_BEGIN_HEADER
|
||||||
(*PS_GetFontPrivateFunc)( FT_Face face,
|
(*PS_GetFontPrivateFunc)( FT_Face face,
|
||||||
PS_PrivateRec* afont_private );
|
PS_PrivateRec* afont_private );
|
||||||
|
|
||||||
|
typedef FT_Long
|
||||||
|
(*PS_GetFontValueFunc)( FT_Face face,
|
||||||
|
PS_Dict_Keys key,
|
||||||
|
FT_UInt idx,
|
||||||
|
void *value,
|
||||||
|
FT_Long value_len );
|
||||||
|
|
||||||
|
|
||||||
FT_DEFINE_SERVICE( PsInfo )
|
FT_DEFINE_SERVICE( PsInfo )
|
||||||
{
|
{
|
||||||
|
@ -51,22 +58,25 @@ FT_BEGIN_HEADER
|
||||||
PS_GetFontExtraFunc ps_get_font_extra;
|
PS_GetFontExtraFunc ps_get_font_extra;
|
||||||
PS_HasGlyphNamesFunc ps_has_glyph_names;
|
PS_HasGlyphNamesFunc ps_has_glyph_names;
|
||||||
PS_GetFontPrivateFunc ps_get_font_private;
|
PS_GetFontPrivateFunc ps_get_font_private;
|
||||||
|
PS_GetFontValueFunc ps_get_font_value;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef FT_CONFIG_OPTION_PIC
|
#ifndef FT_CONFIG_OPTION_PIC
|
||||||
|
|
||||||
#define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_, \
|
#define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_, \
|
||||||
ps_get_font_extra_, has_glyph_names_, get_font_private_) \
|
ps_get_font_extra_, has_glyph_names_, get_font_private_, \
|
||||||
|
get_font_value_) \
|
||||||
static const FT_Service_PsInfoRec class_ = \
|
static const FT_Service_PsInfoRec class_ = \
|
||||||
{ \
|
{ \
|
||||||
get_font_info_, ps_get_font_extra_, has_glyph_names_, \
|
get_font_info_, ps_get_font_extra_, has_glyph_names_, \
|
||||||
get_font_private_ \
|
get_font_private_, get_font_value_ \
|
||||||
};
|
};
|
||||||
|
|
||||||
#else /* FT_CONFIG_OPTION_PIC */
|
#else /* FT_CONFIG_OPTION_PIC */
|
||||||
|
|
||||||
#define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_, \
|
#define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_, \
|
||||||
ps_get_font_extra_, has_glyph_names_, get_font_private_) \
|
ps_get_font_extra_, has_glyph_names_, get_font_private_, \
|
||||||
|
get_font_value_) \
|
||||||
void \
|
void \
|
||||||
FT_Init_Class_##class_( FT_Library library, \
|
FT_Init_Class_##class_( FT_Library library, \
|
||||||
FT_Service_PsInfoRec* clazz) \
|
FT_Service_PsInfoRec* clazz) \
|
||||||
|
@ -76,6 +86,7 @@ FT_BEGIN_HEADER
|
||||||
clazz->ps_get_font_extra = ps_get_font_extra_; \
|
clazz->ps_get_font_extra = ps_get_font_extra_; \
|
||||||
clazz->ps_has_glyph_names = has_glyph_names_; \
|
clazz->ps_has_glyph_names = has_glyph_names_; \
|
||||||
clazz->ps_get_font_private = get_font_private_; \
|
clazz->ps_get_font_private = get_font_private_; \
|
||||||
|
clazz->ps_get_font_value = get_font_value_; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* FT_CONFIG_OPTION_PIC */
|
#endif /* FT_CONFIG_OPTION_PIC */
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
/* Basic Type1/Type2 type definitions and interface (specification */
|
/* Basic Type1/Type2 type definitions and interface (specification */
|
||||||
/* only). */
|
/* only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by */
|
/* Copyright 1996-2004, 2006, 2008, 2009, 2011 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, */
|
||||||
|
@ -78,17 +78,6 @@ FT_BEGIN_HEADER
|
||||||
} T1_EncodingRec, *T1_Encoding;
|
} T1_EncodingRec, *T1_Encoding;
|
||||||
|
|
||||||
|
|
||||||
typedef enum T1_EncodingType_
|
|
||||||
{
|
|
||||||
T1_ENCODING_TYPE_NONE = 0,
|
|
||||||
T1_ENCODING_TYPE_ARRAY,
|
|
||||||
T1_ENCODING_TYPE_STANDARD,
|
|
||||||
T1_ENCODING_TYPE_ISOLATIN1,
|
|
||||||
T1_ENCODING_TYPE_EXPERT
|
|
||||||
|
|
||||||
} T1_EncodingType;
|
|
||||||
|
|
||||||
|
|
||||||
/* used to hold extra data of PS_FontInfoRec that
|
/* used to hold extra data of PS_FontInfoRec that
|
||||||
* cannot be stored in the publicly defined structure.
|
* cannot be stored in the publicly defined structure.
|
||||||
*
|
*
|
||||||
|
|
|
@ -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-2001, 2002, 2003, 2004, 2006, 2008, 2009 by */
|
/* Copyright 1996-2004, 2006, 2008, 2009, 2011 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, */
|
||||||
|
@ -493,8 +493,166 @@ FT_BEGIN_HEADER
|
||||||
FT_Get_PS_Font_Private( FT_Face face,
|
FT_Get_PS_Font_Private( FT_Face face,
|
||||||
PS_Private afont_private );
|
PS_Private afont_private );
|
||||||
|
|
||||||
/* */
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Enum> */
|
||||||
|
/* T1_EncodingType */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* An enumeration describing the `Encoding' entry in a Type 1 */
|
||||||
|
/* dictionary. */
|
||||||
|
/* */
|
||||||
|
typedef enum T1_EncodingType_
|
||||||
|
{
|
||||||
|
T1_ENCODING_TYPE_NONE = 0,
|
||||||
|
T1_ENCODING_TYPE_ARRAY,
|
||||||
|
T1_ENCODING_TYPE_STANDARD,
|
||||||
|
T1_ENCODING_TYPE_ISOLATIN1,
|
||||||
|
T1_ENCODING_TYPE_EXPERT
|
||||||
|
|
||||||
|
} T1_EncodingType;
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Enum> */
|
||||||
|
/* PS_Dict_Keys */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* An enumeration used in calls to @FT_Get_PS_Font_Value to identify */
|
||||||
|
/* the Type~1 dictionary entry to retrieve. */
|
||||||
|
/* */
|
||||||
|
typedef enum PS_Dict_Keys_
|
||||||
|
{
|
||||||
|
/* conventionally in the font dictionary */
|
||||||
|
PS_DICT_FONT_TYPE, /* FT_Byte */
|
||||||
|
PS_DICT_FONT_MATRIX, /* FT_Fixed */
|
||||||
|
PS_DICT_FONT_BBOX, /* FT_Fixed */
|
||||||
|
PS_DICT_PAINT_TYPE, /* FT_Byte */
|
||||||
|
PS_DICT_FONT_NAME, /* FT_String* */
|
||||||
|
PS_DICT_UNIQUE_ID, /* FT_Int */
|
||||||
|
PS_DICT_NUM_CHAR_STRINGS, /* FT_Int */
|
||||||
|
PS_DICT_CHAR_STRING_KEY, /* FT_String* */
|
||||||
|
PS_DICT_CHAR_STRING, /* FT_String* */
|
||||||
|
PS_DICT_ENCODING_TYPE, /* T1_EncodingType */
|
||||||
|
PS_DICT_ENCODING_ENTRY, /* FT_String* */
|
||||||
|
|
||||||
|
/* conventionally in the font Private dictionary */
|
||||||
|
PS_DICT_NUM_SUBRS, /* FT_Int */
|
||||||
|
PS_DICT_SUBR, /* FT_String* */
|
||||||
|
PS_DICT_STD_HW, /* FT_UShort */
|
||||||
|
PS_DICT_STD_VW, /* FT_UShort */
|
||||||
|
PS_DICT_NUM_BLUE_VALUES, /* FT_Byte */
|
||||||
|
PS_DICT_BLUE_VALUE, /* FT_Short */
|
||||||
|
PS_DICT_BLUE_FUZZ, /* FT_Int */
|
||||||
|
PS_DICT_NUM_OTHER_BLUES, /* FT_Byte */
|
||||||
|
PS_DICT_OTHER_BLUE, /* FT_Short */
|
||||||
|
PS_DICT_NUM_FAMILY_BLUES, /* FT_Byte */
|
||||||
|
PS_DICT_FAMILY_BLUE, /* FT_Short */
|
||||||
|
PS_DICT_NUM_FAMILY_OTHER_BLUES, /* FT_Byte */
|
||||||
|
PS_DICT_FAMILY_OTHER_BLUE, /* FT_Short */
|
||||||
|
PS_DICT_BLUE_SCALE, /* FT_Fixed */
|
||||||
|
PS_DICT_BLUE_SHIFT, /* FT_Int */
|
||||||
|
PS_DICT_NUM_STEM_SNAP_H, /* FT_Byte */
|
||||||
|
PS_DICT_STEM_SNAP_H, /* FT_Short */
|
||||||
|
PS_DICT_NUM_STEM_SNAP_V, /* FT_Byte */
|
||||||
|
PS_DICT_STEM_SNAP_V, /* FT_Short */
|
||||||
|
PS_DICT_FORCE_BOLD, /* FT_Bool */
|
||||||
|
PS_DICT_RND_STEM_UP, /* FT_Bool */
|
||||||
|
PS_DICT_MIN_FEATURE, /* FT_Short */
|
||||||
|
PS_DICT_LEN_IV, /* FT_Int */
|
||||||
|
PS_DICT_PASSWORD, /* FT_Long */
|
||||||
|
PS_DICT_LANGUAGE_GROUP, /* FT_Long */
|
||||||
|
|
||||||
|
/* conventionally in the font FontInfo dictionary */
|
||||||
|
PS_DICT_VERSION, /* FT_String* */
|
||||||
|
PS_DICT_NOTICE, /* FT_String* */
|
||||||
|
PS_DICT_FULL_NAME, /* FT_String* */
|
||||||
|
PS_DICT_FAMILY_NAME, /* FT_String* */
|
||||||
|
PS_DICT_WEIGHT, /* FT_String */
|
||||||
|
PS_DICT_IS_FIXED_PITCH, /* FT_Bool */
|
||||||
|
PS_DICT_UNDERLINE_POSITION, /* FT_Short */
|
||||||
|
PS_DICT_UNDERLINE_THICKNESS, /* FT_UShort */
|
||||||
|
PS_DICT_FS_TYPE, /* FT_UShort */
|
||||||
|
PS_DICT_ITALIC_ANGLE, /* FT_Long */
|
||||||
|
|
||||||
|
PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
|
||||||
|
|
||||||
|
} PS_Dict_Keys;
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
*
|
||||||
|
* @function:
|
||||||
|
* FT_Get_PS_Font_Value
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* Retrieve the value for the supplied key from a PostScript font.
|
||||||
|
*
|
||||||
|
* @input:
|
||||||
|
* face ::
|
||||||
|
* PostScript face handle.
|
||||||
|
*
|
||||||
|
* key ::
|
||||||
|
* An enumeration value representing the dictionary key to retrieve.
|
||||||
|
*
|
||||||
|
* idx ::
|
||||||
|
* For array values, this specifies the index to be returned.
|
||||||
|
*
|
||||||
|
* value ::
|
||||||
|
* A pointer to memory into which to write the value.
|
||||||
|
*
|
||||||
|
* valen_len ::
|
||||||
|
* The size, in bytes, of the memory supplied for the value.
|
||||||
|
*
|
||||||
|
* @output:
|
||||||
|
* value ::
|
||||||
|
* The value matching the above key, if it exists.
|
||||||
|
*
|
||||||
|
* @return:
|
||||||
|
* The amount of memory (in bytes) required to hold the requested
|
||||||
|
* value (if it exists, -1 otherwise).
|
||||||
|
*
|
||||||
|
* @note:
|
||||||
|
* The values returned are not pointers into the internal structures of
|
||||||
|
* the face, but are `fresh' copies, so that the memory containing them
|
||||||
|
* belongs to the calling application. This also enforces the
|
||||||
|
* `read-only' nature of these values, i.e., this function cannot be
|
||||||
|
* used to manipulate the face.
|
||||||
|
*
|
||||||
|
* `value' is a void pointer because the values returned can be of
|
||||||
|
* various types.
|
||||||
|
*
|
||||||
|
* If either `value' is NULL or `value_len' is too small, just the
|
||||||
|
* required memory size for the requested entry is returned.
|
||||||
|
*
|
||||||
|
* The `idx' parameter is used, not only to retrieve elements of, for
|
||||||
|
* example, the FontMatrix or FontBBox, but also to retrieve name keys
|
||||||
|
* from the CharStrings dictionary, and the charstrings themselves. It
|
||||||
|
* is ignored for atomic values.
|
||||||
|
*
|
||||||
|
* PS_DICT_BLUE_SCALE returns a value that is scaled up by 1000. To
|
||||||
|
* get the value as in the font stream, you need to divide by
|
||||||
|
* 65536000.0 (to remove the FT_Fixed scale, and the x1000 scale).
|
||||||
|
*
|
||||||
|
* IMPORTANT: Only key/value pairs read by the FreeType interpreter can
|
||||||
|
* be retrieved. So, for example, PostScript procedures such as NP,
|
||||||
|
* ND, and RD are not available. Arbitrary keys are, obviously, not be
|
||||||
|
* available either.
|
||||||
|
*
|
||||||
|
* If the font's format is not PostScript-based, this function returns
|
||||||
|
* the `FT_Err_Invalid_Argument' error code.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
FT_EXPORT( FT_Long )
|
||||||
|
FT_Get_PS_Font_Value( FT_Face face,
|
||||||
|
PS_Dict_Keys key,
|
||||||
|
FT_UInt idx,
|
||||||
|
void *value,
|
||||||
|
FT_Long value_len );
|
||||||
|
|
||||||
|
/* */
|
||||||
|
|
||||||
FT_END_HEADER
|
FT_END_HEADER
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
/* Basic SFNT/TrueType tables definitions and interface */
|
/* Basic SFNT/TrueType tables definitions and interface */
|
||||||
/* (specification only). */
|
/* (specification only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2008, 2009, 2010 by */
|
/* Copyright 1996-2005, 2008-2011 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, */
|
||||||
|
@ -687,12 +687,16 @@ FT_BEGIN_HEADER
|
||||||
* The index of an SFNT table. The function returns
|
* The index of an SFNT table. The function returns
|
||||||
* FT_Err_Table_Missing for an invalid value.
|
* FT_Err_Table_Missing for an invalid value.
|
||||||
*
|
*
|
||||||
* @output:
|
* @inout:
|
||||||
* tag ::
|
* tag ::
|
||||||
* The name tag of the SFNT table.
|
* The name tag of the SFNT table. If the value is NULL, `table_index'
|
||||||
|
* is ignored, and `length' returns the number of SFNT tables in the
|
||||||
|
* font.
|
||||||
*
|
*
|
||||||
|
* @output:
|
||||||
* length ::
|
* length ::
|
||||||
* The length of the SFNT table.
|
* The length of the SFNT table (or the number of SFNT tables, depending
|
||||||
|
* on `tag').
|
||||||
*
|
*
|
||||||
* @return:
|
* @return:
|
||||||
* FreeType error code. 0~means success.
|
* FreeType error code. 0~means success.
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in a new issue