]> git.wh0rd.org - fontconfig.git/blame - README
Workaround for stat() brokenness in Microsoft's C library (bug 8526)
[fontconfig.git] / README
CommitLineData
24330d27
KP
1 Fontconfig
2 Font configuration and customization library
37e9d339
KP
3 Version 2.4.92 (2.5 RC2)
4 2007-11-5
c001a192 5
d5346181 6
845a0bf3
KP
7Check INSTALL for compilation and installation instructions.
8Report bugs to https://bugs.freedesktop.org in the fontconfig module.
9
37e9d339
KP
102.4.92 (2.5 RC2)
11
12Behdad Esfahbod (14):
13 Make fc-match --sort call FcFontRenderPrepare.
14 Port fonts-persian.conf to new alias syntax with binding="same"
15 Fix trivial bugs in edit-sgml.c
16 Add FcGetLangs() and FcLangGetCharSet().
17 Add/update config files from Fedora.
18 Split 40-generic.conf into 40-nonlatin.conf and 45-latin.conf
19 Use binding="same" in 30-urw-aliases.conf and remove duplicate entries.
20 Remove redundant/obsolete comments from conf files.
21 Remove 20-lohit-gujarati.conf. It's covered by 25-unhint-nonlatin.conf now.
22 Oops, fix Makefile.am.
23 Remove 25-unhint-nonlatin.conf from default configuration by not linking it.
24 Fix documented conf-file naming format in README
25 Remove list of available conf files from README.
26 Simplify/improve 30-metric-aliases.conf
27
28Keith Packard (25):
29 Also check configDirs mtimes in FcConfigUptoDate
30 Respect "binding" attribute in <alias> entries.
31 Correct documentation for FcAtomicLock (Bug 12947).
32 Remove fcprivate.h, move the remaining macros to fcint.h.
33 Correct documentation for FcConfigUptoDate (bug 12948).
34 Document skipping of fonts from FcFileScan/FcDirScan.
35 Make file_stat argument to FcDirCacheLoadFile optional.
36 Clean up exported names in fontconfig.h.
37 Track line numbers in sgml edit tool input.
38 Typo error in function name: Inverval -> interval
39 Don't check cache file time stamps when cleaning cache dir.
40 Use FcLangDifferentTerritory instead of FcLangDifferentCountry.
41 Verify documentation covers exposed symbols.
42 Document previously undocumented functions. (bug 12963)
43 Update documentation for FcStrCopyFilename (bug 12964).
44 Update documentation for stale FcConfigGetConfig function.
45 Have FcConfigSetCurrent accept the current configuration and simply return
46 Remove references to FcConfigParse and FcConfigLoad.
47 Replace incorrect documentation uses of 'char' with 'FcChar8' (bug 13002).
48 Fix formatting syntax in doc/fccache.fncs
49 Generate fccache.sgml, fcdircache.sgml and fclangset.sgml.
50 Formatting syntax mistake in doc/fclangset.fncs.
51 Link new function documentation into the fontconfig-devel.sgml
52 Ignore new generated documentation
53 Export FcConfig{G,S}etRescanInverval from .so, mark as deprecated.
54
e66c65fd
KP
552.4.91 (2.5 RC1)
56
57Behdad Esfahbod (1):
58 Update CaseFolding.txt to Unicode 5.1.0
59
60Dwayne Bailey (1):
61 Add/fix *.orth files for South African languages
62
63Hideki Yamane (1):
64 Handle Japanese fonts better. (debian bug #435971)
65
66Keith Packard (32):
67 rehash increment could be zero, causing rehash infinite loop.
68 Work around FreeType bug when glyph name buffer is too small.
69 Free temporary string in FcDirCacheUnlink (Bug #11758)
70 Fix ChangeLog generation to avoid circular make dependency
71 Store font directory mtime in cache file.
72 Comment about mmaping cache files was misleading.
73 Make FC_FULLNAME include all fullname entries, elide nothing. [bug 12827]
74 Remove unneeded call to access(2) in fc-cache.
75 Improve verbose messages from fc-cache.
76 Verbose message about cleaning directories was imprecise
77 Don't use X_OK bit when checking for writable directories (bug 12438)
78 Have fc-cache remove invalid cache files from cache directories.
79 FcConfigParseAndLoad doc was missing the last param.
80 Place language name in constant array instead of pointer.
81 Must not insert cache into hash table before completely validating.
82 Eliminate relocations for glyph name table.
83 Eliminate relocations from FcCodePageRange structure (bug 10982).
84 Leave generated headers out of distribution (bug 12734).
85 Move <cachedir> elements to the end of fonts.conf.
86 Add BRAILLE PATTERN BLANK to list of blank glyphs.
87 Replace makealias pattern with something supported by POSIX grep (bug 11083)
88 FcInit should return FcFalse when FcInitLoadConfigAndFonts fails. (bug 10976)
89 There is no U+1257 (bug 10899).
90 Spelling errors in documentation. (bug 10879).
91 Oops. Left debugging printf in previous commit.
92 Handle UltraBlack weight.
93 Fix parallel build in fontconfig/docs (bug 10481).
94 Distribute man source files for command line programs (bug 9678).
95 Ensure weight/slant values present even when style is supplied (bug 9313).
96 fontconfig needs configure option to use gnu iconv (bug 4083).
97 Match 'ultra' on word boundaries to detect ultra bold fonts. (bug 2511)
98 Build fix for Solaris 10 with GCC.
99
100Mike FABIAN (1):
101 Avoid crashes if config files contain junk.
102
103Stephan Kulow (1):
104 Make FcPatternDuplicate copy the binding instead of always using Strong.
105
106Tilman Sauerbeck (2):
107 Store FcNoticeFoundries in read-only memory.
108 Store FcVendorFoundries in read-only memory.
109
2373f904
KP
1102.4.2
111
112Han-Wen Nienhuys:
113 FcStrCanonFileName buggy for mingw. (bug 8311)
114 More fixes for Win32 building (bug 8311)
115
116Kean Johnston:
117 Don't use varargs CPP macros in fccache.c. (bug 8733)
118
119Keith Packard:
120 Remove documentation for non-existant FcConfigNormalizeFontDir.
121 Build fontconfig.def from header files when needed.
122 Detect and use available random number generator (bug 8308)
123 Add sparc64 architecture string.
124 FcStrCanonAbsoluteFilename should be static.
125 Use explicit platform/nameid order when scanning ttf files.
126 Warn (and recover) from config file without <cachedir> elements.
127 Avoid writing uninitialized structure pad bytes to cache files.
128 Fix grep pattern in makealias to work on non-Gnu grep (bug 8368).
129 Add FcFreeTypeQueryFace external API. Bug #7311.
130 Segfault scanning non-font files. Disallow scan edit of user vars. (#8767)
131 Add space between type and formal in devel man pages (bug 8935)
132
133Mike FABIAN:
134 Do not clean cache files for different architectures
135
136Peter Breitenlohner:
137 A VPATH build of fontconfig-2.4.1 fails for various reasons. Bug 8933.
138 Use <literal> instead of <sgmltag> when documenting fonts.conf. Bug 8935.
139 Fix fc-cat documentation (bug 8935).
140
141
b9cc1c4e
KP
1422.4.1
143
144Keith Packard:
145 Update installation notes for 2.4 base.
146 Add ppc64 signature. Bug 8227
147 Add signatures for m68k and mipsel (thanks debian buildd)
148 Add warning flags to fc-cache build. Clean up warnings in fc-cache.
149 Reimplement FcConfigAppFontAddDir; function was lost in 2.4.0.
150
76c44322
KP
1512.4.0
152
153David Turner:
154 Replace character discovery loop with simpler, faster version.
155
156James Cloos:
157 Move files from conf.d to conf.avail
158 Standardize conf.avail number prefixing convention
159 Support all five possibilities for sub-pixel
160 Move user and local conf file loading into conf.avail files
161 Number the remaining conf.avail files
162 Update Makefile.am to match conf.avail changes
163 Replace load of conf.d in fonts.conf.in
164 Make room for chunks from fonts.conf in conf.avail
165 Re-order old conf.d files
166 Move some section from fonts.conf into conf.avail files
167 Update Makefile.am files
168 Make conf.avail and conf.d work
169
170Keith Packard:
171 Create fc_cachedir at install time. Bug 8157.
172 Reference patterns in FcCacheCopySet.
173 Replace gnu-specific sed command with simple grep.
174 Attempt to fix makealias usage for build on Mac OS X.
175 Accept locale environment variables that do not contain territory.
176 Merge branch 'jhcloos'
177 Insert newly created caches into reference data structure.
178 Add XML headers to new conf files. Move link make commands to conf.avail dir
179 Rename conf.avail to conf.d
180 Fix conf.d directory sorting.
181 Include cachedir in fonts.dtd.
182 Don't display tests for DESTDIR on make install.
183 Split much of the configuration into separate files. Renumber files
184
88b6bebc
KP
1852.3.97
186
187Carl Worth:
188 Rename FcPatternThawAll to FcPatternFini.
189 Add a configuration file that disables hinting for the Lohit Gujarati font
190
191Keith Packard:
192 Various GCC 4 cleanups for signed vs unsigned char
193 Finish INSTALL changes. .gitignore ChangeLog
194 Merge branch 'fc-2_4_branch' to master
195 Remove all .cvsignore files
196 Hide private functions in shared library. Export functionality for utilities.
197 Hide FreeType glue code from library ABI.
198 Can't typecheck values for objects with no known type.
199 Leave cache files mapped permanently.
200 Reference count cache objects.
201 Make cache reference counting more efficient.
202 Oops, fc-lang broke when I added cache referencing.
203 Correct reference count when sharing cache file objects.
204 Eliminate .so PLT entries for local symbols. (thanks to Arjan van de Ven)
205 Update architecture signatures for x86-64 and ppc.
206 Parallel build fix for fcalias.h and fcaliastail.h
207 Charset hashing depended on uniqueness of leaves.
208
209Patrick Lam:
210 file Makefile.am was initially added on branch fc-2_4_branch.
211 Modify config file to use Greek fonts before Asian fonts with Greek glyphs.
212 Use libtool -no-undefined flag on all platforms.
213 file ftglue.c was initially added on branch fc-2_4_branch.
214 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam
215 file 10-fonts-persian.conf was initially added on branch fc-2_4_branch.
216 Sort directory entries while scanning them from disk; prevents Heisenbugs
217 file ln.orth was initially added on branch fc-2_4_branch.
218 Fix typos in orth files. Reported by Denis Jacquerye.
219 On Windows, unlink before rename. Reported by Tim Evans.
220 file fc-match.sgml was initially added on branch fc-2_4_branch.
221
0945cbe7
KP
2222.3.96
223
224Keith Packard:
225 Make path names in cache files absolute (NB, cache format change) Stop
226 Eliminate pattern freezing
227 Add .gitignore
228 Construct short architecture name from architecture signature.
229 Write caches to first directory with permission. Valid cache in FcDirCacheOpen.
230 Eliminate NormalizeDir. Eliminate gratuitous stat/access calls per dir.
231 Add architecture to cache filename.
232 Eliminate global cache. Eliminate multi-arch cache code.
233 Fix up fc-cache and fc-cat for no global cache changes.
234 Eliminate ./ and ../ elements from font directory names when scanning.
235 Regenerate x86 line in fcarch.tmpl.h to match change in cache data.
236 Add x86-64 architecture and signature.
237 During test run, remove cache directory to avoid stale cache usage.
238 Add ppc architecture
239 Revert to original FcFontSetMatch algorithm to avoid losing fonts.
240 Rework cache files to use offsets for all data structures.
241 Fix build problems caused by cache rework.
242 FcCharSetSerialize was using wrong offset for leaves. Make fc-cat work.
243 Rework Object name database to unify typechecking and object lookup.
244 Skip broken caches. Cache files are auto-written, don't rewrite in fc-cache.
245 Fix fc-cat again. Sigh.
246 Use intptr_t instead of off_t inside FcCache structure.
247 Serialized value lists were only including one value.
248 Automatically remove invalid cache files.
249 With no args, fc-cat now dumps all directories.
250 Revert ABI changes from version 2.3
251 Change $(pkgcachedir) to $(fc_cachedir) in fc-cat and fc-cache Makefile.am
252 Allow FcTypeLangSet to match either FcTypeLangSet or FcTypeString.
253 Remove stale architecture signatures.
254 Pass directory information around in FcCache structure. Freeze charsets.
255 Fix fc-lang to use new charset freezer API.
256 Fontset pattern references are relative to fontset, not array.
257 Add some ignores
258 Only rebuild caches for system fonts at make install time.
259 Fix memory leaks in fc-cache directory cleaning code.
260 Add @EXPAT_LIBS@ to Libs.private in fontconfig.pc (bug 7683)
261 Avoid #warning directives on non-GCC compilers. (bug 7683)
262 Chinese/Macau needs the Hong Kong orthography instead of Taiwan (bug 7884)
263 Add Assamese orthography (as.orth). Bug #8050
264 Really only rebuild caches for system fonts at make install time.
265 Fonts matching lang not territory should satisfy sort pattern lang.
266 Prefer Bitstream Vera to DejaVu families.
267 Guess that mac roman names with lots of high bits are actually SJIS.
268 Document FC_DEBUG values (bug 6393). Document name \ escape syntax.
269 Move Free family names to bottom of respective aliases. (bug 7429)
270 Unify directory canonicalization into FcStrAddFilename.
271 Allow font caches to contain newer version numbers
272 Add FcMatchScan to resolve Delicious font matching issues (bug #6769)
273 Fix missing initialization/destruction of new 'scan' target subst list.
274 Don't segfault when string values can't be parsed as charsets or langsets.
275 Using uninitialized (and wrong) variable in FcStrCopyFilename.
276 Oops; missed the 60-delicious.conf file.
277
278Patrick Lam:
279 Keith Packard <keithp@keithp.com>
280 2006-04-27 Paolo Borelli (pborelli@katamail.com) reviewed by: plam
281 2006-05-31 Yong Li (rigel863@gmail.com) reviewed by: plam, Bedhad Esfahbod
282 2006-07-19 Jon Burgess (jburgess@uklinux.net) reviewed by: plam
283 2006-08-04 Keith Packard (keithp@keithp.com) reviewed by: plam
284
c001a192
PL
2852.3.95
286
287Match 'Standard Symbols L' for 'Symbol'. Add URW fonts as aliases for
288all of the PostScript fonts. (reported by Miguel Rodriguez). Fix a
289number of Coverity defects (Frederic Crozat). Speed up FcFontSort
290(fix suggested by Kenichi Handa). Fix error with charsets. Survive
291missing docbook2pdf. Compile on HP-UX, AIX, SGI and Windows (Cygwin,
292MinGW). Fix intel compiler warnings. Fix multiarch support (don't
293destroy multiarch files!) Require pkg-config. (Thanks Behdad; better
294solution wanted for libxml2 detection!) Fix typos in orth files and
295add orth for Lingala (reported by Denis Jacquerye). Remove debian/
296directory. Add a configuration file that disables hinting for the
297Lohit Gujarati font (since the hinting distorts some glyphs quite
298badly). Sort directory entries while scanning them from disk;
299prevents Heisenbugs due to file ordering in a directory (due to Egmont
300Koblinger). Fix Wine's problem with finding fonts. (Reported by
3b013a03
PL
301Bernhard Rosenkraenzer.) Fix the issues with GNU libiconv vs. libc
302iconv (which especially appear on Solarii); patch by Behdad Esfahbod,
303approach suggested by Tim Mooney.
c001a192 304
63d2df3f
PL
3052.3.94
306
307fc-cat can take directories as input and creates old-style fonts.cache
308listings.
309fc-cache takes -r --really-force which blows away all old caches and
310regenerates.
311Robustness fixes, integer overflow fixes (notably to cache handling
312code), toast broken global cache files.
313Change binary format to make it compatible with static langset
314information (thanks to Takashi Iwai).
315Open hashed caches before fonts.cache-2 (Takashi Iwai).
316Fix FcFontSetMatch's algorithm, which used to unjustly kill fonts for
317not declaring certain elements (Takashi Iwai).
318Fix matching bug when multiple elements match; don't use
319the sum of all scores, but the best score (James Su).
320Make fc-lang more friendly to Windows systems.
321Remove archaic chars from Georgian charset; add Euro character to
322charsets for European languages.
323Fix treatment of broken PCF fonts that don't declare family names.
324Pass O_BINARY to open if appropriate (reported by Doodle).
325Normalize font directories to the form in which they appear in
326config files.
327Add a record of the cached directory to the cache file.
328Perf optimizations (Dirk Mueller; some reported by Michael Meeks.)
329Don't loop infinitely on recursive symlinks.
330Make 'make distcheck' work with automake 1.6.3.
331Replace 'stamp' target with mkinstalldirs.
332Don't stop scanning if a directory in fonts.conf doesn't exist,
333because subsequent directories might exist.
334Put directory names into global cache (reported by Ronny V. Vindenes).
335Treat zh-hk fonts differently from zh-tw fonts. This patch may cause
336fontconfig to treat A-X fonts differently from A-Y fonts; please mail
337the fontconfig list if this causes any problems.
338Fix for unaligned memory accesses (Andreas Schwab).
339Fix treatment of cache directory as read from cache file; don't use
340string equality to determine if we have the right file, use inode
341equality.
342Properly skip past dir caches that contain zero fonts, as occurs
343in global caches (reported by Mike Fabian).
344Print out full pathname in fc-match -v (reported by Frederic Crozat).
345Fix bug where fc-match crashes when given __DUMMY__ property to
346match on.
347
3bfae75d
PL
3482.3.93
349
350Create cache files in /var/cache/fontconfig with hashed filenames, if
351possible, for added FHS compliance.
352Make fc-cat read both per-directory and global cache files.
353Add config file for Persian fonts from Sharif FarsiWeb, Inc.
354Major performance improvements by Dirk Mueller, Stephen Kulow, and Michael Matz at SuSE: in particular, speed up FcFontSetMatch, and inline many functions.
355Fix treatment of globs in config files, broken since 2.3.2 and discovered by Mathias Clasen.
356Don't use freetype internal headers (patch by Matthias Clasen).
357Further space improvements: create langsets statically, so that they can live in .rodata.
358Properly align mmapped data structures to make e.g. ia64 happy.
359Bug fixes.
360
e6d3e251
PL
3612.3.92
362
363Fix corrupted caches bugs from 2.3.91 (reported by Mike Fabian).
364Store only basename in the cache, reconstitute on demand
365(reported by James Cloos).
366Change the rule for artificial emboldening in fonts.conf.in. This
367enables the support for artificial emboldening included in cairo
368(patch by Zhe Su).
369Add FC_EMBEDDED_BITMAP object type to tell Xft/Cairo whether
370to load embedded bitmaps or not (patch by Jinghua Luo).
371Fix GCC4 warnings (some by Behdad Esfahbod).
372Support localized font family and style names; this has been reported
373to break old apps like xfd, but modern (gtk+/qt/mozilla) apps work
374fine (patch by Zhe Su).
375Prevent fc-list from escaping strings when printing them (reported by
376Matthias Clasen).
377Add valist sentinel markup for FcObjectSetBuild and
378FcPatternBuild (patch by Marcus Meissner).
379Add consts to variables so as to move arrays into .rodata (patch by
380Ross Burton).
381Modify config file to use Greek fonts before Asian fonts with
382Greek glyphs. (patch by Simos Xenitellis).
383Use libtool -no-undefined flag on all platforms (patch by Christian
384Biesinger).
385
bc5784ff
PL
3862.3.91
387
388Use libxml2 if requested or if expat not available. (Mathias Hasselmann)
389Fix multi-arch cache files: compute the position for the
390block to be added using info from OrigFile, not NewFile. (plam)
391Cast results of sizeof() to unsigned int to get rid of
392warnings on x86_64 (reported by Matthias Clasen).
393Use FcAtomic to rewrite cache files; don't unlink the fonts.cache-2
394file even if there's no data to write; just write an empty cache file.
395(Reported by Lubos Lunak)
396Allocate room for the subdirectory names in each directory cache.
397(Reported by James Cloos)
398
f28f090d
PL
3992.3.90
400
401Development release of mmap patch: load pattern information
402directly from cache files. (Patrick Lam)
403
1cb309ad
KP
4042.3.2
405
87c88746
KP
406Patch memory leaks in using iconv. (Reported by Chris Capoccia)
407Patch memory leaks in fc-cache. (Reported by Chris Capoccia)
1cb309ad
KP
408Fetch bitmap glyphs to get widths during font evaluation. (keithp)
409Share strings through FcObjectStaticName (Ross Burton)
410Windows build updates (Tor Lillqvist)
411
d49dde9f
KP
4122.3.1
413
414Be more careful about broken GSUB/GPOS tables (Manish Singh)
415Include debian packaging stuff in CVS (Josselin Mouette)
416Add more conf.d examples (Keith Packard)
417Make manuals build again (Keith Packard)
418Johap -> Johab (Funda Wang)
419
4afc00ca
KP
4202.3.0
421
422Fix memory leak of patterns rejected by configuration (#2518)
423
424Create prototype /etc/fonts/conf.d directory and populate it with a few
425sample files. These samples are unused as the file names don't start with
426numbers.
427
428Update documentation.
429
afca7836
KP
4302.2.99
431
432Verify cache for FC_FILE and FC_FAMILY in every entry (#2219)
433
434Update blanks list from recent Unicode docs (#86)
435
436Various small build fixes (#280, #2278,
437
438Documentation fixes (#2085, #2284, #2285)
439
440Add polite typechecking to config file loader (#229)
441
d5346181
KP
4422.2.98
443
444Share object name strings (Michael Meeks)
445
446Eliminate a couple of codepoints from Russian orthography (John Thacker)
447
448Add synthetic emboldening configuration changes (Jakub Pavelek)
449
450Change FcFontSetSort to ignore language after fonts with the requested
451languages have been found. (Owen Taylor)
452
453Add some RedHat font configuration changes (Owen Tayler).
454
455Add full Unicode case folding support to case-ignoring string functions
456(Keith Packard)
457
458Remove Han characters from Korean orthography (Tor Andersson)
308dc9c3
KP
459
4602.2.97
461
462Fc-cache sleeps before exiting to ensure filesystem timestamps are well
463ordered.
464
465Added Punjai orthography.
466
467The timestamp in fonts.conf is gone now. Too many problems.
468
469The default font path includes all of the X fonts; use selectfont/rejectfont
470to eliminate bitmaps, as shown in the sample local.conf file.
471
472<include> configuration elements may now reference a directory. Files
473in that directory matching [0-9]* are loaded in UTF-8 collating sequence order.
474
475<selectfont> configuration added to control which fonts are used.
476
477fontformat font pattern elements built from the FT_Get_X11_Font_Format
478function in newer versions of FreeType.
479
480'capability' list constructed from gsub/gpos and silf values in TrueType
481files.
482
483Multi-lingual names (style, family, fullname) extracted and stored with
484parallel <foo>lang properties marking language.
b5f36ca0
KP
485
4862.2.96
487
488Fix FcConfigUpToDate to actually check all font directories and eliminate
489a typo which completely prevented it from working (Lubos Lunak
490<l.lunak@suse.cz>)
491
492Remove comma at end of FcResult enum definition for picky compilers.
d81271eb
KP
493
4942.2.95
495
496Add FcResultOutOfMemory so FcFontSetMatch can return accurate error.
497
498Replace MIN/MAX/ABS macros which happened to be in old FreeType releases
499with FC_MIN/FC_MAX/FC_ABS macros owned by fontconfig.
626a7016
KP
500
5012.2.94
502
503The 2.2.93 release was prepared with a broken libtool which created
504the shared library without the '.so' in the file names.
6ae6acf3
KP
505
5062.2.93
507
508This is the third prerelease of fontconfig 2.3. Significant changes from
5092.2.92 are:
510
511 o Use new FreeType #include syntax
512 o use y_ppem field instead of 'height' in bitmap sizes rec -
513 FreeType changed the semantics. Still uses height for
514 older versions of FreeType
515 o Don't construct program manuals unless docbook is available
516
5172.2.92
518
519 o make distcheck work
520
5212.2.91
522
523 o Switch to SGML manuals
524 o Add FC_DUAL width spacing value
525 o Add FcFini to close out fontconfig and release all memory
526
5272.2
2eafe090 528
8fc10a72 529This is the third public release of fontconfig, a font configuration and
2eafe090
KP
530customization library. Fontconfig is designed to locate fonts within the
531system and select them according to requirements specified by applications.
532
533Fontconfig is not a rasterization library, nor does it impose a particular
534rasterization library on the application. The X-specific library
535'Xft' uses fontconfig along with freetype to specify and rasterize fonts.
536
537Keith Packard
538keithp@keithp.com