Index: third_party/freetype/include/internal/pshints.h |
diff --git a/third_party/freetype/include/internal/pshints.h b/third_party/freetype/include/internal/pshints.h |
deleted file mode 100644 |
index f05ea6863a9dc5640827a1f6dd524966b135698e..0000000000000000000000000000000000000000 |
--- a/third_party/freetype/include/internal/pshints.h |
+++ /dev/null |
@@ -1,722 +0,0 @@ |
-/***************************************************************************/ |
-/* */ |
-/* pshints.h */ |
-/* */ |
-/* Interface to Postscript-specific (Type 1 and Type 2) hints */ |
-/* recorders (specification only). These are used to support native */ |
-/* T1/T2 hints in the `type1', `cid', and `cff' font drivers. */ |
-/* */ |
-/* Copyright 2001-2003, 2005-2007, 2009, 2012, 2014 by */ |
-/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
-/* */ |
-/* This file is part of the FreeType project, and may only be used, */ |
-/* modified, and distributed under the terms of the FreeType project */ |
-/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
-/* this file you indicate that you have read the license and */ |
-/* understand and accept it fully. */ |
-/* */ |
-/***************************************************************************/ |
- |
- |
-#ifndef __PSHINTS_H__ |
-#define __PSHINTS_H__ |
- |
- |
-#include <ft2build.h> |
-#include FT_FREETYPE_H |
-#include FT_TYPE1_TABLES_H |
- |
- |
-FT_BEGIN_HEADER |
- |
- |
- /*************************************************************************/ |
- /*************************************************************************/ |
- /***** *****/ |
- /***** INTERNAL REPRESENTATION OF GLOBALS *****/ |
- /***** *****/ |
- /*************************************************************************/ |
- /*************************************************************************/ |
- |
- typedef struct PSH_GlobalsRec_* PSH_Globals; |
- |
- typedef FT_Error |
- (*PSH_Globals_NewFunc)( FT_Memory memory, |
- T1_Private* private_dict, |
- PSH_Globals* aglobals ); |
- |
- typedef void |
- (*PSH_Globals_SetScaleFunc)( PSH_Globals globals, |
- FT_Fixed x_scale, |
- FT_Fixed y_scale, |
- FT_Fixed x_delta, |
- FT_Fixed y_delta ); |
- |
- typedef void |
- (*PSH_Globals_DestroyFunc)( PSH_Globals globals ); |
- |
- |
- typedef struct PSH_Globals_FuncsRec_ |
- { |
- PSH_Globals_NewFunc create; |
- PSH_Globals_SetScaleFunc set_scale; |
- PSH_Globals_DestroyFunc destroy; |
- |
- } PSH_Globals_FuncsRec, *PSH_Globals_Funcs; |
- |
- |
- /*************************************************************************/ |
- /*************************************************************************/ |
- /***** *****/ |
- /***** PUBLIC TYPE 1 HINTS RECORDER *****/ |
- /***** *****/ |
- /*************************************************************************/ |
- /*************************************************************************/ |
- |
- /************************************************************************* |
- * |
- * @type: |
- * T1_Hints |
- * |
- * @description: |
- * This is a handle to an opaque structure used to record glyph hints |
- * from a Type 1 character glyph character string. |
- * |
- * The methods used to operate on this object are defined by the |
- * @T1_Hints_FuncsRec structure. Recording glyph hints is normally |
- * achieved through the following scheme: |
- * |
- * - Open a new hint recording session by calling the `open' method. |
- * This rewinds the recorder and prepare it for new input. |
- * |
- * - For each hint found in the glyph charstring, call the corresponding |
- * method (`stem', `stem3', or `reset'). Note that these functions do |
- * not return an error code. |
- * |
- * - Close the recording session by calling the `close' method. It |
- * returns an error code if the hints were invalid or something |
- * strange happened (e.g., memory shortage). |
- * |
- * The hints accumulated in the object can later be used by the |
- * PostScript hinter. |
- * |
- */ |
- typedef struct T1_HintsRec_* T1_Hints; |
- |
- |
- /************************************************************************* |
- * |
- * @type: |
- * T1_Hints_Funcs |
- * |
- * @description: |
- * A pointer to the @T1_Hints_FuncsRec structure that defines the API of |
- * a given @T1_Hints object. |
- * |
- */ |
- typedef const struct T1_Hints_FuncsRec_* T1_Hints_Funcs; |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T1_Hints_OpenFunc |
- * |
- * @description: |
- * A method of the @T1_Hints class used to prepare it for a new Type 1 |
- * hints recording session. |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 1 hints recorder. |
- * |
- * @note: |
- * You should always call the @T1_Hints_CloseFunc method in order to |
- * close an opened recording session. |
- * |
- */ |
- typedef void |
- (*T1_Hints_OpenFunc)( T1_Hints hints ); |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T1_Hints_SetStemFunc |
- * |
- * @description: |
- * A method of the @T1_Hints class used to record a new horizontal or |
- * vertical stem. This corresponds to the Type 1 `hstem' and `vstem' |
- * operators. |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 1 hints recorder. |
- * |
- * dimension :: |
- * 0 for horizontal stems (hstem), 1 for vertical ones (vstem). |
- * |
- * coords :: |
- * Array of 2 coordinates in 16.16 format, used as (position,length) |
- * stem descriptor. |
- * |
- * @note: |
- * Use vertical coordinates (y) for horizontal stems (dim=0). Use |
- * horizontal coordinates (x) for vertical stems (dim=1). |
- * |
- * `coords[0]' is the absolute stem position (lowest coordinate); |
- * `coords[1]' is the length. |
- * |
- * The length can be negative, in which case it must be either -20 or |
- * -21. It is interpreted as a `ghost' stem, according to the Type 1 |
- * specification. |
- * |
- * If the length is -21 (corresponding to a bottom ghost stem), then |
- * the real stem position is `coords[0]+coords[1]'. |
- * |
- */ |
- typedef void |
- (*T1_Hints_SetStemFunc)( T1_Hints hints, |
- FT_UInt dimension, |
- FT_Fixed* coords ); |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T1_Hints_SetStem3Func |
- * |
- * @description: |
- * A method of the @T1_Hints class used to record three |
- * counter-controlled horizontal or vertical stems at once. |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 1 hints recorder. |
- * |
- * dimension :: |
- * 0 for horizontal stems, 1 for vertical ones. |
- * |
- * coords :: |
- * An array of 6 values in 16.16 format, holding 3 (position,length) |
- * pairs for the counter-controlled stems. |
- * |
- * @note: |
- * Use vertical coordinates (y) for horizontal stems (dim=0). Use |
- * horizontal coordinates (x) for vertical stems (dim=1). |
- * |
- * The lengths cannot be negative (ghost stems are never |
- * counter-controlled). |
- * |
- */ |
- typedef void |
- (*T1_Hints_SetStem3Func)( T1_Hints hints, |
- FT_UInt dimension, |
- FT_Fixed* coords ); |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T1_Hints_ResetFunc |
- * |
- * @description: |
- * A method of the @T1_Hints class used to reset the stems hints in a |
- * recording session. |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 1 hints recorder. |
- * |
- * end_point :: |
- * The index of the last point in the input glyph in which the |
- * previously defined hints apply. |
- * |
- */ |
- typedef void |
- (*T1_Hints_ResetFunc)( T1_Hints hints, |
- FT_UInt end_point ); |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T1_Hints_CloseFunc |
- * |
- * @description: |
- * A method of the @T1_Hints class used to close a hint recording |
- * session. |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 1 hints recorder. |
- * |
- * end_point :: |
- * The index of the last point in the input glyph. |
- * |
- * @return: |
- * FreeType error code. 0 means success. |
- * |
- * @note: |
- * The error code is set to indicate that an error occurred during the |
- * recording session. |
- * |
- */ |
- typedef FT_Error |
- (*T1_Hints_CloseFunc)( T1_Hints hints, |
- FT_UInt end_point ); |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T1_Hints_ApplyFunc |
- * |
- * @description: |
- * A method of the @T1_Hints class used to apply hints to the |
- * corresponding glyph outline. Must be called once all hints have been |
- * recorded. |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 1 hints recorder. |
- * |
- * outline :: |
- * A pointer to the target outline descriptor. |
- * |
- * globals :: |
- * The hinter globals for this font. |
- * |
- * hint_mode :: |
- * Hinting information. |
- * |
- * @return: |
- * FreeType error code. 0 means success. |
- * |
- * @note: |
- * On input, all points within the outline are in font coordinates. On |
- * output, they are in 1/64th of pixels. |
- * |
- * The scaling transformation is taken from the `globals' object which |
- * must correspond to the same font as the glyph. |
- * |
- */ |
- typedef FT_Error |
- (*T1_Hints_ApplyFunc)( T1_Hints hints, |
- FT_Outline* outline, |
- PSH_Globals globals, |
- FT_Render_Mode hint_mode ); |
- |
- |
- /************************************************************************* |
- * |
- * @struct: |
- * T1_Hints_FuncsRec |
- * |
- * @description: |
- * The structure used to provide the API to @T1_Hints objects. |
- * |
- * @fields: |
- * hints :: |
- * A handle to the T1 Hints recorder. |
- * |
- * open :: |
- * The function to open a recording session. |
- * |
- * close :: |
- * The function to close a recording session. |
- * |
- * stem :: |
- * The function to set a simple stem. |
- * |
- * stem3 :: |
- * The function to set counter-controlled stems. |
- * |
- * reset :: |
- * The function to reset stem hints. |
- * |
- * apply :: |
- * The function to apply the hints to the corresponding glyph outline. |
- * |
- */ |
- typedef struct T1_Hints_FuncsRec_ |
- { |
- T1_Hints hints; |
- T1_Hints_OpenFunc open; |
- T1_Hints_CloseFunc close; |
- T1_Hints_SetStemFunc stem; |
- T1_Hints_SetStem3Func stem3; |
- T1_Hints_ResetFunc reset; |
- T1_Hints_ApplyFunc apply; |
- |
- } T1_Hints_FuncsRec; |
- |
- |
- /*************************************************************************/ |
- /*************************************************************************/ |
- /***** *****/ |
- /***** PUBLIC TYPE 2 HINTS RECORDER *****/ |
- /***** *****/ |
- /*************************************************************************/ |
- /*************************************************************************/ |
- |
- /************************************************************************* |
- * |
- * @type: |
- * T2_Hints |
- * |
- * @description: |
- * This is a handle to an opaque structure used to record glyph hints |
- * from a Type 2 character glyph character string. |
- * |
- * The methods used to operate on this object are defined by the |
- * @T2_Hints_FuncsRec structure. Recording glyph hints is normally |
- * achieved through the following scheme: |
- * |
- * - Open a new hint recording session by calling the `open' method. |
- * This rewinds the recorder and prepare it for new input. |
- * |
- * - For each hint found in the glyph charstring, call the corresponding |
- * method (`stems', `hintmask', `counters'). Note that these |
- * functions do not return an error code. |
- * |
- * - Close the recording session by calling the `close' method. It |
- * returns an error code if the hints were invalid or something |
- * strange happened (e.g., memory shortage). |
- * |
- * The hints accumulated in the object can later be used by the |
- * Postscript hinter. |
- * |
- */ |
- typedef struct T2_HintsRec_* T2_Hints; |
- |
- |
- /************************************************************************* |
- * |
- * @type: |
- * T2_Hints_Funcs |
- * |
- * @description: |
- * A pointer to the @T2_Hints_FuncsRec structure that defines the API of |
- * a given @T2_Hints object. |
- * |
- */ |
- typedef const struct T2_Hints_FuncsRec_* T2_Hints_Funcs; |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T2_Hints_OpenFunc |
- * |
- * @description: |
- * A method of the @T2_Hints class used to prepare it for a new Type 2 |
- * hints recording session. |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 2 hints recorder. |
- * |
- * @note: |
- * You should always call the @T2_Hints_CloseFunc method in order to |
- * close an opened recording session. |
- * |
- */ |
- typedef void |
- (*T2_Hints_OpenFunc)( T2_Hints hints ); |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T2_Hints_StemsFunc |
- * |
- * @description: |
- * A method of the @T2_Hints class used to set the table of stems in |
- * either the vertical or horizontal dimension. Equivalent to the |
- * `hstem', `vstem', `hstemhm', and `vstemhm' Type 2 operators. |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 2 hints recorder. |
- * |
- * dimension :: |
- * 0 for horizontal stems (hstem), 1 for vertical ones (vstem). |
- * |
- * count :: |
- * The number of stems. |
- * |
- * coords :: |
- * An array of `count' (position,length) pairs in 16.16 format. |
- * |
- * @note: |
- * Use vertical coordinates (y) for horizontal stems (dim=0). Use |
- * horizontal coordinates (x) for vertical stems (dim=1). |
- * |
- * There are `2*count' elements in the `coords' array. Each even |
- * element is an absolute position in font units, each odd element is a |
- * length in font units. |
- * |
- * A length can be negative, in which case it must be either -20 or |
- * -21. It is interpreted as a `ghost' stem, according to the Type 1 |
- * specification. |
- * |
- */ |
- typedef void |
- (*T2_Hints_StemsFunc)( T2_Hints hints, |
- FT_UInt dimension, |
- FT_UInt count, |
- FT_Fixed* coordinates ); |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T2_Hints_MaskFunc |
- * |
- * @description: |
- * A method of the @T2_Hints class used to set a given hintmask (this |
- * corresponds to the `hintmask' Type 2 operator). |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 2 hints recorder. |
- * |
- * end_point :: |
- * The glyph index of the last point to which the previously defined |
- * or activated hints apply. |
- * |
- * bit_count :: |
- * The number of bits in the hint mask. |
- * |
- * bytes :: |
- * An array of bytes modelling the hint mask. |
- * |
- * @note: |
- * If the hintmask starts the charstring (before any glyph point |
- * definition), the value of `end_point' should be 0. |
- * |
- * `bit_count' is the number of meaningful bits in the `bytes' array; it |
- * must be equal to the total number of hints defined so far (i.e., |
- * horizontal+verticals). |
- * |
- * The `bytes' array can come directly from the Type 2 charstring and |
- * respects the same format. |
- * |
- */ |
- typedef void |
- (*T2_Hints_MaskFunc)( T2_Hints hints, |
- FT_UInt end_point, |
- FT_UInt bit_count, |
- const FT_Byte* bytes ); |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T2_Hints_CounterFunc |
- * |
- * @description: |
- * A method of the @T2_Hints class used to set a given counter mask |
- * (this corresponds to the `hintmask' Type 2 operator). |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 2 hints recorder. |
- * |
- * end_point :: |
- * A glyph index of the last point to which the previously defined or |
- * active hints apply. |
- * |
- * bit_count :: |
- * The number of bits in the hint mask. |
- * |
- * bytes :: |
- * An array of bytes modelling the hint mask. |
- * |
- * @note: |
- * If the hintmask starts the charstring (before any glyph point |
- * definition), the value of `end_point' should be 0. |
- * |
- * `bit_count' is the number of meaningful bits in the `bytes' array; it |
- * must be equal to the total number of hints defined so far (i.e., |
- * horizontal+verticals). |
- * |
- * The `bytes' array can come directly from the Type 2 charstring and |
- * respects the same format. |
- * |
- */ |
- typedef void |
- (*T2_Hints_CounterFunc)( T2_Hints hints, |
- FT_UInt bit_count, |
- const FT_Byte* bytes ); |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T2_Hints_CloseFunc |
- * |
- * @description: |
- * A method of the @T2_Hints class used to close a hint recording |
- * session. |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 2 hints recorder. |
- * |
- * end_point :: |
- * The index of the last point in the input glyph. |
- * |
- * @return: |
- * FreeType error code. 0 means success. |
- * |
- * @note: |
- * The error code is set to indicate that an error occurred during the |
- * recording session. |
- * |
- */ |
- typedef FT_Error |
- (*T2_Hints_CloseFunc)( T2_Hints hints, |
- FT_UInt end_point ); |
- |
- |
- /************************************************************************* |
- * |
- * @functype: |
- * T2_Hints_ApplyFunc |
- * |
- * @description: |
- * A method of the @T2_Hints class used to apply hints to the |
- * corresponding glyph outline. Must be called after the `close' |
- * method. |
- * |
- * @input: |
- * hints :: |
- * A handle to the Type 2 hints recorder. |
- * |
- * outline :: |
- * A pointer to the target outline descriptor. |
- * |
- * globals :: |
- * The hinter globals for this font. |
- * |
- * hint_mode :: |
- * Hinting information. |
- * |
- * @return: |
- * FreeType error code. 0 means success. |
- * |
- * @note: |
- * On input, all points within the outline are in font coordinates. On |
- * output, they are in 1/64th of pixels. |
- * |
- * The scaling transformation is taken from the `globals' object which |
- * must correspond to the same font than the glyph. |
- * |
- */ |
- typedef FT_Error |
- (*T2_Hints_ApplyFunc)( T2_Hints hints, |
- FT_Outline* outline, |
- PSH_Globals globals, |
- FT_Render_Mode hint_mode ); |
- |
- |
- /************************************************************************* |
- * |
- * @struct: |
- * T2_Hints_FuncsRec |
- * |
- * @description: |
- * The structure used to provide the API to @T2_Hints objects. |
- * |
- * @fields: |
- * hints :: |
- * A handle to the T2 hints recorder object. |
- * |
- * open :: |
- * The function to open a recording session. |
- * |
- * close :: |
- * The function to close a recording session. |
- * |
- * stems :: |
- * The function to set the dimension's stems table. |
- * |
- * hintmask :: |
- * The function to set hint masks. |
- * |
- * counter :: |
- * The function to set counter masks. |
- * |
- * apply :: |
- * The function to apply the hints on the corresponding glyph outline. |
- * |
- */ |
- typedef struct T2_Hints_FuncsRec_ |
- { |
- T2_Hints hints; |
- T2_Hints_OpenFunc open; |
- T2_Hints_CloseFunc close; |
- T2_Hints_StemsFunc stems; |
- T2_Hints_MaskFunc hintmask; |
- T2_Hints_CounterFunc counter; |
- T2_Hints_ApplyFunc apply; |
- |
- } T2_Hints_FuncsRec; |
- |
- |
- /* */ |
- |
- |
- typedef struct PSHinter_Interface_ |
- { |
- PSH_Globals_Funcs (*get_globals_funcs)( FT_Module module ); |
- T1_Hints_Funcs (*get_t1_funcs) ( FT_Module module ); |
- T2_Hints_Funcs (*get_t2_funcs) ( FT_Module module ); |
- |
- } PSHinter_Interface; |
- |
- typedef PSHinter_Interface* PSHinter_Service; |
- |
- |
-#ifndef FT_CONFIG_OPTION_PIC |
- |
-#define FT_DEFINE_PSHINTER_INTERFACE( \ |
- class_, \ |
- get_globals_funcs_, \ |
- get_t1_funcs_, \ |
- get_t2_funcs_ ) \ |
- static const PSHinter_Interface class_ = \ |
- { \ |
- get_globals_funcs_, \ |
- get_t1_funcs_, \ |
- get_t2_funcs_ \ |
- }; |
- |
-#else /* FT_CONFIG_OPTION_PIC */ |
- |
-#define FT_DEFINE_PSHINTER_INTERFACE( \ |
- class_, \ |
- get_globals_funcs_, \ |
- get_t1_funcs_, \ |
- get_t2_funcs_ ) \ |
- void \ |
- FT_Init_Class_ ## class_( FT_Library library, \ |
- PSHinter_Interface* clazz ) \ |
- { \ |
- FT_UNUSED( library ); \ |
- \ |
- clazz->get_globals_funcs = get_globals_funcs_; \ |
- clazz->get_t1_funcs = get_t1_funcs_; \ |
- clazz->get_t2_funcs = get_t2_funcs_; \ |
- } |
- |
-#endif /* FT_CONFIG_OPTION_PIC */ |
- |
-FT_END_HEADER |
- |
-#endif /* __PSHINTS_H__ */ |
- |
- |
-/* END */ |