diff options
author | Alexei Podtelezhnikov <apodtele@gmail.com> | 2021-10-27 22:24:27 -0400 |
---|---|---|
committer | Alexei Podtelezhnikov <apodtele@gmail.com> | 2021-10-27 22:24:27 -0400 |
commit | a577bbcb5bd895b74c690f5d3eb640330d2fee68 (patch) | |
tree | 9b71b3b70cd3e926a9e7c497e0d369407e780746 /src | |
parent | 80b13f5732dbf85d751e581c758a6decbfdd87f4 (diff) | |
download | freetype2-a577bbcb5bd895b74c690f5d3eb640330d2fee68.tar.gz |
[woff2] Optimize table tagging.
Fixes #1107.
* include/freetype/internal/wofftypes.h (WOFF2_TableRec): Use
32-bit tag.
* src/sfnt/sfwoff2.c (compare_tags, find_table, woff2_open_font):
Use 32-bit tag.
* src/sfnt/woff2tags.[ch] (woff2_known_tags): Use static storage and
return 32-bit tag.
Diffstat (limited to 'src')
-rw-r--r-- | src/sfnt/sfwoff2.c | 8 | ||||
-rw-r--r-- | src/sfnt/woff2tags.c | 4 | ||||
-rw-r--r-- | src/sfnt/woff2tags.h | 2 |
3 files changed, 7 insertions, 7 deletions
diff --git a/src/sfnt/sfwoff2.c b/src/sfnt/sfwoff2.c index df0407238..7041b75bc 100644 --- a/src/sfnt/sfwoff2.c +++ b/src/sfnt/sfwoff2.c @@ -108,8 +108,8 @@ WOFF2_Table table1 = *(WOFF2_Table*)a; WOFF2_Table table2 = *(WOFF2_Table*)b; - FT_ULong tag1 = table1->Tag; - FT_ULong tag2 = table2->Tag; + FT_Tag tag1 = table1->Tag; + FT_Tag tag2 = table2->Tag; if ( tag1 > tag2 ) @@ -356,7 +356,7 @@ static WOFF2_Table find_table( WOFF2_Table* tables, FT_UShort num_tables, - FT_ULong tag ) + FT_Tag tag ) { FT_Int i; @@ -2216,7 +2216,7 @@ /* reject fonts that have multiple tables with the same tag */ for ( nn = 1; nn < woff2.num_tables; nn++ ) { - FT_ULong tag = indices[nn]->Tag; + FT_Tag tag = indices[nn]->Tag; if ( tag == indices[nn - 1]->Tag ) diff --git a/src/sfnt/woff2tags.c b/src/sfnt/woff2tags.c index 84748268c..a299822c2 100644 --- a/src/sfnt/woff2tags.c +++ b/src/sfnt/woff2tags.c @@ -28,10 +28,10 @@ * * for details. */ - FT_LOCAL_DEF( FT_ULong ) + FT_LOCAL_DEF( FT_Tag ) woff2_known_tags( FT_Byte index ) { - const FT_ULong known_tags[63] = + static const FT_Tag known_tags[63] = { FT_MAKE_TAG('c', 'm', 'a', 'p'), /* 0 */ FT_MAKE_TAG('h', 'e', 'a', 'd'), /* 1 */ diff --git a/src/sfnt/woff2tags.h b/src/sfnt/woff2tags.h index 543daf891..12db9cc46 100644 --- a/src/sfnt/woff2tags.h +++ b/src/sfnt/woff2tags.h @@ -27,7 +27,7 @@ FT_BEGIN_HEADER - FT_LOCAL( FT_ULong ) + FT_LOCAL( FT_Tag ) woff2_known_tags( FT_Byte index ); |