2 Font configuration and customization library
6 Check INSTALL for compilation and installation instructions.
7 Report bugs to https://bugs.freedesktop.org in the fontconfig module.
11 fc-cat can take directories as input and creates old-style fonts.cache
13 fc-cache takes -r --really-force which blows away all old caches and
15 Robustness fixes, integer overflow fixes (notably to cache handling
16 code), toast broken global cache files.
17 Change binary format to make it compatible with static langset
18 information (thanks to Takashi Iwai).
19 Open hashed caches before fonts.cache-2 (Takashi Iwai).
20 Fix FcFontSetMatch's algorithm, which used to unjustly kill fonts for
21 not declaring certain elements (Takashi Iwai).
22 Fix matching bug when multiple elements match; don't use
23 the sum of all scores, but the best score (James Su).
24 Make fc-lang more friendly to Windows systems.
25 Remove archaic chars from Georgian charset; add Euro character to
26 charsets for European languages.
27 Fix treatment of broken PCF fonts that don't declare family names.
28 Pass O_BINARY to open if appropriate (reported by Doodle).
29 Normalize font directories to the form in which they appear in
31 Add a record of the cached directory to the cache file.
32 Perf optimizations (Dirk Mueller; some reported by Michael Meeks.)
33 Don't loop infinitely on recursive symlinks.
34 Make 'make distcheck' work with automake 1.6.3.
35 Replace 'stamp' target with mkinstalldirs.
36 Don't stop scanning if a directory in fonts.conf doesn't exist,
37 because subsequent directories might exist.
38 Put directory names into global cache (reported by Ronny V. Vindenes).
39 Treat zh-hk fonts differently from zh-tw fonts. This patch may cause
40 fontconfig to treat A-X fonts differently from A-Y fonts; please mail
41 the fontconfig list if this causes any problems.
42 Fix for unaligned memory accesses (Andreas Schwab).
43 Fix treatment of cache directory as read from cache file; don't use
44 string equality to determine if we have the right file, use inode
46 Properly skip past dir caches that contain zero fonts, as occurs
47 in global caches (reported by Mike Fabian).
48 Print out full pathname in fc-match -v (reported by Frederic Crozat).
49 Fix bug where fc-match crashes when given __DUMMY__ property to
54 Create cache files in /var/cache/fontconfig with hashed filenames, if
55 possible, for added FHS compliance.
56 Make fc-cat read both per-directory and global cache files.
57 Add config file for Persian fonts from Sharif FarsiWeb, Inc.
58 Major performance improvements by Dirk Mueller, Stephen Kulow, and Michael Matz at SuSE: in particular, speed up FcFontSetMatch, and inline many functions.
59 Fix treatment of globs in config files, broken since 2.3.2 and discovered by Mathias Clasen.
60 Don't use freetype internal headers (patch by Matthias Clasen).
61 Further space improvements: create langsets statically, so that they can live in .rodata.
62 Properly align mmapped data structures to make e.g. ia64 happy.
67 Fix corrupted caches bugs from 2.3.91 (reported by Mike Fabian).
68 Store only basename in the cache, reconstitute on demand
69 (reported by James Cloos).
70 Change the rule for artificial emboldening in fonts.conf.in. This
71 enables the support for artificial emboldening included in cairo
73 Add FC_EMBEDDED_BITMAP object type to tell Xft/Cairo whether
74 to load embedded bitmaps or not (patch by Jinghua Luo).
75 Fix GCC4 warnings (some by Behdad Esfahbod).
76 Support localized font family and style names; this has been reported
77 to break old apps like xfd, but modern (gtk+/qt/mozilla) apps work
78 fine (patch by Zhe Su).
79 Prevent fc-list from escaping strings when printing them (reported by
81 Add valist sentinel markup for FcObjectSetBuild and
82 FcPatternBuild (patch by Marcus Meissner).
83 Add consts to variables so as to move arrays into .rodata (patch by
85 Modify config file to use Greek fonts before Asian fonts with
86 Greek glyphs. (patch by Simos Xenitellis).
87 Use libtool -no-undefined flag on all platforms (patch by Christian
92 Use libxml2 if requested or if expat not available. (Mathias Hasselmann)
93 Fix multi-arch cache files: compute the position for the
94 block to be added using info from OrigFile, not NewFile. (plam)
95 Cast results of sizeof() to unsigned int to get rid of
96 warnings on x86_64 (reported by Matthias Clasen).
97 Use FcAtomic to rewrite cache files; don't unlink the fonts.cache-2
98 file even if there's no data to write; just write an empty cache file.
99 (Reported by Lubos Lunak)
100 Allocate room for the subdirectory names in each directory cache.
101 (Reported by James Cloos)
105 Development release of mmap patch: load pattern information
106 directly from cache files. (Patrick Lam)
110 Patch memory leaks in using iconv. (Reported by Chris Capoccia)
111 Patch memory leaks in fc-cache. (Reported by Chris Capoccia)
112 Fetch bitmap glyphs to get widths during font evaluation. (keithp)
113 Share strings through FcObjectStaticName (Ross Burton)
114 Windows build updates (Tor Lillqvist)
118 Be more careful about broken GSUB/GPOS tables (Manish Singh)
119 Include debian packaging stuff in CVS (Josselin Mouette)
120 Add more conf.d examples (Keith Packard)
121 Make manuals build again (Keith Packard)
122 Johap -> Johab (Funda Wang)
126 Fix memory leak of patterns rejected by configuration (#2518)
128 Create prototype /etc/fonts/conf.d directory and populate it with a few
129 sample files. These samples are unused as the file names don't start with
132 Update documentation.
136 Verify cache for FC_FILE and FC_FAMILY in every entry (#2219)
138 Update blanks list from recent Unicode docs (#86)
140 Various small build fixes (#280, #2278,
142 Documentation fixes (#2085, #2284, #2285)
144 Add polite typechecking to config file loader (#229)
148 Share object name strings (Michael Meeks)
150 Eliminate a couple of codepoints from Russian orthography (John Thacker)
152 Add synthetic emboldening configuration changes (Jakub Pavelek)
154 Change FcFontSetSort to ignore language after fonts with the requested
155 languages have been found. (Owen Taylor)
157 Add some RedHat font configuration changes (Owen Tayler).
159 Add full Unicode case folding support to case-ignoring string functions
162 Remove Han characters from Korean orthography (Tor Andersson)
166 Fc-cache sleeps before exiting to ensure filesystem timestamps are well
169 Added Punjai orthography.
171 The timestamp in fonts.conf is gone now. Too many problems.
173 The default font path includes all of the X fonts; use selectfont/rejectfont
174 to eliminate bitmaps, as shown in the sample local.conf file.
176 <include> configuration elements may now reference a directory. Files
177 in that directory matching [0-9]* are loaded in UTF-8 collating sequence order.
179 <selectfont> configuration added to control which fonts are used.
181 fontformat font pattern elements built from the FT_Get_X11_Font_Format
182 function in newer versions of FreeType.
184 'capability' list constructed from gsub/gpos and silf values in TrueType
187 Multi-lingual names (style, family, fullname) extracted and stored with
188 parallel <foo>lang properties marking language.
192 Fix FcConfigUpToDate to actually check all font directories and eliminate
193 a typo which completely prevented it from working (Lubos Lunak
196 Remove comma at end of FcResult enum definition for picky compilers.
200 Add FcResultOutOfMemory so FcFontSetMatch can return accurate error.
202 Replace MIN/MAX/ABS macros which happened to be in old FreeType releases
203 with FC_MIN/FC_MAX/FC_ABS macros owned by fontconfig.
207 The 2.2.93 release was prepared with a broken libtool which created
208 the shared library without the '.so' in the file names.
212 This is the third prerelease of fontconfig 2.3. Significant changes from
215 o Use new FreeType #include syntax
216 o use y_ppem field instead of 'height' in bitmap sizes rec -
217 FreeType changed the semantics. Still uses height for
218 older versions of FreeType
219 o Don't construct program manuals unless docbook is available
223 o make distcheck work
227 o Switch to SGML manuals
228 o Add FC_DUAL width spacing value
229 o Add FcFini to close out fontconfig and release all memory
233 This is the third public release of fontconfig, a font configuration and
234 customization library. Fontconfig is designed to locate fonts within the
235 system and select them according to requirements specified by applications.
237 Fontconfig is not a rasterization library, nor does it impose a particular
238 rasterization library on the application. The X-specific library
239 'Xft' uses fontconfig along with freetype to specify and rasterize fonts.