platform/upstream/fontconfig.git
18 years agoEliminate .so PLT entries for local symbols. (thanks to Arjan van de Ven)
Keith Packard [Tue, 5 Sep 2006 09:24:01 +0000 (02:24 -0700)]
Eliminate .so PLT entries for local symbols. (thanks to Arjan van de Ven)

Using a simple shell script that processes the public headers, two header
files are constructed that map public symbols to hidden internal aliases
avoiding the assocated PLT entry for referring to a public symbol.

A few mistakes in the FcPrivate/FcPublic annotations were also discovered
through this process

18 years agoCorrect reference count when sharing cache file objects.
Keith Packard [Tue, 5 Sep 2006 06:19:59 +0000 (23:19 -0700)]
Correct reference count when sharing cache file objects.

Multiple maps of the same cache file share the same mapped object; bump the
cache object reference count in this case

18 years agoOops, fc-lang broke when I added cache referencing.
Keith Packard [Tue, 5 Sep 2006 05:39:51 +0000 (22:39 -0700)]
Oops, fc-lang broke when I added cache referencing.

Add FcCacheObjectReference/FcCacheObjectDereference stubs to fc-cache.

18 years agoMake cache reference counting more efficient.
Keith Packard [Tue, 5 Sep 2006 05:26:24 +0000 (22:26 -0700)]
Make cache reference counting more efficient.

Eliminate need to reference cache object once per cached font, instead
just count the number of fonts used from the cache and bump the reference
count once by that amount. I think this makes this refernece technique
efficient enough for use.

18 years agoReference count cache objects.
Keith Packard [Tue, 5 Sep 2006 05:20:25 +0000 (22:20 -0700)]
Reference count cache objects.

Caches contain patterns and character sets which are reference counted and
visible to applications. Reference count the underlying cache object so that
it stays around until all reference objects are no longer in use.

This is less efficient than just leaving all caches around forever, but does
avoid eternal size increases in case applications ever bother to actually
look for changes in the font configuration.

18 years agoLeave cache files mapped permanently.
Keith Packard [Mon, 4 Sep 2006 20:59:58 +0000 (13:59 -0700)]
Leave cache files mapped permanently.

Without reference counting on cache objects, there's no way to know when
an application is finished using objects pulled from the cache. Until some
kinf of cache reference counting can be done, leave all cache objects mapped
for the life of the library (until FcFini is called). To mitigate the cost
of this, ensure that each instance of a cache file is mapped only once.

18 years agoCan't typecheck values for objects with no known type.
Keith Packard [Mon, 4 Sep 2006 19:46:01 +0000 (12:46 -0700)]
Can't typecheck values for objects with no known type.

Objects that aren't part of the built-in object list don't have predefined
types, so we can't typecheck them.

18 years agoHide FreeType glue code from library ABI.
Keith Packard [Mon, 4 Sep 2006 09:13:13 +0000 (02:13 -0700)]
Hide FreeType glue code from library ABI.

FreeType glue code was escaping the shared library.

18 years agoHide private functions in shared library. Export functionality for utilities.
Keith Packard [Mon, 4 Sep 2006 07:47:07 +0000 (00:47 -0700)]
Hide private functions in shared library. Export functionality for utilities.

Borrowing header stuff written for cairo, fontconfig now exposes in the
shared library only the symbols which are included in the public header
files. All private symbols are hidden using suitable compiler directives.

A few new public functions were required for the fontconfig utility programs
(fc-cat and fc-cache) so those were added, bumping the .so minor version number
in the process.

18 years agoRemove all .cvsignore files
Keith Packard [Sun, 3 Sep 2006 23:27:09 +0000 (16:27 -0700)]
Remove all .cvsignore files

18 years agoMerge branch 'fc-2_4_branch' to master
Keith Packard [Sun, 3 Sep 2006 23:07:11 +0000 (16:07 -0700)]
Merge branch 'fc-2_4_branch' to master

Moving development back to master.

18 years agoFinish INSTALL changes. .gitignore ChangeLog
Keith Packard [Sun, 3 Sep 2006 22:20:46 +0000 (15:20 -0700)]
Finish INSTALL changes. .gitignore ChangeLog

18 years agoUpdate instructions for doing a release. Autogen ChangeLog from git-log. 2.3.96
Keith Packard [Sun, 3 Sep 2006 21:58:49 +0000 (14:58 -0700)]
Update instructions for doing a release. Autogen ChangeLog from git-log.

18 years agoRemove ChangeLog
Keith Packard [Sun, 3 Sep 2006 21:46:17 +0000 (14:46 -0700)]
Remove ChangeLog

18 years agoChange version to 2.3.96
Keith Packard [Sun, 3 Sep 2006 21:42:48 +0000 (14:42 -0700)]
Change version to 2.3.96

18 years agoOops; missed the 60-delicious.conf file.
Keith Packard [Sun, 3 Sep 2006 06:10:59 +0000 (23:10 -0700)]
Oops; missed the 60-delicious.conf file.

This file fixes Delicious Heavy fonts to have the correct weight value.

18 years agoUsing uninitialized (and wrong) variable in FcStrCopyFilename.
Keith Packard [Sun, 3 Sep 2006 06:09:44 +0000 (23:09 -0700)]
Using uninitialized (and wrong) variable in FcStrCopyFilename.

A typo from the change in where filename canonicalization occurs.

18 years agoDon't segfault when string values can't be parsed as charsets or langsets.
Keith Packard [Sun, 3 Sep 2006 03:23:31 +0000 (20:23 -0700)]
Don't segfault when string values can't be parsed as charsets or langsets.

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).

18 years agoFix missing initialization/destruction of new 'scan' target subst list.
Keith Packard [Sun, 3 Sep 2006 03:07:29 +0000 (20:07 -0700)]
Fix missing initialization/destruction of new 'scan' target subst list.

Forgot to initialize and destroy the new substitution list for the 'scan'
match target.

18 years agoAdd FcMatchScan to resolve Delicious font matching issues (bug #6769)
Keith Packard [Sun, 3 Sep 2006 00:52:12 +0000 (17:52 -0700)]
Add FcMatchScan to resolve Delicious font matching issues (bug #6769)

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.

18 years agoAllow font caches to contain newer version numbers
Keith Packard [Sat, 2 Sep 2006 21:54:14 +0000 (14:54 -0700)]
Allow font caches to contain newer version numbers

Use the version number inside the cache file to mark backward compatible
changes while continuing to reserve the filename number for incompatible
changes.

18 years agoUnify directory canonicalization into FcStrAddFilename.
Keith Packard [Sat, 2 Sep 2006 21:52:37 +0000 (14:52 -0700)]
Unify directory canonicalization into FcStrAddFilename.

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.

18 years agoMove Free family names to bottom of respective aliases. (bug 7429)
Keith Packard [Sat, 2 Sep 2006 05:08:41 +0000 (22:08 -0700)]
Move Free family names to bottom of respective aliases. (bug 7429)

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.

18 years agoDocument FC_DEBUG values (bug 6393). Document name \ escape syntax.
Keith Packard [Sat, 2 Sep 2006 05:04:52 +0000 (22:04 -0700)]
Document FC_DEBUG values (bug 6393). Document name \ escape syntax.

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.

18 years agoGuess that mac roman names with lots of high bits are actually SJIS.
Keith Packard [Sat, 2 Sep 2006 04:30:54 +0000 (21:30 -0700)]
Guess that mac roman names with lots of high bits are actually SJIS.

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.

18 years agoPrefer Bitstream Vera to DejaVu families.
Keith Packard [Sat, 2 Sep 2006 04:12:44 +0000 (21:12 -0700)]
Prefer Bitstream Vera to DejaVu families.

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).

18 years agoFonts matching lang not territory should satisfy sort pattern lang.
Keith Packard [Fri, 1 Sep 2006 22:33:27 +0000 (15:33 -0700)]
Fonts matching lang not territory should satisfy sort pattern lang.

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.

18 years agoReally only rebuild caches for system fonts at make install time.
Keith Packard [Fri, 1 Sep 2006 20:22:45 +0000 (13:22 -0700)]
Really only rebuild caches for system fonts at make install time.

Oops. Fix actual fc-cache command line instead of just the displayed version.

18 years agoAdd Assamese orthography (as.orth). Bug #8050
Keith Packard [Fri, 1 Sep 2006 19:59:09 +0000 (12:59 -0700)]
Add Assamese orthography (as.orth). Bug #8050

Behdad Esfahbod says Assamese is the same as Bengali, so this just uses
bn.orth.

18 years agoChinese/Macau needs the Hong Kong orthography instead of Taiwan (bug 7884)
Keith Packard [Fri, 1 Sep 2006 19:45:43 +0000 (12:45 -0700)]
Chinese/Macau needs the Hong Kong orthography instead of Taiwan (bug 7884)

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.

18 years agoAvoid #warning directives on non-GCC compilers. (bug 7683)
Keith Packard [Fri, 1 Sep 2006 19:36:31 +0000 (12:36 -0700)]
Avoid #warning directives on non-GCC compilers. (bug 7683)

Detect GCC and use #warning only on GCC systems.

18 years agoAdd @EXPAT_LIBS@ to Libs.private in fontconfig.pc (bug 7683)
Keith Packard [Fri, 1 Sep 2006 19:26:15 +0000 (12:26 -0700)]
Add @EXPAT_LIBS@ to Libs.private in fontconfig.pc (bug 7683)

Linking against fontconfig requires expat on systems without chained shared
library dependencies.

18 years agoFix memory leaks in fc-cache directory cleaning code.
Keith Packard [Fri, 1 Sep 2006 19:07:10 +0000 (12:07 -0700)]
Fix memory leaks in fc-cache directory cleaning code.

valgrind found a few leaks in the new cache cleaning code.

18 years agoOnly rebuild caches for system fonts at make install time.
Keith Packard [Fri, 1 Sep 2006 19:05:04 +0000 (12:05 -0700)]
Only rebuild caches for system fonts at make install time.

Rebuilding user-specific fonts will stick those cache files in the system
font cache directory.

18 years agoAdd some ignores
Keith Packard [Fri, 1 Sep 2006 09:27:45 +0000 (02:27 -0700)]
Add some ignores

18 years agoFontset pattern references are relative to fontset, not array.
Keith Packard [Fri, 1 Sep 2006 09:22:59 +0000 (02:22 -0700)]
Fontset pattern references are relative to fontset, not array.

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.

18 years agoFix fc-lang to use new charset freezer API.
Keith Packard [Fri, 1 Sep 2006 08:49:47 +0000 (01:49 -0700)]
Fix fc-lang to use new charset freezer API.

Charset freezer api now uses allocated object. Also required minor fixes to
charset freezer code to remove assumption that all input charsets are
persistant.

18 years agoPass directory information around in FcCache structure. Freeze charsets.
Keith Packard [Fri, 1 Sep 2006 08:15:14 +0000 (01:15 -0700)]
Pass directory information around in FcCache structure. Freeze charsets.

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.

18 years agoRemove stale architecture signatures.
Keith Packard [Fri, 1 Sep 2006 08:12:13 +0000 (01:12 -0700)]
Remove stale architecture signatures.

All but x86 are known to be wrong.

18 years agoAllow FcTypeLangSet to match either FcTypeLangSet or FcTypeString.
Keith Packard [Fri, 1 Sep 2006 01:16:00 +0000 (18:16 -0700)]
Allow FcTypeLangSet to match either FcTypeLangSet or FcTypeString.

Applications explicitly setting FC_LANG with string would fail due
to typechecking disallowing this case.

18 years agoChange $(pkgcachedir) to $(fc_cachedir) in fc-cat and fc-cache Makefile.am
Keith Packard [Fri, 1 Sep 2006 01:14:45 +0000 (18:14 -0700)]
Change $(pkgcachedir) to $(fc_cachedir) in fc-cat and fc-cache Makefile.am

make distcheck caught this bug; the effect of 'make uninstall'
would have been to execute 'rm -rf /', somewhat less that desirable.

18 years agoRevert ABI changes from version 2.3
Keith Packard [Thu, 31 Aug 2006 21:38:18 +0000 (14:38 -0700)]
Revert ABI changes from version 2.3

Accidental ABI changes and additions were discovered by looking at the
differences in fontconfig.h. All of those have been reverted.

18 years agoWith no args, fc-cat now dumps all directories.
Keith Packard [Thu, 31 Aug 2006 18:56:43 +0000 (11:56 -0700)]
With no args, fc-cat now dumps all directories.

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.

18 years agoAutomatically remove invalid cache files.
Keith Packard [Thu, 31 Aug 2006 16:42:49 +0000 (09:42 -0700)]
Automatically remove invalid cache files.

Cache files for missing or more recently modified directories are
automatically removed at the end of every fc-cache run.

18 years agoSerialized value lists were only including one value.
Keith Packard [Thu, 31 Aug 2006 16:07:32 +0000 (09:07 -0700)]
Serialized value lists were only including one value.

The next pointer in the serialized value list wasn't getting set, so they
were truncated at a single value.

18 years agoUse intptr_t instead of off_t inside FcCache structure.
Keith Packard [Thu, 31 Aug 2006 06:09:39 +0000 (23:09 -0700)]
Use intptr_t instead of off_t inside FcCache structure.

This avoids OS-dependencies in the cache file structure.

18 years agoFix fc-cat again. Sigh.
Keith Packard [Thu, 31 Aug 2006 05:23:25 +0000 (22:23 -0700)]
Fix fc-cat again. Sigh.

Internal interfaces in cache management changed again...

18 years agoSkip broken caches. Cache files are auto-written, don't rewrite in fc-cache.
Keith Packard [Thu, 31 Aug 2006 04:59:53 +0000 (21:59 -0700)]
Skip broken caches. Cache files are auto-written, don't rewrite in fc-cache.

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.

18 years agoRework Object name database to unify typechecking and object lookup.
Keith Packard [Thu, 31 Aug 2006 01:50:58 +0000 (18:50 -0700)]
Rework Object name database to unify typechecking and object lookup.

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.

18 years agoFcCharSetSerialize was using wrong offset for leaves. Make fc-cat work.
Keith Packard [Wed, 30 Aug 2006 20:51:03 +0000 (13:51 -0700)]
FcCharSetSerialize was using wrong offset for leaves. Make fc-cat work.

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.

18 years agoFix build problems caused by cache rework.
Keith Packard [Wed, 30 Aug 2006 11:24:03 +0000 (04:24 -0700)]
Fix build problems caused by cache rework.

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.

18 years agoRework cache files to use offsets for all data structures.
Keith Packard [Wed, 30 Aug 2006 11:16:22 +0000 (04:16 -0700)]
Rework cache files to use offsets for all data structures.

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.

18 years agoRevert to original FcFontSetMatch algorithm to avoid losing fonts.
Keith Packard [Mon, 28 Aug 2006 18:51:12 +0000 (11:51 -0700)]
Revert to original FcFontSetMatch algorithm to avoid losing fonts.

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.

18 years agoAdd ppc architecture
Keith Packard [Mon, 28 Aug 2006 17:38:27 +0000 (10:38 -0700)]
Add ppc architecture

18 years agoDuring test run, remove cache directory to avoid stale cache usage.
Keith Packard [Mon, 28 Aug 2006 17:30:22 +0000 (10:30 -0700)]
During test run, remove cache directory to avoid stale cache usage.

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.

18 years agoAdd x86-64 architecture and signature.
Keith Packard [Mon, 28 Aug 2006 17:07:43 +0000 (10:07 -0700)]
Add x86-64 architecture and signature.

18 years agoRegenerate x86 line in fcarch.tmpl.h to match change in cache data.
Keith Packard [Mon, 28 Aug 2006 16:43:12 +0000 (09:43 -0700)]
Regenerate x86 line in fcarch.tmpl.h to match change in cache data.

Also remove spurious printf of directory names.

18 years agoEliminate ./ and ../ elements from font directory names when scanning.
Keith Packard [Mon, 28 Aug 2006 06:40:51 +0000 (23:40 -0700)]
Eliminate ./ and ../ elements from font directory names when scanning.

FcStrCanonFilename eliminates ./ and ../ elements from pathnames through
simple string editing. Also, relative path names are fixed by prepending the
current working directory.

18 years agoFix up fc-cache and fc-cat for no global cache changes.
Keith Packard [Mon, 28 Aug 2006 05:24:39 +0000 (22:24 -0700)]
Fix up fc-cache and fc-cat for no global cache changes.

fc-cache and fc-cat use internal (fcint.h) APIs that have
changed with the elimination of the global cache.

18 years agoEliminate global cache. Eliminate multi-arch cache code.
Keith Packard [Mon, 28 Aug 2006 04:53:48 +0000 (21:53 -0700)]
Eliminate global cache. Eliminate multi-arch cache code.

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.

18 years agoAdd architecture to cache filename.
Keith Packard [Mon, 28 Aug 2006 01:29:51 +0000 (18:29 -0700)]
Add architecture to cache filename.

Make cache filenames unique by inserting the architecture name into the
filename.

18 years agoEliminate NormalizeDir. Eliminate gratuitous stat/access calls per dir.
Keith Packard [Mon, 28 Aug 2006 01:19:39 +0000 (18:19 -0700)]
Eliminate NormalizeDir. Eliminate gratuitous stat/access calls per dir.

Normalized directory names offer protection against looped directory trees
but cost enormous numbers of system calls (stat per file in the hierarchy).
Also, cache file directory name contents are validated each time the
directory is modified, don't re-validate every time the cache file is loaded
with an access and stat call.

18 years agoWrite caches to first directory with permission. Valid cache in FcDirCacheOpen.
Keith Packard [Mon, 28 Aug 2006 00:04:01 +0000 (17:04 -0700)]
Write caches to first directory with permission. Valid cache in FcDirCacheOpen.

Previous policy was to attempt to update the cache in place and bail if that
didn't work. Now, search for the first writable directory and place the
cache file there instead. Furthermore, on startup, search directory list for
valid cache files instead of bailing if the first found cache file wasn't
valid.

18 years agoConstruct short architecture name from architecture signature.
Keith Packard [Sun, 27 Aug 2006 23:25:07 +0000 (16:25 -0700)]
Construct short architecture name from architecture signature.

Map existing architecture signature to short architecture name
at build time. This architecture name is (as yet) unused, but will be used
to build per-architecture cache files with names made unique by including
the architecture name. The auto-detected architecture name can be overridden
with the --with-arch=ARCH configure option.

18 years agoAdd .gitignore
Keith Packard [Sun, 27 Aug 2006 23:21:16 +0000 (16:21 -0700)]
Add .gitignore

18 years ago2006-08-04 Keith Packard (keithp@keithp.com) reviewed by: plam
Patrick Lam [Fri, 4 Aug 2006 16:13:00 +0000 (16:13 +0000)]
2006-08-04 Keith Packard (keithp@keithp.com) reviewed by: plam
Make cache directories configurable. Simplify and correct some code which
    deals with per-directory caches.

18 years ago2006-07-19 Jon Burgess (jburgess@uklinux.net) reviewed by: plam
Patrick Lam [Wed, 19 Jul 2006 02:14:28 +0000 (02:14 +0000)]
2006-07-19 Jon Burgess (jburgess@uklinux.net) reviewed by: plam
Fix file-descriptor leak in FcGlobalCacheDestroy.

18 years ago2006-05-31 Yong Li (rigel863@gmail.com) reviewed by: plam, Bedhad Esfahbod
Patrick Lam [Fri, 2 Jun 2006 18:48:30 +0000 (18:48 +0000)]
2006-05-31 Yong Li (rigel863@gmail.com) reviewed by: plam, Bedhad Esfahbod
TrueType Collection table offsets are absolute, not relative.

18 years ago2006-04-27 Paolo Borelli (pborelli@katamail.com) reviewed by: plam
Patrick Lam [Fri, 28 Apr 2006 07:00:25 +0000 (07:00 +0000)]
2006-04-27 Paolo Borelli (pborelli@katamail.com) reviewed by: plam
Make FcStrCopy slightly more efficient.

18 years agoKeith Packard <keithp@keithp.com>
Patrick Lam [Thu, 27 Apr 2006 08:13:45 +0000 (08:13 +0000)]
Keith Packard <keithp@keithp.com>
Reduce transient memory usage during config file parsing by allocating
    smaller buffers (64 seems to be a magic number).

18 years agoEliminate pattern freezing
Keith Packard [Thu, 27 Apr 2006 07:54:07 +0000 (07:54 +0000)]
Eliminate pattern freezing

18 years agoMake path names in cache files absolute (NB, cache format change) Stop
Keith Packard [Thu, 27 Apr 2006 07:11:44 +0000 (07:11 +0000)]
Make path names in cache files absolute (NB, cache format change) Stop
    permitting cache files to be stored in font dirs. Bump cache magic.
    Don't include /fonts.cache-2 in cache hash construction.
reviewed by: Patrick Lam <plam@mit.edu>

18 years agoReally update for 2.3.95. fc-2_3_95
Patrick Lam [Wed, 26 Apr 2006 14:50:41 +0000 (14:50 +0000)]
Really update for 2.3.95.

18 years agoFix the issues with GNU libiconv vs. libc iconv (which especially appear on
Patrick Lam [Tue, 25 Apr 2006 15:33:07 +0000 (15:33 +0000)]
Fix the issues with GNU libiconv vs. libc iconv (which especially appear on
    Solarii). Approach suggested by Tim Mooney.
reviewed by: plam

18 years agoInclude $(top_srcdir), $(top_srcdir)/src before anything else.
Patrick Lam [Tue, 25 Apr 2006 06:12:06 +0000 (06:12 +0000)]
Include $(top_srcdir), $(top_srcdir)/src before anything else.
Shuffle order of includes for building out of srcdir on win32.
reviewed by: plam

18 years agoInclude $(top_srcdir), $(top_srcdir)/src before anything else.
Patrick Lam [Tue, 25 Apr 2006 05:57:41 +0000 (05:57 +0000)]
Include $(top_srcdir), $(top_srcdir)/src before anything else.
Shuffle order of includes for building out of srcdir on win32.
reviewed by: plam

18 years agoPrevent terrible perf regression by getting the if-condition right
Patrick Lam [Thu, 20 Apr 2006 16:57:50 +0000 (16:57 +0000)]
Prevent terrible perf regression by getting the if-condition right
    (reported by Wouter Bolsterlee).

18 years agoDominic Lachowicz <cinamod@hotmail.com>
Patrick Lam [Wed, 19 Apr 2006 16:53:50 +0000 (16:53 +0000)]
Dominic Lachowicz <cinamod@hotmail.com>
Implement mmap-like code for Windows using MapViewOfFile.

18 years agoBump version to 2.3.95.
Patrick Lam [Wed, 19 Apr 2006 16:17:46 +0000 (16:17 +0000)]
Bump version to 2.3.95.

18 years agoBail gracefully if the cache file does not contain enough data.
Patrick Lam [Wed, 19 Apr 2006 16:17:19 +0000 (16:17 +0000)]
Bail gracefully if the cache file does not contain enough data.

18 years agoGive the 'Standard Symbols L' match a strong (vs. weak) binding.
Patrick Lam [Sat, 15 Apr 2006 00:25:20 +0000 (00:25 +0000)]
Give the 'Standard Symbols L' match a strong (vs. weak) binding.

18 years agoFix Gecko-exposed segfault from my last hack to FcObjectToPtrLookup.
Patrick Lam [Fri, 14 Apr 2006 18:35:16 +0000 (18:35 +0000)]
Fix Gecko-exposed segfault from my last hack to FcObjectToPtrLookup.
    Simplify code and get things straight.

18 years agoActually, just add URW fonts as aliases for all of the PostScript fonts.
Patrick Lam [Fri, 14 Apr 2006 15:40:58 +0000 (15:40 +0000)]
Actually, just add URW fonts as aliases for all of the PostScript fonts.
    (reported by Miguel Rodriguez).

18 years agoAdd an alias 'Standard Symbols L' for 'Symbol'.
Patrick Lam [Fri, 14 Apr 2006 14:51:22 +0000 (14:51 +0000)]
Add an alias 'Standard Symbols L' for 'Symbol'.

18 years agoFix memory leak (Coverity defect #2089).
Patrick Lam [Wed, 12 Apr 2006 14:36:36 +0000 (14:36 +0000)]
Fix memory leak (Coverity defect #2089).
Ignore script if subtable is missing (Coverity defect #2088).
Fix possible null pointer dereference (Coverity defect #784) and memory
    leak (Coverity defects #785, #786).
Don't copy FcCharSet if we're going to throw it away anyway. (Reported by
    Kenichi Handa).
reviewed by: plam

18 years agoFix bad behaviour on realloc resulting in crash.
Patrick Lam [Wed, 12 Apr 2006 03:02:57 +0000 (03:02 +0000)]
Fix bad behaviour on realloc resulting in crash.
reviewed by: plam

18 years agoDon't crash if config is null (Coverity defect #984).
Patrick Lam [Wed, 12 Apr 2006 02:38:28 +0000 (02:38 +0000)]
Don't crash if config is null (Coverity defect #984).

18 years agoMissing bits from previous patches.
Patrick Lam [Tue, 11 Apr 2006 16:54:24 +0000 (16:54 +0000)]
Missing bits from previous patches.
Remove extra semi-colon.
Fix memory leak in error case (Coverity defects #776, #985).
Fix memory leaks (Coverity defects #779, #781) and memory use after free
    (Coverity defect #780).
reviewed by: plam

18 years agoProperly convert static charsets to dynamic charsets.
Patrick Lam [Tue, 11 Apr 2006 14:20:59 +0000 (14:20 +0000)]
Properly convert static charsets to dynamic charsets.
Fix memory leak in error case (Coverity defects #1820, #1821, #1822).
Fix memory leak (Coverity defect #1819).
prevent crash when invalid include line is parsed (Coverity defect #763).
Fix potential null pointer access (Coverity defect #1804).
Remove dead code (Coverity defect #1194).
Prevent potential null pointer access (Coverity defect #767), ensure error
    value is read (Coverity defect #1195).
reviewed by: plam

18 years agoSurvive missing docbook2pdf.
Patrick Lam [Tue, 11 Apr 2006 05:08:26 +0000 (05:08 +0000)]
Survive missing docbook2pdf.
reviewed by: plam

18 years agoInclude more stub definitions to make HP-UX's C compiler happy.
Patrick Lam [Mon, 10 Apr 2006 22:08:35 +0000 (22:08 +0000)]
Include more stub definitions to make HP-UX's C compiler happy.

18 years agoSwap typo in order of ALIGN and dereferencing, fixing bug 6529.
Patrick Lam [Mon, 10 Apr 2006 21:04:54 +0000 (21:04 +0000)]
Swap typo in order of ALIGN and dereferencing, fixing bug 6529.

18 years agoFix string memory leak (Coverity defect #1823).
Patrick Lam [Mon, 10 Apr 2006 19:33:03 +0000 (19:33 +0000)]
Fix string memory leak (Coverity defect #1823).
Fix memory leak with hash collision (Coverity defect #1824).
reviewed by: plam

18 years agoDon't leak header in non-error case (Coverity defect #1825).
Patrick Lam [Mon, 10 Apr 2006 16:12:55 +0000 (16:12 +0000)]
Don't leak header in non-error case (Coverity defect #1825).
reviewed by: plam

18 years agosrc/fcdir.c (FcDirScanConfig) Don't leak in error cases (Coverity defects
Patrick Lam [Mon, 10 Apr 2006 16:06:42 +0000 (16:06 +0000)]
src/fcdir.c (FcDirScanConfig) Don't leak in error cases (Coverity defects
    #777, #1826)
reviewed by: plam

18 years agoFix double free (spotted by Coverity, CID #1965).
Patrick Lam [Mon, 10 Apr 2006 15:46:34 +0000 (15:46 +0000)]
Fix double free (spotted by Coverity, CID #1965).
Check if pattern is not null before using it (Coverity defect #1883).
Fix memory leak with hash collision (Coverity defect #1829).
Fix memory leak when bail cases (Coverity defect #1828).
Don't leak directory name (Coverity defect #1827).
reviewed by: plam

18 years agoLD_ADD missing dependencies for binaries. Reported by Edson Alves Pereira.
Patrick Lam [Fri, 7 Apr 2006 18:07:51 +0000 (18:07 +0000)]
LD_ADD missing dependencies for binaries. Reported by Edson Alves Pereira.
reviewed by: plam

18 years agoSGI compilation fixes (reported by Christoph Bauer):
Patrick Lam [Fri, 7 Apr 2006 17:37:09 +0000 (17:37 +0000)]
SGI compilation fixes (reported by Christoph Bauer):
1) reorder union definition of _FcChar;
2) omit .stats =.

18 years agoPortability fixes for HP-UX (reported by Christoph Bauer). Replace
Patrick Lam [Fri, 7 Apr 2006 17:27:39 +0000 (17:27 +0000)]
Portability fixes for HP-UX (reported by Christoph Bauer). Replace
    '__inline__' by AC_C_INLINE and 'inline'. Replace '__alignof__' by
    'fc_alignof'.
reviewed by: plam

18 years agoMove up #include of config.h. Fail if neither inttypes.h nor stdint.h is
Patrick Lam [Fri, 7 Apr 2006 17:06:55 +0000 (17:06 +0000)]
Move up #include of config.h. Fail if neither inttypes.h nor stdint.h is
    available. Fixes bug 6171.
reviewed by: plam