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