Rework documentation to build man pages for each function
This commit is contained in:
parent
5e1f56b567
commit
22671e2551
|
@ -1,44 +1,102 @@
|
||||||
DOC_MODULE=fontconfig
|
DOC_MODULE=fontconfig
|
||||||
DOC2HTML=docbook2html -u
|
DOC2HTML=docbook2html
|
||||||
DOC2TXT=docbook2txt
|
DOC2TXT=docbook2txt
|
||||||
|
DOC2MAN=docbook2man
|
||||||
|
|
||||||
TXT=fontconfig-user.txt fontconfig-devel.txt
|
TXT=fontconfig-user.txt fontconfig-devel.txt
|
||||||
HTML=fontconfig-user.html fontconfig-devel.html
|
HTML=fontconfig-user/index.html fontconfig-devel/index.html
|
||||||
SGML=fontconfig-user.sgml fontconfig-devel.sgml
|
SGML=fontconfig-user.sgml fontconfig-devel.sgml
|
||||||
|
|
||||||
|
DOC_FUNCS_FNCS=\
|
||||||
|
fcmatrix.fncs \
|
||||||
|
fccharset.fncs \
|
||||||
|
fcvalue.fncs \
|
||||||
|
fcpattern.fncs
|
||||||
|
|
||||||
|
DOC_FUNCS_SGML=\
|
||||||
|
fcmatrix.sgml \
|
||||||
|
fccharset.sgml \
|
||||||
|
fcvalue.sgml \
|
||||||
|
fcpattern.sgml
|
||||||
|
|
||||||
|
man3_MANS= \
|
||||||
|
FcCharSetAddChar.3 \
|
||||||
|
FcCharSetCopy.3 \
|
||||||
|
FcCharSetCount.3 \
|
||||||
|
FcCharSetCreate.3 \
|
||||||
|
FcCharSetDestroy.3 \
|
||||||
|
FcCharSetEqual.3 \
|
||||||
|
FcCharSetFirstPage.3 \
|
||||||
|
FcCharSetHasChar.3 \
|
||||||
|
FcCharSetIntersect.3 \
|
||||||
|
FcCharSetIntersectCount.3 \
|
||||||
|
FcCharSetIsSubset.3 \
|
||||||
|
FcCharSetNextPage.3 \
|
||||||
|
FcCharSetSubtract.3 \
|
||||||
|
FcCharSetSubtractCount.3 \
|
||||||
|
FcCharSetUnion.3 \
|
||||||
|
FcMatrixCopy.3 \
|
||||||
|
FcMatrixEqual.3 \
|
||||||
|
FcMatrixInit.3 \
|
||||||
|
FcMatrixMultiply.3 \
|
||||||
|
FcMatrixRotate.3 \
|
||||||
|
FcMatrixScale.3 \
|
||||||
|
FcMatrixShear.3 \
|
||||||
|
FcValueDestroy.3 \
|
||||||
|
FcValueSave.3
|
||||||
|
|
||||||
|
noinst_PROGRAMS=edit-sgml
|
||||||
|
edit_sgml_SOURCES=edit-sgml.c
|
||||||
|
|
||||||
DOCDIR=@DOCDIR@
|
DOCDIR=@DOCDIR@
|
||||||
TARGET_DIR=$(DOCDIR)
|
TARGET_DIR=$(DOCDIR)
|
||||||
|
|
||||||
SUFFIXES=.sgml .txt .html
|
SUFFIXES=.fncs .sgml .txt .html
|
||||||
|
|
||||||
.sgml.html:
|
.fncs.sgml:
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(DOC2HTML) $*.sgml
|
./edit-sgml func.sgml < $*.fncs > $*.sgml
|
||||||
$(RM) index.html
|
|
||||||
|
|
||||||
.sgml.txt:
|
.sgml.txt:
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
$(DOC2TXT) $*.sgml
|
$(DOC2TXT) $*.sgml
|
||||||
|
|
||||||
EXTRA_DIST = $(TXT) $(HTML) $(SGML)
|
EXTRA_DIST = $(TXT) $(HTML) $(SGML) $(man3_MANS)
|
||||||
|
|
||||||
if ENABLE_DOCS
|
if ENABLE_DOCS
|
||||||
DOCS=$(TXT) $(HTML)
|
DOCS=$(TXT) $(HTML)
|
||||||
all-local: all-docs
|
all-local: all-local-docs
|
||||||
clean-local: clean-docs
|
clean-local: clean-local-docs
|
||||||
install-data-local: install-docs
|
install-data-local: install-local-docs
|
||||||
else
|
else
|
||||||
all-local:
|
all-local:
|
||||||
clean-local:
|
clean-local:
|
||||||
install-data-local:
|
install-data-local:
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all-docs: $(DOCS)
|
$(man3_MANS): manpage.refs
|
||||||
|
|
||||||
clean-docs:
|
$(DOCS): $(DOC_FUNCS_SGML)
|
||||||
|
|
||||||
|
manpage.refs: fontconfig-devel.sgml $(DOC_FUNCS_SGML)
|
||||||
|
$(DOC2MAN) fontconfig-devel.sgml
|
||||||
|
|
||||||
|
$(DOC_FUNCS_SGML): edit-sgml func.sgml
|
||||||
|
|
||||||
|
all-local-docs: $(DOCS)
|
||||||
|
|
||||||
|
clean-local-docs:
|
||||||
rm -f $(DOCS)
|
rm -f $(DOCS)
|
||||||
|
|
||||||
install-docs:
|
fontconfig-devel/index.html: fontconfig-devel.sgml
|
||||||
|
$(RM) -rf fontconfig-devel
|
||||||
|
docbook2html -o fontconfig-devel fontconfig-devel.sgml
|
||||||
|
|
||||||
|
fontconfig-user/index.html: fontconfig-user.sgml
|
||||||
|
$(RM) -rf fontconfig-user
|
||||||
|
docbook2html -o fontconfig-user fontconfig-user.sgml
|
||||||
|
|
||||||
|
install-local-docs:
|
||||||
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
|
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
|
||||||
for i in $(DOCS); do \
|
for i in $(DOCS); do \
|
||||||
echo '-- Installing'$$i ; \
|
echo '-- Installing'$$i ; \
|
||||||
|
|
|
@ -0,0 +1,144 @@
|
||||||
|
@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@ 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@ 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 marking the first page of Unicode coverage of
|
||||||
|
<parameter>a</parameter>. Returns the base of the array. <parameter>next</parameter> contains the next page in the
|
||||||
|
font.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@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 marking the Unicode coverage of <parameter>a</parameter> for page
|
||||||
|
<parameter>*next</parameter>. Returns the base of the array. <parameter>next</parameter> contains the next page in
|
||||||
|
the font.
|
||||||
|
@@
|
|
@ -0,0 +1,100 @@
|
||||||
|
@FUNC@ FcMatrixInit
|
||||||
|
@PURPOSE@ initialize an FcMatrix structure
|
||||||
|
@TYPE1@ FcMatrix *
|
||||||
|
@ARG1@ matrix
|
||||||
|
@DESC@
|
||||||
|
<function>FcMatrixInit</function> initializes <parameter>matrix</parameter>
|
||||||
|
to the identity matrix.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@FUNC@ FcMatrixCopy
|
||||||
|
@PURPOSE@ Copy a matrix
|
||||||
|
@TYPE1@ const FcMatrix *
|
||||||
|
@ARG1@ matrix
|
||||||
|
@DESC@
|
||||||
|
<function>FcMatrixCopy</function> allocates a new FcMatrix
|
||||||
|
and copies <parameter>mat</parameter> into it.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@FUNC@ FcMatrixEqual
|
||||||
|
@PURPOSE@ Compare two matrices
|
||||||
|
@TYPE1@ const FcMatrix *
|
||||||
|
@ARG1@ matrix1
|
||||||
|
@TYPE2@ const FcMatrix *
|
||||||
|
@ARG2@ matrix2
|
||||||
|
@DESC@
|
||||||
|
<function>FcMatrixEqual</function> compares <parameter>matrix1</parameter>
|
||||||
|
and <parameter>matrix2</parameter> returning FcTrue when they are equal and
|
||||||
|
FcFalse when they are not.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@FUNC@ FcMatrixMultiply
|
||||||
|
@PURPOSE@ Multiply matrices
|
||||||
|
@TYPE1@ FcMatrix *
|
||||||
|
@ARG1@ result
|
||||||
|
@TYPE2@ const FcMatrix *
|
||||||
|
@ARG2@ matrix1
|
||||||
|
@TYPE3@ const FcMatrix *
|
||||||
|
@ARG3@ matrix2
|
||||||
|
@DESC@
|
||||||
|
<function>FcMatrixMultiply</function> multiplies
|
||||||
|
<parameter>matrix1</parameter> and <parameter>matrix2</parameter> storing
|
||||||
|
the result in <parameter>result</parameter>.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@FUNC@ FcMatrixRotate
|
||||||
|
@PURPOSE@ Rotate a matrix
|
||||||
|
@TYPE1@ FcMatrix *
|
||||||
|
@ARG1@ matrix
|
||||||
|
@TYPE2@ double
|
||||||
|
@ARG2@ cos
|
||||||
|
@TYPE3@ double
|
||||||
|
@ARG3@ sin
|
||||||
|
@DESC@
|
||||||
|
<function>FcMatrixRotate</function> rotates <parameter>matrix</parameter>
|
||||||
|
by the angle who's sine is <parameter>sin</parameter> and cosine is
|
||||||
|
<parameter>cos</parameter>. This is done by multiplying by the
|
||||||
|
matrix:
|
||||||
|
<programlisting>
|
||||||
|
cos -sin
|
||||||
|
sin cos
|
||||||
|
</programlisting>
|
||||||
|
@@
|
||||||
|
|
||||||
|
@FUNC@ FcMatrixScale
|
||||||
|
@PURPOSE@ Scale a matrix
|
||||||
|
@TYPE1@ FcMatrix *
|
||||||
|
@ARG1@ matrix
|
||||||
|
@TYPE2@ double
|
||||||
|
@ARG2@ sx
|
||||||
|
@TYPE3@ double
|
||||||
|
@ARG3@ dy
|
||||||
|
@DESC@
|
||||||
|
<function>FcMatrixScale</function> multiplies <parameter>matrix</parameter>
|
||||||
|
x values by <parameter>sx</parameter> and y values by
|
||||||
|
<parameter>sy</parameter>. This is done by multiplying by
|
||||||
|
the matrix:
|
||||||
|
<programlisting>
|
||||||
|
sx 0
|
||||||
|
0 sy
|
||||||
|
</programlisting>
|
||||||
|
@@
|
||||||
|
|
||||||
|
@FUNC@ FcMatrixShear
|
||||||
|
@PURPOSE@ Shear a matrix
|
||||||
|
@TYPE1@ FcMatrix *
|
||||||
|
@ARG1@ matrix
|
||||||
|
@TYPE2@ double
|
||||||
|
@ARG2@ sh
|
||||||
|
@TYPE3@ double
|
||||||
|
@ARG3@ sv
|
||||||
|
@DESC@
|
||||||
|
<function>FcMatrixShare</function> shears <parameter>matrix</parameter>
|
||||||
|
horizontally by <parameter>sh</parameter> and vertically by
|
||||||
|
<parameter>sv</parameter>. This is done by multiplying by
|
||||||
|
the matrix:
|
||||||
|
<programlisting>
|
||||||
|
1 sh
|
||||||
|
sv 1
|
||||||
|
</programlisting>
|
||||||
|
@@
|
|
@ -0,0 +1,287 @@
|
||||||
|
@RET@ FcPattern *
|
||||||
|
@FUNC@ FcPatternCreate
|
||||||
|
@TYPE1@ void
|
||||||
|
@PURPOSE@ Create a pattern
|
||||||
|
@DESC@
|
||||||
|
Creates a pattern with no properties; used to build patterns from scratch.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ void
|
||||||
|
@FUNC@ FcPatternDestroy
|
||||||
|
@TYPE1@ FcPattern * @ARG1@ p
|
||||||
|
@PURPOSE@ Destroy a pattern
|
||||||
|
@DESC@
|
||||||
|
Destroys a pattern, in the process destroying all related values.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcBool
|
||||||
|
@FUNC@ FcPatternEqual
|
||||||
|
@TYPE1@ const FcPattern * @ARG1@ pa
|
||||||
|
@TYPE2@ const FcPattern * @ARG2@ pb
|
||||||
|
@PURPOSE@ Compare patterns
|
||||||
|
@DESC@
|
||||||
|
Returns whether 'pa' and 'pb' are exactly alike.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcBool
|
||||||
|
@FUNC@ FcPatternEqualSubset
|
||||||
|
@TYPE1@ const FcPattern * @ARG1@ pa
|
||||||
|
@TYPE2@ const FcPattern * @ARG2@ pb
|
||||||
|
@TYPE3@ const FcObjectSet * @ARG3@ os
|
||||||
|
@PURPOSE@ Compare portions of patterns
|
||||||
|
@DESC@
|
||||||
|
Returns whether 'pa' and 'pb' have exactly the same values for all of the
|
||||||
|
objects in 'os'.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcChar32
|
||||||
|
@FUNC@ FcPatternHash
|
||||||
|
@TYPE1@ const FcPattern * @ARG1@ p
|
||||||
|
@PURPOSE@ Compute a pattern hash value
|
||||||
|
@DESC@
|
||||||
|
Returns a 32-bit number which is the same for any two patterns which are
|
||||||
|
equal.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcBool
|
||||||
|
@FUNC@ FcPatternAdd
|
||||||
|
@TYPE1@ FcPattern * @ARG1@ p
|
||||||
|
@TYPE2@ const char * @ARG2@ object
|
||||||
|
@TYPE3@ FcValue @ARG3@ value
|
||||||
|
@TYPE4@ FcBool @ARG4@ append
|
||||||
|
@PURPOSE@ Add a value to a pattern
|
||||||
|
@DESC@
|
||||||
|
Adds a single value to the list of values associated with the property named
|
||||||
|
`object'. If `append' is FcTrue, the value is added at the end of any
|
||||||
|
existing list, otherwise it is inserted at the begining. `value' is saved
|
||||||
|
(with FcValueSave) when inserted into the pattern so that the library
|
||||||
|
retains no reference to any application-supplied data structure.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcBool
|
||||||
|
@FUNC@ FcPatternAddWeak
|
||||||
|
@TYPE1@ FcPattern * @ARG1@ p
|
||||||
|
@TYPE2@ const char * @ARG2@ object
|
||||||
|
@TYPE3@ FcValue @ARG3@ value
|
||||||
|
@TYPE4@ FcBool @ARG4@ append
|
||||||
|
@PURPOSE@ Add a value to a pattern with weak binding
|
||||||
|
@DESC@
|
||||||
|
FcPatternAddWeak is essentially the same as FcPatternAdd except that any
|
||||||
|
values added to the list have binding 'weak' instead of 'strong'.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@TITLE@ FcPatternAdd-Type
|
||||||
|
@RET@ FcBool
|
||||||
|
@FUNC@ FcPatternAddInteger
|
||||||
|
@TYPE1@ FcPattern * @ARG1@ p
|
||||||
|
@TYPE2@ const char * @ARG2@ object
|
||||||
|
@TYPE3@ int @ARG3@ i
|
||||||
|
|
||||||
|
@PROTOTYPE+@
|
||||||
|
@RET+@ FcBool
|
||||||
|
@FUNC+@ FcPatternAddDouble
|
||||||
|
@TYPE1+@ FcPattern * @ARG1+@ p
|
||||||
|
@TYPE2+@ const char * @ARG2+@ object
|
||||||
|
@TYPE3+@ double @ARG3+@ d
|
||||||
|
|
||||||
|
@PROTOTYPE++@
|
||||||
|
@RET++@ FcBool
|
||||||
|
@FUNC++@ FcPatternAddString
|
||||||
|
@TYPE1++@ FcPattern * @ARG1++@ p
|
||||||
|
@TYPE2++@ const char * @ARG2++@ object
|
||||||
|
@TYPE3++@ const char * @ARG3++@ s
|
||||||
|
|
||||||
|
@PROTOTYPE+++@
|
||||||
|
@RET+++@ FcBool
|
||||||
|
@FUNC+++@ FcPatternAddMatrix
|
||||||
|
@TYPE1+++@ FcPattern * @ARG1+++@ p
|
||||||
|
@TYPE2+++@ const char * @ARG2+++@ object
|
||||||
|
@TYPE3+++@ const FcMatrix * @ARG3+++@ m
|
||||||
|
|
||||||
|
@PROTOTYPE++++@
|
||||||
|
@RET++++@ FcBool
|
||||||
|
@FUNC++++@ FcPatternAddCharSet
|
||||||
|
@TYPE1++++@ FcPattern * @ARG1++++@ p
|
||||||
|
@TYPE2++++@ const char * @ARG2++++@ object
|
||||||
|
@TYPE3++++@ const FcCharSet * @ARG3++++@ c
|
||||||
|
|
||||||
|
@PROTOTYPE+++++@
|
||||||
|
@RET+++++@ FcBool
|
||||||
|
@FUNC+++++@ FcPatternAddBool
|
||||||
|
@TYPE1+++++@ FcPattern * @ARG1+++++@ p
|
||||||
|
@TYPE2+++++@ const char * @ARG2+++++@ object
|
||||||
|
@TYPE3+++++@ FcBool @ARG3+++++@ b
|
||||||
|
@PURPOSE@ Add a typed value to a pattern
|
||||||
|
@DESC@
|
||||||
|
These are all convenience functions that insert objects of the specified
|
||||||
|
type into the pattern. Use these in preference to FcPatternAdd as they
|
||||||
|
will provide compile-time typechecking. These all append values to
|
||||||
|
any existing list of values.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcResult
|
||||||
|
@FUNC@ FcPatternGet
|
||||||
|
@TYPE1@ FcPattern * @ARG1@ p
|
||||||
|
@TYPE2@ const char * @ARG2@ object
|
||||||
|
@TYPE3@ int @ARG3@ id
|
||||||
|
@TYPE4@ FcValue * @ARG4@ v
|
||||||
|
@PURPOSE@ Return a value from a pattern
|
||||||
|
@DESC@
|
||||||
|
Returns in `v' the `id'th value associated with the property `object'.
|
||||||
|
The value returned is not a copy, but rather refers to the data stored
|
||||||
|
within the pattern directly. Applications must not free this value.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@TITLE@ FcPatternGet-Type
|
||||||
|
@PROTOTYPE@
|
||||||
|
@RET@ FcResult
|
||||||
|
@FUNC@ FcPatternGetInteger
|
||||||
|
@TYPE1@ FcPattern * @ARG1@ p
|
||||||
|
@TYPE2@ const char * @ARG2@ object
|
||||||
|
@TYPE3@ int @ARG3@ n
|
||||||
|
@TYPE4@ int * @ARG4@ i
|
||||||
|
|
||||||
|
@PROTOTYPE+@
|
||||||
|
@RET+@ FcResult
|
||||||
|
@FUNC+@ FcPatternGetDouble
|
||||||
|
@TYPE1+@ FcPattern * @ARG1+@ p
|
||||||
|
@TYPE2+@ const char * @ARG2+@ object
|
||||||
|
@TYPE3+@ int @ARG3+@ n
|
||||||
|
@TYPE4+@ double * @ARG4+@ d
|
||||||
|
|
||||||
|
@PROTOTYPE++@
|
||||||
|
@RET++@ FcResult
|
||||||
|
@FUNC++@ FcPatternGetString
|
||||||
|
@TYPE1++@ FcPattern * @ARG1++@ p
|
||||||
|
@TYPE2++@ const char * @ARG2++@ object
|
||||||
|
@TYPE3++@ int @ARG3++@ n
|
||||||
|
@TYPE4++@ char **const @ARG4++@ s
|
||||||
|
|
||||||
|
@PROTOTYPE+++@
|
||||||
|
@RET+++@ FcResult
|
||||||
|
@FUNC+++@ FcPatternGetMatrix
|
||||||
|
@TYPE1+++@ FcPattern * @ARG1+++@ p
|
||||||
|
@TYPE2+++@ const char * @ARG2+++@ object
|
||||||
|
@TYPE3+++@ int @ARG3+++@ n
|
||||||
|
@TYPE4+++@ FcMatrix ** @ARG4+++@ s
|
||||||
|
|
||||||
|
@PROTOTYPE++++@
|
||||||
|
@RET++++@ FcResult
|
||||||
|
@FUNC++++@ FcPatternGetCharSet
|
||||||
|
@TYPE1++++@ FcPattern * @ARG1++++@ p
|
||||||
|
@TYPE2++++@ const char * @ARG2++++@ object
|
||||||
|
@TYPE3++++@ int @ARG3++++@ n
|
||||||
|
@TYPE4++++@ FcCharSet ** @ARG4++++@ c
|
||||||
|
|
||||||
|
@PROTOTYPE+++++@
|
||||||
|
@RET+++++@ FcResult
|
||||||
|
@FUNC+++++@ FcPatternGetBool
|
||||||
|
@TYPE1+++++@ FcPattern * @ARG1+++++@ p
|
||||||
|
@TYPE2+++++@ const char * @ARG2+++++@ object
|
||||||
|
@TYPE3+++++@ int @ARG3+++++@ n
|
||||||
|
@TYPE4+++++@ FcBool * @ARG4+++++@ b
|
||||||
|
@PURPOSE@ Return a typed value from a pattern
|
||||||
|
@DESC@
|
||||||
|
These are convenience functions that call FcPatternGet and verify that the
|
||||||
|
returned data is of the expected type. They return FcResultTypeMismatch if
|
||||||
|
this is not the case. Note that these (like FcPatternGet) do not make a
|
||||||
|
copy of any data structure referenced by the return value. Use these
|
||||||
|
in preference to FcPatternGet to provide compile-time typechecking.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcPattern *
|
||||||
|
@FUNC@ FcPatternBuild
|
||||||
|
@TYPE1@ FcPattern * @ARG1@ orig
|
||||||
|
@TYPE2@ ...
|
||||||
|
|
||||||
|
@PROTOTYPE+@
|
||||||
|
@RET+@ FcPattern *
|
||||||
|
@FUNC+@ FcPatternVaBuild
|
||||||
|
@TYPE1+@ FcPattern * @ARG1+@ orig
|
||||||
|
@TYPE2+@ va_list @ARG2+@ va
|
||||||
|
@PURPOSE@ Create patterns from arguments
|
||||||
|
@DESC@
|
||||||
|
Builds a pattern using a list of objects, types and values. Each
|
||||||
|
value to be entered in the pattern is specified with three arguments:
|
||||||
|
<orderedlist>
|
||||||
|
<listitem><para>
|
||||||
|
Object name, a string describing the property to be added.
|
||||||
|
</para></listitem><listitem><para>
|
||||||
|
Object type, one of the FcType enumerated values
|
||||||
|
</para></listitem><listitem><para>
|
||||||
|
Value, not an FcValue, but the raw type as passed to any of the
|
||||||
|
FcPatternAdd<type> functions. Must match the type of the second
|
||||||
|
argument.
|
||||||
|
</para></listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<para>
|
||||||
|
The argument list is terminated by a null object name, no object type nor
|
||||||
|
value need be passed for this. The values are added to `pattern', if
|
||||||
|
`pattern' is null, a new pattern is created. In either case, the pattern is
|
||||||
|
returned. Example
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
pattern = FcPatternBuild (0, FC_FAMILY, FtTypeString, "Times", (char *) 0);
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
FcPatternVaBuild is used when the arguments are already in the form of a
|
||||||
|
varargs value.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcBool
|
||||||
|
@FUNC@ FcPatternDel
|
||||||
|
@TYPE1@ FcPattern * @ARG1@ p
|
||||||
|
@TYPE2@ const char * @ARG2@ object
|
||||||
|
@PURPOSE@ Delete a property from a pattern
|
||||||
|
@DESC@
|
||||||
|
Deletes all values associated with the property `object', returning
|
||||||
|
whether the property existed or not.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ void
|
||||||
|
@FUNC@ FcPatternPrint
|
||||||
|
@TYPE1@ const FcPattern * @ARG1@ p
|
||||||
|
@PURPOSE@ Print a pattern for debugging
|
||||||
|
@DESC@
|
||||||
|
Prints an easily readable version of the pattern to stdout. There is
|
||||||
|
no provision for reparsing data in this format, it's just for diagnostics
|
||||||
|
and debugging.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ void
|
||||||
|
@FUNC@ FcDefaultSubstitute
|
||||||
|
@TYPE1@ FcPattern * @ARG1@ pattern
|
||||||
|
@PURPOSE@ Perform default substitutions in a pattern
|
||||||
|
@DESC@
|
||||||
|
Supplies default values for underspecified font patterns:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
Patterns without a specified style or weight are set to Medium
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
Patterns without a specified style or slant are set to Roman
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
Patterns without a specified pixel size are given one computed from any
|
||||||
|
specified point size (default 12), dpi (default 75) and scale (default 1).
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcPattern *
|
||||||
|
@FUNC@ FcNameParse
|
||||||
|
@TYPE1@ const char * @ARG1@ name
|
||||||
|
@PURPOSE@ Parse a pattern string
|
||||||
|
@DESC@
|
||||||
|
Converts 'name' from the standard text format described above into a pattern.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcChar8 *
|
||||||
|
@FUNC@ FcNameUnparse
|
||||||
|
@TYPE1@ FcPattern * @ARG1@ pat
|
||||||
|
@PURPOSE@ Convert a pattern back into a string that can be parsed
|
||||||
|
@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.
|
||||||
|
@@
|
|
@ -0,0 +1,17 @@
|
||||||
|
@RET@ void
|
||||||
|
@FUNC@ FcValueDestroy
|
||||||
|
@TYPE1@ FcValue @ARG1@ v
|
||||||
|
@PURPOSE@ Free a value
|
||||||
|
@DESC@
|
||||||
|
Frees any memory referenced by `v'. Values of type FcTypeString,
|
||||||
|
FcTypeMatrix and FcTypeCharSet reference memory, the other types do not.
|
||||||
|
@@
|
||||||
|
|
||||||
|
@RET@ FcValue
|
||||||
|
@FUNC@ FcValueSave
|
||||||
|
@TYPE1@ FcValue @ARG1@ v
|
||||||
|
@PURPOSE@ Copy a value
|
||||||
|
@DESC@
|
||||||
|
Returns a copy of `v' duplicating any object referenced by it so that `v'
|
||||||
|
may be safely destroyed without harming the new value.
|
||||||
|
@@
|
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
|
||||||
<!--
|
<!--
|
||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
|
@ -22,31 +22,35 @@
|
||||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
PERFORMANCE OF THIS SOFTWARE.
|
PERFORMANCE OF THIS SOFTWARE.
|
||||||
-->
|
-->
|
||||||
<article>
|
<refentry>
|
||||||
<artheader>
|
<refmeta>
|
||||||
<title>Fontconfig Users Guide</title>
|
<refentrytitle>fonts.conf</refentrytitle>
|
||||||
<titleabbrev>Fontconfig</titleabbrev>
|
<manvolnum>5</manvolnum>
|
||||||
<author><firstname>Keith</><surname>Packard</></author>
|
</refmeta>
|
||||||
<authorinitials>krp</authorinitials>
|
<refnamediv>
|
||||||
</artheader>
|
<refname>fonts.conf</refname>
|
||||||
<sect1><title>NAME</title>
|
<refpurpose>Font configuration files</refpurpose>
|
||||||
<para>
|
</refnamediv>
|
||||||
fontconfig - Font configuration and customization library
|
<refsynopsisdiv>
|
||||||
</para>
|
<synopsis>
|
||||||
</sect1>
|
/etc/fonts/fonts.conf
|
||||||
<sect1><title>DESCRIPTION</title>
|
/etc/fonts/fonts.dtd
|
||||||
|
~/.fonts.conf
|
||||||
|
</synopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
<refsect1><title>DESCRIPTION</title>
|
||||||
<para>
|
<para>
|
||||||
Fontconfig is a library designed to provide system-wide font configuration,
|
Fontconfig is a library designed to provide system-wide font configuration,
|
||||||
customization and application access.
|
customization and application access.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</refsect1>
|
||||||
<sect1><title>FUNCTIONAL OVERVIEW</title>
|
<refsect1><title>FUNCTIONAL OVERVIEW</title>
|
||||||
<para>
|
<para>
|
||||||
Fontconfig contains two essential modules, the configuration module which
|
Fontconfig contains two essential modules, the configuration module which
|
||||||
builds an internal configuration from XML files and the matching module
|
builds an internal configuration from XML files and the matching module
|
||||||
which accepts font patterns and returns the nearest matching font.
|
which accepts font patterns and returns the nearest matching font.
|
||||||
</para>
|
</para>
|
||||||
<sect2><title>FONT CONFIGURATION</title>
|
<refsect2><title>FONT CONFIGURATION</title>
|
||||||
<para>
|
<para>
|
||||||
The configuration module consists of the FcConfig datatype, libexpat and
|
The configuration module consists of the FcConfig datatype, libexpat and
|
||||||
FcConfigParse which walks over an XML tree and ammends a configuration with
|
FcConfigParse which walks over an XML tree and ammends a configuration with
|
||||||
|
@ -72,8 +76,8 @@ is that this will ensure that configuration of fonts for all applications
|
||||||
can be centralized in one place. Centralizing font configuration will
|
can be centralized in one place. Centralizing font configuration will
|
||||||
simplify and regularize font installation and customization.
|
simplify and regularize font installation and customization.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</refsect2>
|
||||||
<sect2>
|
<refsect2>
|
||||||
<title>FONT PROPERTIES</title>
|
<title>FONT PROPERTIES</title>
|
||||||
<para>
|
<para>
|
||||||
While font patterns may contain essentially any properties, there are some
|
While font patterns may contain essentially any properties, there are some
|
||||||
|
@ -81,51 +85,40 @@ well known properties with associated types. Fontconfig uses some of these
|
||||||
properties for font matching and font completion. Others are provided as a
|
properties for font matching and font completion. Others are provided as a
|
||||||
convenience for the applications rendering mechanism.
|
convenience for the applications rendering mechanism.
|
||||||
</para>
|
</para>
|
||||||
<table>
|
<programlisting>
|
||||||
<title>Property Definitions</title>
|
Property Type Description
|
||||||
<tgroup cols=3 align=left colsep=1 rowsep=1>
|
--------------------------------------------------------------
|
||||||
<colspec colname=Property>
|
family String Font family name
|
||||||
<colspec colname=Type>
|
style String Font style. Overrides weight and slant
|
||||||
<colspec colname=Description>
|
slant Int Italic, oblique or roman
|
||||||
<thead>
|
weight Int Light, medium, demibold, bold or black
|
||||||
<row>
|
size Double Point size
|
||||||
<entry>Property</entry>
|
aspect Double Stretches glyphs horizontally before hinting
|
||||||
<entry>Type</entry>
|
pixelsize Double Pixel size
|
||||||
<entry>Description</entry>
|
spacing Int Proportional, monospace or charcell
|
||||||
</row>
|
foundry String Font foundry name
|
||||||
</thead>
|
antialias Bool Whether glyphs can be antialiased
|
||||||
<tbody>
|
hinting Bool Whether the rasterizer should use hinting
|
||||||
<row><entry>family</entry><entry>String</entry><entry>Font family name</entry></row>
|
verticallayout Bool Use vertical layout
|
||||||
<row><entry>style</entry><entry>String</entry><entry>Font style. Overrides weight and slant</entry></row>
|
autohint Bool Use autohinter instead of normal hinter
|
||||||
<row><entry>slant</entry><entry>Int</entry><entry>Italic, oblique or roman</entry></row>
|
globaladvance Bool Use font global advance data
|
||||||
<row><entry>weight</entry><entry>Int</entry><entry>Light, medium, demibold, bold or black</entry></row>
|
file String The filename holding the font
|
||||||
<row><entry>size</entry><entry>Double</entry><entry>Point size</entry></row>
|
index Int The index of the font within the file
|
||||||
<row><entry>aspect</entry><entry>Double</entry><entry>Stretches glyphs horizontally before hinting</entry></row>
|
ftface FT_Face Use the specified FreeType face object
|
||||||
<row><entry>pixelsize</entry><entry>Double</entry><entry>Pixel size</entry></row>
|
rasterizer String Which rasterizer is in use
|
||||||
<row><entry>spacing</entry><entry>Int</entry><entry>Proportional, monospace or charcell</entry></row>
|
outline Bool Whether the glyphs are outlines
|
||||||
<row><entry>foundry</entry><entry>String</entry><entry>Font foundry name</entry></row>
|
scalable Bool Whether glyphs can be scaled
|
||||||
<row><entry>antialias</entry><entry>Bool</entry><entry>Whether glyphs can be antialiased</entry></row>
|
scale Double Scale factor for point->pixel conversions
|
||||||
<row><entry>hinting</entry><entry>Bool</entry><entry>Whether the rasterizer should use hinting</entry></row>
|
dpi Double Target dots per inch
|
||||||
<row><entry>verticallayout</entry><entry>Bool</entry><entry>Use vertical layout</entry></row>
|
rgba Int unknown, rgb, bgr, vrgb, vbgr,
|
||||||
<row><entry>autohint</entry><entry>Bool</entry><entry>Use autohinter instead of normal hinter</entry></row>
|
none - subpixel geometry
|
||||||
<row><entry>globaladvance</entry><entry>Bool</entry><entry>Use font global advance data</entry></row>
|
minspace Bool Eliminate leading from line spacing
|
||||||
<row><entry>file</entry><entry>String</entry><entry>The filename holding the font</entry></row>
|
charset CharSet Unicode chars encoded by the font
|
||||||
<row><entry>index</entry><entry>Int</entry><entry>The index of the font within the file</entry></row>
|
lang String List of RFC-3066-style languages this
|
||||||
<row><entry>ftface</entry><entry>FT_Face</entry><entry>Use the specified FreeType face object</entry></row>
|
font supports
|
||||||
<row><entry>rasterizer</entry><entry>String</entry><entry>Which rasterizer is in use</entry></row>
|
</programlisting>
|
||||||
<row><entry>outline</entry><entry>Bool</entry><entry>Whether the glyphs are outlines</entry></row>
|
</refsect2>
|
||||||
<row><entry>scalable</entry><entry>Bool</entry><entry>Whether glyphs can be scaled</entry></row>
|
<refsect2>
|
||||||
<row><entry>scale</entry><entry>Double</entry><entry>Scale factor for point->pixel conversions</entry></row>
|
|
||||||
<row><entry>dpi</entry><entry>Double</entry><entry>Target dots per inch</entry></row>
|
|
||||||
<row><entry>rgba</entry><entry>Int</entry><entry>unknown, rgb, bgr, vrgb, vbgr, none - subpixel geometry</entry></row>
|
|
||||||
<row><entry>minspace</entry><entry>Bool</entry><entry>Eliminate leading from line spacing</entry></row>
|
|
||||||
<row><entry>charset</entry><entry>CharSet</entry><entry>Unicode chars encoded by the font</entry></row>
|
|
||||||
<row><entry>lang</entry><entry>String</entry><entry>List of RFC-3066-style languages this font supports</entry></row>
|
|
||||||
</tbody>
|
|
||||||
</tgroup>
|
|
||||||
</table>
|
|
||||||
</sect2>
|
|
||||||
<sect2>
|
|
||||||
<title>FONT MATCHING</title>
|
<title>FONT MATCHING</title>
|
||||||
<para>
|
<para>
|
||||||
Fontconfig performs matching by measuring the distance from a provided
|
Fontconfig performs matching by measuring the distance from a provided
|
||||||
|
@ -183,8 +176,8 @@ suitable defaults. The second is to modify how the selected fonts are
|
||||||
rasterized. Those must apply to the selected font, not the original pattern
|
rasterized. Those must apply to the selected font, not the original pattern
|
||||||
as false matches will often occur.
|
as false matches will often occur.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</refsect2>
|
||||||
<sect2><title>FONT NAMES</title>
|
<refsect2><title>FONT NAMES</title>
|
||||||
<para>
|
<para>
|
||||||
Fontconfig provides a textual representation for patterns that the library
|
Fontconfig provides a textual representation for patterns that the library
|
||||||
can both accept and generate. The representation is in three parts, first a
|
can both accept and generate. The representation is in three parts, first a
|
||||||
|
@ -200,25 +193,18 @@ families or point sizes; they can be elided. In addition, there are
|
||||||
symbolic constants that simultaneously indicate both a name and a value.
|
symbolic constants that simultaneously indicate both a name and a value.
|
||||||
Here are some examples:
|
Here are some examples:
|
||||||
</para>
|
</para>
|
||||||
<table colsep=0 rowsep=0>
|
<programlisting>
|
||||||
<title>Sample Font Names</title>
|
Name Meaning
|
||||||
<tgroup cols=2 align=left colsep=0 rowsep=0>
|
----------------------------------------------------------
|
||||||
<thead><row>
|
Times-12 12 point Times Roman
|
||||||
<entry>Name</entry>
|
Times-12:bold 12 point Times Bold
|
||||||
<entry>Meaning</entry>
|
Courier:italic Courier Italic in the default size
|
||||||
</row></thead>
|
Monospace:matrix=1 .1 0 1 The users preferred monospace font
|
||||||
<tbody>
|
with artificial obliquing
|
||||||
<row><entry>Times-12</entry><entry>12 point Times Roman</entry></row>
|
</programlisting>
|
||||||
<row><entry>Times-12:bold</entry><entry>12 point Times Bold</entry></row>
|
</refsect2>
|
||||||
<row><entry>Courier:italic</entry><entry>Courier Italic in the default size</entry></row>
|
</refsect1>
|
||||||
<row><entry>Monospace:matrix=1 .1 0 1</entry><entry>The users preferred monospace font
|
<refsect1><title>LANG TAGS</title>
|
||||||
with artificial obliquing</entry></row>
|
|
||||||
</tbody>
|
|
||||||
</tgroup>
|
|
||||||
</table>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
<sect1><title>LANG TAGS</title>
|
|
||||||
<para>
|
<para>
|
||||||
Each font in the database contains a list of languages it supports. This is
|
Each font in the database contains a list of languages it supports. This is
|
||||||
computed by comparing the Unicode coverage of the font with the orthography
|
computed by comparing the Unicode coverage of the font with the orthography
|
||||||
|
@ -232,8 +218,8 @@ library. It currently supports 122 of the 139 languages named in ISO 639-1,
|
||||||
141 of the languages with two-letter codes from ISO 639-2 and another 30
|
141 of the languages with two-letter codes from ISO 639-2 and another 30
|
||||||
languages with only three-letter codes.
|
languages with only three-letter codes.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</refsect1>
|
||||||
<sect1><title>CONFIGURATION FILE FORMAT</title>
|
<refsect1><title>CONFIGURATION FILE FORMAT</title>
|
||||||
<para>
|
<para>
|
||||||
Configuration files for fontconfig are stored in XML format; this
|
Configuration files for fontconfig are stored in XML format; this
|
||||||
format makes external configuration tools easier to write and ensures that
|
format makes external configuration tools easier to write and ensures that
|
||||||
|
@ -253,56 +239,56 @@ following structure:
|
||||||
</fontconfig>
|
</fontconfig>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
<sect2><title><fontconfig></title><para>
|
<refsect2><title><literal><fontconfig></literal></title><para>
|
||||||
This is the top level element for a font configuration and can contain
|
This is the top level element for a font configuration and can contain
|
||||||
<dir>, <cache>, <include>, <match> and <alias> elements in any order.
|
<sgmltag>dir</>, <sgmltag>cache</>, <sgmltag>include</>, <sgmltag>match</> and <sgmltag>alias</> elements in any order.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><dir></title><para>
|
<refsect2><title><sgmltag>dir</></title><para>
|
||||||
This element contains a directory name which will be scanned for font files
|
This element contains a directory name which will be scanned for font files
|
||||||
to include in the set of available fonts.
|
to include in the set of available fonts.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><cache></title><para>
|
<refsect2><title><sgmltag>cache</></title><para>
|
||||||
This element contains a file name for the per-user cache of font
|
This element contains a file name for the per-user cache of font
|
||||||
information. If it starts with '~', it refers to a file in the users
|
information. If it starts with '~', it refers to a file in the users
|
||||||
home directory. This file is used to hold information about fonts that
|
home directory. This file is used to hold information about fonts that
|
||||||
isn't present in the per-directory cache files. It is automatically
|
isn't present in the per-directory cache files. It is automatically
|
||||||
maintained by the fontconfig library. The default for this file
|
maintained by the fontconfig library. The default for this file
|
||||||
is ``~/.fonts.cache-<version>'', where <version> is the font configuration
|
is ``~/.fonts.cache-<sgmltag>version</>'', where <sgmltag>version</> is the font configuration
|
||||||
file version number (currently 1).
|
file version number (currently 1).
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><include ignore_missing="no"></title><para>
|
<refsect2><title><sgmltag>include ignore_missing="no"</></title><para>
|
||||||
This element contains the name of an additional configuration file. When
|
This element contains the name of an additional configuration file. When
|
||||||
the XML datatype is traversed by FcConfigParse, the contents of the file
|
the XML datatype is traversed by FcConfigParse, the contents of the file
|
||||||
will also be incorporated into the configuration by passing the filename to
|
will also be incorporated into the configuration by passing the filename to
|
||||||
FcConfigLoadAndParse. If 'ignore_missing' is set to "yes" instead of the
|
FcConfigLoadAndParse. If 'ignore_missing' is set to "yes" instead of the
|
||||||
default "no", a missing file will elicit no warning message from the library.
|
default "no", a missing file will elicit no warning message from the library.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><config></title><para>
|
<refsect2><title><sgmltag>config</></title><para>
|
||||||
This element provides a place to consolodate additional configuration
|
This element provides a place to consolodate additional configuration
|
||||||
information. <config> can contain <blank> and <rescan> elements in any
|
information. <sgmltag>config</> can contain <sgmltag>blank</> and <sgmltag>rescan</> elements in any
|
||||||
order.
|
order.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><blank></title><para>
|
<refsect2><title><sgmltag>blank</></title><para>
|
||||||
Fonts often include "broken" glyphs which appear in the encoding but are
|
Fonts often include "broken" glyphs which appear in the encoding but are
|
||||||
drawn as blanks on the screen. Within the <blank> element, place each
|
drawn as blanks on the screen. Within the <sgmltag>blank</> element, place each
|
||||||
Unicode characters which is supposed to be blank in an <int> element.
|
Unicode characters which is supposed to be blank in an <sgmltag>int</> element.
|
||||||
Characters outside of this set which are drawn as blank will be elided from
|
Characters outside of this set which are drawn as blank will be elided from
|
||||||
the set of characters supported by the font.
|
the set of characters supported by the font.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><rescan></title><para>
|
<refsect2><title><sgmltag>rescan</></title><para>
|
||||||
The <rescan> element holds an <int> element which indicates the default
|
The <sgmltag>rescan</> element holds an <sgmltag>int</> element which indicates the default
|
||||||
interval between automatic checks for font configuration changes.
|
interval between automatic checks for font configuration changes.
|
||||||
Fontconfig will validate all of the configuration files and directories and
|
Fontconfig will validate all of the configuration files and directories and
|
||||||
automatically rebuild the internal datastructures when this interval passes.
|
automatically rebuild the internal datastructures when this interval passes.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><match target="pattern"></title><para>
|
<refsect2><title><sgmltag>match target="pattern"</></title><para>
|
||||||
This element holds first a (possibly empty) list of <test> elements and then
|
This element holds first a (possibly empty) list of <sgmltag>test</> elements and then
|
||||||
a (possibly empty) list of <edit> elements. Patterns which match all of the
|
a (possibly empty) list of <sgmltag>edit</> elements. Patterns which match all of the
|
||||||
tests are subjected to all the edits. If 'target' is set to "font" instead
|
tests are subjected to all the edits. If 'target' is set to "font" instead
|
||||||
of the default "pattern", then this element applies to the font name
|
of the default "pattern", then this element applies to the font name
|
||||||
resulting from a match rather than a font pattern to be matched.
|
resulting from a match rather than a font pattern to be matched.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><test qual="any" name="property" compare="eq"></title><para>
|
<refsect2><title><sgmltag>test qual="any" name="property" compare="eq"</></title><para>
|
||||||
This element contains a single value which is compared with the pattern
|
This element contains a single value which is compared with the pattern
|
||||||
property "property" (substitute any of the property names seen
|
property "property" (substitute any of the property names seen
|
||||||
above). 'compare' can be one of "eq", "not_eq", "less", "less_eq", "more", or
|
above). 'compare' can be one of "eq", "not_eq", "less", "less_eq", "more", or
|
||||||
|
@ -310,128 +296,102 @@ above). 'compare' can be one of "eq", "not_eq", "less", "less_eq", "more", or
|
||||||
succeeds if any value associated with the property matches the test value, or
|
succeeds if any value associated with the property matches the test value, or
|
||||||
"all", in which case all of the values associated with the property must
|
"all", in which case all of the values associated with the property must
|
||||||
match the test value.
|
match the test value.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><edit name="property" mode="assign" binding="weak"></title><para>
|
<refsect2><title><sgmltag>edit name="property" mode="assign" binding="weak"</></title><para>
|
||||||
This element contains a list of expression elements (any of the value or
|
This element contains a list of expression elements (any of the value or
|
||||||
operator elements). The expression elements are evaluated at run-time and
|
operator elements). The expression elements are evaluated at run-time and
|
||||||
modify the property "property". The modification depends on whether
|
modify the property "property". The modification depends on whether
|
||||||
"property" was matched by one of the associated <test> elements, if so, the
|
"property" was matched by one of the associated <sgmltag>test</> elements, if so, the
|
||||||
modification may affect the first matched value. Any values inserted into
|
modification may affect the first matched value. Any values inserted into
|
||||||
the property are given the indicated binding. 'mode' is one of:
|
the property are given the indicated binding. 'mode' is one of:
|
||||||
<table>
|
<programlisting>
|
||||||
<title>Edit Element Modes</title>
|
Mode With Match Without Match
|
||||||
<tgroup cols=3 align=left colsep=0 rowsep=0>
|
---------------------------------------------------------------------
|
||||||
<thead>
|
"assign" Replace matching value Replace all values
|
||||||
<row>
|
"assign_replace" Replace all values Replace all values
|
||||||
<entry>Mode</entry>
|
"prepend" Insert before matching Insert at head of list
|
||||||
<entry>Operation With Match</entry>
|
"prepend_first" Insert at head of list Insert at head of list
|
||||||
<entry>Operation Without Match</entry>
|
"append" Append after matching Append at end of list
|
||||||
</row>
|
"append_last" Append at end of list Append at end of list
|
||||||
</thead>
|
</programlisting>
|
||||||
<tbody>
|
</para></refsect2>
|
||||||
<row><entry>"assign"</entry><entry>Replace matching value</entry><entry>Replace all values</entry></row>
|
<refsect2><title><sgmltag>int</>, <sgmltag>double</>, <sgmltag>string</>, <sgmltag>bool</></title><para>
|
||||||
<row><entry>"assign_replace"</entry><entry>Replace all values</entry><entry>Replace all values</entry></row>
|
These elements hold a single value of the indicated type. <sgmltag>bool</> elements
|
||||||
<row><entry>"prepend"</entry><entry>Insert before matching value</entry><entry>Insert at head of list</entry></row>
|
|
||||||
<row><entry>"prepend_first"</entry><entry>Insert at head of list</entry><entry>Insert at head of list</entry></row>
|
|
||||||
<row><entry>"append"</entry><entry>Append after matching value</entry><entry>Append at end of list</entry></row>
|
|
||||||
<row><entry>"append_last"</entry><entry>Append at end of list</entry><entry>Append at end of list</entry></row>
|
|
||||||
</tbody>
|
|
||||||
</tgroup>
|
|
||||||
</table>
|
|
||||||
</para></sect2>
|
|
||||||
<sect2><title><int>, <double>, <string>, <bool></title><para>
|
|
||||||
These elements hold a single value of the indicated type. <bool> elements
|
|
||||||
hold either true or false.
|
hold either true or false.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><matrix></title><para>
|
<refsect2><title><sgmltag>matrix</></title><para>
|
||||||
This element holds the four <double> elements of an affine
|
This element holds the four <sgmltag>double</> elements of an affine
|
||||||
transformation.
|
transformation.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><name></title><para>
|
<refsect2><title><sgmltag>name</></title><para>
|
||||||
Holds a property name. Evaluates to the first value from the property of
|
Holds a property name. Evaluates to the first value from the property of
|
||||||
the font, not the pattern.
|
the font, not the pattern.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><const></title><para>
|
<refsect2><title><sgmltag>const</></title><para>
|
||||||
Holds the name of a constant; these are always integers and serve as
|
Holds the name of a constant; these are always integers and serve as
|
||||||
symbolic names for common font values:
|
symbolic names for common font values:
|
||||||
<table>
|
<programlisting>
|
||||||
<title>Symbolic Constants</title>
|
Constant Property Value
|
||||||
<tgroup cols=3 align=left colsep=0 rowsep=0>
|
-------------------------------------
|
||||||
<thead>
|
light weight 0
|
||||||
<row>
|
medium weight 100
|
||||||
<entry>Constant</entry>
|
demibold weight 180
|
||||||
<entry>Property</entry>
|
bold weight 200
|
||||||
<entry>CPP Symbol</entry>
|
black weight 210
|
||||||
</row>
|
roman slant 0
|
||||||
</thead>
|
italic slant 100
|
||||||
<tbody>
|
oblique slant 110
|
||||||
<row><entry>light</entry><entry>weight</entry></row>
|
proportional spacing 0
|
||||||
<row><entry>medium</entry><entry>weight</entry></row>
|
mono spacing 100
|
||||||
<row><entry>demibold</entry><entry>weight</entry></row>
|
charcell spacing 110
|
||||||
<row><entry>bold</entry><entry>weight</entry></row>
|
unknown rgba 0
|
||||||
<row><entry>black</entry><entry>weight</entry></row>
|
rgb rgba 1
|
||||||
<row><entry>roman</entry><entry>slant</entry></row>
|
bgr rgba 2
|
||||||
<row><entry>italic</entry><entry>slant</entry></row>
|
vrgb rgba 3
|
||||||
<row><entry>oblique</entry><entry>slant</entry></row>
|
vbgr rgba 4
|
||||||
<row><entry>proportional</entry><entry>spacing</entry></row>
|
none rgba 5
|
||||||
<row><entry>mono</entry><entry>spacing</entry></row>
|
</programlisting>
|
||||||
<row><entry>charcell</entry><entry>spacing</entry></row>
|
|
||||||
<row><entry>unknown</entry><entry>rgba</entry></row>
|
|
||||||
<row><entry>rgb</entry><entry>rgba</entry></row>
|
|
||||||
<row><entry>bgr</entry><entry>rgba</entry></row>
|
|
||||||
<row><entry>vrgb</entry><entry>rgba</entry></row>
|
|
||||||
<row><entry>vbgr</entry><entry>rgba</entry></row>
|
|
||||||
<row><entry>none</entry><entry>rgba</entry></row>
|
|
||||||
</tbody>
|
|
||||||
</tgroup>
|
|
||||||
</table>
|
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</refsect2>
|
||||||
<sect2><title><or>,
|
<refsect2>
|
||||||
<and>,
|
<title><sgmltag>or</>, <sgmltag>and</>, <sgmltag>plus</>, <sgmltag>minus</>, <sgmltag>times</>, <sgmltag>divide</></title>
|
||||||
<plus>,
|
<para>
|
||||||
<minus>,
|
|
||||||
<times>,
|
|
||||||
<divide></title><para>
|
|
||||||
These elements perform the specified operation on a list of expression
|
These elements perform the specified operation on a list of expression
|
||||||
elements. <or> and <and> are boolean, not bitwise.
|
elements. <sgmltag>or</> and <sgmltag>and</> are boolean, not bitwise.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</refsect2>
|
||||||
<sect2><title><eq>,
|
<refsect2>
|
||||||
<not_eq>,
|
<title><sgmltag>eq</>, <sgmltag>not_eq</>, <sgmltag>less</>, <sgmltag>less_eq</>, <sgmltag>more</>, <sgmltag>more_eq</></title>
|
||||||
<less>,
|
<para>
|
||||||
<less_eq>,
|
|
||||||
<more>,
|
|
||||||
<more_eq></title><para>
|
|
||||||
These elements compare two values, producing a boolean result.
|
These elements compare two values, producing a boolean result.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><not></title><para>
|
<refsect2><title><sgmltag>not</></title><para>
|
||||||
Inverts the boolean sense of its one expression element
|
Inverts the boolean sense of its one expression element
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><if></title><para>
|
<refsect2><title><sgmltag>if</></title><para>
|
||||||
This element takes three expression elements; if the value of the first is
|
This element takes three expression elements; if the value of the first is
|
||||||
true, it produces the value of the second, otherwise it produces the value
|
true, it produces the value of the second, otherwise it produces the value
|
||||||
of the third.
|
of the third.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><alias></title><para>
|
<refsect2><title><sgmltag>alias</></title><para>
|
||||||
Alias elements provide a shorthand notation for the set of common match
|
Alias elements provide a shorthand notation for the set of common match
|
||||||
operations needed to substitute one font family for another. They contain a
|
operations needed to substitute one font family for another. They contain a
|
||||||
<family> element followed by optional <prefer>, <accept> and <default>
|
<sgmltag>family</> element followed by optional <sgmltag>prefer</>, <sgmltag>accept</> and <sgmltag>default</>
|
||||||
elements. Fonts matching the <family> element are edited to prepend the
|
elements. Fonts matching the <sgmltag>family</> element are edited to prepend the
|
||||||
list of <prefer>ed families before the matching <family>, append the
|
list of <sgmltag>prefer</>ed families before the matching <sgmltag>family</>, append the
|
||||||
<accept>able familys after the matching <family> and append the <default>
|
<sgmltag>accept</>able familys after the matching <sgmltag>family</> and append the <sgmltag>default</>
|
||||||
families to the end of the family list.
|
families to the end of the family list.
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><family></title><para>
|
<refsect2><title><sgmltag>family</></title><para>
|
||||||
Holds a single font family name
|
Holds a single font family name
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
<sect2><title><prefer>, <accept>, <default></title><para>
|
<refsect2><title><sgmltag>prefer</>, <sgmltag>accept</>, <sgmltag>default</></title><para>
|
||||||
These hold a list of <family> elements to be used by the <alias> element.
|
These hold a list of <sgmltag>family</> elements to be used by the <sgmltag>alias</> element.
|
||||||
</article>
|
<sgmltag>/article</>
|
||||||
</para></sect2>
|
</para></refsect2>
|
||||||
</sect1>
|
</refsect1>
|
||||||
<sect1><title>EXAMPLE CONFIGURATION FILE</title>
|
<refsect1><title>EXAMPLE CONFIGURATION FILE</title>
|
||||||
<sect2><title>System configuration file</title>
|
<refsect2><title>System configuration file</title>
|
||||||
<para>
|
<para>
|
||||||
This is an example of a system-wide configuration file
|
This is an example of a system-wide configuration file
|
||||||
</para>
|
</para>
|
||||||
|
@ -510,8 +470,8 @@ This is an example of a system-wide configuration file
|
||||||
</alias>
|
</alias>
|
||||||
</fontconfig>
|
</fontconfig>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</sect2>
|
</refsect2>
|
||||||
<sect2><title>User configuration file</title>
|
<refsect2><title>User configuration file</title>
|
||||||
<para>
|
<para>
|
||||||
This is an example of a per-user configuration file that lives in
|
This is an example of a per-user configuration file that lives in
|
||||||
~/.fonts.conf
|
~/.fonts.conf
|
||||||
|
@ -537,9 +497,9 @@ This is an example of a per-user configuration file that lives in
|
||||||
</match>
|
</match>
|
||||||
</fontconfig>
|
</fontconfig>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</sect2>
|
</refsect2>
|
||||||
</sect1>
|
</refsect1>
|
||||||
<sect1><title>FILES</title>
|
<refsect1><title>FILES</title>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>fonts.conf</emphasis>
|
<emphasis>fonts.conf</emphasis>
|
||||||
contains configuration information for the fontconfig library
|
contains configuration information for the fontconfig library
|
||||||
|
@ -561,5 +521,5 @@ actual location is specified in the global fonts.conf file.
|
||||||
is the conventional repository of font information that isn't found in the
|
is the conventional repository of font information that isn't found in the
|
||||||
per-directory caches. This file is automatically maintained by fontconfig.
|
per-directory caches. This file is automatically maintained by fontconfig.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</refsect1>
|
||||||
</article>
|
</refentry>
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
@?TITLE@
|
||||||
|
<refentry id="@TITLE@">
|
||||||
|
@:@
|
||||||
|
<refentry id="@FUNC@">
|
||||||
|
@;@
|
||||||
|
<refmeta>
|
||||||
|
@?TITLE@
|
||||||
|
<refentrytitle>@TITLE@</refentrytitle>
|
||||||
|
@:@
|
||||||
|
<refentrytitle>@FUNC@</refentrytitle>
|
||||||
|
@;@
|
||||||
|
<manvolnum>3</manvolnum>
|
||||||
|
</refmeta>
|
||||||
|
<refnamediv>
|
||||||
|
@{PROTOTYPE@
|
||||||
|
<refname>@FUNC@</refname>
|
||||||
|
@}PROTOTYPE@
|
||||||
|
<refpurpose>@PURPOSE@</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<funcsynopsis>
|
||||||
|
<funcsynopsisinfo>
|
||||||
|
@?SYNOPSIS@
|
||||||
|
@SYNOPSIS@
|
||||||
|
@:@
|
||||||
|
#include <fontconfig.h>
|
||||||
|
@;@
|
||||||
|
</funcsynopsisinfo>
|
||||||
|
@{PROTOTYPE@
|
||||||
|
<funcprototype>
|
||||||
|
<funcdef>@?RET@@RET@@:@void@;@ <function>@FUNC@</function></funcdef>
|
||||||
|
@?TYPE1@
|
||||||
|
<paramdef>@TYPE1@<parameter>@ARG1@</parameter></paramdef>
|
||||||
|
@;@
|
||||||
|
@?TYPE2@
|
||||||
|
<paramdef>@TYPE2@<parameter>@ARG2@</parameter></paramdef>
|
||||||
|
@;@
|
||||||
|
@?TYPE3@
|
||||||
|
<paramdef>@TYPE3@<parameter>@ARG3@</parameter></paramdef>
|
||||||
|
@;@
|
||||||
|
@?TYPE4@
|
||||||
|
<paramdef>@TYPE4@<parameter>@ARG4@</parameter></paramdef>
|
||||||
|
@;@
|
||||||
|
@?TYPE5@
|
||||||
|
<paramdef>@TYPE5@<parameter>@ARG5@</parameter></paramdef>
|
||||||
|
@;@
|
||||||
|
@?TYPE6@
|
||||||
|
<paramdef>@TYPE6@<parameter>@ARG6@</parameter></paramdef>
|
||||||
|
@;@
|
||||||
|
@?TYPE7@
|
||||||
|
<paramdef>@TYPE7@<parameter>@ARG7@</parameter></paramdef>
|
||||||
|
@;@
|
||||||
|
</funcprototype>
|
||||||
|
@}PROTOTYPE@
|
||||||
|
</funcsynopsis>
|
||||||
|
<refsect1><title>Description</title>
|
||||||
|
<para>
|
||||||
|
@DESC@
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
Loading…
Reference in New Issue