2013-03-09 06:33:45 -07:00
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
<HTML
|
|
|
|
><HEAD
|
|
|
|
><TITLE
|
|
|
|
>FUNCTIONAL OVERVIEW</TITLE
|
|
|
|
><META
|
|
|
|
NAME="GENERATOR"
|
|
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
|
|
REL="HOME"
|
|
|
|
HREF="t1.html"><LINK
|
|
|
|
REL="PREVIOUS"
|
|
|
|
HREF="t1.html"><LINK
|
|
|
|
REL="NEXT"
|
|
|
|
TITLE="Datatypes"
|
|
|
|
HREF="x31.html"></HEAD
|
|
|
|
><BODY
|
|
|
|
CLASS="SECT1"
|
|
|
|
BGCOLOR="#FFFFFF"
|
|
|
|
TEXT="#000000"
|
|
|
|
LINK="#0000FF"
|
|
|
|
VLINK="#840084"
|
|
|
|
ALINK="#0000FF"
|
|
|
|
><DIV
|
|
|
|
CLASS="NAVHEADER"
|
|
|
|
><TABLE
|
|
|
|
SUMMARY="Header navigation table"
|
|
|
|
WIDTH="100%"
|
|
|
|
BORDER="0"
|
|
|
|
CELLPADDING="0"
|
|
|
|
CELLSPACING="0"
|
|
|
|
><TR
|
|
|
|
><TH
|
|
|
|
COLSPAN="3"
|
|
|
|
ALIGN="center"
|
|
|
|
></TH
|
|
|
|
></TR
|
|
|
|
><TR
|
|
|
|
><TD
|
|
|
|
WIDTH="10%"
|
|
|
|
ALIGN="left"
|
|
|
|
VALIGN="bottom"
|
|
|
|
><A
|
|
|
|
HREF="t1.html"
|
|
|
|
ACCESSKEY="P"
|
|
|
|
><<< Previous</A
|
|
|
|
></TD
|
|
|
|
><TD
|
|
|
|
WIDTH="80%"
|
|
|
|
ALIGN="center"
|
|
|
|
VALIGN="bottom"
|
|
|
|
></TD
|
|
|
|
><TD
|
|
|
|
WIDTH="10%"
|
|
|
|
ALIGN="right"
|
|
|
|
VALIGN="bottom"
|
|
|
|
><A
|
|
|
|
HREF="x31.html"
|
|
|
|
ACCESSKEY="N"
|
|
|
|
>Next >>></A
|
|
|
|
></TD
|
|
|
|
></TR
|
|
|
|
></TABLE
|
|
|
|
><HR
|
|
|
|
ALIGN="LEFT"
|
|
|
|
WIDTH="100%"></DIV
|
|
|
|
><DIV
|
|
|
|
CLASS="SECT1"
|
|
|
|
><H1
|
|
|
|
CLASS="SECT1"
|
|
|
|
><A
|
|
|
|
NAME="AEN19"
|
|
|
|
>FUNCTIONAL OVERVIEW</A
|
|
|
|
></H1
|
|
|
|
><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="SECT2"
|
|
|
|
><H2
|
|
|
|
CLASS="SECT2"
|
|
|
|
><A
|
|
|
|
NAME="AEN22"
|
|
|
|
>FONT CONFIGURATION</A
|
|
|
|
></H2
|
|
|
|
><P
|
|
|
|
>The configuration module consists of the FcConfig datatype, libexpat and
|
|
|
|
FcConfigParse which walks over an XML tree and amends 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="SECT2"
|
|
|
|
><H2
|
|
|
|
CLASS="SECT2"
|
|
|
|
><A
|
|
|
|
NAME="AEN27"
|
|
|
|
>FONT PROPERTIES</A
|
|
|
|
></H2
|
|
|
|
><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 application's rendering mechanism.
|
|
|
|
</P
|
|
|
|
><TABLE
|
|
|
|
BORDER="0"
|
|
|
|
BGCOLOR="#E0E0E0"
|
|
|
|
WIDTH="100%"
|
|
|
|
><TR
|
|
|
|
><TD
|
|
|
|
><PRE
|
|
|
|
CLASS="PROGRAMLISTING"
|
|
|
|
> Property Definitions
|
|
|
|
|
|
|
|
Property C Preprocessor Symbol Type Description
|
|
|
|
----------------------------------------------------
|
|
|
|
family FC_FAMILY String Font family names
|
|
|
|
familylang FC_FAMILYLANG String Language corresponding to
|
|
|
|
each family name
|
|
|
|
style FC_STYLE String Font style. Overrides weight
|
|
|
|
and slant
|
|
|
|
stylelang FC_STYLELANG String Language corresponding to
|
|
|
|
each style name
|
|
|
|
fullname FC_FULLNAME String Font face full name where
|
|
|
|
different from family and
|
|
|
|
family + style
|
|
|
|
fullnamelang FC_FULLNAMELANG String Language corresponding to
|
|
|
|
each fullname
|
|
|
|
slant FC_SLANT Int Italic, oblique or roman
|
|
|
|
weight FC_WEIGHT Int Light, medium, demibold,
|
|
|
|
bold or black
|
|
|
|
size FC_SIZE Double Point size
|
|
|
|
width FC_WIDTH Int Condensed, normal or expanded
|
|
|
|
aspect FC_ASPECT Double Stretches glyphs horizontally
|
|
|
|
before hinting
|
|
|
|
pixelsize FC_PIXEL_SIZE Double Pixel size
|
|
|
|
spacing FC_SPACING Int Proportional, dual-width,
|
|
|
|
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
|
|
|
|
hintstyle FC_HINT_STYLE Int Automatic hinting style
|
|
|
|
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 (deprecated)
|
|
|
|
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
|
2014-05-18 04:33:03 -06:00
|
|
|
rasterizer FC_RASTERIZER String Which rasterizer is in use (deprecated)
|
2013-03-09 06:33:45 -07:00
|
|
|
outline FC_OUTLINE Bool Whether the glyphs are outlines
|
|
|
|
scalable FC_SCALABLE Bool Whether glyphs can be scaled
|
|
|
|
scale FC_SCALE Double Scale factor for point->pixel
|
2016-08-09 12:57:41 -06:00
|
|
|
conversions (deprecated)
|
|
|
|
symbol FC_SYMBOL Bool Whether font uses MS symbol-font encoding
|
|
|
|
color FC_COLOR Bool Whether any glyphs have color
|
2013-03-09 06:33:45 -07:00
|
|
|
dpi FC_DPI Double Target dots per inch
|
|
|
|
rgba FC_RGBA Int unknown, rgb, bgr, vrgb,
|
|
|
|
vbgr, none - subpixel geometry
|
|
|
|
lcdfilter FC_LCD_FILTER Int Type of LCD filter
|
|
|
|
minspace FC_MINSPACE Bool Eliminate leading from line
|
|
|
|
spacing
|
|
|
|
charset FC_CHARSET CharSet Unicode chars encoded by
|
|
|
|
the font
|
|
|
|
lang FC_LANG LangSet Set of RFC-3066-style
|
|
|
|
languages this font supports
|
|
|
|
fontversion FC_FONTVERSION Int Version number of the font
|
|
|
|
capability FC_CAPABILITY String List of layout capabilities in
|
|
|
|
the font
|
2016-08-09 12:57:41 -06:00
|
|
|
fontformat FC_FONTFORMAT String String name of the font format
|
2013-03-09 06:33:45 -07:00
|
|
|
embolden FC_EMBOLDEN Bool Rasterizer should
|
|
|
|
synthetically embolden the font
|
2016-08-09 12:57:41 -06:00
|
|
|
embeddedbitmap FC_EMBEDDED_BITMAP Bool Use the embedded bitmap instead
|
|
|
|
of the outline
|
|
|
|
decorative FC_DECORATIVE Bool Whether the style is a decorative
|
|
|
|
variant
|
2014-05-18 04:33:03 -06:00
|
|
|
fontfeatures FC_FONT_FEATURES String List of extra feature tags in
|
|
|
|
OpenType to be enabled
|
2013-03-09 06:33:45 -07:00
|
|
|
namelang FC_NAMELANG String Language name to be used for the
|
|
|
|
default value of familylang,
|
|
|
|
stylelang and fullnamelang
|
2014-05-18 04:33:03 -06:00
|
|
|
prgname FC_PRGNAME String Name of the running program
|
|
|
|
hash FC_HASH String SHA256 hash value of the font data
|
2016-08-09 12:57:41 -06:00
|
|
|
with "sha256:" prefix (deprecated)
|
2014-05-18 04:33:03 -06:00
|
|
|
postscriptname FC_POSTSCRIPT_NAME String Font name in PostScript
|
2013-03-09 06:33:45 -07:00
|
|
|
</PRE
|
|
|
|
></TD
|
|
|
|
></TR
|
|
|
|
></TABLE
|
|
|
|
></DIV
|
|
|
|
></DIV
|
|
|
|
><DIV
|
|
|
|
CLASS="NAVFOOTER"
|
|
|
|
><HR
|
|
|
|
ALIGN="LEFT"
|
|
|
|
WIDTH="100%"><TABLE
|
|
|
|
SUMMARY="Footer navigation table"
|
|
|
|
WIDTH="100%"
|
|
|
|
BORDER="0"
|
|
|
|
CELLPADDING="0"
|
|
|
|
CELLSPACING="0"
|
|
|
|
><TR
|
|
|
|
><TD
|
|
|
|
WIDTH="33%"
|
|
|
|
ALIGN="left"
|
|
|
|
VALIGN="top"
|
|
|
|
><A
|
|
|
|
HREF="t1.html"
|
|
|
|
ACCESSKEY="P"
|
|
|
|
><<< Previous</A
|
|
|
|
></TD
|
|
|
|
><TD
|
|
|
|
WIDTH="34%"
|
|
|
|
ALIGN="center"
|
|
|
|
VALIGN="top"
|
|
|
|
><A
|
|
|
|
HREF="t1.html"
|
|
|
|
ACCESSKEY="H"
|
|
|
|
>Home</A
|
|
|
|
></TD
|
|
|
|
><TD
|
|
|
|
WIDTH="33%"
|
|
|
|
ALIGN="right"
|
|
|
|
VALIGN="top"
|
|
|
|
><A
|
|
|
|
HREF="x31.html"
|
|
|
|
ACCESSKEY="N"
|
|
|
|
>Next >>></A
|
|
|
|
></TD
|
|
|
|
></TR
|
|
|
|
><TR
|
|
|
|
><TD
|
|
|
|
WIDTH="33%"
|
|
|
|
ALIGN="left"
|
|
|
|
VALIGN="top"
|
|
|
|
></TD
|
|
|
|
><TD
|
|
|
|
WIDTH="34%"
|
|
|
|
ALIGN="center"
|
|
|
|
VALIGN="top"
|
|
|
|
> </TD
|
|
|
|
><TD
|
|
|
|
WIDTH="33%"
|
|
|
|
ALIGN="right"
|
|
|
|
VALIGN="top"
|
|
|
|
>Datatypes</TD
|
|
|
|
></TR
|
|
|
|
></TABLE
|
|
|
|
></DIV
|
|
|
|
></BODY
|
|
|
|
></HTML
|
|
|
|
>
|