1/***************************************************************************/ 2/* */ 3/* cffotypes.h */ 4/* */ 5/* Basic OpenType/CFF object type definitions (specification). */ 6/* */ 7/* Copyright 2017-2018 by */ 8/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9/* */ 10/* This file is part of the FreeType project, and may only be used, */ 11/* modified, and distributed under the terms of the FreeType project */ 12/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13/* this file you indicate that you have read the license and */ 14/* understand and accept it fully. */ 15/* */ 16/***************************************************************************/ 17 18 19#ifndef CFFOTYPES_H_ 20#define CFFOTYPES_H_ 21 22#include <ft2build.h> 23#include FT_INTERNAL_OBJECTS_H 24#include FT_INTERNAL_CFF_TYPES_H 25#include FT_INTERNAL_TRUETYPE_TYPES_H 26#include FT_SERVICE_POSTSCRIPT_CMAPS_H 27#include FT_INTERNAL_POSTSCRIPT_HINTS_H 28 29 30FT_BEGIN_HEADER 31 32 33 typedef TT_Face CFF_Face; 34 35 36 /*************************************************************************/ 37 /* */ 38 /* <Type> */ 39 /* CFF_Size */ 40 /* */ 41 /* <Description> */ 42 /* A handle to an OpenType size object. */ 43 /* */ 44 typedef struct CFF_SizeRec_ 45 { 46 FT_SizeRec root; 47 FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */ 48 49 } CFF_SizeRec, *CFF_Size; 50 51 52 /*************************************************************************/ 53 /* */ 54 /* <Type> */ 55 /* CFF_GlyphSlot */ 56 /* */ 57 /* <Description> */ 58 /* A handle to an OpenType glyph slot object. */ 59 /* */ 60 typedef struct CFF_GlyphSlotRec_ 61 { 62 FT_GlyphSlotRec root; 63 64 FT_Bool hint; 65 FT_Bool scaled; 66 67 FT_Fixed x_scale; 68 FT_Fixed y_scale; 69 70 } CFF_GlyphSlotRec, *CFF_GlyphSlot; 71 72 73 /*************************************************************************/ 74 /* */ 75 /* <Type> */ 76 /* CFF_Internal */ 77 /* */ 78 /* <Description> */ 79 /* The interface to the `internal' field of `FT_Size'. */ 80 /* */ 81 typedef struct CFF_InternalRec_ 82 { 83 PSH_Globals topfont; 84 PSH_Globals subfonts[CFF_MAX_CID_FONTS]; 85 86 } CFF_InternalRec, *CFF_Internal; 87 88 89 /*************************************************************************/ 90 /* */ 91 /* Subglyph transformation record. */ 92 /* */ 93 typedef struct CFF_Transform_ 94 { 95 FT_Fixed xx, xy; /* transformation matrix coefficients */ 96 FT_Fixed yx, yy; 97 FT_F26Dot6 ox, oy; /* offsets */ 98 99 } CFF_Transform; 100 101 102FT_END_HEADER 103 104 105#endif /* CFFOTYPES_H_ */ 106 107 108/* END */ 109