Commit Graph

  • 879af7060b Define and pass O_BINARY to open if appropriate, for those platforms that need it. Reported by Doodle. Patrick Lam 2006-02-09 18:44:14 +0000
  • c7490074c5 Fix attempt to close -1. Don't unboundedly grow bad caches (reported by fcrozat). Patrick Lam 2006-02-09 16:19:42 +0000
  • a8c425301a Fix problem with missing 'en' due to euro.patch: change cache file format slightly to coincide with that generated by fc-lang. Patrick Lam 2006-02-09 15:25:57 +0000
  • b10e77628c Fix warning. Patrick Lam 2006-02-08 03:34:17 +0000
  • 5c3deb2985 Don't reject dirs that can't be normalized (fixes lilypond, and is correct in the context of application font directories.) Use normalized directory name exclusively in FcCacheReadDirs. reviewed by: plam Patrick Lam 2006-02-07 22:09:01 +0000
  • efb11b36c4 Perf optimizations. Inline FcValueCanonicalize, reduce FcValueListPtrU usage, remove redundant cast. reviewed by: plam Patrick Lam 2006-02-07 21:15:33 +0000
  • 6cc02fe6b9 src/fccharset.c (FcLangCharSetPopulate, FcCharSetInsertLeaf) Fix missing FcCacheBankToIndex in FcCharSetInsertLeaf. Declare extern for static arrays as arrays, not pointers. (Part of the fix for 'fonts don't have en' issue after Euro patch.) (I forgot to commit the ChangeLog last time.) reviewed by: plam Patrick Lam 2006-02-07 20:56:48 +0000
  • a81f23c0ce Fix hidden variable warning. Patrick Lam 2006-02-07 03:53:32 +0000
  • 799157dbbf Remove de-escaping logic because FcCacheWriteString doesn't escape anyway. Do blockwise reading instead of byte-wise for performance. Patrick Lam 2006-02-07 02:33:57 +0000
  • 8b413bb62c Takashi Iwai <tiwai@suse.de> Don't loop infinitely on recursive symlinks (client-side). Patrick Lam 2006-02-07 02:22:50 +0000
  • 660acf8f22 Don't loop infinitely on recursive symlinks. reviewed by: plam Patrick Lam 2006-02-06 23:11:41 +0000
  • fff5a5af30 Skip subdirs when skipping over stale bits of global cache. Introduce state machine into FcGlobalCacheDir to avoid doing inappropriate operations on global dir entries, e.g. writing out an out-of-date cache entry. reviewed by: plam Patrick Lam 2006-02-06 22:44:02 +0000
  • 98592bbb1d Hoist FcFileIsDir check out of FcFileScanConfig loop. reviewed by: plam Patrick Lam 2006-02-06 21:52:15 +0000
  • a0aa54f6ee Don't rescan when trying to normalize a non-declared font dir. Don't add font dirs multiple times (even if they're aliased). reviewed by: plam Patrick Lam 2006-02-06 19:25:45 +0000
  • 86e75dfb5d Explain apples/oranges comparison and fix compilation error. reviewed by: plam Patrick Lam 2006-02-06 14:44:46 +0000
  • f076169d19 Insert check for integer overflow in # of fonts. reviewed by: plam Patrick Lam 2006-02-06 14:14:21 +0000
  • 788c4af232 Make 'make distcheck' work with automake 1.6.3. reviewed by: plam Patrick Lam 2006-02-05 04:11:08 +0000
  • 68355f3877 src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheSave, FcDirCacheConsume, FcDirCacheWrite) Check I/O call return values and eliminate unused variable warnings. reviewed by: plam Patrick Lam 2006-02-05 02:57:21 +0000
  • c4c47a7654 src/fccfg.c (FcConfigAppFontAddFile, FcConfigAppFontAddDir) Fix memory leak. reviewed by: plam Patrick Lam 2006-02-04 00:09:42 +0000
  • a8e4d9eb39 Gracefully handle the case where a cache asserts that it has a negative number of fonts, causing overflow. reviewed by: plam Patrick Lam 2006-02-04 00:04:00 +0000
  • 1af0f5741a Fix double free in error case. Patrick Lam 2006-02-03 23:47:37 +0000
  • 80ba0571f3 Stephan Kulow <coolo@suse.de> reviewed by: plam Replace 'stamp' target with mkinstalldirs. Patrick Lam 2006-01-31 07:30:23 +0000
  • 28aefd013d Toast broken global cache files. reviewed by: plam Patrick Lam 2006-01-31 07:16:22 +0000
  • 3616cbe251 Actually use the directories that I added to the global cache. Fixes 'make check'. Patrick Lam 2006-01-31 04:42:20 +0000
  • 275cf6cd83 Don't stop scanning if a directory in fonts.conf doesn't exist, because subsequent directories might exist. reviewed by: plam Patrick Lam 2006-01-31 04:07:45 +0000
  • 81d97094cf Make global cache work again after putting dir names into global cache (I misplaced the recording of a file offset). Patrick Lam 2006-01-30 16:31:56 +0000
  • 2c4e012497 Update fc-cat to handle subdir lists in global cache file. Another FcCacheReadString return value check. Patrick Lam 2006-01-30 15:59:17 +0000
  • c5411c4cae Make fccache more resilient to broken cache files by checking return value of FcCacheReadString all the time. reviewed by: plam Patrick Lam 2006-01-30 15:44:13 +0000
  • 946478e1a7 Remove references to dead fontconfig(3) manpages in other fontconfig manpages. reviewed by: plam Patrick Lam 2006-01-30 14:43:04 +0000
  • af7a965f94 Fix world's tiniest typo in code example. reviewed by: plam Patrick Lam 2006-01-30 04:51:22 +0000
  • 30c4189deb Fix global cache reads of subdirectories. reviewed by: plam Patrick Lam 2006-01-30 04:47:17 +0000
  • 971cf18018 Add documentation for FcConfigNormalizeFontDir. Write directory information to global caches to fix make check (reported by Ronny V. Vindenes). This changes the global cache format again. Patrick Lam 2006-01-30 04:27:53 +0000
  • 97293e07dd Move FcConfigNormalizeFontDir call so that it doesn't result in infinite recursion (reported by Ronny V. Vindenes). Patrick Lam 2006-01-27 05:47:59 +0000
  • 3cf9f5cec3 Add a couple of missing normalizations to make fc-cache work right; only scan subdirectories once. Patrick Lam 2006-01-27 00:27:37 +0000
  • 4073203deb Don't crash on non-existant directories in global cache. reviewed by: plam Patrick Lam 2006-01-26 16:11:41 +0000
  • f468f568b4 Stop trampling the directory name when writing out caches. (with Mike Fabian:) Beef up FcConfigNormalizeFontDir to scan subdirs when necessary. Don't scan directories that can't be normalized. Patrick Lam 2006-01-26 16:09:12 +0000
  • 575a37b797 Fix additional memory leaks reported by Ronny V. Vindenes: don't invoke FcValueSave on hashed static strings in FcPatternAddWithBinding. Add another st_dev check in FcDirCacheOpen. Patrick Lam 2006-01-25 14:52:49 +0000
  • 16a71eff3e Treat zh-hk fonts differently from zh-tw fonts. This patch may cause fontconfig to treat A-X fonts differently from A-Y fonts; please mail the fontconfig list if this causes any problems. reviewed by: plam Patrick Lam 2006-01-25 02:54:37 +0000
  • 6f9fcb5186 Fix memory leaks reported by Ronny V. Vindenes. Patrick Lam 2006-01-25 02:33:46 +0000
  • 986e35979e Fix for unaligned memory accesses. reviewed by: plam Patrick Lam 2006-01-19 19:20:30 +0000
  • 58bdd29619 Properly order the FcConfigAddFontDir and FcConfigNormalizeFontDir calls to avoid crashes. reviewed by: plam Patrick Lam 2006-01-18 15:41:15 +0000
  • eadadf489a Fix segfault when consuming zero-length caches in fc-cat (which has no config, so FcConfigAddFontDir shouldn't be called.) Patrick Lam 2006-01-15 05:31:58 +0000
  • 8a0b0ed6d0 Compare device numbers as well as inodes. Always normalize directory names before comparing them. Allocate extra space for appended '/' in directory name. reviewed by: plam Patrick Lam 2006-01-14 21:23:03 +0000
  • 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. Patrick Lam 2006-01-10 13:15:05 +0000
  • 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. Patrick Lam 2006-01-09 13:58:04 +0000
  • 5576a5873d 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). Patrick Lam 2006-01-08 10:58:30 +0000
  • 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). Patrick Lam 2006-01-08 10:58:05 +0000
  • 05a98eaf4b Properly skip past dir caches that contain zero fonts (as occurs in global caches.) Reported by Mike Fabian. Patrick Lam 2006-01-08 10:50:51 +0000
  • 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 Patrick Lam 2006-01-07 06:36:24 +0000
  • 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. Patrick Lam 2006-01-05 15:12:22 +0000
  • 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 Patrick Lam 2006-01-02 17:20:23 +0000
  • cea78a8791 Fix version of .cache file (currently 1 -> currently 2). Reported by Jim Osborn. Patrick Lam 2006-01-02 17:18:22 +0000
  • e9fd3c069a Fix version of .cache file (currently 1 -> currently 2). Reported by Jim Osborn. Patrick Lam 2006-01-02 17:13:48 +0000
  • ebc157f9a1 Shut up GCC warnings on amd. reviewed by: plam Patrick Lam 2005-12-21 20:00:20 +0000
  • 19ea60bc7c Avoid check on _fcBankId nullness and fix case where it used to crash. Patrick Lam 2005-12-21 05:37:10 +0000
  • 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. fc-2_3_93 Patrick Lam 2005-12-21 03:31:19 +0000
  • 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.) Patrick Lam 2005-12-20 20:35:47 +0000
  • a7683cafe1 Add a configuration file that disables hinting for the Lohit Gujarati font (since the hinting distort some glyphs quite badly). reviewed by: keithp Carl Worth 2005-12-13 17:50:50 +0000
  • 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. Patrick Lam 2005-12-12 20:45:54 +0000
  • 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. Patrick Lam 2005-12-12 13:46:45 +0000
  • 368104c381 Fix crash reported by Frederic Crozat when using libxml2. reviewed by: plam Patrick Lam 2005-12-12 13:20:41 +0000
  • 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. Patrick Lam 2005-12-09 16:36:45 +0000
  • 204da5a8b8 Because we've changed FcPatternAddString to use FcStrStaticName and not FcValueSave, explicitly handle the case of a null string. Patrick Lam 2005-12-08 05:54:27 +0000
  • 982b598278 Fix warnings. Patrick Lam 2005-12-07 03:55:25 +0000
  • c6103dfb22 Don't assign types to user object names. Patrick Lam 2005-12-06 18:57:43 +0000
  • 9ede93f1dc Don't free strings that have been returned from FcStrStaticName. Patrick Lam 2005-12-05 16:08:01 +0000
  • 6059daeddb Add codepath for reading global cache files as well. Patrick Lam 2005-12-01 07:12:45 +0000
  • 4edd0a0286 file 10-fonts-persian.conf was initially added on branch fc-2_4_branch. Patrick Lam 2005-12-01 06:27:07 +0000
  • 2c6fead73f Add config file for Persian fonts from Sharif FarsiWeb, Inc. reviewed by: plam Patrick Lam 2005-12-01 06:27:07 +0000
  • cb6d97eb1b Only add a config file to the set of config files once. reviewed by: plam Patrick Lam 2005-11-30 22:13:21 +0000
  • 93a27747a4 src/fcint.h (FcCacheBankToIndex); Fix segfault by guarding array dereference. Patrick Lam 2005-11-29 15:04:06 +0000
  • 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 Patrick Lam 2005-11-29 14:57:10 +0000
  • 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. Patrick Lam 2005-11-29 06:23:00 +0000
  • 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. Patrick Lam 2005-11-29 06:09:18 +0000
  • e0421d0289 Fix segfault. Patrick Lam 2005-11-29 00:21:05 +0000
  • c4d3b6dad0 Update autogenerated config.* files. Patrick Lam 2005-11-29 00:16:02 +0000
  • 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. Patrick Lam 2005-11-29 00:14:42 +0000
  • 1ed98a0c87 Stephan Kulow <coolo@suse.de> reviewed by: plam Don't kill all fonts during match (oops!) Patrick Lam 2005-11-28 10:54:11 +0000
  • aa472e5f1a Stephan Kulow <coolo@suse.de> Michael Matz <matz@suse.de> reviewed by: plam Rewrite FcFontSetMatch to a path-finding based algorithm, i.e. inline FcCompare into FcFontSetMatch and reorder the loops, adding a boolean array which blocks patterns from future consideration if they're known to not be best on some past criterion. Patrick Lam 2005-11-28 01:40:53 +0000
  • 200a44fed0 Fix incorrect merge. reviewed by: plam Patrick Lam 2005-11-26 05:05:14 +0000
  • cbe1df8150 Don't do random matching when bad objects are passed into FcCompareValueList. Patrick Lam 2005-11-25 16:33:58 +0000
  • 81fe99fdd0 Rename fcpatterns, fcpatternelts, fcvaluelists to _fcPatterns, _fcPatternElts, _fcValueLists for consistency. Patrick Lam 2005-11-25 16:04:44 +0000
  • d854eaf8a9 Pass the FcObjectPtr to FcCompareValueList, not the char * (perf). reviewed by: plam Patrick Lam 2005-11-25 15:54:24 +0000
  • 61571f3f2e Pass around FcCache *s to the Unserialize functions for extra consistency (and less overhead, for what that's worth). Patrick Lam 2005-11-25 15:50:34 +0000
  • 9ab79bdfb7 Inline the *PtrU functions to gain perf. Remove unneeded params for the FcCompare* functions. reviewed by: plam Patrick Lam 2005-11-25 03:00:51 +0000
  • 3f9f24e077 Fix the debian changelog so that debian/rules works again, make it create a debian package for release 2.3.92-1. Acknowledge change in NMU of debian package. Patrick Lam 2005-11-25 02:16:42 +0000
  • 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 Patrick Lam 2005-11-24 21:40:20 +0000
  • 4f8b266fd9 Make FcCompareString and FcCompareFamily less expensive. Only add a value for FC_FAMILY if the proposed value is a string. reviewed by: plam Patrick Lam 2005-11-24 20:20:26 +0000
  • b97a34b592 Inline FcDebug invocations and only initialize once, in FcInit*. Improve debug msg in FcPatternPrint. reviewed by: plam Patrick Lam 2005-11-24 19:38:05 +0000
  • d2f459781c Properly apply fcrozat's patch. Patrick Lam 2005-11-23 17:01:27 +0000
  • f7c4624f56 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam Minor code warning cleanups. Patrick Lam 2005-11-23 16:36:26 +0000
  • b1297aa897 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam Make getopt_long accept -s parameter to fc-match as well. Patrick Lam 2005-11-23 15:33:48 +0000
  • 435fc66073 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam Make getopt_long accept -s parameter to fc-match as well. Patrick Lam 2005-11-23 15:32:36 +0000
  • adac22f290 Manually perform inlining & partial redundancy elimination to reduce calls to FcValueListPtrU. Only invoke strlen() when really necessary. reviewed by: plam reviewed by: plam Patrick Lam 2005-11-22 04:46:55 +0000
  • 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 Patrick Lam 2005-11-19 22:38:39 +0000
  • 246985e40e file ftglue.c was initially added on branch fc-2_4_branch. Patrick Lam 2005-11-19 22:37:24 +0000
  • 824c7bf025 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 Patrick Lam 2005-11-19 22:37:24 +0000
  • 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 Patrick Lam 2005-11-19 22:32:13 +0000
  • 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 Patrick Lam 2005-11-19 16:24:53 +0000
  • 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 Patrick Lam 2005-11-18 20:32:30 +0000