summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexei Podtelezhnikov <apodtele@gmail.com>2021-10-27 22:24:27 -0400
committerAlexei Podtelezhnikov <apodtele@gmail.com>2021-10-27 22:24:27 -0400
commita577bbcb5bd895b74c690f5d3eb640330d2fee68 (patch)
tree9b71b3b70cd3e926a9e7c497e0d369407e780746 /src
parent80b13f5732dbf85d751e581c758a6decbfdd87f4 (diff)
downloadfreetype2-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.c8
-rw-r--r--src/sfnt/woff2tags.c4
-rw-r--r--src/sfnt/woff2tags.h2
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 );