From 819d3a5541b3903bda5d1299d48a6760379cac72 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 12 Sep 2017 12:21:05 -0400 Subject: [PATCH] [varfonts] Add FC_VARIABLE For now, we mark all fonts as non-variable. --- fontconfig/fontconfig.h | 1 + src/fcdefault.c | 1 + src/fcfreetype.c | 3 +++ src/fcmatch.c | 1 + src/fcobjs.h | 1 + 5 files changed, 7 insertions(+) diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h index f4635aa..c61c502 100644 --- a/fontconfig/fontconfig.h +++ b/fontconfig/fontconfig.h @@ -99,6 +99,7 @@ typedef int FcBool; #define FC_OUTLINE "outline" /* Bool */ #define FC_SCALABLE "scalable" /* Bool */ #define FC_COLOR "color" /* Bool */ +#define FC_VARIABLE "variable" /* Bool */ #define FC_SCALE "scale" /* double (deprecated) */ #define FC_SYMBOL "symbol" /* Bool */ #define FC_DPI "dpi" /* double */ diff --git a/src/fcdefault.c b/src/fcdefault.c index 10c183a..35973d7 100644 --- a/src/fcdefault.c +++ b/src/fcdefault.c @@ -39,6 +39,7 @@ static const struct { { FC_EMBEDDED_BITMAP_OBJECT, FcTrue }, /* !FC_LOAD_NO_BITMAP */ { FC_DECORATIVE_OBJECT, FcFalse }, { FC_SYMBOL_OBJECT, FcFalse }, + { FC_VARIABLE_OBJECT, FcFalse }, }; #define NUM_FC_BOOL_DEFAULTS (int) (sizeof FcBoolDefaults / sizeof FcBoolDefaults[0]) diff --git a/src/fcfreetype.c b/src/fcfreetype.c index df33cf4..66afdf5 100644 --- a/src/fcfreetype.c +++ b/src/fcfreetype.c @@ -1236,6 +1236,9 @@ FcFreeTypeQueryFace (const FT_Face face, goto bail1; } + if (!FcPatternAddBool (pat, FC_VARIABLE, FcFalse)) + goto bail1; + if (id >> 16) { unsigned int instance_id = (id >> 16) - 1; diff --git a/src/fcmatch.c b/src/fcmatch.c index 113c14a..c386ee4 100644 --- a/src/fcmatch.c +++ b/src/fcmatch.c @@ -250,6 +250,7 @@ typedef enum _FcMatcherPriorityDummy { typedef enum _FcMatcherPriority { PRI1(FILE), PRI1(FONTFORMAT), + PRI1(VARIABLE), PRI1(SCALABLE), PRI1(COLOR), PRI1(FOUNDRY), diff --git a/src/fcobjs.h b/src/fcobjs.h index c436a5d..5efd8d3 100644 --- a/src/fcobjs.h +++ b/src/fcobjs.h @@ -71,4 +71,5 @@ FC_OBJECT (POSTSCRIPT_NAME, FcTypeString, FcComparePostScript) FC_OBJECT (COLOR, FcTypeBool, FcCompareBool) FC_OBJECT (SYMBOL, FcTypeBool, FcCompareBool) FC_OBJECT (FONT_VARIATIONS, FcTypeString, NULL) +FC_OBJECT (VARIABLE, FcTypeBool, FcCompareBool) /* ^-------------- Add new objects here. */