diff --git a/src/fontconfig.man b/src/fontconfig.man index eb9915f..3496f9c 100644 --- a/src/fontconfig.man +++ b/src/fontconfig.man @@ -35,7 +35,6 @@ fontconfig \- Font configuration and customization library .nf .B #include .B #include -.B #include .fi .SH DESCRIPTION .B Fontconfig @@ -48,7 +47,7 @@ builds an internal configuration from XML files and the matching module which accepts font patterns and returns the nearest matching font. .SS FONT CONFIGURATION -The configuration module consists of the FcConfig datatype, libxml2 and +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 @@ -88,15 +87,18 @@ style FC_STYLE String Font style. Overrides weight and slant slant FC_SLANT Int Italic, oblique or roman weight FC_WEIGHT Int Light, medium, demibold, bold or black size FC_SIZE Double Point size +aspect FC_ASPECT Double Stretches glyphs horizontally before hinting pixelsize FC_PIXEL_SIZE Double Pixel size spacing FC_SPACING Int Proportional, monospace or charcell foundry FC_FOUNDRY String Font foundry name antialias FC_ANTIALIAS Bool Whether glyphs can be antialiased hinting FC_HINTING Bool Whether the rasterizer should use hinting verticallayout FC_VERTICAL_LAYOUT Bool Use vertical layout +autohint FC_AUTOHINT Bool Use autohinter instead of normal hinter globaladvance FC_GLOBAL_ADVANCE Bool Use font global advance data file FC_FILE String The filename holding the font index FC_INDEX Int The index of the font within the file +ftface FC_FT_FACE FT_Face Use the specified FreeType face object rasterizer FC_RASTERIZER String Which rasterizer is in use outline FC_OUTLINE Bool Whether the glyphs are outlines scalable FC_SCALABLE Bool Whether glyphs can be scaled @@ -105,7 +107,7 @@ dpi FC_DPI Double Target dots per inch rgba FC_RGBA Int rgb, bgr, vrgb, vbgr - subpixel geometry minspace FC_MINSPACE Bool Eliminate leading from line spacing charset FC_CHARSET CharSet Unicode chars encoded by the font -lang FC_LANG String List of language groups this font is designed for +lang FC_LANG String List of RFC-3066-style languages this font supports .DT .fi @@ -134,10 +136,16 @@ font properties during rendering. .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, antialias, family, spacing, pixelsize, style, -slant, weight, rasterizer and outline. This list is in priority order -- -results of comparing earlier elements of this list weigh more heavily than -later elements. +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 +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 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 @@ -181,6 +189,21 @@ Here are some examples: .fi .DT +.SH LANG TAGS +.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 ISO639 language tag followed a hyphen and then +by the ISO 3166 country code. The hyphen and country code may be elided. + +.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 104 of the 139 languages named in ISO 639-1, +117 of the languages with two-letter codes from ISO 639-2 and another 24 +languages with only three-letter codes. + .SH DATATYPES .TP @@ -464,6 +487,11 @@ existing list, otherwise it is inserted at the begining. `value' is saved (with FcValueSave) when inserted into the pattern so that the library retains no reference to any application-supplied data structure. +.TP +FcBool FcPatternAddWeak (FcPattern *p, const char *object, FcValue value, FcBool append) +FcPatternAddWeak is essentially the same as FcPatternAdd except that any +values added to the list have binding 'weak' instead of 'strong'. + .TP FcBool FcPatternAddInteger (FcPattern *p, const char *object, int i) .TQ @@ -817,11 +845,30 @@ Converts the next Unicode char from 'src' into 'dst' and returns the number of bytes containing the char. 'src' nust be at least 'len' bytes long. .TP -FcBool FcUtf8Len (FcChar8 *string, int len, int *nchar, int *wchar) -Counts the number of Unicode chars in 'len' bytes of 'string'. Places that +int FcUcs4ToUtf8 (FcChar32 src, FcChar8 dst[FC_UTF8_MAX_LEN]) +Converts the Unicode char from 'src' into 'dst' and returns the +number of bytes needed to encode the char. + +.TP +FcBool FcUtf8Len (FcChar8 *src, int len, int *nchar, int *wchar) +Counts the number of Unicode chars in 'len' bytes of 'src'. Places that count in 'nchar'. 'wchar' contains 1, 2 or 4 depending on the number of bytes needed to hold the largest unicode char counted. The return value -indicates whether 'string' is a well-formed UTF8 string. +indicates whether 'src' is a well-formed UTF8 string. + +.TP +int FcUtf16ToUcs4 (FcChar8 *src, FcEndian endian, FcChar32 *dst, int len) +Converts the next Unicode char from 'src' into 'dst' and returns the +number of bytes containing the char. 'src' must be at least 'len' bytes +long. Bytes of 'src' are combined into 16-bit units according to 'endian'. + +.TP +FcBool FcUtf16Len (FcChar8 *src, FcEndian endian, int len, int *nchar, int *wchar) +Counts the number of Unicode chars in 'len' bytes of 'src'. Bytes of +'src' are combined into 16-bit units according to 'endian'. Places that +count in 'nchar'. 'wchar' contains 1, 2 or 4 depending on the number of +bytes needed to hold the largest unicode char counted. The return value +indicates whether 'string' is a well-formed UTF16 string. .TP char *FcStrCopy (const char *s) @@ -877,12 +924,30 @@ will also be incorporated into the configuration by passing the filename to FcConfigLoadAndParse. If 'ignore_missing' is set to "yes" instead of the default "no", a missing file will elicit no warning message from the library. +.SS +This element provides a place to consolodate additional configuration +information. can contain and elements in any +order. + +.SS +Fonts often include "broken" glyphs which appear in the encoding but are +drawn as blanks on the screen. Within the element, place each +Unicode characters which is supposed to be blank in an element. +Characters outside of this set which are drawn as blank will be elided from +the set of characters supported by the font. +The element holds an 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 -This element holds first a (possibly empty) list of tests and then a -(possibly empty) list of edits. 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. +This element holds first a (possibly empty) list of elements and then +a (possibly empty) list of 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 This element contains a single value which is compared with the pattern @@ -893,12 +958,13 @@ 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. -.SS +.SS 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 elements, if so, the -modification may affect the first matched value. 'mode' is one of: +modification may affect the first matched value. Any values inserted into +the property are given the indicated binding. 'mode' is one of: .nf .RS .ta 1i 3i 5i