| Index: third_party/freetype2/src/src/truetype/ttgxvar.h
|
| diff --git a/third_party/freetype2/src/src/truetype/ttgxvar.h b/third_party/freetype2/src/src/truetype/ttgxvar.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..dd1411f0d88e043aa5bbd6a348005719971ef67c
|
| --- /dev/null
|
| +++ b/third_party/freetype2/src/src/truetype/ttgxvar.h
|
| @@ -0,0 +1,184 @@
|
| +/***************************************************************************/
|
| +/* */
|
| +/* ttgxvar.h */
|
| +/* */
|
| +/* TrueType GX Font Variation loader (specification) */
|
| +/* */
|
| +/* Copyright 2004-2015 by */
|
| +/* David Turner, Robert Wilhelm, Werner Lemberg and George Williams. */
|
| +/* */
|
| +/* 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 __TTGXVAR_H__
|
| +#define __TTGXVAR_H__
|
| +
|
| +
|
| +#include <ft2build.h>
|
| +#include "ttobjs.h"
|
| +
|
| +
|
| +FT_BEGIN_HEADER
|
| +
|
| +
|
| + /*************************************************************************/
|
| + /* */
|
| + /* <Struct> */
|
| + /* GX_AVarCorrespondenceRec */
|
| + /* */
|
| + /* <Description> */
|
| + /* A data structure representing `shortFracCorrespondence' in `avar' */
|
| + /* table according to the specifications from Apple. */
|
| + /* */
|
| + typedef struct GX_AVarCorrespondenceRec_
|
| + {
|
| + FT_Fixed fromCoord;
|
| + FT_Fixed toCoord;
|
| +
|
| + } GX_AVarCorrespondenceRec_, *GX_AVarCorrespondence;
|
| +
|
| +
|
| + /*************************************************************************/
|
| + /* */
|
| + /* <Struct> */
|
| + /* GX_AVarRec */
|
| + /* */
|
| + /* <Description> */
|
| + /* Data from the segment field of `avar' table. */
|
| + /* There is one of these for each axis. */
|
| + /* */
|
| + typedef struct GX_AVarSegmentRec_
|
| + {
|
| + FT_UShort pairCount;
|
| + GX_AVarCorrespondence correspondence; /* array with pairCount entries */
|
| +
|
| + } GX_AVarSegmentRec, *GX_AVarSegment;
|
| +
|
| +
|
| + /*************************************************************************/
|
| + /* */
|
| + /* <Struct> */
|
| + /* GX_BlendRec */
|
| + /* */
|
| + /* <Description> */
|
| + /* Data for interpolating a font from a distortable font specified */
|
| + /* by the GX *var tables ([fgca]var). */
|
| + /* */
|
| + /* <Fields> */
|
| + /* num_axis :: The number of axes along which interpolation */
|
| + /* may happen */
|
| + /* */
|
| + /* normalizedcoords :: A normalized value (between [-1,1]) indicating */
|
| + /* the contribution along each axis to the final */
|
| + /* interpolated font. */
|
| + /* */
|
| + typedef struct GX_BlendRec_
|
| + {
|
| + FT_UInt num_axis;
|
| + FT_Fixed* normalizedcoords;
|
| +
|
| + FT_MM_Var* mmvar;
|
| + FT_Offset mmvar_len;
|
| +
|
| + FT_Bool avar_checked;
|
| + GX_AVarSegment avar_segment;
|
| +
|
| + FT_UInt tuplecount; /* shared tuples in `gvar' */
|
| + FT_Fixed* tuplecoords; /* tuplecoords[tuplecount][num_axis] */
|
| +
|
| + FT_UInt gv_glyphcnt;
|
| + FT_ULong* glyphoffsets;
|
| +
|
| + FT_ULong gvar_size;
|
| +
|
| + } GX_BlendRec;
|
| +
|
| +
|
| + /*************************************************************************/
|
| + /* */
|
| + /* <enum> */
|
| + /* GX_TupleCountFlags */
|
| + /* */
|
| + /* <Description> */
|
| + /* Flags used within the `TupleCount' field of the `gvar' table. */
|
| + /* */
|
| + typedef enum GX_TupleCountFlags_
|
| + {
|
| + GX_TC_TUPLES_SHARE_POINT_NUMBERS = 0x8000,
|
| + GX_TC_RESERVED_TUPLE_FLAGS = 0x7000,
|
| + GX_TC_TUPLE_COUNT_MASK = 0x0FFF
|
| +
|
| + } GX_TupleCountFlags;
|
| +
|
| +
|
| + /*************************************************************************/
|
| + /* */
|
| + /* <enum> */
|
| + /* GX_TupleIndexFlags */
|
| + /* */
|
| + /* <Description> */
|
| + /* Flags used within the `TupleIndex' field of the `gvar' and `cvar' */
|
| + /* tables. */
|
| + /* */
|
| + typedef enum GX_TupleIndexFlags_
|
| + {
|
| + GX_TI_EMBEDDED_TUPLE_COORD = 0x8000,
|
| + GX_TI_INTERMEDIATE_TUPLE = 0x4000,
|
| + GX_TI_PRIVATE_POINT_NUMBERS = 0x2000,
|
| + GX_TI_RESERVED_TUPLE_FLAG = 0x1000,
|
| + GX_TI_TUPLE_INDEX_MASK = 0x0FFF
|
| +
|
| + } GX_TupleIndexFlags;
|
| +
|
| +
|
| +#define TTAG_wght FT_MAKE_TAG( 'w', 'g', 'h', 't' )
|
| +#define TTAG_wdth FT_MAKE_TAG( 'w', 'd', 't', 'h' )
|
| +#define TTAG_opsz FT_MAKE_TAG( 'o', 'p', 's', 'z' )
|
| +#define TTAG_slnt FT_MAKE_TAG( 's', 'l', 'n', 't' )
|
| +
|
| +
|
| + FT_LOCAL( FT_Error )
|
| + TT_Set_MM_Blend( TT_Face face,
|
| + FT_UInt num_coords,
|
| + FT_Fixed* coords );
|
| +
|
| + FT_LOCAL( FT_Error )
|
| + TT_Set_Var_Design( TT_Face face,
|
| + FT_UInt num_coords,
|
| + FT_Fixed* coords );
|
| +
|
| + FT_LOCAL( FT_Error )
|
| + TT_Get_MM_Var( TT_Face face,
|
| + FT_MM_Var* *master );
|
| +
|
| +
|
| + FT_LOCAL( FT_Error )
|
| + tt_face_vary_cvt( TT_Face face,
|
| + FT_Stream stream );
|
| +
|
| +
|
| + FT_LOCAL( FT_Error )
|
| + TT_Vary_Apply_Glyph_Deltas( TT_Face face,
|
| + FT_UInt glyph_index,
|
| + FT_Outline* outline,
|
| + FT_UInt n_points );
|
| +
|
| +
|
| + FT_LOCAL( void )
|
| + tt_done_blend( FT_Memory memory,
|
| + GX_Blend blend );
|
| +
|
| +
|
| +FT_END_HEADER
|
| +
|
| +
|
| +#endif /* __TTGXVAR_H__ */
|
| +
|
| +
|
| +/* END */
|
|
|