Commit Graph

523 Commits

Author SHA1 Message Date
Patrick Lam 303bcf9b9d Revert the previous patch and commit the correct patch: I forgot a
canonicalization in FcValueListSerialize, so that it would choke on
    already-serialized input files. Duh!
2005-11-02 07:37:00 +00:00
Patrick Lam c6b75577f3 Forcibly rescan a directory before writing a fresh local cache file for
that directory, fixing the losing-fonts problem reported by Mike Fabian
    and also apparently the font cache file corruption.
2005-11-02 07:01:25 +00:00
Patrick Lam 9090cb9ece Fix thinko: actually, the whole global cache is stale if the global cache
is older than the (newest) config file.
2005-11-02 06:39:23 +00:00
Patrick Lam 2b25f00c50 Declare the global cache of a directory's contents to be stale if the
directory is newer than the (newest) configuration file. S:
    ----------------------------------------------------------------------
2005-11-02 06:29:14 +00:00
Patrick Lam 793154ed8d Copy the full pathname whenever duplicating an FcPattern; otherwise,
applications continue breaking.
2005-11-01 06:57:25 +00:00
Patrick Lam d6946c1a11 Fix small memory error (tried to free argv); use basename and dirname
correctly (they can modify their arguments).
2005-11-01 05:52:28 +00:00
Patrick Lam e77c17184a Reinstate basename patch, but keep a hash table linking FcPatterns to their
fully-qualified font names for clients' benefit. Clients only pay for
    the font names once they request the FC_FILE property from an
    FcPattern, but the font name is malloc'd at that point (i.e. not
    mmapped: that's impossible, since it may vary between machines.)
    Clients do have to pay for a copy of the path name per cache file.
Note that FcPatternGetString now does some rewriting if you ask for an
    FC_FILE, appending the pathname as appropriate.
2005-11-01 05:26:27 +00:00
Patrick Lam be99726f67 Revert basename patch, which breaks fontconfig clients on my system. 2005-10-31 06:02:00 +00:00
Patrick Lam 720298e773 Add FC_EMBEDDED_BITMAP object type to tell Xft/Cairo whether to load
embedded bitmaps or not.
reviewed by: plam
2005-10-26 06:34:29 +00:00
Patrick Lam 961d9b9993 Only add basename to patterns' FC_FILE element, not any part of the
dirname.
2005-10-25 22:29:13 +00:00
Patrick Lam 573da72910 Add some more consts, fixing more GCC4 warnings. 2005-10-22 15:12:05 +00:00
Patrick Lam 904426816d Support localized font family and style names. This has been reported to
break old apps like xfd, but modern (gtk+/qt/mozilla) apps work fine.
reviewed by: plam
2005-10-22 14:21:14 +00:00
Patrick Lam e58b50e88c Destroy the global cache file if it's terminally broken. (reported by Mike
Fabian)
2005-10-21 20:24:30 +00:00
Patrick Lam 2fa3f27e68 Prevent fc-list from escaping strings when printing them. 2005-10-21 19:47:43 +00:00
Patrick Lam 250c1cd422 Add valist sentinel markup for FcObjectSetBuild and FcPatternBuild.
reviewed by: plam
2005-10-20 20:50:21 +00:00
Patrick Lam 21696e5bf0 Add consts to variables so as to move arrays into .rodata.
reviewed by: plam
2005-10-14 21:02:31 +00:00
Patrick Lam 15d7bd0a16 Check existence of directory cache file before attempting to unlink.
reviewed by: plam
2005-10-14 20:56:27 +00:00
Patrick Lam 1178b56976 Fix flipped return value on unlink. (Reported by Mike Fabian) 2005-10-13 12:32:14 +00:00
Patrick Lam 2eb8437406 When fc-cache is run without --force, use directory cache files to speed up
fc-cache run time.
2005-10-12 07:55:42 +00:00
Patrick Lam 23787a8f1b Add padding to make valgrind and glibc not hate each other when calling
strlen().
2005-10-06 20:45:25 +00:00
Patrick Lam edffd3b964 Fix typo in manually applying patch. 2005-10-05 21:12:25 +00:00
Patrick Lam 328929f5ea Modify config file to use Greek fonts before Asian fonts with Greek glyphs.
reviewed by: plam & keithp
2005-10-05 19:38:40 +00:00
Patrick Lam 1ed67f658c Use libtool -no-undefined flag on all platforms.
reviewed by: plam & keithp
2005-10-05 19:32:41 +00:00
Patrick Lam 751932ddb1 Implement move-to-front array for banks (perf regression reported by Ronny
V. Vindenes).
2005-10-05 18:41:55 +00:00
Patrick Lam 55c8fa4f08 Add new API which unlinks directory caches and checks dir caches for
existence of appropriate sections. Fix fc-cache to unlink stale cache
    files and save directory caches that lack relevant sections.
2005-10-05 00:34:52 +00:00
Patrick Lam 6bf2380478 Ensure that a directory cache has the appropriate section before reporting
that it is valid (reported by Matthias Clasen).
2005-10-03 19:51:11 +00:00
Patrick Lam bc5784ff00 Bump version number to 2.3.91. 2005-10-01 19:18:51 +00:00
Patrick Lam e99f0f0a45 Use libxml2 if requested (with --enable-libxml2) or if expat is not
available.
reviewed by: plam
2005-09-29 20:53:30 +00:00
Patrick Lam 649cc3616d Fix multi-arch cache files: compute the position for the block to be added
using info from OrigFile, not NewFile.
2005-09-29 05:14:04 +00:00
Patrick Lam cd3109114c Cast results of sizeof() to unsigned int to get rid of warnings on x86_64
(thanks Matthias Clasen).
2005-09-28 16:21:14 +00:00
Patrick Lam 9ecb9a9a06 Update ChangeLog. 2005-09-28 00:23:39 +00:00
Patrick Lam 1d879de2d9 Use FcAtomic to rewrite cache files. 2005-09-28 00:23:15 +00:00
Patrick Lam 099f9a8683 Don't unlink the fonts.cache-2 file even if there's no data to write; just
write an empty cache file. (thanks Lubos Lunak)
2005-09-27 15:52:58 +00:00
Patrick Lam 6aee8c6faa Allocate room for the subdirectory names in each directory cache. Thanks to
James Cloos for finding and diagnosing this bug!
2005-09-27 05:43:08 +00:00
Patrick Lam 2633bc3843 Fix .cvsignore file after copying across directories. 2005-09-27 05:26:59 +00:00
Patrick Lam d75bef7bc8 Add comment about needing docbook-utils to run make distcheck; hope it'll
save pain to others later.
2005-09-23 21:42:32 +00:00
Patrick Lam 35c2c7f1e9 Update ChangeLog for 2.3.90. 2005-09-23 14:41:40 +00:00
Patrick Lam f28f090d25 Add new command-line utility, fc-cat, to convert fonts.cache-2 files into
fonts.cache-1 files (e.g. for grepping and validation of the mmap
    codepath), as per James Cloos' request.
Remove done 'TODO' comment.
Updates for development release 2.3.90.
2005-09-23 05:59:19 +00:00
Patrick Lam a9698bed65 Update documentation -- fc-cache's man page now says that you need to run
fc-cache once per cached architecture; add some documentation to the
    FcCache structure.
Make fc-cache write out fonts.cache-2 files for directories with no fonts
    (i.e. only subdirectories).
2005-09-23 04:09:37 +00:00
Patrick Lam e3ff8a4ea6 Remove debugging printf (oops). 2005-09-23 02:33:55 +00:00
Patrick Lam bef069e19e Convert fromcode to char[12] from char *. 2005-09-23 02:08:40 +00:00
Patrick Lam c7beacf916 Small patch for output in case where lineno not defined. 2005-09-23 01:48:33 +00:00
Patrick Lam 67accef4d3 Fix more gcc4 warnings:
- Cast sizeof to int, to shut up signedness warnings in comparison.
- Add consts where appropriate.
reviewed by: Patrick Lam <plam@mit.edu>
2005-09-22 23:45:53 +00:00
Patrick Lam 141432505a Fix bug when clients use FcNameRegisterObjectTypes; fontconfig was
returning bogus (i.e. duplicate) FcObjectPtr values. Now use negative
    values for dynamic object strings and positive values for built-in and
    FcNameRegisterObjectType strings. Thanks to Matthias Clasen for
    pinpointing this bus!
2005-09-22 20:49:24 +00:00
Patrick Lam 9fe2bd7ab0 Add missing FcValueCanonicalize on call to FcPatternAdd. 2005-09-16 04:57:18 +00:00
Patrick Lam 13cdf60753 Revert ill-advised addition of FC_RENDER. Add strategy for handling objects
that aren't hardcoded into fontconfig, but generated by fontconfig
    clients: keep another array of user-defined objects (indexed after the
    built-in objects).
Fix compilation warning (uninitialized variable).
Add comment.
2005-09-15 20:36:44 +00:00
Patrick Lam 0fa237d1e0 Add a global binding for the 'render' pattern element used by Xft; the lack
of said binding prevented programs from using FcPatterns through Xft.
2005-09-11 05:17:28 +00:00
Patrick Lam 8245771d5a Merge with HEAD and finish the GCC 4 cleanups (no more warnings!) 2005-09-11 02:16:09 +00:00
Patrick Lam 8cb4c56d99 Robustness fixes: check return values from read and lseek; fix
uninitialized variables; ensure progress on FcCacheSkipToArch.
2005-09-07 15:38:46 +00:00
Patrick Lam 03a212e525 Really fix the global cache: make sure we're reading and writing the same
data format. Also match subdirectories when consuming cache
    information. Also check dates for global cache: a dir is out of date if
    it is newer than the global cache; scan it manually if that's the case.
2005-09-03 04:56:56 +00:00