summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/fontconfig-user.sgml590
1 files changed, 315 insertions, 275 deletions
diff --git a/doc/fontconfig-user.sgml b/doc/fontconfig-user.sgml
index 0f18fce..58fb07d 100644
--- a/doc/fontconfig-user.sgml
+++ b/doc/fontconfig-user.sgml
@@ -91,57 +91,58 @@ properties for font matching and font completion. Others are provided as a
convenience for the applications' rendering mechanism.
</para>
<programlisting>
- Property Type Description
- --------------------------------------------------------------
- family String Font family names
- familylang String Languages corresponding to each family
- style String Font style. Overrides weight and slant
- stylelang String Languages corresponding to each style
- fullname String Font full names (often includes style)
- fullnamelang String Languages corresponding to each fullname
- slant Int Italic, oblique or roman
- weight Int Light, medium, demibold, bold or black
- size Double Point size
- width Int Condensed, normal or expanded
- aspect Double Stretches glyphs horizontally before hinting
- pixelsize Double Pixel size
- spacing Int Proportional, dual-width, monospace or charcell
- foundry String Font foundry name
- antialias Bool Whether glyphs can be antialiased
- hinting Bool Whether the rasterizer should use hinting
- hintstyle Int Automatic hinting style
- verticallayout Bool Use vertical layout
- autohint Bool Use autohinter instead of normal hinter
- globaladvance Bool Use font global advance data (deprecated)
- file String The filename holding the font
- index Int The index of the font within the file
- ftface FT_Face Use the specified FreeType face object
- rasterizer String Which rasterizer is in use (deprecated)
- outline Bool Whether the glyphs are outlines
- scalable Bool Whether glyphs can be scaled
- color Bool Whether any glyphs have color
- scale Double Scale factor for point->pixel conversions (deprecated)
- 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
- font supports
- fontversion Int Version number of the font
- capability String List of layout capabilities in the font
- fontformat String String name of the font format
- embolden Bool Rasterizer should synthetically embolden the font
- embeddedbitmap Bool Use the embedded bitmap instead of the outline
- decorative Bool Whether the style is a decorative variant
- fontfeatures String List of the feature tags in OpenType to be enabled
- namelang String Language name to be used for the default value of
- familylang, stylelang, and fullnamelang
- prgname String String Name of the running program
- postscriptname String Font family name in PostScript
- fonthashint Bool Whether the font has hinting
- order Int Order number of the font
+Property Type Description
+--------------------------------------------------------------
+family String Font family names
+familylang String Languages corresponding to each family
+style String Font style. Overrides weight and slant
+stylelang String Languages corresponding to each style
+fullname String Font full names (often includes style)
+fullnamelang String Languages corresponding to each fullname
+slant Int Italic, oblique or roman
+weight Int Light, medium, demibold, bold or black
+size Double Point size
+width Int Condensed, normal or expanded
+aspect Double Stretches glyphs horizontally before hinting
+pixelsize Double Pixel size
+spacing Int Proportional, dual-width, monospace or charcell
+foundry String Font foundry name
+antialias Bool Whether glyphs can be antialiased
+hinting Bool Whether the rasterizer should use hinting
+hintstyle Int Automatic hinting style
+verticallayout Bool Use vertical layout
+autohint Bool Use autohinter instead of normal hinter
+globaladvance Bool Use font global advance data (deprecated)
+file String The filename holding the font
+index Int The index of the font within the file
+ftface FT_Face Use the specified FreeType face object
+rasterizer String Which rasterizer is in use (deprecated)
+outline Bool Whether the glyphs are outlines
+scalable Bool Whether glyphs can be scaled
+color Bool Whether any glyphs have color
+scale Double Scale factor for point->pixel conversions
+ (deprecated)
+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
+ font supports
+fontversion Int Version number of the font
+capability String List of layout capabilities in the font
+fontformat String String name of the font format
+embolden Bool Rasterizer should synthetically embolden the font
+embeddedbitmap Bool Use the embedded bitmap instead of the outline
+decorative Bool Whether the style is a decorative variant
+fontfeatures String List of the feature tags in OpenType to be enabled
+namelang String Language name to be used for the default value of
+ familylang, stylelang, and fullnamelang
+prgname String String Name of the running program
+postscriptname String Font family name in PostScript
+fonthashint Bool Whether the font has hinting
+order Int Order number of the font
</programlisting>
</refsect2>
<refsect2>
@@ -211,7 +212,7 @@ list of family names, second a list of point sizes and finally a list of
additional properties:
</para>
<programlisting>
- &lt;families&gt;-&lt;point sizes&gt;:&lt;name1&gt;=&lt;values1&gt;:&lt;name2&gt;=&lt;values2&gt;...
+&lt;families&gt;-&lt;point sizes&gt;:&lt;name1&gt;=&lt;values1&gt;:&lt;name2&gt;=&lt;values2&gt;...
</programlisting>
<para>
Values in a list are separated with commas. The name needn't include either
@@ -220,13 +221,13 @@ symbolic constants that simultaneously indicate both a name and a value.
Here are some examples:
</para>
<programlisting>
- Name Meaning
- ----------------------------------------------------------
- Times-12 12 point Times Roman
- Times-12:bold 12 point Times Bold
- Courier:italic Courier Italic in the default size
- Monospace:matrix=1 .1 0 1 The users preferred monospace font
- with artificial obliquing
+Name Meaning
+----------------------------------------------------------
+Times-12 12 point Times Roman
+Times-12:bold 12 point Times Bold
+Courier:italic Courier Italic in the default size
+Monospace:matrix=1 .1 0 1 The users preferred monospace font
+ with artificial obliquing
</programlisting>
<para>
The '\', '-', ':' and ',' characters in family names must be preceded by a
@@ -246,21 +247,21 @@ interpreted as a number, and each bit within that value controls different
debugging messages.
</para>
<programlisting>
- Name Value Meaning
- ---------------------------------------------------------
- MATCH 1 Brief information about font matching
- MATCHV 2 Extensive font matching information
- EDIT 4 Monitor match/test/edit execution
- FONTSET 8 Track loading of font information at startup
- CACHE 16 Watch cache files being written
- CACHEV 32 Extensive cache file writing information
- PARSE 64 (no longer in use)
- SCAN 128 Watch font files being scanned to build caches
- SCANV 256 Verbose font file scanning information
- MEMORY 512 Monitor fontconfig memory usage
- CONFIG 1024 Monitor which config files are loaded
- LANGSET 2048 Dump char sets used to construct lang values
- MATCH2 4096 Display font-matching transformation in patterns
+Name Value Meaning
+---------------------------------------------------------
+MATCH 1 Brief information about font matching
+MATCHV 2 Extensive font matching information
+EDIT 4 Monitor match/test/edit execution
+FONTSET 8 Track loading of font information at startup
+CACHE 16 Watch cache files being written
+CACHEV 32 Extensive cache file writing information
+PARSE 64 (no longer in use)
+SCAN 128 Watch font files being scanned to build caches
+SCANV 256 Verbose font file scanning information
+MEMORY 512 Monitor fontconfig memory usage
+CONFIG 1024 Monitor which config files are loaded
+LANGSET 2048 Dump char sets used to construct lang values
+MATCH2 4096 Display font-matching transformation in patterns
</programlisting>
<para>
Add the value of the desired debug levels together and assign that (in
@@ -301,11 +302,11 @@ The fontconfig document type definition resides in the external entity
directory (&confdir;). Each configuration file should contain the
following structure:
<programlisting>
- &lt;?xml version="1.0"?&gt;
- &lt;!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"&gt;
- &lt;fontconfig&gt;
- ...
- &lt;/fontconfig&gt;
+&lt;?xml version="1.0"?&gt;
+&lt;!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"&gt;
+&lt;fontconfig&gt;
+...
+&lt;/fontconfig&gt;
</programlisting>
</para>
<refsect2><title><literal>&lt;fontconfig&gt;</literal></title><para>
@@ -449,16 +450,16 @@ the property are given the indicated binding ("strong", "weak" or "same")
with "same" binding using the value from the matched pattern element.
'mode' is one of:
<programlisting>
- Mode With Match Without Match
- ---------------------------------------------------------------------
- "assign" Replace matching value Replace all values
- "assign_replace" Replace all values Replace all values
- "prepend" Insert before matching Insert at head of list
- "prepend_first" Insert at head of list Insert at head of list
- "append" Append after matching Append at end of list
- "append_last" Append at end of list Append at end of list
- "delete" Delete matching value Delete all values
- "delete_all" Delete all values Delete all values
+Mode With Match Without Match
+---------------------------------------------------------------------
+"assign" Replace matching value Replace all values
+"assign_replace" Replace all values Replace all values
+"prepend" Insert before matching Insert at head of list
+"prepend_first" Insert at head of list Insert at head of list
+"append" Append after matching Append at end of list
+"append_last" Append at end of list Append at end of list
+"delete" Delete matching value Delete all values
+"delete_all" Delete all values Delete all values
</programlisting>
</para></refsect2>
<refsect2><title><literal>&lt;int&gt;</literal>, <literal>&lt;double&gt;</literal>, <literal>&lt;string&gt;</literal>, <literal>&lt;bool&gt;</literal></title><para>
@@ -499,54 +500,57 @@ of 'font' in a match that has target="pattern".
Holds the name of a constant; these are always integers and serve as
symbolic names for common font values:
<programlisting>
- Constant Property Value
- -------------------------------------
- thin weight 0
- extralight weight 40
- ultralight weight 40
- light weight 50
- demilight weight 55
- semilight weight 55
- book weight 75
- regular weight 80
- normal weight 80
- medium weight 100
- demibold weight 180
- semibold weight 180
- bold weight 200
- extrabold weight 205
- black weight 210
- heavy weight 210
- roman slant 0
- italic slant 100
- oblique slant 110
- ultracondensed width 50
- extracondensed width 63
- condensed width 75
- semicondensed width 87
- normal width 100
- semiexpanded width 113
- expanded width 125
- extraexpanded width 150
- ultraexpanded width 200
- proportional spacing 0
- dual spacing 90
- mono spacing 100
- charcell spacing 110
- unknown rgba 0
- rgb rgba 1
- bgr rgba 2
- 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
- hintfull hintstyle 3
+Constant Property Value
+-------------------------------------
+thin weight 0
+extralight weight 40
+ultralight weight 40
+light weight 50
+demilight weight 55
+semilight weight 55
+book weight 75
+regular weight 80
+normal weight 80
+medium weight 100
+demibold weight 180
+semibold weight 180
+bold weight 200
+extrabold weight 205
+ultrabold weight 205
+black weight 210
+heavy weight 210
+extrablack weight 215
+ultrablack weight 215
+roman slant 0
+italic slant 100
+oblique slant 110
+ultracondensed width 50
+extracondensed width 63
+condensed width 75
+semicondensed width 87
+normal width 100
+semiexpanded width 113
+expanded width 125
+extraexpanded width 150
+ultraexpanded width 200
+proportional spacing 0
+dual spacing 90
+mono spacing 100
+charcell spacing 110
+unknown rgba 0
+rgb rgba 1
+bgr rgba 2
+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
+hintfull hintstyle 3
</programlisting>
</para>
</refsect2>
@@ -596,103 +600,135 @@ This is an example of a system-wide configuration file
&lt;!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"&gt;
&lt;!-- &confdir;/fonts.conf file to configure system font access --&gt;
&lt;fontconfig&gt;
-&lt;!--
- Find fonts in these directories
---&gt;
-&lt;dir&gt;/usr/share/fonts&lt;/dir&gt;
-&lt;dir&gt;/usr/X11R6/lib/X11/fonts&lt;/dir&gt;
+ &lt;!--
+ Find fonts in these directories
+ --&gt;
+ &lt;dir&gt;/usr/share/fonts&lt;/dir&gt;
+ &lt;dir&gt;/usr/X11R6/lib/X11/fonts&lt;/dir&gt;
-&lt;!--
- Accept deprecated 'mono' alias, replacing it with 'monospace'
---&gt;
-&lt;match target="pattern"&gt;
- &lt;test qual="any" name="family"&gt;&lt;string&gt;mono&lt;/string&gt;&lt;/test&gt;
- &lt;edit name="family" mode="assign"&gt;&lt;string&gt;monospace&lt;/string&gt;&lt;/edit&gt;
-&lt;/match&gt;
+ &lt;!--
+ Accept deprecated 'mono' alias, replacing it with 'monospace'
+ --&gt;
+ &lt;match target="pattern"&gt;
+ &lt;test qual="any" name="family"&gt;
+ &lt;string&gt;mono&lt;/string&gt;
+ &lt;/test&gt;
+ &lt;edit name="family" mode="assign"&gt;
+ &lt;string&gt;monospace&lt;/string&gt;
+ &lt;/edit&gt;
+ &lt;/match&gt;
-&lt;!--
- Names not including any well known alias are given 'sans-serif'
---&gt;
-&lt;match target="pattern"&gt;
- &lt;test qual="all" name="family" compare="not_eq"&gt;&lt;string&gt;sans-serif&lt;/string&gt;&lt;/test&gt;
- &lt;test qual="all" name="family" compare="not_eq"&gt;&lt;string&gt;serif&lt;/string&gt;&lt;/test&gt;
- &lt;test qual="all" name="family" compare="not_eq"&gt;&lt;string&gt;monospace&lt;/string&gt;&lt;/test&gt;
- &lt;edit name="family" mode="append_last"&gt;&lt;string&gt;sans-serif&lt;/string&gt;&lt;/edit&gt;
-&lt;/match&gt;
+ &lt;!--
+ Names not including any well known alias are given 'sans-serif'
+ --&gt;
+ &lt;match target="pattern"&gt;
+ &lt;test qual="all" name="family" compare="not_eq"&gt;
+ &lt;string&gt;sans-serif&lt;/string&gt;
+ &lt;/test&gt;
+ &lt;test qual="all" name="family" compare="not_eq"&gt;
+ &lt;string&gt;serif&lt;/string&gt;
+ &lt;/test&gt;
+ &lt;test qual="all" name="family" compare="not_eq"&gt;
+ &lt;string&gt;monospace&lt;/string&gt;
+ &lt;/test&gt;
+ &lt;edit name="family" mode="append_last"&gt;
+ &lt;string&gt;sans-serif&lt;/string&gt;
+ &lt;/edit&gt;
+ &lt;/match&gt;
-&lt;!--
- Load per-user customization file, but don't complain
- if it doesn't exist
---&gt;
-&lt;include ignore_missing="yes" prefix="xdg"&gt;fontconfig/fonts.conf&lt;/include&gt;
+ &lt;!--
+ Load per-user customization file, but don't complain
+ if it doesn't exist
+ --&gt;
+ &lt;include ignore_missing="yes" prefix="xdg"&gt;
+ fontconfig/fonts.conf
+ &lt;/include&gt;
-&lt;!--
- Load local customization files, but don't complain
- if there aren't any
---&gt;
-&lt;include ignore_missing="yes"&gt;conf.d&lt;/include&gt;
-&lt;include ignore_missing="yes"&gt;local.conf&lt;/include&gt;
+ &lt;!--
+ Load local customization files, but don't complain
+ if there aren't any
+ --&gt;
+ &lt;include ignore_missing="yes"&gt;conf.d&lt;/include&gt;
+ &lt;include ignore_missing="yes"&gt;local.conf&lt;/include&gt;
-&lt;!--
- Alias well known font names to available TrueType fonts.
- These substitute TrueType faces for similar Type1
- faces to improve screen appearance.
---&gt;
-&lt;alias&gt;
- &lt;family&gt;Times&lt;/family&gt;
- &lt;prefer&gt;&lt;family&gt;Times New Roman&lt;/family&gt;&lt;/prefer&gt;
- &lt;default&gt;&lt;family&gt;serif&lt;/family&gt;&lt;/default&gt;
-&lt;/alias&gt;
-&lt;alias&gt;
- &lt;family&gt;Helvetica&lt;/family&gt;
- &lt;prefer&gt;&lt;family&gt;Arial&lt;/family&gt;&lt;/prefer&gt;
- &lt;default&gt;&lt;family&gt;sans&lt;/family&gt;&lt;/default&gt;
-&lt;/alias&gt;
-&lt;alias&gt;
- &lt;family&gt;Courier&lt;/family&gt;
- &lt;prefer&gt;&lt;family&gt;Courier New&lt;/family&gt;&lt;/prefer&gt;
- &lt;default&gt;&lt;family&gt;monospace&lt;/family&gt;&lt;/default&gt;
-&lt;/alias&gt;
+ &lt;!--
+ Alias well known font names to available TrueType fonts.
+ These substitute TrueType faces for similar Type1
+ faces to improve screen appearance.
+ --&gt;
+ &lt;alias&gt;
+ &lt;family&gt;Times&lt;/family&gt;
+ &lt;prefer&gt;
+ &lt;family&gt;Times New Roman&lt;/family&gt;
+ &lt;/prefer&gt;
+ &lt;default&gt;
+ &lt;family&gt;serif&lt;/family&gt;
+ &lt;/default&gt;
+ &lt;/alias&gt;
+ &lt;alias&gt;
+ &lt;family&gt;Helvetica&lt;/family&gt;
+ &lt;prefer&gt;
+ &lt;family&gt;Arial&lt;/family&gt;
+ &lt;/prefer&gt;
+ &lt;default&gt;
+ &lt;family&gt;sans&lt;/family&gt;
+ &lt;/default&gt;
+ &lt;/alias&gt;
+ &lt;alias&gt;
+ &lt;family&gt;Courier&lt;/family&gt;
+ &lt;prefer&gt;
+ &lt;family&gt;Courier New&lt;/family&gt;
+ &lt;/prefer&gt;
+ &lt;default&gt;
+ &lt;family&gt;monospace&lt;/family&gt;
+ &lt;/default&gt;
+ &lt;/alias&gt;
-&lt;!--
- Provide required aliases for standard names
- Do these after the users configuration file so that
- any aliases there are used preferentially
---&gt;
-&lt;alias&gt;
- &lt;family&gt;serif&lt;/family&gt;
- &lt;prefer&gt;&lt;family&gt;Times New Roman&lt;/family&gt;&lt;/prefer&gt;
-&lt;/alias&gt;
-&lt;alias&gt;
- &lt;family&gt;sans&lt;/family&gt;
- &lt;prefer&gt;&lt;family&gt;Arial&lt;/family&gt;&lt;/prefer&gt;
-&lt;/alias&gt;
-&lt;alias&gt;
- &lt;family&gt;monospace&lt;/family&gt;
- &lt;prefer&gt;&lt;family&gt;Andale Mono&lt;/family&gt;&lt;/prefer&gt;
-&lt;/alias&gt;
+ &lt;!--
+ Provide required aliases for standard names
+ Do these after the users configuration file so that
+ any aliases there are used preferentially
+ --&gt;
+ &lt;alias&gt;
+ &lt;family&gt;serif&lt;/family&gt;
+ &lt;prefer&gt;
+ &lt;family&gt;Times New Roman&lt;/family&gt;
+ &lt;/prefer&gt;
+ &lt;/alias&gt;
+ &lt;alias&gt;
+ &lt;family&gt;sans&lt;/family&gt;
+ &lt;prefer&gt;
+ &lt;family&gt;Arial&lt;/family&gt;
+ &lt;/prefer&gt;
+ &lt;/alias&gt;
+ &lt;alias&gt;
+ &lt;family&gt;monospace&lt;/family&gt;
+ &lt;prefer&gt;
+ &lt;family&gt;Andale Mono&lt;/family&gt;
+ &lt;/prefer&gt;
+ &lt;/alias&gt;
-&lt;--
- The example of the requirements of OR operator;
- If the 'family' contains 'Courier New' OR 'Courier'
- add 'monospace' as the alternative
---&gt;
-&lt;match target="pattern"&gt;
- &lt;test name="family" compare="eq"&gt;
- &lt;string&gt;Courier New&lt;/string&gt;
- &lt;/test&gt;
- &lt;edit name="family" mode="prepend"&gt;
- &lt;string&gt;monospace&lt;/string&gt;
- &lt;/edit&gt;
-&lt;/match&gt;
-&lt;match target="pattern"&gt;
- &lt;test name="family" compare="eq"&gt;
- &lt;string&gt;Courier&lt;/string&gt;
- &lt;/test&gt;
- &lt;edit name="family" mode="prepend"&gt;
- &lt;string&gt;monospace&lt;/string&gt;
- &lt;/edit&gt;
-&lt;/match&gt;
+ &lt;--
+ The example of the requirements of OR operator;
+ If the 'family' contains 'Courier New' OR 'Courier'
+ add 'monospace' as the alternative
+ --&gt;
+ &lt;match target="pattern"&gt;
+ &lt;test name="family" compare="eq"&gt;
+ &lt;string&gt;Courier New&lt;/string&gt;
+ &lt;/test&gt;
+ &lt;edit name="family" mode="prepend"&gt;
+ &lt;string&gt;monospace&lt;/string&gt;
+ &lt;/edit&gt;
+ &lt;/match&gt;
+ &lt;match target="pattern"&gt;
+ &lt;test name="family" compare="eq"&gt;
+ &lt;string&gt;Courier&lt;/string&gt;
+ &lt;/test&gt;
+ &lt;edit name="family" mode="prepend"&gt;
+ &lt;string&gt;monospace&lt;/string&gt;
+ &lt;/edit&gt;
+ &lt;/match&gt;
&lt;/fontconfig&gt;
</programlisting>
@@ -705,57 +741,61 @@ $XDG_CONFIG_HOME/fontconfig/fonts.conf
<programlisting>
&lt;?xml version="1.0"?&gt;
&lt;!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"&gt;
-&lt;!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration --&gt;
-&lt;fontconfig&gt;
-
&lt;!--
- Private font directory
+ $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration
--&gt;
-&lt;dir prefix="xdg"&gt;fonts&lt;/dir&gt;
+&lt;fontconfig&gt;
-&lt;!--
- use rgb sub-pixel ordering to improve glyph appearance on
- LCD screens. Changes affecting rendering, but not matching
- should always use target="font".
---&gt;
-&lt;match target="font"&gt;
- &lt;edit name="rgba" mode="assign"&gt;&lt;const&gt;rgb&lt;/const&gt;&lt;/edit&gt;
-&lt;/match&gt;
-&lt;!--
- use WenQuanYi Zen Hei font when serif is requested for Chinese
---&gt;
-&lt;match&gt;
- &lt;!--
- If you don't want to use WenQuanYi Zen Hei font for zh-tw etc,
- you can use zh-cn instead of zh.
- Please note, even if you set zh-cn, it still matches zh.
- if you don't like it, you can use compare="eq"
- instead of compare="contains".
- --&gt;
- &lt;test name="lang" compare="contains"&gt;
- &lt;string&gt;zh&lt;/string&gt;
- &lt;/test&gt;
- &lt;test name="family"&gt;
- &lt;string&gt;serif&lt;/string&gt;
- &lt;/test&gt;
- &lt;edit name="family" mode="prepend"&gt;
- &lt;string&gt;WenQuanYi Zen Hei&lt;/string&gt;
- &lt;/edit&gt;
-&lt;/match&gt;
-&lt;!--
- use VL Gothic font when sans-serif is requested for Japanese
---&gt;
-&lt;match&gt;
- &lt;test name="lang" compare="contains"&gt;
- &lt;string&gt;ja&lt;/string&gt;
- &lt;/test&gt;
- &lt;test name="family"&gt;
- &lt;string&gt;sans-serif&lt;/string&gt;
- &lt;/test&gt;
- &lt;edit name="family" mode="prepend"&gt;
- &lt;string&gt;VL Gothic&lt;/string&gt;
- &lt;/edit&gt;
-&lt;/match&gt;
+ &lt;!--
+ Private font directory
+ --&gt;
+ &lt;dir prefix="xdg"&gt;fonts&lt;/dir&gt;
+
+ &lt;!--
+ use rgb sub-pixel ordering to improve glyph appearance on
+ LCD screens. Changes affecting rendering, but not matching
+ should always use target="font".
+ --&gt;
+ &lt;match target="font"&gt;
+ &lt;edit name="rgba" mode="assign"&gt;
+ &lt;const&gt;rgb&lt;/const&gt;
+ &lt;/edit&gt;
+ &lt;/match&gt;
+ &lt;!--
+ use WenQuanYi Zen Hei font when serif is requested for Chinese
+ --&gt;
+ &lt;match&gt;
+ &lt;!--
+ If you don't want to use WenQuanYi Zen Hei font for zh-tw etc,
+ you can use zh-cn instead of zh.
+ Please note, even if you set zh-cn, it still matches zh.
+ if you don't like it, you can use compare="eq"
+ instead of compare="contains".
+ --&gt;
+ &lt;test name="lang" compare="contains"&gt;
+ &lt;string&gt;zh&lt;/string&gt;
+ &lt;/test&gt;
+ &lt;test name="family"&gt;
+ &lt;string&gt;serif&lt;/string&gt;
+ &lt;/test&gt;
+ &lt;edit name="family" mode="prepend"&gt;
+ &lt;string&gt;WenQuanYi Zen Hei&lt;/string&gt;
+ &lt;/edit&gt;
+ &lt;/match&gt;
+ &lt;!--
+ use VL Gothic font when sans-serif is requested for Japanese
+ --&gt;
+ &lt;match&gt;
+ &lt;test name="lang" compare="contains"&gt;
+ &lt;string&gt;ja&lt;/string&gt;
+ &lt;/test&gt;
+ &lt;test name="family"&gt;
+ &lt;string&gt;sans-serif&lt;/string&gt;
+ &lt;/test&gt;
+ &lt;edit name="family" mode="prepend"&gt;
+ &lt;string&gt;VL Gothic&lt;/string&gt;
+ &lt;/edit&gt;
+ &lt;/match&gt;
&lt;/fontconfig&gt;
</programlisting>
</refsect2>