Initial commit
[gentoo-soor-overlay.git] / media-libs / fontconfig / files / fontconfig-lcd-filtering.patch
blobdbab9cea56db6ffd4c88d253b97b144e35c804b2
1 # Description: options for freetype sub-pixel filter configuration
2 # Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=13566
4 ---
5 fontconfig/fontconfig.h | 6 ++++++
6 src/fcint.h | 3 ++-
7 src/fcname.c | 8 +++++++-
8 3 files changed, 15 insertions(+), 2 deletions(-)
10 Index: fontconfig-2.5.0/fontconfig/fontconfig.h
11 ===================================================================
12 --- fontconfig-2.5.0.orig/fontconfig/fontconfig.h
13 +++ fontconfig-2.5.0/fontconfig/fontconfig.h
14 @@ -107,16 +107,17 @@
15 #define FC_STYLELANG "stylelang" /* String RFC 3066 langs */
16 #define FC_FULLNAMELANG "fullnamelang" /* String RFC 3066 langs */
17 #define FC_CAPABILITY "capability" /* String */
18 #define FC_FONTFORMAT "fontformat" /* String */
19 #define FC_EMBOLDEN "embolden" /* Bool - true if emboldening needed*/
20 #define FC_EMBEDDED_BITMAP "embeddedbitmap" /* Bool - true to enable embedded bitmaps */
21 #define FC_DECORATIVE "decorative" /* Bool - true if style is a decorative variant */
22 #define FC_ANY_METRICS "anymetrics" /* Bool - true to allow metrics which do not match the requested font */
23 +#define FC_LCD_FILTER "lcdfilter" /* Int */
25 #define FC_CACHE_SUFFIX ".cache-"FC_CACHE_VERSION
26 #define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION
27 #define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION
29 /* Adjust outline rasterizer */
30 #define FC_CHAR_WIDTH "charwidth" /* Int */
31 #define FC_CHAR_HEIGHT "charheight"/* Int */
32 @@ -162,16 +163,21 @@
33 /* sub-pixel order */
34 #define FC_RGBA_UNKNOWN 0
35 #define FC_RGBA_RGB 1
36 #define FC_RGBA_BGR 2
37 #define FC_RGBA_VRGB 3
38 #define FC_RGBA_VBGR 4
39 #define FC_RGBA_NONE 5
41 +#define FC_LCD_FILTER_NONE 0
42 +#define FC_LCD_FILTER_DEFAULT 1
43 +#define FC_LCD_FILTER_LIGHT 2
44 +#define FC_LCD_FILTER_LEGACY 3
46 /* hinting style */
47 #define FC_HINT_NONE 0
48 #define FC_HINT_SLIGHT 1
49 #define FC_HINT_MEDIUM 2
50 #define FC_HINT_FULL 3
52 typedef enum _FcType {
53 FcTypeVoid,
54 Index: fontconfig-2.5.0/src/fcint.h
55 ===================================================================
56 --- fontconfig-2.5.0.orig/src/fcint.h
57 +++ fontconfig-2.5.0/src/fcint.h
58 @@ -859,17 +859,18 @@
59 #define FC_CHARSET_OBJECT 33
60 #define FC_LANG_OBJECT 34
61 #define FC_FONTVERSION_OBJECT 35
62 #define FC_CAPABILITY_OBJECT 36
63 #define FC_FONTFORMAT_OBJECT 37
64 #define FC_EMBOLDEN_OBJECT 38
65 #define FC_EMBEDDED_BITMAP_OBJECT 39
66 #define FC_DECORATIVE_OBJECT 40
67 -#define FC_MAX_BASE_OBJECT FC_DECORATIVE_OBJECT
68 +#define FC_LCD_FILTER_OBJECT 41
69 +#define FC_MAX_BASE_OBJECT FC_LCD_FILTER_OBJECT
71 FcPrivate FcBool
72 FcNameBool (const FcChar8 *v, FcBool *result);
74 FcPrivate FcBool
75 FcObjectValidType (FcObject object, FcType type);
77 FcPrivate FcObject
78 Index: fontconfig-2.5.0/src/fcname.c
79 ===================================================================
80 --- fontconfig-2.5.0.orig/src/fcname.c
81 +++ fontconfig-2.5.0/src/fcname.c
82 @@ -70,17 +70,18 @@
83 { FC_CHARSET, FcTypeCharSet },
84 { FC_LANG, FcTypeLangSet },
85 { FC_FONTVERSION, FcTypeInteger },
86 { FC_CAPABILITY, FcTypeString },
87 { FC_FONTFORMAT, FcTypeString },
88 { FC_EMBOLDEN, FcTypeBool },
89 { FC_EMBEDDED_BITMAP, FcTypeBool },
90 { FC_DECORATIVE, FcTypeBool },
91 - { FC_ANY_METRICS, FcTypeBool }, /* 41 */
92 + { FC_ANY_METRICS, FcTypeBool },
93 + { FC_LCD_FILTER, FcTypeInteger, }, /* 42 */
96 #define NUM_OBJECT_TYPES (sizeof _FcBaseObjectTypes / sizeof _FcBaseObjectTypes[0])
98 typedef struct _FcObjectTypeList FcObjectTypeList;
100 struct _FcObjectTypeList {
101 const FcObjectTypeList *next;
102 @@ -431,16 +432,21 @@
103 { (FcChar8 *) "autohint", "autohint", FcTrue },
104 { (FcChar8 *) "globaladvance", "globaladvance", FcTrue },
105 { (FcChar8 *) "outline", "outline", FcTrue },
106 { (FcChar8 *) "scalable", "scalable", FcTrue },
107 { (FcChar8 *) "minspace", "minspace", FcTrue },
108 { (FcChar8 *) "embolden", "embolden", FcTrue },
109 { (FcChar8 *) "embeddedbitmap", "embeddedbitmap", FcTrue },
110 { (FcChar8 *) "decorative", "decorative", FcTrue },
112 + { (FcChar8 *) "lcdfilternone", "lcdfilter", FC_LCD_FILTER_NONE },
113 + { (FcChar8 *) "lcdfilterdefault", "lcdfilter", FC_LCD_FILTER_DEFAULT },
114 + { (FcChar8 *) "lcdfilterlight", "lcdfilter", FC_LCD_FILTER_LIGHT },
115 + { (FcChar8 *) "lcdfilterlegacy", "lcdfilter", FC_LCD_FILTER_LEGACY },
118 #define NUM_FC_CONSTANTS (sizeof _FcBaseConstants/sizeof _FcBaseConstants[0])
120 typedef struct _FcConstantList FcConstantList;
122 struct _FcConstantList {
123 const FcConstantList *next;