2 Font configuration and customization library
7 Check INSTALL for compilation and installation instructions.
8 Report bugs to https://bugs.freedesktop.org in the fontconfig module.
13 FcStrCanonFileName buggy for mingw. (bug 8311)
14 More fixes for Win32 building (bug 8311)
17 Don't use varargs CPP macros in fccache.c. (bug 8733)
20 Remove documentation for non-existant FcConfigNormalizeFontDir.
21 Build fontconfig.def from header files when needed.
22 Detect and use available random number generator (bug 8308)
23 Add sparc64 architecture string.
24 FcStrCanonAbsoluteFilename should be static.
25 Use explicit platform/nameid order when scanning ttf files.
26 Warn (and recover) from config file without <cachedir> elements.
27 Avoid writing uninitialized structure pad bytes to cache files.
28 Fix grep pattern in makealias to work on non-Gnu grep (bug 8368).
29 Add FcFreeTypeQueryFace external API. Bug #7311.
30 Segfault scanning non-font files. Disallow scan edit of user vars. (#8767)
31 Add space between type and formal in devel man pages (bug 8935)
34 Do not clean cache files for different architectures
37 A VPATH build of fontconfig-2.4.1 fails for various reasons. Bug 8933.
38 Use <literal> instead of <sgmltag> when documenting fonts.conf. Bug 8935.
39 Fix fc-cat documentation (bug 8935).
45 Update installation notes for 2.4 base.
46 Add ppc64 signature. Bug 8227
47 Add signatures for m68k and mipsel (thanks debian buildd)
48 Add warning flags to fc-cache build. Clean up warnings in fc-cache.
49 Reimplement FcConfigAppFontAddDir; function was lost in 2.4.0.
54 Replace character discovery loop with simpler, faster version.
57 Move files from conf.d to conf.avail
58 Standardize conf.avail number prefixing convention
59 Support all five possibilities for sub-pixel
60 Move user and local conf file loading into conf.avail files
61 Number the remaining conf.avail files
62 Update Makefile.am to match conf.avail changes
63 Replace load of conf.d in fonts.conf.in
64 Make room for chunks from fonts.conf in conf.avail
65 Re-order old conf.d files
66 Move some section from fonts.conf into conf.avail files
67 Update Makefile.am files
68 Make conf.avail and conf.d work
71 Create fc_cachedir at install time. Bug 8157.
72 Reference patterns in FcCacheCopySet.
73 Replace gnu-specific sed command with simple grep.
74 Attempt to fix makealias usage for build on Mac OS X.
75 Accept locale environment variables that do not contain territory.
76 Merge branch 'jhcloos'
77 Insert newly created caches into reference data structure.
78 Add XML headers to new conf files. Move link make commands to conf.avail dir
79 Rename conf.avail to conf.d
80 Fix conf.d directory sorting.
81 Include cachedir in fonts.dtd.
82 Don't display tests for DESTDIR on make install.
83 Split much of the configuration into separate files. Renumber files
88 Rename FcPatternThawAll to FcPatternFini.
89 Add a configuration file that disables hinting for the Lohit Gujarati font
92 Various GCC 4 cleanups for signed vs unsigned char
93 Finish INSTALL changes. .gitignore ChangeLog
94 Merge branch 'fc-2_4_branch' to master
95 Remove all .cvsignore files
96 Hide private functions in shared library. Export functionality for utilities.
97 Hide FreeType glue code from library ABI.
98 Can't typecheck values for objects with no known type.
99 Leave cache files mapped permanently.
100 Reference count cache objects.
101 Make cache reference counting more efficient.
102 Oops, fc-lang broke when I added cache referencing.
103 Correct reference count when sharing cache file objects.
104 Eliminate .so PLT entries for local symbols. (thanks to Arjan van de Ven)
105 Update architecture signatures for x86-64 and ppc.
106 Parallel build fix for fcalias.h and fcaliastail.h
107 Charset hashing depended on uniqueness of leaves.
110 file Makefile.am was initially added on branch fc-2_4_branch.
111 Modify config file to use Greek fonts before Asian fonts with Greek glyphs.
112 Use libtool -no-undefined flag on all platforms.
113 file ftglue.c was initially added on branch fc-2_4_branch.
114 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam
115 file 10-fonts-persian.conf was initially added on branch fc-2_4_branch.
116 Sort directory entries while scanning them from disk; prevents Heisenbugs
117 file ln.orth was initially added on branch fc-2_4_branch.
118 Fix typos in orth files. Reported by Denis Jacquerye.
119 On Windows, unlink before rename. Reported by Tim Evans.
120 file fc-match.sgml was initially added on branch fc-2_4_branch.
125 Make path names in cache files absolute (NB, cache format change) Stop
126 Eliminate pattern freezing
128 Construct short architecture name from architecture signature.
129 Write caches to first directory with permission. Valid cache in FcDirCacheOpen.
130 Eliminate NormalizeDir. Eliminate gratuitous stat/access calls per dir.
131 Add architecture to cache filename.
132 Eliminate global cache. Eliminate multi-arch cache code.
133 Fix up fc-cache and fc-cat for no global cache changes.
134 Eliminate ./ and ../ elements from font directory names when scanning.
135 Regenerate x86 line in fcarch.tmpl.h to match change in cache data.
136 Add x86-64 architecture and signature.
137 During test run, remove cache directory to avoid stale cache usage.
139 Revert to original FcFontSetMatch algorithm to avoid losing fonts.
140 Rework cache files to use offsets for all data structures.
141 Fix build problems caused by cache rework.
142 FcCharSetSerialize was using wrong offset for leaves. Make fc-cat work.
143 Rework Object name database to unify typechecking and object lookup.
144 Skip broken caches. Cache files are auto-written, don't rewrite in fc-cache.
145 Fix fc-cat again. Sigh.
146 Use intptr_t instead of off_t inside FcCache structure.
147 Serialized value lists were only including one value.
148 Automatically remove invalid cache files.
149 With no args, fc-cat now dumps all directories.
150 Revert ABI changes from version 2.3
151 Change $(pkgcachedir) to $(fc_cachedir) in fc-cat and fc-cache Makefile.am
152 Allow FcTypeLangSet to match either FcTypeLangSet or FcTypeString.
153 Remove stale architecture signatures.
154 Pass directory information around in FcCache structure. Freeze charsets.
155 Fix fc-lang to use new charset freezer API.
156 Fontset pattern references are relative to fontset, not array.
158 Only rebuild caches for system fonts at make install time.
159 Fix memory leaks in fc-cache directory cleaning code.
160 Add @EXPAT_LIBS@ to Libs.private in fontconfig.pc (bug 7683)
161 Avoid #warning directives on non-GCC compilers. (bug 7683)
162 Chinese/Macau needs the Hong Kong orthography instead of Taiwan (bug 7884)
163 Add Assamese orthography (as.orth). Bug #8050
164 Really only rebuild caches for system fonts at make install time.
165 Fonts matching lang not territory should satisfy sort pattern lang.
166 Prefer Bitstream Vera to DejaVu families.
167 Guess that mac roman names with lots of high bits are actually SJIS.
168 Document FC_DEBUG values (bug 6393). Document name \ escape syntax.
169 Move Free family names to bottom of respective aliases. (bug 7429)
170 Unify directory canonicalization into FcStrAddFilename.
171 Allow font caches to contain newer version numbers
172 Add FcMatchScan to resolve Delicious font matching issues (bug #6769)
173 Fix missing initialization/destruction of new 'scan' target subst list.
174 Don't segfault when string values can't be parsed as charsets or langsets.
175 Using uninitialized (and wrong) variable in FcStrCopyFilename.
176 Oops; missed the 60-delicious.conf file.
179 Keith Packard <keithp@keithp.com>
180 2006-04-27 Paolo Borelli (pborelli@katamail.com) reviewed by: plam
181 2006-05-31 Yong Li (rigel863@gmail.com) reviewed by: plam, Bedhad Esfahbod
182 2006-07-19 Jon Burgess (jburgess@uklinux.net) reviewed by: plam
183 2006-08-04 Keith Packard (keithp@keithp.com) reviewed by: plam
187 Match 'Standard Symbols L' for 'Symbol'. Add URW fonts as aliases for
188 all of the PostScript fonts. (reported by Miguel Rodriguez). Fix a
189 number of Coverity defects (Frederic Crozat). Speed up FcFontSort
190 (fix suggested by Kenichi Handa). Fix error with charsets. Survive
191 missing docbook2pdf. Compile on HP-UX, AIX, SGI and Windows (Cygwin,
192 MinGW). Fix intel compiler warnings. Fix multiarch support (don't
193 destroy multiarch files!) Require pkg-config. (Thanks Behdad; better
194 solution wanted for libxml2 detection!) Fix typos in orth files and
195 add orth for Lingala (reported by Denis Jacquerye). Remove debian/
196 directory. Add a configuration file that disables hinting for the
197 Lohit Gujarati font (since the hinting distorts some glyphs quite
198 badly). Sort directory entries while scanning them from disk;
199 prevents Heisenbugs due to file ordering in a directory (due to Egmont
200 Koblinger). Fix Wine's problem with finding fonts. (Reported by
201 Bernhard Rosenkraenzer.) Fix the issues with GNU libiconv vs. libc
202 iconv (which especially appear on Solarii); patch by Behdad Esfahbod,
203 approach suggested by Tim Mooney.
207 fc-cat can take directories as input and creates old-style fonts.cache
209 fc-cache takes -r --really-force which blows away all old caches and
211 Robustness fixes, integer overflow fixes (notably to cache handling
212 code), toast broken global cache files.
213 Change binary format to make it compatible with static langset
214 information (thanks to Takashi Iwai).
215 Open hashed caches before fonts.cache-2 (Takashi Iwai).
216 Fix FcFontSetMatch's algorithm, which used to unjustly kill fonts for
217 not declaring certain elements (Takashi Iwai).
218 Fix matching bug when multiple elements match; don't use
219 the sum of all scores, but the best score (James Su).
220 Make fc-lang more friendly to Windows systems.
221 Remove archaic chars from Georgian charset; add Euro character to
222 charsets for European languages.
223 Fix treatment of broken PCF fonts that don't declare family names.
224 Pass O_BINARY to open if appropriate (reported by Doodle).
225 Normalize font directories to the form in which they appear in
227 Add a record of the cached directory to the cache file.
228 Perf optimizations (Dirk Mueller; some reported by Michael Meeks.)
229 Don't loop infinitely on recursive symlinks.
230 Make 'make distcheck' work with automake 1.6.3.
231 Replace 'stamp' target with mkinstalldirs.
232 Don't stop scanning if a directory in fonts.conf doesn't exist,
233 because subsequent directories might exist.
234 Put directory names into global cache (reported by Ronny V. Vindenes).
235 Treat zh-hk fonts differently from zh-tw fonts. This patch may cause
236 fontconfig to treat A-X fonts differently from A-Y fonts; please mail
237 the fontconfig list if this causes any problems.
238 Fix for unaligned memory accesses (Andreas Schwab).
239 Fix treatment of cache directory as read from cache file; don't use
240 string equality to determine if we have the right file, use inode
242 Properly skip past dir caches that contain zero fonts, as occurs
243 in global caches (reported by Mike Fabian).
244 Print out full pathname in fc-match -v (reported by Frederic Crozat).
245 Fix bug where fc-match crashes when given __DUMMY__ property to
250 Create cache files in /var/cache/fontconfig with hashed filenames, if
251 possible, for added FHS compliance.
252 Make fc-cat read both per-directory and global cache files.
253 Add config file for Persian fonts from Sharif FarsiWeb, Inc.
254 Major performance improvements by Dirk Mueller, Stephen Kulow, and Michael Matz at SuSE: in particular, speed up FcFontSetMatch, and inline many functions.
255 Fix treatment of globs in config files, broken since 2.3.2 and discovered by Mathias Clasen.
256 Don't use freetype internal headers (patch by Matthias Clasen).
257 Further space improvements: create langsets statically, so that they can live in .rodata.
258 Properly align mmapped data structures to make e.g. ia64 happy.
263 Fix corrupted caches bugs from 2.3.91 (reported by Mike Fabian).
264 Store only basename in the cache, reconstitute on demand
265 (reported by James Cloos).
266 Change the rule for artificial emboldening in fonts.conf.in. This
267 enables the support for artificial emboldening included in cairo
269 Add FC_EMBEDDED_BITMAP object type to tell Xft/Cairo whether
270 to load embedded bitmaps or not (patch by Jinghua Luo).
271 Fix GCC4 warnings (some by Behdad Esfahbod).
272 Support localized font family and style names; this has been reported
273 to break old apps like xfd, but modern (gtk+/qt/mozilla) apps work
274 fine (patch by Zhe Su).
275 Prevent fc-list from escaping strings when printing them (reported by
277 Add valist sentinel markup for FcObjectSetBuild and
278 FcPatternBuild (patch by Marcus Meissner).
279 Add consts to variables so as to move arrays into .rodata (patch by
281 Modify config file to use Greek fonts before Asian fonts with
282 Greek glyphs. (patch by Simos Xenitellis).
283 Use libtool -no-undefined flag on all platforms (patch by Christian
288 Use libxml2 if requested or if expat not available. (Mathias Hasselmann)
289 Fix multi-arch cache files: compute the position for the
290 block to be added using info from OrigFile, not NewFile. (plam)
291 Cast results of sizeof() to unsigned int to get rid of
292 warnings on x86_64 (reported by Matthias Clasen).
293 Use FcAtomic to rewrite cache files; don't unlink the fonts.cache-2
294 file even if there's no data to write; just write an empty cache file.
295 (Reported by Lubos Lunak)
296 Allocate room for the subdirectory names in each directory cache.
297 (Reported by James Cloos)
301 Development release of mmap patch: load pattern information
302 directly from cache files. (Patrick Lam)
306 Patch memory leaks in using iconv. (Reported by Chris Capoccia)
307 Patch memory leaks in fc-cache. (Reported by Chris Capoccia)
308 Fetch bitmap glyphs to get widths during font evaluation. (keithp)
309 Share strings through FcObjectStaticName (Ross Burton)
310 Windows build updates (Tor Lillqvist)
314 Be more careful about broken GSUB/GPOS tables (Manish Singh)
315 Include debian packaging stuff in CVS (Josselin Mouette)
316 Add more conf.d examples (Keith Packard)
317 Make manuals build again (Keith Packard)
318 Johap -> Johab (Funda Wang)
322 Fix memory leak of patterns rejected by configuration (#2518)
324 Create prototype /etc/fonts/conf.d directory and populate it with a few
325 sample files. These samples are unused as the file names don't start with
328 Update documentation.
332 Verify cache for FC_FILE and FC_FAMILY in every entry (#2219)
334 Update blanks list from recent Unicode docs (#86)
336 Various small build fixes (#280, #2278,
338 Documentation fixes (#2085, #2284, #2285)
340 Add polite typechecking to config file loader (#229)
344 Share object name strings (Michael Meeks)
346 Eliminate a couple of codepoints from Russian orthography (John Thacker)
348 Add synthetic emboldening configuration changes (Jakub Pavelek)
350 Change FcFontSetSort to ignore language after fonts with the requested
351 languages have been found. (Owen Taylor)
353 Add some RedHat font configuration changes (Owen Tayler).
355 Add full Unicode case folding support to case-ignoring string functions
358 Remove Han characters from Korean orthography (Tor Andersson)
362 Fc-cache sleeps before exiting to ensure filesystem timestamps are well
365 Added Punjai orthography.
367 The timestamp in fonts.conf is gone now. Too many problems.
369 The default font path includes all of the X fonts; use selectfont/rejectfont
370 to eliminate bitmaps, as shown in the sample local.conf file.
372 <include> configuration elements may now reference a directory. Files
373 in that directory matching [0-9]* are loaded in UTF-8 collating sequence order.
375 <selectfont> configuration added to control which fonts are used.
377 fontformat font pattern elements built from the FT_Get_X11_Font_Format
378 function in newer versions of FreeType.
380 'capability' list constructed from gsub/gpos and silf values in TrueType
383 Multi-lingual names (style, family, fullname) extracted and stored with
384 parallel <foo>lang properties marking language.
388 Fix FcConfigUpToDate to actually check all font directories and eliminate
389 a typo which completely prevented it from working (Lubos Lunak
392 Remove comma at end of FcResult enum definition for picky compilers.
396 Add FcResultOutOfMemory so FcFontSetMatch can return accurate error.
398 Replace MIN/MAX/ABS macros which happened to be in old FreeType releases
399 with FC_MIN/FC_MAX/FC_ABS macros owned by fontconfig.
403 The 2.2.93 release was prepared with a broken libtool which created
404 the shared library without the '.so' in the file names.
408 This is the third prerelease of fontconfig 2.3. Significant changes from
411 o Use new FreeType #include syntax
412 o use y_ppem field instead of 'height' in bitmap sizes rec -
413 FreeType changed the semantics. Still uses height for
414 older versions of FreeType
415 o Don't construct program manuals unless docbook is available
419 o make distcheck work
423 o Switch to SGML manuals
424 o Add FC_DUAL width spacing value
425 o Add FcFini to close out fontconfig and release all memory
429 This is the third public release of fontconfig, a font configuration and
430 customization library. Fontconfig is designed to locate fonts within the
431 system and select them according to requirements specified by applications.
433 Fontconfig is not a rasterization library, nor does it impose a particular
434 rasterization library on the application. The X-specific library
435 'Xft' uses fontconfig along with freetype to specify and rasterize fonts.