1049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/ 2049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 3049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* t1tables.h */ 4049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 5049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* Basic Type 1/Type 2 tables 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 __T1TABLES_H__ 21049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define __T1TABLES_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 27049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#ifdef FREETYPE_H 28049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "freetype.h of FreeType 1 has been loaded!" 29049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "Please fix the directory search order for header files" 30049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "so that freetype.h of FreeType 2 is found first." 31049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif 32049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 33049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 34049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_BEGIN_HEADER 35049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 36049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 37049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 38049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 39049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Section> */ 40049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* type1_tables */ 41049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 42049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Title> */ 43049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Type 1 Tables */ 44049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 45049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Abstract> */ 460a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Type~1 (PostScript) specific font tables. */ 47049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 48049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 49049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This section contains the definition of Type 1-specific tables, */ 50049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* including structures related to other PostScript font formats. */ 51049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 52ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* <Order> */ 53ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_FontInfoRec */ 54ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_FontInfo */ 55ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_PrivateRec */ 56ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_Private */ 57ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 58ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* CID_FaceDictRec */ 59ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* CID_FaceDict */ 60ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* CID_FaceInfoRec */ 61ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* CID_FaceInfo */ 62ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 63ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* FT_Has_PS_Glyph_Names */ 64ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* FT_Get_PS_Font_Info */ 65ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* FT_Get_PS_Font_Private */ 66ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* FT_Get_PS_Font_Value */ 67ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 68ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_Blend_Flags */ 69ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_EncodingType */ 70ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_Dict_Keys */ 71ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 72049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 73049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 74049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 75049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */ 76049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* structures in order to support Multiple Master fonts. */ 77049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 78049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 79049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 80049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 81049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 82049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* PS_FontInfoRec */ 83049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 84049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 850a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* A structure used to model a Type~1 or Type~2 FontInfo dictionary. */ 860a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Note that for Multiple Master fonts, each instance has its own */ 87049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FontInfo dictionary. */ 88049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 89049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct PS_FontInfoRec_ 90049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 91049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* version; 92049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* notice; 93049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* full_name; 94049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* family_name; 95049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* weight; 96049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long italic_angle; 97049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Bool is_fixed_pitch; 98049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Short underline_position; 99049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UShort underline_thickness; 100049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 101049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } PS_FontInfoRec; 102049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 103049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 104049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 105049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 106049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 107049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* PS_FontInfo */ 108049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 109049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 110049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A handle to a @PS_FontInfoRec structure. */ 111049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 112049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct PS_FontInfoRec_* PS_FontInfo; 113049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 114049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 115049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 116049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 117049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 118049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* T1_FontInfo */ 119049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 120049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 121049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This type is equivalent to @PS_FontInfoRec. It is deprecated but */ 122049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* kept to maintain source compatibility between various versions of */ 123049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FreeType. */ 124049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 125049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef PS_FontInfoRec T1_FontInfo; 126049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 127049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 128049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 129049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 130049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 131049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* PS_PrivateRec */ 132049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 133049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 1340a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* A structure used to model a Type~1 or Type~2 private dictionary. */ 1350a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Note that for Multiple Master fonts, each instance has its own */ 1360a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Private dictionary. */ 137049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 138049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct PS_PrivateRec_ 139049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 140049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int unique_id; 141049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int lenIV; 142049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 143049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_blue_values; 144049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_other_blues; 145049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_family_blues; 146049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_family_other_blues; 147049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 148049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Short blue_values[14]; 149049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Short other_blues[10]; 150049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 151049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Short family_blues [14]; 152049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Short family_other_blues[10]; 153049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 154049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed blue_scale; 155049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int blue_shift; 156049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int blue_fuzz; 157049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 158049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UShort standard_width[1]; 159049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UShort standard_height[1]; 160049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 161049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_snap_widths; 162049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_snap_heights; 163049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Bool force_bold; 164049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Bool round_stem_up; 165049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 166049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Short snap_widths [13]; /* including std width */ 167049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Short snap_heights[13]; /* including std height */ 168049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 169049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed expansion_factor; 170049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 171049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long language_group; 172049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long password; 173049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 174049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Short min_feature[2]; 175049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 176049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } PS_PrivateRec; 177049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 178049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 179049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 180049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 181049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 182049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* PS_Private */ 183049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 184049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 185049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A handle to a @PS_PrivateRec structure. */ 186049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 187049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct PS_PrivateRec_* PS_Private; 188049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 189049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 190049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 191049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 192049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 193049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* T1_Private */ 194049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 195049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 196049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This type is equivalent to @PS_PrivateRec. It is deprecated but */ 197049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* kept to maintain source compatibility between various versions of */ 198049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FreeType. */ 199049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 200049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef PS_PrivateRec T1_Private; 201049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 202049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 203049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 204049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 205049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Enum> */ 206049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* T1_Blend_Flags */ 207049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 208049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 209049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A set of flags used to indicate which fields are present in a */ 210049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* given blend dictionary (font info or private). Used to support */ 211049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Multiple Masters fonts. */ 212049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 213ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* <Values> */ 214ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_UNDERLINE_POSITION :: */ 215ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_UNDERLINE_THICKNESS :: */ 216ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_ITALIC_ANGLE :: */ 217ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_BLUE_VALUES :: */ 218ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_OTHER_BLUES :: */ 219ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_STANDARD_WIDTH :: */ 220ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_STANDARD_HEIGHT :: */ 221ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_STEM_SNAP_WIDTHS :: */ 222ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_STEM_SNAP_HEIGHTS :: */ 223ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_BLUE_SCALE :: */ 224ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_BLUE_SHIFT :: */ 225ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_FAMILY_BLUES :: */ 226ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_FAMILY_OTHER_BLUES :: */ 227ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_BLEND_FORCE_BOLD :: */ 228ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 229049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef enum T1_Blend_Flags_ 230049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 231ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* required fields in a FontInfo blend dictionary */ 232049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_UNDERLINE_POSITION = 0, 233049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_UNDERLINE_THICKNESS, 234049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_ITALIC_ANGLE, 235049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 236ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* required fields in a Private blend dictionary */ 237049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_BLUE_VALUES, 238049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_OTHER_BLUES, 239049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_STANDARD_WIDTH, 240049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_STANDARD_HEIGHT, 241049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_STEM_SNAP_WIDTHS, 242049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_STEM_SNAP_HEIGHTS, 243049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_BLUE_SCALE, 244049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_BLUE_SHIFT, 245049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_FAMILY_BLUES, 246049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_FAMILY_OTHER_BLUES, 247049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project T1_BLEND_FORCE_BOLD, 248049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 249ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki T1_BLEND_MAX /* do not remove */ 250049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 251049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } T1_Blend_Flags; 252049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 253049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 254ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* these constants are deprecated; use the corresponding */ 255ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* `T1_Blend_Flags' values instead */ 256049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION 257049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS 258049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE 259049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_blue_values T1_BLEND_BLUE_VALUES 260049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_other_blues T1_BLEND_OTHER_BLUES 261049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH 262049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT 263049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS 264049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS 265049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_blue_scale T1_BLEND_BLUE_SCALE 266049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT 267049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_family_blues T1_BLEND_FAMILY_BLUES 268049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES 269049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_force_bold T1_BLEND_FORCE_BOLD 270049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define t1_blend_max T1_BLEND_MAX 271049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 272ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 273ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki 274049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 275049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* maximum number of Multiple Masters designs, as defined in the spec */ 276049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define T1_MAX_MM_DESIGNS 16 277049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 278049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* maximum number of Multiple Masters axes, as defined in the spec */ 279049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define T1_MAX_MM_AXIS 4 280049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 281049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* maximum number of elements in a design map */ 282049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define T1_MAX_MM_MAP_POINTS 20 283049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 284049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 285049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* this structure is used to store the BlendDesignMap entry for an axis */ 286049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct PS_DesignMap_ 287049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 288049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte num_points; 289049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long* design_points; 290049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed* blend_points; 291049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 292049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } PS_DesignMapRec, *PS_DesignMap; 293049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 294049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* backwards-compatible definition */ 295049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef PS_DesignMapRec T1_DesignMap; 296049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 297049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 298049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct PS_BlendRec_ 299049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 300049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_designs; 301049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_axis; 302049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 303049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* axis_names[T1_MAX_MM_AXIS]; 304049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed* design_pos[T1_MAX_MM_DESIGNS]; 305049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project PS_DesignMapRec design_map[T1_MAX_MM_AXIS]; 306049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 307049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed* weight_vector; 308049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed* default_weight_vector; 309049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 310049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project PS_FontInfo font_infos[T1_MAX_MM_DESIGNS + 1]; 311049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project PS_Private privates [T1_MAX_MM_DESIGNS + 1]; 312049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 313049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong blend_bitflags; 314049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 315049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_BBox* bboxes [T1_MAX_MM_DESIGNS + 1]; 316049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 317049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* since 2.3.0 */ 318049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 319049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* undocumented, optional: the default design instance; */ 320049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* corresponds to default_weight_vector -- */ 321049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* num_default_design_vector == 0 means it is not present */ 322049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* in the font and associated metrics files */ 323049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt default_design_vector[T1_MAX_MM_DESIGNS]; 324049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_default_design_vector; 325049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 326049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } PS_BlendRec, *PS_Blend; 327049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 328049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 329049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* backwards-compatible definition */ 330049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef PS_BlendRec T1_Blend; 331049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 332049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 333049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 334049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 335049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 336049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* CID_FaceDictRec */ 337049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 338049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 339049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A structure used to represent data in a CID top-level dictionary. */ 340049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 341049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CID_FaceDictRec_ 342049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 343049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project PS_PrivateRec private_dict; 344049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 345049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt len_buildchar; 346049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed forcebold_threshold; 347049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Pos stroke_width; 348049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed expansion_factor; 349049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 350049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte paint_type; 351049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Byte font_type; 352049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Matrix font_matrix; 353049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Vector font_offset; 354049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 355049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_subrs; 356049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong subrmap_offset; 357049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int sd_bytes; 358049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 359049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } CID_FaceDictRec; 360049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 361049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 362049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 363049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 364049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 365049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* CID_FaceDict */ 366049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 367049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 368049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A handle to a @CID_FaceDictRec structure. */ 369049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 370049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CID_FaceDictRec_* CID_FaceDict; 371049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 372049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 373ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /*************************************************************************/ 374ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 375ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* <Struct> */ 376ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* CID_FontDict */ 377ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 378ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* <Description> */ 379ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* This type is equivalent to @CID_FaceDictRec. It is deprecated but */ 380ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* kept to maintain source compatibility between various versions of */ 381ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* FreeType. */ 382ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 383049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef CID_FaceDictRec CID_FontDict; 384049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 385049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 386049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 387049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 388049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 389049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* CID_FaceInfoRec */ 390049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 391049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 392049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A structure used to represent CID Face information. */ 393049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 394049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CID_FaceInfoRec_ 395049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 396049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* cid_font_name; 397049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed cid_version; 398049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int cid_font_type; 399049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 400049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* registry; 401049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* ordering; 402049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int supplement; 403049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 404049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project PS_FontInfoRec font_info; 405049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_BBox font_bbox; 406049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong uid_base; 407049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 408049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int num_xuid; 409049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong xuid[16]; 410049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 411049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong cidmap_offset; 412049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int fd_bytes; 413049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int gd_bytes; 414049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong cid_count; 415049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 416049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Int num_dicts; 417049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project CID_FaceDict font_dicts; 418049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 419049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong data_offset; 420049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 421049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } CID_FaceInfoRec; 422049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 423049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 424049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 425049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 426049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 427049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* CID_FaceInfo */ 428049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 429049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 430049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A handle to a @CID_FaceInfoRec structure. */ 431049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 432049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct CID_FaceInfoRec_* CID_FaceInfo; 433049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 434049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 435049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 436049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 437049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 438049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* CID_Info */ 439049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 440049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 441049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This type is equivalent to @CID_FaceInfoRec. It is deprecated but */ 442049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* kept to maintain source compatibility between various versions of */ 443049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FreeType. */ 444049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 445049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef CID_FaceInfoRec CID_Info; 446049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 447049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 448049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /************************************************************************ 449049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 450049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @function: 451049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * FT_Has_PS_Glyph_Names 452049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 453049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @description: 4540a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * Return true if a given face provides reliable PostScript glyph 455049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * names. This is similar to using the @FT_HAS_GLYPH_NAMES macro, 456049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * except that certain fonts (mostly TrueType) contain incorrect 457049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * glyph name tables. 458049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 459049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * When this function returns true, the caller is sure that the glyph 460049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * names returned by @FT_Get_Glyph_Name are reliable. 461049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 462049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @input: 463049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * face :: 464049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * face handle 465049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 466049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @return: 467049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * Boolean. True if glyph names are reliable. 468049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 469049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project */ 470049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Int ) 471049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Has_PS_Glyph_Names( FT_Face face ); 472049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 473049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 474049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /************************************************************************ 475049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 476049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @function: 477049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * FT_Get_PS_Font_Info 478049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 479049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @description: 480049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * Retrieve the @PS_FontInfoRec structure corresponding to a given 4810a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * PostScript font. 482049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 483049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @input: 484049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * face :: 4850a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * PostScript face handle. 486049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 487049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @output: 488049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * afont_info :: 489049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * Output font info structure pointer. 490049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 491049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @return: 4920a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * FreeType error code. 0~means success. 493049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 494049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @note: 495ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki * String pointers within the @PS_FontInfoRec structure are owned by 496ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki * the face and don't need to be freed by the caller. Missing entries 497ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki * in the font's FontInfo dictionary are represented by NULL pointers. 498049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 4990a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * If the font's format is not PostScript-based, this function will 500049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * return the `FT_Err_Invalid_Argument' error code. 501049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 502049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project */ 503049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 504049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Get_PS_Font_Info( FT_Face face, 505049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project PS_FontInfo afont_info ); 506049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 507049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 508049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /************************************************************************ 509049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 510049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @function: 511049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * FT_Get_PS_Font_Private 512049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 513049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @description: 514049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * Retrieve the @PS_PrivateRec structure corresponding to a given 5150a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * PostScript font. 516049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 517049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @input: 518049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * face :: 5190a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * PostScript face handle. 520049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 521049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @output: 522049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * afont_private :: 523049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * Output private dictionary structure pointer. 524049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 525049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @return: 5260a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * FreeType error code. 0~means success. 527049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 528049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @note: 5290a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * The string pointers within the @PS_PrivateRec structure are owned by 530049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * the face and don't need to be freed by the caller. 531049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 5320a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * If the font's format is not PostScript-based, this function returns 5330a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * the `FT_Err_Invalid_Argument' error code. 534049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 535049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project */ 536049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 537049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Get_PS_Font_Private( FT_Face face, 538049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project PS_Private afont_private ); 539049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 540049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 54127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /*************************************************************************/ 54227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* */ 54327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* <Enum> */ 54427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* T1_EncodingType */ 54527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* */ 54627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* <Description> */ 54727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* An enumeration describing the `Encoding' entry in a Type 1 */ 54827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* dictionary. */ 54927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* */ 550ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* <Values> */ 551ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_ENCODING_TYPE_NONE :: */ 552ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_ENCODING_TYPE_ARRAY :: */ 553ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_ENCODING_TYPE_STANDARD :: */ 554ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_ENCODING_TYPE_ISOLATIN1 :: */ 555ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* T1_ENCODING_TYPE_EXPERT :: */ 556ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 55727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra typedef enum T1_EncodingType_ 55827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra { 55927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra T1_ENCODING_TYPE_NONE = 0, 56027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra T1_ENCODING_TYPE_ARRAY, 56127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra T1_ENCODING_TYPE_STANDARD, 56227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra T1_ENCODING_TYPE_ISOLATIN1, 56327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra T1_ENCODING_TYPE_EXPERT 56427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra 56527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra } T1_EncodingType; 56627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra 56727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra 56827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /*************************************************************************/ 56927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* */ 57027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* <Enum> */ 57127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* PS_Dict_Keys */ 57227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* */ 57327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* <Description> */ 57427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* An enumeration used in calls to @FT_Get_PS_Font_Value to identify */ 57527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* the Type~1 dictionary entry to retrieve. */ 57627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* */ 577ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* <Values> */ 578ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_FONT_TYPE :: */ 579ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_FONT_MATRIX :: */ 580ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_FONT_BBOX :: */ 581ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_PAINT_TYPE :: */ 582ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_FONT_NAME :: */ 583ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_UNIQUE_ID :: */ 584ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_NUM_CHAR_STRINGS :: */ 585ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_CHAR_STRING_KEY :: */ 586ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_CHAR_STRING :: */ 587ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_ENCODING_TYPE :: */ 588ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_ENCODING_ENTRY :: */ 589ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_NUM_SUBRS :: */ 590ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_SUBR :: */ 591ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_STD_HW :: */ 592ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_STD_VW :: */ 593ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_NUM_BLUE_VALUES :: */ 594ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_BLUE_VALUE :: */ 595ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_BLUE_FUZZ :: */ 596ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_NUM_OTHER_BLUES :: */ 597ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_OTHER_BLUE :: */ 598ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_NUM_FAMILY_BLUES :: */ 599ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_FAMILY_BLUE :: */ 600ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_NUM_FAMILY_OTHER_BLUES :: */ 601ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_FAMILY_OTHER_BLUE :: */ 602ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_BLUE_SCALE :: */ 603ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_BLUE_SHIFT :: */ 604ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_NUM_STEM_SNAP_H :: */ 605ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_STEM_SNAP_H :: */ 606ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_NUM_STEM_SNAP_V :: */ 607ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_STEM_SNAP_V :: */ 608ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_FORCE_BOLD :: */ 609ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_RND_STEM_UP :: */ 610ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_MIN_FEATURE :: */ 611ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_LEN_IV :: */ 612ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_PASSWORD :: */ 613ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_LANGUAGE_GROUP :: */ 614ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_VERSION :: */ 615ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_NOTICE :: */ 616ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_FULL_NAME :: */ 617ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_FAMILY_NAME :: */ 618ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_WEIGHT :: */ 619ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_IS_FIXED_PITCH :: */ 620ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_UNDERLINE_POSITION :: */ 621ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_UNDERLINE_THICKNESS :: */ 622ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_FS_TYPE :: */ 623ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* PS_DICT_ITALIC_ANGLE :: */ 624ec62c527eb34ee4481a0153ceb42dfd35d7e1d26Makoto Onuki /* */ 62527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra typedef enum PS_Dict_Keys_ 62627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra { 62727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* conventionally in the font dictionary */ 62827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_FONT_TYPE, /* FT_Byte */ 62927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_FONT_MATRIX, /* FT_Fixed */ 63027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_FONT_BBOX, /* FT_Fixed */ 63127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_PAINT_TYPE, /* FT_Byte */ 63227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_FONT_NAME, /* FT_String* */ 63327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_UNIQUE_ID, /* FT_Int */ 63427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_NUM_CHAR_STRINGS, /* FT_Int */ 63527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_CHAR_STRING_KEY, /* FT_String* */ 63627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_CHAR_STRING, /* FT_String* */ 63727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_ENCODING_TYPE, /* T1_EncodingType */ 63827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_ENCODING_ENTRY, /* FT_String* */ 63927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra 64027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* conventionally in the font Private dictionary */ 64127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_NUM_SUBRS, /* FT_Int */ 64227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_SUBR, /* FT_String* */ 64327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_STD_HW, /* FT_UShort */ 64427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_STD_VW, /* FT_UShort */ 64527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_NUM_BLUE_VALUES, /* FT_Byte */ 64627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_BLUE_VALUE, /* FT_Short */ 64727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_BLUE_FUZZ, /* FT_Int */ 64827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_NUM_OTHER_BLUES, /* FT_Byte */ 64927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_OTHER_BLUE, /* FT_Short */ 65027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_NUM_FAMILY_BLUES, /* FT_Byte */ 65127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_FAMILY_BLUE, /* FT_Short */ 65227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_NUM_FAMILY_OTHER_BLUES, /* FT_Byte */ 65327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_FAMILY_OTHER_BLUE, /* FT_Short */ 65427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_BLUE_SCALE, /* FT_Fixed */ 65527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_BLUE_SHIFT, /* FT_Int */ 65627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_NUM_STEM_SNAP_H, /* FT_Byte */ 65727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_STEM_SNAP_H, /* FT_Short */ 65827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_NUM_STEM_SNAP_V, /* FT_Byte */ 65927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_STEM_SNAP_V, /* FT_Short */ 66027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_FORCE_BOLD, /* FT_Bool */ 66127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_RND_STEM_UP, /* FT_Bool */ 66227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_MIN_FEATURE, /* FT_Short */ 66327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_LEN_IV, /* FT_Int */ 66427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_PASSWORD, /* FT_Long */ 66527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_LANGUAGE_GROUP, /* FT_Long */ 66627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra 66727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* conventionally in the font FontInfo dictionary */ 66827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_VERSION, /* FT_String* */ 66927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_NOTICE, /* FT_String* */ 67027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_FULL_NAME, /* FT_String* */ 67127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_FAMILY_NAME, /* FT_String* */ 67241371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier PS_DICT_WEIGHT, /* FT_String* */ 67327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_IS_FIXED_PITCH, /* FT_Bool */ 67427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_UNDERLINE_POSITION, /* FT_Short */ 67527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_UNDERLINE_THICKNESS, /* FT_UShort */ 67627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_FS_TYPE, /* FT_UShort */ 67727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_ITALIC_ANGLE, /* FT_Long */ 67827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra 67927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_DICT_MAX = PS_DICT_ITALIC_ANGLE 68027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra 68127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra } PS_Dict_Keys; 68227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra 68327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra 68427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /************************************************************************ 68527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 68627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * @function: 68727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * FT_Get_PS_Font_Value 68827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 68927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * @description: 69027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * Retrieve the value for the supplied key from a PostScript font. 69127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 69227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * @input: 69327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * face :: 69427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * PostScript face handle. 69527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 69627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * key :: 69727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * An enumeration value representing the dictionary key to retrieve. 69827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 69927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * idx :: 70027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * For array values, this specifies the index to be returned. 70127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 70227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * value :: 70327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * A pointer to memory into which to write the value. 70427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 70527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * valen_len :: 70627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * The size, in bytes, of the memory supplied for the value. 70727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 70827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * @output: 70927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * value :: 71027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * The value matching the above key, if it exists. 71127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 71227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * @return: 71327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * The amount of memory (in bytes) required to hold the requested 71427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * value (if it exists, -1 otherwise). 71527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 71627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * @note: 71727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * The values returned are not pointers into the internal structures of 71827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * the face, but are `fresh' copies, so that the memory containing them 71927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * belongs to the calling application. This also enforces the 72027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * `read-only' nature of these values, i.e., this function cannot be 72127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * used to manipulate the face. 72227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 72327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * `value' is a void pointer because the values returned can be of 72427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * various types. 72527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 72627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * If either `value' is NULL or `value_len' is too small, just the 72727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * required memory size for the requested entry is returned. 72827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 72927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * The `idx' parameter is used, not only to retrieve elements of, for 73027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * example, the FontMatrix or FontBBox, but also to retrieve name keys 73127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * from the CharStrings dictionary, and the charstrings themselves. It 73227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * is ignored for atomic values. 73327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 73427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * PS_DICT_BLUE_SCALE returns a value that is scaled up by 1000. To 73527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * get the value as in the font stream, you need to divide by 73627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 65536000.0 (to remove the FT_Fixed scale, and the x1000 scale). 73727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 73827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * IMPORTANT: Only key/value pairs read by the FreeType interpreter can 73927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * be retrieved. So, for example, PostScript procedures such as NP, 74027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * ND, and RD are not available. Arbitrary keys are, obviously, not be 74127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * available either. 74227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 74327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * If the font's format is not PostScript-based, this function returns 74427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * the `FT_Err_Invalid_Argument' error code. 74527811904d8de0ce5591417812ca31163bf5aad60Geremy Condra * 74627811904d8de0ce5591417812ca31163bf5aad60Geremy Condra */ 74727811904d8de0ce5591417812ca31163bf5aad60Geremy Condra FT_EXPORT( FT_Long ) 74827811904d8de0ce5591417812ca31163bf5aad60Geremy Condra FT_Get_PS_Font_Value( FT_Face face, 74927811904d8de0ce5591417812ca31163bf5aad60Geremy Condra PS_Dict_Keys key, 75027811904d8de0ce5591417812ca31163bf5aad60Geremy Condra FT_UInt idx, 75127811904d8de0ce5591417812ca31163bf5aad60Geremy Condra void *value, 75227811904d8de0ce5591417812ca31163bf5aad60Geremy Condra FT_Long value_len ); 75327811904d8de0ce5591417812ca31163bf5aad60Geremy Condra 75427811904d8de0ce5591417812ca31163bf5aad60Geremy Condra /* */ 755049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 756049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_END_HEADER 757049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 758049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif /* __T1TABLES_H__ */ 759049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 760049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 761049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* END */ 762