diff options
| author | Charles Forsyth <charles.forsyth@gmail.com> | 2024-04-22 07:10:23 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-22 07:10:23 +0100 |
| commit | aea6a5537d424a269675969ba3653d291121984e (patch) | |
| tree | 6d8f7ede33f403786bdfa91973676c1bf833f0f7 /libfreetype/otljstf.c | |
| parent | 73b5cba380d148e77d696880027a416cda50f756 (diff) | |
| parent | 3df3f6f7d81cd03b0f10ef557e0c96ab0f6cd702 (diff) | |
Merge pull request #12 from dboddie/update-freetype
Update FreeType to the latest code
Diffstat (limited to 'libfreetype/otljstf.c')
| -rw-r--r-- | libfreetype/otljstf.c | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/libfreetype/otljstf.c b/libfreetype/otljstf.c deleted file mode 100644 index b0fa9f40..00000000 --- a/libfreetype/otljstf.c +++ /dev/null @@ -1,189 +0,0 @@ -#include "otljstf.h" -#include "otlcommn.h" -#include "otlgpos.h" - - static void - otl_jstf_extender_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_UInt count; - - OTL_CHECK( 2 ); - - count = OTL_NEXT_USHORT( p ); - - OTL_CHECK( count*2 ); - } - - - static void - otl_jstf_gsub_mods_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_UInt count; - - OTL_CHECK( 2 ); - count = OTL_NEXT_USHORT( p ); - OTL_CHECK( count*2 ); - - /* XXX: check GSUB lookup indices */ - } - - - static void - otl_jstf_gpos_mods_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_UInt count; - - OTL_CHECK( 2 ); - count = OTL_NEXT_USHORT( p ); - OTL_CHECK( count*2 ); - - /* XXX: check GPOS lookup indices */ - } - - - static void - otl_jstf_max_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_UInt count; - - OTL_CHECK( 2 ); - - count = OTL_NEXT_USHORT( p ); - - OTL_CHECK( count*2 ); - for ( ; count > 0; count-- ) - otl_gpos_subtable_check( table + OTL_NEXT_USHORT( p ), valid ); - } - - - static void - otl_jstf_priority_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_UInt offset; - - OTL_CHECK( 20 ); - - /* shrinkage GSUB enable/disable */ - val = OTL_NEXT_USHORT( p ); - if ( val ) - otl_jstf_gsub_mods_validate( table + val, valid ); - - val = OTL_NEXT_USHORT( p ); - if ( val ) - otl_jstf_gsub_mods_validate( table + val, valid ); - - /* shrinkage GPOS enable/disable */ - val = OTL_NEXT_USHORT( p ); - if ( val ) - otl_jstf_gpos_mods_validate( table + val, valid ); - - val = OTL_NEXT_USHORT( p ); - if ( val ) - otl_jstf_gpos_mods_validate( table + val, valid ); - - /* shrinkage JSTF max */ - val = OTL_NEXT_USHORT( p ); - if ( val ) - otl_jstf_max_validate( table + val, valid ); - - /* extension GSUB enable/disable */ - val = OTL_NEXT_USHORT( p ); - if ( val ) - otl_jstf_gsub_mods_validate( table + val, valid ); - - val = OTL_NEXT_USHORT( p ); - if ( val ) - otl_jstf_gsub_mods_validate( table + val, valid ); - - /* extension GPOS enable/disable */ - val = OTL_NEXT_USHORT( p ); - if ( val ) - otl_jstf_gpos_mods_validate( table + val, valid ); - - val = OTL_NEXT_USHORT( p ); - if ( val ) - otl_jstf_gpos_mods_validate( table + val, valid ); - - /* extension JSTF max */ - val = OTL_NEXT_USHORT( p ); - if ( val ) - otl_jstf_max_validate( table + val, valid ); - } - - static void - otl_jstf_lang_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_UInt count; - - OTL_CHECK( 2 ); - - count = OTL_NEXT_USHORT( p ); - - OTL_CHECK( count*2 ); - for ( ; count > 0; count-- ) - otl_jstf_priority_validate( table + OTL_NEXT_USHORT( p ), valid ); - } - - - static void - otl_jstf_script_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_UInt count, extender, default_lang; - - OTL_CHECK( 6 ); - extender = OTL_NEXT_USHORT( p ); - default_lang = OTL_NEXT_USHORT( p ); - count = OTL_NEXT_USHORT( p ); - - if ( extender ) - otl_jstf_extender_validate( table + extender, valid ); - - if ( default_lang ) - otl_jstf_lang_validate( table + default_lang, valid ); - - OTL_CHECK( 6*count ); - - for ( ; count > 0; count-- ) - { - p += 4; /* ignore tag */ - otl_jstf_lang_validate( table + OTL_NEXT_USHORT( p ), valid ); - } - } - - - OTL_LOCALDEF( void ) - otl_jstf_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_UInt count; - - OTL_CHECK( 4 ); - - if ( OTL_NEXT_ULONG( p ) != 0x10000UL ) - OTL_INVALID_DATA; - - count = OTL_NEXT_USHORT( p ); - OTL_CHECK( count*6 ); - - for ( ; count > 0; count++ ) - { - p += 4; /* ignore tag */ - otl_jstf_script_validate( table + OTL_NEXT_USHORT( p ), valid ); - } - } -
\ No newline at end of file |
