Home | History | Annotate | Line # | Download | only in fontconfig-devel
x19.html revision 1.1.1.2
      1  1.1.1.2  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 >FUNCTIONAL OVERVIEW</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.1.2  mrg HREF="t1.html"><LINK
     11      1.1  mrg REL="PREVIOUS"
     12  1.1.1.2  mrg HREF="t1.html"><LINK
     13      1.1  mrg REL="NEXT"
     14      1.1  mrg TITLE="Datatypes"
     15      1.1  mrg HREF="x31.html"></HEAD
     16      1.1  mrg ><BODY
     17      1.1  mrg CLASS="SECT1"
     18      1.1  mrg BGCOLOR="#FFFFFF"
     19      1.1  mrg TEXT="#000000"
     20      1.1  mrg LINK="#0000FF"
     21      1.1  mrg VLINK="#840084"
     22      1.1  mrg ALINK="#0000FF"
     23      1.1  mrg ><DIV
     24      1.1  mrg CLASS="NAVHEADER"
     25      1.1  mrg ><TABLE
     26      1.1  mrg SUMMARY="Header navigation table"
     27      1.1  mrg WIDTH="100%"
     28      1.1  mrg BORDER="0"
     29      1.1  mrg CELLPADDING="0"
     30      1.1  mrg CELLSPACING="0"
     31      1.1  mrg ><TR
     32      1.1  mrg ><TH
     33      1.1  mrg COLSPAN="3"
     34      1.1  mrg ALIGN="center"
     35      1.1  mrg ></TH
     36      1.1  mrg ></TR
     37      1.1  mrg ><TR
     38      1.1  mrg ><TD
     39      1.1  mrg WIDTH="10%"
     40      1.1  mrg ALIGN="left"
     41      1.1  mrg VALIGN="bottom"
     42      1.1  mrg ><A
     43  1.1.1.2  mrg HREF="t1.html"
     44      1.1  mrg ACCESSKEY="P"
     45  1.1.1.2  mrg >&#60;&#60;&#60; Previous</A
     46      1.1  mrg ></TD
     47      1.1  mrg ><TD
     48      1.1  mrg WIDTH="80%"
     49      1.1  mrg ALIGN="center"
     50      1.1  mrg VALIGN="bottom"
     51      1.1  mrg ></TD
     52      1.1  mrg ><TD
     53      1.1  mrg WIDTH="10%"
     54      1.1  mrg ALIGN="right"
     55      1.1  mrg VALIGN="bottom"
     56      1.1  mrg ><A
     57      1.1  mrg HREF="x31.html"
     58      1.1  mrg ACCESSKEY="N"
     59  1.1.1.2  mrg >Next &#62;&#62;&#62;</A
     60      1.1  mrg ></TD
     61      1.1  mrg ></TR
     62      1.1  mrg ></TABLE
     63      1.1  mrg ><HR
     64      1.1  mrg ALIGN="LEFT"
     65      1.1  mrg WIDTH="100%"></DIV
     66      1.1  mrg ><DIV
     67      1.1  mrg CLASS="SECT1"
     68      1.1  mrg ><H1
     69      1.1  mrg CLASS="SECT1"
     70      1.1  mrg ><A
     71      1.1  mrg NAME="AEN19"
     72  1.1.1.2  mrg >FUNCTIONAL OVERVIEW</A
     73      1.1  mrg ></H1
     74      1.1  mrg ><P
     75      1.1  mrg >Fontconfig contains two essential modules, the configuration module which
     76      1.1  mrg builds an internal configuration from XML files and the matching module
     77      1.1  mrg which accepts font patterns and returns the nearest matching font.
     78      1.1  mrg   </P
     79      1.1  mrg ><DIV
     80      1.1  mrg CLASS="SECT2"
     81      1.1  mrg ><H2
     82      1.1  mrg CLASS="SECT2"
     83      1.1  mrg ><A
     84      1.1  mrg NAME="AEN22"
     85  1.1.1.2  mrg >FONT CONFIGURATION</A
     86      1.1  mrg ></H2
     87      1.1  mrg ><P
     88      1.1  mrg >The configuration module consists of the FcConfig datatype, libexpat and
     89      1.1  mrg FcConfigParse which walks over an XML tree and ammends a configuration with
     90      1.1  mrg data found within.  From an external perspective, configuration of the
     91      1.1  mrg library consists of generating a valid XML tree and feeding that to
     92      1.1  mrg FcConfigParse.  The only other mechanism provided to applications for
     93      1.1  mrg changing the running configuration is to add fonts and directories to the
     94      1.1  mrg list of application-provided font files.  
     95      1.1  mrg     </P
     96      1.1  mrg ><P
     97      1.1  mrg >The intent is to make font configurations relatively static, and shared by
     98      1.1  mrg as many applications as possible.  It is hoped that this will lead to more
     99      1.1  mrg stable font selection when passing names from one application to another.
    100      1.1  mrg XML was chosen as a configuration file format because it provides a format
    101      1.1  mrg which is easy for external agents to edit while retaining the correct
    102      1.1  mrg structure and syntax.
    103      1.1  mrg     </P
    104      1.1  mrg ><P
    105      1.1  mrg >Font configuration is separate from font matching; applications needing to
    106      1.1  mrg do their own matching can access the available fonts from the library and
    107      1.1  mrg perform private matching.  The intent is to permit applications to pick and
    108      1.1  mrg choose appropriate functionality from the library instead of forcing them to
    109      1.1  mrg choose between this library and a private configuration mechanism.  The hope
    110      1.1  mrg is that this will ensure that configuration of fonts for all applications
    111      1.1  mrg can be centralized in one place.  Centralizing font configuration will
    112      1.1  mrg simplify and regularize font installation and customization.
    113      1.1  mrg     </P
    114      1.1  mrg ></DIV
    115      1.1  mrg ><DIV
    116      1.1  mrg CLASS="SECT2"
    117      1.1  mrg ><H2
    118      1.1  mrg CLASS="SECT2"
    119      1.1  mrg ><A
    120      1.1  mrg NAME="AEN27"
    121  1.1.1.2  mrg >FONT PROPERTIES</A
    122      1.1  mrg ></H2
    123      1.1  mrg ><P
    124      1.1  mrg >While font patterns may contain essentially any properties, there are some
    125      1.1  mrg well known properties with associated types.  Fontconfig uses some of these
    126      1.1  mrg properties for font matching and font completion.  Others are provided as a
    127      1.1  mrg convenience for the applications rendering mechanism.
    128      1.1  mrg     </P
    129  1.1.1.2  mrg ><TABLE
    130  1.1.1.2  mrg BORDER="0"
    131  1.1.1.2  mrg BGCOLOR="#E0E0E0"
    132  1.1.1.2  mrg WIDTH="100%"
    133  1.1.1.2  mrg ><TR
    134  1.1.1.2  mrg ><TD
    135      1.1  mrg ><PRE
    136      1.1  mrg CLASS="PROGRAMLISTING"
    137      1.1  mrg >                 Property Definitions
    138      1.1  mrg 
    139      1.1  mrg     Property       CPP Symbol           Type    Description
    140      1.1  mrg     ----------------------------------------------------
    141      1.1  mrg     family         FC_FAMILY            String  Font family names
    142      1.1  mrg     familylang     FC_FAMILYLANG        String  Language cooresponding to
    143      1.1  mrg                                                 each family name
    144      1.1  mrg     style          FC_STYLE             String  Font style. Overrides weight
    145      1.1  mrg                                                 and slant
    146      1.1  mrg     stylelang      FC_STYLELANG         String  Language cooresponding to
    147      1.1  mrg                                                 each style name
    148      1.1  mrg     fullname       FC_FULLNAME          String  Font face full name where
    149      1.1  mrg                                                 different from family and
    150      1.1  mrg                                                 family + style
    151      1.1  mrg     fullnamelang   FC_FULLNAMELANG      String  Language cooresponding to
    152      1.1  mrg                                                 each fullname
    153      1.1  mrg     slant          FC_SLANT             Int     Italic, oblique or roman
    154      1.1  mrg     weight         FC_WEIGHT            Int     Light, medium, demibold,
    155      1.1  mrg                                                 bold or black
    156      1.1  mrg     size           FC_SIZE              Double  Point size
    157      1.1  mrg     width          FC_WIDTH             Int     Condensed, normal or expanded
    158      1.1  mrg     aspect         FC_ASPECT            Double  Stretches glyphs horizontally
    159      1.1  mrg                                                 before hinting
    160      1.1  mrg     pixelsize      FC_PIXEL_SIZE        Double  Pixel size
    161      1.1  mrg     spacing        FC_SPACING           Int     Proportional, dual-width,
    162      1.1  mrg                                                 monospace or charcell
    163      1.1  mrg     foundry        FC_FOUNDRY           String  Font foundry name
    164      1.1  mrg     antialias      FC_ANTIALIAS         Bool    Whether glyphs can be
    165      1.1  mrg                                                 antialiased
    166      1.1  mrg     hinting        FC_HINTING           Bool    Whether the rasterizer should
    167      1.1  mrg                                                 use hinting
    168      1.1  mrg     hintstyle      FC_HINT_STYLE        Int     Automatic hinting style
    169      1.1  mrg     verticallayout FC_VERTICAL_LAYOUT   Bool    Use vertical layout
    170      1.1  mrg     autohint       FC_AUTOHINT          Bool    Use autohinter instead of
    171      1.1  mrg                                                 normal hinter
    172      1.1  mrg     globaladvance  FC_GLOBAL_ADVANCE    Bool    Use font global advance data
    173      1.1  mrg     file           FC_FILE              String  The filename holding the font
    174      1.1  mrg     index          FC_INDEX             Int     The index of the font within
    175      1.1  mrg                                                 the file
    176      1.1  mrg     ftface         FC_FT_FACE           FT_Face Use the specified FreeType
    177      1.1  mrg                                                 face object
    178      1.1  mrg     rasterizer     FC_RASTERIZER        String  Which rasterizer is in use
    179      1.1  mrg     outline        FC_OUTLINE           Bool    Whether the glyphs are outlines
    180      1.1  mrg     scalable       FC_SCALABLE          Bool    Whether glyphs can be scaled
    181      1.1  mrg     scale          FC_SCALE             Double  Scale factor for point-&#62;pixel
    182      1.1  mrg                                                 conversions
    183      1.1  mrg     dpi            FC_DPI               Double  Target dots per inch
    184      1.1  mrg     rgba           FC_RGBA              Int     unknown, rgb, bgr, vrgb,
    185      1.1  mrg                                                 vbgr, none - subpixel geometry
    186      1.1  mrg     lcdfilter      FC_LCD_FILTER        Int     Type of LCD filter
    187      1.1  mrg     minspace       FC_MINSPACE          Bool    Eliminate leading from line
    188      1.1  mrg                                                 spacing
    189      1.1  mrg     charset        FC_CHARSET           CharSet Unicode chars encoded by
    190      1.1  mrg                                                 the font
    191      1.1  mrg     lang           FC_LANG              LangSet Set of RFC-3066-style
    192      1.1  mrg                                                 languages this font supports
    193      1.1  mrg     fontversion    FC_FONTVERSION       Int     Version number of the font
    194      1.1  mrg     capability     FC_CAPABILITY        String  List of layout capabilities in
    195      1.1  mrg                                                 the font
    196      1.1  mrg     embolden       FC_EMBOLDEN          Bool    Rasterizer should
    197      1.1  mrg                                                 synthetically embolden the font
    198      1.1  mrg     </PRE
    199  1.1.1.2  mrg ></TD
    200  1.1.1.2  mrg ></TR
    201  1.1.1.2  mrg ></TABLE
    202      1.1  mrg ></DIV
    203      1.1  mrg ></DIV
    204      1.1  mrg ><DIV
    205      1.1  mrg CLASS="NAVFOOTER"
    206      1.1  mrg ><HR
    207      1.1  mrg ALIGN="LEFT"
    208      1.1  mrg WIDTH="100%"><TABLE
    209      1.1  mrg SUMMARY="Footer navigation table"
    210      1.1  mrg WIDTH="100%"
    211      1.1  mrg BORDER="0"
    212      1.1  mrg CELLPADDING="0"
    213      1.1  mrg CELLSPACING="0"
    214      1.1  mrg ><TR
    215      1.1  mrg ><TD
    216      1.1  mrg WIDTH="33%"
    217      1.1  mrg ALIGN="left"
    218      1.1  mrg VALIGN="top"
    219      1.1  mrg ><A
    220  1.1.1.2  mrg HREF="t1.html"
    221      1.1  mrg ACCESSKEY="P"
    222  1.1.1.2  mrg >&#60;&#60;&#60; Previous</A
    223      1.1  mrg ></TD
    224      1.1  mrg ><TD
    225      1.1  mrg WIDTH="34%"
    226      1.1  mrg ALIGN="center"
    227      1.1  mrg VALIGN="top"
    228      1.1  mrg ><A
    229  1.1.1.2  mrg HREF="t1.html"
    230      1.1  mrg ACCESSKEY="H"
    231      1.1  mrg >Home</A
    232      1.1  mrg ></TD
    233      1.1  mrg ><TD
    234      1.1  mrg WIDTH="33%"
    235      1.1  mrg ALIGN="right"
    236      1.1  mrg VALIGN="top"
    237      1.1  mrg ><A
    238      1.1  mrg HREF="x31.html"
    239      1.1  mrg ACCESSKEY="N"
    240  1.1.1.2  mrg >Next &#62;&#62;&#62;</A
    241      1.1  mrg ></TD
    242      1.1  mrg ></TR
    243      1.1  mrg ><TR
    244      1.1  mrg ><TD
    245      1.1  mrg WIDTH="33%"
    246      1.1  mrg ALIGN="left"
    247      1.1  mrg VALIGN="top"
    248      1.1  mrg ></TD
    249      1.1  mrg ><TD
    250      1.1  mrg WIDTH="34%"
    251      1.1  mrg ALIGN="center"
    252      1.1  mrg VALIGN="top"
    253      1.1  mrg >&nbsp;</TD
    254      1.1  mrg ><TD
    255      1.1  mrg WIDTH="33%"
    256      1.1  mrg ALIGN="right"
    257      1.1  mrg VALIGN="top"
    258      1.1  mrg >Datatypes</TD
    259      1.1  mrg ></TR
    260      1.1  mrg ></TABLE
    261      1.1  mrg ></DIV
    262      1.1  mrg ></BODY
    263      1.1  mrg ></HTML
    264      1.1  mrg >