Home | History | Annotate | Line # | Download | only in fontconfig-devel
fcpatternformat.html revision 1.1
      1  1.1  mrg <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
      2  1.1  mrg <HTML
      3  1.1  mrg ><HEAD
      4  1.1  mrg ><TITLE
      5  1.1  mrg >FcPatternFormat</TITLE
      6  1.1  mrg ><META
      7  1.1  mrg NAME="GENERATOR"
      8  1.1  mrg CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
      9  1.1  mrg REL="HOME"
     10  1.1  mrg HREF="t1.html"><LINK
     11  1.1  mrg REL="UP"
     12  1.1  mrg TITLE="FcPattern"
     13  1.1  mrg HREF="x102.html#AEN255"><LINK
     14  1.1  mrg REL="PREVIOUS"
     15  1.1  mrg TITLE="FcNameUnparse"
     16  1.1  mrg HREF="fcnameunparse.html"></HEAD
     17  1.1  mrg ><BODY
     18  1.1  mrg CLASS="REFENTRY"
     19  1.1  mrg BGCOLOR="#FFFFFF"
     20  1.1  mrg TEXT="#000000"
     21  1.1  mrg LINK="#0000FF"
     22  1.1  mrg VLINK="#840084"
     23  1.1  mrg ALINK="#0000FF"
     24  1.1  mrg ><DIV
     25  1.1  mrg CLASS="NAVHEADER"
     26  1.1  mrg ><TABLE
     27  1.1  mrg SUMMARY="Header navigation table"
     28  1.1  mrg WIDTH="100%"
     29  1.1  mrg BORDER="0"
     30  1.1  mrg CELLPADDING="0"
     31  1.1  mrg CELLSPACING="0"
     32  1.1  mrg ><TR
     33  1.1  mrg ><TH
     34  1.1  mrg COLSPAN="3"
     35  1.1  mrg ALIGN="center"
     36  1.1  mrg ></TH
     37  1.1  mrg ></TR
     38  1.1  mrg ><TR
     39  1.1  mrg ><TD
     40  1.1  mrg WIDTH="10%"
     41  1.1  mrg ALIGN="left"
     42  1.1  mrg VALIGN="bottom"
     43  1.1  mrg ><A
     44  1.1  mrg HREF="fcnameunparse.html"
     45  1.1  mrg ACCESSKEY="P"
     46  1.1  mrg >&#60;&#60;&#60; Previous</A
     47  1.1  mrg ></TD
     48  1.1  mrg ><TD
     49  1.1  mrg WIDTH="80%"
     50  1.1  mrg ALIGN="center"
     51  1.1  mrg VALIGN="bottom"
     52  1.1  mrg ></TD
     53  1.1  mrg ><TD
     54  1.1  mrg WIDTH="10%"
     55  1.1  mrg ALIGN="right"
     56  1.1  mrg VALIGN="bottom"
     57  1.1  mrg >&nbsp;</TD
     58  1.1  mrg ></TR
     59  1.1  mrg ></TABLE
     60  1.1  mrg ><HR
     61  1.1  mrg ALIGN="LEFT"
     62  1.1  mrg WIDTH="100%"></DIV
     63  1.1  mrg ><H1
     64  1.1  mrg ><A
     65  1.1  mrg NAME="FCPATTERNFORMAT"
     66  1.1  mrg ></A
     67  1.1  mrg >FcPatternFormat</H1
     68  1.1  mrg ><DIV
     69  1.1  mrg CLASS="REFNAMEDIV"
     70  1.1  mrg ><A
     71  1.1  mrg NAME="AEN930"
     72  1.1  mrg ></A
     73  1.1  mrg ><H2
     74  1.1  mrg >Name</H2
     75  1.1  mrg >FcPatternFormat&nbsp;--&nbsp;Format a pattern into a string according to a format specifier</DIV
     76  1.1  mrg ><DIV
     77  1.1  mrg CLASS="REFSYNOPSISDIV"
     78  1.1  mrg ><A
     79  1.1  mrg NAME="AEN933"
     80  1.1  mrg ></A
     81  1.1  mrg ><H2
     82  1.1  mrg >Synopsis</H2
     83  1.1  mrg ><DIV
     84  1.1  mrg CLASS="FUNCSYNOPSIS"
     85  1.1  mrg ><P
     86  1.1  mrg ></P
     87  1.1  mrg ><A
     88  1.1  mrg NAME="AEN934"
     89  1.1  mrg ></A
     90  1.1  mrg ><TABLE
     91  1.1  mrg BORDER="0"
     92  1.1  mrg BGCOLOR="#E0E0E0"
     93  1.1  mrg WIDTH="100%"
     94  1.1  mrg ><TR
     95  1.1  mrg ><TD
     96  1.1  mrg ><PRE
     97  1.1  mrg CLASS="FUNCSYNOPSISINFO"
     98  1.1  mrg >#include &#60;fontconfig.h&#62;
     99  1.1  mrg 	</PRE
    100  1.1  mrg ></TD
    101  1.1  mrg ></TR
    102  1.1  mrg ></TABLE
    103  1.1  mrg ><P
    104  1.1  mrg ><CODE
    105  1.1  mrg ><CODE
    106  1.1  mrg CLASS="FUNCDEF"
    107  1.1  mrg >FcChar8 * <TT
    108  1.1  mrg CLASS="FUNCTION"
    109  1.1  mrg >FcPatternFormat</TT
    110  1.1  mrg ></CODE
    111  1.1  mrg >(FcPattern *<TT
    112  1.1  mrg CLASS="PARAMETER"
    113  1.1  mrg ><I
    114  1.1  mrg >pat</I
    115  1.1  mrg ></TT
    116  1.1  mrg >, const FcChar8 *<TT
    117  1.1  mrg CLASS="PARAMETER"
    118  1.1  mrg ><I
    119  1.1  mrg >format</I
    120  1.1  mrg ></TT
    121  1.1  mrg >);</CODE
    122  1.1  mrg ></P
    123  1.1  mrg ><P
    124  1.1  mrg ></P
    125  1.1  mrg ></DIV
    126  1.1  mrg ></DIV
    127  1.1  mrg ><DIV
    128  1.1  mrg CLASS="REFSECT1"
    129  1.1  mrg ><A
    130  1.1  mrg NAME="AEN943"
    131  1.1  mrg ></A
    132  1.1  mrg ><H2
    133  1.1  mrg >Description</H2
    134  1.1  mrg ><P
    135  1.1  mrg >Converts given pattern <TT
    136  1.1  mrg CLASS="PARAMETER"
    137  1.1  mrg ><I
    138  1.1  mrg >pat</I
    139  1.1  mrg ></TT
    140  1.1  mrg > into text described by
    141  1.1  mrg the format specifier <TT
    142  1.1  mrg CLASS="PARAMETER"
    143  1.1  mrg ><I
    144  1.1  mrg >format</I
    145  1.1  mrg ></TT
    146  1.1  mrg >.
    147  1.1  mrg The return value refers to newly allocated memory which should be freed by the
    148  1.1  mrg caller using free(), or NULL if <TT
    149  1.1  mrg CLASS="PARAMETER"
    150  1.1  mrg ><I
    151  1.1  mrg >format</I
    152  1.1  mrg ></TT
    153  1.1  mrg > is invalid.&#13;</P
    154  1.1  mrg ><P
    155  1.1  mrg >&#13;The format is loosely modelled after printf-style format string.
    156  1.1  mrg The format string is composed of zero or more  directives: ordinary
    157  1.1  mrg characters (not "%"), which are copied unchanged to the output stream;
    158  1.1  mrg and tags which are interpreted to construct text from the pattern in a
    159  1.1  mrg variety of ways (explained below).
    160  1.1  mrg Special characters can be escaped
    161  1.1  mrg using backslash.  C-string style special characters like \n and \r are
    162  1.1  mrg also supported (this is useful when the format string is not a C string
    163  1.1  mrg literal).
    164  1.1  mrg It is advisable to always escape curly braces that
    165  1.1  mrg are meant to be copied to the output as ordinary characters.&#13;</P
    166  1.1  mrg ><P
    167  1.1  mrg >&#13;Each tags is introduced by the character "%",
    168  1.1  mrg followed by an optional minimum field width,
    169  1.1  mrg followed by tag contents in curly braces ({}).
    170  1.1  mrg If the minimum field width value is provided the tag
    171  1.1  mrg will be expanded and the result padded to achieve the minimum width.
    172  1.1  mrg If the minimum field width is positive, the padding will right-align
    173  1.1  mrg the text.  Negative field width will left-align.
    174  1.1  mrg The rest of this section describes various supported tag contents
    175  1.1  mrg and their expansion.&#13;</P
    176  1.1  mrg ><P
    177  1.1  mrg >&#13;A <I
    178  1.1  mrg CLASS="FIRSTTERM"
    179  1.1  mrg >simple</I
    180  1.1  mrg > tag
    181  1.1  mrg is one where the content is an identifier.  When simple
    182  1.1  mrg tags are expanded, the named identifier will be looked up in
    183  1.1  mrg <TT
    184  1.1  mrg CLASS="PARAMETER"
    185  1.1  mrg ><I
    186  1.1  mrg >pattern</I
    187  1.1  mrg ></TT
    188  1.1  mrg > and the resulting list of values returned,
    189  1.1  mrg joined together using comma.  For example, to print the family name and style the
    190  1.1  mrg pattern, use the format "%{family} %{style}\n".  To extend the family column
    191  1.1  mrg to forty characters use "%-40{family}%{style}\n".&#13;</P
    192  1.1  mrg ><P
    193  1.1  mrg >&#13;Simple tags expand to list of all values for an element.  To only choose
    194  1.1  mrg one of the values, one can index using the syntax "%{elt[idx]}".  For example,
    195  1.1  mrg to get the first family name only, use "%{family[0]}".&#13;</P
    196  1.1  mrg ><P
    197  1.1  mrg >&#13;If a simple tag ends with "=" and the element is found in the pattern, the
    198  1.1  mrg name of the element followed by "=" will be output before the list of values.
    199  1.1  mrg For example, "%{weight=}" may expand to the string "weight=80".  Or to the empty
    200  1.1  mrg string if <TT
    201  1.1  mrg CLASS="PARAMETER"
    202  1.1  mrg ><I
    203  1.1  mrg >pattern</I
    204  1.1  mrg ></TT
    205  1.1  mrg > does not have weight set.&#13;</P
    206  1.1  mrg ><P
    207  1.1  mrg >&#13;If a simple tag starts with ":" and the element is found in the pattern, ":"
    208  1.1  mrg will be printed first.  For example, combining this with the =, the format
    209  1.1  mrg "%{:weight=}" may expand to ":weight=80" or to the empty string
    210  1.1  mrg if <TT
    211  1.1  mrg CLASS="PARAMETER"
    212  1.1  mrg ><I
    213  1.1  mrg >pattern</I
    214  1.1  mrg ></TT
    215  1.1  mrg > does not have weight set.&#13;</P
    216  1.1  mrg ><P
    217  1.1  mrg >&#13;If a simple tag contains the string ":-", the rest of the the tag contents
    218  1.1  mrg will be used as a default string.  The default string is output if the element
    219  1.1  mrg is not found in the pattern.  For example, the format
    220  1.1  mrg "%{:weight=:-123}" may expand to ":weight=80" or to the string
    221  1.1  mrg ":weight=123" if <TT
    222  1.1  mrg CLASS="PARAMETER"
    223  1.1  mrg ><I
    224  1.1  mrg >pattern</I
    225  1.1  mrg ></TT
    226  1.1  mrg > does not have weight set.&#13;</P
    227  1.1  mrg ><P
    228  1.1  mrg >&#13;A <I
    229  1.1  mrg CLASS="FIRSTTERM"
    230  1.1  mrg >count</I
    231  1.1  mrg > tag
    232  1.1  mrg is one that starts with the character "#" followed by an element
    233  1.1  mrg name, and expands to the number of values for the element in the pattern.
    234  1.1  mrg For example, "%{#family}" expands to the number of family names
    235  1.1  mrg <TT
    236  1.1  mrg CLASS="PARAMETER"
    237  1.1  mrg ><I
    238  1.1  mrg >pattern</I
    239  1.1  mrg ></TT
    240  1.1  mrg > has set, which may be zero.&#13;</P
    241  1.1  mrg ><P
    242  1.1  mrg >&#13;A <I
    243  1.1  mrg CLASS="FIRSTTERM"
    244  1.1  mrg >sub-expression</I
    245  1.1  mrg > tag
    246  1.1  mrg is one that expands a sub-expression.  The tag contents
    247  1.1  mrg are the sub-expression to expand placed inside another set of curly braces.
    248  1.1  mrg Sub-expression tags are useful for aligning an entire sub-expression, or to
    249  1.1  mrg apply converters (explained later) on an entire sub-expression.
    250  1.1  mrg For example, the format "%40{{%{family} %{style}}}" expands the sub-expression
    251  1.1  mrg to construct the family name followed by the style, then takes the entire
    252  1.1  mrg string and pads it on the left to be at least forty characters.&#13;</P
    253  1.1  mrg ><P
    254  1.1  mrg >&#13;A <I
    255  1.1  mrg CLASS="FIRSTTERM"
    256  1.1  mrg >filter-out</I
    257  1.1  mrg > tag
    258  1.1  mrg is one starting with the character "-" followed by a
    259  1.1  mrg comma-separated list of element names, followed by a sub-expression enclosed
    260  1.1  mrg in curly braces.  The sub-expression will be expanded but with a pattern that
    261  1.1  mrg has the listed elements removed from it.
    262  1.1  mrg For example, the format "%{-size,pixelsize{sub-expr}}" will expand "sub-expr"
    263  1.1  mrg with <TT
    264  1.1  mrg CLASS="PARAMETER"
    265  1.1  mrg ><I
    266  1.1  mrg >pattern</I
    267  1.1  mrg ></TT
    268  1.1  mrg > sans the size and pixelsize elements.&#13;</P
    269  1.1  mrg ><P
    270  1.1  mrg >&#13;A <I
    271  1.1  mrg CLASS="FIRSTTERM"
    272  1.1  mrg >filter-in</I
    273  1.1  mrg > tag
    274  1.1  mrg is one starting with the character "+" followed by a
    275  1.1  mrg comma-separated list of element names, followed by a sub-expression enclosed
    276  1.1  mrg in curly braces.  The sub-expression will be expanded but with a pattern that
    277  1.1  mrg only has the listed elements from the surrounding pattern.
    278  1.1  mrg For example, the format "%{+family,familylang{sub-expr}}" will expand "sub-expr"
    279  1.1  mrg with a sub-pattern consisting only the family and family lang elements of
    280  1.1  mrg <TT
    281  1.1  mrg CLASS="PARAMETER"
    282  1.1  mrg ><I
    283  1.1  mrg >pattern</I
    284  1.1  mrg ></TT
    285  1.1  mrg >.&#13;</P
    286  1.1  mrg ><P
    287  1.1  mrg >&#13;A <I
    288  1.1  mrg CLASS="FIRSTTERM"
    289  1.1  mrg >conditional</I
    290  1.1  mrg > tag
    291  1.1  mrg is one starting with the character "?" followed by a
    292  1.1  mrg comma-separated list of element conditions, followed by two sub-expression
    293  1.1  mrg enclosed in curly braces.  An element condition can be an element name,
    294  1.1  mrg in which case it tests whether the element is defined in pattern, or
    295  1.1  mrg the character "!" followed by an element name, in which case the test
    296  1.1  mrg is negated.  The conditional passes if all the element conditions pass.
    297  1.1  mrg The tag expands the first sub-expression if the conditional passes, and
    298  1.1  mrg expands the second sub-expression otherwise.
    299  1.1  mrg For example, the format "%{?size,dpi,!pixelsize{pass}{fail}}" will expand
    300  1.1  mrg to "pass" if <TT
    301  1.1  mrg CLASS="PARAMETER"
    302  1.1  mrg ><I
    303  1.1  mrg >pattern</I
    304  1.1  mrg ></TT
    305  1.1  mrg > has size and dpi elements but
    306  1.1  mrg no pixelsize element, and to "fail" otherwise.&#13;</P
    307  1.1  mrg ><P
    308  1.1  mrg >&#13;An <I
    309  1.1  mrg CLASS="FIRSTTERM"
    310  1.1  mrg >enumerate</I
    311  1.1  mrg > tag
    312  1.1  mrg is one starting with the string "[]" followed by a
    313  1.1  mrg comma-separated list of element names, followed by a sub-expression enclosed
    314  1.1  mrg in curly braces.  The list of values for the named elements are walked in
    315  1.1  mrg parallel and the sub-expression expanded each time with a pattern just having
    316  1.1  mrg a single value for those elements, starting from the first value and
    317  1.1  mrg continuing as long as any of those elements has a value.
    318  1.1  mrg For example, the format "%{[]family,familylang{%{family} (%{familylang})\n}}"
    319  1.1  mrg will expand the pattern "%{family} (%{familylang})\n" with a pattern
    320  1.1  mrg having only the first value of the family and familylang elemtns, then expands
    321  1.1  mrg it with the second values, then the third, etc.&#13;</P
    322  1.1  mrg ><P
    323  1.1  mrg >&#13;As a special case, if an enumerate tag has only one element, and that element
    324  1.1  mrg has only one value in the pattern, and that value is of type FcLangSet, the
    325  1.1  mrg individual languages in the language set are enumerated.&#13;</P
    326  1.1  mrg ><P
    327  1.1  mrg >&#13;A <I
    328  1.1  mrg CLASS="FIRSTTERM"
    329  1.1  mrg >builtin</I
    330  1.1  mrg > tag
    331  1.1  mrg is one starting with the character "=" followed by a builtin
    332  1.1  mrg name.  The following builtins are defined:
    333  1.1  mrg 
    334  1.1  mrg <P
    335  1.1  mrg ></P
    336  1.1  mrg ><DIV
    337  1.1  mrg CLASS="VARIABLELIST"
    338  1.1  mrg ><DL
    339  1.1  mrg ><DT
    340  1.1  mrg >unparse</DT
    341  1.1  mrg ><DD
    342  1.1  mrg ><P
    343  1.1  mrg >Expands to the result of calling FcNameUnparse() on the pattern.</P
    344  1.1  mrg ></DD
    345  1.1  mrg ><DT
    346  1.1  mrg >fcmatch</DT
    347  1.1  mrg ><DD
    348  1.1  mrg ><P
    349  1.1  mrg >Expands to the output of the default output format of the fc-match
    350  1.1  mrg command on the pattern, without the final newline.</P
    351  1.1  mrg ></DD
    352  1.1  mrg ><DT
    353  1.1  mrg >fclist</DT
    354  1.1  mrg ><DD
    355  1.1  mrg ><P
    356  1.1  mrg >Expands to the output of the default output format of the fc-list
    357  1.1  mrg command on the pattern, without the final newline.</P
    358  1.1  mrg ></DD
    359  1.1  mrg ><DT
    360  1.1  mrg >pkgkit</DT
    361  1.1  mrg ><DD
    362  1.1  mrg ><P
    363  1.1  mrg >Expands to the list of PackageKit font() tags for the pattern.
    364  1.1  mrg Currently this includes tags for each family name, and each language
    365  1.1  mrg from the pattern, enumerated and sanitized into a set of tags terminated
    366  1.1  mrg by newline.  Package management systems can use these tags to tag their
    367  1.1  mrg packages accordingly.</P
    368  1.1  mrg ></DD
    369  1.1  mrg ></DL
    370  1.1  mrg ></DIV
    371  1.1  mrg >
    372  1.1  mrg 
    373  1.1  mrg For example, the format "%{+family,style{%{=unparse}}}\n" will expand
    374  1.1  mrg to an unparsed name containing only the family and style element values
    375  1.1  mrg from <TT
    376  1.1  mrg CLASS="PARAMETER"
    377  1.1  mrg ><I
    378  1.1  mrg >pattern</I
    379  1.1  mrg ></TT
    380  1.1  mrg >.&#13;</P
    381  1.1  mrg ><P
    382  1.1  mrg >&#13;The contents of any tag can be followed by a set of zero or more
    383  1.1  mrg <I
    384  1.1  mrg CLASS="FIRSTTERM"
    385  1.1  mrg >converter</I
    386  1.1  mrg >s.  A converter is specified by the
    387  1.1  mrg character "|" followed by the converter name and arguments.  The
    388  1.1  mrg following converters are defined:
    389  1.1  mrg 
    390  1.1  mrg <P
    391  1.1  mrg ></P
    392  1.1  mrg ><DIV
    393  1.1  mrg CLASS="VARIABLELIST"
    394  1.1  mrg ><DL
    395  1.1  mrg ><DT
    396  1.1  mrg >basename</DT
    397  1.1  mrg ><DD
    398  1.1  mrg ><P
    399  1.1  mrg >Replaces text with the results of calling FcStrBasename() on it.</P
    400  1.1  mrg ></DD
    401  1.1  mrg ><DT
    402  1.1  mrg >dirname</DT
    403  1.1  mrg ><DD
    404  1.1  mrg ><P
    405  1.1  mrg >Replaces text with the results of calling FcStrDirname() on it.</P
    406  1.1  mrg ></DD
    407  1.1  mrg ><DT
    408  1.1  mrg >downcase</DT
    409  1.1  mrg ><DD
    410  1.1  mrg ><P
    411  1.1  mrg >Replaces text with the results of calling FcStrDowncase() on it.</P
    412  1.1  mrg ></DD
    413  1.1  mrg ><DT
    414  1.1  mrg >shescape</DT
    415  1.1  mrg ><DD
    416  1.1  mrg ><P
    417  1.1  mrg >Escapes text for one level of shell expansion.
    418  1.1  mrg (Escapes single-quotes, also encloses text in single-quotes.)</P
    419  1.1  mrg ></DD
    420  1.1  mrg ><DT
    421  1.1  mrg >cescape</DT
    422  1.1  mrg ><DD
    423  1.1  mrg ><P
    424  1.1  mrg >Escapes text such that it can be used as part of a C string literal.
    425  1.1  mrg (Escapes backslash and double-quotes.)</P
    426  1.1  mrg ></DD
    427  1.1  mrg ><DT
    428  1.1  mrg >xmlescape</DT
    429  1.1  mrg ><DD
    430  1.1  mrg ><P
    431  1.1  mrg >Escapes text such that it can be used in XML and HTML.
    432  1.1  mrg (Escapes less-than, greater-than, and ampersand.)</P
    433  1.1  mrg ></DD
    434  1.1  mrg ><DT
    435  1.1  mrg >delete(<TT
    436  1.1  mrg CLASS="PARAMETER"
    437  1.1  mrg ><I
    438  1.1  mrg >chars</I
    439  1.1  mrg ></TT
    440  1.1  mrg >)</DT
    441  1.1  mrg ><DD
    442  1.1  mrg ><P
    443  1.1  mrg >Deletes all occurrences of each of the characters in <TT
    444  1.1  mrg CLASS="PARAMETER"
    445  1.1  mrg ><I
    446  1.1  mrg >chars</I
    447  1.1  mrg ></TT
    448  1.1  mrg >
    449  1.1  mrg from the text.
    450  1.1  mrg FIXME: This converter is not UTF-8 aware yet.</P
    451  1.1  mrg ></DD
    452  1.1  mrg ><DT
    453  1.1  mrg >escape(<TT
    454  1.1  mrg CLASS="PARAMETER"
    455  1.1  mrg ><I
    456  1.1  mrg >chars</I
    457  1.1  mrg ></TT
    458  1.1  mrg >)</DT
    459  1.1  mrg ><DD
    460  1.1  mrg ><P
    461  1.1  mrg >Escapes all occurrences of each of the characters in <TT
    462  1.1  mrg CLASS="PARAMETER"
    463  1.1  mrg ><I
    464  1.1  mrg >chars</I
    465  1.1  mrg ></TT
    466  1.1  mrg >
    467  1.1  mrg by prepending it by the first character in <TT
    468  1.1  mrg CLASS="PARAMETER"
    469  1.1  mrg ><I
    470  1.1  mrg >chars</I
    471  1.1  mrg ></TT
    472  1.1  mrg >.
    473  1.1  mrg FIXME: This converter is not UTF-8 aware yet.</P
    474  1.1  mrg ></DD
    475  1.1  mrg ><DT
    476  1.1  mrg >translate(<TT
    477  1.1  mrg CLASS="PARAMETER"
    478  1.1  mrg ><I
    479  1.1  mrg >from</I
    480  1.1  mrg ></TT
    481  1.1  mrg >,<TT
    482  1.1  mrg CLASS="PARAMETER"
    483  1.1  mrg ><I
    484  1.1  mrg >to</I
    485  1.1  mrg ></TT
    486  1.1  mrg >)</DT
    487  1.1  mrg ><DD
    488  1.1  mrg ><P
    489  1.1  mrg >Translates all occurrences of each of the characters in <TT
    490  1.1  mrg CLASS="PARAMETER"
    491  1.1  mrg ><I
    492  1.1  mrg >from</I
    493  1.1  mrg ></TT
    494  1.1  mrg >
    495  1.1  mrg by replacing them with their corresponding character in <TT
    496  1.1  mrg CLASS="PARAMETER"
    497  1.1  mrg ><I
    498  1.1  mrg >to</I
    499  1.1  mrg ></TT
    500  1.1  mrg >.
    501  1.1  mrg If <TT
    502  1.1  mrg CLASS="PARAMETER"
    503  1.1  mrg ><I
    504  1.1  mrg >to</I
    505  1.1  mrg ></TT
    506  1.1  mrg > has fewer characters than
    507  1.1  mrg <TT
    508  1.1  mrg CLASS="PARAMETER"
    509  1.1  mrg ><I
    510  1.1  mrg >from</I
    511  1.1  mrg ></TT
    512  1.1  mrg >, it will be extended by repeating its last
    513  1.1  mrg character.
    514  1.1  mrg FIXME: This converter is not UTF-8 aware yet.</P
    515  1.1  mrg ></DD
    516  1.1  mrg ></DL
    517  1.1  mrg ></DIV
    518  1.1  mrg >
    519  1.1  mrg 
    520  1.1  mrg For example, the format "%{family|downcase|delete( )}\n" will expand
    521  1.1  mrg to the values of the family element in <TT
    522  1.1  mrg CLASS="PARAMETER"
    523  1.1  mrg ><I
    524  1.1  mrg >pattern</I
    525  1.1  mrg ></TT
    526  1.1  mrg >,
    527  1.1  mrg lower-cased and with spaces removed.
    528  1.1  mrg 	    </P
    529  1.1  mrg ></DIV
    530  1.1  mrg ><DIV
    531  1.1  mrg CLASS="REFSECT1"
    532  1.1  mrg ><A
    533  1.1  mrg NAME="AEN1049"
    534  1.1  mrg ></A
    535  1.1  mrg ><H2
    536  1.1  mrg >Version</H2
    537  1.1  mrg ><P
    538  1.1  mrg >Fontconfig version 2.8.0
    539  1.1  mrg 
    540  1.1  mrg 	    </P
    541  1.1  mrg ></DIV
    542  1.1  mrg ><DIV
    543  1.1  mrg CLASS="NAVFOOTER"
    544  1.1  mrg ><HR
    545  1.1  mrg ALIGN="LEFT"
    546  1.1  mrg WIDTH="100%"><TABLE
    547  1.1  mrg SUMMARY="Footer navigation table"
    548  1.1  mrg WIDTH="100%"
    549  1.1  mrg BORDER="0"
    550  1.1  mrg CELLPADDING="0"
    551  1.1  mrg CELLSPACING="0"
    552  1.1  mrg ><TR
    553  1.1  mrg ><TD
    554  1.1  mrg WIDTH="33%"
    555  1.1  mrg ALIGN="left"
    556  1.1  mrg VALIGN="top"
    557  1.1  mrg ><A
    558  1.1  mrg HREF="fcnameunparse.html"
    559  1.1  mrg ACCESSKEY="P"
    560  1.1  mrg >&#60;&#60;&#60; Previous</A
    561  1.1  mrg ></TD
    562  1.1  mrg ><TD
    563  1.1  mrg WIDTH="34%"
    564  1.1  mrg ALIGN="center"
    565  1.1  mrg VALIGN="top"
    566  1.1  mrg ><A
    567  1.1  mrg HREF="t1.html"
    568  1.1  mrg ACCESSKEY="H"
    569  1.1  mrg >Home</A
    570  1.1  mrg ></TD
    571  1.1  mrg ><TD
    572  1.1  mrg WIDTH="33%"
    573  1.1  mrg ALIGN="right"
    574  1.1  mrg VALIGN="top"
    575  1.1  mrg >&nbsp;</TD
    576  1.1  mrg ></TR
    577  1.1  mrg ><TR
    578  1.1  mrg ><TD
    579  1.1  mrg WIDTH="33%"
    580  1.1  mrg ALIGN="left"
    581  1.1  mrg VALIGN="top"
    582  1.1  mrg >FcNameUnparse</TD
    583  1.1  mrg ><TD
    584  1.1  mrg WIDTH="34%"
    585  1.1  mrg ALIGN="center"
    586  1.1  mrg VALIGN="top"
    587  1.1  mrg ><A
    588  1.1  mrg HREF="x102.html#AEN255"
    589  1.1  mrg ACCESSKEY="U"
    590  1.1  mrg >Up</A
    591  1.1  mrg ></TD
    592  1.1  mrg ><TD
    593  1.1  mrg WIDTH="33%"
    594  1.1  mrg ALIGN="right"
    595  1.1  mrg VALIGN="top"
    596  1.1  mrg >&nbsp;</TD
    597  1.1  mrg ></TR
    598  1.1  mrg ></TABLE
    599  1.1  mrg ></DIV
    600  1.1  mrg ></BODY
    601  1.1  mrg ></HTML
    602  1.1  mrg >