summaryrefslogtreecommitdiff
path: root/libfreetype/otljstf.c
diff options
context:
space:
mode:
authorDavid Boddie <david@boddie.org.uk>2024-02-28 01:52:58 +0100
committerDavid Boddie <david@boddie.org.uk>2024-02-28 01:52:58 +0100
commitcbd016cda002145743d87224f0a9f9068abbfc67 (patch)
treebcfcc9b11ea078a5fa42b16f7ea98a29d112d040 /libfreetype/otljstf.c
parent75323f4992b2b4e593bd2f548db9ac6897e894d3 (diff)
Removed libfreetype fork, replacing it with a submodule and some Inferno-specific files.
Retained the license documents and updated the header files.
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