Age | Commit message (Collapse) | Author | Files | Lines |
|
Whilst working on the Reproducible Builds[0] effort, we noticed that
fontconfig generates unreproducible cache files.
This is due to fc-cache uses the modification timestamps of each
directory in the "checksum" and "checksum_nano" members of the _FcCache
struct. This is so that it can identify which cache files are valid
and/or require regeneration.
This patch changes the behaviour of the checksum calculations to prefer
the value of the SOURCE_DATE_EPOCH[1] environment variable over the
directory's own mtime. This variable can then be exported by build
systems to ensure reproducible output.
If SOURCE_DATE_EPOCH is not set or is newer than the mtime of the
directory, the existing behaviour is unchanged.
This work was sponsored by Tails[2].
[0] https://reproducible-builds.org/
[1] https://reproducible-builds.org/specs/source-date-epoch/
[2] https://tails.boum.org/
|
|
Add various APIs to obtain things in FcPattern through the iterator
https://bugs.freedesktop.org/show_bug.cgi?id=43367
|
|
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=106128
|
|
No idea why I didn't add these as double to begin with.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
Patch from Jerry Casiano.
|
|
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=78452
|
|
FcPattern.
https://bugs.freedesktop.org/show_bug.cgi?id=19375
|
|
Even though fontconfig's build system tries to build edit-sgml with the
build arch compiler, it gets the runes wrong and actually builds it with
the host arch compiler. This patch makes it use the right compiler.
Bug-Debian: https://bugs.debian.org/779461
https://bugs.freedesktop.org/show_bug.cgi?id=101554
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=101202
|
|
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
In 32ac7c75e8db0135ef37cf86f92d8b9be000c8bb the behavior of
FcConfigAppFontAddFile/Dir() were changed to return false
if not fonts were found. While this is welldefined and useful
for AddFile(), it's quite problematic for AddDir(). For example,
if the directory is empty, is that a failure or success? Worse,
the false value from AddDir() was being propagated all the way
to FcInit() returning false now. This only happened upon memory
allocation failure before, and some clients assert that FcInit()
is successful.
With this change, AddDir() is reverted back to what it was.
AddFont() change (which was actually in fcdir.c) from the original
commit is left in.
|
|
just setting FC_MATCH=3 shows a lot of information and hard to keep on track for informamtion
which is really necessary to see. to use this more effectively, added FC_DBG_MATCH_FILTER to
see for what one really want to see. it takes a comma-separated-list of object names.
If you want to see family name only, try like this:
FC_DBG_MATCH_FILTER=family FC_DEBUG=4096 fc-match
debugging output will be filtered out and see family only in the result.
|
|
Adds FC_SYMBOL.
This affects fonts having a cmap with platform 3 encoding 0.
We now map their glyphs from the PUA area to the Latin1 area.
See thread "Webdings and other MS symbol fonts don't display"
on the mailing list.
Test before/after with:
$ pango-view --markup --text='<span fallback="false">×</span>' --font=Wingdings
|
|
Use FC_MATRIX instead.
https://bugs.freedesktop.org/show_bug.cgi?id=90257
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=90105
|
|
|
|
|
|
|
|
missing a terminator caused a document generation fail.
|
|
The SGML for these functions exists, and they are named as manpages,
but because they are not mentioned in fontconfig-devel.sgml, no
documentation is ever generated, and installation under --enable-docs
fails.
(The documentation I have written in fontconfig-devel.sgml is boilerplate
so I can get the manpages generated. It's probably wrong.)
|
|
Only adds "color" to pattern if FreeType version supports color.
Based on patch from Jungshik Shin.
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=86950
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=82876
|
|
|
|
Rest of Part of https://bugs.freedesktop.org/show_bug.cgi?id=81453
Adds new API:
FcWeightFromOpenType()
FcWeightToOpenType()
|
|
Such that Regular is closer to Medium than to DemiLight
|
|
Part of https://bugs.freedesktop.org/show_bug.cgi?id=81453
Also hooks up FC_WEIGHT_BOOK to fcfreetype.c.
|
|
It was added without proper measurement and a fuzzy possible
use-case (font servers) in mind, but reality check shows that
this significantly slows down caching. As such, deprecate it
and do NOT compute hash during caching.
Makes caching two to three times faster (ignoring the 2 second
delay in fc-cache).
|
|
|
|
Version section was getting confused to the API's availability,
even though it was the version the doc was genereated.
So moving it into the footer and added @SINCE@ field in the data.
|
|
|
|
|
|
The previous documentation for FcCharSetFirstPage and
FcCharSetNextPage was technically accurate, but a bit terse. I've
added an example using the returned page (root code point) and map to
give folks something concrete to work with. I've also documented
FC_CHARSET_DONE, which wasn't mentioned at all before.
|
|
|
|
|
|
Add an ability to set the system root to generate the caches.
In order to do this, new APIs, FcConfigGetSysRoot() and
FcConfigSetSysRoot() is available.
|
|
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>
|
|
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.
|
|
Can be used for per-application configuration.
|
|
Add FC_FONT_FEATURES to store the feature tags to be enabled.
|
|
the language support
Add fc-validate to check the language coverage in a font.
|