Blame doc/fcpattern.fncs

Packit 352660
/*
Packit 352660
 * fontconfig/doc/fcpattern.fncs
Packit 352660
 *
Packit 352660
 * Copyright © 2003 Keith Packard
Packit 352660
 *
Packit 352660
 * Permission to use, copy, modify, distribute, and sell this software and its
Packit 352660
 * documentation for any purpose is hereby granted without fee, provided that
Packit 352660
 * the above copyright notice appear in all copies and that both that
Packit 352660
 * copyright notice and this permission notice appear in supporting
Packit 352660
 * documentation, and that the name of the author(s) not be used in
Packit 352660
 * advertising or publicity pertaining to distribution of the software without
Packit 352660
 * specific, written prior permission.  The authors make no
Packit 352660
 * representations about the suitability of this software for any purpose.  It
Packit 352660
 * is provided "as is" without express or implied warranty.
Packit 352660
 *
Packit 352660
 * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
Packit 352660
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
Packit 352660
 * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
Packit 352660
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
Packit 352660
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
Packit 352660
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
Packit 352660
 * PERFORMANCE OF THIS SOFTWARE.
Packit 352660
 */
Packit 352660
@RET@		FcPattern *	
Packit 352660
@FUNC@		FcPatternCreate
Packit 352660
@TYPE1@ 	void
Packit 352660
@PURPOSE@	Create a pattern
Packit 352660
@DESC@
Packit 352660
Creates a pattern with no properties; used to build patterns from scratch.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcPattern *	
Packit 352660
@FUNC@		FcPatternDuplicate
Packit 352660
@TYPE1@		const FcPattern * 		@ARG1@		 p
Packit 352660
@PURPOSE@	Copy a pattern
Packit 352660
@DESC@
Packit 352660
Copy a pattern, returning a new pattern that matches
Packit 352660
<parameter>p</parameter>. Each pattern may be modified without affecting the
Packit 352660
other.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		void
Packit 352660
@FUNC@		FcPatternReference
Packit 352660
@TYPE1@		FcPattern * 			@ARG1@		 p
Packit 352660
@PURPOSE@	Increment pattern reference count
Packit 352660
@DESC@
Packit 352660
Add another reference to <parameter>p</parameter>. Patterns are freed only
Packit 352660
when the reference count reaches zero.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		void
Packit 352660
@FUNC@		FcPatternDestroy
Packit 352660
@TYPE1@		FcPattern * 			@ARG1@		 p
Packit 352660
@PURPOSE@	Destroy a pattern
Packit 352660
@DESC@
Packit 352660
Decrement the pattern reference count. If all references are gone, destroys
Packit 352660
the pattern, in the process destroying all related values.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		int
Packit 352660
@FUNC@		FcPatternObjectCount
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p
Packit 352660
@PURPOSE@	Returns the number of the object
Packit 352660
@DESC@
Packit 352660
Returns the number of the object <parameter>p</parameter> has.
Packit 352660
@SINCE@		2.13.1
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternEqual
Packit 352660
@TYPE1@ 	const FcPattern *		@ARG1@ 		pa
Packit 352660
@TYPE2@		const FcPattern * 		@ARG2@		pb 
Packit 352660
@PURPOSE@	Compare patterns
Packit 352660
@DESC@
Packit 352660
Returns whether <parameter>pa</parameter> and <parameter>pb</parameter> are exactly alike.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternEqualSubset
Packit 352660
@TYPE1@		const FcPattern * 		@ARG1@ 		pa
Packit 352660
@TYPE2@		const FcPattern *		@ARG2@ 		pb
Packit 352660
@TYPE3@ 	const FcObjectSet * 		@ARG3@ 		os 
Packit 352660
@PURPOSE@	Compare portions of patterns
Packit 352660
@DESC@
Packit 352660
Returns whether <parameter>pa</parameter> and <parameter>pb</parameter> have exactly the same values for all of the
Packit 352660
objects in <parameter>os</parameter>.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcPattern *
Packit 352660
@FUNC@		FcPatternFilter
Packit 352660
@TYPE1@		FcPattern * 			@ARG1@		 p
Packit 352660
@TYPE2@		const FcObjectSet * 		@ARG1@		 os
Packit 352660
@PURPOSE@	Filter the objects of pattern
Packit 352660
@DESC@
Packit 352660
Returns a new pattern that only has those objects from
Packit 352660
<parameter>p</parameter> that are in <parameter>os</parameter>.
Packit 352660
If <parameter>os</parameter> is NULL, a duplicate of
Packit 352660
<parameter>p</parameter> is returned.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcChar32
Packit 352660
@FUNC@		FcPatternHash
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p
Packit 352660
@PURPOSE@	Compute a pattern hash value
Packit 352660
@DESC@
Packit 352660
Returns a 32-bit number which is the same for any two patterns which are
Packit 352660
equal.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternAdd
Packit 352660
@TYPE1@		FcPattern * 			@ARG1@ 		p
Packit 352660
@TYPE2@ 	const char *			@ARG2@ 		object
Packit 352660
@TYPE3@		FcValue%			@ARG3@		value
Packit 352660
@TYPE4@		FcBool%				@ARG4@		append 
Packit 352660
@PURPOSE@	Add a value to a pattern
Packit 352660
@DESC@
Packit 352660
Adds a single value to the list of values associated with the property named
Packit 352660
`object<parameter>.  If `append</parameter> is FcTrue, the value is added at the end of any
Packit 352660
existing list, otherwise it is inserted at the beginning.  `value' is saved
Packit 352660
(with FcValueSave) when inserted into the pattern so that the library
Packit 352660
retains no reference to any application-supplied data structure.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternAddWeak
Packit 352660
@TYPE1@ 	FcPattern * 			@ARG1@ 		p
Packit 352660
@TYPE2@ 	const char * 			@ARG2@ 		object
Packit 352660
@TYPE3@ 	FcValue%  			@ARG3@ 		value
Packit 352660
@TYPE4@ 	FcBool%  			@ARG4@		append 
Packit 352660
@PURPOSE@	Add a value to a pattern with weak binding
Packit 352660
@DESC@
Packit 352660
FcPatternAddWeak is essentially the same as FcPatternAdd except that any
Packit 352660
values added to the list have binding <parameter>weak</parameter> instead of <parameter>strong</parameter>.
Packit 352660
@@
Packit 352660
Packit 352660
@TITLE@		FcPatternAdd-Type
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternAddInteger
Packit 352660
@TYPE1@ 	FcPattern * 			@ARG1@ 		p
Packit 352660
@TYPE2@		const char *			@ARG2@		object
Packit 352660
@TYPE3@		int%				@ARG3@		i
Packit 352660
Packit 352660
@PROTOTYPE+@
Packit 352660
@RET+@		FcBool
Packit 352660
@FUNC+@		FcPatternAddDouble
Packit 352660
@TYPE1+@ 	FcPattern * 			@ARG1+@ 	p
Packit 352660
@TYPE2+@	const char *			@ARG2+@		object
Packit 352660
@TYPE3+@	double%				@ARG3+@		d
Packit 352660
Packit 352660
@PROTOTYPE++@
Packit 352660
@RET++@		FcBool
Packit 352660
@FUNC++@	FcPatternAddString
Packit 352660
@TYPE1++@ 	FcPattern * 			@ARG1++@ 	p
Packit 352660
@TYPE2++@	const char *			@ARG2++@	object
Packit 352660
@TYPE3++@	const FcChar8 *			@ARG3++@	s
Packit 352660
Packit 352660
@PROTOTYPE+++@
Packit 352660
@RET+++@	FcBool
Packit 352660
@FUNC+++@	FcPatternAddMatrix
Packit 352660
@TYPE1+++@ 	FcPattern * 			@ARG1+++@ 	p
Packit 352660
@TYPE2+++@	const char *			@ARG2+++@	object
Packit 352660
@TYPE3+++@	const FcMatrix *		@ARG3+++@	m
Packit 352660
Packit 352660
@PROTOTYPE++++@
Packit 352660
@RET++++@	FcBool
Packit 352660
@FUNC++++@	FcPatternAddCharSet
Packit 352660
@TYPE1++++@ 	FcPattern * 			@ARG1++++@ 	p
Packit 352660
@TYPE2++++@	const char *			@ARG2++++@	object
Packit 352660
@TYPE3++++@	const FcCharSet *		@ARG3++++@	c
Packit 352660
Packit 352660
@PROTOTYPE+++++@
Packit 352660
@RET+++++@	FcBool
Packit 352660
@FUNC+++++@	FcPatternAddBool
Packit 352660
@TYPE1+++++@ 	FcPattern * 			@ARG1+++++@ 	p
Packit 352660
@TYPE2+++++@	const char *			@ARG2+++++@	object
Packit 352660
@TYPE3+++++@	FcBool%				@ARG3+++++@	b
Packit 352660
Packit 352660
@PROTOTYPE++++++@
Packit 352660
@RET++++++@	FcBool
Packit 352660
@FUNC++++++@	FcPatternAddFTFace
Packit 352660
@TYPE1++++++@ 	FcPattern * 			@ARG1++++++@ 	p
Packit 352660
@TYPE2++++++@	const char *			@ARG2++++++@	object
Packit 352660
@TYPE3++++++@	const FT_Face 			@ARG3++++++@	f
Packit 352660
Packit 352660
@PROTOTYPE+++++++@
Packit 352660
@RET+++++++@	FcBool
Packit 352660
@FUNC+++++++@	FcPatternAddLangSet
Packit 352660
@TYPE1+++++++@ 	FcPattern * 			@ARG1+++++++@ 	p
Packit 352660
@TYPE2+++++++@	const char *			@ARG2+++++++@	object
Packit 352660
@TYPE3+++++++@	const FcLangSet *		@ARG3+++++++@	l
Packit 352660
Packit 352660
@PROTOTYPE++++++++@
Packit 352660
@RET++++++++@	FcBool
Packit 352660
@FUNC++++++++@	FcPatternAddRange
Packit 352660
@TYPE1++++++++@	FcPattern *			@ARG1++++++++@	p
Packit 352660
@TYPE2++++++++@	const char *			@ARG2++++++++@	object
Packit 352660
@TYPE3++++++++@	const FcRange *			@ARG3++++++++@	r
Packit 352660
Packit 352660
@PURPOSE@	Add a typed value to a pattern
Packit 352660
@DESC@
Packit 352660
These are all convenience functions that insert objects of the specified
Packit 352660
type into the pattern.  Use these in preference to FcPatternAdd as they
Packit 352660
will provide compile-time typechecking.  These all append values to
Packit 352660
any existing list of values.
Packit 352660
Packit 352660
<function>FcPatternAddRange</function> are available since 2.11.91.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcResult
Packit 352660
@FUNC@		FcPatternGetWithBinding
Packit 352660
@TYPE1@		FcPattern *			@ARG1@		p
Packit 352660
@TYPE2@		const char *			@ARG2@		object
Packit 352660
@TYPE3@		int%  	   			@ARG3@		id
Packit 352660
@TYPE4@		FcValue *			@ARG4@		v
Packit 352660
@TYPE5@		FcValueBinding *		@ARG5@		b
Packit 352660
@PURPOSE@	Return a value with binding from a pattern
Packit 352660
@DESC@
Packit 352660
Returns in <parameter>v</parameter> the <parameter>id</parameter>'th value
Packit 352660
and <parameter>b</parameter> binding for that associated with the property
Packit 352660
<parameter>object</parameter>.
Packit 352660
The Value returned is not a copy, but rather refers to the data stored
Packit 352660
within the pattern directly.  Applications must not free this value.
Packit 352660
@SINCE@		2.12.5
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcResult
Packit 352660
@FUNC@		FcPatternGet
Packit 352660
@TYPE1@		FcPattern *			@ARG1@		p
Packit 352660
@TYPE2@		const char *			@ARG2@		object
Packit 352660
@TYPE3@		int%  				@ARG3@ 		id
Packit 352660
@TYPE4@		FcValue *			@ARG4@		v 
Packit 352660
@PURPOSE@	Return a value from a pattern
Packit 352660
@DESC@
Packit 352660
Returns in <parameter>v</parameter> the <parameter>id</parameter>'th value
Packit 352660
associated with the property <parameter>object</parameter>.
Packit 352660
The value returned is not a copy, but rather refers to the data stored
Packit 352660
within the pattern directly.  Applications must not free this value.
Packit 352660
@@
Packit 352660
Packit 352660
@TITLE@		FcPatternGet-Type
Packit 352660
@PROTOTYPE@
Packit 352660
@RET@ 		FcResult
Packit 352660
@FUNC@		FcPatternGetInteger
Packit 352660
@TYPE1@		FcPattern *			@ARG1@		p
Packit 352660
@TYPE2@		const char *			@ARG2@		object
Packit 352660
@TYPE3@		int%				@ARG3@		n
Packit 352660
@TYPE4@		int *				@ARG4@		i
Packit 352660
Packit 352660
@PROTOTYPE+@
Packit 352660
@RET+@		FcResult
Packit 352660
@FUNC+@ 	FcPatternGetDouble
Packit 352660
@TYPE1+@	FcPattern *			@ARG1+@		p
Packit 352660
@TYPE2+@	const char *			@ARG2+@		object
Packit 352660
@TYPE3+@	int%				@ARG3+@		n
Packit 352660
@TYPE4+@	double *			@ARG4+@		d 
Packit 352660
Packit 352660
@PROTOTYPE++@
Packit 352660
@RET++@ 	FcResult
Packit 352660
@FUNC++@	FcPatternGetString
Packit 352660
@TYPE1++@	FcPattern *			@ARG1++@	p
Packit 352660
@TYPE2++@	const char *			@ARG2++@	object
Packit 352660
@TYPE3++@	int%				@ARG3++@	n
Packit 352660
@TYPE4++@	FcChar8 **			@ARG4++@	s
Packit 352660
Packit 352660
@PROTOTYPE+++@
Packit 352660
@RET+++@	FcResult
Packit 352660
@FUNC+++@	FcPatternGetMatrix 
Packit 352660
@TYPE1+++@ 	FcPattern * 			@ARG1+++@ 	p 
Packit 352660
@TYPE2+++@ 	const char * 			@ARG2+++@ 	object 
Packit 352660
@TYPE3+++@ 	int%  				@ARG3+++@ 	n 
Packit 352660
@TYPE4+++@ 	FcMatrix ** 			@ARG4+++@ 	s 
Packit 352660
Packit 352660
@PROTOTYPE++++@
Packit 352660
@RET++++@ 	FcResult 
Packit 352660
@FUNC++++@ 	FcPatternGetCharSet 
Packit 352660
@TYPE1++++@ 	FcPattern * 			@ARG1++++@ 	p 
Packit 352660
@TYPE2++++@ 	const char * 			@ARG2++++@ 	object 
Packit 352660
@TYPE3++++@ 	int%  				@ARG3++++@ 	n 
Packit 352660
@TYPE4++++@ 	FcCharSet ** 			@ARG4++++@ 	c 
Packit 352660
Packit 352660
@PROTOTYPE+++++@
Packit 352660
@RET+++++@ 	FcResult 
Packit 352660
@FUNC+++++@ 	FcPatternGetBool 		
Packit 352660
@TYPE1+++++@ 	FcPattern * 			@ARG1+++++@ 	p
Packit 352660
@TYPE2+++++@ 	const char * 			@ARG2+++++@ 	object 
Packit 352660
@TYPE3+++++@ 	int%  				@ARG3+++++@ 	n 
Packit 352660
@TYPE4+++++@ 	FcBool * 			@ARG4+++++@ 	b 
Packit 352660
Packit 352660
@PROTOTYPE++++++@
Packit 352660
@RET++++++@	FcResult
Packit 352660
@FUNC++++++@	FcPatternGetFTFace
Packit 352660
@TYPE1++++++@ 	FcPattern * 			@ARG1++++++@ 	p
Packit 352660
@TYPE2++++++@	const char *			@ARG2++++++@	object
Packit 352660
@TYPE3++++++@ 	int%  				@ARG3++++++@ 	n
Packit 352660
@TYPE4++++++@	FT_Face *			@ARG4++++++@	f
Packit 352660
Packit 352660
@PROTOTYPE+++++++@
Packit 352660
@RET+++++++@	FcResult
Packit 352660
@FUNC+++++++@	FcPatternGetLangSet
Packit 352660
@TYPE1+++++++@ 	FcPattern * 			@ARG1+++++++@ 	p
Packit 352660
@TYPE2+++++++@	const char *			@ARG2+++++++@	object
Packit 352660
@TYPE3+++++++@ 	int%  				@ARG3+++++++@ 	n
Packit 352660
@TYPE4+++++++@	FcLangSet **			@ARG4+++++++@	l
Packit 352660
Packit 352660
@PROTOTYPE++++++++@
Packit 352660
@RET++++++++@	FcResult
Packit 352660
@FUNC++++++++@	FcPatternGetRange
Packit 352660
@TYPE1++++++++@	FcPattern *			@ARG1++++++++@	p
Packit 352660
@TYPE2++++++++@	const char *			@ARG2++++++++@	object
Packit 352660
@TYPE3++++++++@	int%  	   			@ARG3++++++++@	n
Packit 352660
@TYPE4++++++++@	FcRange **			@ARG4++++++++@	r
Packit 352660
Packit 352660
@PURPOSE@	Return a typed value from a pattern
Packit 352660
@DESC@
Packit 352660
These are convenience functions that call FcPatternGet and verify that the
Packit 352660
returned data is of the expected type. They return FcResultTypeMismatch if
Packit 352660
this is not the case.  Note that these (like FcPatternGet) do not make a
Packit 352660
copy of any data structure referenced by the return value.  Use these
Packit 352660
in preference to FcPatternGet to provide compile-time typechecking.
Packit 352660
Packit 352660
<function>FcPatternGetRange</function> are available since 2.11.91.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcPattern *
Packit 352660
@FUNC@		FcPatternBuild
Packit 352660
@TYPE1@		FcPattern *			@ARG1@		pattern
Packit 352660
@TYPE2@ 	...
Packit 352660
Packit 352660
@PROTOTYPE+@
Packit 352660
@RET+@		FcPattern *
Packit 352660
@FUNC+@		FcPatternVaBuild
Packit 352660
@TYPE1+@	FcPattern *			@ARG1+@		pattern
Packit 352660
@TYPE2+@	va_list% 			@ARG2+@		va
Packit 352660
Packit 352660
@PROTOTYPE++@
Packit 352660
@RET++@		void
Packit 352660
@FUNC++@	FcPatternVapBuild
Packit 352660
@TYPE1++@	FcPattern *			@ARG1++@	result
Packit 352660
@TYPE2++@	FcPattern *			@ARG2++@	pattern
Packit 352660
@TYPE3++@	va_list%			@ARG3++@	va
Packit 352660
Packit 352660
@PURPOSE@	Create patterns from arguments
Packit 352660
@DESC@
Packit 352660
Builds a pattern using a list of objects, types and values.  Each
Packit 352660
value to be entered in the pattern is specified with three arguments:
Packit 352660
</para>
Packit 352660
<orderedlist>
Packit 352660
<listitem><para>
Packit 352660
Object name, a string describing the property to be added.
Packit 352660
</para></listitem><listitem><para>
Packit 352660
Object type, one of the FcType enumerated values
Packit 352660
</para></listitem><listitem><para>
Packit 352660
Value, not an FcValue, but the raw type as passed to any of the
Packit 352660
FcPatternAdd<type> functions.  Must match the type of the second
Packit 352660
argument.
Packit 352660
</para></listitem>
Packit 352660
</orderedlist>
Packit 352660
<para>
Packit 352660
The argument list is terminated by a null object name, no object type nor
Packit 352660
value need be passed for this.  The values are added to `pattern', if
Packit 352660
`pattern' is null, a new pattern is created.  In either case, the pattern is
Packit 352660
returned. Example
Packit 352660
</para>
Packit 352660
<programlisting>
Packit 352660
pattern = FcPatternBuild (0, FC_FAMILY, FcTypeString, "Times", (char *) 0);
Packit 352660
</programlisting>
Packit 352660
<para>
Packit 352660
FcPatternVaBuild is used when the arguments are already in the form of a
Packit 352660
varargs value. FcPatternVapBuild is a macro version of FcPatternVaBuild
Packit 352660
which returns its result directly in the <parameter>result</parameter>
Packit 352660
variable.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternDel
Packit 352660
@TYPE1@		FcPattern *			@ARG1@		p
Packit 352660
@TYPE2@		const char *			@ARG2@		object 
Packit 352660
@PURPOSE@	Delete a property from a pattern
Packit 352660
@DESC@
Packit 352660
Deletes all values associated with the property `object', returning 
Packit 352660
whether the property existed or not.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternRemove
Packit 352660
@TYPE1@		FcPattern *			@ARG1@		p
Packit 352660
@TYPE2@		const char *			@ARG2@		object 
Packit 352660
@TYPE3@		int%				@ARG3@		id
Packit 352660
@PURPOSE@	Remove one object of the specified type from the pattern
Packit 352660
@DESC@
Packit 352660
Removes the value associated with the property `object' at position `id', returning 
Packit 352660
whether the property existed and had a value at that position or not.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		void
Packit 352660
@FUNC@		FcPatternIterStart
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p
Packit 352660
@TYPE2@		FcPatternIter *			@ARG2@		iter
Packit 352660
@PURPOSE@	Initialize the iterator with the first iterator in the pattern
Packit 352660
@DESC@
Packit 352660
Initialize <parameter>iter</parameter> with the first iterator in <parameter>p</parameter>.
Packit 352660
If there are no objects in <parameter>p</parameter>, <parameter>iter</parameter>
Packit 352660
will not have any valid data.
Packit 352660
@SINCE@		2.13.1
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternIterNext
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p
Packit 352660
@TYPE2@		FcPatternIter *			@ARG2@		iter
Packit 352660
@PURPUSE@	Set the iterator to point to the next object in the pattern
Packit 352660
@DESC@
Packit 352660
Set <parameter>iter</parameter> to point to the next object in <parameter>p</parameter>
Packit 352660
and returns FcTrue if <parameter>iter</parameter> has been changed to the next object.
Packit 352660
returns FcFalse otherwise.
Packit 352660
@SINCE@		2.13.1
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternIterEqual
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p1
Packit 352660
@TYPE2@		FcPatternIter *			@ARG2@		i1
Packit 352660
@TYPE3@		const FcPattern *		@ARG3@		p2
Packit 352660
@TYPE4@		FcPatternIter *			@ARG4@		i2
Packit 352660
@PURPOSE@	Compare iterators
Packit 352660
@DESC@
Packit 352660
Return FcTrue if both <parameter>i1</parameter> and <parameter>i2</parameter>
Packit 352660
point to same object and contains same values. return FcFalse otherwise.
Packit 352660
@SINCE@		2.13.1
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternFindIter
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p
Packit 352660
@TYPE2@		FcPatternIter *			@ARG2@		iter
Packit 352660
@TYPE3@		const char *  			@ARG3@		object
Packit 352660
@PURPOSE@	Set the iterator to point to the object in the pattern
Packit 352660
@DESC@
Packit 352660
Set <parameter>iter</parameter> to point to <parameter>object</parameter> in
Packit 352660
<parameter>p</parameter> if any and returns FcTrue. returns FcFalse otherwise.
Packit 352660
@SINCE@		2.13.1
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcBool
Packit 352660
@FUNC@		FcPatternIterIsValid
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p
Packit 352660
@TYPE2@		FcPatternIter :			@ARG2@		iter
Packit 352660
@PURPOSE@	Check whether the iterator is valid or not
Packit 352660
@DESC@
Packit 352660
Returns FcTrue if <parameter>iter</parameter> point to the valid entry
Packit 352660
in <parameter>p</parameter>. returns FcFalse otherwise.
Packit 352660
@SINCE@		2.13.1
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		const char *
Packit 352660
@FUNC@		FcPatternIterGetObject
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p
Packit 352660
@TYPE2@		FcPatternIter *			@ARG2@		iter
Packit 352660
@PURPOSE@	Returns an object name which the iterator point to
Packit 352660
@DESC@
Packit 352660
Returns an object name in <parameter>p</parameter> which
Packit 352660
<parameter>iter</parameter> point to. returns NULL if
Packit 352660
<parameter>iter</parameter> isn't valid.
Packit 352660
@SINCE@		2.13.1
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		int
Packit 352660
@FUNC@		FcPatternIterValueCount
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p
Packit 352660
@TYPE2@		FcPatternIter *			@ARG2@		iter
Packit 352660
@PURPOSE@	Returns the number of the values which the iterator point to
Packit 352660
@DESC@
Packit 352660
Returns the number of the values in the object which <parameter>iter</parameter>
Packit 352660
point to. if <parameter>iter</parameter> isn't valid, returns 0.
Packit 352660
@SINCE@		2.13.1
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcResult
Packit 352660
@FUNC@		FcPatternIterGetValue
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p
Packit 352660
@TYPE2@		FcPatternIter *			@ARG2@		iter
Packit 352660
@TYPE3@		int	      			@ARG3@		id
Packit 352660
@TYPE4@		FcValue *			@ARG4@		v
Packit 352660
@TYPE5@		FcValueBinding *		@ARG5@		b
Packit 352660
@PURPOSE@	Returns a value which the iterator point to
Packit 352660
@DESC@
Packit 352660
Returns in <parameter>v</parameter> the <parameter>id</parameter>'th value
Packit 352660
which <parameter>iter</parameter> point to. also binding to <parameter>b</parameter>
Packit 352660
if given.
Packit 352660
The value returned is not a copy, but rather refers to the data stored
Packit 352660
within the pattern directly.  Applications must not free this value.
Packit 352660
@SINCE@		2.13.1
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		void
Packit 352660
@FUNC@		FcPatternPrint
Packit 352660
@TYPE1@		const FcPattern *		@ARG1@		p 
Packit 352660
@PURPOSE@	Print a pattern for debugging
Packit 352660
@DESC@
Packit 352660
Prints an easily readable version of the pattern to stdout.  There is
Packit 352660
no provision for reparsing data in this format, it's just for diagnostics
Packit 352660
and debugging.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		void 	
Packit 352660
@FUNC@		FcDefaultSubstitute
Packit 352660
@TYPE1@		FcPattern *			@ARG1@		pattern 
Packit 352660
@PURPOSE@	Perform default substitutions in a pattern
Packit 352660
@DESC@
Packit 352660
Supplies default values for underspecified font patterns:
Packit 352660
<itemizedlist>
Packit 352660
<listitem><para>
Packit 352660
Patterns without a specified style or weight are set to Medium
Packit 352660
</para></listitem>
Packit 352660
<listitem><para>
Packit 352660
Patterns without a specified style or slant are set to Roman
Packit 352660
</para></listitem>
Packit 352660
<listitem><para>
Packit 352660
Patterns without a specified pixel size are given one computed from any
Packit 352660
specified point size (default 12), dpi (default 75) and scale (default 1).
Packit 352660
</para></listitem>
Packit 352660
</itemizedlist>
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcPattern *
Packit 352660
@FUNC@		FcNameParse
Packit 352660
@TYPE1@		const FcChar8 *			@ARG1@		name 
Packit 352660
@PURPOSE@	Parse a pattern string
Packit 352660
@DESC@
Packit 352660
Converts <parameter>name</parameter> from the standard text format described above into a pattern.
Packit 352660
@@
Packit 352660
Packit 352660
@RET@		FcChar8 *
Packit 352660
@FUNC@		FcNameUnparse
Packit 352660
@TYPE1@		FcPattern *			@ARG1@		pat 
Packit 352660
@PURPOSE@	Convert a pattern back into a string that can be parsed
Packit 352660
@DESC@
Packit 352660
Converts the given pattern into the standard text format described above.
Packit 352660
The return value is not static, but instead refers to newly allocated memory
Packit 352660
which should be freed by the caller using free().
Packit 352660
@@