]> git.wh0rd.org - fontconfig.git/blobdiff - doc/fcpattern.fncs
Cleanup copyright notices to replace "Keith Packard" with "the author(s)"
[fontconfig.git] / doc / fcpattern.fncs
index c04d9b3069bf2d0af8f6cd90ab354f165a3a686e..77b84886b2d165c9d747d52244d227e489698fce 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id$
+ * fontconfig/doc/fcpattern.fncs
  *
  * Copyright © 2003 Keith Packard
  *
@@ -7,15 +7,15 @@
  * documentation for any purpose is hereby granted without fee, provided that
  * the above copyright notice appear in all copies and that both that
  * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Keith Packard not be used in
+ * documentation, and that the name of the author(s) not be used in
  * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission.  Keith Packard makes no
+ * specific, written prior permission.  The authors make no
  * representations about the suitability of this software for any purpose.  It
  * is provided "as is" without express or implied warranty.
  *
- * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 Creates a pattern with no properties; used to build patterns from scratch.
 @@
 
+@RET@          FcPattern *     
+@FUNC@         FcPatternDuplicate
+@TYPE1@                const FcPattern *               @ARG1@           p
+@PURPOSE@      Copy a pattern
+@DESC@
+Copy a pattern, returning a new pattern that matches
+<parameter>p</parameter>. Each pattern may be modified without affecting the
+other.
+@@
+
+@RET@          void
+@FUNC@         FcPatternReference
+@TYPE1@                FcPattern *                     @ARG1@           p
+@PURPOSE@      Increment pattern reference count
+@DESC@
+Add another reference to <parameter>p</parameter>. Patterns are freed only
+when the reference count reaches zero.
+@@
+
 @RET@          void
 @FUNC@         FcPatternDestroy
 @TYPE1@                FcPattern *                     @ARG1@           p
 @PURPOSE@      Destroy a pattern
 @DESC@
-Destroys a pattern, in the process destroying all related values.
+Decrement the pattern reference count. If all references are gone, destroys
+the pattern, in the process destroying all related values.
 @@
 
 @RET@          FcBool
@@ -57,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
@@ -112,7 +144,7 @@ values added to the list have binding <parameter>weak</parameter> instead of <pa
 @FUNC++@       FcPatternAddString
 @TYPE1++@      FcPattern *                     @ARG1++@        p
 @TYPE2++@      const char *                    @ARG2++@        object
-@TYPE3++@      const char *                    @ARG3++@        s
+@TYPE3++@      const FcChar8 *                 @ARG3++@        s
 
 @PROTOTYPE+++@
 @RET+++@       FcBool
@@ -134,6 +166,21 @@ values added to the list have binding <parameter>weak</parameter> instead of <pa
 @TYPE1+++++@   FcPattern *                     @ARG1+++++@     p
 @TYPE2+++++@   const char *                    @ARG2+++++@     object
 @TYPE3+++++@   FcBool%                         @ARG3+++++@     b
+
+@PROTOTYPE++++++@
+@RET++++++@    FcBool
+@FUNC++++++@   FcPatternAddFTFace
+@TYPE1++++++@  FcPattern *                     @ARG1++++++@    p
+@TYPE2++++++@  const char *                    @ARG2++++++@    object
+@TYPE3++++++@  const FT_Face                   @ARG3++++++@    f
+
+@PROTOTYPE+++++++@
+@RET+++++++@   FcBool
+@FUNC+++++++@  FcPatternAddLangSet
+@TYPE1+++++++@         FcPattern *                     @ARG1+++++++@   p
+@TYPE2+++++++@ const char *                    @ARG2+++++++@   object
+@TYPE3+++++++@ const FcLangSet *               @ARG3+++++++@   l
+
 @PURPOSE@      Add a typed value to a pattern
 @DESC@
 These are all convenience functions that insert objects of the specified
@@ -179,7 +226,7 @@ within the pattern directly.  Applications must not free this value.
 @TYPE1++@      FcPattern *                     @ARG1++@        p
 @TYPE2++@      const char *                    @ARG2++@        object
 @TYPE3++@      int%                            @ARG3++@        n
-@TYPE4++@      char **const                    @ARG4++@        s
+@TYPE4++@      FcChar8 **                      @ARG4++@        s
 
 @PROTOTYPE+++@
 @RET+++@       FcResult
@@ -204,6 +251,23 @@ within the pattern directly.  Applications must not free this value.
 @TYPE2+++++@   const char *                    @ARG2+++++@     object 
 @TYPE3+++++@   int%                            @ARG3+++++@     n 
 @TYPE4+++++@   FcBool *                        @ARG4+++++@     b 
+
+@PROTOTYPE++++++@
+@RET++++++@    FcResult
+@FUNC++++++@   FcPatternGetFTFace
+@TYPE1++++++@  FcPattern *                     @ARG1++++++@    p
+@TYPE2++++++@  const char *                    @ARG2++++++@    object
+@TYPE3+++++@   int%                            @ARG3+++++@     n
+@TYPE3++++++@  FT_Face *                       @ARG3++++++@    f
+
+@PROTOTYPE+++++++@
+@RET+++++++@   FcResult
+@FUNC+++++++@  FcPatternGetLangSet
+@TYPE1+++++++@         FcPattern *                     @ARG1+++++++@   p
+@TYPE2+++++++@ const char *                    @ARG2+++++++@   object
+@TYPE3+++++@   int%                            @ARG3+++++@     n
+@TYPE3+++++++@ FcLangSet **                    @ARG3+++++++@   l
+
 @PURPOSE@      Return a typed value from a pattern
 @DESC@
 These are convenience functions that call FcPatternGet and verify that the
@@ -215,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
@@ -250,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
@@ -306,7 +380,7 @@ specified point size (default 12), dpi (default 75) and scale (default 1).
 
 @RET@          FcPattern *
 @FUNC@         FcNameParse
-@TYPE1@                const char *                    @ARG1@          name 
+@TYPE1@                const FcChar8 *                 @ARG1@          name 
 @PURPOSE@      Parse a pattern string
 @DESC@
 Converts <parameter>name</parameter> from the standard text format described above into a pattern.
@@ -319,5 +393,5 @@ 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().
 @@