1 ! Copyright (C) 2005 Slava Pestov.
2 ! See http://factor.sf.net/license.txt for BSD license.
6 ! Some code to render TrueType fonts with OpenGL.
9 { [ os "macosx" = ] [ "libfreetype.dylib" ] }
10 { [ os "win32" = ] [ "freetype6.dll" ] }
11 { [ t ] [ "libfreetype.so.6" ] }
12 } cond "cdecl" add-library
16 TYPEDEF: uchar FT_Byte
17 TYPEDEF: uchar* FT_Bytes
22 TYPEDEF: short FT_Short
23 TYPEDEF: ushort FT_UShort
25 TYPEDEF: ulong FT_ULong
26 TYPEDEF: uchar FT_Bool
27 TYPEDEF: cell FT_Offset
28 TYPEDEF: int FT_PtrDist
29 TYPEDEF: char FT_String
32 TYPEDEF: long FT_Fixed
33 TYPEDEF: void* FT_Pointer
35 TYPEDEF: ushort FT_UFWord
36 TYPEDEF: short FT_F2Dot14
37 TYPEDEF: long FT_F26Dot6
39 FUNCTION: FT_Error FT_Init_FreeType ( void* library ) ;
41 ! circular reference between glyph and face
49 FIELD: FT_UInt reserved
56 FIELD: FT_Pos hori-bearing-x
57 FIELD: FT_Pos hori-bearing-y
58 FIELD: FT_Pos hori-advance
60 FIELD: FT_Pos vert-bearing-x
61 FIELD: FT_Pos vert-bearing-y
62 FIELD: FT_Pos vert-advance
64 FIELD: FT_Fixed linear-hori-advance
65 FIELD: FT_Fixed linear-vert-advance
66 FIELD: FT_Pos advance-x
67 FIELD: FT_Pos advance-y
71 FIELD: int bitmap-rows
72 FIELD: int bitmap-width
73 FIELD: int bitmap-pitch
74 FIELD: uchar* bitmap-buffer
75 FIELD: short bitmap-num-grays
76 FIELD: char bitmap-pixel-mode
77 FIELD: char bitmap-palette-mode
78 FIELD: void* bitmap-palette
80 FIELD: FT_Int bitmap-left
81 FIELD: FT_Int bitmap-top
83 FIELD: short n-contours
88 FIELD: short* contours
90 FIELD: int outline-flags
92 FIELD: FT_UInt num_subglyphs
93 FIELD: void* subglyphs
95 FIELD: void* control-data
96 FIELD: long control-len
98 FIELD: FT_Pos lsb-delta
99 FIELD: FT_Pos rsb-delta
104 BEGIN-STRUCT: face-size
109 FIELD: FT_UShort x-ppem
110 FIELD: FT_UShort y-ppem
112 FIELD: FT_Fixed x-scale
113 FIELD: FT_Fixed y-scale
115 FIELD: FT_Pos ascender
116 FIELD: FT_Pos descender
118 FIELD: FT_Pos max-advance
122 FIELD: FT_Long num-faces
126 FIELD: FT_Long style-flags
128 FIELD: FT_Long num-glyphs
130 FIELD: FT_Char* family-name
131 FIELD: FT_Char* style-name
133 FIELD: FT_Int num-fixed-sizes
134 FIELD: void* available-sizes
136 FIELD: FT_Int num-charmaps
137 FIELD: void* charmaps
147 FIELD: FT_UShort units-per-em
148 FIELD: FT_Short ascender
149 FIELD: FT_Short descender
150 FIELD: FT_Short height
152 FIELD: FT_Short max-advance-width
153 FIELD: FT_Short max-advance-height
155 FIELD: FT_Short underline-position
156 FIELD: FT_Short underline-thickness
159 FIELD: face-size* size
163 FUNCTION: FT_Error FT_New_Face ( void* library, FT_Char* font, FT_Long index, face* face ) ;
165 FUNCTION: FT_Error FT_Set_Char_Size ( face* face, FT_F26Dot6 char_width, FT_F26Dot6 char_height, FT_UInt horizontal_dpi, FT_UInt vertical_dpi ) ;
167 FUNCTION: FT_Error FT_Load_Char ( face* face, FT_ULong charcode, FT_Int32 load_flags ) ;
170 ENUM: FT_RENDER_MODE_NORMAL
171 ENUM: FT_RENDER_MODE_LIGHT
172 ENUM: FT_RENDER_MODE_MONO
173 ENUM: FT_RENDER_MODE_LCD
174 ENUM: FT_RENDER_MODE_LCD_V
177 FUNCTION: int FT_Render_Glyph ( glyph* slot, int render_mode ) ;
179 FUNCTION: void FT_Done_Face ( face* face ) ;
181 FUNCTION: void FT_Done_FreeType ( void* library ) ;
183 FUNCTION: FT_Long FT_MulFix ( FT_Long a, FT_Long b ) ;