1 #ifndef _FT_AROS_FTGLYPHENGINE_H
2 #define _FT_AROS_FTGLYPHENGINE_H
4 #include <exec/libraries.h>
10 #include FT_TRUETYPE_TABLES_H
13 #define OT_Spec1_FontFile (OT_Spec1 | OT_Indirect)
14 #define OT_Spec2_DefCodePage (OT_Level1 | 0x102)
15 #define OT_Spec2_CodePage (OT_Level1 | OT_Indirect | 0x102)
16 #define OT_Spec3_AFMFile (OT_Level1 | OT_Indirect | 0x103)
17 #define OT_Spec4_Metric (OT_Level1 | 0x104)
18 #define OT_Spec5_BBox (OT_Level1 | 0x105)
19 #define OT_Spec6_FaceNum (OT_Level1 | 0x106) // index for .ttc files
20 #define OT_Spec7_BMSize (OT_Level1 | 0x107) // embbeded bitmap size
22 #define OT_GlyphMap8Bit_Old (OT_Level1 | 0x108)
23 #define OT_Spec9_Hinter (OT_Level1 | 0x109)
25 // Values for OT_Spec4_Metric
26 #define METRIC_GLOBALBBOX 0 // default
27 #define METRIC_RAW_EM 1
28 #define METRIC_ASCEND 2
29 #define METRIC_TYPOASCEND 3
30 #define METRIC_USWINASCEND 4
31 #define METRIC_CUSTOMBBOX 5
32 #define METRIC_BMSIZE 6
34 // Values for OT_Spec9_Hinter
35 #define HINTER_DEFAULT 0 // default: postscript hinter for PS,
36 // truetype hinter for TT if bytecode interpreter
37 // is compiled in, autohinter for all other cases.
38 #define HINTER_FORCEAUTO 1 // Use autohinter instead of PS or TT hinter.
39 #define HINTER_NONE 2 // Use NO hinter (may speed up things, but bad results).
40 // Default for bitmap fonts.
42 struct FT_GlyphEngine_
{
43 /* diskfont standard */
44 struct Library
*gle_Library
; /* should be our lib base */
46 char *gle_Name
; /* library name "freetype" */
48 /* freetype.library specific - private data */
50 /* freetype specific entites */
56 /* freetype.library current request/state */
59 char ft_filename
[256];
60 char base_filename
[256];
61 char afm_filename
[256];
62 //char bold_filename[256];
63 //char italic_filename[256];
64 //char bold_italic_filename[256];
67 unsigned long cmap_index
;
68 unsigned long requested_cmap
;
69 unsigned short platform
, encoding
;
82 FT_Fixed hold_sin
, hold_cos
;
85 FT_Matrix rotate_matrix
;
88 FT_Matrix shear_matrix
;
93 // int embold_x, embold_y;
95 // int bold_sig, italic_sig;
97 unsigned short int codepage
[256];
99 struct GlyphMap
*GMap
;
102 typedef struct FT_GlyphEngine_ FT_GlyphEngine
;
104 int set_last_error(FT_GlyphEngine
*, int);
105 void set_default_codepage(FT_GlyphEngine
*);
106 void FreeGE(FT_GlyphEngine
*);
107 FT_GlyphEngine
*AllocGE(void);
109 /* flag that we need to pick an encoding table */
110 #define NO_CMAP_SET 0xFFFFFFFF
112 #endif /*_FT_AROS_FTGLYPHENGINE_H*/