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/otlgdef.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/otlgdef.c')
| -rw-r--r-- | libfreetype/otlgdef.c | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/libfreetype/otlgdef.c b/libfreetype/otlgdef.c deleted file mode 100644 index ff1c2a1e..00000000 --- a/libfreetype/otlgdef.c +++ /dev/null @@ -1,175 +0,0 @@ -#include "otlgdef.h" -#include "otlcommn.h" - - /************************************************************************/ - /************************************************************************/ - /***** *****/ - /***** ATTACHMENTS LIST *****/ - /***** *****/ - /************************************************************************/ - /************************************************************************/ - - static void - otl_attach_point_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_UInt count; - - if ( p + 2 > valid->limit ) - OTL_INVALID_TOO_SHORT; - - count = OTL_NEXT_USHORT( p ); - if ( table + count*2 > valid->limit ) - OTL_INVALID_TOO_SHORT; - } - - - static void - otl_attach_list_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_Bytes coverage; - OTL_UInt count; - - if ( p + 4 > valid->limit ) - OTL_INVALID_TOO_SHORT; - - coverage = table + OTL_NEXT_USHORT( p ); - count = OTL_NEXT_USHORT( p ); - - otl_coverage_validate( coverage, valid ); - if ( count != otl_coverage_get_count( coverage ) ) - OTL_INVALID_DATA; - - if ( p + count*2 > valid->limit ) - OTL_INVALID_TOO_SHORT; - - for ( ; count > 0; count-- ) - otl_attach_point_validate( table + OTL_NEXT_USHORT( p ) ); - } - - - /************************************************************************/ - /************************************************************************/ - /***** *****/ - /***** LIGATURE CARETS *****/ - /***** *****/ - /************************************************************************/ - /************************************************************************/ - - static void - otl_caret_value_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - - if ( p + 4 > valid->limit ) - OTL_INVALID_TOO_SHORT; - - format = OTL_NEXT_USHORT( p ); - switch ( format ) - { - case 1: - case 2: - break; - - case 3: - { - OTL_Bytes device; - - p += 2; - if ( p + 2 > valid->limit ) - OTL_INVALID_TOO_SHORT; - - otl_device_table_validate( table + OTL_PEEK_USHORT( p ) ); - } - break; - - default: - OTL_INVALID_DATA; - } - } - - - static void - otl_ligature_glyph_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_UInt count; - - if ( p + 2 > valid->limit ) - OTL_INVALID_TOO_SHORT; - - count = OTL_NEXT_USHORT( p ); - - if ( p + count*2 > valid->limit ) - OTL_INVALID_TOO_SHORT; - - for ( ; count > 0; count-- ) - otl_caret_value_validate( table + OTL_NEXT_USHORT( p ) ); - } - - - static void - otl_ligature_caret_list_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - OTL_Bytes coverage; - OTL_UInt count; - - if ( p + 4 > valid->limit ) - OTL_INVALID_TOO_SHORT; - - coverage = table + OTL_NEXT_USHORT( p ); - count = OTL_NEXT_USHORT( p ); - - otl_coverage_validate( coverage, valid ); - if ( count != otl_coverage_get_count( coverage ) ) - OTL_INVALID_DATA; - - if ( p + count*2 > valid->limit ) - OTL_INVALID_TOO_SHORT; - - for ( ; count > 0; count-- ) - otl_ligature_glyph_validate( table + OTL_NEXT_USHORT( p ) ); - } - - - /************************************************************************/ - /************************************************************************/ - /***** *****/ - /***** GDEF TABLE *****/ - /***** *****/ - /************************************************************************/ - /************************************************************************/ - - OTL_APIDEF( void ) - otl_gdef_validate( OTL_Bytes table, - OTL_Validator valid ) - { - OTL_Bytes p = table; - - if ( p + 12 > valid->limit ) - OTL_INVALID_TOO_SHORT; - - /* check format */ - if ( OTL_NEXT_ULONG( p ) != 0x00010000UL ) - OTL_INVALID_FORMAT; - - /* validate class definition table */ - otl_class_definition_validate( table + OTL_NEXT_USHORT( p ) ); - - /* validate attachment point list */ - otl_attach_list_validate( table + OTL_NEXT_USHORT( p ) ); - - /* validate ligature caret list */ - otl_ligature_caret_list_validate( table + OTL_NEXT_USHORT( p ) ); - - /* validate mark attach class */ - otl_class_definition_validate( table + OTL_NEXT_USHORT( p ) ); - } - |
