[Fontconfig] fontconfig: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Sat May 3 19:33:49 PDT 2008


 doc/fontconfig-devel.sgml |    1 +
 doc/fontconfig-user.sgml  |    5 +++++
 fontconfig/fontconfig.h   |    9 ++++++++-
 src/fcint.h               |    3 ++-
 src/fcname.c              |    7 ++++++-
 5 files changed, 22 insertions(+), 3 deletions(-)

New commits:
commit 53aec111074cf7b46d15eb84a55791d3c95bc15e
Author: Sylvain Pasche <sylvain.pasche at gmail.com>
Date:   Sat May 3 19:33:45 2008 -0700

    Fontconfig options for freetype sub-pixel filter configuration
    
    David Turner has modified FreeType to be able to render sub-pixel decimated
    glyphs using different methods of filtering. Fontconfig needs new
    configurables to support selecting these new filtering options. A patch
    follows that would correspond to one available for Cairo in bug 10301.

diff --git a/doc/fontconfig-devel.sgml b/doc/fontconfig-devel.sgml
index 8231b3f..6ca8e60 100644
--- a/doc/fontconfig-devel.sgml
+++ b/doc/fontconfig-devel.sgml
@@ -177,6 +177,7 @@ convenience for the applications rendering mechanism.
     dpi            FC_DPI               Double  Target dots per inch
     rgba           FC_RGBA              Int     unknown, rgb, bgr, vrgb,
                                                 vbgr, none - subpixel geometry
+    lcdfilter      FC_LCD_FILTER        Int     Type of LCD filter
     minspace       FC_MINSPACE          Bool    Eliminate leading from line
                                                 spacing
     charset        FC_CHARSET           CharSet Unicode chars encoded by
diff --git a/doc/fontconfig-user.sgml b/doc/fontconfig-user.sgml
index 1007782..22fadbb 100644
--- a/doc/fontconfig-user.sgml
+++ b/doc/fontconfig-user.sgml
@@ -120,6 +120,7 @@ convenience for the applications' rendering mechanism.
   dpi             Double  Target dots per inch
   rgba            Int     unknown, rgb, bgr, vrgb, vbgr,
                           none - subpixel geometry
+  lcdfilter       Int     Type of LCD filter
   minspace        Bool    Eliminate leading from line spacing
   charset         CharSet Unicode chars encoded by the font
   lang            String  List of RFC-3066-style languages this
@@ -476,6 +477,10 @@ symbolic names for common font values:
   vrgb            rgba            3
   vbgr            rgba            4
   none            rgba            5
+  lcdnone         lcdfilter       0
+  lcddefault      lcdfilter       1
+  lcdlight        lcdfilter       2
+  lcdlegacy       lcdfilter       3
   hintnone        hintstyle       0
   hintslight      hintstyle       1
   hintmedium      hintstyle       2
diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
index 36e4ccc..8280a3a 100644
--- a/fontconfig/fontconfig.h
+++ b/fontconfig/fontconfig.h
@@ -111,6 +111,7 @@ typedef int		FcBool;
 #define FC_EMBOLDEN	    "embolden"		/* Bool - true if emboldening needed*/
 #define FC_EMBEDDED_BITMAP  "embeddedbitmap"	/* Bool - true to enable embedded bitmaps */
 #define FC_DECORATIVE	    "decorative"	/* Bool - true if style is a decorative variant */
+#define FC_LCD_FILTER	    "lcdfilter"		/* Int */
 
 #define FC_CACHE_SUFFIX		    ".cache-"FC_CACHE_VERSION
 #define FC_DIR_CACHE_FILE	    "fonts.cache-"FC_CACHE_VERSION
@@ -171,7 +172,13 @@ typedef int		FcBool;
 #define FC_HINT_SLIGHT      1
 #define FC_HINT_MEDIUM      2
 #define FC_HINT_FULL        3
- 
+
+/* LCD filter */
+#define FC_LCD_NONE	    0
+#define FC_LCD_DEFAULT	    1
+#define FC_LCD_LIGHT	    2
+#define FC_LCD_LEGACY	    3
+
 typedef enum _FcType {
     FcTypeVoid, 
     FcTypeInteger, 
diff --git a/src/fcint.h b/src/fcint.h
index ddeb745..8912d16 100644
--- a/src/fcint.h
+++ b/src/fcint.h
@@ -848,7 +848,8 @@ FcListPatternMatchAny (const FcPattern *p,
 #define FC_EMBOLDEN_OBJECT	38
 #define FC_EMBEDDED_BITMAP_OBJECT	39
 #define FC_DECORATIVE_OBJECT	40
-#define FC_MAX_BASE_OBJECT	FC_DECORATIVE_OBJECT
+#define FC_LCD_FILTER_OBJECT	41
+#define FC_MAX_BASE_OBJECT	FC_LCD_FILTER_OBJECT
 
 FcPrivate FcBool
 FcNameBool (const FcChar8 *v, FcBool *result);
diff --git a/src/fcname.c b/src/fcname.c
index 21e6da1..7a5371b 100644
--- a/src/fcname.c
+++ b/src/fcname.c
@@ -74,7 +74,8 @@ static const FcObjectType _FcBaseObjectTypes[] = {
     { FC_FONTFORMAT,	FcTypeString },
     { FC_EMBOLDEN,	FcTypeBool },
     { FC_EMBEDDED_BITMAP,   FcTypeBool },
-    { FC_DECORATIVE,	FcTypeBool }, /* 40 */
+    { FC_DECORATIVE,	FcTypeBool },
+    { FC_LCD_FILTER,	FcTypeInteger }, /* 41 */
 };
 
 #define NUM_OBJECT_TYPES    (sizeof _FcBaseObjectTypes / sizeof _FcBaseObjectTypes[0])
@@ -435,6 +436,10 @@ static const FcConstant _FcBaseConstants[] = {
     { (FcChar8 *) "embolden",	    "embolden",	    FcTrue },
     { (FcChar8 *) "embeddedbitmap", "embeddedbitmap",	FcTrue },
     { (FcChar8 *) "decorative",	    "decorative",   FcTrue },
+    { (FcChar8 *) "lcdnone",	    "lcdfilter",    FC_LCD_NONE },
+    { (FcChar8 *) "lcddefault",	    "lcdfilter",    FC_LCD_DEFAULT },
+    { (FcChar8 *) "lcdlight",	    "lcdfilter",    FC_LCD_LIGHT },
+    { (FcChar8 *) "lcdlegacy",	    "lcdfilter",    FC_LCD_LEGACY },
 };
 
 #define NUM_FC_CONSTANTS   (sizeof _FcBaseConstants/sizeof _FcBaseConstants[0])


More information about the Fontconfig mailing list