Commit Graph

2386 Commits

Author SHA1 Message Date
Akira TAGOH 8f88b1c47c abstract hash table functions 2017-11-20 17:37:22 +05:30
Akira TAGOH 68ff99c414 cleanup 2017-11-20 17:37:22 +05:30
Akira TAGOH b01bf646f1 Destroy the alias and UUID tables when all of caches is unloaded
When a cache contains no fonts, it will be unloaded immediately.
Previously the certain alias and UUID entries will be purged at that time though,
this doesn't work when the targeted directory has sub-directories.
To avoid the unnecessary cache creation with the md5-based naming, try to keep them
as far as possible.
Although this way seems not perfectly working if the first directory to look up is like that
2017-11-20 17:37:22 +05:30
Akira TAGOH d7133f4ed7 Don't call FcStat when the alias has already been added
We could assume that the targeted location is mapped at the different place
when there are in the alias table.
2017-11-20 17:37:22 +05:30
Akira TAGOH cf5acaed96 Replace the path of subdirs in caches as well 2017-11-20 17:37:22 +05:30
Akira TAGOH 6d3b306cbe Replace the original path to the new one 2017-11-20 17:37:22 +05:30
Akira TAGOH 6f226ad67e Replace the font path in FcPattern to what it is actually located. 2017-11-20 17:37:22 +05:30
Akira TAGOH 85d9de58ed Add new API to find out a font from current search path 2017-11-20 17:37:22 +05:30
Akira TAGOH 7b48fd3dd4 Use uuid-based cache filename if uuid is assigned to dirs 2017-11-20 17:37:22 +05:30
Akira TAGOH 64895e719d Add the check of PCF_CONFIG_OPTION_LONG_FAMILY_NAMES back
This isn't enabled by default in freetype so need to check it for testsuites
2017-11-20 17:29:39 +05:30
Akira TAGOH e73b5dcbf2 Correct debugging messages to load/scan config 2017-11-16 11:37:36 +09:00
Akira TAGOH 676d8699cc Allow autoreconf through autopoint for gettext things 2017-11-16 11:31:02 +09:00
Akira TAGOH 2ed243f323 Validate cache more carefully
Reject caches when FcPattern isn't a constant.
This is usually unlikely to happen but reported.
I've decided to add more validation since this isn't reproducible
and easy to have a workaround rather than investigating 'why'.

https://bugs.freedesktop.org/show_bug.cgi?id=103237
2017-11-14 20:55:24 +09:00
Akira TAGOH 12eb7be466 another workaround to avoid modifying by gettextize... 2017-11-08 22:18:01 +09:00
Akira TAGOH 3c55ef4b27 missing an open parenthesis 2017-11-08 22:03:49 +09:00
Akira TAGOH 23ba0dc10d workaround to avoid modifying by gettextize 2017-11-07 15:40:17 +09:00
Akira TAGOH 9a0fcb948f Add the ruleset description support
Trying to address what these configuration files really do.
This change allows to see the short description that mention
the purpose of the content in the config file and obtain
them through API.

This change also encourage one who want to make some UI for
the user-specific configuration management. it is the main
purpose of this change for me though.

Aside from that, I've also made programs translatable. so
we see more dependencies on the build time for gettext,
and itstool to generate PO from xml.
2017-11-07 15:24:54 +09:00
Akira TAGOH 0c149259e4 doc: trivial update 2017-11-07 14:46:10 +09:00
Akira TAGOH 14d70d3a8a Bump version to 2.12.6 2017-10-17 16:48:50 +09:00
Akira TAGOH 3f96450be0 Update libtool revision 2017-10-17 16:48:41 +09:00
Alban Browaeys a7953dbf47 Fixes cleanup
Remove leftover references to run-test271.sh.
2017-10-17 16:37:19 +09:00
Alexander Kanavin 90271ae079 src/fcxml.c: avoid double free() of filename
It's also freed after bail1, so no need to do it here.
2017-10-12 11:27:07 +09:00
Behdad Esfahbod f4a2a1e577 Remove assert 2017-10-11 17:27:02 +02:00
Bastien Nocera c41c922018 conf: Prefer system emoji fonts to third-party ones
Prefer the system provided emoji fonts on systems which provide one,
such as Windows, MacOS and Android, even if the Emoji One or Emoji Two
fonts are installed.

This also allows free software OSes such as GNOME to prefer the Emoji
One font, which is not used in other OSes and therefore has a unique
brand identity, by installing them and only them by default.

Users can use more capable fonts while Emoji One and Emoji Two catch up
by installing a font otherwise already used by another system, such as
Google's freely redistributable Noto Emoji font.

https://bugzilla.redhat.com/show_bug.cgi?id=1496761
2017-10-05 20:30:42 +09:00
Akira TAGOH 9fde3461e3 Fix a compiler warning 2017-09-29 14:33:17 +09:00
Akira TAGOH 071111ea58 cleanup 2017-09-29 14:29:37 +09:00
Behdad Esfahbod f504b2d6a1 Require freetype >= 2.8.1
2.8.0 had a bad bug with loading 'avar' table.  Let's update requirement and cleanup
fifteen years of ifdefs!
2017-09-28 19:49:05 -04:00
Behdad Esfahbod 1580593ecc Merge branch 'varfonts2'
https://lists.freedesktop.org/archives/fontconfig/2017-September/006048.html
2017-09-28 14:52:41 -04:00
Behdad Esfahbod 01f781a9a4 [varfonts] Share lang across named-instances
Makes VotoSerifGX scanning another 40% faster...  Down to 36ms now.
2017-09-27 18:55:50 -04:00
Behdad Esfahbod 161c738547 Use binary-search for finding name table entries
VotoSerifGX has over 500 named instances, which means it also has over a thousand
name table entries.  So we were looking for names for over 500 pattern, looking for
some thirty different name-ids, and using linear search across the 1000 entries!

Makes scanning VotoSerifGX three times faster.  The rest is probably the lang
matching, which can also be shared across named-instances.  Upcoming.
2017-09-27 18:47:42 -04:00
Behdad Esfahbod 261464e0e2 Simplify name-table platform mathcing logic
There's no "all other platforms", there was just ISO left.
Hardcode it in.
2017-09-27 18:37:00 -04:00
Behdad Esfahbod 55d04e25d6 Don't convert nameds to UTF-8 unless we are going to use them 2017-09-27 18:37:00 -04:00
Behdad Esfahbod f99278112d Whitespace 2017-09-27 18:37:00 -04:00
Behdad Esfahbod 554041d596 Fix whitespace-trimming loop and empty strings... 2017-09-27 18:37:00 -04:00
Behdad Esfahbod a74109a114 Move whitespace-trimming code to apply to all name-table strings
If it's good, it's good for everything!
2017-09-27 18:37:00 -04:00
Behdad Esfahbod 869dfe0bdc [varfonts] Reuse charset for named instances
This didn't give me the speedup I was hoping for, though I do get around 15% for VotoSerifGX.
2017-09-27 18:37:00 -04:00
Behdad Esfahbod bf4d440e7f Separate charset and spacing code
For variable-font named-instances we want to reuse the same charset and redo the spacing.
2017-09-27 12:37:23 -04:00
Akira TAGOH 052115aa83 Fix again to keep the same behavior to the return value of FcConfigParseAndLoad
https://bugs.freedesktop.org/show_bug.cgi?id=102141
2017-09-21 14:04:10 +09:00
Akira TAGOH 5603e06aeb Revert "Keep the same behavior to the return value of FcConfigParseAndLoad"
This reverts commit dc56ff8040.
2017-09-21 14:03:51 +09:00
Behdad Esfahbod 15b5016ccd [varfonts] Don't reopen face for each named instance
Makes scanning of Voto (over 500 named instaces) twice faster.

Next, avoid charset / lang recalculation for each of those.
2017-09-20 19:39:59 -07:00
Behdad Esfahbod 2d0063948a [varfonts] Do not set postscriptname for varfont pattern 2017-09-20 16:36:03 -07:00
Behdad Esfahbod be735d6a68 [varfonts] Skip named-instance that is equivalent to base font 2017-09-20 16:36:03 -07:00
Behdad Esfahbod 8183194ae3 [varfonts] Don't set style for variable-font pattern 2017-09-20 13:21:52 -07:00
Behdad Esfahbod 131219f9e5 [varfonts] Comment 2017-09-20 13:21:52 -07:00
Behdad Esfahbod e85afde2d6 [varfonts] Minor 2017-09-20 13:21:52 -07:00
Behdad Esfahbod 5ee9c38df7 Revert "[varfonts] Use fvar data even if there's no variation in it"
This reverts commit 57764e3a36449da25bb829c34cb08c54e9e5de90.

For regular font pattern we don't look into fvar, so it doesn't make sense to
get non-variation from it either.
2017-09-20 13:21:52 -07:00
Behdad Esfahbod 7e1b84100d Minor 2017-09-20 13:21:52 -07:00
Behdad Esfahbod 01f14de417 [varfonts] Use fvar data even if there's no variation in it 2017-09-20 13:21:52 -07:00
Behdad Esfahbod 38a6d6fba0 Fix possible div-by-zero 2017-09-20 13:21:52 -07:00
Behdad Esfahbod 0ed241cb30 Implement more config bool operations for boolean types
Meh.
2017-09-20 13:21:52 -07:00