platform/upstream/fontconfig.git
11 years agoFix a memory leak
Akira TAGOH [Tue, 5 Mar 2013 03:46:01 +0000 (12:46 +0900)]
Fix a memory leak

11 years agoFix broken sort order with FcFontSort()
Akira TAGOH [Fri, 1 Mar 2013 13:21:25 +0000 (22:21 +0900)]
Fix broken sort order with FcFontSort()

which was introduced by 4eab908c8679a797ac7016b77a93ee41bb11b0fc

11 years agoFix a crash when the object is non-builtin object
Akira TAGOH [Fri, 1 Mar 2013 10:38:21 +0000 (19:38 +0900)]
Fix a crash when the object is non-builtin object

11 years agoFix a typo
Akira TAGOH [Fri, 1 Mar 2013 09:41:27 +0000 (18:41 +0900)]
Fix a typo

11 years agoBug 60783 - Add Liberation Sans Narrow to 30-metric-aliases.conf
Akira TAGOH [Fri, 1 Mar 2013 09:31:01 +0000 (18:31 +0900)]
Bug 60783 - Add Liberation Sans Narrow to 30-metric-aliases.conf

Add Liberation Sans Narrow as an alias for Arial Narrow

11 years agoBug 60748 - broken conf.d/10-autohint.conf and conf.d/10-unhinted.conf
Akira TAGOH [Mon, 18 Feb 2013 04:17:53 +0000 (13:17 +0900)]
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.

11 years agoAccept digits as part of OpenType script tags
Behdad Esfahbod [Fri, 15 Feb 2013 14:48:38 +0000 (09:48 -0500)]
Accept digits as part of OpenType script tags

They've been used since 2005.

11 years agoAdd Culmus foundry to the vendor list
Akira TAGOH [Thu, 7 Feb 2013 08:56:17 +0000 (17:56 +0900)]
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

11 years agoUse LOG_COMPILER and AM_TESTS_ENVIRONMENT
Quentin Glidic [Sat, 2 Feb 2013 16:01:07 +0000 (17:01 +0100)]
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>
11 years agoBump the cache version to 4
Akira TAGOH [Wed, 6 Feb 2013 10:14:51 +0000 (19:14 +0900)]
Bump the cache version to 4

11 years agoUpdate _FcMatchers definition logic
Akira TAGOH [Wed, 6 Feb 2013 10:02:07 +0000 (19:02 +0900)]
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.

11 years agoBug 60312 - DIST_SUBDIRS should never appear in a conditional
Akira TAGOH [Tue, 5 Feb 2013 11:44:18 +0000 (20:44 +0900)]
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

11 years agoBug 50733 - Add font-file hash?
Akira TAGOH [Mon, 4 Feb 2013 07:03:29 +0000 (16:03 +0900)]
Bug 50733 - Add font-file hash?

Add "hash" object which contains SHA256 hash value (so far) computed from the font file.

11 years agoUse AM_MISSING_PROG instead of hardcoding missing
Akira TAGOH [Tue, 5 Feb 2013 05:17:16 +0000 (14:17 +0900)]
Use AM_MISSING_PROG instead of hardcoding missing

11 years agoRevert "test: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT"
Akira TAGOH [Tue, 5 Feb 2013 02:33:47 +0000 (11:33 +0900)]
Revert "test: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT"

This reverts commit 2146b0307a3476892723104481f27f8484451c52.

That change introduces incompatibility and seems not working with
older releases of automake, including automake 1.12.2.

11 years agotest: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT
Quentin Glidic [Sat, 2 Feb 2013 16:01:07 +0000 (17:01 +0100)]
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>
11 years agoUse AM_MISSING_PROG instead of hardcoding missing
Akira TAGOH [Mon, 4 Feb 2013 08:57:00 +0000 (17:57 +0900)]
Use AM_MISSING_PROG instead of hardcoding missing

11 years agoModernize configure.ac
Akira TAGOH [Mon, 4 Feb 2013 08:20:03 +0000 (17:20 +0900)]
Modernize configure.ac

11 years agoBug 23757 - Add mode="delete" to <edit>
Akira TAGOH [Tue, 29 Jan 2013 11:19:36 +0000 (20:19 +0900)]
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.

11 years agobuild: Only use PKG_INSTALLDIR if available
Colin Walters [Fri, 1 Feb 2013 02:32:46 +0000 (21:32 -0500)]
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.

11 years agoUse the PKG_INSTALLDIR macro.
Christoph J. Thompson [Fri, 1 Feb 2013 01:27:32 +0000 (02:27 +0100)]
Use the PKG_INSTALLDIR macro.

modified:   Makefile.am
modified:   configure.ac

11 years agoBug 59385 - Do the right thing for intermixed edit and test elements
Akira TAGOH [Fri, 25 Jan 2013 11:01:24 +0000 (20:01 +0900)]
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>

11 years agoremove the unnecessary code
Akira TAGOH [Wed, 23 Jan 2013 03:37:51 +0000 (12:37 +0900)]
remove the unnecessary code

11 years agoAdd another approach to FC_PRGNAME for Solaris 10 or before
Akira TAGOH [Wed, 23 Jan 2013 03:32:37 +0000 (12:32 +0900)]
Add another approach to FC_PRGNAME for Solaris 10 or before

Patch from Raimund Steger

11 years agoFix installation on MinGW32
Akira TAGOH [Tue, 22 Jan 2013 03:11:56 +0000 (12:11 +0900)]
Fix installation on MinGW32

Patch from LRN

11 years agoFix mkstemp absence for some platform
Akira TAGOH [Tue, 22 Jan 2013 03:03:28 +0000 (12:03 +0900)]
Fix mkstemp absence for some platform

Patch from LRN and modified to make more generic.

11 years agoAdd missing file descriptor to F_DUPFD_CLOEXEC
Akira TAGOH [Tue, 22 Jan 2013 01:26:41 +0000 (10:26 +0900)]
Add missing file descriptor to F_DUPFD_CLOEXEC

Patch from Matthieu Herrb

11 years agoFix readlink failure
Behdad Esfahbod [Fri, 18 Jan 2013 01:27:20 +0000 (19:27 -0600)]
Fix readlink failure

As reported by Raimund Steger.

11 years agoBetter fix for 2fe5ddfd
Akira TAGOH [Thu, 17 Jan 2013 03:49:16 +0000 (12:49 +0900)]
Better fix for 2fe5ddfd

Drop realpath() and fix breakage on Win32

11 years agoFix FC_PRGNAME default
Behdad Esfahbod [Thu, 17 Jan 2013 03:01:28 +0000 (21:01 -0600)]
Fix FC_PRGNAME default

As reported by Raimund Steger.

11 years agoFix fc-cache crash caused by looking up NULL object incorrectly
Behdad Esfahbod [Wed, 16 Jan 2013 13:30:44 +0000 (07:30 -0600)]
Fix fc-cache crash caused by looking up NULL object incorrectly

We were returning a skiplist node when looking up NULL!

11 years agoMinor
Behdad Esfahbod [Wed, 16 Jan 2013 13:05:07 +0000 (07:05 -0600)]
Minor

11 years agoRemove unused checks for common functions
Behdad Esfahbod [Wed, 16 Jan 2013 10:52:06 +0000 (04:52 -0600)]
Remove unused checks for common functions

The check results of these were never actually used.

11 years agoImprove FcGetPrgname() to work on BSD
Akira TAGOH [Wed, 16 Jan 2013 07:35:28 +0000 (16:35 +0900)]
Improve FcGetPrgname() to work on BSD

11 years agoBug 59379 - FC_PRGNAME
Behdad Esfahbod [Wed, 16 Jan 2013 02:41:26 +0000 (20:41 -0600)]
Bug 59379 - FC_PRGNAME

Can be used for per-application configuration.

11 years agoBug 50497 - RFE: Add OpenType feature tags support
Akira TAGOH [Tue, 4 Sep 2012 03:39:48 +0000 (12:39 +0900)]
Bug 50497 - RFE: Add OpenType feature tags support

Add FC_FONT_FEATURES to store the feature tags to be enabled.

11 years agoFix the build fail on MinGW
Akira TAGOH [Tue, 15 Jan 2013 08:26:27 +0000 (17:26 +0900)]
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.

11 years agoMinor
Behdad Esfahbod [Mon, 14 Jan 2013 20:39:12 +0000 (14:39 -0600)]
Minor

11 years agoCopy all values from pattern to font if the font doesn't have the element
Behdad Esfahbod [Mon, 14 Jan 2013 20:36:38 +0000 (14:36 -0600)]
Copy all values from pattern to font if the font doesn't have the element

Bug 59376 - FcFontRenderPrepare enhancement

11 years agoEnsure we find the uninstalled fontconfig header
Behdad Esfahbod [Thu, 10 Jan 2013 15:01:52 +0000 (09:01 -0600)]
Ensure we find the uninstalled fontconfig header

Patch from Colin Walters.

11 years agoResepct $NOCONFIGURE
Behdad Esfahbod [Thu, 10 Jan 2013 15:00:18 +0000 (09:00 -0600)]
Resepct $NOCONFIGURE

Patch from Colin Walters.

11 years agoBump version to 2.10.91 2.10.91
Akira TAGOH [Thu, 10 Jan 2013 08:57:12 +0000 (17:57 +0900)]
Bump version to 2.10.91

11 years agoUpdate the date in README properly
Akira TAGOH [Thu, 10 Jan 2013 08:56:51 +0000 (17:56 +0900)]
Update the date in README properly

11 years agoMake linker happy
Behdad Esfahbod [Thu, 10 Jan 2013 07:23:07 +0000 (01:23 -0600)]
Make linker happy

11 years agoAdd atomic ops for Solaris
Behdad Esfahbod [Thu, 10 Jan 2013 07:17:02 +0000 (01:17 -0600)]
Add atomic ops for Solaris

Patch from Raimund Steger.

11 years agoBug 29312 - RFE: feature to indicate which characters are missing to satisfy the...
Akira TAGOH [Mon, 10 Sep 2012 07:09:04 +0000 (16:09 +0900)]
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.

11 years agoFix a typo in the manpages template
Akira TAGOH [Wed, 9 Jan 2013 02:26:56 +0000 (11:26 +0900)]
Fix a typo in the manpages template

11 years agoAdd pthread test
Behdad Esfahbod [Tue, 8 Jan 2013 20:51:00 +0000 (14:51 -0600)]
Add pthread test

Not enabled by default since it requires config and fonts.

11 years agoFix memory corruption!
Behdad Esfahbod [Tue, 8 Jan 2013 19:01:48 +0000 (13:01 -0600)]
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.

11 years agoFix a build fail on mingw
Akira TAGOH [Tue, 8 Jan 2013 07:20:28 +0000 (16:20 +0900)]
Fix a build fail on mingw

Regarding the change of 596931c8b4a7a35cbff9c33437d3cd44395d9c3f

11 years agomissing header file to declare _mkdir
Akira TAGOH [Tue, 8 Jan 2013 07:18:32 +0000 (16:18 +0900)]
missing header file to declare _mkdir

11 years agoBug 47705 - Using O_CLOEXEC
Akira TAGOH [Thu, 6 Dec 2012 11:01:52 +0000 (20:01 +0900)]
Bug 47705 - Using O_CLOEXEC

11 years agoFix pthreads setup
Behdad Esfahbod [Tue, 8 Jan 2013 02:10:14 +0000 (20:10 -0600)]
Fix pthreads setup

As reported by Raimund Steger.

11 years agoOops, add the actual file
Behdad Esfahbod [Mon, 7 Jan 2013 23:59:17 +0000 (17:59 -0600)]
Oops, add the actual file

11 years agoAdd 10-scale-bitmap-fonts.conf and enable by default
Behdad Esfahbod [Mon, 7 Jan 2013 22:41:29 +0000 (16:41 -0600)]
Add 10-scale-bitmap-fonts.conf and enable by default

11 years agoClean up the unused variable
Akira TAGOH [Mon, 7 Jan 2013 08:55:04 +0000 (17:55 +0900)]
Clean up the unused variable

11 years agoRemove FcInit() calls from tools
Behdad Esfahbod [Fri, 4 Jan 2013 02:33:34 +0000 (20:33 -0600)]
Remove FcInit() calls from tools

Library is supposed to automatically initialize itself.  If it doesn't,
it's a bug.

11 years agoDon't use blanks for fc-query
Behdad Esfahbod [Fri, 4 Jan 2013 02:31:22 +0000 (20:31 -0600)]
Don't use blanks for fc-query

fc-query is supposed to be config-independent.

11 years agoMissing header file for _mkdir declaration
Akira TAGOH [Fri, 4 Jan 2013 02:29:50 +0000 (11:29 +0900)]
Missing header file for _mkdir declaration

11 years agoMinor
Behdad Esfahbod [Thu, 3 Jan 2013 10:19:12 +0000 (04:19 -0600)]
Minor

11 years agoUgh, add Tools.mk
Behdad Esfahbod [Thu, 3 Jan 2013 04:37:33 +0000 (22:37 -0600)]
Ugh, add Tools.mk

11 years agoSecond try to make Sun CPP happy
Behdad Esfahbod [Thu, 3 Jan 2013 02:16:55 +0000 (20:16 -0600)]
Second try to make Sun CPP happy

11 years agoReally fix cross-compiling and building of tools this time
Behdad Esfahbod [Thu, 3 Jan 2013 02:08:40 +0000 (20:08 -0600)]
Really fix cross-compiling and building of tools this time

11 years agoWork around Sun CPP
Behdad Esfahbod [Thu, 3 Jan 2013 01:04:17 +0000 (19:04 -0600)]
Work around Sun CPP

According to Raimund Steger:

> [...]
> diff --git a/src/Makefile.am b/src/Makefile.am
> index dc082b7..57c34a2 100644
> [...]
> +fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
> +    $(AM_V_GEN) $(CPP) -I$(top_srcdir) $< | $(GREP) '^[^#]' | awk ' \
> +    /CUT_OUT_BEGIN/ { no_write=1; next; }; \
> +    /CUT_OUT_END/ { no_write=0; next; }; \
> +    { if (!no_write) print; next; }; \
> +    ' - > $@.tmp && \
> +    mv -f $@.tmp $@

Sun Studio CPP seems to insert whitespace in a different way than GCC's CPP.

GCC generates in src/fcobjshash.gperf:

[...]
"family", FC_FAMILY_OBJECT
"familylang", FC_FAMILYLANG_OBJECT
[...]

Sun Studio generates:

[...]
 "family" , FC_FAMILY_OBJECT
 "familylang" , FC_FAMILYLANG_OBJECT
[...]

leading to:

[...]
Making all in src
gmake[2]: Entering directory `/home/rs/src/fontconfig-git/fontconfig/src'
  GEN    fcobjshash.gperf
  GEN    fcobjshash.h
Key link: " " = " ", with key set "".
1 input keys have identical hash values,
use option -D.
gmake[2]: *** [fcobjshash.h] Error 1
gmake[2]: Leaving directory `/home/rs/src/fontconfig-git/fontconfig/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/rs/src/fontconfig-git/fontconfig'
gmake: *** [all] Error 2

...maybe we could tuck in an additional sed to remove the whitespace, like:

[...]
fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
    $(AM_V_GEN) $(CPP) -I$(top_srcdir) $< | \
    $(SED) 's/^\s*//;s/\s*,\s*/,/;' | \
    $(GREP) '^[^#]' | \
    $(AWK) '/CUT_OUT_BEGIN/,/CUT_OUT_END/ { next; }; { print; };' \
    > $@.tmp && \
    mv -f $@.tmp $@
[...]

though I'm not sure what kind of guarantee CPP can give us/what easier option I might have missed...

11 years agoFix build around true/false
Behdad Esfahbod [Thu, 3 Jan 2013 00:57:47 +0000 (18:57 -0600)]
Fix build around true/false

11 years agoTrying to fix distcheck
Behdad Esfahbod [Thu, 3 Jan 2013 00:07:13 +0000 (18:07 -0600)]
Trying to fix distcheck

Doesn't work though :(.  Building docs is very fragile...

At least, if docbook is present, distcheck passes now.

11 years agoFix more warnings.
Behdad Esfahbod [Wed, 2 Jan 2013 23:52:00 +0000 (17:52 -0600)]
Fix more warnings.

Linux build and mingw32 cross build warning-free now.

11 years agoUse CC_FOR_BUILD to generate source files
Behdad Esfahbod [Wed, 2 Jan 2013 23:49:41 +0000 (17:49 -0600)]
Use CC_FOR_BUILD to generate source files

Previously we were failing if CROSS_COMPILING and the generated headers
were not present.  It works just fine now.

One caveat: the fix is not fully correct since config.h is being
included in the files built with CC_FOR_BUILD, but config.h has config
for the host system, not the build system.  Should be fine though.

11 years agoFix build and warnings on win32
Behdad Esfahbod [Wed, 2 Jan 2013 23:35:56 +0000 (17:35 -0600)]
Fix build and warnings on win32

11 years agoMinor
Behdad Esfahbod [Wed, 2 Jan 2013 08:27:57 +0000 (02:27 -0600)]
Minor

11 years agoFix compiler warnings
Behdad Esfahbod [Wed, 2 Jan 2013 08:19:04 +0000 (02:19 -0600)]
Fix compiler warnings

11 years agoRemove FcSharedStr*
Behdad Esfahbod [Wed, 2 Jan 2013 08:06:15 +0000 (02:06 -0600)]
Remove FcSharedStr*

11 years agoFixup fcobjs.c
Behdad Esfahbod [Wed, 2 Jan 2013 07:54:38 +0000 (01:54 -0600)]
Fixup fcobjs.c

Ouch!

11 years agoWarn about undefined/invalid attributes during config parsing
Behdad Esfahbod [Wed, 2 Jan 2013 07:31:34 +0000 (01:31 -0600)]
Warn about undefined/invalid attributes during config parsing

11 years agoMake fcobjs.c thread-safe
Behdad Esfahbod [Wed, 2 Jan 2013 07:09:20 +0000 (01:09 -0600)]
Make fcobjs.c thread-safe

With this, the library should be threadsafe as far as my analysis goes!

11 years agoMake FcDirCacheDispose() threadsafe
Behdad Esfahbod [Tue, 16 Oct 2012 00:35:03 +0000 (19:35 -0500)]
Make FcDirCacheDispose() threadsafe

11 years agoMake cache hash threadsafe
Behdad Esfahbod [Wed, 10 Oct 2012 19:24:31 +0000 (15:24 -0400)]
Make cache hash threadsafe

This concludes my first pass at making fontconfig threadsafe.  Now to
testing and actually fixing it!

11 years agoMake random-state initialization threadsafe
Behdad Esfahbod [Tue, 9 Oct 2012 00:03:35 +0000 (20:03 -0400)]
Make random-state initialization threadsafe

11 years agoAdd a big cache lock
Behdad Esfahbod [Tue, 9 Oct 2012 00:02:05 +0000 (20:02 -0400)]
Add a big cache lock

Not used yet.

11 years agoMake cache refcounting threadsafe
Behdad Esfahbod [Mon, 8 Oct 2012 01:03:58 +0000 (21:03 -0400)]
Make cache refcounting threadsafe

11 years agoMinor
Behdad Esfahbod [Sun, 7 Oct 2012 21:46:12 +0000 (17:46 -0400)]
Minor

11 years agoMake FcCacheIsMmapSafe() threadsafe
Behdad Esfahbod [Sun, 7 Oct 2012 21:42:18 +0000 (17:42 -0400)]
Make FcCacheIsMmapSafe() threadsafe

11 years agoMinor
Behdad Esfahbod [Sun, 7 Oct 2012 21:29:45 +0000 (17:29 -0400)]
Minor

11 years agoMake default-FcConfig threadsafe
Behdad Esfahbod [Sun, 7 Oct 2012 21:02:50 +0000 (17:02 -0400)]
Make default-FcConfig threadsafe

11 years agoMinor
Behdad Esfahbod [Sun, 7 Oct 2012 20:42:36 +0000 (16:42 -0400)]
Minor

11 years agoRefactor; contain default config in fccfg.c
Behdad Esfahbod [Sun, 7 Oct 2012 20:37:03 +0000 (16:37 -0400)]
Refactor; contain default config in fccfg.c

11 years agoMake FcDefaultFini() threadsafe
Behdad Esfahbod [Sun, 7 Oct 2012 20:26:53 +0000 (16:26 -0400)]
Make FcDefaultFini() threadsafe

11 years agoMake FcInitDebug() idempotent
Behdad Esfahbod [Sun, 7 Oct 2012 20:09:35 +0000 (16:09 -0400)]
Make FcInitDebug() idempotent

11 years agoMake FcGetDefaultLang and FcGetDefaultLangs thread-safe
Behdad Esfahbod [Sun, 7 Oct 2012 19:52:25 +0000 (15:52 -0400)]
Make FcGetDefaultLang and FcGetDefaultLangs thread-safe

11 years agoMake refcounts, patterns, charsets, strings, and FcLang thread-safe
Behdad Esfahbod [Sun, 7 Oct 2012 18:41:38 +0000 (14:41 -0400)]
Make refcounts, patterns, charsets, strings, and FcLang thread-safe

11 years agoAdd thread-safety primitives
Behdad Esfahbod [Sun, 7 Oct 2012 18:24:28 +0000 (14:24 -0400)]
Add thread-safety primitives

11 years agoAdd build stuff for threadsafety primitives
Behdad Esfahbod [Sun, 7 Oct 2012 17:49:45 +0000 (13:49 -0400)]
Add build stuff for threadsafety primitives

Copied over from HarfBuzz.

11 years agoFix build stuff
Behdad Esfahbod [Sat, 6 Oct 2012 22:15:58 +0000 (18:15 -0400)]
Fix build stuff

11 years agoRemove shared-str pool
Behdad Esfahbod [Sat, 6 Oct 2012 22:12:19 +0000 (18:12 -0400)]
Remove shared-str pool

We used to have a shared-str pool.  Removed to make thread-safety
work easier.  My measurements show that the extra overhead is not
significant by any means.

11 years agoSwitch .gitignore to git.mk
Behdad Esfahbod [Sat, 6 Oct 2012 21:52:39 +0000 (17:52 -0400)]
Switch .gitignore to git.mk

11 years agoUse a static perfect hash table for object-name lookup
Behdad Esfahbod [Thu, 20 Sep 2012 18:42:31 +0000 (14:42 -0400)]
Use a static perfect hash table for object-name lookup

The hash table is generated by gperf.  For runtime element types, we use
a append-only linked list.

A bit clumsy, but I think I got it right.

11 years agoDeprecate FcName(Un)RegisterObjectTypes / FcName(Un)RegisterConstants
Behdad Esfahbod [Thu, 20 Sep 2012 18:01:47 +0000 (14:01 -0400)]
Deprecate FcName(Un)RegisterObjectTypes / FcName(Un)RegisterConstants

These never worked as intended.  The problem is, if Fontconfig tries to
read config files when these new types / constants are not registered,
it errs.  As a result, no defined types / constants are usable from
config files.  Which makes these really useless.  Xft was the only user
of this API and even there it's not really used.  Just kill it.

One inch closer to thread-safety since we can fix the object-type hash
table at compile time.

11 years agoWhitespace
Behdad Esfahbod [Wed, 2 Jan 2013 02:28:08 +0000 (20:28 -0600)]
Whitespace

11 years agoMinor
Behdad Esfahbod [Wed, 2 Jan 2013 02:27:54 +0000 (20:27 -0600)]
Minor

11 years agoDon't crash in FcPatternFormat() with NULL pattern
Behdad Esfahbod [Wed, 2 Jan 2013 02:20:31 +0000 (20:20 -0600)]
Don't crash in FcPatternFormat() with NULL pattern