Commit Graph

1535 Commits

Author SHA1 Message Date
Akira TAGOH e96d776088 Bug 59456 - Adding a --sysroot like option to fc-cache
Add an ability to set the system root to generate the caches.
In order to do this, new APIs, FcConfigGetSysRoot() and
FcConfigSetSysRoot() is available.
2013-03-05 18:38:50 +09:00
Akira TAGOH 569657a24c Fix a memory leak 2013-03-05 12:46:01 +09:00
Akira TAGOH 612ee2a5c9 Fix broken sort order with FcFontSort()
which was introduced by 4eab908c86
2013-03-01 22:21:25 +09:00
Akira TAGOH ea4ebd5937 Fix a crash when the object is non-builtin object 2013-03-01 19:38:21 +09:00
Akira TAGOH 1023049767 Fix a typo 2013-03-01 18:41:27 +09:00
Akira TAGOH db69bf6ecd Bug 60783 - Add Liberation Sans Narrow to 30-metric-aliases.conf
Add Liberation Sans Narrow as an alias for Arial Narrow
2013-03-01 18:31:01 +09:00
Akira TAGOH 2c69625574 Bug 60748 - broken conf.d/10-autohint.conf and conf.d/10-unhinted.conf
Move the target of recipes to the "pattern" from the "font".
This is to ensure the targeted objects is updated by them
prior to FcDefaultSubstitute() so that it can adds the default
values properly.
2013-02-18 13:17:53 +09:00
Behdad Esfahbod 83f679ce55 Accept digits as part of OpenType script tags
They've been used since 2005.
2013-02-15 09:48:56 -05:00
Akira TAGOH 72b0480a21 Add Culmus foundry to the vendor list
Maps fonts produced by the Culmus project <http://culmus.sourceforge.net>
to the XLFD foundry name culmus.

For TrueType fonts, maps the vendor code CLM from the TrueType vendor id field.

For Type1 fonts, which use heuristics to guess mappings to XLFD foundries from
words in the copyright notice, add the names of the main contributors to
the Culmus product to recognize the fonts under their copyright.

Patch from Maxim Iorsh
2013-02-07 17:56:36 +09:00
Quentin Glidic 96220a5ed9 Use LOG_COMPILER and AM_TESTS_ENVIRONMENT
TESTS_ENVIRONMENT is deprecated and should be reserved to the user to
override the test environment

<ext>_LOG_COMPILER is meant to contain the program that runs the test
with <ext> extension
LOG_COMPILER is for extensionless tests
AM_TESTS_ENVIRONMENT is meant to set the environment for the tests

  https://bugs.freedesktop.org/show_bug.cgi?id=60192

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2013-02-06 19:53:36 +09:00
Akira TAGOH 62b7d764ce Bump the cache version to 4 2013-02-06 19:14:51 +09:00
Akira TAGOH 4eab908c86 Update _FcMatchers definition logic
to make it easier to maintain. also added FC_HASH_OBJECT to be matched
in the pattern, prior to FC_FILE_OBJECT.
2013-02-06 19:02:07 +09:00
Akira TAGOH 52b2b5c992 Bug 60312 - DIST_SUBDIRS should never appear in a conditional
As it is documented like this:

If SUBDIRS is defined conditionally using Automake conditionals,
Automake will define DIST_SUBDIRS automatically from the possible
values of SUBDIRS in all conditions.

So we don't need to re-define DIST_SUBDIRS in Makefile.am unless
we use AC_SUBST to define SUBDIRS.

Patch from Quentin Glidic
2013-02-05 20:45:14 +09:00
Akira TAGOH 95af7447db Bug 50733 - Add font-file hash?
Add "hash" object which contains SHA256 hash value (so far) computed from the font file.
2013-02-05 15:34:56 +09:00
Akira TAGOH d34643894f Use AM_MISSING_PROG instead of hardcoding missing 2013-02-05 14:17:16 +09:00
Akira TAGOH 241cd53ff6 Revert "test: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT"
This reverts commit 2146b0307a.

That change introduces incompatibility and seems not working with
older releases of automake, including automake 1.12.2.
2013-02-05 11:34:22 +09:00
Quentin Glidic 2146b0307a test: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT
TESTS_ENVIRONMENT is deprecated and should be reserved to the user to
override the test environment

<ext>_LOG_COMPILER is meant to contain the program that runs the test
with <ext> extension
AM_TESTS_ENVIRONMENT is meant to set the environment for the tests

  https://bugs.freedesktop.org/show_bug.cgi?id=60192

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2013-02-04 20:35:22 +09:00
Akira TAGOH da0946721a Use AM_MISSING_PROG instead of hardcoding missing 2013-02-04 17:57:00 +09:00
Akira TAGOH 786ead5201 Modernize configure.ac 2013-02-04 17:20:03 +09:00
Akira TAGOH 20191810d1 Bug 23757 - Add mode="delete" to <edit>
Add two edit mode, "delete" and "delete_all".
what values are being deleted depends on <test> as documented.
if the target object is same to what is tested, matching value there
will be deleted. otherwise all of values in the object will be deleted.
so this would means both edit mode will not take any expressions.

e.g.

Given that the testing is always true here, the following rules:

  <match>
    <test name="foo" compare="eq">
      <string>bar</string>
    </test>
    <edit name="foo" mode="delete"/>
  </match>

will removes "bar" string from "foo" object. and:

  <match>
    <test name="foo" compare="eq">
      <string>foo</string>
    </test>
    <edit name="bar" mode="delete"/>
  </match>

will removes all of values in "bar" object.
2013-02-01 12:56:14 +09:00
Colin Walters c1d9588890 build: Only use PKG_INSTALLDIR if available
It's only in pkg-config 0.27 or newer, but 0.25 at least is still
fairly widespread.
2013-02-01 11:39:23 +09:00
Christoph J. Thompson e11f15628c Use the PKG_INSTALLDIR macro.
modified:   Makefile.am
	modified:   configure.ac
2013-02-01 10:42:03 +09:00
Akira TAGOH d26fb23c41 Bug 59385 - Do the right thing for intermixed edit and test elements
This changes allows to have multiple mathcing rules in one <match> block
in the same order.
After this changes, the following thing will works as two matching rules:

	<match>
		<!-- rule 1 -->
		<test name="family" compare="eq">
			<string>foo</string>
		</test>
		<edit name="foo" mode="append">
			<string>foo</string>
		</edit>
		<!-- rule 2 -->
		<test name="foo" compare="eq">
			<string>foo</string>
		</test>
		<edit name="foo" mode="append">
			<string>bar</string>
		</edit>
	</match>
2013-01-31 19:55:21 +09:00
Akira TAGOH fb3b410998 remove the unnecessary code 2013-01-23 12:37:51 +09:00
Akira TAGOH 5400bb4fb4 Add another approach to FC_PRGNAME for Solaris 10 or before
Patch from Raimund Steger
2013-01-23 12:32:37 +09:00
Akira TAGOH 000ca9ccb0 Fix installation on MinGW32
Patch from LRN
2013-01-22 12:11:56 +09:00
Akira TAGOH 6363193a05 Fix mkstemp absence for some platform
Patch from LRN and modified to make more generic.
2013-01-22 12:11:02 +09:00
Akira TAGOH 9dbc282796 Add missing file descriptor to F_DUPFD_CLOEXEC
Patch from Matthieu Herrb
2013-01-22 10:26:41 +09:00
Behdad Esfahbod 6118781f7f Fix readlink failure
As reported by Raimund Steger.
2013-01-17 19:27:20 -06:00
Akira TAGOH 671bcb34e2 Better fix for 2fe5ddfd
Drop realpath() and fix breakage on Win32
2013-01-17 12:49:16 +09:00
Behdad Esfahbod 2fe5ddfdae Fix FC_PRGNAME default
As reported by Raimund Steger.
2013-01-16 21:01:28 -06:00
Behdad Esfahbod 55d39bcad0 Fix fc-cache crash caused by looking up NULL object incorrectly
We were returning a skiplist node when looking up NULL!
2013-01-16 07:31:15 -06:00
Behdad Esfahbod 106c4f7311 Minor 2013-01-16 07:05:07 -06:00
Behdad Esfahbod 1a5d0daea0 Remove unused checks for common functions
The check results of these were never actually used.
2013-01-16 04:52:06 -06:00
Akira TAGOH f9ac4c84c9 Improve FcGetPrgname() to work on BSD 2013-01-16 16:35:28 +09:00
Behdad Esfahbod ec5ca08c80 Bug 59379 - FC_PRGNAME
Can be used for per-application configuration.
2013-01-15 20:46:45 -06:00
Akira TAGOH 3f84695104 Bug 50497 - RFE: Add OpenType feature tags support
Add FC_FONT_FEATURES to store the feature tags to be enabled.
2013-01-15 19:40:26 -06:00
Akira TAGOH dffb69ed8c Fix the build fail on MinGW
Reported at http://lists.freedesktop.org/archives/fontconfig/2013-January/004601.html

just warn at the runtime instead of the compile time. it somewhat works
on even MinGW since FcMakeTempfile() isn't used on Win32 so far.
2013-01-15 17:27:12 +09:00
Behdad Esfahbod 8b8f0d2153 Minor 2013-01-14 14:39:12 -06:00
Behdad Esfahbod 8828fffd93 Copy all values from pattern to font if the font doesn't have the element
Bug 59376 - FcFontRenderPrepare enhancement
2013-01-14 14:36:38 -06:00
Behdad Esfahbod 0831c1770e Ensure we find the uninstalled fontconfig header
Patch from Colin Walters.
2013-01-10 09:02:16 -06:00
Behdad Esfahbod 1527c395cb Resepct $NOCONFIGURE
Patch from Colin Walters.
2013-01-10 09:02:16 -06:00
Akira TAGOH fcc3567847 Bump version to 2.10.91 2013-01-10 17:57:12 +09:00
Akira TAGOH 98352247f2 Update the date in README properly 2013-01-10 17:56:51 +09:00
Behdad Esfahbod 9066fbe785 Make linker happy 2013-01-10 01:23:07 -06:00
Behdad Esfahbod 98efed3bca Add atomic ops for Solaris
Patch from Raimund Steger.
2013-01-10 01:17:46 -06:00
Akira TAGOH 8e8a99ae8a Bug 29312 - RFE: feature to indicate which characters are missing to satisfy the language support
Add fc-validate to check the language coverage in a font.
2013-01-09 12:21:33 +09:00
Akira TAGOH 16fd965171 Fix a typo in the manpages template 2013-01-09 11:26:56 +09:00
Behdad Esfahbod 7680e9ee89 Add pthread test
Not enabled by default since it requires config and fonts.
2013-01-08 14:51:00 -06:00
Behdad Esfahbod dc21ed28d6 Fix memory corruption!
In FcStrListCreate() we were increasing reference count of set,
however, if set had a const reference (which is the case for list
of languages), and with multiple threads, the const ref (-1) was
getting up to 1 and then a decrease was destroying the set.  Ouch.

Here's the valgrind error, which took me quite a few hours of
running to catch:

==4464== Invalid read of size 4
==4464==    at 0x4E58FF3: FcStrListNext (fcstr.c:1256)
==4464==    by 0x4E3F11D: FcConfigSubstituteWithPat (fccfg.c:1508)
==4464==    by 0x4E3F8F4: FcConfigSubstitute (fccfg.c:1729)
==4464==    by 0x4009FA: test_match (simple-pthread-test.c:53)
==4464==    by 0x400A6E: run_test_in_thread (simple-pthread-test.c:68)
==4464==    by 0x507EE99: start_thread (pthread_create.c:308)
==4464==  Address 0x6bc0b44 is 4 bytes inside a block of size 24 free'd
==4464==    at 0x4C2A82E: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==4464==    by 0x4E58F84: FcStrSetDestroy (fcstr.c:1236)
==4464==    by 0x4E3F0C6: FcConfigSubstituteWithPat (fccfg.c:1507)
==4464==    by 0x4E3F8F4: FcConfigSubstitute (fccfg.c:1729)
==4464==    by 0x4009FA: test_match (simple-pthread-test.c:53)
==4464==    by 0x400A6E: run_test_in_thread (simple-pthread-test.c:68)
==4464==    by 0x507EE99: start_thread (pthread_create.c:308)

Thread test is running happily now.  Will add the test in a moment.
2013-01-08 13:03:35 -06:00