Lines Matching defs:gdef

27 #include "harfbuzz-gdef-private.h"
38 static void Free_NewGlyphClasses( HB_GDEFHeader* gdef);
59 HB_GDEFHeader* gdef;
64 if ( ALLOC( gdef, sizeof( *gdef ) ) )
67 gdef->GlyphClassDef.loaded = FALSE;
68 gdef->AttachList.loaded = FALSE;
69 gdef->LigCaretList.loaded = FALSE;
70 gdef->MarkAttachClassDef_offset = 0;
71 gdef->MarkAttachClassDef.loaded = FALSE;
73 gdef->LastGlyph = 0;
74 gdef->NewGlyphClasses = NULL;
76 *retptr = gdef;
88 HB_GDEFHeader* gdef;
97 if (( error = HB_New_GDEF_Table ( &gdef ) ))
122 ( error = _HB_OPEN_Load_ClassDefinition( &gdef->GlyphClassDef, 5,
141 ( error = Load_AttachList( &gdef->AttachList,
160 ( error = Load_LigCaretList( &gdef->LigCaretList,
178 gdef->MarkAttachClassDef_offset = new_offset + base_offset;
180 gdef->MarkAttachClassDef_offset = 0;
182 *retptr = gdef;
187 Free_LigCaretList( &gdef->LigCaretList );
190 Free_AttachList( &gdef->AttachList );
193 _HB_OPEN_Free_ClassDefinition( &gdef->GlyphClassDef );
196 FREE( gdef );
202 HB_Error HB_Done_GDEF_Table ( HB_GDEFHeader* gdef )
204 Free_LigCaretList( &gdef->LigCaretList );
205 Free_AttachList( &gdef->AttachList );
206 _HB_OPEN_Free_ClassDefinition( &gdef->GlyphClassDef );
207 _HB_OPEN_Free_ClassDefinition( &gdef->MarkAttachClassDef );
209 Free_NewGlyphClasses( gdef );
211 FREE( gdef );
650 static HB_UShort Get_New_Class( HB_GDEFHeader* gdef,
661 if ( glyphID >= gdef->LastGlyph )
664 count = gdef->GlyphClassDef.cd.cd2.ClassRangeCount;
665 gcrr = gdef->GlyphClassDef.cd.cd2.ClassRangeRecord;
666 ngc = gdef->NewGlyphClasses;
690 HB_Error HB_GDEF_Get_Glyph_Property( HB_GDEFHeader* gdef,
699 if ( !gdef || !property )
704 if ( gdef->MarkAttachClassDef.loaded )
706 error = _HB_OPEN_Get_Class( &gdef->MarkAttachClassDef, glyphID, &class, &index );
716 error = _HB_OPEN_Get_Class( &gdef->GlyphClassDef, glyphID, &class, &index );
723 if ( error == HB_Err_Not_Covered && gdef->NewGlyphClasses )
724 class = Get_New_Class( gdef, glyphID, index );
787 HB_Error HB_GDEF_Build_ClassDefinition( HB_GDEFHeader* gdef,
802 if ( !gdef || !glyph_array || !class_array )
805 gcd = &gdef->GlyphClassDef;
894 if ( ALLOC_ARRAY( gdef->NewGlyphClasses,
900 ngc = gdef->NewGlyphClasses;
938 gdef->LastGlyph = num_glyphs - 1;
940 gdef->MarkAttachClassDef_offset = 0L;
941 gdef->MarkAttachClassDef.loaded = FALSE;
952 FREE( gdef->NewGlyphClasses );
962 static void Free_NewGlyphClasses( HB_GDEFHeader* gdef )
968 if ( gdef->NewGlyphClasses )
970 count = gdef->GlyphClassDef.cd.cd2.ClassRangeCount + 1;
971 ngc = gdef->NewGlyphClasses;
982 _HB_GDEF_Add_Glyph_Property( HB_GDEFHeader* gdef,
995 error = _HB_OPEN_Get_Class( &gdef->GlyphClassDef, glyphID, &class, &index );
1030 count = gdef->GlyphClassDef.cd.cd2.ClassRangeCount;
1031 gcrr = gdef->GlyphClassDef.cd.cd2.ClassRangeRecord;
1032 ngc = gdef->NewGlyphClasses;
1068 _HB_GDEF_Check_Property( HB_GDEFHeader* gdef,
1075 if ( gdef )
1082 error = HB_GDEF_Get_Glyph_Property( gdef, gitem->gindex, &gitem->gproperties );
1124 _HB_GDEF_LoadMarkAttachClassDef_From_LookupFlags( HB_GDEFHeader* gdef,
1141 if ( gdef &&
1142 gdef->MarkAttachClassDef_offset && !gdef->MarkAttachClassDef.loaded )
1149 if ( FILE_Seek( gdef->MarkAttachClassDef_offset ) ||
1150 ( error = _HB_OPEN_Load_ClassDefinition( &gdef->MarkAttachClassDef,