28 #ifdef FT_OPTION_AUTOFIT2 32 #ifndef FT_CONFIG_OPTION_PIC 40 &af_dummy_script_class,
41 #ifdef FT_OPTION_AUTOFIT2 42 &af_latin2_script_class,
44 &af_latin_script_class,
46 &af_indic_script_class,
89 if ( clazz->script_uni_ranges ==
NULL )
96 for ( range = clazz->script_uni_ranges; range->
first != 0; range++ )
107 gscripts[gindex] = (
FT_Byte)ss;
113 if ( gindex == 0 || charcode > range->
last )
118 gscripts[gindex] = (
FT_Byte)ss;
124 for ( i = 0x30; i <= 0x39; i++ )
148 gscripts[nn] |= globals->
module->fallback_script;
168 memory = face->memory;
170 if (
FT_ALLOC( globals,
sizeof ( *globals ) +
179 error = af_face_globals_compute_script_coverage( globals );
199 FT_Memory memory = globals->face->memory;
205 if ( globals->metrics[nn] )
210 FT_ASSERT( globals->metrics[nn]->clazz == clazz );
212 if ( clazz->script_metrics_done )
213 clazz->script_metrics_done( globals->metrics[nn] );
215 FT_FREE( globals->metrics[nn] );
219 globals->glyph_count = 0;
220 globals->glyph_scripts =
NULL;
221 globals->face =
NULL;
243 if ( gindex >= (
FT_ULong)globals->glyph_count )
245 error =
FT_THROW( Invalid_Argument );
250 if ( gidx == 0 || gidx + 1 >= script_max )
255 script = clazz->script;
257 metrics = globals->metrics[clazz->script];
258 if ( metrics ==
NULL )
261 FT_Memory memory = globals->face->memory;
264 if (
FT_ALLOC( metrics, clazz->script_metrics_size ) )
267 metrics->
clazz = clazz;
270 if ( clazz->script_metrics_init )
272 error = clazz->script_metrics_init( metrics, globals->face );
275 if ( clazz->script_metrics_done )
276 clazz->script_metrics_done( metrics );
283 globals->metrics[clazz->script] =
metrics;
297 if ( gindex < (
FT_ULong)globals->glyph_count )
#define FT_ALLOC(ptr, size)
typedefFT_BEGIN_HEADER struct AF_ModuleRec_ * AF_Module
FT_Get_Next_Char(FT_Face face, FT_ULong char_code, FT_UInt *agindex)
return FT_THROW(Missing_Property)
af_face_globals_new(FT_Face face, AF_FaceGlobals *aglobals, AF_Module module)
FT_BEGIN_HEADER typedef unsigned char FT_Bool
FT_UInt increase_x_height
GLenum GLuint GLint GLenum face
#define FT_ASSERT(condition)
#define AF_SCRIPT_CLASSES_GET
struct AF_ScriptClassRec_ const * AF_ScriptClass
FT_Get_Char_Index(FT_Face face, FT_ULong charcode)
FT_Select_Charmap(FT_Face face, FT_Encoding encoding)
af_face_globals_free(AF_FaceGlobals globals)
FT_Set_Charmap(FT_Face face, FT_CharMap charmap)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
af_face_globals_is_digit(AF_FaceGlobals globals, FT_UInt gindex)
#define AF_PROP_INCREASE_X_HEIGHT_MAX
GLsizei GLenum const GLvoid GLuint GLsizei GLfloat * metrics
#define FT_MEM_SET(dest, byte, count)
af_face_globals_get_metrics(AF_FaceGlobals globals, FT_UInt gindex, FT_UInt options, AF_ScriptMetrics *ametrics)