commit 89d6119c0283969cb28dc6dfc8eac4cc1b52bf6a Author: Keith Packard Date: Thu Oct 25 15:19:14 2007 -0700 A few fixups for make distcheck Makefile.am | 2 +- doc/Makefile.am | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit e66c65fd41928babb3ba2ae2dc58f13d25e57661 Author: Keith Packard Date: Thu Oct 25 15:07:54 2007 -0700 Set version numbers to 2.4.91 (2.5 RC1) README | 59 +++++++++++++++++++++++++++++++++++++++++++++- configure.in | 2 +- fontconfig/fontconfig.h | 2 +- 3 files changed, 59 insertions(+), 4 deletions(-) commit 7a1a7c0c15793e77cb162dd3393971332896460e Author: Keith Packard Date: Thu Oct 25 14:36:24 2007 -0700 Build fix for Solaris 10 with GCC. Solaris 10 with GCC doesn't appear capable of supporting the symbol visibility stuff, so disable it. src/fcint.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit fc990b2e86008967f499fe0df88de8e074a3670e Author: Behdad Esfahbod Date: Thu Oct 25 14:20:06 2007 -0700 Update CaseFolding.txt to Unicode 5.1.0 fc-case/CaseFolding.txt | 184 +++++++++++++++++++++++++++++++++++++++++++++-- src/fcstr.c | 2 +- 2 files changed, 178 insertions(+), 8 deletions(-) commit 4ee9ca67867ec9517c90d6947bb88d3f25707746 Author: Keith Packard Date: Fri Sep 1 20:25:21 2006 -0700 Match 'ultra' on word boundaries to detect ultra bold fonts. (bug 2511) Added FcStrContainsWord to detect strings on word boundaries. src/fcfreetype.c | 15 +++++++++++++-- src/fcint.h | 3 +++ src/fcstr.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 65 insertions(+), 3 deletions(-) commit 349182784fdd0acf5d1262d8876c967f69dc30aa Author: Keith Packard Date: Thu Oct 25 01:51:38 2007 -0700 fontconfig needs configure option to use gnu iconv (bug 4083). Existing Solaris workaround was broken; mis-matching values caused the test for libiconv to always fail. configure.in | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 7f46cdbb87a4a2113effb45c6e67b00a86363234 Author: Keith Packard Date: Thu Oct 25 01:35:32 2007 -0700 Ensure weight/slant values present even when style is supplied (bug 9313). If the provided style value doesn't match any available font, fall back to using the weight and slant values by ensuring that those are in the pattern. src/fcdefault.c | 16 +++++----------- 1 files changed, 5 insertions(+), 11 deletions(-) commit 43d0454597dfb5375b1268edb79172779cc51113 Author: Keith Packard Date: Thu Oct 25 01:26:09 2007 -0700 Distribute man source files for command line programs (bug 9678). For systems on whch DOCBOOK is unavailable, distribute command line program manual pages in .man format. fc-cache/Makefile.am | 6 +++--- fc-cat/Makefile.am | 6 +++--- fc-list/Makefile.am | 6 +++--- fc-match/Makefile.am | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) commit cf3e888b71a22e5c5875b96bf29557746044bd2b Author: Dwayne Bailey Date: Thu Oct 25 01:16:06 2007 -0700 Add/fix *.orth files for South African languages This adds the missing orth files for Ndebele (South) (nr), Northern Sotho (nso), Swati (ss) and Southern Sotho (st). It also fixes the Tswana (tn) orth file. fc-lang/iso639-1 | 4 ++-- fc-lang/iso639-2 | 8 ++++---- fc-lang/nr.orth | 29 +++++++++++++++++++++++++++++ fc-lang/nso.orth | 34 ++++++++++++++++++++++++++++++++++ fc-lang/ss.orth | 29 +++++++++++++++++++++++++++++ fc-lang/st.orth | 29 +++++++++++++++++++++++++++++ fc-lang/tn.orth | 2 ++ 7 files changed, 129 insertions(+), 6 deletions(-) commit 28a4ea7f714956d34f7ac65354577b87bec5620d Author: Keith Packard Date: Thu Oct 25 01:09:11 2007 -0700 Fix parallel build in fontconfig/docs (bug 10481). doc/Makefile.am | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 79641a3b0c2b4a0c2e1a315028f0e54a9d846003 Author: Keith Packard Date: Thu Oct 25 01:03:40 2007 -0700 Handle UltraBlack weight. UltraBlack is weight 950 on the CSS scale; handle this by name and value encoding it as fontconfig weight 215. fontconfig/fontconfig.h | 2 ++ src/fcfreetype.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletions(-) commit d02f6a70f1cb4cdad882ffe429918a119641ddbb Author: Keith Packard Date: Thu Oct 25 01:02:58 2007 -0700 Oops. Left debugging printf in previous commit. src/fcfreetype.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 61139cf638becf023a9d5e01c90adc5aa19f83c5 Author: Keith Packard Date: Thu Oct 25 00:49:19 2007 -0700 Spelling errors in documentation. (bug 10879). Thanks to David for spotting these. doc/fcconfig.fncs | 4 ++-- doc/fcstring.fncs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) commit feecc86cea6bd1cb588f68e06b85d85727289989 Author: Keith Packard Date: Thu Oct 25 00:46:41 2007 -0700 There is no U+1257 (bug 10899). The Eritrean Tigrinya orthography mistakenly included this unicode value. fc-lang/ti_er.orth | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 4657944d0c39a640b2e30dfbd95f13d79a99460b Author: Keith Packard Date: Thu Oct 25 00:41:28 2007 -0700 FcInit should return FcFalse when FcInitLoadConfigAndFonts fails. (bug 10976) Thanks to David for spotting this error. src/fcinit.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 28baf727367513ad06ddb1c53daff062e8f39e8c Author: Tilman Sauerbeck Date: Thu Oct 25 00:38:44 2007 -0700 Store FcVendorFoundries in read-only memory. Create fixed size strings for vendor and foundry. src/fcfreetype.c | 62 +++++++++++++++++++++++++++--------------------------- 1 files changed, 31 insertions(+), 31 deletions(-) commit 481f6c23079b6dbf5239478f2bb22ee4c72404b4 Author: Tilman Sauerbeck Date: Thu Oct 25 00:36:37 2007 -0700 Store FcNoticeFoundries in read-only memory. Use a single character array and a separate table of integer indices. src/fcfreetype.c | 75 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 50 insertions(+), 25 deletions(-) commit a72ef35ce68efa3687dee84d49dc40a5ccd22917 Author: Keith Packard Date: Thu Oct 25 00:22:04 2007 -0700 Replace makealias pattern with something supported by POSIX grep (bug 11083) The suggested replacement in the bug was not supported by GNU grep, so I created something that should be supported everywhere (famous last words). src/makealias | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 369b6b5bfbab57bbc7fb6482f6fd9c88e5057e5a Author: Keith Packard Date: Wed Oct 24 21:59:33 2007 -0700 Add BRAILLE PATTERN BLANK to list of blank glyphs. Braille pattern blank is often imaged as a blank glyph. fonts.conf.in | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 007cae508c831561c7a4f06092858ea7bf517e2e Author: Keith Packard Date: Wed Oct 24 21:52:56 2007 -0700 Move elements to the end of fonts.conf. This allows users to select alternate directories for cache files, ahead of the 'standard' directories. fonts.conf.in | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit d50cfeb805f7dec304c1d51d7a7c1c35f55d2e68 Author: Keith Packard Date: Wed Oct 24 21:47:40 2007 -0700 Leave generated headers out of distribution (bug 12734). If the generated header files are included in the distribution, a build outside of the source directory will use them. For machine-specific files, this generates the wrong result (fcarch.h). Leaving them out of the distribution forces them to be built. fc-arch/Makefile.am | 4 +--- fc-case/Makefile.am | 4 +--- fc-glyphname/Makefile.am | 4 +--- fc-lang/Makefile.am | 4 +--- 4 files changed, 4 insertions(+), 12 deletions(-) commit 1bd0b5ba7365fc7b4ef39e46efc66a6f25c052c5 Author: Keith Packard Date: Thu Oct 18 09:48:31 2007 -0700 Eliminate relocations from FcCodePageRange structure (bug 10982). FcCodePageRange was using char pointers; replace them with char arrays. src/fcfreetype.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) commit 96925b99c0551c4ed6bf7099473d0d36964f52cd Author: Keith Packard Date: Thu Oct 18 09:43:22 2007 -0700 Eliminate relocations for glyph name table. Glyph names (now used only for dingbats) were using many relocations, causing startup latency plus per-process memory usage. Replace pointers with table indices, shrinking table size and elimninating relocations. fc-glyphname/fc-glyphname.c | 28 ++++++++++++++++++++-------- src/fcfreetype.c | 16 ++++++++-------- 2 files changed, 28 insertions(+), 16 deletions(-) commit bc5e8adb4d05d1d03007951f46aaacc63c3b2197 Author: Keith Packard Date: Thu Oct 18 09:41:00 2007 -0700 Must not insert cache into hash table before completely validating. The cache was inserted into the hash table before the timestamps in the cache were verified; if that verification failed, an extra pointer to the now freed cache would be left in the hash table. FcFini would fail an assertion as a result. src/fccache.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit e85789a99770dbd1a4abe9da3eadb355c19f5216 Author: Keith Packard Date: Thu Oct 18 08:58:14 2007 -0700 Place language name in constant array instead of pointer. Constant char array of 8 bytes is the same size as a pointer plus a short string, so this actually saves memory and eliminates a pile of relocations. fc-lang/fc-lang.c | 2 +- src/fclang.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 26437d4924b0f53f03915e5f3616992eb1fb72e7 Author: Keith Packard Date: Thu Oct 18 08:56:42 2007 -0700 FcConfigParseAndLoad doc was missing the last param. Typo lost the last param to this function. doc/fcconfig.fncs | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 07e646cc8422bda778ecf1c084129556a39a0f2a Author: Mike FABIAN Date: Thu Oct 18 05:44:28 2007 -0700 Avoid crashes if config files contain junk. If ~/.fonts.conf contains: mono fontconfig crashes: mfabian@magellan:~$ fc-match sans Fontconfig error: "~/.fonts.conf", line 46: "mono": not a valid integer セグメンテーション違反です (core dumped) mfabian@magellan:~$ Of course the above is nonsense, “mono” is no valid integer indeed. But I think nevertheless fontconfig should not crash in that case. The problem was caused by partially truncated expression trees caused by parse errors -- typechecking these walked the tree without verifying the integrity of the structure. Of course, the whole tree will be discarded shortly after being loaded as it contained an error. src/fcxml.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit fa9a7448d83da498b3494fd0ff7d756569f94425 Author: Hideki Yamane Date: Thu Oct 18 05:17:36 2007 -0700 Handle Japanese fonts better. (debian bug #435971) Add some commonly available Japanese fonts to the standard aliases. conf.d/65-nonlatin.conf | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) commit 2a3e3c442de4c675e28e754dea0fe2f7f0686ade Author: Keith Packard Date: Thu Oct 18 05:05:59 2007 -0700 Have fc-cache remove invalid cache files from cache directories. Old cache file versions, or corrupted cache files should be removed when cleaning cache directories with fc-cache. This only affects filenames which match the fontconfig cache file format, so other files will be left alone. fc-cache/fc-cache.c | 34 ++++++++++++++++++---------------- 1 files changed, 18 insertions(+), 16 deletions(-) commit 238489030a64fa883f8f9fc3d73247b7f7257899 Author: Keith Packard Date: Thu Oct 18 05:04:39 2007 -0700 Don't use X_OK bit when checking for writable directories (bug 12438) Some mingw versions have broken X_OK checking; instead of trying to work around this in a system-depedent manner, simply don't bother checking for X_OK along with W_OK as such cases are expected to be mistakes, and not sensible access control. fc-cache/fc-cache.c | 2 +- src/fccache.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit 2b0d3d8af5a83604972e4e0fe80802e448d6dd11 Author: Keith Packard Date: Thu Oct 18 05:01:41 2007 -0700 Verbose message about cleaning directories was imprecise Non-existent directories are now described as 'non-existent' instead of 'unwritable'. fc-cache/fc-cache.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit 50124d1e484b84796abb7d8a6c1995edaff23e80 Author: Keith Packard Date: Thu Oct 18 04:58:31 2007 -0700 Improve verbose messages from fc-cache. fc-cache would say 'skipping: %d fonts, %d dirs' or 'caching: %d fonts, %d dirs', which could easily mislead the user. Add 'existing cache is valid' or 'new cache contents' to these messages to explain what it is doing. fc-cache/fc-cache.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit e12f718f65fc874e9170761f670930124815663e Author: Keith Packard Date: Thu Oct 18 04:54:51 2007 -0700 Remove unneeded call to access(2) in fc-cache. This call was followed by a call to stat(2) which provided the necessary information. This call to access(2) was necessary when cache files were stored in the font directory as that would check for write permission correctly. fc-cache/fc-cache.c | 18 +++--------------- 1 files changed, 3 insertions(+), 15 deletions(-) commit f7da903d370dcf662a301930b003485f25db618f Author: Keith Packard Date: Thu Oct 18 04:31:33 2007 -0700 Make FC_FULLNAME include all fullname entries, elide nothing. [bug 12827] The old policy of eliding fullname entries which matched FC_FAMILY or FC_FAMILY + FC_STYLE meant that applications could not know what the font foundry set as the fullname of the font. Hiding information is not helpful. src/fcfreetype.c | 64 ------------------------------------------------------ 1 files changed, 0 insertions(+), 64 deletions(-) commit 144ca878311af885db820a35db31563ba87ee6ad Author: Keith Packard Date: Thu Oct 18 04:29:13 2007 -0700 Comment about mmaping cache files was misleading. src/fccache.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit db6f19f13b1719617c54a1658b8faa31da56e1d4 Author: Keith Packard Date: Thu Oct 18 04:13:51 2007 -0700 Store font directory mtime in cache file. Instead of relying on mtime ordering between a directory and its associated cache file, write the directory mtime into the cache file itself. This makes cache file checks more reliable across file systems. This change is made in a way that old programs can use new cache files, but new programs will need new cache files. fc-arch/fcarch.tmpl.h | 14 +++++----- src/fccache.c | 64 +++++++++++++++++++++++++++++++----------------- src/fcdir.c | 8 +++++- src/fcint.h | 5 ++- 4 files changed, 58 insertions(+), 33 deletions(-) commit 00268a50e8b99e80ff25ee2a77a925398f89693f Author: Keith Packard Date: Thu Oct 18 03:52:29 2007 -0700 Fix ChangeLog generation to avoid circular make dependency Makefile.am | 11 ++++------- 1 files changed, 4 insertions(+), 7 deletions(-) commit 3ae9258f9e825ed576dc315ec79009188bb422e2 Author: Keith Packard Date: Sun Aug 5 12:31:03 2007 -0700 Free temporary string in FcDirCacheUnlink (Bug #11758) In FcDirCacheUnlink(), the line cache_hashed = FcStrPlus (cache_dir, cache_base); allocates memory in cache_hashed that is never free()'d before the function exits. Reported by Ben Combee. src/fccache.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit c80a08d6bf08a27ede95035f3f02cd5abfa2cafd Author: Keith Packard Date: Mon Mar 12 10:32:23 2007 -0700 Work around FreeType bug when glyph name buffer is too small. Recent versions of FreeType do not correctly deal with glyph name buffers that are too small; work around this by declaring a buffer that can hold any PS name (127 bytes). src/fcfreetype.c | 21 +++++++++++++++++---- 1 files changed, 17 insertions(+), 4 deletions(-) commit fa741cd4fffbbaa5d4ba9a15f53550ac7817cc92 Author: Keith Packard Date: Mon Mar 12 10:30:51 2007 -0700 rehash increment could be zero, causing rehash infinite loop. Bump the rehash value by one so that it is always positive. fc-glyphname/fc-glyphname.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 9b74b78fe87f75f7026bfb23ab43ef347e109ca6 Author: Stephan Kulow Date: Mon Mar 12 10:21:35 2007 -0700 Make FcPatternDuplicate copy the binding instead of always using Strong. I noticed that Qt always uses a different font than fc-match advertises. Debugging the issue, I found that a call that looks pretty innocent is changing all weak bindings to strong bindings and as such changes the semantic of the match: FcPatternDuplicate. src/fcpat.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-)