Commit Graph

198 Commits

Author SHA1 Message Date
Patrick Lam df3efc11a9 Explicitly add font dirs to config.fontDirs even if they're empty. Set
current config in fc-cache.c. Fix treatment of cache directory as read
    from cache file; don't use string equality to determine if we have the
    right file, use inode equality.
2006-01-10 13:15:05 +00:00
Patrick Lam cd9bca6970 Normalize font dirs by using the form, as given in fonts.conf, and recorded
in FcConfig's fontDirs string set, as canonical.
Actually update config.fontDirs as font directories are scanned.
2006-01-09 13:58:04 +00:00
Patrick Lam a6d3757d98 Fix matching bug when multiple elements match; don't use the sum of all
scores, but the best score.
Also more perf opts, e.g. evaluate best over all font sets rather than on a
    per-set basis (and other changes).
2006-01-08 10:58:05 +00:00
Patrick Lam 05a98eaf4b Properly skip past dir caches that contain zero fonts (as occurs in global
caches.) Reported by Mike Fabian.
2006-01-08 10:50:51 +00:00
Patrick Lam 5fe09702f4 Print out full pathname in fc-match -v as well. Reported by Frederic
Crozat.
Fix bug where fc-match crashes when given __DUMMY__ property to match on.
(I added the __DUMMY__ string to enable callers of FcObjectToPtrLookup to
    distinguish an error return from a successful return. -PL)
reviewed by: plam
2006-01-07 06:36:24 +00:00
Patrick Lam c60ec7cc6d Add self to AUTHORS list.
Minor change to global cache file format to fix fc-cat bug reported by
    Frederic Crozat, and buglet with not globally caching directories with
    zero fonts cached.
2006-01-05 15:12:22 +00:00
Patrick Lam 52ac91f7c1 Fix double-free which occurs because FcValueCanonicalize doesn't create an
extra copy of the returned value, it only canonicalizes it.
reviewed by: plam
2006-01-02 17:20:23 +00:00
Patrick Lam cea78a8791 Fix version of .cache file (currently 1 -> currently 2). Reported by Jim
Osborn.
2006-01-02 17:18:22 +00:00
Patrick Lam ebc157f9a1 Shut up GCC warnings on amd.
reviewed by: plam
2005-12-21 20:00:20 +00:00
Patrick Lam 19ea60bc7c Avoid check on _fcBankId nullness and fix case where it used to crash. 2005-12-21 05:37:10 +00:00
Patrick Lam 3bfae75d44 Bump version to 2.3.93.
Use open instead of fopen (requested by Phil Race for Sun).
src/fccache.c (FcDirCacheWrite);
Fix GCC4 warning and Makefile brokenness for /var/cache/fontconfig dir.
2005-12-21 03:31:19 +00:00
Patrick Lam 6f767cec49 Restore code to skip over PCF fonts that have no encoded characters. (We
guess that a font is PCF by presence of the PIXEL_SIZE BDF property.)
2005-12-20 20:35:47 +00:00
Patrick Lam ec760b178a Read and write the original location as a fallback for the hashed cache
file locations. This is mostly for users to be able to have
    per-directory cache files.
2005-12-12 20:45:54 +00:00
Patrick Lam 83b6739035 Improve error message when fc-cache can't write the cache. Add missing
slash. Reported by Behdad. Incorporate Behdad's patch to create
    /var/cache/fontconfig when appropriate.
2005-12-12 13:46:45 +00:00
Patrick Lam 368104c381 Fix crash reported by Frederic Crozat when using libxml2.
reviewed by: plam
2005-12-12 13:20:41 +00:00
Patrick Lam ea44e21841 Migrate cache files from fonts directories to /var/cache/fontconfig. This
helps make fontconfig FHS-compliant, but requires that all caches get
    rebuilt.
Also, autogen.sh now needs the additional parameter
--localstatedir=/var.
2005-12-09 16:36:45 +00:00
Patrick Lam 204da5a8b8 Because we've changed FcPatternAddString to use FcStrStaticName and not
FcValueSave, explicitly handle the case of a null string.
2005-12-08 05:54:27 +00:00
Patrick Lam 982b598278 Fix warnings. 2005-12-07 03:55:25 +00:00
Patrick Lam c6103dfb22 Don't assign types to user object names. 2005-12-06 18:57:43 +00:00
Patrick Lam 9ede93f1dc Don't free strings that have been returned from FcStrStaticName. 2005-12-05 16:08:01 +00:00
Patrick Lam 6059daeddb Add codepath for reading global cache files as well. 2005-12-01 07:12:45 +00:00
Patrick Lam 2c6fead73f Add config file for Persian fonts from Sharif FarsiWeb, Inc.
reviewed by: plam
2005-12-01 06:27:07 +00:00
Patrick Lam cb6d97eb1b Only add a config file to the set of config files once.
reviewed by: plam
2005-11-30 22:13:21 +00:00
Patrick Lam 93a27747a4 src/fcint.h (FcCacheBankToIndex);
Fix segfault by guarding array dereference.
2005-11-29 15:04:06 +00:00
Patrick Lam b8948e8542 Refactor FcCacheBankToIndex into an inlineable part (in fcint.h) which
checks the front of the list and a non-inlineable part which finds and
    moves the appropriate element to the front of the list.
reviewed by: plam
2005-11-29 14:57:10 +00:00
Patrick Lam 9fad72abaf Make the perf guys hate me a bit less: hoist the directory-name
FcConfigAcceptFont check for cached fonts up to directory cache read
    time, rather than running it for each font.
2005-11-29 06:23:00 +00:00
Patrick Lam 51af050992 Don't make FcPatternFindFullFname available to fccfg, it's not really safe.
Instead go through FcPatternGetString (sorry, perf guys.) Also, use
    globs for dirs as well.
2005-11-29 06:09:18 +00:00
Patrick Lam e0421d0289 Fix segfault. 2005-11-29 00:21:05 +00:00
Patrick Lam ced3f0a0ab Fix problem dating back at least to 2.3.2 where globs weren't being applied
to patterns loaded from a cache.
Fix some obvious spelling mistakes.
2005-11-29 00:14:42 +00:00
Patrick Lam 1ed98a0c87 Stephan Kulow <coolo@suse.de> reviewed by: plam
Don't kill all fonts during match (oops!)
2005-11-28 10:54:11 +00:00
Patrick Lam 200a44fed0 Fix incorrect merge.
reviewed by: plam
2005-11-26 05:05:14 +00:00
Patrick Lam cbe1df8150 Don't do random matching when bad objects are passed into
FcCompareValueList.
2005-11-25 16:33:58 +00:00
Patrick Lam 81fe99fdd0 Rename fcpatterns, fcpatternelts, fcvaluelists to _fcPatterns,
_fcPatternElts, _fcValueLists for consistency.
2005-11-25 16:04:44 +00:00
Patrick Lam d854eaf8a9 Pass the FcObjectPtr to FcCompareValueList, not the char * (perf).
reviewed by: plam
2005-11-25 15:54:24 +00:00
Patrick Lam 61571f3f2e Pass around FcCache *s to the Unserialize functions for extra consistency
(and less overhead, for what that's worth).
2005-11-25 15:50:34 +00:00
Patrick Lam 9ab79bdfb7 Inline the *PtrU functions to gain perf. Remove unneeded params for the
FcCompare* functions.
reviewed by: plam
2005-11-25 03:00:51 +00:00
Patrick Lam 1c9fdccab9 Move FC_BANK_DYNAMIC, FC_BANK_FIRST to internal header.
Check for type validity during FcPatternAddWithBinding, don't verify type
    in FcFontMatch, don't call FcCanonicalize here (which always does a
    deep copy).
reviewed by: plam
2005-11-24 21:40:20 +00:00
Patrick Lam 4f8b266fd9 Make FcCompareString and FcCompareFamily less expensive. Only add a value
for FC_FAMILY if the proposed value is a string.
reviewed by: plam
2005-11-24 20:20:26 +00:00
Patrick Lam b97a34b592 Inline FcDebug invocations and only initialize once, in FcInit*. Improve
debug msg in FcPatternPrint.
reviewed by: plam
2005-11-24 19:38:05 +00:00
Patrick Lam f7c4624f56 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam
Minor code warning cleanups.
2005-11-23 16:36:26 +00:00
Patrick Lam 435fc66073 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam
Make getopt_long accept -s parameter to fc-match as well.
2005-11-23 15:32:36 +00:00
Patrick Lam adac22f290 Manually perform inlining & partial redundancy elimination to reduce calls
to FcValueListPtrU.
Only invoke strlen() when really necessary.
reviewed by: plam
reviewed by: plam
2005-11-22 04:46:55 +00:00
Patrick Lam 8c24aa6b45 Get rid of the use of freetype internal headers in fcfreetype.c, since
those headers will go away with freetype 2.2. Replace with public
    domain ftglue code from pango. Note that the patch removes some extra
    error checking in FT_Get_BDF_Property() and comments out the skipping
    of empty pcf fonts.
reviewed by: plam
2005-11-19 22:38:39 +00:00
Patrick Lam 8ebf7725a8 Get rid of the use of freetype internal headers in fcfreetype.c, since
those headers will go away with freetype 2.2. Replace with public
    domain ftglue code from pango. Note that the patch removes some extra
    error checking in FT_Get_BDF_Property() and comments out the skipping
    of empty pcf fonts.
reviewed by: plam
2005-11-19 22:32:13 +00:00
Patrick Lam a151acedc0 Further fix of patch from 2005-11-04: miscounted numbers count
(numbers_count); didn't strip duplicate numbers (langBankNumbers); and
    leafidx_offset and numbers_offset in fcLangCharSets are wrong.
Removed leafidx_count and numbers_count since they are the same and
    replaced them with offset_count.
reviewed by: plam
2005-11-19 16:24:53 +00:00
Patrick Lam 8f2a807810 Don't crash when fc-cat invoked with no arguments.
Fix invalid read access caused by premature free and GCC4 warnings in
    libxml2 codepath.
reviewed by: plam
reviewed by: plam
2005-11-18 20:32:30 +00:00
Patrick Lam 82912b062b List iteration not needed in FcConfigValues, since it's building up the
list itself; we can just strip FcVoid elements during construction.
reviewed by: plam
2005-11-18 04:21:10 +00:00
Patrick Lam 38b2ecad5a Fix crash on invalid constants in config files (forgot to update a pointer
upon list iteration.)
2005-11-17 16:46:07 +00:00
Patrick Lam f28472fdb4 Complain about invalid constants in config files.
reviewed by: plam
2005-11-17 16:17:05 +00:00
Patrick Lam 1c5b6345b9 Don't add current_arch_start more than once.
Fix ordering of ALIGN with respect to saving block_ptr; add another ALIGN
    to fcfs.c.
reviewed by: plam
2005-11-17 15:43:39 +00:00