Commit Graph

221 Commits

Author SHA1 Message Date
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 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 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 435fc66073 2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam
Make getopt_long accept -s parameter to fc-match as well.
2005-11-23 15:32:36 +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 8c24aa6b45 Get rid of the use of freetype internal headers in fcfreetype.c, since
those headers will go away with freetype 2.2. Replace with public
    domain ftglue code from pango. Note that the patch removes some extra
    error checking in FT_Get_BDF_Property() and comments out the skipping
    of empty pcf fonts.
reviewed by: plam
2005-11-19 22:38:39 +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 a151acedc0 Further fix of patch from 2005-11-04: miscounted numbers count
(numbers_count); didn't strip duplicate numbers (langBankNumbers); and
    leafidx_offset and numbers_offset in fcLangCharSets are wrong.
Removed leafidx_count and numbers_count since they are the same and
    replaced them with offset_count.
reviewed by: plam
2005-11-19 16:24:53 +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 e6d3e251ee Bump version to 2.3.92. 2005-11-04 06:17:00 +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 efa9f2bd07 Change the rule for artificial emboldening in fonts.conf.in. This enables
the support for artificial emboldening included in cairo.
reviewed by: plam
2005-11-02 15:57:36 +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 c6b75577f3 Forcibly rescan a directory before writing a fresh local cache file for
that directory, fixing the losing-fonts problem reported by Mike Fabian
    and also apparently the font cache file corruption.
2005-11-02 07:01:25 +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 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 250c1cd422 Add valist sentinel markup for FcObjectSetBuild and FcPatternBuild.
reviewed by: plam
2005-10-20 20:50:21 +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 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 328929f5ea Modify config file to use Greek fonts before Asian fonts with Greek glyphs.
reviewed by: plam & keithp
2005-10-05 19:38:40 +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 9ecb9a9a06 Update ChangeLog. 2005-09-28 00:23:39 +00:00
Patrick Lam 35c2c7f1e9 Update ChangeLog for 2.3.90. 2005-09-23 14:41:40 +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 e1b9d091c6 Forward port cworth's patch to branch. 2005-07-15 18:49:12 +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 adc7abacbf Move fontconfig source package to libs as per override 2005-05-20 16:21:39 +00:00
Keith Packard a65a77aecf The ka.orth file requires several characters which are not used anymore in
modern Georgian and which are missing in the free Georgian TrueType
    fonts downloadable at:
http://aiet.qartuli.net/docs/georgian_on_linux_en.php
reviewed by: Mike Fabian Bug: 3352
2005-05-20 15:56:51 +00:00
Keith Packard 87c887464a Update date to real 2.3.2 release date. Fix change attributions 2005-04-27 19:08:08 +00:00
Keith Packard 1cb309adcb Update for version 2.3.2 2005-04-23 04:32:23 +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
Keith Packard 5f347d9cd5 Update to reflect configuration changes
Fix Autohint vs Autohinter mistake
Adopt changes from Josselin Mouette for configuration descriptions Update
    debian to version 2.3.1-2
2005-03-10 22:06:20 +00:00
Keith Packard 8c74026071 Update debian for 2.3.1 2005-03-09 04:57:42 +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 d49dde9f90 Update for 2.3.1 2005-03-08 23:39:02 +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 683dc3c476 Move debian-specific conf file examples upstream.
Sub-pixel configuration examples must smash subpixel value as Xft always
    sets it from X.
Change sub-pixel rendering debconf descriptions from Enable/Disable to
    Always/Never.
2005-03-03 06:20:57 +00:00
Keith Packard dc2e06ab07 Ignore more build detritus
Add debian package construction stuff.
Update to newer versions of these tools
Get library manuals to build again (we love automake).
Update debian build system to switch maintainers and deal with 2.3
    functionality
2005-03-03 01:59:28 +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 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 afca783626 Update for version 2.2.99 2005-01-29 00:42:37 +00:00
Keith Packard 845a0bf37a Add a few pointers 2005-01-29 00:33:47 +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 59e149e757 Have --with-expat set EXPAT_CFLAGS (bug 2278)
reviewed by: Keith Packard <keithp@keithp.com>
2005-01-16 01:41:24 +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 8759822e8f Update blanks list (Closes bug 86) 2005-01-13 18:10:42 +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 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
Keith Packard 02748dd3b8 Add territory database
Reviewed by: Keith Packard
Remove Han characters from Korean orthography
2004-12-29 10:07:10 +00:00
Keith Packard 2ba729ed3b Reorder utility programs to make sure fc-case is run before fc-lang as
fc-lang uses fcstr.c which uses fccase.h
Fix broken XML
2004-12-29 09:57:49 +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 46a10637cd Configuration changes to request synthetic emboldening of fonts. The actual
emboldening code will live in Xft.
reviewed by: Keith Packard <keithp@keithp.com>
2004-12-10 16:48:08 +00:00
Keith Packard 9af19286b0 Currently Russian (ru) requires 0406 and 0456 (І and і), but these were
eliminated in Russian in 1918 in favor of 0418 and 0438 (И and и),
    and don't even appear in KOI8-R. (The hypothesis that they don't appear
    in KOI8-R due to their similarity with Latin I and i is eliminated by
    their presence in KOI8-U.) I have a couple of fonts with Russian
    support that don't have the letter.
Therefore, 0406 and 0456 should be removed from or commented out of ru.orth
reviewed by: Keith Packard <keithp@keithp.com>
2004-12-09 19:36:30 +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