summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fontconfig: Add some trace marksspeed-up-format-filteringMatthias Clasen2021-02-221-3/+41
| | | | | Add sysprof marks around the expensive fontconfig calls, and for when we are waiting on them.
* Move FcInit call to a threadMatthias Clasen2021-02-221-0/+50
| | | | | | | | | | With a big fontconfig configuration, FcInit takes some time (60-100ms on my system). Doing this work off the main thread can potentially avoid blocking other work. To take advantage of this, GTK calls pango_cairo_font_map_get_default() early to initiate the creation of a fontmap, thereby triggering the FcInit() call.
* Move FcFontMatch and FcFontSort calls to a threadMatthias Clasen2021-02-221-35/+152
| | | | | | | | | | fontconfig is thread-safe, so we can do calls that can take several milliseconds to complete in a thread. This patch does that for FcFontSetMatch and FcFontSetSort. It is a win, at least for FcFontSetSort, since it reduces the time that the main thread spends in pango_fc_patterns_get_font_pattern for i > 0 from around 10 to 6 milliseconds.
* Use FcFontSetList instead of FcFontListMatthias Clasen2021-02-221-5/+6
| | | | | | | We have filtered-by-format lists of fonts available now, so we should use them to ensure we always operate on the same set of fonts. Also, fix another case of passing NULL for the config.
* fc: Only do filtering by format onceMatthias Clasen2021-02-221-23/+58
| | | | | | The fontconfig configuration changes rarely, so we can avoid unnecessary work by only doing the filtering by supported formats once, and keeping the result.
* Merge branch 'fix-FcConfig-uses' into 'master'Matthias Clasen2021-02-221-2/+2
|\ | | | | | | | | Fix FcConfig uses See merge request GNOME/pango!288
| * Use the right FcConfig for FcFontListfix-FcConfig-usesMatthias Clasen2021-02-221-1/+1
| | | | | | | | | | | | | | | | | | Passing NULL for a config argument in a fontconfig api means we are using the default configuration, which may be different from the one the fontmap is supposed to be using. Fix an instance of this in pango_fc_face_list_sizes.
| * Use the right FcConfig for FcRenderPrepareMatthias Clasen2021-02-221-1/+1
|/ | | | | | | | | Passing NULL for a config argument in a fontconfig api means we are using the default configuration, which may be different from the one the fontmap is supposed to be using. Fix an instance of this in pango_fc_fontset_load_next_font.
* Merge branch 'ci-fixes' into 'master'Matthias Clasen2021-02-165-9/+12
|\ | | | | | | | | Ci fixes See merge request GNOME/pango!286
| * ci: ignore leaks in libxml2ci-fixesMatthias Clasen2021-02-161-0/+1
| |
| * Try to fix thai break testcaseMatthias Clasen2021-02-162-7/+6
| | | | | | | | | | Remove the dashes that cause the runs to break, and seem to be causing issues on both Debian and newer Fedora.
| * ci: Use the new Fedora imageMatthias Clasen2021-02-161-1/+1
| |
| * ci: Update Fedora imageMatthias Clasen2021-02-161-1/+4
|/ | | | | Switch to Fedora 33, and add the few extra python packages that gi-docgen needs.
* Merge branch 'gir-fixes' into 'master'Matthias Clasen2021-02-162-7/+9
|\ | | | | | | | | Gir fixes See merge request GNOME/pango!285
| * Leave pango-version-macros.h out of the girgir-fixesMatthias Clasen2021-02-151-2/+3
| | | | | | | | | | PANGO_VERSION_MIN_REQUIRED is a build utility, and is not useful as a constant in the gir. Leave it out.
| * Include version macros in the girMatthias Clasen2021-02-151-2/+2
| | | | | | | | | | PANGO_MAJOR/MINOR/MICRO_VERSION are useful to have in the gir.
| * Trick g-ir-scanner some moreMatthias Clasen2021-02-151-2/+2
| | | | | | | | | | Add casts to get some defined constants to have the right type in the gir. The games we play...
| * Trick g-ir-scannerMatthias Clasen2021-02-151-3/+4
| | | | | | | | | | | | | | | | | | g-ir-scanner's handling of #defines is really rudimentary, so we have to trick it to pick up PANGO_ATTR_TO_TEXT_END as a constant with value 0, and then override the value with an annotation. See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/369
| * Revert "ci: Temporarily disable macOS CI job as runner is offline"Matthias Clasen2021-02-121-3/+1
| | | | | | | | | | | | This reverts commit 59cdceff9c28aa344c04c24e42254e347ac67363. The macOS runner is back.
* | Merge branch 'macos-ci2' into 'master'Matthias Clasen2021-02-121-4/+1
|\ \ | |/ |/| | | | | Revert "ci: Temporarily disable macOS CI job as runner is offline" See merge request GNOME/pango!284
| * ci: Don't modify PATHmacos-ci2Bartłomiej Piotrowski2021-02-121-1/+0
| | | | | | | | | | The reprovisioned runner has Python 3.9 installed and includes required change in its bash_profile.
| * Revert "ci: Temporarily disable macOS CI job as runner is offline"Matthias Clasen2021-02-111-3/+1
| | | | | | | | | | | | This reverts commit 59cdceff9c28aa344c04c24e42254e347ac67363. The macOS runner is back.
* | Merge branch 'docs-tweak' into 'master'Matthias Clasen2021-02-122-4/+2
|\ \ | |/ |/| | | | | docs: Remove references to gdk_pango_context_get_for_screen See merge request GNOME/pango!283
| * docs: Remove references to gdk_pango_context_get_for_screendocs-tweakMatthias Clasen2021-02-112-4/+2
|/ | | | Remove references to a function that no longer exists in gtk.
* Merge branch 'disable-macos-ci' into 'master'Matthias Clasen2021-02-111-1/+3
|\ | | | | | | | | ci: Temporarily disable macOS CI job as runner is offline See merge request GNOME/pango!282
| * ci: Temporarily disable macOS CI job as runner is offlinedisable-macos-ciMatthias Clasen2021-02-101-1/+3
|/ | | | See https://gitlab.gnome.org/Infrastructure/GitLab/-/issues/495
* 1.48.21.48.2Matthias Clasen2021-02-101-1/+1
|
* UpdatesMatthias Clasen2021-01-251-0/+8
|
* Merge branch 'fix-font-roundtrip' into 'master'Matthias Clasen2021-01-243-3/+90
|\ | | | | | | | | | | | | Fix font roundtrip Closes #530 See merge request GNOME/pango!280
| * tests: Add tests for pango_font_describefix-font-roundtripMatthias Clasen2021-01-242-1/+72
| | | | | | | | | | | | | | | | | | Test that round-tripping through pango_font_describe works. This is currently broken for scalable bitmap fonts, such as color Emoji fonts. We skip the test on OS X where we are most likely missing the fonts.
| * Fix pango_font_describe for Emoji fontsMatthias Clasen2021-01-241-1/+18
| | | | | | | | | | | | | | | | | | | | | | We are using the size from the FcPattern. For scalable bitmap fonts, this has been scaled to match the requested pixel size. To make a font description that can be turned back into a FcPattern and roundtrip successfully, we need to undo that scaling. Thankfully, fontconfig leaves the pixelsizefixupfactor in the pattern, so it is easy to do. Fixes: #530
| * tests: Fix an errant unrefMatthias Clasen2021-01-241-1/+0
|/ | | | pango_cairo_font_map_get_default is transfer none.
* Merge branch 'fix-test-output' into 'master'Matthias Clasen2021-01-241-5/+10
|\ | | | | | | | | | | | | tests: Avoid locale dependency Closes #474 See merge request GNOME/pango!279
| * tests: Avoid locale dependencyfix-test-outputMatthias Clasen2021-01-231-5/+10
|/ | | | | | | When producing output, use the C locale for formatting floating point numbers, to avoid locale dependent output. Fixes: #474
* Add a valgrind suppression fileMatthias Clasen2021-01-231-0/+86
| | | | | | Suggested by Philip Withnall. Fixes: #415
* Merge branch 'attr-list-overflow' into 'master'Matthias Clasen2021-01-241-1/+8
|\ | | | | | | | | | | | | Attr list overflow Closes #455 See merge request GNOME/pango!278
| * Avoid overflow when updating attr listsattr-list-overflowMatthias Clasen2021-01-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | Avoid overflow when updating the end_index of attributes in pango_attr_list_update. This is a real risk, because end_index is commonly set to G_MAXUINT to mean 'until the very end'. Test included. Fixes: #455
| * Add some preconditionsMatthias Clasen2021-01-231-0/+4
| | | | | | | | | | The arguments to pango_attr_list_update are ints, but negative numbers don't make sense here.
* | Merge branch 'fix-test-leak' into 'master'Matthias Clasen2021-01-233-2/+2
|\ \ | |/ | | | | | | Fix test leak See merge request GNOME/pango!276
| * ci: Make asan build must-passfix-test-leakMatthias Clasen2021-01-231-1/+0
| | | | | | | | We have a green check there, lets keep it that way.
| * tests: Plug a memory leakMatthias Clasen2021-01-231-0/+1
| | | | | | | | | | We just plugged all the memory leaks in tests, lets not introduce new ones.
| * ci: Don't print asan suppressionsMatthias Clasen2021-01-231-1/+1
| | | | | | | | | | That breaks the tests, and misses the point of suppressing these leaks in the first place.
* | Merge branch 'font-face-fixes' into 'master'Matthias Clasen2021-01-232-4/+3
|\ \ | |/ |/| | | | | | | | | Font face fixes Closes #494 and #528 See merge request GNOME/pango!277
| * tests: Don't assert too muchfont-face-fixesMatthias Clasen2021-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | We can't guarantee uniqueness of face names, so we don't know that getting a face by name will return the same face we got the name from (which is true if faces are unique). So, just assert that we get a face with the same name. Fixes: #494
| * Don't promise too muchMatthias Clasen2021-01-231-3/+2
|/ | | | | | | | The docs were claiming that face names are unique, but we don't know that, and it doesn't hold in practice. Fixes: #528
* 1.48.11.48.1Matthias Clasen2021-01-212-1/+11
|
* Merge branch 'vertical' into 'master'Matthias Clasen2021-01-211-3/+6
|\ | | | | | | | | | | | | Translate origin point for vertical layout Closes #454 See merge request GNOME/pango!168
| * Translate origin point for vertical layoutPeng Wu2021-01-201-3/+6
| | | | | | | | | | The origin point for vertical layout needs to be translated for cairo rendering from the horizontal origin to the vertical origin.
* | Merge branch 'fix' into 'master'Matthias Clasen2021-01-212-1/+15
|\ \ | |/ |/| | | | | | | | | Fix the length checking Closes #526 See merge request GNOME/pango!273
| * Fix the length checkingWeng Xuetian2021-01-142-1/+15
| | | | | | | | Closes #526