| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This file fixes Delicious Heavy fonts to have the correct weight value.
|
|
|
|
| |
A typo from the change in where filename canonicalization occurs.
|
|
|
|
|
| |
If parsing charsets or langsets fails, return a FcTypeVoid value instead of
a charset/langset value with a NULL pointer in it (which is invalid).
|
|
|
|
|
| |
Forgot to initialize and destroy the new substitution list for the 'scan'
match target.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Delicious family includes one named Delicious Heavy, a bold variant
which is unfortunately marked as having normal weight. Because the family
name is 'Delicious', fontconfig accidentally selects this font instead of
the normal weight variant. The fix here rewrites the scanned data by running
the scanned pattern through a new substitution sequence tagged with
<match target=scan>; a sample for the Delicious family is included to
demonstrate how it works (and fix Delicious at the same time).
Also added was a new match predicate -- the 'decorative' predicate which is
automatically detected in fonts by searching style names for key decorative
phrases like SmallCaps, Shadow, Embosed and Antiqua. Suggestions for
additional decorative key words are welcome. This should have little effect
on font matching except when two fonts share the same characteristics except
for this value.
|
|
|
|
|
|
| |
Use the version number inside the cache file to mark backward compatible
changes while continuing to reserve the filename number for incompatible
changes.
|
|
|
|
|
|
| |
Instead of making filename canonicalization occur in multiple places, it
occurs only in FcStrAddFilename now, as all filenames pass through that
function at one point.
|
|
|
|
|
|
|
| |
The FreeSans, FreeSerif and FreeMono fonts cover a large number of
languages, but are of generally poor quality. Moving these after fonts which
cover specific languages but which have higher quality glyphs should improve
font selection.
|
|
|
|
|
|
| |
Limited FC_DEBUG documentation (just shows values and vague idea of what
they're related to). Also document \ escape syntax for font names, including
how family name and values have different escape requirements.
|
|
|
|
|
|
|
| |
Many Japanese fonts incorrectly include names tagged as Roman encoding and
English language which are actually Japanese names in the SJIS encoding.
Guess that names with a large number of high bits set are SJIS encoded
Japanese names rather than English names.
|
|
|
|
|
|
|
| |
DejaVu is a modified version of Bitstream Vera that covers significantly
more languages, but does so with spotty quality, lacking hinting for many
glyphs, especially for the synthesized serif oblique face. Use Bitstream
Vera (where installed).
|
|
|
|
|
|
| |
A pattern specifying 'Chinese' (:lang=zh) without a territory should be
satisfied by any font supporting any Chinese lang. The code was requiring
that the lang tags match exactly, causing this sort to fail.
|
|
|
|
| |
Oops. Fix actual fc-cache command line instead of just the displayed version.
|
|
|
|
|
| |
Behdad Esfahbod says Assamese is the same as Bengali, so this just uses
bn.orth.
|
|
|
|
|
|
|
|
|
|
| |
From Abel Cheung:
Currently zh_mo.orth includes zh_tw.orth, which means it is assumed Macau
only uses traditional Chinese characters used in Taiwan; however that is
wrong, as a majority of Macau people speaks Cantonese too, and also uses
additional traditional Chinese chars from Hong Kong (there are already some
place names that can't be represented in just chars used in Taiwan). So it
should include zh_hk.orth instead.
|
|
|
|
| |
Detect GCC and use #warning only on GCC systems.
|
|
|
|
|
| |
Linking against fontconfig requires expat on systems without chained shared
library dependencies.
|
|
|
|
| |
valgrind found a few leaks in the new cache cleaning code.
|
|
|
|
|
| |
Rebuilding user-specific fonts will stick those cache files in the system
font cache directory.
|
| |
|
|
|
|
|
|
| |
Within a fontset, the patterns are stored as pointers in an array.
When stored as offsets, the offsets are relative to the fontset object
itself, not the base of the array of pointers.
|
|
|
|
|
|
| |
Charset freezer api now uses allocated object. Also required minor fixes to
charset freezer code to remove assumption that all input charsets are
persistant.
|
|
|
|
|
|
|
|
|
| |
Instead of passing directory information around in separate variables,
collect it all in an FcCache structure. Numerous internal and tool
interfaces changed as a result of this.
Charsets are now pre-frozen before being serialized. This causes them to
share across multiple fonts in the same cache.
|
|
|
|
| |
All but x86 are known to be wrong.
|
|
|
|
|
| |
Applications explicitly setting FC_LANG with string would fail due
to typechecking disallowing this case.
|
|
|
|
|
| |
make distcheck caught this bug; the effect of 'make uninstall'
would have been to execute 'rm -rf /', somewhat less that desirable.
|
|
|
|
|
| |
Accidental ABI changes and additions were discovered by looking at the
differences in fontconfig.h. All of those have been reverted.
|
|
|
|
|
|
|
| |
Automatically list all font directories when no arguments are given to
fc-cat. Also add -r option to recurse from specified cache directories.
fc-cat also now prints the cache filename in verbose mode, along with the
related directory name.
|
|
|
|
|
| |
Cache files for missing or more recently modified directories are
automatically removed at the end of every fc-cache run.
|
|
|
|
|
| |
The next pointer in the serialized value list wasn't getting set, so they
were truncated at a single value.
|
|
|
|
| |
This avoids OS-dependencies in the cache file structure.
|
|
|
|
| |
Internal interfaces in cache management changed again...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Validate cache contents and skip broken caches, looking down cache path for
valid ones.
Every time a directory is scanned, it will be written to a cache file if
possible, so fc-cache doesn't need to re-write the cache file. This makes
detecting when the cache was generated a bit tricky, so we guess that if the
cache wasn't valid before running and is valid afterwards, the cache file
was written.
Also, allow empty charsets to be serialized with null leaves/numbers.
Eliminate a leak in FcEdit by switching to FcObject sooner.
Call FcFini from fc-match to make valgrind happy.
|
|
|
|
|
|
| |
Eliminate ancient list of object name databases and load names into single
hash table that includes type information. Typecheck all pattern values to
avoid mis-typed pattern elements.
|
|
|
|
|
|
|
|
|
| |
FcCharSetSerialize was computing the offset to the unserialized leaf,
which left it pointing at random data when the cache was reloaded.
fc-cat has been updated to work with the new cache structure.
Various debug messages extended to help diagnose serialization errors.
|
|
|
|
|
|
|
|
| |
Pagesize no longer matters in architecture decisions, the entire cache file
is mmaped into the library. However, lots of intptr_t values are in use now,
so that value is important.
fc-lang now requires fcserialize.c, which has been added to the repository.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace all of the bank/id pairs with simple offsets, recode several
data structures to always use offsets inside the library to avoid
conditional paths. Exposed data structures use pointers to hold offsets,
setting the low bit to distinguish between offset and pointer.
Use offset-based data structures for lang charset encodings; eliminates
separate data structure format for that file.
Much testing will be needed; offsets are likely not detected everywhere in
the library yet.
|
|
|
|
|
|
|
|
| |
The fancy new FcFontSetMatch algorithm would discard fonts for the
wrong reasons; fc-match sans:lang=en,ja would discard all fonts without
Japanese support. This commit reverts to the original algorithm which
ensure that FcFontSetMatch always matches the first font in the
FcFontSetSort return list.
|
| |
|
|
|
|
|
|
|
| |
As file timestamps have only one second granularity, an old cache
file could easily be used when a test took less than 1 second to run.
Just remove the cache directory and its contents before each test is run.
Also, remove mention of the old cache file from the test config file.
|
| |
|
|
|
|
| |
Also remove spurious printf of directory names.
|
|
|
|
|
|
| |
FcStrCanonFilename eliminates ./ and ../ elements from pathnames through
simple string editing. Also, relative path names are fixed by prepending the
current working directory.
|
|
|
|
|
| |
fc-cache and fc-cat use internal (fcint.h) APIs that have
changed with the elimination of the global cache.
|
|
|
|
|
|
|
| |
With the removal of the in-directory cache files, and the addition of
per-user cache directories, there is no longer any reason to preserve the
giant global cache file. Eliminating of this unifies the cache structure
and simplifies the overall caching strategies greatly.
|
|
|
|
|
| |
Make cache filenames unique by inserting the architecture name into the
filename.
|