Update fontconfig manual to match current bits
diff --git a/src/fontconfig.man b/src/fontconfig.man
index eb9915f..3496f9c 100644
--- a/src/fontconfig.man
+++ b/src/fontconfig.man
@@ -35,7 +35,6 @@
 .nf
 .B #include <fontconfig/fontconfig.h>
 .B #include <fontconfig/fcfreetype.h>
-.B #include <fontconfig/fcxml.h>
 .fi
 .SH DESCRIPTION
 .B Fontconfig
@@ -48,7 +47,7 @@
 which accepts font patterns and returns the nearest matching font.
 
 .SS FONT CONFIGURATION
-The configuration module consists of the FcConfig datatype, libxml2 and
+The configuration module consists of the FcConfig datatype, libexpat and
 FcConfigParse which walks over an XML tree and ammends a configuration with
 data found within.  From an external perspective, configuration of the
 library consists of generating a valid XML tree and feeding that to
@@ -88,15 +87,18 @@
 slant	FC_SLANT	Int	Italic, oblique or roman
 weight	FC_WEIGHT	Int	Light, medium, demibold, bold or black
 size	FC_SIZE	Double	Point size
+aspect	FC_ASPECT	Double	Stretches glyphs horizontally before hinting
 pixelsize	FC_PIXEL_SIZE	Double	Pixel size
 spacing	FC_SPACING	Int	Proportional, monospace or charcell
 foundry	FC_FOUNDRY	String	Font foundry name
 antialias	FC_ANTIALIAS	Bool	Whether glyphs can be antialiased
 hinting	FC_HINTING	Bool	Whether the rasterizer should use hinting
 verticallayout	FC_VERTICAL_LAYOUT	Bool	Use vertical layout
+autohint	FC_AUTOHINT	Bool	Use autohinter instead of normal hinter
 globaladvance	FC_GLOBAL_ADVANCE	Bool	Use font global advance data
 file	FC_FILE	String	The filename holding the font
 index	FC_INDEX	Int	The index of the font within the file
+ftface	FC_FT_FACE	FT_Face	Use the specified FreeType face object
 rasterizer	FC_RASTERIZER	String	Which rasterizer is in use
 outline	FC_OUTLINE	Bool	Whether the glyphs are outlines
 scalable	FC_SCALABLE	Bool	Whether glyphs can be scaled
@@ -105,7 +107,7 @@
 rgba	FC_RGBA	Int	rgb, bgr, vrgb, vbgr - subpixel geometry
 minspace	FC_MINSPACE	Bool	Eliminate leading from line spacing
 charset	FC_CHARSET	CharSet	Unicode chars encoded by the font
-lang	FC_LANG	String	List of language groups this font is designed for
+lang	FC_LANG	String	List of RFC-3066-style languages this font supports
 .DT
 .fi
 
@@ -134,10 +136,16 @@
 .P
 The canonical font pattern is finally matched against all available fonts.
 The distance from the pattern to the font is measured for each of several
-properties: foundry, charset, antialias, family, spacing, pixelsize, style,
-slant, weight, rasterizer and outline.  This list is in priority order --
-results of comparing earlier elements of this list weigh more heavily than
-later elements.
+properties: foundry, charset, family, lang, spacing, pixelsize, style,
+slant, weight, antialias, rasterizer and outline.  This list is in priority
+order -- results of comparing earlier elements of this list weigh more
+heavily than later elements.
+.P
+There is one special case to this rule; family names are split into two
+bindings; strong and weak.  Strong family names are given greater precedence
+in the match than lang elements while weak family names are given lower
+precedence than lang elements.  This permits the document language to drive
+font selection when any document specified font is unavailable.
 .P
 The pattern representing that font is augmented to include any properties
 found in the pattern but not found in the font itself; this permits the
@@ -181,6 +189,21 @@
 .fi
 .DT
 
+.SH LANG TAGS
+.P
+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
+of each language.  Languages are tagged using an RFC-3066 compatible naming
+and occur in two parts -- the ISO639 language tag followed a hyphen and then
+by the ISO 3166 country code.  The hyphen and country code may be elided.
+
+.P
+Fontconfig has orthographies for several languages built into the library.
+No provision has been made for adding new ones aside from rebuilding the
+library.  It currently supports 104 of the 139 languages named in ISO 639-1,
+117 of the languages with two-letter codes from ISO 639-2 and another 24
+languages with only three-letter codes.
+
 .SH DATATYPES
 
 .TP
@@ -465,6 +488,11 @@
 retains no reference to any application-supplied data structure.
 
 .TP
+FcBool FcPatternAddWeak (FcPattern *p, const char *object, FcValue value, FcBool append)
+FcPatternAddWeak is essentially the same as FcPatternAdd except that any
+values added to the list have binding 'weak' instead of 'strong'.
+
+.TP
 FcBool FcPatternAddInteger (FcPattern *p, const char *object, int i)
 .TQ
 FcBool FcPatternAddDouble (FcPattern *p, const char *object, double d)
@@ -817,11 +845,30 @@
 of bytes containing the char.  'src' nust be at least 'len' bytes long.
 
 .TP
-FcBool FcUtf8Len (FcChar8 *string, int len, int *nchar, int *wchar)
-Counts the number of Unicode chars in 'len' bytes of 'string'.  Places that
+int FcUcs4ToUtf8 (FcChar32 src, FcChar8 dst[FC_UTF8_MAX_LEN])
+Converts the Unicode char from 'src' into 'dst' and returns the
+number of bytes needed to encode the char.
+
+.TP
+FcBool FcUtf8Len (FcChar8 *src, int len, int *nchar, int *wchar)
+Counts the number of Unicode chars in 'len' bytes of 'src'.  Places that
 count in 'nchar'.  'wchar' contains 1, 2 or 4 depending on the number of
 bytes needed to hold the largest unicode char counted.  The return value
-indicates whether 'string' is a well-formed UTF8 string.
+indicates whether 'src' is a well-formed UTF8 string.
+
+.TP
+int FcUtf16ToUcs4 (FcChar8 *src, FcEndian endian, FcChar32 *dst, int len)
+Converts the next Unicode char from 'src' into 'dst' and returns the
+number of bytes containing the char. 'src' must be at least 'len' bytes
+long.  Bytes of 'src' are combined into 16-bit units according to 'endian'.
+
+.TP
+FcBool FcUtf16Len (FcChar8 *src, FcEndian endian, int len, int *nchar, int *wchar)
+Counts the number of Unicode chars in 'len' bytes of 'src'.  Bytes of
+'src' are combined into 16-bit units according to 'endian'.  Places that
+count in 'nchar'.  'wchar' contains 1, 2 or 4 depending on the number of
+bytes needed to hold the largest unicode char counted.  The return value
+indicates whether 'string' is a well-formed UTF16 string.
 
 .TP
 char *FcStrCopy (const char *s)
@@ -877,12 +924,30 @@
 FcConfigLoadAndParse.  If 'ignore_missing' is set to "yes" instead of the
 default "no", a missing file will elicit no warning message from the library.
 
+.SS <config>
+This element provides a place to consolodate additional configuration
+information.  <config> can contain <blank> and <rescan> elements in any
+order.
+
+.SS <blank>
+Fonts often include "broken" glyphs which appear in the encoding but are
+drawn as blanks on the screen.  Within the <blank> element, place each
+Unicode characters which is supposed to be blank in an <int> element.
+Characters outside of this set which are drawn as blank will be elided from
+the set of characters supported by the font.  <b
+
+.SS <rescan>
+The <rescan> element holds an <int> element which indicates the default
+interval between automatic checks for font configuration changes.
+Fontconfig will validate all of the configuration files and directories and
+automatically rebuild the internal datastructures when this interval passes.
+
 .SS <match target="pattern">
-This element holds first a (possibly empty) list of tests and then a
-(possibly empty) list of edits.  Patterns which match all of the 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 resulting from
-a match rather than a font pattern to be matched.
+This element holds first a (possibly empty) list of <test> elements and then
+a (possibly empty) list of <edit> elements.  Patterns which match all of the
+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
+resulting from a match rather than a font pattern to be matched.
 
 .SS <test qual="any" name="property" compare="eq">
 This element contains a single value which is compared with the pattern
@@ -893,12 +958,13 @@
 "all", in which case all of the values associated with the property must
 match the test value.
 
-.SS <edit name="property" mode="assign">
+.SS <edit name="property" mode="assign" binding="weak">
 This element contains a list of expression elements (any of the value or
 operator elements).  The expression elements are evaluated at run-time and
 modify the property "property".  The modification depends on whether
 "property" was matched by one of the associated <test> elements, if so, the
-modification may affect the first matched value.  'mode' is one of:
+modification may affect the first matched value.  Any values inserted into
+the property are given the indicated binding. 'mode' is one of:
 .nf
 .RS
 .ta 1i 3i 5i