242 lines
8.2 KiB
Plaintext
242 lines
8.2 KiB
Plaintext
/*
|
|
* fontconfig/doc/fccharset.fncs
|
|
*
|
|
* 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
|
|
* 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 the author(s) not be used in
|
|
* advertising or publicity pertaining to distribution of the software without
|
|
* 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.
|
|
*
|
|
* THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
|
* 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
|
|
* PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
@RET@ FcCharSet *
|
|
@FUNC@ FcCharSetCreate
|
|
@TYPE1@ void
|
|
@PURPOSE@ Create an empty character set
|
|
@DESC@
|
|
<function>FcCharSetCreate</function> allocates and initializes a new empty
|
|
character set object.
|
|
@@
|
|
|
|
@RET@ void
|
|
@FUNC@ FcCharSetDestroy
|
|
@TYPE1@ FcCharSet * @ARG1@ fcs
|
|
@PURPOSE@ Destroy a character set
|
|
@DESC@
|
|
<function>FcCharSetDestroy</function> decrements the reference count
|
|
<parameter>fcs</parameter>. If the reference count becomes zero, all
|
|
memory referenced is freed.
|
|
@@
|
|
|
|
@RET@ FcBool
|
|
@FUNC@ FcCharSetAddChar
|
|
@TYPE1@ FcCharSet * @ARG1@ fcs
|
|
@TYPE2@ FcChar32% @ARG2@ ucs4
|
|
@PURPOSE@ Add a character to a charset
|
|
@DESC@
|
|
<function>FcCharSetAddChar</function> adds a single Unicode char to the set,
|
|
returning FcFalse on failure, either as a result of a constant set or from
|
|
running out of memory.
|
|
@@
|
|
|
|
@RET@ FcBool
|
|
@FUNC@ FcCharSetDelChar
|
|
@TYPE1@ FcCharSet * @ARG1@ fcs
|
|
@TYPE2@ FcChar32% @ARG2@ ucs4
|
|
@PURPOSE@ Add a character to a charset
|
|
@DESC@
|
|
<function>FcCharSetDelChar</function> deletes a single Unicode char from the set,
|
|
returning FcFalse on failure, either as a result of a constant set or from
|
|
running out of memory.
|
|
@@
|
|
|
|
@RET@ FcCharSet *
|
|
@FUNC@ FcCharSetCopy
|
|
@TYPE1@ FcCharSet * @ARG1@ src
|
|
@PURPOSE@ Copy a charset
|
|
@DESC@
|
|
Makes a copy of <parameter>src</parameter>; note that this may not actually do anything more
|
|
than increment the reference count on <parameter>src</parameter>.
|
|
@@
|
|
|
|
@RET@ FcBool
|
|
@FUNC@ FcCharSetEqual
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@TYPE2@ const FcCharSet * @ARG2@ b
|
|
@PURPOSE@ Compare two charsets
|
|
@DESC@
|
|
Returns whether <parameter>a</parameter> and <parameter>b</parameter>
|
|
contain the same set of Unicode chars.
|
|
@@
|
|
|
|
@RET@ FcCharSet *
|
|
@FUNC@ FcCharSetIntersect
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@TYPE2@ const FcCharSet * @ARG2@ b
|
|
@PURPOSE@ Intersect charsets
|
|
@DESC@
|
|
Returns a set including only those chars found in both
|
|
<parameter>a</parameter> and <parameter>b</parameter>.
|
|
@@
|
|
|
|
@RET@ FcCharSet *
|
|
@FUNC@ FcCharSetUnion
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@TYPE2@ const FcCharSet * @ARG2@ b
|
|
@PURPOSE@ Add charsets
|
|
@DESC@
|
|
Returns a set including only those chars found in either <parameter>a</parameter> or <parameter>b</parameter>.
|
|
@@
|
|
|
|
@RET@ FcCharSet *
|
|
@FUNC@ FcCharSetSubtract
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@TYPE2@ const FcCharSet * @ARG2@ b
|
|
@PURPOSE@ Subtract charsets
|
|
@DESC@
|
|
Returns a set including only those chars found in <parameter>a</parameter> but not <parameter>b</parameter>.
|
|
@@
|
|
|
|
@RET@ FcBool
|
|
@FUNC@ FcCharSetMerge
|
|
@TYPE1@ FcCharSet * @ARG1@ a
|
|
@TYPE2@ const FcCharSet * @ARG2@ b
|
|
@TYPE3@ FcBool * @ARG3@ changed
|
|
@PURPOSE@ Merge charsets
|
|
@DESC@
|
|
Adds all chars in <parameter>b</parameter> to <parameter>a</parameter>.
|
|
In other words, this is an in-place version of FcCharSetUnion.
|
|
If <parameter>changed</parameter> is not NULL, then it returns whether any new
|
|
chars from <parameter>b</parameter> were added to <parameter>a</parameter>.
|
|
Returns FcFalse on failure, either when <parameter>a</parameter> is a constant
|
|
set or from running out of memory.
|
|
@@
|
|
|
|
@RET@ FcBool
|
|
@FUNC@ FcCharSetHasChar
|
|
@TYPE1@ const FcCharSet * @ARG1@ fcs
|
|
@TYPE2@ FcChar32% @ARG2@ ucs4
|
|
@PURPOSE@ Check a charset for a char
|
|
@DESC@
|
|
Returns whether <parameter>fcs</parameter> contains the char <parameter>ucs4</parameter>.
|
|
@@
|
|
|
|
@RET@ FcChar32
|
|
@FUNC@ FcCharSetCount
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@PURPOSE@ Count entries in a charset
|
|
@DESC@
|
|
Returns the total number of Unicode chars in <parameter>a</parameter>.
|
|
@@
|
|
|
|
@RET@ FcChar32
|
|
@FUNC@ FcCharSetIntersectCount
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@TYPE2@ const FcCharSet * @ARG2@ b
|
|
@PURPOSE@ Intersect and count charsets
|
|
@DESC@
|
|
Returns the number of chars that are in both <parameter>a</parameter> and <parameter>b</parameter>.
|
|
@@
|
|
|
|
@RET@ FcChar32
|
|
@FUNC@ FcCharSetSubtractCount
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@TYPE2@ const FcCharSet * @ARG2@ b
|
|
@PURPOSE@ Subtract and count charsets
|
|
@DESC@
|
|
Returns the number of chars that are in <parameter>a</parameter> but not in <parameter>b</parameter>.
|
|
@@
|
|
|
|
@RET@ FcBool
|
|
@FUNC@ FcCharSetIsSubset
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@TYPE2@ const FcCharSet * @ARG2@ b
|
|
@PURPOSE@ Test for charset inclusion
|
|
@DESC@
|
|
Returns whether <parameter>a</parameter> is a subset of <parameter>b</parameter>.
|
|
@@
|
|
|
|
@RET@ FcChar32
|
|
@FUNC@ FcCharSetFirstPage
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@TYPE2@ FcChar32[FC_CHARSET_MAP_SIZE]% @ARG2@ map
|
|
@TYPE3@ FcChar32 * @ARG3@ next
|
|
@PURPOSE@ Start enumerating charset contents
|
|
@DESC@
|
|
Builds an array of bits in <parameter>map</parameter> marking the
|
|
first page of Unicode coverage of <parameter>a</parameter>.
|
|
<parameter>*next</parameter> is set to contains the base code point
|
|
for the next page in <parameter>a</parameter>. Returns the base code
|
|
point for the page, or <constant>FC_CHARSET_DONE</constant> if
|
|
<parameter>a</parameter> contains no pages. As an example, if
|
|
<function>FcCharSetFirstPage</function> returns
|
|
<literal>0x300</literal> and fills <parameter>map</parameter> with
|
|
<literallayout class="monospaced">
|
|
0xffffffff 0xffffffff 0x01000008 0x44300002 0xffffd7f0 0xfffffffb 0xffff7fff 0xffff0003
|
|
</literallayout>
|
|
Then the page contains code points <literal>0x300</literal> through
|
|
<literal>0x33f</literal> (the first 64 code points on the page)
|
|
because <parameter>map[0]</parameter> and
|
|
<parameter>map[1]</parameter> both have all their bits set. It also
|
|
contains code points <literal>0x343</literal> (<parameter>0x300 + 32*2
|
|
+ (4-1)</parameter>) and <literal>0x35e</literal> (<parameter>0x300 +
|
|
32*2 + (31-1)</parameter>) because <parameter>map[2]</parameter> has
|
|
the 4th and 31st bits set. The code points represented by
|
|
<literal>map[3]</literal> and later are left as an excercise for the
|
|
reader ;).
|
|
@@
|
|
|
|
@RET@ FcChar32
|
|
@FUNC@ FcCharSetNextPage
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@TYPE2@ FcChar32[FC_CHARSET_MAP_SIZE]% @ARG2@ map
|
|
@TYPE3@ FcChar32 * @ARG3@ next
|
|
@PURPOSE@ Continue enumerating charset contents
|
|
@DESC@
|
|
Builds an array of bits in <parameter>map</parameter> marking the
|
|
Unicode coverage of <parameter>a</parameter> for page containing
|
|
<parameter>*next</parameter> (see the
|
|
<function>FcCharSetFirstPage</function> description for details).
|
|
<parameter>*next</parameter> is set to contains the base code point
|
|
for the next page in <parameter>a</parameter>. Returns the base of
|
|
code point for the page, or <constant>FC_CHARSET_DONE</constant> if
|
|
<parameter>a</parameter> does not contain
|
|
<parameter>*next</parameter>.
|
|
@@
|
|
|
|
@RET@ FcChar32
|
|
@FUNC@ FcCharSetCoverage
|
|
@TYPE1@ const FcCharSet * @ARG1@ a
|
|
@TYPE2@ FcChar32 @ARG2@ page
|
|
@TYPE3@ FcChar32[8] @ARG3@ result
|
|
@PURPOSE@ DEPRECATED return coverage for a Unicode page
|
|
@DESC@
|
|
DEPRECATED
|
|
This function returns a bitmask in <parameter>result</parameter> which
|
|
indicates which code points in
|
|
<parameter>page</parameter> are included in <parameter>a</parameter>.
|
|
<function>FcCharSetCoverage</function> returns the next page in the charset which has any
|
|
coverage.
|
|
@@
|
|
|
|
@RET@ FcCharSet *
|
|
@FUNC@ FcCharSetNew
|
|
@TYPE1@ void
|
|
@PURPOSE@ DEPRECATED alias for FcCharSetCreate
|
|
@DESC@
|
|
<function>FcCharSetNew</function> is a DEPRECATED alias for FcCharSetCreate.
|
|
@@
|
|
|