Commit Graph

123 Commits

Author SHA1 Message Date
Keith Packard 37e9d33950 Update version numbers to 2.4.92 (2.5 RC2) 2007-11-05 15:52:45 -08:00
Behdad Esfahbod cf223cc7bc Add FcGetLangs() and FcLangGetCharSet(). 2007-11-05 15:29:44 -05:00
Keith Packard de1faa42d1 Export FcConfig{G,S}etRescanInverval from .so, mark as deprecated.
These two names are typos of the correct names. Instead of simply changing
them, the correct thing to do is leave them in the library, add the correct
functions and mark them as deprecated so any source packages will be updated.

This requires bumping the minor version of the library (for adding APIs)
instead of bumping the major version of the library (for removing APIs).
2007-11-04 12:20:45 -08:00
Keith Packard 088b582a26 Clean up exported names in fontconfig.h.
Fix typo errors (Inverval indeed).
Remove FcPattern *p from FcValue (unused)
Remove spurious FcPublic from formals.
2007-11-03 21:54:49 -07:00
Keith Packard b607922909 Remove fcprivate.h, move the remaining macros to fcint.h.
fcprivate.h was supposed to extend the fontconfig API for the various
fontconfig utilities. Instead, just have those utilities use the internal
fcint.h header file (which they already do), removing fcprivate.h from the
installation and hence from the defacto public API.
2007-11-03 13:09:01 -07:00
Keith Packard e66c65fd41 Set version numbers to 2.4.91 (2.5 RC1) 2007-10-25 15:07:54 -07:00
Keith Packard 79641a3b0c Handle UltraBlack weight.
UltraBlack is weight 950 on the CSS scale; handle this by name and value
encoding it as fontconfig weight 215.
2007-10-25 01:03:40 -07:00
Keith Packard 2373f90426 Update for version 2.4.2 2006-12-02 16:09:47 -08:00
Keith Packard 72ffe6536a Add FcFreeTypeQueryFace external API. Bug #7311.
Expose ability to build an FcPattern directly from an FT_Face
object.
2006-12-02 13:22:27 -08:00
Keith Packard b9cc1c4ed8 Update for version 2.4.1 2006-09-15 10:12:15 -07:00
Keith Packard 76c4432223 Update to version 2.4.0 2006-09-09 22:08:40 -07:00
Keith Packard 6cff1dca81 Replace gnu-specific sed command with simple grep.
makealias was using a gnu-extension to sed addressing, replace that with a
simple (and more robuse) grep command. Also, found a bug in the public
header file that was leaving one symbol out of the process.
2006-09-07 14:37:52 -07:00
Keith Packard 88b6bebc3d Update for version 2.3.97. 2006-09-06 23:58:14 -07:00
Keith Packard 23816bf9ac 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
2006-09-05 02:24:01 -07:00
Keith Packard 4984242e36 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.
2006-09-04 00:47:07 -07:00
Keith Packard 34227592c2 Remove all .cvsignore files 2006-09-03 16:27:09 -07:00
Keith Packard 0945cbe730 Change version to 2.3.96 2006-09-03 14:42:48 -07:00
Keith Packard c2c6976d1a 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.
2006-09-02 17:52:12 -07:00
Keith Packard f57783d2e9 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.
2006-08-31 14:38:18 -07:00
Keith Packard 7ce1967331 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.
2006-08-30 04:16:22 -07:00
Patrick Lam 7410e40bd9 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.
2006-08-04 16:13:00 +00:00
Patrick Lam c001a192af Bail gracefully if the cache file does not contain enough data. 2006-04-19 16:17:19 +00:00
Patrick Lam 63d2df3f92 Bump version to 2.3.94. 2006-02-24 19:19:09 +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 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 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 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 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 f7c4624f56 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam
Minor code warning cleanups.
2005-11-23 16:36:26 +00:00
Patrick Lam e6d3e251ee Bump version to 2.3.92. 2005-11-04 06:17: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 2fa3f27e68 Prevent fc-list from escaping strings when printing them. 2005-10-21 19:47:43 +00:00
Patrick Lam 250c1cd422 Add valist sentinel markup for FcObjectSetBuild and FcPatternBuild.
reviewed by: plam
2005-10-20 20:50:21 +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 bc5784ff00 Bump version number to 2.3.91. 2005-10-01 19:18:51 +00:00
Patrick Lam f28f090d25 Add new command-line utility, fc-cat, to convert fonts.cache-2 files into
fonts.cache-1 files (e.g. for grepping and validation of the mmap
    codepath), as per James Cloos' request.
Remove done 'TODO' comment.
Updates for development release 2.3.90.
2005-09-23 05:59:19 +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 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 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 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 1cb309adcb Update for version 2.3.2 2005-04-23 04:32:23 +00:00
Keith Packard d49dde9f90 Update for 2.3.1 2005-03-08 23:39:02 +00:00
Keith Packard 4afc00ca02 Update for 2.3.0 2005-03-01 20:48:36 +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 afca783626 Update for version 2.2.99 2005-01-29 00:42:37 +00:00
Keith Packard d53461812d Update for version 2.2.98 2004-12-29 19:44:51 +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