1049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/ 2049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 3049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* cfftypes.h */ 4049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 5049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* Basic OpenType/CFF type definitions and interface (specification */ 6049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* only). */ 7049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 8ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki/* Copyright 1996-2015 by */ 9049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 10049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 11049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* This file is part of the FreeType project, and may only be used, */ 12049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* modified, and distributed under the terms of the FreeType project */ 13049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 14049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* this file you indicate that you have read the license and */ 15049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* understand and accept it fully. */ 16049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 17049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/ 18049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 19049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 20049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#ifndef __CFFTYPES_H__ 21049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define __CFFTYPES_H__ 22049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 23049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 24049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include <ft2build.h> 25049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_FREETYPE_H 26049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_TYPE1_TABLES_H 27aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich#include FT_INTERNAL_SERVICE_H 28aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich#include FT_SERVICE_POSTSCRIPT_CMAPS_H 29aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich#include FT_INTERNAL_POSTSCRIPT_HINTS_H 30049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 31049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 32049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_BEGIN_HEADER 33049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 34049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 35049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 36049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 37049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 38049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* CFF_IndexRec */ 39049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 40049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 41049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A structure used to model a CFF Index table. */ 42049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 43049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Fields> */ 44049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* stream :: The source input stream. */ 45049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 46049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* start :: The position of the first index byte in the */ 47049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* input stream. */ 48049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 49049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* count :: The number of elements in the index. */ 50049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 51049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* off_size :: The size in bytes of object offsets in index. */ 52049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 53049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* data_offset :: The position of first data byte in the index's */ 54049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* bytes. */ 55049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 56049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* data_size :: The size of the data table in this index. */ 57049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 58049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* offsets :: A table of element offsets in the index. Must be */ 59049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* loaded explicitly. */ 60049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 61049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* bytes :: If the index is loaded in memory, its bytes. */ 62049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 63049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CFF_IndexRec_ 64049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 65049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Stream stream; 66049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong start; 67049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt count; 68049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte off_size; 69049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong data_offset; 70049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong data_size; 71049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 72049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong* offsets; 73049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte* bytes; 74049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 75049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } CFF_IndexRec, *CFF_Index; 76049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 77049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 78049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CFF_EncodingRec_ 79049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 80049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt format; 81049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong offset; 82049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 83049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt count; 84049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UShort sids [256]; /* avoid dynamic allocations */ 85049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UShort codes[256]; 86049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 87049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } CFF_EncodingRec, *CFF_Encoding; 88049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 89049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 90049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CFF_CharsetRec_ 91049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 92049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 93049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt format; 94049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong offset; 95049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 96049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UShort* sids; 97049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UShort* cids; /* the inverse mapping of `sids'; only needed */ 98049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* for CID-keyed fonts */ 99049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt max_cid; 100049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_glyphs; 101049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 102049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } CFF_CharsetRec, *CFF_Charset; 103049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 104049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 105049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CFF_FontRecDictRec_ 106049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 107049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt version; 108049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt notice; 109049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt copyright; 110049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt full_name; 111049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt family_name; 112049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt weight; 113049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Bool is_fixed_pitch; 114049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed italic_angle; 115049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed underline_position; 116049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed underline_thickness; 117049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int paint_type; 118049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int charstring_type; 119049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Matrix font_matrix; 120bff90fb5ec88ad7fdfb6d1d2f5a5719c20a2c5dcOlivier Bailly FT_Bool has_font_matrix; 121049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong units_per_em; /* temporarily used as scaling value also */ 122049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Vector font_offset; 123049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong unique_id; 124049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_BBox font_bbox; 125049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos stroke_width; 126049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong charset_offset; 127049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong encoding_offset; 128049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong charstrings_offset; 129049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong private_offset; 130049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong private_size; 131049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long synthetic_base; 132049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt embedded_postscript; 133049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 134049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* these should only be used for the top-level font dictionary */ 135049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt cid_registry; 136049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt cid_ordering; 137295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner FT_Long cid_supplement; 138049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 139049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long cid_font_version; 140049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long cid_font_revision; 141049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long cid_font_type; 142049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong cid_count; 143049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong cid_uid_base; 144049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong cid_fd_array_offset; 145049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong cid_fd_select_offset; 146049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt cid_font_name; 147049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 148049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } CFF_FontRecDictRec, *CFF_FontRecDict; 149049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 150049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 151049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CFF_PrivateRec_ 152049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 153049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_blue_values; 154049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_other_blues; 155049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_family_blues; 156049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_family_other_blues; 157049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 158049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos blue_values[14]; 159049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos other_blues[10]; 160049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos family_blues[14]; 161049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos family_other_blues[10]; 162049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 163049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed blue_scale; 164049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos blue_shift; 165049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos blue_fuzz; 166049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos standard_width; 167049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos standard_height; 168049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 169049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_snap_widths; 170049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_snap_heights; 171049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos snap_widths[13]; 172049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos snap_heights[13]; 173049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Bool force_bold; 174049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed force_bold_threshold; 175049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int lenIV; 176049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int language_group; 177049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed expansion_factor; 178049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long initial_random_seed; 179049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong local_subrs_offset; 180049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos default_width; 181049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos nominal_width; 182049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 183049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } CFF_PrivateRec, *CFF_Private; 184049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 185049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 186049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CFF_FDSelectRec_ 187049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 188049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte format; 189049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt range_count; 190049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 191049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* that's the table, taken from the file `as is' */ 192049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte* data; 193049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt data_size; 194049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 195049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* small cache for format 3 only */ 196049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt cache_first; 197049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt cache_count; 198049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte cache_fd; 199049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 200049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } CFF_FDSelectRec, *CFF_FDSelect; 201049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 202049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 203049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A SubFont packs a font dict and a private dict together. They are */ 204049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* needed to support CID-keyed CFF fonts. */ 205049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CFF_SubFontRec_ 206049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 207049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_FontRecDictRec font_dict; 208049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_PrivateRec private_dict; 209049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 210049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_IndexRec local_subrs_index; 211aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich FT_Byte** local_subrs; /* array of pointers into Local Subrs INDEX data */ 212049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 213049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } CFF_SubFontRec, *CFF_SubFont; 214049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 215049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 216aeb407daf3711a10a27f3bc2223c5eb05158076eDavid 'Digit' Turner#define CFF_MAX_CID_FONTS 256 217049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 218049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 219049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CFF_FontRec_ 220049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 221049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Stream stream; 222049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Memory memory; 223049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_faces; 224049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_glyphs; 225049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 226049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte version_major; 227049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte version_minor; 228049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte header_size; 229049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte absolute_offsize; 230049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 231049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 232049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_IndexRec name_index; 233049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_IndexRec top_dict_index; 234049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_IndexRec global_subrs_index; 235049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 236049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_EncodingRec encoding; 237049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_CharsetRec charset; 238049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 239049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_IndexRec charstrings_index; 240049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_IndexRec font_dict_index; 241049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_IndexRec private_index; 242049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_IndexRec local_subrs_index; 243049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 244049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* font_name; 245aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich 246aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* array of pointers into Global Subrs INDEX data */ 247049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte** global_subrs; 248049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 249aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* array of pointers into String INDEX data stored at string_pool */ 250aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich FT_UInt num_strings; 251aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich FT_Byte** strings; 252aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich FT_Byte* string_pool; 253aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich 254049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_SubFontRec top_font; 255049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_subfonts; 256049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_SubFont subfonts[CFF_MAX_CID_FONTS]; 257049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 258049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CFF_FDSelectRec fd_select; 259049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 260049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* interface to PostScript hinter */ 261aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich PSHinter_Service pshinter; 262049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 263049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* interface to Postscript Names service */ 264aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich FT_Service_PsCMaps psnames; 265049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 266049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* since version 2.3.0 */ 267049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project PS_FontInfoRec* font_info; /* font info dictionary */ 268049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 269049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* since version 2.3.6 */ 270049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* registry; 271049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* ordering; 27241371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier 273727dee178a392d20eb050d0c446f2fcc29058fa1Victoria Lease /* since version 2.4.12 */ 274727dee178a392d20eb050d0c446f2fcc29058fa1Victoria Lease FT_Generic cf2_instance; 275727dee178a392d20eb050d0c446f2fcc29058fa1Victoria Lease 276049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } CFF_FontRec, *CFF_Font; 277049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 278049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 279049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_END_HEADER 280049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 281049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif /* __CFFTYPES_H__ */ 282049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 283049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 284049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* END */ 285