commit 2ec3ed0806cfd2cd17cae4117a7047451a52cf95 Author: Keith Packard Date: Sun Sep 3 14:58:49 2006 -0700 Update instructions for doing a release. Autogen ChangeLog from git-log. commit d3c392b6693ce79fbab42e9a8cf543f6182c5917 Author: Keith Packard Date: Sun Sep 3 14:46:17 2006 -0700 Remove ChangeLog commit 0945cbe73019404c880be0de7f703ef77aec8a08 Author: Keith Packard Date: Sun Sep 3 14:42:48 2006 -0700 Change version to 2.3.96 commit 2a5ea80023657724e3e6ba629d828ab5e33bdb70 Author: Keith Packard Date: Sat Sep 2 23:10:59 2006 -0700 Oops; missed the 60-delicious.conf file. This file fixes Delicious Heavy fonts to have the correct weight value. commit e3b771a63e837b341bbd1e3e7e9c868244506f62 Author: Keith Packard Date: Sat Sep 2 23:09:44 2006 -0700 Using uninitialized (and wrong) variable in FcStrCopyFilename. A typo from the change in where filename canonicalization occurs. commit 04cedae0d5a720662bdc0de3d4cb97f6c77e7d1a Author: Keith Packard Date: Sat Sep 2 20:23:31 2006 -0700 Don't segfault when string values can't be parsed as charsets or langsets. If parsing charsets or langsets fails, return a FcTypeVoid value instead of a charset/langset value with a NULL pointer in it (which is invalid). commit fb6e30ab3ef74021978d260fb7f2c40a0b5a0b06 Author: Keith Packard Date: Sat Sep 2 20:07:29 2006 -0700 Fix missing initialization/destruction of new 'scan' target subst list. Forgot to initialize and destroy the new substitution list for the 'scan' match target. commit c2c6976d1a88cc35143ffcc34f3c38d0a28d34f4 Author: Keith Packard Date: Sat Sep 2 17:52:12 2006 -0700 Add FcMatchScan to resolve Delicious font matching issues (bug #6769) The Delicious family includes one named Delicious Heavy, a bold variant which is unfortunately marked as having normal weight. Because the family name is 'Delicious', fontconfig accidentally selects this font instead of the normal weight variant. The fix here rewrites the scanned data by running the scanned pattern through a new substitution sequence tagged with ; a sample for the Delicious family is included to demonstrate how it works (and fix Delicious at the same time). Also added was a new match predicate -- the 'decorative' predicate which is automatically detected in fonts by searching style names for key decorative phrases like SmallCaps, Shadow, Embosed and Antiqua. Suggestions for additional decorative key words are welcome. This should have little effect on font matching except when two fonts share the same characteristics except for this value. commit 3b8a03c09d3a45f578680b5fe80255af9761b3fa Author: Keith Packard Date: Sat Sep 2 14:54:14 2006 -0700 Allow font caches to contain newer version numbers Use the version number inside the cache file to mark backward compatible changes while continuing to reserve the filename number for incompatible changes. commit 9b511b290548ad2920cda94507a3311efc461e8a Author: Keith Packard Date: Sat Sep 2 14:52:37 2006 -0700 Unify directory canonicalization into FcStrAddFilename. Instead of making filename canonicalization occur in multiple places, it occurs only in FcStrAddFilename now, as all filenames pass through that function at one point. commit 813258dc8e3a8c964af49abe810e76a95241926d Author: Keith Packard Date: Fri Sep 1 22:08:41 2006 -0700 Move Free family names to bottom of respective aliases. (bug 7429) The FreeSans, FreeSerif and FreeMono fonts cover a large number of languages, but are of generally poor quality. Moving these after fonts which cover specific languages but which have higher quality glyphs should improve font selection. commit 5cafbd4da08aa8110a94deba59dc631c39ef7285 Author: Keith Packard Date: Fri Sep 1 22:04:52 2006 -0700 Document FC_DEBUG values (bug 6393). Document name \ escape syntax. Limited FC_DEBUG documentation (just shows values and vague idea of what they're related to). Also document \ escape syntax for font names, including how family name and values have different escape requirements. commit 7295c6f5faa595422e0825aa2e91883147d5b50e Author: Keith Packard Date: Fri Sep 1 21:30:54 2006 -0700 Guess that mac roman names with lots of high bits are actually SJIS. Many Japanese fonts incorrectly include names tagged as Roman encoding and English language which are actually Japanese names in the SJIS encoding. Guess that names with a large number of high bits set are SJIS encoded Japanese names rather than English names. commit db970d3596fbbc75f652f1a9fe7f7ce98e651ad2 Author: Keith Packard Date: Fri Sep 1 21:12:44 2006 -0700 Prefer Bitstream Vera to DejaVu families. DejaVu is a modified version of Bitstream Vera that covers significantly more languages, but does so with spotty quality, lacking hinting for many glyphs, especially for the synthesized serif oblique face. Use Bitstream Vera (where installed). commit 3bb1812f0d173b153415e2191ecdd27a95fc4b05 Author: Keith Packard Date: Fri Sep 1 15:33:27 2006 -0700 Fonts matching lang not territory should satisfy sort pattern lang. A pattern specifying 'Chinese' (:lang=zh) without a territory should be satisfied by any font supporting any Chinese lang. The code was requiring that the lang tags match exactly, causing this sort to fail. commit cfccd4873a44da5b041368d5fca4f05180dcf041 Author: Keith Packard Date: Fri Sep 1 13:22:45 2006 -0700 Really only rebuild caches for system fonts at make install time. Oops. Fix actual fc-cache command line instead of just the displayed version. commit caf996342b53bf2ca4eedbe54bc86b68456d7470 Author: Keith Packard Date: Fri Sep 1 12:59:09 2006 -0700 Add Assamese orthography (as.orth). Bug #8050 Behdad Esfahbod says Assamese is the same as Bengali, so this just uses bn.orth. commit c9e6d2c8cc920937546faa63c889570fa7b4745c Author: Keith Packard Date: Fri Sep 1 12:45:43 2006 -0700 Chinese/Macau needs the Hong Kong orthography instead of Taiwan (bug 7884) From Abel Cheung: Currently zh_mo.orth includes zh_tw.orth, which means it is assumed Macau only uses traditional Chinese characters used in Taiwan; however that is wrong, as a majority of Macau people speaks Cantonese too, and also uses additional traditional Chinese chars from Hong Kong (there are already some place names that can't be represented in just chars used in Taiwan). So it should include zh_hk.orth instead. commit 5b8e43a48ea1a5fb4e54dd12fe965439df2bf95d Author: Keith Packard Date: Fri Sep 1 12:36:31 2006 -0700 Avoid #warning directives on non-GCC compilers. (bug 7683) Detect GCC and use #warning only on GCC systems. commit ab2cb932b25af20896c08f4641dfa696ed651418 Author: Keith Packard Date: Fri Sep 1 12:26:15 2006 -0700 Add @EXPAT_LIBS@ to Libs.private in fontconfig.pc (bug 7683) Linking against fontconfig requires expat on systems without chained shared library dependencies. commit 1741499e2387f0c1e692801a1ef3c6ce5d043f9f Author: Keith Packard Date: Fri Sep 1 12:07:10 2006 -0700 Fix memory leaks in fc-cache directory cleaning code. valgrind found a few leaks in the new cache cleaning code. commit fd7223c770e74730480bdf9ecf36f3152a12473e Author: Keith Packard Date: Fri Sep 1 12:05:04 2006 -0700 Only rebuild caches for system fonts at make install time. Rebuilding user-specific fonts will stick those cache files in the system font cache directory. commit 8587d77ce64147b7fb324458ba100910ebba93f4 Author: Keith Packard Date: Fri Sep 1 02:27:45 2006 -0700 Add some ignores commit 09bd9ae2be032efb05a8be7bae584fa18756d951 Author: Keith Packard Date: Fri Sep 1 02:22:59 2006 -0700 Fontset pattern references are relative to fontset, not array. Within a fontset, the patterns are stored as pointers in an array. When stored as offsets, the offsets are relative to the fontset object itself, not the base of the array of pointers. commit 18b6857c6476517db7932025847ae952feba758d Author: Keith Packard Date: Fri Sep 1 01:49:47 2006 -0700 Fix fc-lang to use new charset freezer API. Charset freezer api now uses allocated object. Also required minor fixes to charset freezer code to remove assumption that all input charsets are persistant. commit bc5e487f2a1ad9946aa5c6e19cd75794fc38d530 Author: Keith Packard Date: Fri Sep 1 01:15:14 2006 -0700 Pass directory information around in FcCache structure. Freeze charsets. Instead of passing directory information around in separate variables, collect it all in an FcCache structure. Numerous internal and tool interfaces changed as a result of this. Charsets are now pre-frozen before being serialized. This causes them to share across multiple fonts in the same cache. commit aec8c90b450c115718fd87bc270e35ee6b605967 Author: Keith Packard Date: Fri Sep 1 01:12:13 2006 -0700 Remove stale architecture signatures. All but x86 are known to be wrong. commit 551b6b2cd7d94dd90a9eb22bdb752f264afc48ce Author: Keith Packard Date: Thu Aug 31 18:16:00 2006 -0700 Allow FcTypeLangSet to match either FcTypeLangSet or FcTypeString. Applications explicitly setting FC_LANG with string would fail due to typechecking disallowing this case. commit bf0c80fc4996157dda7bed8b8b2e4c8a13611ada Author: Keith Packard Date: Thu Aug 31 18:14:45 2006 -0700 Change $(pkgcachedir) to $(fc_cachedir) in fc-cat and fc-cache Makefile.am make distcheck caught this bug; the effect of 'make uninstall' would have been to execute 'rm -rf /', somewhat less that desirable. commit f57783d2e9c7362b1e5d5e3a967ba90fa49ade6e Author: Keith Packard Date: Thu Aug 31 14:38:18 2006 -0700 Revert ABI changes from version 2.3 Accidental ABI changes and additions were discovered by looking at the differences in fontconfig.h. All of those have been reverted. commit 0a87ce715e1862c56702f5be43af9f246aa34e68 Author: Keith Packard Date: Thu Aug 31 11:56:43 2006 -0700 With no args, fc-cat now dumps all directories. Automatically list all font directories when no arguments are given to fc-cat. Also add -r option to recurse from specified cache directories. fc-cat also now prints the cache filename in verbose mode, along with the related directory name. commit d8ab9e6c42cb3513a6623df0c2866e1ebbd96485 Author: Keith Packard Date: Thu Aug 31 09:42:49 2006 -0700 Automatically remove invalid cache files. Cache files for missing or more recently modified directories are automatically removed at the end of every fc-cache run. commit e9a564e2cd3cb40109a1133dbbcee9f938f141b3 Author: Keith Packard Date: Thu Aug 31 09:07:32 2006 -0700 Serialized value lists were only including one value. The next pointer in the serialized value list wasn't getting set, so they were truncated at a single value. commit c50ea916b0e56520948804b67fc7df57bb490575 Author: Keith Packard Date: Wed Aug 30 23:09:39 2006 -0700 Use intptr_t instead of off_t inside FcCache structure. This avoids OS-dependencies in the cache file structure. commit 76abb77f26c43d069919f80e960c71c2242fb5c2 Author: Keith Packard Date: Wed Aug 30 22:23:25 2006 -0700 Fix fc-cat again. Sigh. Internal interfaces in cache management changed again... commit 2d3387fd720f33f80847ae6cbb83d94c9a52fde3 Author: Keith Packard Date: Wed Aug 30 21:59:53 2006 -0700 Skip broken caches. Cache files are auto-written, don't rewrite in fc-cache. Validate cache contents and skip broken caches, looking down cache path for valid ones. Every time a directory is scanned, it will be written to a cache file if possible, so fc-cache doesn't need to re-write the cache file. This makes detecting when the cache was generated a bit tricky, so we guess that if the cache wasn't valid before running and is valid afterwards, the cache file was written. Also, allow empty charsets to be serialized with null leaves/numbers. Eliminate a leak in FcEdit by switching to FcObject sooner. Call FcFini from fc-match to make valgrind happy. commit 09f9f6f62ac94f7b1a6df649a00c64f78ab132f5 Author: Keith Packard Date: Wed Aug 30 18:50:58 2006 -0700 Rework Object name database to unify typechecking and object lookup. Eliminate ancient list of object name databases and load names into single hash table that includes type information. Typecheck all pattern values to avoid mis-typed pattern elements. commit c02886485b293179e8492cad9a34eb431dd4bfc9 Author: Keith Packard Date: Wed Aug 30 13:51:03 2006 -0700 FcCharSetSerialize was using wrong offset for leaves. Make fc-cat work. FcCharSetSerialize was computing the offset to the unserialized leaf, which left it pointing at random data when the cache was reloaded. fc-cat has been updated to work with the new cache structure. Various debug messages extended to help diagnose serialization errors. commit e3096d90fd3e0ba8b62d2c6df4cfb24f08a0766c Author: Keith Packard Date: Wed Aug 30 04:24:03 2006 -0700 Fix build problems caused by cache rework. Pagesize no longer matters in architecture decisions, the entire cache file is mmaped into the library. However, lots of intptr_t values are in use now, so that value is important. fc-lang now requires fcserialize.c, which has been added to the repository. commit 7ce196733129b0e664c1bdc20f973f15167292f7 Author: Keith Packard Date: Wed Aug 30 04:16:22 2006 -0700 Rework cache files to use offsets for all data structures. Replace all of the bank/id pairs with simple offsets, recode several data structures to always use offsets inside the library to avoid conditional paths. Exposed data structures use pointers to hold offsets, setting the low bit to distinguish between offset and pointer. Use offset-based data structures for lang charset encodings; eliminates separate data structure format for that file. Much testing will be needed; offsets are likely not detected everywhere in the library yet. commit 2a9179d8895c1cc90d02917f7bb6fac30ffb6a62 Author: Keith Packard Date: Mon Aug 28 11:51:12 2006 -0700 Revert to original FcFontSetMatch algorithm to avoid losing fonts. The fancy new FcFontSetMatch algorithm would discard fonts for the wrong reasons; fc-match sans:lang=en,ja would discard all fonts without Japanese support. This commit reverts to the original algorithm which ensure that FcFontSetMatch always matches the first font in the FcFontSetSort return list. commit ad05e3135b43f82c64d74f17dfec0b44fe7efcf0 Author: Keith Packard Date: Mon Aug 28 10:38:27 2006 -0700 Add ppc architecture commit 7a03bbdceb4ea5b673caf89bfcafa84211a456f0 Author: Keith Packard Date: Mon Aug 28 10:30:22 2006 -0700 During test run, remove cache directory to avoid stale cache usage. As file timestamps have only one second granularity, an old cache file could easily be used when a test took less than 1 second to run. Just remove the cache directory and its contents before each test is run. Also, remove mention of the old cache file from the test config file. commit 1e4080ea49160c5af24400b8daf701412a0cc7cb Author: Keith Packard Date: Mon Aug 28 10:07:43 2006 -0700 Add x86-64 architecture and signature. commit 7db39f729859827b246da242a26ddba13cb8c4b1 Author: Keith Packard Date: Mon Aug 28 09:43:12 2006 -0700 Regenerate x86 line in fcarch.tmpl.h to match change in cache data. Also remove spurious printf of directory names. commit 0d9e31c810a36cddadff7572fdbb5a1b505e495e Author: Keith Packard Date: Sun Aug 27 23:40:51 2006 -0700 Eliminate ./ and ../ elements from font directory names when scanning. FcStrCanonFilename eliminates ./ and ../ elements from pathnames through simple string editing. Also, relative path names are fixed by prepending the current working directory. commit af180c40376690b7ced5262156fbe13c9ebba1e2 Author: Keith Packard Date: Sun Aug 27 22:24:39 2006 -0700 Fix up fc-cache and fc-cat for no global cache changes. fc-cache and fc-cat use internal (fcint.h) APIs that have changed with the elimination of the global cache. commit 00f059e930f12ca7c66cf2ffbc6c4ae789912af7 Author: Keith Packard Date: Sun Aug 27 21:53:48 2006 -0700 Eliminate global cache. Eliminate multi-arch cache code. With the removal of the in-directory cache files, and the addition of per-user cache directories, there is no longer any reason to preserve the giant global cache file. Eliminating of this unifies the cache structure and simplifies the overall caching strategies greatly. commit cf65c0557e9fa1b86003d1ec8643f44f4344ebd2 Author: Keith Packard Date: Sun Aug 27 18:29:51 2006 -0700 Add architecture to cache filename. Make cache filenames unique by inserting the architecture name into the filename. commit db50cbdaf592349c204ab0af0e7061ea72237044 Author: Keith Packard Date: Sun Aug 27 18:19:39 2006 -0700 Eliminate NormalizeDir. Eliminate gratuitous stat/access calls per dir. Normalized directory names offer protection against looped directory trees but cost enormous numbers of system calls (stat per file in the hierarchy). Also, cache file directory name contents are validated each time the directory is modified, don't re-validate every time the cache file is loaded with an access and stat call. commit d2f786849c0c4503360a5c09469505b05164c6d2 Author: Keith Packard Date: Sun Aug 27 17:04:01 2006 -0700 Write caches to first directory with permission. Valid cache in FcDirCacheOpen. Previous policy was to attempt to update the cache in place and bail if that didn't work. Now, search for the first writable directory and place the cache file there instead. Furthermore, on startup, search directory list for valid cache files instead of bailing if the first found cache file wasn't valid. commit 2b629781d74b5a7db1fff873ce5322e59a0f863a Author: Keith Packard Date: Sun Aug 27 16:25:07 2006 -0700 Construct short architecture name from architecture signature. Map existing architecture signature to short architecture name at build time. This architecture name is (as yet) unused, but will be used to build per-architecture cache files with names made unique by including the architecture name. The auto-detected architecture name can be overridden with the --with-arch=ARCH configure option. commit 199a92241151c391d9becca4fae1cc7e5e32ca80 Author: Keith Packard Date: Sun Aug 27 16:21:16 2006 -0700 Add .gitignore commit 7410e40bd93beb4ab1a577d084112413431cede2 Author: Patrick Lam Date: Fri Aug 4 16:13:00 2006 +0000 2006-08-04 Keith Packard (keithp@keithp.com) reviewed by: plam Make cache directories configurable. Simplify and correct some code which deals with per-directory caches. commit 62a4a8459adaf26833e1dad0ee96ea5a4b8c3d54 Author: Patrick Lam Date: Wed Jul 19 02:14:28 2006 +0000 2006-07-19 Jon Burgess (jburgess@uklinux.net) reviewed by: plam Fix file-descriptor leak in FcGlobalCacheDestroy. commit 1c14f2d96390ebafb390a953aa9b847e4a7303d7 Author: Patrick Lam Date: Fri Jun 2 18:48:30 2006 +0000 2006-05-31 Yong Li (rigel863@gmail.com) reviewed by: plam, Bedhad Esfahbod TrueType Collection table offsets are absolute, not relative. commit 31b7e6d7f58616ebdc6281c3230282a2d7b57d6d Author: Patrick Lam Date: Fri Apr 28 07:00:25 2006 +0000 2006-04-27 Paolo Borelli (pborelli@katamail.com) reviewed by: plam Make FcStrCopy slightly more efficient. commit 0037aad501e18e53acd2590483b99aaa2a1fba8c Author: Patrick Lam Date: Thu Apr 27 08:13:45 2006 +0000 Keith Packard Reduce transient memory usage during config file parsing by allocating smaller buffers (64 seems to be a magic number). commit 529291bef436384a06db246fda30e08d5812de14 Author: Keith Packard Date: Thu Apr 27 07:54:07 2006 +0000 Eliminate pattern freezing commit c1c3ba06d5f5e00a1bfef4ef0dbf10f28fa86ce2 Author: Keith Packard Date: Thu Apr 27 07:11:44 2006 +0000 Make path names in cache files absolute (NB, cache format change) Stop permitting cache files to be stored in font dirs. Bump cache magic. Don't include /fonts.cache-2 in cache hash construction. reviewed by: Patrick Lam