summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* meson: add 'template-dir', 'baseconfig-dir', 'config-dir', and 'xml-dir' optionsTim-Philipp Müller2022-07-022-4/+34
| | | | Fixes #244
* meson: add 'cache-dir' optionTim-Philipp Müller2022-07-022-4/+17
| | | | Fixes #244
* meson: add 'additional-fonts-dirs' optionTim-Philipp Müller2022-07-022-0/+33
| | | | Fixes #244
* meson: add 'default-fonts-dirs' optionTim-Philipp Müller2022-07-022-13/+24
| | | | Fixes #244
* meson: add 'default-hinting' optionTim-Philipp Müller2022-07-023-1/+8
| | | | Fixes #244
* meson: Use fc_configdir where appropriate during buildJeremy Huddleston Sequoia2022-06-201-2/+2
| | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* meson: Use fc_templatedir and fc_baseconfigdir are used when installing configsJeremy Huddleston Sequoia2022-06-201-6/+5
| | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* meson: Fix linking libexpat on darwinJeremy Huddleston Sequoia2022-06-201-2/+8
| | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* Bump the cache version to 8 in doc/fontconfig-user.sgmlAlan Coopersmith2022-04-121-1/+1
| | | | | | Makes docs match code changes from commit 5d84745e7209d4c6 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* configure.ac: allow disabling docbookSam James2022-04-121-1/+7
| | | | | | | | Sometimes we might want to build docs (install man pages, etc) but allow disabling use of docbook. Bug: https://bugs.gentoo.org/310157 Signed-off-by: Sam James <sam@gentoo.org>
* Avoid misuse of ctype(3)Taylor R Campbell2022-04-111-2/+2
| | | | | | | | | | | | | | | | | | | The ctype(3) functions take arguments of type int that are either (a) EOF, or (b) unsigned char values, {0, 1, 2, ..., 255} if char is 8-bit. Passing values of type char, on platforms where it is signed, can go wrong -- negative values may be confused with EOF (typically -1) or may lead to undefined behaviour ranging in practice from returning garbage data (possibly out of an adjacent buffer in memory that may contain secrets) to crashing with SIGSEGV (if the page preceding the ctype table is unmapped). The ctype(3) functions can't themselves convert to unsigned char because then they would give the wrong answers for EOF, for use with functions like getchar and fgetc; the user has to cast char to unsigned char.
* Use the latest stable release image for CI for mingwAkira TAGOH2022-04-111-5/+9
| | | | | CI sometimes fails. we want to avoid environment specific issues on our CI.
* Bump version to 2.14.02.14.0Akira TAGOH2022-03-314-6/+11
|
* Update address for reporting msgid bugs from bugzilla to gitlabAlan Coopersmith2022-02-194-6/+6
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Bump version to 2.13.962.13.96Akira TAGOH2022-02-044-5/+11
|
* Merge branch 'main' of ssh://gitlab.freedesktop.org/fontconfig/fontconfigAkira TAGOH2022-02-041-0/+1
|\
| * Add a missing file 48-spacing.confAkira TAGOH2022-02-041-0/+1
| | | | | | | | Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/310
* | Bump version to 2.13.952.13.95Akira TAGOH2022-02-014-5/+69
|/
* Fix possible memory leaks in FcPatternObjectAddWithBindingAkira TAGOH2022-01-311-33/+10
| | | | | | Reported by Ruth Ivimey-Cook Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/302
* WIN32: Fix pGetSystemWindowsDirectory found initialized during ↵Francesco Pretto2022-01-311-18/+26
| | | | | | | | | | | | FcConfigParseAndLoadFromMemory Trying to early loading a custom fonts.xml created on the fly results in the pGetSystemWindowsDirectory function pointer being found intialized. Normally the initialization is performed in the default configuration loading. The commit factorizes the lazy initialization of both WIN32 getters (together with pSHGetFolderPathA) in a function and call it when actually needed.
* Add test/wrapper-script.sh to the archiveAkira TAGOH2022-01-281-1/+1
| | | | Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/307
* Add an user font directory for Win32 to the default font pathAkira TAGOH2022-01-173-2/+12
| | | | | | Patch from @takase1121 Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/144
* Always add the family name from spacing=100Pierre Ducroquet2022-01-131-12/+3
|
* It seems this qual doesn't work on integersPierre Ducroquet2022-01-131-1/+1
|
* Remove configuration file from POTFILESPierre Ducroquet2022-01-131-1/+0
| | | | | This failed the CI for reasons unknown to me, and I don't see the point in translating these files.
* Reference the new configuration filePierre Ducroquet2022-01-133-0/+4
|
* Add a configuration to switch to monospace if spacing=100 is requestedPierre Ducroquet2022-01-131-0/+25
| | | | | | | | | Previously, requesting a monospace font with an invalid font family (for instance, when a font is not embedded in a PDF, poppler may issue such queries), the font family would be filled by configuration file 49-sansserrif.conf with sans-serif This new rule set the family to monospace if spacing=100 is specified in the query.
* meson: Remove summary() from version_compare() blockNirbheek Chauhan2022-01-091-10/+8
| | | | | | | | | The version_compare() block is redundant because we require meson 0.56 now, and it fixes a spurious warning: ``` fontconfig| WARNING: Project targeting '>= 0.53' but tried to use feature introduced in '0.54.0': list_sep arg in summary. ```
* Update CaseFolding.txt to Unicode 14Akira TAGOH2021-12-212-4/+47
|
* Add more description for fc-conflist.1 and FcConfigFileInfoIterInit.3Akira TAGOH2021-12-212-4/+9
| | | | Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/299
* Initialize variableAkira TAGOH2021-12-091-1/+1
|
* Apply the change made by 23e46d1 againAkira TAGOH2021-12-091-1/+1
| | | | Regression by d62d984e2bfe5b9c7767e8ad657ec93652d52bbd
* Fix the issue fail to obtain the style nameAkira TAGOH2021-12-091-0/+1
| | | | | | | The number of a couple of 'family' and 'familylang' and 'style' and 'stylelang' is different. need to reset the counter to get the property regarding to regarding to the lang. Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/303
* Actually skip leading spaces in style nameBen Wagner2021-12-061-2/+1
| | | | | | Because the loop body is just 'break' the loop never loops and at most one leading space is skipped. Remove the body to allow the loop to continue. Found with ClangTidy.
* Back FcSerialize with open addressing hash table.Ben Wagner2021-11-162-37/+170
| | | | | | Instead of fixed number of buckets with chaining use an open addressing hash table with linear probing, max load factor 0.75, and a power of two number of buckets.
* Ensure config.h is always included before stdlib headersRyan Gonzalez2021-11-102-6/+6
| | | | | | | | | In particular, if an stdlib header goes first, it includes features.h which only checks _FILE_OFFSET_BITS *once*, meaning that these files end up compiled *without* _FILE_OFFSET_BITS taking effect, which affects fcxml's operations in listing directories. Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
* Fix some testcase fails for 14c265a1Akira TAGOH2021-11-091-14/+23
| | | | | Add an extra code to ignore an error of FT_Get_MM_Var() only when FT_MM_Var variable isn't used in any case.
* If a varfont has 'opsz' axis, set FC_SIZE on default instant patternBehdad Esfahbod2021-11-091-4/+19
| | | | | | | Otherwise default-instance pattern would match as an "all sizes", which would be wrong. See: https://gitlab.gnome.org/GNOME/pango/-/issues/621#note_1305844
* conf.d/60-latin.conf: Make Noto default.Akira TAGOH2021-11-081-0/+3
|
* Fix warning about os2->achVendID cannot be NULLBen Wagner2021-10-281-1/+1
| | | | | FreeType's TT_OS2::achVendID is a FT_Char[4] array and not a pointer, so it does not need to be checked for NULL.
* Add the option to not build fontconfig cache during installationAkira TAGOH2021-10-144-2/+17
| | | | Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/296
* Resolves symlinks against <dir prefix="relative">Akira TAGOH2021-10-114-27/+37
| | | | | | | | | | | | | | | | | | | | | | | | | When a config file is symlinked and obtaining an relative path from it for <dir>, it behaved like: $ realpath /path/to/foo.conf /path/to/realpath/foo.conf $ FONTCONFIG_FILE=/path/to/foo.conf fc-cache -v Font directories: /path/to/fonts /path/to/fonts: skipping, existing cache is valid: 1 fonts, 0 dirs /path/to/cachedir: cleaning cache directory fc-cache: succeeded And after this change: $ FONTCONFIG_FILE=/path/to/foo.conf fc-cache -v Font directories: /path/to/relpath/fonts /path/to/realpath/fonts: skipping, existing cache is valid: 1 fonts, 0 dirs /path/to/cachedir: cleaning cache directory fc-cache: succeeded Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/290
* Fix score estimation for postscriptnameAkira TAGOH2021-10-081-3/+5
| | | | | | | | | | | | Before this fix: $ fc-match :postscriptname=LiberationSans LiberationSansNarrow.ttf: "Liberation Sans Narrow" "Regular" After this fix: $ fc-match :postscriptname=LiberationSans LiberationSans-Regular.ttf: "Liberation Sans" "Regular" See https://bugzilla.redhat.com/show_bug.cgi?id=1946871
* Fix FC_DEFAULT_FONTS on macOS and with BSD sedRyan Schmidt2021-10-052-3/+6
| | | | | | | | Fix processing of FC_DEFAULT_FONTS when it contains multiple comma- separated values (i.e. on macOS/Darwin) and fix inserting it into fonts.conf when using BSD sed. Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/287
* Extend test thread args lifetimeBen Wagner2021-09-061-3/+3
| | | | | | | | | | | | | | | | | The argument passed to each thread in test-pthread.c indicates a thread number to report when finished. This value is read out by the thread into a local variable early in the thread's execution. Currently, the address passed as this argument is the address of a loop local. However, it is possible that the created thread will not be scheduled to run or will not read the argument before the thread creation loop finishes and the local is destroyed. This can lead to odd behavior, usually observed as multiple threads reporting the same thread_num. Fix this issue by storing the thread arguments in a parallel array to the array of threads. This ensures that the thread arguments are in scope as long as the threads themselves. Discovered with tests/test-pthread with AddressSanitizer enabled.
* Free local FcCache lock on contentionBen Wagner2021-09-061-0/+1
| | | | | | | | | | If two threads attempt to create the FcCache lock in lock_cache at the same time, both threads may create and initialize a local FcMutex. One thread will atomically make cache_lock point to its FcMutex. The other thread currently calls FcMutexFinish on the local lock, but does not free it. Change this behavior to free the unused lock. Found with test/test-pthread on an LeakSanitizer enabled build.
* Add memory order constraints to C11 atomicsBen Wagner2021-08-311-3/+3
| | | | | | | Reduce the strength of the C11 atomics from memory_order_seq_cst to the actually required memory order constraints for each operation. In addition to reflecting the already documented memory order constraints, this should allow for better code generation.
* Fix a memory leak when trying to open a non-existing fileAkira TAGOH2021-08-251-5/+7
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=1914716
* Reflect matching results to binding in FcPatternAkira TAGOH2021-08-241-21/+81
| | | | | | | This change allows applications to see what property was matched perfectly and help to filter out for their needs. Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/294
* Bump the cache version to 8Akira TAGOH2021-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Bump the cache version to avoid unexpected behavior in older version of fontconfig. There was no real incompatible features introduced in a cache. But the older version of fontconfig can't deal with variable fonts and then it failed. To avoid this breakage, you may want to choose one of options like: 1) Applying this change to fontconfig in host and remove all the fontconfig caches and then regenerate them by fc-cache linked with older one and new one. or simply run applications. You'll see two versions of caches in the cache directories. 2) Remove variable fonts on system and remove all the fontconfig caches too. then regenerate caches. You'll still see one version of caches there but without the entries of variable fonts. After that, the problem should be gone. https://bugzilla.redhat.com/show_bug.cgi?id=1981500