| Index: third_party/freetype2/src/src/sfnt/ttcmap.h
|
| diff --git a/third_party/freetype2/src/src/sfnt/ttcmap.h b/third_party/freetype2/src/src/sfnt/ttcmap.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b7ea8ee37736898547a7b06b735fc5025511c201
|
| --- /dev/null
|
| +++ b/third_party/freetype2/src/src/sfnt/ttcmap.h
|
| @@ -0,0 +1,158 @@
|
| +/***************************************************************************/
|
| +/* */
|
| +/* ttcmap.h */
|
| +/* */
|
| +/* TrueType character mapping table (cmap) support (specification). */
|
| +/* */
|
| +/* Copyright 2002-2015 by */
|
| +/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
| +/* */
|
| +/* This file is part of the FreeType project, and may only be used, */
|
| +/* modified, and distributed under the terms of the FreeType project */
|
| +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
| +/* this file you indicate that you have read the license and */
|
| +/* understand and accept it fully. */
|
| +/* */
|
| +/***************************************************************************/
|
| +
|
| +
|
| +#ifndef __TTCMAP_H__
|
| +#define __TTCMAP_H__
|
| +
|
| +
|
| +#include <ft2build.h>
|
| +#include FT_INTERNAL_TRUETYPE_TYPES_H
|
| +#include FT_INTERNAL_VALIDATE_H
|
| +#include FT_SERVICE_TT_CMAP_H
|
| +
|
| +FT_BEGIN_HEADER
|
| +
|
| +
|
| +#define TT_CMAP_FLAG_UNSORTED 1
|
| +#define TT_CMAP_FLAG_OVERLAPPING 2
|
| +
|
| + typedef struct TT_CMapRec_
|
| + {
|
| + FT_CMapRec cmap;
|
| + FT_Byte* data; /* pointer to in-memory cmap table */
|
| + FT_Int flags; /* for format 4 only */
|
| +
|
| + } TT_CMapRec, *TT_CMap;
|
| +
|
| + typedef const struct TT_CMap_ClassRec_* TT_CMap_Class;
|
| +
|
| +
|
| + typedef FT_Error
|
| + (*TT_CMap_ValidateFunc)( FT_Byte* data,
|
| + FT_Validator valid );
|
| +
|
| + typedef struct TT_CMap_ClassRec_
|
| + {
|
| + FT_CMap_ClassRec clazz;
|
| + FT_UInt format;
|
| + TT_CMap_ValidateFunc validate;
|
| + TT_CMap_Info_GetFunc get_cmap_info;
|
| +
|
| + } TT_CMap_ClassRec;
|
| +
|
| +
|
| +#ifndef FT_CONFIG_OPTION_PIC
|
| +
|
| +#define FT_DEFINE_TT_CMAP( class_, \
|
| + size_, \
|
| + init_, \
|
| + done_, \
|
| + char_index_, \
|
| + char_next_, \
|
| + char_var_index_, \
|
| + char_var_default_, \
|
| + variant_list_, \
|
| + charvariant_list_, \
|
| + variantchar_list_, \
|
| + format_, \
|
| + validate_, \
|
| + get_cmap_info_ ) \
|
| + FT_CALLBACK_TABLE_DEF \
|
| + const TT_CMap_ClassRec class_ = \
|
| + { \
|
| + { size_, \
|
| + init_, \
|
| + done_, \
|
| + char_index_, \
|
| + char_next_, \
|
| + char_var_index_, \
|
| + char_var_default_, \
|
| + variant_list_, \
|
| + charvariant_list_, \
|
| + variantchar_list_ \
|
| + }, \
|
| + \
|
| + format_, \
|
| + validate_, \
|
| + get_cmap_info_ \
|
| + };
|
| +
|
| +#else /* FT_CONFIG_OPTION_PIC */
|
| +
|
| +#define FT_DEFINE_TT_CMAP( class_, \
|
| + size_, \
|
| + init_, \
|
| + done_, \
|
| + char_index_, \
|
| + char_next_, \
|
| + char_var_index_, \
|
| + char_var_default_, \
|
| + variant_list_, \
|
| + charvariant_list_, \
|
| + variantchar_list_, \
|
| + format_, \
|
| + validate_, \
|
| + get_cmap_info_ ) \
|
| + void \
|
| + FT_Init_Class_ ## class_( TT_CMap_ClassRec* clazz ) \
|
| + { \
|
| + clazz->clazz.size = size_; \
|
| + clazz->clazz.init = init_; \
|
| + clazz->clazz.done = done_; \
|
| + clazz->clazz.char_index = char_index_; \
|
| + clazz->clazz.char_next = char_next_; \
|
| + clazz->clazz.char_var_index = char_var_index_; \
|
| + clazz->clazz.char_var_default = char_var_default_; \
|
| + clazz->clazz.variant_list = variant_list_; \
|
| + clazz->clazz.charvariant_list = charvariant_list_; \
|
| + clazz->clazz.variantchar_list = variantchar_list_; \
|
| + clazz->format = format_; \
|
| + clazz->validate = validate_; \
|
| + clazz->get_cmap_info = get_cmap_info_; \
|
| + }
|
| +
|
| +#endif /* FT_CONFIG_OPTION_PIC */
|
| +
|
| +
|
| + typedef struct TT_ValidatorRec_
|
| + {
|
| + FT_ValidatorRec validator;
|
| + FT_UInt num_glyphs;
|
| +
|
| + } TT_ValidatorRec, *TT_Validator;
|
| +
|
| +
|
| +#define TT_VALIDATOR( x ) ( (TT_Validator)( x ) )
|
| +#define TT_VALID_GLYPH_COUNT( x ) TT_VALIDATOR( x )->num_glyphs
|
| +
|
| +
|
| + FT_LOCAL( FT_Error )
|
| + tt_face_build_cmaps( TT_Face face );
|
| +
|
| + /* used in tt-cmaps service */
|
| + FT_LOCAL( FT_Error )
|
| + tt_get_cmap_info( FT_CharMap charmap,
|
| + TT_CMapInfo *cmap_info );
|
| +
|
| +
|
| +FT_END_HEADER
|
| +
|
| +#endif /* __TTCMAP_H__ */
|
| +
|
| +
|
| +/* END */
|
|
|