diff options
Diffstat (limited to 'nx-X11/extras/fontconfig/doc/fonts-conf.5')
-rw-r--r-- | nx-X11/extras/fontconfig/doc/fonts-conf.5 | 590 |
1 files changed, 0 insertions, 590 deletions
diff --git a/nx-X11/extras/fontconfig/doc/fonts-conf.5 b/nx-X11/extras/fontconfig/doc/fonts-conf.5 deleted file mode 100644 index 96fb57e3f..000000000 --- a/nx-X11/extras/fontconfig/doc/fonts-conf.5 +++ /dev/null @@ -1,590 +0,0 @@ -.\" This manpage has been automatically generated by docbook2man -.\" from a DocBook document. This tool can be found at: -.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> -.\" Please send any bug reports, improvements, comments, patches, -.\" etc. to Steve Cheng <steve@ggi-project.org>. -.TH "FONTS-CONF" "5" "27 April 2005" "" "" - -.SH NAME -fonts.conf \- Font configuration files -.SH SYNOPSIS - -.nf - /etc/fonts/fonts.conf - /etc/fonts/fonts.dtd - /etc/fonts/conf.d - ~/.fonts.conf -.fi -.SH "DESCRIPTION" -.PP -Fontconfig is a library designed to provide system-wide font configuration, -customization and application access. -.SH "FUNCTIONAL OVERVIEW" -.PP -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. -.SS "FONT CONFIGURATION" -.PP -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. -.PP -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. -.PP -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. -.SS "FONT PROPERTIES" -.PP -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. - -.nf - 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 - -.fi -.SS "FONT MATCHING" -.PP -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. -.PP -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. -.PP -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. -.PP -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. -.PP -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. -.PP -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. -.PP -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. -.PP -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. -.PP -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. -.SS "FONT NAMES" -.PP -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: - -.nf - <families>-<point sizes>:<name1>=<values1>:<name2>=<values2>\&... - -.fi -.PP -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: - -.nf - 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 - -.fi -.SH "LANG TAGS" -.PP -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. -.PP -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. -.PP -For languages used in multiple territories with radically different -character sets, fontconfig includes per-territory orthographies. This -includes Azerbaijani, Kurdish, Pashto, Tigrinya and Chinese. -.SH "CONFIGURATION FILE FORMAT" -.PP -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. -.PP -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: - -.nf - <?xml version="1.0"?> - <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> - <fontconfig> - ... - </fontconfig> - -.fi -.SS "<FONTCONFIG>" -.PP -This is the top level element for a font configuration and can contain -dir, cache, include, match and alias elements in any order. -.SS "DIR" -.PP -This element contains a directory name which will be scanned for font files -to include in the set of available fonts. -.SS "CACHE" -.PP -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-version\&'', where version is the font configuration -file version number (currently 1). -.SS "INCLUDE IGNORE_MISSING=\&"NO\&"" -.PP -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. -.SS "CONFIG" -.PP -This element provides a place to consolodate additional configuration -information. config can contain blank and rescan elements in any -order. -.SS "BLANK" -.PP -Fonts often include "broken" glyphs which appear in the encoding but are -drawn as blanks on the screen. Within the blank element, place each -Unicode characters which is supposed to be blank in an int element. -Characters outside of this set which are drawn as blank will be elided from -the set of characters supported by the font. -.SS "RESCAN" -.PP -The rescan element holds an int 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. -.SS "SELECTFONT" -.PP -This element is used to black/white list fonts from being listed or matched -against. It holds acceptfont and rejectfont elements. -.SS "ACCEPTFONT" -.PP -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. -.SS "REJECTFONT" -.PP -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. -.SS "GLOB" -.PP -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. -.SS "PATTERN" -.PP -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. -.SS "PATELT NAME=\&"PROPERTY\&"" -.PP -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. -.SS "MATCH TARGET=\&"PATTERN\&"" -.PP -This element holds first a (possibly empty) list of test elements and then -a (possibly empty) list of edit 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. -.SS "TEST QUAL=\&"ANY\&" NAME=\&"PROPERTY\&" TARGET=\&"DEFAULT\&" COMPARE=\&"EQ\&"" -.PP -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. -.SS "EDIT NAME=\&"PROPERTY\&" MODE=\&"ASSIGN\&" BINDING=\&"WEAK\&"" -.PP -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 test 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: - -.nf - 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 - -.fi -.SS "INT, DOUBLE, STRING, BOOL" -.PP -These elements hold a single value of the indicated type. bool -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). -.SS "MATRIX" -.PP -This element holds the four double elements of an affine -transformation. -.SS "NAME" -.PP -Holds a property name. Evaluates to the first value from the property of -the font, not the pattern. -.SS "CONST" -.PP -Holds the name of a constant; these are always integers and serve as -symbolic names for common font values: - -.nf - 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 - -.fi -.SS "OR, AND, PLUS, MINUS, TIMES, DIVIDE" -.PP -These elements perform the specified operation on a list of expression -elements. or and and are boolean, not bitwise. -.SS "EQ, NOT_EQ, LESS, LESS_EQ, MORE, MORE_EQ" -.PP -These elements compare two values, producing a boolean result. -.SS "NOT" -.PP -Inverts the boolean sense of its one expression element -.SS "IF" -.PP -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. -.SS "ALIAS" -.PP -Alias elements provide a shorthand notation for the set of common match -operations needed to substitute one font family for another. They contain a -family element followed by optional prefer, accept and default -elements. Fonts matching the family element are edited to prepend the -list of prefered families before the matching family, append the -acceptable familys after the matching family and append the default -families to the end of the family list. -.SS "FAMILY" -.PP -Holds a single font family name -.SS "PREFER, ACCEPT, DEFAULT" -.PP -These hold a list of family elements to be used by the alias element. -/article -.SH "EXAMPLE CONFIGURATION FILE" -.SS "SYSTEM CONFIGURATION FILE" -.PP -This is an example of a system-wide configuration file - -.nf -<?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> - -.fi -.SS "USER CONFIGURATION FILE" -.PP -This is an example of a per-user configuration file that lives in -~/.fonts.conf - -.nf -<?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> - -.fi -.SH "FILES" -.PP -\fBfonts.conf\fR -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. -.PP -\fBconf.d\fR -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. -.PP -\fBfonts.dtd\fR -is a DTD that describes the format of the configuration files. -.PP -\fB~/.fonts.conf\fR -is the conventional location for per-user font configuration, although the -actual location is specified in the global fonts.conf file. -.PP -\fB ~/.fonts.cache-*\fR -is the conventional repository of font information that isn't found in the -per-directory caches. This file is automatically maintained by fontconfig. -.SH "SEE ALSO" -.PP -fc-cache(1), fc-match(1), fc-list(1) -.SH "VERSION" -.PP -Fontconfig version 2.3.2 |