diff options
Diffstat (limited to 'nx-X11/extras/fontconfig/doc/fontconfig-user.html')
-rw-r--r-- | nx-X11/extras/fontconfig/doc/fontconfig-user.html | 1218 |
1 files changed, 1218 insertions, 0 deletions
diff --git a/nx-X11/extras/fontconfig/doc/fontconfig-user.html b/nx-X11/extras/fontconfig/doc/fontconfig-user.html new file mode 100644 index 000000000..ccf040fb1 --- /dev/null +++ b/nx-X11/extras/fontconfig/doc/fontconfig-user.html @@ -0,0 +1,1218 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>fonts-conf</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD +><BODY +CLASS="REFENTRY" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" +><H1 +><A +NAME="AEN1" +></A +>fonts-conf</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN5" +></A +><H2 +>Name</H2 +>fonts.conf -- Font configuration files</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN8" +></A +><H2 +>Synopsis</H2 +><PRE +CLASS="SYNOPSIS" +> /etc/fonts/fonts.conf + /etc/fonts/fonts.dtd + /etc/fonts/conf.d + ~/.fonts.conf</PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN10" +></A +><H2 +>Description</H2 +><P +>Fontconfig is a library designed to provide system-wide font configuration, +customization and application access. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN13" +></A +><H2 +>Functional Overview</H2 +><P +>Fontconfig contains two essential modules, the configuration module which +builds an internal configuration from XML files and the matching module +which accepts font patterns and returns the nearest matching font. + </P +><DIV +CLASS="REFSECT2" +><A +NAME="AEN16" +></A +><H3 +>Font Configuration</H3 +><P +>The configuration module consists of the FcConfig datatype, libexpat and +FcConfigParse which walks over an XML tree and ammends a configuration with +data found within. From an external perspective, configuration of the +library consists of generating a valid XML tree and feeding that to +FcConfigParse. The only other mechanism provided to applications for +changing the running configuration is to add fonts and directories to the +list of application-provided font files. + </P +><P +>The intent is to make font configurations relatively static, and shared by +as many applications as possible. It is hoped that this will lead to more +stable font selection when passing names from one application to another. +XML was chosen as a configuration file format because it provides a format +which is easy for external agents to edit while retaining the correct +structure and syntax. + </P +><P +>Font configuration is separate from font matching; applications needing to +do their own matching can access the available fonts from the library and +perform private matching. The intent is to permit applications to pick and +choose appropriate functionality from the library instead of forcing them to +choose between this library and a private configuration mechanism. The hope +is that this will ensure that configuration of fonts for all applications +can be centralized in one place. Centralizing font configuration will +simplify and regularize font installation and customization. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN21" +></A +><H3 +>Font Properties</H3 +><P +>While font patterns may contain essentially any properties, there are some +well known properties with associated types. Fontconfig uses some of these +properties for font matching and font completion. Others are provided as a +convenience for the applications rendering mechanism. + </P +><PRE +CLASS="PROGRAMLISTING" +> Property Type Description + -------------------------------------------------------------- + family String Font family names + familylang String Languages cooresponding to each family + style String Font style. Overrides weight and slant + stylelang String Languages cooresponding to each style + fullname String Font full names (often includes style) + fullnamelang String Languages cooresponding 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 + 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 + outline Bool Whether the glyphs are outlines + scalable Bool Whether glyphs can be scaled + scale Double Scale factor for point->pixel conversions + dpi Double Target dots per inch + rgba Int unknown, rgb, bgr, vrgb, vbgr, + none - subpixel geometry + 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 + embolden Bool Rasterizer should synthetically embolden the font + </PRE +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN25" +></A +><H3 +>Font Matching</H3 +><P +>Fontconfig performs matching by measuring the distance from a provided +pattern to all of the available fonts in the system. The closest matching +font is selected. This ensures that a font will always be returned, but +doesn't ensure that it is anything like the requested pattern. + </P +><P +> +Font matching starts with an application constructed pattern. The desired +attributes of the resulting font are collected together in a pattern. Each +property of the pattern can contain one or more values; these are listed in +priority order; matches earlier in the list are considered "closer" than +matches later in the list. + </P +><P +>The initial pattern is modified by applying the list of editing instructions +specific to patterns found in the configuration; each consists of a match +predicate and a set of editing operations. They are executed in the order +they appeared in the configuration. Each match causes the associated +sequence of editing operations to be applied. + </P +><P +>After the pattern has been edited, a sequence of default substitutions are +performed to canonicalize the set of available properties; this avoids the +need for the lower layers to constantly provide default values for various +font properties during rendering. + </P +><P +>The canonical font pattern is finally matched against all available fonts. +The distance from the pattern to the font is measured for each of several +properties: foundry, charset, family, lang, spacing, pixelsize, style, +slant, weight, antialias, rasterizer and outline. This list is in priority +order -- results of comparing earlier elements of this list weigh more +heavily than later elements. + </P +><P +>There is one special case to this rule; family names are split into two +bindings; strong and weak. Strong family names are given greater precedence +in the match than lang elements while weak family names are given lower +precedence than lang elements. This permits the document language to drive +font selection when any document specified font is unavailable. + </P +><P +>The pattern representing that font is augmented to include any properties +found in the pattern but not found in the font itself; this permits the +application to pass rendering instructions or any other data through the +matching system. Finally, the list of editing instructions specific to +fonts found in the configuration are applied to the pattern. This modified +pattern is returned to the application. + </P +><P +>The return value contains sufficient information to locate and rasterize the +font, including the file name, pixel size and other rendering data. As +none of the information involved pertains to the FreeType library, +applications are free to use any rasterization engine or even to take +the identified font file and access it directly. + </P +><P +>The match/edit sequences in the configuration are performed in two passes +because there are essentially two different operations necessary -- the +first is to modify how fonts are selected; aliasing families and adding +suitable defaults. The second is to modify how the selected fonts are +rasterized. Those must apply to the selected font, not the original pattern +as false matches will often occur. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN36" +></A +><H3 +>Font Names</H3 +><P +>Fontconfig provides a textual representation for patterns that the library +can both accept and generate. The representation is in three parts, first a +list of family names, second a list of point sizes and finally a list of +additional properties: + </P +><PRE +CLASS="PROGRAMLISTING" +> <families>-<point sizes>:<name1>=<values1>:<name2>=<values2>... + </PRE +><P +>Values in a list are separated with commas. The name needn't include either +families or point sizes; they can be elided. In addition, there are +symbolic constants that simultaneously indicate both a name and a value. +Here are some examples: + </P +><PRE +CLASS="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 + </PRE +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN42" +></A +><H2 +>Lang Tags</H2 +><P +>Each font in the database contains a list of languages it supports. This is +computed by comparing the Unicode coverage of the font with the orthography +of each language. Languages are tagged using an RFC-3066 compatible naming +and occur in two parts -- the ISO 639 language tag followed a hyphen and then +by the ISO 3166 country code. The hyphen and country code may be elided. + </P +><P +>Fontconfig has orthographies for several languages built into the library. +No provision has been made for adding new ones aside from rebuilding the +library. It currently supports 122 of the 139 languages named in ISO 639-1, +141 of the languages with two-letter codes from ISO 639-2 and another 30 +languages with only three-letter codes. Languages with both two and three +letter codes are provided with only the two letter code. + </P +><P +>For languages used in multiple territories with radically different +character sets, fontconfig includes per-territory orthographies. This +includes Azerbaijani, Kurdish, Pashto, Tigrinya and Chinese. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN47" +></A +><H2 +>Configuration File Format</H2 +><P +>Configuration files for fontconfig are stored in XML format; this +format makes external configuration tools easier to write and ensures that +they will generate syntactically correct configuration files. As XML +files are plain text, they can also be manipulated by the expert user using +a text editor. + </P +><P +>The fontconfig document type definition resides in the external entity +"fonts.dtd"; this is normally stored in the default font configuration +directory (/etc/fonts). Each configuration file should contain the +following structure: + <PRE +CLASS="PROGRAMLISTING" +> <?xml version="1.0"?> + <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> + <fontconfig> + ... + </fontconfig> + </PRE +> + </P +><DIV +CLASS="REFSECT2" +><A +NAME="AEN52" +></A +><H3 +><TT +CLASS="LITERAL" +><fontconfig></TT +></H3 +><P +>This is the top level element for a font configuration and can contain +<CODE +CLASS="SGMLTAG" +>dir</CODE +>, <CODE +CLASS="SGMLTAG" +>cache</CODE +>, <CODE +CLASS="SGMLTAG" +>include</CODE +>, <CODE +CLASS="SGMLTAG" +>match</CODE +> and <CODE +CLASS="SGMLTAG" +>alias</CODE +> elements in any order. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN61" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>dir</CODE +></H3 +><P +>This element contains a directory name which will be scanned for font files +to include in the set of available fonts. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN65" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>cache</CODE +></H3 +><P +>This element contains a file name for the per-user cache of font +information. If it starts with '~', it refers to a file in the users +home directory. This file is used to hold information about fonts that +isn't present in the per-directory cache files. It is automatically +maintained by the fontconfig library. The default for this file +is ``~/.fonts.cache-<CODE +CLASS="SGMLTAG" +>version</CODE +>'', where <CODE +CLASS="SGMLTAG" +>version</CODE +> is the font configuration +file version number (currently 1). + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN71" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>include ignore_missing="no"</CODE +></H3 +><P +>This element contains the name of an additional configuration file or +directory. If a directory, every file within that directory starting with a +number will be processed in sorted order. When +the XML datatype is traversed by FcConfigParse, the contents of the file(s) +will also be incorporated into the configuration by passing the filename(s) to +FcConfigLoadAndParse. If 'ignore_missing' is set to "yes" instead of the +default "no", a missing file or directory will elicit no warning message from +the library. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN75" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>config</CODE +></H3 +><P +>This element provides a place to consolodate additional configuration +information. <CODE +CLASS="SGMLTAG" +>config</CODE +> can contain <CODE +CLASS="SGMLTAG" +>blank</CODE +> and <CODE +CLASS="SGMLTAG" +>rescan</CODE +> elements in any +order. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN82" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>blank</CODE +></H3 +><P +>Fonts often include "broken" glyphs which appear in the encoding but are +drawn as blanks on the screen. Within the <CODE +CLASS="SGMLTAG" +>blank</CODE +> element, place each +Unicode characters which is supposed to be blank in an <CODE +CLASS="SGMLTAG" +>int</CODE +> element. +Characters outside of this set which are drawn as blank will be elided from +the set of characters supported by the font. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN88" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>rescan</CODE +></H3 +><P +>The <CODE +CLASS="SGMLTAG" +>rescan</CODE +> element holds an <CODE +CLASS="SGMLTAG" +>int</CODE +> element which indicates the default +interval between automatic checks for font configuration changes. +Fontconfig will validate all of the configuration files and directories and +automatically rebuild the internal datastructures when this interval passes. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN94" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>selectfont</CODE +></H3 +><P +>This element is used to black/white list fonts from being listed or matched +against. It holds acceptfont and rejectfont elements. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN98" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>acceptfont</CODE +></H3 +><P +>Fonts matched by an acceptfont element are "whitelisted"; such fonts are +explicitly included in the set of fonts used to resolve list and match +requests; including them in this list protects them from being "blacklisted" +by a rejectfont element. Acceptfont elements include glob and pattern +elements which are used to match fonts. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN102" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>rejectfont</CODE +></H3 +><P +>Fonts matched by an rejectfont element are "blacklisted"; such fonts are +excluded from the set of fonts used to resolve list and match requests as if +they didn't exist in the system. Rejectfont elements include glob and +pattern elements which are used to match fonts. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN106" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>glob</CODE +></H3 +><P +>Glob elements hold shell-style filename matching patterns (including ? and +*) which match fonts based on their complete pathnames. This can be used to +exclude a set of directories (/usr/share/fonts/uglyfont*), or particular +font file types (*.pcf.gz), but the latter mechanism relies rather heavily +on filenaming conventions which can't be relied upon. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN110" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>pattern</CODE +></H3 +><P +>Pattern elements perform list-style matching on incoming fonts; that is, +they hold a list of elements and associated values. If all of those +elements have a matching value, then the pattern matches the font. This can +be used to select fonts based on attributes of the font (scalable, bold, +etc), which is a more reliable mechanism than using file extensions. +Pattern elements include patelt elements. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN114" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>patelt name="property"</CODE +></H3 +><P +>Patelt elements hold a single pattern element and list of values. They must +have a 'name' attribute which indicates the pattern element name. Patelt +elements include int, double, string, matrix, bool, charset and const +elements. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN118" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>match target="pattern"</CODE +></H3 +><P +>This element holds first a (possibly empty) list of <CODE +CLASS="SGMLTAG" +>test</CODE +> elements and then +a (possibly empty) list of <CODE +CLASS="SGMLTAG" +>edit</CODE +> elements. Patterns which match all of the +tests are subjected to all the edits. If 'target' is set to "font" instead +of the default "pattern", then this element applies to the font name +resulting from a match rather than a font pattern to be matched. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN124" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>test qual="any" name="property" target="default" compare="eq"</CODE +></H3 +><P +>This element contains a single value which is compared with the target +('pattern', 'font' or 'default') property "property" (substitute any of the property names seen +above). 'compare' can be one of "eq", "not_eq", "less", "less_eq", "more", or +"more_eq". 'qual' may either be the default, "any", in which case the match +succeeds if any value associated with the property matches the test value, or +"all", in which case all of the values associated with the property must +match the test value. When used in a <match target="font"> element, +the target= attribute in the <test> element selects between matching +the original pattern or the font. "default" selects whichever target the +outer <match> element has selected. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN128" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>edit name="property" mode="assign" binding="weak"</CODE +></H3 +><P +>This element contains a list of expression elements (any of the value or +operator elements). The expression elements are evaluated at run-time and +modify the property "property". The modification depends on whether +"property" was matched by one of the associated <CODE +CLASS="SGMLTAG" +>test</CODE +> elements, if so, the +modification may affect the first matched value. Any values inserted into +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: + <PRE +CLASS="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 + </PRE +> + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN134" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>int</CODE +>, <CODE +CLASS="SGMLTAG" +>double</CODE +>, <CODE +CLASS="SGMLTAG" +>string</CODE +>, <CODE +CLASS="SGMLTAG" +>bool</CODE +></H3 +><P +>These elements hold a single value of the indicated type. <CODE +CLASS="SGMLTAG" +>bool</CODE +> +elements hold either true or false. An important limitation exists in +the parsing of floating point numbers -- fontconfig requires that +the mantissa start with a digit, not a decimal point, so insert a leading +zero for purely fractional values (e.g. use 0.5 instead of .5 and -0.5 +instead of -.5). + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN142" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>matrix</CODE +></H3 +><P +>This element holds the four <CODE +CLASS="SGMLTAG" +>double</CODE +> elements of an affine +transformation. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN147" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>name</CODE +></H3 +><P +>Holds a property name. Evaluates to the first value from the property of +the font, not the pattern. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN151" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>const</CODE +></H3 +><P +>Holds the name of a constant; these are always integers and serve as +symbolic names for common font values: + <PRE +CLASS="PROGRAMLISTING" +> Constant Property Value + ------------------------------------- + thin weight 0 + extralight weight 40 + ultralight weight 40 + light weight 50 + 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 + hintnone hintstyle 0 + hintslight hintstyle 1 + hintmedium hintstyle 2 + hintfull hintstyle 3 + </PRE +> + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN156" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>or</CODE +>, <CODE +CLASS="SGMLTAG" +>and</CODE +>, <CODE +CLASS="SGMLTAG" +>plus</CODE +>, <CODE +CLASS="SGMLTAG" +>minus</CODE +>, <CODE +CLASS="SGMLTAG" +>times</CODE +>, <CODE +CLASS="SGMLTAG" +>divide</CODE +></H3 +><P +>These elements perform the specified operation on a list of expression +elements. <CODE +CLASS="SGMLTAG" +>or</CODE +> and <CODE +CLASS="SGMLTAG" +>and</CODE +> are boolean, not bitwise. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN167" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>eq</CODE +>, <CODE +CLASS="SGMLTAG" +>not_eq</CODE +>, <CODE +CLASS="SGMLTAG" +>less</CODE +>, <CODE +CLASS="SGMLTAG" +>less_eq</CODE +>, <CODE +CLASS="SGMLTAG" +>more</CODE +>, <CODE +CLASS="SGMLTAG" +>more_eq</CODE +></H3 +><P +>These elements compare two values, producing a boolean result. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN176" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>not</CODE +></H3 +><P +>Inverts the boolean sense of its one expression element + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN180" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>if</CODE +></H3 +><P +>This element takes three expression elements; if the value of the first is +true, it produces the value of the second, otherwise it produces the value +of the third. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN184" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>alias</CODE +></H3 +><P +>Alias elements provide a shorthand notation for the set of common match +operations needed to substitute one font family for another. They contain a +<CODE +CLASS="SGMLTAG" +>family</CODE +> element followed by optional <CODE +CLASS="SGMLTAG" +>prefer</CODE +>, <CODE +CLASS="SGMLTAG" +>accept</CODE +> and <CODE +CLASS="SGMLTAG" +>default</CODE +> +elements. Fonts matching the <CODE +CLASS="SGMLTAG" +>family</CODE +> element are edited to prepend the +list of <CODE +CLASS="SGMLTAG" +>prefer</CODE +>ed families before the matching <CODE +CLASS="SGMLTAG" +>family</CODE +>, append the +<CODE +CLASS="SGMLTAG" +>accept</CODE +>able familys after the matching <CODE +CLASS="SGMLTAG" +>family</CODE +> and append the <CODE +CLASS="SGMLTAG" +>default</CODE +> +families to the end of the family list. + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN198" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>family</CODE +></H3 +><P +>Holds a single font family name + </P +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN202" +></A +><H3 +><CODE +CLASS="SGMLTAG" +>prefer</CODE +>, <CODE +CLASS="SGMLTAG" +>accept</CODE +>, <CODE +CLASS="SGMLTAG" +>default</CODE +></H3 +><P +>These hold a list of <CODE +CLASS="SGMLTAG" +>family</CODE +> elements to be used by the <CODE +CLASS="SGMLTAG" +>alias</CODE +> element. +<CODE +CLASS="SGMLTAG" +>/article</CODE +> + </P +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN211" +></A +><H2 +>EXAMPLE CONFIGURATION FILE</H2 +><DIV +CLASS="REFSECT2" +><A +NAME="AEN213" +></A +><H3 +>System configuration file</H3 +><P +>This is an example of a system-wide configuration file + </P +><PRE +CLASS="PROGRAMLISTING" +><?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- /etc/fonts/fonts.conf file to configure system font access --> +<fontconfig> +<!-- + Find fonts in these directories +--> +<dir>/usr/share/fonts</dir> +<dir>/usr/X11R6/lib/X11/fonts</dir> + +<!-- + Accept deprecated 'mono' alias, replacing it with 'monospace' +--> +<match target="pattern"> + <test qual="any" name="family"><string>mono</string></test> + <edit name="family" mode="assign"><string>monospace</string></edit> +</match> + +<!-- + Names not including any well known alias are given 'sans' +--> +<match target="pattern"> + <test qual="all" name="family" mode="not_eq">sans</test> + <test qual="all" name="family" mode="not_eq">serif</test> + <test qual="all" name="family" mode="not_eq">monospace</test> + <edit name="family" mode="append_last"><string>sans</string></edit> +</match> + +<!-- + Load per-user customization file, but don't complain + if it doesn't exist +--> +<include ignore_missing="yes">~/.fonts.conf</include> + +<!-- + Load local customization files, but don't complain + if there aren't any +--> +<include ignore_missing="yes">conf.d</include> +<include ignore_missing="yes">local.conf</include> + +<!-- + Alias well known font names to available TrueType fonts. + These substitute TrueType faces for similar Type1 + faces to improve screen appearance. +--> +<alias> + <family>Times</family> + <prefer><family>Times New Roman</family></prefer> + <default><family>serif</family></default> +</alias> +<alias> + <family>Helvetica</family> + <prefer><family>Arial</family></prefer> + <default><family>sans</family></default> +</alias> +<alias> + <family>Courier</family> + <prefer><family>Courier New</family></prefer> + <default><family>monospace</family></default> +</alias> + +<!-- + Provide required aliases for standard names + Do these after the users configuration file so that + any aliases there are used preferentially +--> +<alias> + <family>serif</family> + <prefer><family>Times New Roman</family></prefer> +</alias> +<alias> + <family>sans</family> + <prefer><family>Arial</family></prefer> +</alias> +<alias> + <family>monospace</family> + <prefer><family>Andale Mono</family></prefer> +</alias> +</fontconfig> + </PRE +></DIV +><DIV +CLASS="REFSECT2" +><A +NAME="AEN217" +></A +><H3 +>User configuration file</H3 +><P +>This is an example of a per-user configuration file that lives in +~/.fonts.conf + </P +><PRE +CLASS="PROGRAMLISTING" +><?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- ~/.fonts.conf for per-user font configuration --> +<fontconfig> + +<!-- + Private font directory +--> +<dir>~/.fonts</dir> + +<!-- + use rgb sub-pixel ordering to improve glyph appearance on + LCD screens. Changes affecting rendering, but not matching + should always use target="font". +--> +<match target="font"> + <edit name="rgba" mode="assign"><const>rgb</const></edit> +</match> +</fontconfig> + </PRE +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN221" +></A +><H2 +>Files</H2 +><P +><SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>fonts.conf</I +></SPAN +> +contains configuration information for the fontconfig library +consisting of directories to look at for font information as well as +instructions on editing program specified font patterns before attempting to +match the available fonts. It is in xml format. + </P +><P +><SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>conf.d</I +></SPAN +> +is the conventional name for a directory of additional configuration files +managed by external applications or the local administrator. The +filenames starting with decimal digits are sorted in lexicographic order +and used as additional configuration files. All of these files are in xml +format. The master fonts.conf file references this directory in an +<include> directive. + </P +><P +><SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>fonts.dtd</I +></SPAN +> +is a DTD that describes the format of the configuration files. + </P +><P +><SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>~/.fonts.conf</I +></SPAN +> +is the conventional location for per-user font configuration, although the +actual location is specified in the global fonts.conf file. + </P +><P +><SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +> ~/.fonts.cache-*</I +></SPAN +> +is the conventional repository of font information that isn't found in the +per-directory caches. This file is automatically maintained by fontconfig. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN233" +></A +><H2 +>See Also</H2 +><P +>fc-cache(1), fc-match(1), fc-list(1) + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN236" +></A +><H2 +>Version</H2 +><P +>Fontconfig version 2.3.2 + + </P +></DIV +></BODY +></HTML +>
\ No newline at end of file |