summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexei Podtelezhnikov <apodtele@gmail.com>2023-02-08 13:36:59 +0000
committerAlexei Podtelezhnikov <apodtele@gmail.com>2023-02-08 13:36:59 +0000
commit22e6d06b219af91924783dfd7b8b3ad56c780f78 (patch)
treed68f157e586e12f192699e9ea939f63fb70a96a0
parent27b2cd4101dfcf7d03904204e078b2de84cce8c4 (diff)
downloadfreetype2-apodtele-master-patch-38950.tar.gz
[truetype, type1] Additional variation tags.apodtele-master-patch-38950
Sync with https://learn.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg#registered-axis-tags * src/truetype/ttgxvar.h (TTAG_ital): New tag. * src/truetype/ttgxvar.c (TT_Get_MM_Var): Use it. * src/type1/t1loaad.c (T1_Get_MM_Var): Handle 'slnt' and 'ital'.
-rw-r--r--src/truetype/ttgxvar.c2
-rw-r--r--src/truetype/ttgxvar.h1
-rw-r--r--src/type1/t1load.c4
3 files changed, 7 insertions, 0 deletions
diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c
index 699acb682..55861c587 100644
--- a/src/truetype/ttgxvar.c
+++ b/src/truetype/ttgxvar.c
@@ -2713,6 +2713,8 @@
a->name = (char*)"OpticalSize";
else if ( a->tag == TTAG_slnt )
a->name = (char*)"Slant";
+ else if ( a->tag == TTAG_ital )
+ a->name = (char*)"Italic";
next_name += 5;
a++;
diff --git a/src/truetype/ttgxvar.h b/src/truetype/ttgxvar.h
index 9d88ce7a9..4fec980dc 100644
--- a/src/truetype/ttgxvar.h
+++ b/src/truetype/ttgxvar.h
@@ -343,6 +343,7 @@ FT_BEGIN_HEADER
#define TTAG_wdth FT_MAKE_TAG( 'w', 'd', 't', 'h' )
#define TTAG_opsz FT_MAKE_TAG( 'o', 'p', 's', 'z' )
#define TTAG_slnt FT_MAKE_TAG( 's', 'l', 'n', 't' )
+#define TTAG_ital FT_MAKE_TAG( 'i', 't', 'a', 'l' )
FT_LOCAL( FT_Error )
diff --git a/src/type1/t1load.c b/src/type1/t1load.c
index 30720f6a1..5a1afd8d9 100644
--- a/src/type1/t1load.c
+++ b/src/type1/t1load.c
@@ -355,6 +355,10 @@
mmvar->axis[i].tag = FT_MAKE_TAG( 'w', 'd', 't', 'h' );
else if ( ft_strcmp( mmvar->axis[i].name, "OpticalSize" ) == 0 )
mmvar->axis[i].tag = FT_MAKE_TAG( 'o', 'p', 's', 'z' );
+ else if ( ft_strcmp( mmvar->axis[i].name, "Slant" ) == 0 )
+ mmvar->axis[i].tag = FT_MAKE_TAG( 's', 'l', 'n', 't' );
+ else if ( ft_strcmp( mmvar->axis[i].name, "Italic" ) == 0 )
+ mmvar->axis[i].tag = FT_MAKE_TAG( 'i', 't', 'a', 'l' );
}
mm_weights_unmap( blend->default_weight_vector,