]> git.wh0rd.org - fontconfig.git/blobdiff - doc/fontconfig-devel.sgml
[doc] Note that fontset returned by FcConfigGetFonts should not be modified
[fontconfig.git] / doc / fontconfig-devel.sgml
index a9893882d1c6643b0c2a592cbb7a87489f4081e4..560a8626980269127df9aa2174a387e34c297e11 100644 (file)
@@ -1,13 +1,16 @@
 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
 <!ENTITY fcatomic SYSTEM "fcatomic.sgml">
 <!ENTITY fcblanks SYSTEM "fcblanks.sgml">
+<!ENTITY fccache SYSTEM "fccache.sgml">
 <!ENTITY fccharset SYSTEM "fccharset.sgml">
 <!ENTITY fcconfig SYSTEM "fcconfig.sgml">
 <!ENTITY fcconstant SYSTEM "fcconstant.sgml">
+<!ENTITY fcdircache SYSTEM "fcdircache.sgml">
 <!ENTITY fcfile SYSTEM "fcfile.sgml">
 <!ENTITY fcfontset SYSTEM "fcfontset.sgml">
 <!ENTITY fcfreetype SYSTEM "fcfreetype.sgml">
 <!ENTITY fcinit SYSTEM "fcinit.sgml">
+<!ENTITY fclangset SYSTEM "fclangset.sgml">
 <!ENTITY fcmatrix SYSTEM "fcmatrix.sgml">
 <!ENTITY fcobjectset SYSTEM "fcobjectset.sgml">
 <!ENTITY fcobjecttype SYSTEM "fcobjecttype.sgml">
@@ -18,9 +21,9 @@
 <!ENTITY version SYSTEM "version.sgml">
 ]>
 <!--
-    $Id$
+    fontconfig/doc/local-fontconfig-devel.sgml
    
-    Copyright © 2003 Keith Packard
+    Copyright Â© 2003 Keith Packard
    
     Permission to use, copy, modify, distribute, and sell this software and its
     documentation for any purpose is hereby granted without fee, provided that
@@ -55,7 +58,7 @@
                <productnumber>&version;</productnumber>
                <LegalNotice>
                        <simpara>               
-Copyright © 2002 Keith Packard
+Copyright Â© 2002 Keith Packard
                        </simpara><simpara>
 Permission to use, copy, modify, distribute, and sell this software and its
 documentation for any purpose is hereby granted without fee, provided that
@@ -138,13 +141,14 @@ convenience for the applications rendering mechanism.
                                                 each style name
     fullname       FC_FULLNAME          String  Font face full name where
                                                 different from family and
-                                               family + style
+                                                family + style
     fullnamelang   FC_FULLNAMELANG      String  Language cooresponding 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
@@ -155,6 +159,7 @@ convenience for the applications rendering mechanism.
                                                 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
@@ -172,12 +177,18 @@ convenience for the applications rendering mechanism.
     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              String  List of RFC-3066-style
+    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
+    embolden       FC_EMBOLDEN          Bool    Rasterizer should
+                                                synthetically embolden the font
     </programlisting>
   </sect2>
 </sect1>
@@ -210,6 +221,26 @@ An FcCharSet is an abstract type that holds the set of encoded unicode chars
 in a font.  Operations to build and compare these sets are provided.
     </para>
   </sect2>
+  <sect2><title>FcLangSet</title>
+    <para>
+An FcLangSet is an abstract type that holds the set of languages supported
+by a font.  Operations to build and compare these sets are provided. These
+are computed for a font based on orthographic information built into the
+fontconfig library. Fontconfig has orthographies for all of the ISO 639-1
+languages except for MS, NA, PA, PS, QU, RN, RW, SD, SG, SN, SU and ZA. If
+you have orthographic information for any of these languages, please submit
+them.
+    </para>
+  </sect2>
+  <sect2><title>FcLangResult</title>
+    <para>
+An FcLangResult is an enumeration used to return the results of comparing
+two language strings or FcLangSet objects. FcLangEqual means the
+objects match language and territory. FcLangDifferentTerritory means
+the objects match in language but differ in territory.
+FcLangDifferentLang means the objects differ in language.
+    </para>
+  </sect2>
   <sect2><title>FcType</title>
     <para>
 Tags the kind of data stored in an FcValue.
@@ -229,6 +260,8 @@ types.  The 'type' tag indicates which member is valid.
                         double d;
                         const FcMatrix *m;
                         const FcCharSet *c;
+                       void *f;
+                       const FcLangSet *l;
                 } u;
         } FcValue;
     </programlisting>
@@ -240,10 +273,12 @@ types.  The 'type' tag indicates which member is valid.
         FcTypeVoid      (none)          (none)
         FcTypeInteger   i               int
         FcTypeDouble    d               double
-        FcTypeString    s               char *
+        FcTypeString    s               FcChar8 *
         FcTypeBool      b               b
         FcTypeMatrix    m               FcMatrix *
         FcTypeCharSet   c               FcCharSet *
+       FcTypeFTFace    f               void * (FT_Face)
+       FcTypeLangSet   l               FcLangSet *
     </programlisting>
     </para>
   </sect2>
@@ -365,6 +400,7 @@ Used as a return type for functions manipulating FcPattern objects.
         FcResultTypeMismatch    Object exists, but the type doesn't match
         FcResultNoId            Object exists, but has fewer values
                                 than specified
+        FcResultOutOfMemory     Malloc failed
     </programlisting>
     </para>
   </sect2>
@@ -374,6 +410,15 @@ Used for locking access to config files.  Provides a safe way to update
 configuration files.
     </para>
   </sect2>
+  <sect2><title>FcCache</title>
+    <para>
+Holds information about the fonts contained in a single directory. Normal
+applications need not worry about this as caches for font access are
+automatically managed by the library. Applications dealing with cache
+management may want to use some of these objects in their work, however the
+included 'fc-cache' program generally suffices for all of that.
+    </para>
+  </sect2>
 </sect1>
 <sect1><title>FUNCTIONS</title>
   <para>
@@ -436,6 +481,16 @@ return it's argument, and that CharSet may remain unmodifiable.
     </para>
     &fccharset;
   </sect2>
+  <sect2><title>FcLangSet</title>
+    <para>
+An FcLangSet is a set of language names (each of which include language and
+an optional territory). They are used when selecting fonts to indicate which
+languages the fonts need to support. Each font is marked, using language
+orthography information built into fontconfig, with the set of supported
+languages.
+    </para>
+    &fclangset;
+  </sect2>
   <sect2><title>FcMatrix</title>
     <para>
 FcMatrix structures hold an affine transformation in matrix form.
@@ -487,6 +542,15 @@ These routines work with font files and directories, including font
 directory cache files.
     </para>
     &fcfile;
+    &fcdircache;
+  </sect2>
+  <sect2><title>FcCache routines</title>
+    <para>
+These routines work with font directory caches, accessing their contents in
+limited ways. It is not expected that normal applications will need to use
+these functions.
+    </para>
+    &fccache;
   </sect2>
   <sect2><title>FcStrSet and FcStrList</title>
     <para>