2 * fontconfig/doc/fccharset.fncs
4 * Copyright © 2003 Keith Packard
6 * Permission to use, copy, modify, distribute, and sell this software and its
7 * documentation for any purpose is hereby granted without fee, provided that
8 * the above copyright notice appear in all copies and that both that
9 * copyright notice and this permission notice appear in supporting
10 * documentation, and that the name of Keith Packard not be used in
11 * advertising or publicity pertaining to distribution of the software without
12 * specific, written prior permission. Keith Packard makes no
13 * representations about the suitability of this software for any purpose. It
14 * is provided "as is" without express or implied warranty.
16 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22 * PERFORMANCE OF THIS SOFTWARE.
25 @FUNC@ FcCharSetCreate
27 @PURPOSE@ Create an empty character set
29 <function>FcCharSetCreate</function> allocates and initializes a new empty
34 @FUNC@ FcCharSetDestroy
35 @TYPE1@ FcCharSet * @ARG1@ fcs
36 @PURPOSE@ Destroy a character set
38 <function>FcCharSetDestroy</function> decrements the reference count
39 <parameter>fcs</parameter>. If the reference count becomes zero, all
40 memory referenced is freed.
44 @FUNC@ FcCharSetAddChar
45 @TYPE1@ FcCharSet * @ARG1@ fcs
46 @TYPE2@ FcChar32% @ARG2@ ucs4
47 @PURPOSE@ Add a character to a charset
49 <function>FcCharSetAddChar</function> adds a single unicode char to the set,
50 returning FcFalse on failure, either as a result of a constant set or from
51 running out of memory.
56 @TYPE1@ FcCharSet * @ARG1@ src
57 @PURPOSE@ Copy a charset
59 Makes a copy of <parameter>src</parameter>; note that this may not actually do anything more
60 than increment the reference count on <parameter>src</parameter>.
65 @TYPE1@ const FcCharSet * @ARG1@ a
66 @TYPE2@ const FcCharSet * @ARG2@ b
67 @PURPOSE@ Compare two charsets
69 Returns whether <parameter>a</parameter> and <parameter>b</parameter>
70 contain the same set of unicode chars.
74 @FUNC@ FcCharSetIntersect
75 @TYPE1@ const FcCharSet * @ARG1@ a
76 @TYPE2@ const FcCharSet * @ARG2@ b
77 @PURPOSE@ Intersect charsets
79 Returns a set including only those chars found in both
80 <parameter>a</parameter> and <parameter>b</parameter>.
85 @TYPE1@ const FcCharSet * @ARG1@ a
86 @TYPE2@ const FcCharSet * @ARG2@ b
87 @PURPOSE@ Add charsets
89 Returns a set including only those chars found in either <parameter>a</parameter> or <parameter>b</parameter>.
93 @FUNC@ FcCharSetSubtract
94 @TYPE1@ const FcCharSet * @ARG1@ a
95 @TYPE2@ const FcCharSet * @ARG2@ b
96 @PURPOSE@ Subtract charsets
98 Returns a set including only those chars found in <parameter>a</parameter> but not <parameter>b</parameter>.
102 @FUNC@ FcCharSetMerge
103 @TYPE1@ const FcCharSet * @ARG1@ a
104 @TYPE2@ const FcCharSet * @ARG2@ b
105 @PURPOSE@ Merge charsets
107 If <parameter>a</parameter> is NULL, returns a copy of <parameter>b</parameter>.
108 If <parameter>a</parameter> is an FcCharSet object owned by fontconfig that
109 cannot be modified, it returns the union of <parameter>a</parameter> and
110 <parameter>b</parameter> in a newly-created FcCharSet object.
111 Otherwise, adds all chars in <parameter>b</parameter> to <parameter>a</parameter> and returns <parameter>a</parameter>. In other words, this is an in-place versionof FcCharSetUnion.
115 @FUNC@ FcCharSetHasChar
116 @TYPE1@ const FcCharSet * @ARG1@ fcs
117 @TYPE2@ FcChar32% @ARG2@ ucs4
118 @PURPOSE@ Check a charset for a char
120 Returns whether <parameter>fcs</parameter> contains the char <parameter>ucs4</parameter>.
124 @FUNC@ FcCharSetCount
125 @TYPE1@ const FcCharSet * @ARG1@ a
126 @PURPOSE@ Count entries in a charset
128 Returns the total number of unicode chars in <parameter>a</parameter>.
132 @FUNC@ FcCharSetIntersectCount
133 @TYPE1@ const FcCharSet * @ARG1@ a
134 @TYPE2@ const FcCharSet * @ARG2@ b
135 @PURPOSE@ Intersect and count charsets
137 Returns the number of chars that are in both <parameter>a</parameter> and <parameter>b</parameter>.
141 @FUNC@ FcCharSetSubtractCount
142 @TYPE1@ const FcCharSet * @ARG1@ a
143 @TYPE2@ const FcCharSet * @ARG2@ b
144 @PURPOSE@ Subtract and count charsets
146 Returns the number of chars that are in <parameter>a</parameter> but not in <parameter>b</parameter>.
150 @FUNC@ FcCharSetIsSubset
151 @TYPE1@ const FcCharSet * @ARG1@ a
152 @TYPE2@ const FcCharSet * @ARG2@ b
153 @PURPOSE@ Test for charset inclusion
155 Returns whether <parameter>a</parameter> is a subset of <parameter>b</parameter>.
159 @FUNC@ FcCharSetFirstPage
160 @TYPE1@ const FcCharSet * @ARG1@ a
161 @TYPE2@ FcChar32[FC_CHARSET_MAP_SIZE]% @ARG2@ map
162 @TYPE3@ FcChar32 * @ARG3@ next
163 @PURPOSE@ Start enumerating charset contents
165 Builds an array of bits marking the first page of Unicode coverage of
166 <parameter>a</parameter>. Returns the base of the array. <parameter>next</parameter> contains the next page in the
171 @FUNC@ FcCharSetNextPage
172 @TYPE1@ const FcCharSet * @ARG1@ a
173 @TYPE2@ FcChar32[FC_CHARSET_MAP_SIZE]% @ARG2@ map
174 @TYPE3@ FcChar32 * @ARG3@ next
175 @PURPOSE@ Continue enumerating charset contents
177 Builds an array of bits marking the Unicode coverage of <parameter>a</parameter> for page
178 <parameter>*next</parameter>. Returns the base of the array. <parameter>next</parameter> contains the next page in
183 @FUNC@ FcCharSetCoverage
184 @TYPE1@ const FcCharSet * @ARG1@ a
185 @TYPE2@ FcChar32 @ARG2@ page
186 @TYPE3@ FcChar32[8] @ARG3@ result
187 @PURPOSE@ DEPRECATED return coverage for a Unicode page
190 This function returns a bitmask in <parameter>result</parameter> which
191 indicates which code points in
192 <parameter>page</parameter> are included in <parameter>a</parameter>.
193 <function>FcCharSetCoverage</function> returns the next page in the charset which has any
200 @PURPOSE@ DEPRECATED alias for FcCharSetCreate
202 <function>FcCharSetNew</function> is a DEPRECATED alias for FcCharSetCreate.