]> git.wh0rd.org - fontconfig.git/blobdiff - doc/fcpattern.fncs
[fcformat] Add support for width modifiers
[fontconfig.git] / doc / fcpattern.fncs
index a346cc59811f21154e71b1b4218e291e5b1f3b6e..22a89ad689fae16b8c7160b6fc9a0983872b5a0e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id$
+ * fontconfig/doc/fcpattern.fncs
  *
  * Copyright © 2003 Keith Packard
  *
@@ -31,7 +31,7 @@ Creates a pattern with no properties; used to build patterns from scratch.
 
 @RET@          FcPattern *     
 @FUNC@         FcPatternDuplicate
-@TYPE1@                FcPattern *                     @ARG1@           p
+@TYPE1@                const FcPattern *               @ARG1@           p
 @PURPOSE@      Copy a pattern
 @DESC@
 Copy a pattern, returning a new pattern that matches
@@ -77,6 +77,18 @@ Returns whether <parameter>pa</parameter> and <parameter>pb</parameter> have exa
 objects in <parameter>os</parameter>.
 @@
 
+@RET@          FcPattern *
+@FUNC@         FcPatternFilter
+@TYPE1@                FcPattern *                     @ARG1@           p
+@TYPE2@                const FcObjectSet *             @ARG1@           os
+@PURPOSE@      Filter the objects of pattern
+@DESC@
+Returns a new pattern that only has those objects from
+<parameter>p</parameter> that are in <parameter>os</parameter>.
+If <parameter>os</parameter> is NULL, a duplicate of
+<parameter>p</parameter> is returned.
+@@
+
 @RET@          FcChar32
 @FUNC@         FcPatternHash
 @TYPE1@                const FcPattern *               @ARG1@          p
@@ -241,18 +253,20 @@ within the pattern directly.  Applications must not free this value.
 @TYPE4+++++@   FcBool *                        @ARG4+++++@     b 
 
 @PROTOTYPE++++++@
-@RET++++++@    FcBool
+@RET++++++@    FcResult
 @FUNC++++++@   FcPatternGetFTFace
 @TYPE1++++++@  FcPattern *                     @ARG1++++++@    p
 @TYPE2++++++@  const char *                    @ARG2++++++@    object
-@TYPE3++++++@  const FT_Face *                 @ARG3++++++@    f
+@TYPE3+++++@   int%                            @ARG3+++++@     n
+@TYPE3++++++@  FT_Face *                       @ARG3++++++@    f
 
 @PROTOTYPE+++++++@
-@RET+++++++@   FcBool
+@RET+++++++@   FcResult
 @FUNC+++++++@  FcPatternGetLangSet
 @TYPE1+++++++@         FcPattern *                     @ARG1+++++++@   p
 @TYPE2+++++++@ const char *                    @ARG2+++++++@   object
-@TYPE3+++++++@ const FcLangSet **              @ARG3+++++++@   l
+@TYPE3+++++@   int%                            @ARG3+++++@     n
+@TYPE3+++++++@ FcLangSet **                    @ARG3+++++++@   l
 
 @PURPOSE@      Return a typed value from a pattern
 @DESC@
@@ -265,14 +279,22 @@ in preference to FcPatternGet to provide compile-time typechecking.
 
 @RET@          FcPattern *
 @FUNC@         FcPatternBuild
-@TYPE1@                FcPattern *                     @ARG1@          orig
+@TYPE1@                FcPattern *                     @ARG1@          pattern
 @TYPE2@        ...
 
 @PROTOTYPE+@
 @RET+@         FcPattern *
 @FUNC+@                FcPatternVaBuild
-@TYPE1+@       FcPattern *                     @ARG1+@         orig
+@TYPE1+@       FcPattern *                     @ARG1+@         pattern
 @TYPE2+@       va_list%                        @ARG2+@         va
+
+@PROTOTYPE++@
+@RET++@                void
+@FUNC++@       FcPatternVapBuild
+@TYPE1++@      FcPattern *                     @ARG1++@        result
+@TYPE2++@      FcPattern *                     @ARG2++@        pattern
+@TYPE3++@      va_list%                        @ARG3++@        va
+
 @PURPOSE@      Create patterns from arguments
 @DESC@
 Builds a pattern using a list of objects, types and values.  Each
@@ -300,7 +322,9 @@ pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *) 0);
 </programlisting>
 <para>
 FcPatternVaBuild is used when the arguments are already in the form of a
-varargs value.
+varargs value. FcPatternVapBuild is a macro version of FcPatternVaBuild
+which returns its result directly in the <parameter>result</parameter>
+variable.
 @@
 
 @RET@          FcBool
@@ -369,5 +393,25 @@ Converts <parameter>name</parameter> from the standard text format described abo
 @DESC@
 Converts the given pattern into the standard text format described above.
 The return value is not static, but instead refers to newly allocated memory
-which should be freed by the caller.
+which should be freed by the caller using free().
+@@
+
+@RET@          FcChar8 *
+@FUNC@         FcPatternFormat
+@TYPE1@                FcPattern *                     @ARG1@          pat
+@TYPE2@                const FcChar8 *                 @ARG2@          format
+@PURPOSE@      Format a pattern into a string according to a format specifier
+@DESC@
+
+Converts the given pattern into text format described by the format specifier.
+The format specifier is similar to a C style printf string, which the
+printf(2) man page provides a good introduction to. However, as fontconfig
+already knows the type of data that is being printed, you must omit the type
+specifier. In its place put the element name you wish to print enclosed in
+curly braces ({}). For example, to print the family name and style the
+pattern, use the format "%{family} %{style}\n".
+There can be an option width specifier after the percent sign and before
+the opening brace.  The width modifier acts similar to those in printf.
+The return value refers to newly allocated memory which should be freed by the
+caller using free().
 @@