summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-05-16Ensure cache checksums are deterministicHEADmasterChris Lamb2-7/+58
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/
2018-05-13Bug 106459 - fc-cache doesn't use -y option for .uuid filesAkira TAGOH2-11/+62
https://bugs.freedesktop.org/show_bug.cgi?id=106459
2018-05-13Bug 106497 - better error description when problem reading font configurationAkira TAGOH2-2/+20
https://bugs.freedesktop.org/show_bug.cgi?id=106497
2018-05-11Add a test case for 90-synthetic.confAkira TAGOH3-3/+112
2018-05-11Add a testrunner for confAkira TAGOH3-0/+344
2018-05-11Bug 43367 - RFE: iterator to peek objects in FcPatternAkira TAGOH7-83/+372
Add various APIs to obtain things in FcPattern through the iterator https://bugs.freedesktop.org/show_bug.cgi?id=43367
2018-05-11Change the emboldening logic againAkira TAGOH1-2/+2
enable emboldening when request was >= bold and font was <= medium https://bugs.freedesktop.org/show_bug.cgi?id=106460
2018-05-05Add FONTCONFIG_SYSROOT environment variableTom Anderson2-1/+8
2018-04-19Fix typo in docAkira TAGOH1-5/+5
https://bugs.freedesktop.org/show_bug.cgi?id=106128
2018-04-17Use realfilename for FcOpen in _FcConfigParseTom Anderson1-1/+1
realfilename is the file name after sysroot adjustments. It should be used instead of filename in the call to FcOpen() which forwards the name directly to open(). Though I don't explicitly request a sysroot, I was getting error messages saying "failed reading config file". This CL fixes the error spam.
2018-04-16Fix undefined-shift UBSAN errorsTom Anderson4-12/+12
The expression "1 << 31" will cause UBSAN to complain with this error message: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' The same operation on unsigned types is fine, however. This CL replaces the strings "1 <<" with "1U <<".
2018-03-31Share name-mapping across instancesBehdad Esfahbod1-6/+16
Continuation of previous commit. Makes scanning Voto Serif GX fast again.
2018-03-31Fix name scanningBehdad Esfahbod1-108/+185
In 161c738 I switched from linear name scanning to binary searching. That, however, ignored the fact that there might be more than one name table entry for each pair we want to query. To fix that and retain bsearch, I now get all name entries first, sort them, and use for bsearching. This fixes https://bugs.freedesktop.org/show_bug.cgi?id=105756 This makes scaning Voto Serif GX twice slower though, since we are creating and sorting the list for each instance. In the next commit, I'll share this list across different instances to fix this.
2018-03-28Do not ship fcobjshash.hAkira TAGOH1-5/+7
2018-03-28Fix make check fail when srcdir != builddir.Akira TAGOH2-10/+9
2018-03-15Minor: fix warningsBehdad Esfahbod1-2/+2
2018-03-15call setlocaleAkira TAGOH7-0/+14
2018-03-15Leave the locale setting to applicationsAkira TAGOH2-20/+4
https://bugs.freedesktop.org/show_bug.cgi?id=105492
2018-03-14Add a testcase for FcNameParseAkira TAGOH2-0/+94
2018-03-14Add the value of the constant name to the implicit object in the patternAkira TAGOH1-0/+4
For objects which has been changed the object type to FcTypeRange. https://bugs.freedesktop.org/show_bug.cgi?id=105415
2018-03-14Do not override locale if already set by appAkira TAGOH1-1/+6
https://bugs.freedesktop.org/show_bug.cgi?id=105492
2018-03-12Allow the constant names in the rangeAkira TAGOH1-5/+29
https://bugs.freedesktop.org/show_bug.cgi?id=105415
2018-03-10Add uuid to Requires.private in .pc only when pkgconfig macro found itAkira TAGOH1-1/+6
2018-03-09Fix the build issue again on MinGW with enabling nlsAkira TAGOH1-2/+2
2018-03-08Use the builtin uuid for OSXAkira TAGOH1-2/+17
https://bugs.freedesktop.org/show_bug.cgi?id=105366
2018-03-06Bump version to 2.13.02.13.0Akira TAGOH3-5/+13
2018-03-06Bump the libtool revisionAkira TAGOH1-1/+1
2018-03-02Initialize an array explicitlyAkira TAGOH1-1/+1
Patch from Kurt Kartaltepe
2018-03-02Fix a build issue on MinGW with enabling nlsAkira TAGOH1-1/+2
2018-02-19Add Simplified Chinese translationsAkira TAGOH4-0/+750
https://bugs.freedesktop.org/show_bug.cgi?id=105123
2018-02-15Bump version to 2.12.932.12.93Akira TAGOH3-4/+36
2018-02-15Add missing files to shipAkira TAGOH1-0/+5
2018-02-05Ensure the user config dir is available in the list of config dirs on the ↵Akira TAGOH1-3/+11
fallback config
2018-02-05Do not mix up font dirs into the list of config dirsAkira TAGOH5-16/+7
2018-02-01Fix cross-compilation by passing CPPFLAGS to CPPOlivier Crête1-1/+1
2018-01-23Take effects on dir, cachedir, acceptfont, and rejectfont only when loadingAkira TAGOH1-13/+17
Those elements takes effects immediately during parsing config files so makes them conditional to ignore on scanning.
2018-01-15Revert some removal from 7ac6af6Akira TAGOH1-0/+1
2018-01-14Do not add cflags and libs coming from pkg-config file.Akira TAGOH2-4/+10
Using Requires is peferable way. https://bugs.freedesktop.org/show_bug.cgi?id=104622
2018-01-14FcHashTableAddInternal: Compare against the right keyAlexander Larsson1-1/+1
We were comparing the passed in key with the ready-to-insert key rather than the key in the hashtable, so if you ever had a hash conflicts we'll never insert the new item. https://bugs.freedesktop.org/show_bug.cgi?id=101889
2018-01-09Fix undefined-behavior signed shiftsBehdad Esfahbod3-11/+11
2018-01-09clean upAkira TAGOH2-74/+13
2018-01-08Use FT_Done_MM_Var if availableBehdad Esfahbod2-1/+5
2018-01-06export GETTEXTDATADIR to refer the local .its/.loc file instead of using ↵Akira TAGOH8-8/+44
--its option
2018-01-05Fix leakBehdad Esfahbod1-0/+1
2018-01-05Remove POTFILES.in until new release of gettext is coming...Akira TAGOH1-34/+0
2018-01-05Use the native ITS support in gettextAkira TAGOH4-10/+39
and drop the dependency of itstool. To get this working, need to patch out to fix a crash: http://git.savannah.gnu.org/cgit/gettext.git/commit/?id=a0cab23332a254e3500cac2a3a984472d02180e5
2018-01-05Add files to enable ITS support in gettextAkira TAGOH3-0/+15
2018-01-05trivial fixAkira TAGOH1-0/+3
2018-01-04Allow overriding symbol visibility.Tom Anderson2-3/+10
Fontconfig symbols were hardcoded to be either hidden or exported. This patch adds configurable symbol visibility. This is useful for projects that want to do in-tree fontconfig builds and not export any symbols, otherwise they would conflict with the system library's symbols Chromium is a project that does in-tree fontconfig builds, and the workaround currently used is "#define visibility(x) // nothing" [1] and building with "-fvisibility=hidden". [1] https://cs.chromium.org/chromium/src/third_party/fontconfig/BUILD.gn?rcl=ce146f1f300988c960e1eecf8a61b238d6fd7f7f&l=62
2018-01-04Support FC_WIDTH as double as wellBehdad Esfahbod1-9/+7