Patrick Lam
e3c6d3364c
Sort directory entries while scanning them from disk; prevents Heisenbugs
...
due to file ordering in a directory.
reviewed by: plam
2006-03-08 19:10:57 +00:00
Patrick Lam
d8951c0cc2
Remove stuff we don't use, make get_{char,short,long} functions of ftglue
...
macros to be inlined.
Code cleanups (excess prototype, old-style function definition).
reviewed by: plam
2006-03-08 02:30:43 +00:00
Patrick Lam
9226e04c69
Because we hacked FcPatternGet, we don't really need to expand the filename
...
again in FcPatternGetString.
2006-03-05 15:33:46 +00:00
Patrick Lam
618adbaf7b
Ok, so some people (wine!) use FcPatternGet to fetch FC_FILE. Make that
...
work. Reported by Bernhard Rosenkraenzer.
2006-03-05 06:05:50 +00:00
Patrick Lam
dc70c15aba
Include inttypes.h instead of stdint.h if appropriate.
2006-03-03 18:35:42 +00:00
Patrick Lam
bb6b19938e
Get rid of C++-style comments.
2006-03-03 06:35:53 +00:00
Patrick Lam
b36f2a39d0
Fix suspicious return expression which causes junk to be returned.
...
reviewed by: plam
2006-03-03 06:11:31 +00:00
Patrick Lam
0cfaf27e33
Takashi Iwai <tiwai@suse.de> reviewed by: plam
...
Fix double-free on error case.
2006-02-24 16:41:34 +00:00
Patrick Lam
656b47f698
Pass the buck; make fontconfig not crash on pango badness.
2006-02-21 15:56:41 +00:00
Patrick Lam
f2fb985c7a
Eliminate redundancies.
...
reviewed by: plam
2006-02-21 15:50:19 +00:00
Patrick Lam
b023dbd384
Eliminate unused vars reported by Intel's compiler.
...
reviewed by: plam
2006-02-21 15:40:18 +00:00
Patrick Lam
dacf81ed4c
Freeze patterns created by configuration file for tiny memory savings
...
(every little bit helps).
reviewed by: plam, keithp
2006-02-21 15:24:28 +00:00
Patrick Lam
530e66b008
Fix the underlying cause of the below segfault (must usually call
...
FcDirCacheHasCurrentArch after FcDirCacheValid).
2006-02-18 18:18:07 +00:00
Patrick Lam
a68ce9525d
Fix segfault (reported by fcrozat) caused by incorrect input on cache
...
files.
2006-02-18 17:56:25 +00:00
Patrick Lam
310817371c
Bump up magic version; we changed the binary format.
2006-02-17 14:44:42 +00:00
Patrick Lam
8c0d692125
Deal correctly with changing FC_CACHE_MAGIC.
2006-02-16 17:50:04 +00:00
Patrick Lam
719f4b841f
Don't bail if fontconfig can't remove a dir cache file. Skip the ID of a
...
cache file when copying. Eliminate 'source file too small' bug in
FcDirCacheWrite.
2006-02-16 07:12:04 +00:00
Patrick Lam
f8a17f3298
Fix memory leak in error condition code.
2006-02-13 22:19:30 +00:00
Patrick Lam
5657098e29
Skip bitmap fonts which can't even get it together enough to declare a
...
family name; this appears to reproduce previous fontconfig behaviour.
reviewed by: plam
2006-02-13 21:51:11 +00:00
Patrick Lam
d00c3cb5e0
Try to open /var/cache/fontconfig/[hashed name] before fonts.cache-2 in a
...
directory, because /var/cache/fontconfig failures ought to be fixable,
unlike fonts.cache-2 failures, which may leave you screwed.
reviewed by: plam
2006-02-11 05:01:32 +00:00
Patrick Lam
9e07e0a77b
Use a tri-state to mark the fonts which didn't get blocked but were just
...
missing an element, to distinguish them from the fonts that do match
the element.
reviewed by: plam
2006-02-11 04:50:46 +00:00
Patrick Lam
f11a184104
Don't kill fonts because they don't declare an element that's being matched
...
on.
reviewed by: plam
2006-02-10 19:40:11 +00:00
Patrick Lam
879af7060b
Define and pass O_BINARY to open if appropriate, for those platforms that
...
need it. Reported by Doodle.
2006-02-09 18:44:14 +00:00
Patrick Lam
c7490074c5
Fix attempt to close -1. Don't unboundedly grow bad caches (reported by
...
fcrozat).
2006-02-09 16:19:42 +00:00
Patrick Lam
a8c425301a
Fix problem with missing 'en' due to euro.patch: change cache file format
...
slightly to coincide with that generated by fc-lang.
2006-02-09 15:25:57 +00:00
Patrick Lam
b10e77628c
Fix warning.
2006-02-08 03:34:17 +00:00
Patrick Lam
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
2006-02-07 22:09:01 +00:00
Patrick Lam
efb11b36c4
Perf optimizations. Inline FcValueCanonicalize, reduce FcValueListPtrU
...
usage, remove redundant cast.
reviewed by: plam
2006-02-07 21:15:33 +00:00
Patrick Lam
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
2006-02-07 20:56:48 +00:00
Patrick Lam
a81f23c0ce
Fix hidden variable warning.
2006-02-07 03:53:32 +00:00
Patrick Lam
799157dbbf
Remove de-escaping logic because FcCacheWriteString doesn't escape anyway.
...
Do blockwise reading instead of byte-wise for performance.
2006-02-07 02:33:57 +00:00
Patrick Lam
8b413bb62c
Takashi Iwai <tiwai@suse.de>
...
Don't loop infinitely on recursive symlinks (client-side).
2006-02-07 02:22:50 +00:00
Patrick Lam
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
2006-02-06 22:44:02 +00:00
Patrick Lam
98592bbb1d
Hoist FcFileIsDir check out of FcFileScanConfig loop.
...
reviewed by: plam
2006-02-06 21:52:15 +00:00
Patrick Lam
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
2006-02-06 19:25:45 +00:00
Patrick Lam
86e75dfb5d
Explain apples/oranges comparison and fix compilation error.
...
reviewed by: plam
2006-02-06 14:44:46 +00:00
Patrick Lam
f076169d19
Insert check for integer overflow in # of fonts.
...
reviewed by: plam
2006-02-06 14:14:21 +00:00
Patrick Lam
68355f3877
src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheSave, FcDirCacheConsume,
...
FcDirCacheWrite)
Check I/O call return values and eliminate unused variable warnings.
reviewed by: plam
2006-02-05 02:57:21 +00:00
Patrick Lam
c4c47a7654
src/fccfg.c (FcConfigAppFontAddFile, FcConfigAppFontAddDir)
...
Fix memory leak.
reviewed by: plam
2006-02-04 00:09:42 +00:00
Patrick Lam
a8e4d9eb39
Gracefully handle the case where a cache asserts that it has a negative
...
number of fonts, causing overflow.
reviewed by: plam
2006-02-04 00:04:00 +00:00
Patrick Lam
1af0f5741a
Fix double free in error case.
2006-02-03 23:47:37 +00:00
Patrick Lam
28aefd013d
Toast broken global cache files.
...
reviewed by: plam
2006-01-31 07:16:22 +00:00
Patrick Lam
3616cbe251
Actually use the directories that I added to the global cache. Fixes 'make
...
check'.
2006-01-31 04:42:20 +00:00
Patrick Lam
81d97094cf
Make global cache work again after putting dir names into global cache (I
...
misplaced the recording of a file offset).
2006-01-30 16:31:56 +00:00
Patrick Lam
2c4e012497
Update fc-cat to handle subdir lists in global cache file.
...
Another FcCacheReadString return value check.
2006-01-30 15:59:17 +00:00
Patrick Lam
c5411c4cae
Make fccache more resilient to broken cache files by checking return value
...
of FcCacheReadString all the time.
reviewed by: plam
2006-01-30 15:44:13 +00:00
Patrick Lam
30c4189deb
Fix global cache reads of subdirectories.
...
reviewed by: plam
2006-01-30 04:47:17 +00:00
Patrick Lam
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.
2006-01-30 04:27:53 +00:00
Patrick Lam
97293e07dd
Move FcConfigNormalizeFontDir call so that it doesn't result in infinite
...
recursion (reported by Ronny V. Vindenes).
2006-01-27 05:47:59 +00:00
Patrick Lam
3cf9f5cec3
Add a couple of missing normalizations to make fc-cache work right; only
...
scan subdirectories once.
2006-01-27 00:27:37 +00:00
Patrick Lam
4073203deb
Don't crash on non-existant directories in global cache.
...
reviewed by: plam
2006-01-26 16:11:41 +00:00
Patrick Lam
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.
2006-01-26 16:09:12 +00:00
Patrick Lam
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.
2006-01-25 14:52:49 +00:00
Patrick Lam
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
2006-01-25 02:54:37 +00:00
Patrick Lam
6f9fcb5186
Fix memory leaks reported by Ronny V. Vindenes.
2006-01-25 02:33:46 +00:00
Patrick Lam
986e35979e
Fix for unaligned memory accesses.
...
reviewed by: plam
2006-01-19 19:20:30 +00:00
Patrick Lam
58bdd29619
Properly order the FcConfigAddFontDir and FcConfigNormalizeFontDir calls to
...
avoid crashes.
reviewed by: plam
2006-01-18 15:41:15 +00:00
Patrick Lam
eadadf489a
Fix segfault when consuming zero-length caches in fc-cat (which has no
...
config, so FcConfigAddFontDir shouldn't be called.)
2006-01-15 05:31:58 +00:00
Patrick Lam
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
2006-01-14 21:23:03 +00:00
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
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).
2006-01-08 10:58:30 +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
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
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
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
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.
2005-11-28 01:40:53 +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
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
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
2005-11-19 22:37:24 +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
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
Patrick Lam
8e351527bb
src/fccache.c (FcDirCacheProduce)
...
Fix case where alignment bytes bumped up metadata->count causing
unwarranted failures to write cache files. (Reported by Stephan Kulow).
2005-11-16 17:49:01 +00:00
Patrick Lam
7fd7221e68
Add *NeededBytesAlign(), which overestimates the padding which is later
...
added by the new ALIGN macro. Fix alignment problems on ia64 and s390
by bumping up block_ptr appropriately. (Earlier version by Andreas
Schwab).
Use sysconf to determine proper PAGESIZE value; this appears to be
POSIX-compliant. (reported by Andreas Schwab)
reviewed by: plam
2005-11-16 15:55:17 +00:00
Patrick Lam
82f35f8bb4
Fix bug 2878 (excessive relocations at startup for charsets, reported by
...
Ross Burton): fc-lang/fc-lang now creates the static form of the
langset, not the dynamic form, so that the charsets should now be in
.rodata.
2005-11-04 19:31:26 +00:00
Patrick Lam
50544b13c1
Add test for validity of directory caches that somehow got lost (reported
...
by make distcheck).
2005-11-04 16:48:32 +00:00
Patrick Lam
ea9726b620
Fix argument ordering problem in call to FcPatternTransferFullFname.
2005-11-03 04:45:57 +00:00
Patrick Lam
7358dae49b
Fix warnings and embarrassing double-free error.
2005-11-03 04:23:22 +00:00
Patrick Lam
d7b3ac6367
Don't zero out full names for FC_REF_CONSTANT fonts; also, duplicate full
...
names when transferring, and free full names when freeing the
associated font. Reported by Jinghua Luo.
2005-11-02 15:29:53 +00:00
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
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
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
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
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
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
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
Patrick Lam
f6ee3db5f0
Fix addressing in the global cache file, preventing infinite loops. Get rid
...
of unused variables.
2005-09-02 06:16:49 +00:00
Patrick Lam
07b3e57663
Apply Matthias Clasen's patch to fix obvious bogosity (i.e. missing
...
FcObjectPtrU).
2005-09-01 18:29:28 +00:00
Patrick Lam
0230c9f887
Fix embarassing attempt to free a static buffer.
2005-09-01 06:59:44 +00:00
Patrick Lam
2304e38f9b
:
...
Save subdirectory names in cache files to save time. This completely
restores the original fontconfig API, BTW. Note that directories
without fonts don't get a cache file; but then how many files would it
have in that directory...
2005-09-01 06:14:46 +00:00
Patrick Lam
5e678e9459
Only load requested fonts for fc-cache, and cleanup memory handling:
...
*Serialize no longer mutates original FcPatterns, it creates a new copy
in the supplied buffer. Fix thinkos in global cache freeing and in
FcCacheSkipToArch.
2005-08-31 15:12:41 +00:00
Patrick Lam
fd77c154af
Fix compilation error exposed with gcc 2.95.
2005-08-30 23:03:42 +00:00
Patrick Lam
eb0cf67144
src/fcint.c
...
The global cache now uses the same mmap-based cache infrastructure as the
per-directory caches. Furthermore, the global cache is automatically
updated (if possible) whenever fontconfig is used. Rip out remnants of
the old cache infrastructure.
2005-08-30 05:55:13 +00:00
Patrick Lam
2dbe759762
Emit and verify machine signature (sizeof (stuff) + endianness) in cache
...
files. Fix bugs in FcCacheBankToIndex.
2005-08-28 05:20:23 +00:00
Patrick Lam
7f37423d8c
Replace FcObjectStaticName by FcStrStaticName. Implement serialization of
...
'object' table (strings pointed to by FcPatternElt->object and used as
keys) and loading of object table from cache file if more strings are
present in cache file than in current version of fontconfig. Hash the
object table in memory.
2005-08-27 02:34:24 +00:00
Patrick Lam
1b7be37790
Reinstate the old global cache code. For the forseeable future, it's
...
probably all right to use the global cache as it was previously and
just store filenames and font info, as long as no mmap cache exists in
the directory. Of course, if an mmap cache exists, use that instead.
If a directory cache does not exist or is invalid, load the fonts for just
that directory using the old codepath.
Fix premature free of the FcPatterns belonging to the FcFontSet which we
create from the mmapped files.
2005-08-25 07:38:02 +00:00
Patrick Lam
4262e0b385
Overhaul the serialization system to create one mmapable file per directory
...
and distribute bytes for each directory from a single malloc for that
directory. Store pointers as differences between the data pointed to
and the pointer's address (s_off = s - v). Don't serialize data
structures that never actually get serialized. Separate strings used
for keys from strings used for values (in FcPatternElt and FcValue,
respectively). Bump FC_CACHE_VERSION to 2.
2005-08-24 06:21:30 +00:00
Patrick Lam
212c9f437e
#ifdef out old cache stuff, replace with first version of new mmapping
...
cache. Add *Read and *Write procedures which mmap in and write out the
fontconfig data structures to disk. Currently, create cache in /tmp,
with different sections for each architecture (as returned by uname's
.machine field. Run the fc-cache binary to create a new cache file;
fontconfig then uses this cache file on subsequent runs, saving lots of
memory. Also fixes a few bugs and leaks.
2005-07-25 04:10:09 +00:00
Patrick Lam
e1b9d091c6
Forward port cworth's patch to branch.
2005-07-15 18:49:12 +00:00
Patrick Lam
0fa680f076
Convert ObjectPtr from a fat structure to a simple index into an id table;
...
ids can be positive (for static strings) or negative (for dynamic
strings). Static strings belong to a single buffer, while dynamic
strings are independently allocated.
2005-07-07 12:09:10 +00:00
Patrick Lam
cd2ec1a940
Add functionality to allow fontconfig data structure serialization.
...
This patch allows the fundamental fontconfig data structures to be
serialized. I've converted everything from FcPattern down to be able to
use *Ptr objects, which can be either static or dynamic (using a union
which either contains a pointer or an index) and replaced storage of
pointers in the heap with the appropriate *Ptr object. I then changed
all writes of pointers to the heap with a *CreateDynamic call, which
creates a dynamic Ptr object pointing to the same object as before.
This way, the fundamental fontconfig semantics should be unchanged; I
did not have to change external signatures this way, although I did
change some internal signatures. When given a *Ptr object, just run *U
to get back to a normal pointer; it gives the right answer regardless
of whether we're using static or dynamic storage.
I've also implemented a Fc*Serialize call. Calling FcFontSetSerialize
converts the dynamic FcFontSets contained in the config object to
static FcFontSets and also converts its dependencies (e.g. everything
you'd need to write to disk) to static objects. Note that you have to
call Fc*PrepareSerialize first; this call will count the number of
objects that actually needs to be allocated, so that we can avoid
realloc. The Fc*Serialize calls then check the static pointers for
nullness, and allocate the buffers if necessary. I've tested the
execution of fc-list and fc-match after Fc*Serialize and they appear to
work the same way.
2005-06-28 03:41:02 +00:00
Keith Packard
f1a42f6b5f
Make FcOpNotContains use FcStrStr for strings so that it matches semantics
...
for !FcOpContains.
reviewed by: keithp
2005-06-17 03:01:43 +00:00
Keith Packard
716ac8b803
Don't force bitmap font enable in default configuration; allows users to
...
override this in ~/.fonts.conf
Updated translations
Destroy font configuration on exit to help valgrind
Use own transcoding routines in preference to iconv which appears to have
leaks in some translators. Call iconv_close after using iconv (oops).
Prefer unicode encoding of Euro char as some fonts mis-encode Euro in other
ones.
Must fetch bitmap glyphs to get width values to check for
monospace/dual-width fonts.
2005-04-21 19:03:53 +00:00
Ross Burton
2ff4f0760a
Check that a pattern isn't already frozen in FcPatternFreeze
2005-04-13 09:11:52 +00:00
Ross Burton
ae7d0f3593
Put all FcPattern objects though FcObjectStaticName and do pointer trather
...
than string compares
2005-03-31 19:16:49 +00:00
Tor Lillqvist
156032744e
Add the .dll to the dll name.
2005-03-17 08:57:11 +00:00
Tor Lillqvist
79da4fe91f
Get the DLL from "bin" where modern libtools put it, not "lib".
...
Check also drive letter prefix on Win32.
2005-03-09 00:47:11 +00:00
Keith Packard
76a8dfa337
Include space and remove numbers from valid script tags. This ensures that
...
tags like 'lao ' work while rejecting those which have any digits.
Eliminate a spurious debugging variable (len)
2005-03-05 23:50:55 +00:00
Keith Packard
219f7818da
Rework GSUB/GPOS script parsing to survive broken fonts. Thanks for the
...
broken font go to Manish Singh
2005-03-05 23:34:57 +00:00
Keith Packard
97bde49a2b
Josselin Mouette:
...
Include 2.3 release information in changelog Add Josselin Mouette as an
Uploader Set hinting_type to low priority configuration option
Manish Singh:
yes_bitmaps.conf -> yes-bitmaps.conf
Funda Wang:
Johap -> Johab
2005-03-05 20:58:39 +00:00
Keith Packard
0c009d2b6d
Generate and install PDF versions of the manuals
...
Fix formatting
Add missing exported functions, fix data types
Add missing pattern elements.
Add missing pattern elements. Document conf.d usage, clarify available
orthography list. Fix some config file attributes. Complete list of
constants.
Mark FC_SOURCE deprecated.
Don't set FC_SOURCE any longer.
2005-03-01 20:36:48 +00:00
Keith Packard
414f720281
Create prototype /etc/fonts/conf.d directory with a few sample
...
configuration files. Deprecate use of local.conf for local
customizations in favor of this directory based scheme which is more
easily integrated into installation systems.
Tag FC_EMBOLDEN as a boolean variable
2005-02-28 18:56:15 +00:00
Keith Packard
47b49bf14b
Free patterns from fonts which are rejected by configuration (bug #2518 )
...
reviewed by: pborelli@katamail.com
2005-02-10 23:00:51 +00:00
Keith Packard
ca60d2b5c5
Polite typechecking for test and edit expressions. Helps catch errors in
...
the font configuration.
2005-01-28 23:55:14 +00:00
Keith Packard
d8ae9c9219
Add SEE ALSO section (bug 2085)
...
Cross compiling fixes (bug 280)
reviewed by: Keith Packard <keithp@keithp.com>
2005-01-13 18:31:50 +00:00
Keith Packard
fce87a189b
Verify that every font pattern loaded from cache has both FC_FILE and
...
FC_FAMILY entries. Attempt to fix bug #2219 .
2005-01-04 21:54:50 +00:00
Keith Packard
479f551f6d
Document ASCII limitations of Fc character conversion macros
...
Fix off-by-one error in utf-8 case walking code. Add FcStrDowncase (useful
for testing case conversion functions)
2004-12-29 19:37:14 +00:00
Keith Packard
192296d852
Adopt some RedHat suggestions for standard font configuration.
...
Add new helper program 'fc-case' to construct case folding tables from
standard Unicode CaseFolding.txt file
Re-implement case insensitive functions with Unicode aware versions
(including full case folding mappings)
2004-12-29 09:15:17 +00:00
Keith Packard
5cf8c5364f
I changed FcFontSetSort to respect the generic aliases better in the face
...
of language matching.
What I did was to ammend the strict sort order used by FcFontSort so that
it 'satisfies' the language specified in the pattern by locating the
best matching font supporting each pattern language and then ignores
language in the remaining fonts for purposes of matching.
So, when asking for 'sans:lang=en', you'll get an English font first, and
then the remaining fonts sorted with respect to the 'sans' alias alone
-- pushing Kochi fonts ahead of other English-supporting Han fonts.
reviewed by: Owen Taylor <otaylor@redhat.com>
2004-12-14 00:12:25 +00:00
Keith Packard
1c52c0f060
Reviewed by: Keith Packard <keithp@keithp.com>
...
memoize strings and share a single copy for all uses. Note that this could
be improved further by using statically allocated blocks and gluing
multiple strings together, but I'm basically lazy. In my environment
with 800 font files, I get a savings of about 90KB.
2004-12-07 01:36:26 +00:00
Keith Packard
46b51147d1
Change files from ISO-Latin-1 to UTF-8
2004-12-07 01:14:46 +00:00
Keith Packard
c5a0b541df
Just remove the FC_FONTDATE -- it has locale issues and annoys redhat
...
multi-arch installs. Now that all X fonts are included without
prejudice, the chances of the date being at all interesting are rather
limited. Bug #415 .
Add copyright and license
2004-12-05 05:49:20 +00:00
Keith Packard
2d9c79c049
Change default set of fonts to include all of /usr/X11R6/lib/X11/fonts (or
...
wherever the X fonts are located).
Document new <include>directory-name</include> semantics
add <include ignore_missing="yes">conf.d</include>
Add selectfont to ignore bitmap fonts, add comment for selectfont which
accepts bitmap fonts.
Allow <include> configuration elements to reference directories. Parse and
load all files of the form [0-9]* in sorted order.
2004-12-05 05:03:52 +00:00
Keith Packard
e4125ef950
Check for non-empty face->family_name and face->style_name before using
...
those for the font. Empty names match everything. Bug #171 .
2004-12-05 04:11:11 +00:00
Keith Packard
537e3d23fa
Create FC_FONTFORMAT from FT_Get_X11_Font_Format function where available.
...
This provides font file format information (BDF, Type 1, PCF, TrueType)
for each font. Closes #109 .
2004-12-05 00:26:06 +00:00
Keith Packard
dbf68dd5fe
Fix typo.
...
Add detection for font capabilities (bug #105 )
reviewed by: Keith Packard <keithp@keithp.com>
2004-12-04 22:06:52 +00:00
Keith Packard
4f27c1c0a3
Move existing fonts.conf to fonts.conf.bak
...
Add detection of iconv
Document new selectfont elements
Switch to UTF-8 in comment
Add fullname, and family/style/fullname language entries
Respect selectfont/*/glob
Add support for selectfont
Add multi-lingual family/style/fullname support
Expose FcListPatternMatchAny (which selectfont/*/pattern uses)
Add new FcPatternRemove/FcPatternAppend. FcObjectStaticName stores computed
pattern element names which are required to be static.
2004-12-04 19:41:10 +00:00
Keith Packard
28f93bc412
Provided by: Lubos Lunak <l.lunak@suse.cz>
...
However FcConfigUptoDate() doesn't seem to work. See the attached patch.
First there's an obvious misplaced parenthesis making it return always
false, and second, even this call fails to detect font changes (e.g.
adding a new font to /usr/X11R6/lib/X11/fonts/truetype). The patch
should fix that as well. The problem seems to be triggered by my
fonts.conf specifying only /usr/X11R6/lib/X11/fonts , and therefore
config->configDirs doesn't include subdirs, unlike config->fontDirs.
2004-06-30 18:41:52 +00:00
Keith Packard
ec0c740e39
Add FcResultOutOfMemory to provide an accurate error when FcFontSetMatch
...
fails in this way
Make #warning about lacking various FreeType features indicate which
version those features appeared so users know how to fix the problem
(Thanks to Anton Tropashko)
2004-05-29 19:32:41 +00:00
Keith Packard
55a69bd0ae
Replace MIN/MAX/ABS macros which happen to have come from FreeType with
...
fontconfig-specific ones (FC_*)
2004-05-06 02:28:37 +00:00
Keith Packard
6ae6acf317
Add instructions for doing a release
...
clean up .spec file; perhaps this will be useful to somebody...
Update to 2.2.93
Make 'scanopen' static so GCC doesn't whine about lacking prototype
Add WARN_CFLAGS to pass -W flags for GCC systems
Change various char types around to match across function calls. Fixed bug
in using available_sizes[i].height which is in pixels, not 64ths of a
pixel.
2004-04-14 18:08:41 +00:00
Keith Packard
89e28590f3
Force FC_FOUNDRY and FC_WIDTH to always be set so that matches looking for
...
explicit values prefer exact matches
2004-03-06 23:44:11 +00:00
Keith Packard
02638f1ace
Supplied by: mfabian@suse.de (Mike FABIAN)
...
Bug #260 fc-cache generates wrong spacing values for bitmap fonts Was using
(strcmp (a,b)) instead of (!strcmp(a,b)).
2004-03-02 16:48:51 +00:00
Keith Packard
208a720f00
Ok, so I messed up the test for y_ppem. Let's see if I got it right this
...
time.
2004-02-11 18:53:05 +00:00
Keith Packard
4f38fa8106
Pre-2.1.5 versions of FreeType didn't include y_ppem in the FT_Bitmap_Size
...
record. Add a configure.in test for this and change the code
accordingly (using height instead).
2004-02-10 18:38:58 +00:00
Keith Packard
b68b96464f
Add Low Saxon orthography (Kenneth Rohde Christiansen <kenneth@gnu.org>)
...
Oops. Left 'newest.set' unset, which would miscompute the newest file
Add FcGetPixelSize to extract correct pixel size from bdf/pcf font
properties (which report the wrong value in current FreeType)
Don't attempt to check for empty glyphs in non-scalable fonts; they have no
outlines...
2004-02-07 07:13:48 +00:00
Tor Lillqvist
f4c52909ab
fontconfig, at least as used by GIMP and/or PangoFT2 on Windows, crashes
...
when trying to save the cache if config->cache is NULL, which happens
if FcConfigHome() is NULL. Guard against that by using the temp folder
in that case.
2004-02-01 19:32:36 +00:00
Keith Packard
408dd9c07a
Switch to FreeType 2.1.7 style includes. Bug #150 .
...
reviewed by: Keith Packard <keithp@keithp.com>
2003-11-18 07:53:04 +00:00
Roozbeh Pournader
344a0e3361
Fixed a bug "FcStrtod" in handling some cases with two-byte decimal
...
separators.
2003-11-10 17:34:36 +00:00
Owen Taylor
f077d662c0
Add a FC_HINT_STYLE key for patterns, with possible values
...
HINT_NONE/HINT_SLIGHT/HINT_MEDIUM/HINT_FULL. (Bug #117 )
2003-09-23 20:12:20 +00:00
Noah Levitt
a05d257fb3
Add new spacing value FC_DUAL (dual-width, as some CJK fonts). (bug #111 )
...
When checking for monospace and dual-width fonts, allow roughly a 3%
variance in the advances.
2003-09-06 19:40:41 +00:00
Manish Singh
3ef32bcdc4
FcConfigAppFontClear: Support passing NULL to use default config.
2003-09-01 05:11:17 +00:00
Carl Worth
34cd0514a2
Added new FcFini function for cleaning up all memory. Fixed a few memory
...
leaks. fc-list now calls FcFini, (and is now leak-free according to
valgrind)
2003-08-15 19:45:20 +00:00
Keith Packard
74a623e02e
Implement new semantics for Contains and LISTING:
...
LISTING requires that the font Contain all of the pattern values, where
Contain is redefined for strings to mean precise matching (so that
Courier 10 Pitch doesn't list Courier fonts)
"Contains" for lang means both langs have the same language and either the
same country or one is missing the country
2003-07-20 16:06:18 +00:00
Keith Packard
26da2bb42f
Was miscomputing end of string position for FcStrtod in locales with
...
multibyte separators
2003-07-09 17:04:17 +00:00
Keith Packard
656c69d6a8
Add autoconf checks for FT_Has_PS_Glyph_Names
2003-06-26 08:19:11 +00:00
Keith Packard
ee1debfdd9
Allow config->cache to be null (as it is when $HOME is not set)
2003-06-26 00:39:04 +00:00
Keith Packard
79621aa5c7
Lean on autoconf to find useful FreeType functions (bug 95)
2003-06-25 23:21:03 +00:00
Tor Lillqvist
92af858f2a
Trivial braino.
2003-06-15 22:45:12 +00:00
Tor Lillqvist
c3941ba9c0
Fix cut&paste error.
2003-06-15 22:35:52 +00:00
Tor Lillqvist
e5206dbcb3
Check also for DLL_EXPORT as indication of being built as a DLL on Win32.
2003-06-13 23:04:35 +00:00
Tor Lillqvist
ee1d81259e
Add share/doc directory. Add Fc*.3 man pages.
...
Set FC_DEFAULT_FONTS on Win32 to the WINDOWSFONTDIR token.
Move the LIBRARY and VERSION lines to the end, not to confuse libtool,
which expects the EXPORTS line to be the first. Add FcConfigEnableHome.
2003-06-13 22:43:28 +00:00
Keith Packard
947afeb566
Optimization in FcLangSetIndex was broken, occasionally returning a pointer
...
to the wrong location on miss
2003-06-09 17:31:03 +00:00
James Su
d4d1e8bc60
Fix "contains" op for strings and langsets.
2003-05-28 01:34:38 +00:00
Keith Packard
53183e66e5
Fix build error with BDF prop local. Free langset after query
2003-05-17 02:17:19 +00:00
Keith Packard
f777f1b35d
oops. Left the psfontinfo.weight matching code commented out while testing
...
other stuff...
2003-05-16 16:37:16 +00:00
Juliusz Chroboczek
ecb7c180d0
Extract spacing from XLFD atom
2003-05-14 20:23:24 +00:00
Keith Packard
0b7a0da20b
Use FcIsWidth to share code
...
Set FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH when scanning fonts to avoid
misclassifying some Han fonts as monospaced.
2003-05-12 20:48:59 +00:00
Juliusz Chroboczek
65d1441df8
Reinstate SETWIDTH_NAME parsing for legacy fonts, disappeared in 1.30.
2003-05-12 09:11:10 +00:00
Juliusz Chroboczek
0f362ad520
Generate FC_SIZE and FC_DPI for legacy bitmap fonts
2003-05-12 09:04:24 +00:00
Keith Packard
d47c9d6efe
Add filename-based accept/reject to ammend available fonts.
...
change FT_ENCODING_ADOBE_CUSTOM to ft_encoding_adobe_custom for older
FreeType releases.
2003-05-07 16:13:24 +00:00
Keith Packard
8ef6a58cb0
Add more .cvsignore entries
2003-05-04 22:58:29 +00:00
Keith Packard
7769c3213d
Handle Adobe glyph names for fonts which include ADOBE_CUSTOM encodings
2003-05-04 22:53:49 +00:00
Keith Packard
11fec41c0e
Grub through style to find weight/slant/width values when other techniques
...
fail
2003-05-02 01:11:53 +00:00
Keith Packard
1f71c4d878
Add book constant for book weight
2003-05-02 01:11:09 +00:00
Keith Packard
3760a63825
Add demi and book postscript weight names. Allow spaces in postscript and X
...
matching
2003-05-01 14:31:04 +00:00
Keith Packard
1af9b7b4d9
Typo in bitstream foundry name
2003-04-30 15:17:42 +00:00
Keith Packard
70ee88099e
Debug output for unknown ps weight names. ignore italic_angle for PS fonts
...
as FreeType already checks that
2003-04-24 17:31:03 +00:00
Keith Packard
f45d39b1fd
FcFontList broken when presented a charset - was comparing inclusion in the
...
wrong direction
2003-04-24 15:29:33 +00:00
Keith Packard
5f84b65a26
Handle pattern elements moving during multiple edits
2003-04-22 06:27:27 +00:00
Keith Packard
965f77940c
From James Su -- only part of page 0xff is Latin
2003-04-20 04:44:09 +00:00
Keith Packard
29d961a28e
Guard calls to FT_Get_BDF_Property to avoid freetype jumping through null
...
pointer
2003-04-18 15:56:05 +00:00
Keith Packard
3a30abdb84
Pass FONTCONFIG_PATH in arguments to get expanded
2003-04-17 21:50:24 +00:00
Keith Packard
2b2f2a714a
BDF properties not available until FreeType 2.1.4
2003-04-17 21:29:12 +00:00
Colin Walters
12d49d3cf4
Remove some unused variables, and initialize some other ones so gcc doesn't
...
warn us.
2003-04-17 17:43:04 +00:00
Keith Packard
0e7a434783
Search through the BDF properties for width and foundry information
2003-04-16 18:08:47 +00:00
Keith Packard
2e2121f910
Move foundry detection data into fcfreetype.c (which is getting rather
...
large at this point)
2003-04-16 16:19:38 +00:00
Keith Packard
3f7653c2ba
Fix unary operator parsing. Add floor, ceil, trunc and round unary
...
operators
2003-04-15 23:38:06 +00:00
Keith Packard
52253696cd
Clean up ps font weight matching and check for NULL
2003-04-15 17:01:39 +00:00
Juliusz Chroboczek
2ae95e77f7
Implemented foundry generation for Type 1 and TrueType
2003-04-11 23:45:59 +00:00
Keith Packard
9f2bcb3e41
Switch to locale-independent string compare function
2003-04-11 22:24:23 +00:00
Keith Packard
d6ea834746
Bug #46 , #47 fontconfig should retrieve type 1 font information from
...
FontInfo dictionary Patch provided by g2@magestudios.net (Gerard
Escalante)
2003-04-11 22:17:11 +00:00
Colin Walters
15b49a7fbe
Fix dummy makefile target names when MS_LIB_AVAILABLE isn't set.
2003-04-08 03:58:08 +00:00
Keith Packard
848d32bd3f
Set spacing to mono if every encoded glyph is the same width
2003-03-28 17:08:35 +00:00
Tor Lillqvist
daeed6e048
Changes for Windows:
...
On Windows with gcc (a.k.a. mingw) build as a DLL.
We don't want to hardcode the fonts.conf file location in the DLL, so we
look up the DLL location at run-time in a DllMain() function. The
fonts.conf location is deduced from that.
The colon can't be used as path separator on Windows, semicolon is used
instead. File path components can be separated with either slash or
backslash. Absolute paths can also begin with a drive letter.
Add internal function FcStrLastSlash that strrchr's the last slash, or
backslash on Windows.
There is no link() on Windows. For atomicity checks, mkdir a lock directory
instead.
In addition to HOME, also look for USERPROFILE.
Recognize the special font directory token WINDOWSFONTDIR, to use the
system's font directory.
Remove the fontconfig-def.cpp that was obsolete. Add fontconfig.def(.in),
without internal functions.
Add a fontconfig-zip(.in) script, used to build a binary distribution.
2003-03-22 21:25:34 +00:00
Keith Packard
cc9dd09816
switch // comment
2003-03-22 01:55:00 +00:00
Keith Packard
f4007a6728
Avoid crashing on empty test/edit lists
2003-03-20 02:00:15 +00:00
Keith Packard
1b16ef20c9
FcCharSetIsSubset errored on fonts with subsets in early blocks and extra
...
blocks not present in the second argument
2003-03-18 08:03:42 +00:00
Keith Packard
81fa16c336
add font widths and extend weight from OS/2 table
2003-03-12 22:16:43 +00:00
Keith Packard
a8386abc91
Global cache time checking was using wrong file name and computing wrong
...
count of fonts per file
2003-03-12 22:15:39 +00:00
Keith Packard
d93fb00e8d
optimize string compares even more
2003-03-05 06:09:36 +00:00
Keith Packard
94421e4097
use FcToLower instead of tolower
2003-03-05 05:53:10 +00:00
Keith Packard
55ef7dac64
Add FcLangSetPrint
2003-03-05 05:52:51 +00:00
Keith Packard
793e946c2f
AddFcLangSetContains for font listing, add first-letter table for language
...
lookups, change RCS tag
2003-03-05 05:52:31 +00:00
Keith Packard
4bd4418ab5
Change RCS tag
2003-03-05 05:51:27 +00:00
Keith Packard
ff3f1f98ed
Switch back to -version-info for fontconfig as its at minor 0. Add
...
--system-only to fc-cache. Fix FC_VERSION to match product version
rather than .so version
2003-03-02 19:12:23 +00:00
Keith Packard
8fc10a72ad
make dist works now. Update to 2.1.90 in preparation for eventual 2.2
...
release
2003-03-02 07:28:24 +00:00
Keith Packard
9238fc061d
Add --disable-docs flag
2003-03-01 05:21:02 +00:00
Keith Packard
0da305f7f8
Switch to docbook and split documentation into pieces
2003-03-01 03:06:37 +00:00
Keith Packard
148656ed8b
Stop setting FC_SPACING from font hints. Theyre always wrong
2003-02-27 07:04:59 +00:00
Keith Packard
662b879681
Avoid crashing with null expressions in debug code
2003-02-27 07:04:31 +00:00
Keith Packard
2d39321f1e
Allow double or integer for numeric values in matching
2003-02-26 19:13:17 +00:00
Keith Packard
f2aacf1ed9
Add remaining .cvsignore files
2003-02-24 17:52:44 +00:00
Keith Packard
20fa60c9ae
Switch to automake
2003-02-24 17:18:50 +00:00
Keith Packard
46d003c34e
Dont attempt to use cache if NULL
2003-02-24 16:51:29 +00:00
Keith Packard
c4ab52dcb5
Track dirs containing fonts.cache files referenced from ~/.fonts.cache file
2003-02-13 16:42:38 +00:00
Keith Packard
dda7794f1b
Add "same" binding for edits to inherit binding from matched element
2003-02-12 18:22:12 +00:00
Keith Packard
602e6b1f26
Output langsets and all bindings in debug messages
2003-02-12 18:21:21 +00:00
Keith Packard
b2b6903259
Make FcStrCmpIgnoreCase a bit faster
2003-02-12 18:20:04 +00:00
Keith Packard
c8d5753c0f
Dont cache directorys until theyve been scanned. Avoids losing subdir
...
contents. Also fixed cache hashing function (was returning constant).
Lots of comments
2003-02-12 18:19:33 +00:00
Keith Packard
d2b5cc7e12
fontconfig is no longer affiliated with xfree86
2003-02-07 00:15:09 +00:00
Keith Packard
dda27aa9ee
Avoid crash when $HOME is not set
2003-02-06 19:30:32 +00:00
Keith Packard
ca4339b8bb
Fix inconsistent const usage in FcConfigCompareValue
2003-02-06 19:22:43 +00:00
Keith Packard
c647f6f1e4
Build fclang.h before building library This required compiling the charset
...
funcs into fc-lang, which was done by refactoring code in fccharset.c
and fcfreetype.c a bit
Updated ethiopic orthographies
Remove imake support
Install empty local.conf file if none is present
2003-02-06 17:46:06 +00:00
David Dawes
432913ead5
677. Fix a segfault in fontconfig (#A.1450, Keith Packard).
2002-12-21 02:31:53 +00:00
David Dawes
234397b429
633. Perform country-independent matching for Chinese languages in
...
fontconfig (#A.1406, Keith Packard).
2002-12-14 02:03:59 +00:00
David Dawes
45fb31aa91
632. Finish off the UTF-16 APIs in Xft, and fix the UTF-16 conversion code
...
in fontconfig (#A.1411, Keith Packard, Jungshik Shin).
2002-12-14 01:59:38 +00:00
Keith Packard
7657345c10
In debugging output, mark weakly bound values with (w)
2002-11-22 02:12:16 +00:00
Keith Packard
bff801144b
Add a bunch more consts to Xft and fontconfig apis
2002-10-11 17:53:03 +00:00
Keith Packard
1852d49035
Add FC_RGBA_UNKNOWN
2002-10-02 07:11:30 +00:00
Keith Packard
2d79b58621
Fix alignment issue on sparc
2002-09-26 00:30:30 +00:00
Keith Packard
a342e87dc3
Add fontversion field
2002-09-26 00:17:28 +00:00
Keith Packard
e712133ca7
Was losing local cached dirs in global cache list
2002-09-26 00:16:23 +00:00
Marc Aurele La France
d1bec8c66d
Pacify gcc 3.2
2002-09-18 17:11:46 +00:00
Marc Aurele La France
05336fd8be
Fix structure alignment and array wlk bugs
2002-09-12 20:56:03 +00:00
Keith Packard
9dac3c5945
More complete memory tracking. Install always overwrites header files
2002-08-31 22:17:32 +00:00
Keith Packard
2458a6d8d8
FcLangSetHasLang was not actually checking the language set itself
2002-08-26 23:34:31 +00:00
Keith Packard
5d6788ac7e
Update ChangeLog, fix some bugs in the man page
2002-08-26 20:52:59 +00:00
Keith Packard
f21f40f347
Append version number to cache file names
2002-08-26 19:57:40 +00:00
Keith Packard
0f9a306e71
Add const to a bunch of string APIs
2002-08-24 20:08:53 +00:00
Keith Packard
47d4f9501f
Add contains/not_contains, fix LangSet equal operator to use FcLangEqual
2002-08-22 18:53:22 +00:00
Keith Packard
d8d7395877
Reimplement FC_LANG as FcTypeLang, freeze patterns, other cleanup
2002-08-22 07:36:45 +00:00
Keith Packard
f4fe447f49
Memory leak in XML parsing of matrices (thanks Owen)
2002-08-20 23:17:03 +00:00
Keith Packard
fa244f3d88
Various config changes plus a couple of optimizations from Owen
2002-08-19 19:32:05 +00:00
Keith Packard
938bc63358
Fix weird first/not-first lameness in font matches, replacing with target
...
qualifiers on test elements. Update library manual page.
2002-08-11 18:11:04 +00:00
Keith Packard
bd724c8596
Short circuit FcPatternEqual when both args point at the same pattern
2002-08-07 01:45:59 +00:00
Keith Packard
0e344dec0b
Update fontconfig manual to match current bits
2002-08-06 19:54:10 +00:00
Keith Packard
bb356b68ab
Uninitialized member of cache structure could lead to non-updated cache
...
files
2002-08-06 19:00:43 +00:00
Keith Packard
aefb2c41c8
Fix autoconf build BSD install and sysconfdir problems
2002-08-01 15:57:26 +00:00
Marc Aurele La France
c2e9d0240b
Warning fix
2002-08-01 01:35:02 +00:00
Keith Packard
6fff2cda0a
Add binding property to edit element
2002-07-31 01:36:37 +00:00
Keith Packard
327a7fd491
Rewrite global cache handling code in fontconfig to eliminate per-file
...
syscalls
2002-07-28 10:50:59 +00:00
Keith Packard
1a9ae91a16
Add fclang.c to Makefile.in
2002-07-17 17:51:52 +00:00
Keith Packard
69937bd941
Add some Utf16 support, extract font family and style names from name table
...
for sfnt fonts
2002-07-13 05:43:25 +00:00
Keith Packard
c80d2ac486
Clean up some coverage files; a few accidentally included PUA values and
...
punctuation. Add debugging stuff to dump out missing codepoints during
cache building when missing only a few
2002-07-12 21:06:03 +00:00
Keith Packard
b4a2c1f012
Add a bunch more languages that use the Latin alphabet
2002-07-12 19:19:16 +00:00
Keith Packard
e709ddfa10
Use locale data set FC_LANG by default. Reorder FcPattern and FcValueList
...
to match Xft1.
2002-07-09 22:08:14 +00:00
Keith Packard
2fcac34973
Trim ideographic punctuation and Suzhou numerals from zh-tw orthography.
...
Had accidentally swapped codePageRange bits for traditional and
simplified chinese. Add persian (fa) and HKSCS (zh-hk). Fix possible
bug in charset walking
2002-07-09 02:28:29 +00:00
Keith Packard
e50b9ae711
Update iso639-2 language coverage info, fix Georgian orthography to
...
eliminate Mingrelian and Svan glyphs, use coverage for inclusion and
OS/2 for Han exclusion, restructure fclang.c to use fclang.h from
fc-lang dir
2002-07-08 07:31:53 +00:00
Keith Packard
d6dabf3686
Add walloon, update fclang.c to include recent language additions
2002-07-07 19:30:53 +00:00
Keith Packard
3de8881ec9
Add fclang.c to CVS; easier than attempting to build it on the fly
2002-07-07 00:00:43 +00:00
Keith Packard
82f4243f22
Switch to RFC 3066 based lang names
2002-07-06 23:47:44 +00:00
Keith Packard
4c0036053a
Add strong/weak pattern value binding, add known charsets for automatic
...
lang computation
2002-06-29 20:31:02 +00:00
Keith Packard
5c7fb8274c
Construct empty constant charsets correctly (using null pointers)
2002-06-26 22:56:51 +00:00
Keith Packard
c552f59ba2
Permit empty charsets in fonts.cache files
2002-06-26 22:14:08 +00:00
Keith Packard
223c028949
Steal idea for locale-insensitive strtod from glib
2002-06-26 16:11:29 +00:00
Keith Packard
4aded3e0dd
Oops. Made a mistake when adding config file names to monitor list
2002-06-21 07:01:11 +00:00
Keith Packard
4645eedfcc
Fix automatic file time checking, transcoding table searches. Actually add
...
config files used to config structure so they can be time checked as
well
2002-06-21 06:14:45 +00:00
Keith Packard
8c96d1fc10
Accidentally falling through several case blocks
2002-06-20 03:43:09 +00:00
Keith Packard
c689ec2291
Add slanting for fonts without oblique/italic varient. Fix matching code to
...
make this work
2002-06-19 21:32:51 +00:00
Keith Packard
6f6563edb5
Add ref counting to font config patterns so that FcFontSort return values
...
are persistant
2002-06-19 20:08:22 +00:00
Keith Packard
f534109f5a
Add a few more families to fonts.conf, make FC_ANTIALIAS less important for
...
matching, fix family->generic mapping
2002-06-18 22:23:05 +00:00
Keith Packard
2623c1ebee
Fix compiler warning
2002-06-18 16:47:33 +00:00
Keith Packard
5b1bfa5d82
Fix incorrect size in memmove call in FcObjectSetAdd that crashed
...
FcFontSetList calls
2002-06-18 16:47:12 +00:00
Keith Packard
d0f07b8d58
Add FcPatternHash, clean up a few valgrind issues
2002-06-08 17:32:05 +00:00
Keith Packard
e9be9cd10a
Add FcPatternEqualSubset for Pango, clean up some internal FcPattern
...
interfaces
2002-06-03 08:31:15 +00:00
Keith Packard
88c747e206
Eliminate some compiler warnings, avoid seg fault when matching missing
...
values
2002-06-02 21:07:57 +00:00
Keith Packard
2a41214a25
Add aspect ratio support to Xft and fontconfig
2002-06-02 20:52:06 +00:00
Keith Packard
8ec077f22b
Expression parsing in fonts.conf file mis-freed elements. Constant identity
...
matrix was accidentally freed. Add ability to comare FTFace pattern
elements (not that its all that useful)
2002-06-02 19:51:36 +00:00
Keith Packard
be0948508c
Add support for user-provided freetype faces to Xft
2002-05-31 23:21:25 +00:00
Keith Packard
20ac65ab00
Change FcCharSet datastructure, add FcFontSort API
2002-05-31 04:42:42 +00:00
Keith Packard
bc9469baad
Optimize after profiling. Fix FcStrCmp to return correct sign
2002-05-29 22:07:33 +00:00
Keith Packard
1412a69926
Apply some obvious fixes to FcFontSetSort from Owen. Speed up FcCharSet
...
primitives and FcFontSetSort
2002-05-29 08:21:33 +00:00
Keith Packard
ed2547b858
Clean up autoconf install to obey DESTDIR
2002-05-24 06:25:52 +00:00
Keith Packard
3673201215
Change charset enumeration functions to more sensible API
2002-05-24 05:20:02 +00:00
Keith Packard
48db40f692
A few random fontconfig build fixes
2002-05-23 23:00:46 +00:00
Keith Packard
0ab36ca8f9
Replace silly avl sort with qsort, add FcPatternEqual
2002-05-22 04:37:07 +00:00
Keith Packard
446bb9c9e0
More autoconf cleanup for fontconfig
2002-05-21 17:48:15 +00:00
Keith Packard
179c39959c
Fix autoconf build process for fontconfig
2002-05-21 17:06:22 +00:00
Alan Hourihane
28e413038d
put fontconfig-def.cpp in the right place.
2002-04-10 11:28:10 +00:00
Keith Packard
d9db7b9e94
Fix FT_Get_Next_Char API to match official 2.0.9 released version
2002-03-27 04:33:55 +00:00
Marc Aurele La France
8c7b2a9d83
Warning fixes
2002-03-04 21:15:28 +00:00
Keith Packard
216fac98e0
Add match routine that returns list of fonts
2002-03-03 18:39:05 +00:00
Keith Packard
ee9061efe9
Eliminate duplicate definitions in fcint.h and fontconfig.h
2002-03-03 18:36:26 +00:00
Keith Packard
5faa099cd5
fontconfig: bail scanning directory on fatal error
2002-03-03 18:35:22 +00:00