fontconfig merge requestshttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests2021-07-14T04:15:14Zhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/184Remove Bugzilla references2021-07-14T04:15:14ZRyan Carsten SchmidtRemove Bugzilla referencesReplaces a few remaining references to the old Bugzilla bug tracking system.Replaces a few remaining references to the old Bugzilla bug tracking system.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/183Do not set different score to non-string values2021-07-08T05:59:11ZAkira TAGOHDo not set different score to non-string valuesNon-string values in a cache is supposed to choose one from them.
Due to the change of da1c9f7a, there was a regression on scoring for
matching functions. So reverting the behavior for evaluating non-string
values to the previous one.
...Non-string values in a cache is supposed to choose one from them.
Due to the change of da1c9f7a, there was a regression on scoring for
matching functions. So reverting the behavior for evaluating non-string
values to the previous one.
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/286Akira TAGOHAkira TAGOHhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/182fcstat: add support for wasm-emscripten2021-07-09T05:12:28ZMehdi Sabwatfcstat: add support for wasm-emscriptenFallback to f_type statfs struct field, since f_fstypename is not supported on the platform.Fallback to f_type statfs struct field, since f_fstypename is not supported on the platform.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/181Revert constructing fullname property from family and style properties2021-06-28T08:49:21ZAkira TAGOHRevert constructing fullname property from family and style propertiesThis seems making a regression in Java. we will revisit this issue later.
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/277This seems making a regression in Java. we will revisit this issue later.
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/277Akira TAGOHAkira TAGOHhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/180Better wording for comments in config2021-06-25T12:49:02ZAkira TAGOHBetter wording for comments in configFixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/274Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/274Akira TAGOHAkira TAGOHhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/179Fix score evaluation for multiple values in properties2021-06-28T09:25:46ZAkira TAGOHFix score evaluation for multiple values in propertiesSometimes fonts has multiple values in family and sub-family in order to unify
other variants into one. they basically make difference in sub-family though,
they also still have standalone family and sub-family. in that case, sub-family ...Sometimes fonts has multiple values in family and sub-family in order to unify
other variants into one. they basically make difference in sub-family though,
they also still have standalone family and sub-family. in that case, sub-family is
likely to be Regular.
fontconfig couldn't recognize the difference between :family=Foo:style=Regular
and :family=Foo Caption:style=Regular for example because fontconfig didn't
give different score on matching result for the position of multiple values in
a cache.
Thus, when querying a font like :family=Foo:style=Regular may results
:family=Foo Caption:style=Regular. (see the test case for more details)
To fix this situation, giving different score according to the position
of multiple values in a cache as well as the position of multiple values
in a query.
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/283Akira TAGOHAkira TAGOHhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/178fcobjs: Remove duplicate function prototypes2021-10-19T15:54:07ZNirbheek Chauhannirbheek.chauhan@gmail.comfcobjs: Remove duplicate function prototypesThese are already defined in `fcobjsghash.h` which is generated from
`fcobjshash.gperf`. This has been working fine because we were detecting
the len of `FC_GPERF_SIZE_T`, but it's incorrect in some cases, such as
on Windows, and then we...These are already defined in `fcobjsghash.h` which is generated from
`fcobjshash.gperf`. This has been working fine because we were detecting
the len of `FC_GPERF_SIZE_T`, but it's incorrect in some cases, such as
on Windows, and then we get build errors like:
```
In file included from ../src/fcobjs.c:33:
src/fcobjshash.gperf:28:1: error: conflicting types for 'FcObjectTypeHash'
"aspect",FC_ASPECT_OBJECT
^~~~~~~~~~~~~~~~
../src/fcobjs.c:28:1: note: previous declaration of 'FcObjectTypeHash' was here
FcObjectTypeHash (register const char *str, register FC_GPERF_SIZE_T len);
^~~~~~~~~~~~~~~~
In file included from ../src/fcobjs.c:33:
src/fcobjshash.gperf:192:1: error: conflicting types for 'FcObjectTypeLookup'
../src/fcobjs.c:31:1: note: previous declaration of 'FcObjectTypeLookup' was here
FcObjectTypeLookup (register const char *str, register FC_GPERF_SIZE_T len);
^~~~~~~~~~~~~~~~~~
```
We don't actually need to auto-detect this value in configure if we
let the header define it.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/177Clarify documentation of what prgname does2021-04-26T04:53:13ZJadeClarify documentation of what prgname doesPreviously it was unclear if it was, for instance, the X11 class or
other property like that, or a path.Previously it was unclear if it was, for instance, the X11 class or
other property like that, or a path.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/176Fix potential memory leak in _get_real_paths_from_prefix2021-04-12T06:04:31ZAlbert Astals CidFix potential memory leak in _get_real_paths_from_prefixhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/175Add support for XDG_DATA_DIRS2021-03-30T06:22:12ZAkira TAGOHAdd support for XDG_DATA_DIRSAdd dirs from XDG_DATA_DIRS when <dir prefix="xdg"> appears in fonts.conf
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/271Add dirs from XDG_DATA_DIRS when <dir prefix="xdg"> appears in fonts.conf
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/271Akira TAGOHAkira TAGOHhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/174Fix missing <dir> element for WINDOWSFONTDIR2021-03-03T13:38:02ZAkira TAGOHFix missing <dir> element for WINDOWSFONTDIRAlso refactoring logic in meson.build and configure.ac to generate fonts.conf with it.Also refactoring logic in meson.build and configure.ac to generate fonts.conf with it.Akira TAGOHAkira TAGOHhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/172Overwrite symlinks for config files2021-03-03T04:54:09ZAkira TAGOHOverwrite symlinks for config filesIn Makefile, we are trying to remove old symlinks first and then create a symlink.
do the same thing in meson too.
Also, the line of the exception handling for FileExistsError is meaningless
as the above line is taking care of it instea...In Makefile, we are trying to remove old symlinks first and then create a symlink.
do the same thing in meson too.
Also, the line of the exception handling for FileExistsError is meaningless
as the above line is taking care of it instead and we shouldn't ignore it if
os.remove and os.symlink doesn't work somehow.
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/275Akira TAGOHAkira TAGOHhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/171meson: fix subproject build regression2021-02-19T03:50:48ZTim-Philipp Müllertim@centricular.commeson: fix subproject build regressioncommit ae9ac2a1 from !165 introduced a regression when
fontconfig is built as a subproject. In that case we
would fail to correctly construct the path to the root
build dir where the meson-info subdirectory resides,
instead looking for i...commit ae9ac2a1 from !165 introduced a regression when
fontconfig is built as a subproject. In that case we
would fail to correctly construct the path to the root
build dir where the meson-info subdirectory resides,
instead looking for it in the fontconfig subproject
subdir. This would result in
FAILED: subprojects/fontconfig/src/fcobjshash.gperf
errors in the cutout.py script.
Instead use the @BUILD_ROOT@ substitution to get
to the build root which will work correctly in
either scenario.
---
(This is currently not documented in Meson but will be documented once https://github.com/mesonbuild/meson/pull/8363/ lands. Was tested with 0.56.1.)https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/170Fix stack use after scope in FcConfigCompareValue2021-02-18T11:09:35ZBen WagnerFix stack use after scope in FcConfigCompareValueDiscovered by AddressSanitizer. When left_o and right_o are promoted the
promoted values are placed on the stack in FcValuePromotionBuffer.
The FcValuePromotionBuffers must then continue to be in scope while
left_o and right_o point into...Discovered by AddressSanitizer. When left_o and right_o are promoted the
promoted values are placed on the stack in FcValuePromotionBuffer.
The FcValuePromotionBuffers must then continue to be in scope while
left_o and right_o point into their content. In 9d4e5d0f the
FcValuePromotionBuffers were moved into the incorrect scope, leaving
left_o and right_o pointing into an object whose lifetime has ended.
This is similar to left and right which appear to have a smaller scope
but are actually required to be in the larger scope.
Correct this by moving the FcValuePromotionBuffers to the proper scope.
Leave the left and right FcValues where they are since they are in the
correct scope already.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/169Windows: Fix symlink privilege error detection2021-04-16T10:28:56ZXavier Claessensxclaesse@gmail.comWindows: Fix symlink privilege error detectionThe message is in e.args[1] and not e.args[0] at least with python 3.8.
Should be more future proof like this in case it change again.The message is in e.args[1] and not e.args[0] at least with python 3.8.
Should be more future proof like this in case it change again.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/168Meson: Do not wrap fccache insallation script2021-01-28T11:12:59ZXavier Claessensxclaesse@gmail.comMeson: Do not wrap fccache insallation scriptWhen passing fccache executable directly Meson does special tricks such
as modifying $PATH on Windows.
See: https://github.com/mesonbuild/meson/pull/8259
Fixes: #260
CC @tpmWhen passing fccache executable directly Meson does special tricks such
as modifying $PATH on Windows.
See: https://github.com/mesonbuild/meson/pull/8259
Fixes: #260
CC @tpmhttps://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/167Fix stripping whitespace from end of family in FcPatternAddFullname2021-01-26T12:03:13ZSzuntiFix stripping whitespace from end of family in FcPatternAddFullnameI think this was a typo.I think this was a typo.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/166Merge similar mutex code2021-01-26T11:27:55ZJacko DirksMerge similar mutex codeThe files `src/fccache.c` and `src/fccfg.c` contained very similar mutex-related code. This code is now placed in `src/fcmutex.c`.
I also concluded that the additional call to `FcRandom` during mutex creation was not required, and there...The files `src/fccache.c` and `src/fccfg.c` contained very similar mutex-related code. This code is now placed in `src/fcmutex.c`.
I also concluded that the additional call to `FcRandom` during mutex creation was not required, and therefore I removed it. This simplified the logic, so that a `goto` could be replaced with a do-while.
Finally, there is the `FC_MUTEX_IMPL_INIT` macro. This macro can be used to initialize a mutex compile-time, but unfortunately not on Windows. This macro was unused and is therefore removed.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/165meson: fix cross-compilation issues with gperf header file preprocessing2021-02-18T11:38:49ZTim-Philipp Müllertim@centricular.commeson: fix cross-compilation issues with gperf header file preprocessingPass c_args to the compiler when preprocessing the gperf header file,
they might contain important bits without which compilation/preprocessing
might fail (e.g. with clang on Android). cc.cmd_array() does not include
the c_args and we ca...Pass c_args to the compiler when preprocessing the gperf header file,
they might contain important bits without which compilation/preprocessing
might fail (e.g. with clang on Android). cc.cmd_array() does not include
the c_args and we can't easily look them up from the meson.build file, so
we have to retrieve from the introspection info.
This is basically the Meson equivalent to commit 57103773.https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/162Meson: Fallback to gperf subproject on all platforms2021-01-27T03:10:53ZXavier Claessensxclaesse@gmail.comMeson: Fallback to gperf subproject on all platformsCC @tpmCC @tpm