summaryrefslogtreecommitdiff
path: root/libfreetype/otljstf.c
diff options
context:
space:
mode:
authorCharles Forsyth <charles.forsyth@gmail.com>2024-04-22 07:10:23 +0100
committerGitHub <noreply@github.com>2024-04-22 07:10:23 +0100
commitaea6a5537d424a269675969ba3653d291121984e (patch)
tree6d8f7ede33f403786bdfa91973676c1bf833f0f7 /libfreetype/otljstf.c
parent73b5cba380d148e77d696880027a416cda50f756 (diff)
parent3df3f6f7d81cd03b0f10ef557e0c96ab0f6cd702 (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.c189
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