summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/freetype/src/gxvalid/gxvmorx5.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/freetype/src/gxvalid/gxvmorx5.c')
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmorx5.c42
1 files changed, 25 insertions, 17 deletions
diff --git a/src/3rdparty/freetype/src/gxvalid/gxvmorx5.c b/src/3rdparty/freetype/src/gxvalid/gxvmorx5.c
index 5e3a16437e..5e095dd380 100644
--- a/src/3rdparty/freetype/src/gxvalid/gxvmorx5.c
+++ b/src/3rdparty/freetype/src/gxvalid/gxvmorx5.c
@@ -64,12 +64,12 @@
static void
gxv_morx_subtable_type5_insertionGlyphList_load( FT_Bytes table,
FT_Bytes limit,
- GXV_Validator valid )
+ GXV_Validator gxvalid )
{
FT_Bytes p = table;
GXV_morx_subtable_type5_StateOptRecData optdata =
- (GXV_morx_subtable_type5_StateOptRecData)valid->xstatetable.optdata;
+ (GXV_morx_subtable_type5_StateOptRecData)gxvalid->xstatetable.optdata;
GXV_LIMIT_CHECK( 4 );
@@ -85,14 +85,14 @@
FT_ULong* classTable_length_p,
FT_ULong* stateArray_length_p,
FT_ULong* entryTable_length_p,
- GXV_Validator valid )
+ GXV_Validator gxvalid )
{
FT_ULong o[4];
FT_ULong* l[4];
FT_ULong buff[5];
GXV_morx_subtable_type5_StateOptRecData optdata =
- (GXV_morx_subtable_type5_StateOptRecData)valid->xstatetable.optdata;
+ (GXV_morx_subtable_type5_StateOptRecData)gxvalid->xstatetable.optdata;
o[0] = classTable;
@@ -104,7 +104,7 @@
l[2] = entryTable_length_p;
l[3] = &(optdata->insertionGlyphList_length);
- gxv_set_length_by_ulong_offset( o, l, buff, 4, table_size, valid );
+ gxv_set_length_by_ulong_offset( o, l, buff, 4, table_size, gxvalid );
}
@@ -113,11 +113,14 @@
FT_UShort count,
FT_Bytes table,
FT_Bytes limit,
- GXV_Validator valid )
+ GXV_Validator gxvalid )
{
- FT_Bytes p = table + table_index * 2;
+ FT_Bytes p = table + table_index * 2;
+#ifndef GXV_LOAD_TRACE_VARS
+ GXV_LIMIT_CHECK( count * 2 );
+#else
while ( p < table + count * 2 + table_index * 2 )
{
FT_UShort insert_glyphID;
@@ -129,6 +132,7 @@
}
GXV_TRACE(( "\n" ));
+#endif
}
@@ -139,14 +143,16 @@
GXV_StateTable_GlyphOffsetCPtr glyphOffset_p,
FT_Bytes table,
FT_Bytes limit,
- GXV_Validator valid )
+ GXV_Validator gxvalid )
{
+#ifdef GXV_LOAD_UNUSED_VARS
FT_Bool setMark;
FT_Bool dontAdvance;
FT_Bool currentIsKashidaLike;
FT_Bool markedIsKashidaLike;
FT_Bool currentInsertBefore;
FT_Bool markedInsertBefore;
+#endif
FT_Byte currentInsertCount;
FT_Byte markedInsertCount;
FT_Byte currentInsertList;
@@ -155,12 +161,14 @@
FT_UNUSED( state );
+#ifdef GXV_LOAD_UNUSED_VARS
setMark = FT_BOOL( ( flags >> 15 ) & 1 );
dontAdvance = FT_BOOL( ( flags >> 14 ) & 1 );
currentIsKashidaLike = FT_BOOL( ( flags >> 13 ) & 1 );
markedIsKashidaLike = FT_BOOL( ( flags >> 12 ) & 1 );
currentInsertBefore = FT_BOOL( ( flags >> 11 ) & 1 );
markedInsertBefore = FT_BOOL( ( flags >> 10 ) & 1 );
+#endif
currentInsertCount = (FT_Byte)( ( flags >> 5 ) & 0x1F );
markedInsertCount = (FT_Byte)( flags & 0x001F );
@@ -172,20 +180,20 @@
gxv_morx_subtable_type5_InsertList_validate( currentInsertList,
currentInsertCount,
table, limit,
- valid );
+ gxvalid );
if ( markedInsertList && 0 != markedInsertCount )
gxv_morx_subtable_type5_InsertList_validate( markedInsertList,
markedInsertCount,
table, limit,
- valid );
+ gxvalid );
}
FT_LOCAL_DEF( void )
gxv_morx_subtable_type5_validate( FT_Bytes table,
FT_Bytes limit,
- GXV_Validator valid )
+ GXV_Validator gxvalid )
{
FT_Bytes p = table;
@@ -197,18 +205,18 @@
GXV_LIMIT_CHECK( GXV_MORX_SUBTABLE_TYPE5_HEADER_SIZE );
- valid->xstatetable.optdata =
+ gxvalid->xstatetable.optdata =
et;
- valid->xstatetable.optdata_load_func =
+ gxvalid->xstatetable.optdata_load_func =
gxv_morx_subtable_type5_insertionGlyphList_load;
- valid->xstatetable.subtable_setup_func =
+ gxvalid->xstatetable.subtable_setup_func =
gxv_morx_subtable_type5_subtable_setup;
- valid->xstatetable.entry_glyphoffset_fmt =
+ gxvalid->xstatetable.entry_glyphoffset_fmt =
GXV_GLYPHOFFSET_ULONG;
- valid->xstatetable.entry_validate_func =
+ gxvalid->xstatetable.entry_validate_func =
gxv_morx_subtable_type5_entry_validate;
- gxv_XStateTable_validate( p, limit, valid );
+ gxv_XStateTable_validate( p, limit, gxvalid );
GXV_EXIT;
}