summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'introspection' into 'master'cherry-pick-c64f4835Matthias Clasen2020-09-303-4/+6
| | | | | | | | | meson: Change introspection option to yielding feature See merge request GNOME/pango!247 (cherry picked from commit c64f48351e57a58f4f355116efd2230d83c458c0) 82cfabba meson: Change introspection option to yielding feature
* Revert "meson: Change introspection option to yielding feature"Matthias Clasen2020-09-303-6/+4
| | | | | | | This reverts commit 82cfabbabaade239beb26136cb28c98156552ea5. This change broke GTK ci, and it takes more work to fix it than I can invest atm. We can try again when GTK is ready for it.
* Merge branch 'ebassi/for-master' into 'master'Matthias Clasen2020-09-304-4/+7
|\ | | | | | | | | Ebassi/for master See merge request GNOME/pango!251
| * build: Remove deprecated python3 Meson module useEmmanuele Bassi2020-09-303-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | We are using the deprecated python3 module for historical reasons. We used to support both Python 2 and Python 3 in the Autotools build, but since we switched to Meson we *know* we have Python 3 available. This allows us to use a shebang line in the Python scripts we use in the build, instead of invoking them through the Python interpreter in a custom target; Meson knows how to handle shebangs portably as well. This change removes the only deprecation warning coming from Meson when configuring the Pango build.
| * Skip a pangofc accessorEmmanuele Bassi2020-09-301-1/+1
|/ | | | | | The handwritten fontconfig introspection data does not cover all types, and even if it did, it wouldn't know how to handle their ownership because fontconfig is not a GObject-based API.
* Merge branch 'meson-cairo-fallback' into 'master'Nirbheek Chauhan2020-09-301-1/+1
|\ | | | | | | | | meson: Fix cairo fallback See merge request GNOME/pango!249
| * meson: Fix cairo fallbackXavier Claessens2020-09-291-1/+1
| | | | | | | | | | | | When building with -Dcairo=enabled the first dependency('cairo', ...) call was aborting instead of returning not-found and continue with msvc checks and then again dependency() check with a fallback set.
* | Merge branch 'introspection' into 'master'Matthias Clasen2020-09-303-4/+6
|\ \ | | | | | | | | | | | | meson: Change introspection option to yielding feature See merge request GNOME/pango!247
| * | meson: Change introspection option to yielding featureXavier Claessens2020-09-293-4/+6
| |/ | | | | | | | | | | | | Yielding option means that if pango is built as a subproject, it will take the value of that option from the parent project (e.g. gst-build). For that to work it must be of the same type, which is "feature" instead of "boolean" in all GStreamer modules.
* | 1.47.01.47.0Matthias Clasen2020-09-291-0/+6
| |
* | Fix the release scriptMatthias Clasen2020-09-291-1/+1
|/ | | | | It was putting extra path components into the docs tarball contents.
* Merge branch 'font-pattern-getter' into 'master'Matthias Clasen2020-09-214-0/+49
|\ | | | | | | | | Font pattern getter See merge request GNOME/pango!245
| * fc: Add a getter for PangoFcFont::patternfont-pattern-getterMatthias Clasen2020-09-213-0/+21
| | | | | | | | Properties are better with getters.
| * fc: Sort faces of a familysort-facesMatthias Clasen2020-09-211-0/+28
|/ | | | | | Make pango_font_family_list_faces() return faces sorted by slant and weight. This makes the font chooser look much less random.
* Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2020-09-185-11/+11
|\ | | | | | | | | Matthiasc/for master See merge request GNOME/pango!243
| * utils: Don't use deprecated apiMatthias Clasen2020-09-182-3/+3
| | | | | | | | | | Port pango-viewer to use the new pango_fc_font_map_set_default_substitute.
| * Adapt deprecationsMatthias Clasen2020-09-183-8/+8
|/ | | | | Move things around to reflect the fact that we are now in 1.47, and use our deprecation macros.
* Merge branch 'ch/83' into 'master'Matthias Clasen2020-09-189-64/+118
|\ | | | | | | | | | | | | Add pango_fc_font_map_set_default_substitute Closes #83 See merge request GNOME/pango!191
| * add pango_fc_font_map_set_default_substituteCaleb Hearon2020-06-139-60/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added: pango_fc_font_map_set_default_substitute pango_fc_font_map_default_substitute_changed deprecated: pango_ft2_font_map_set_default_substitute pango_ft2_font_map_changed pango_xft_font_map_set_default_substitute pango_xft_font_map_changed Now PangoCairoFcFontMap will call what is passed to pango_fc_font_map_set_default_substitute when it is time. The deprecated functions make calls to the parent (FC) class now. The user-supplied callbacks are executed in the exact same places as before.
| * single function type for FC substitute callbackCaleb Hearon2020-06-134-4/+14
| |
* | Merge branch 'preferred-languages' into 'master'Matthias Clasen2020-09-189-6/+156
|\ \ | | | | | | | | | | | | Preferred languages See merge request GNOME/pango!232
| * | pangofc: Add pango_fc_font_get_languagespreferred-languagesMatthias Clasen2020-09-185-1/+95
| | | | | | | | | | | | | | | | | | | | | This really belongs into PangoFont, but we're out of room in the PangoFontClass struct for vfuncs, so this will have to remain backend-specific functionality for now.
| * | Add pango_language_get_preferredMatthias Clasen2020-09-183-4/+36
| | | | | | | | | | | | | | | | | | This returns the list of preferred languages, as determined from the PANGO_LANGUAGES or LANGUAGES environment variables.
| * | Bump version to 1.47Matthias Clasen2020-09-181-1/+1
| | | | | | | | | | | | We are going to add new API.
| * | Add 1.48 version macrosMatthias Clasen2020-09-181-0/+24
|/ /
* | 1.46.21.46.2Matthias Clasen2020-09-182-1/+12
| |
* | Add a release scriptMatthias Clasen2020-09-181-0/+28
| | | | | | | | | | This script handles both the main source tarball as well as the docs one.
* | Merge branch 'fix-keycap-sequences' into 'master'Matthias Clasen2020-09-183-5/+38
|\ \ | | | | | | | | | | | | | | | | | | Fix handling of keycap sequences Closes #502 See merge request GNOME/pango!241
| * | Add a test for keycap sequencesfix-keycap-sequencesMatthias Clasen2020-09-172-0/+27
| | | | | | | | | | | | | | | This tests that we are not breaking items up in the middle of a keycap sequence.
| * | Fix handling of keycap sequencesMatthias Clasen2020-09-171-5/+11
|/ / | | | | | | | | | | | | | | | | | | | | | | The last character of Emoji keycap sequences, 0x20E3, has a vertical orientation of U, according to Unicode. This unfortunately makes the width iter frequently break such sequences into multiple items, preventing them from being rendered as expected. Fix this by ignoring width changes inside Emoji sequences. Fixes: #502
* | Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2020-09-173-5/+7
|\ \ | | | | | | | | | | | | misc fixes See merge request GNOME/pango!242
| * | Make test-layout work for generating data againMatthias Clasen2020-09-171-3/+8
| | | | | | | | | | | | This was broken in f6032b754fd76ebbf0ae6.
| * | Fix a cast-align warningMatthias Clasen2020-09-171-1/+1
| | | | | | | | | | | | | | | clang doesn't know that this is fine, and complains. So help it out.
| * | Small const correctness fixMatthias Clasen2020-09-171-1/+1
| | | | | | | | | | | | | | | | | | | | | clang complains that initializing 'FcPattern *' (aka 'struct _FcPattern *') with an expression of type 'const FcPattern *' (aka 'const struct _FcPattern *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] FcPattern *pattern = pango_fc_font_key_get_pattern (key);
* | | Merge branch 'optional-dependencies' into 'master'Matthias Clasen2020-09-172-10/+22
|\ \ \ | | | | | | | | | | | | | | | | Make dependencies to fontconfig and freetype optional and explicit. See merge request GNOME/pango!239
| * | | Make dependencies to fontconfig and freetype optional and explicit.Niklas Guertler2020-09-142-10/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added meson features for explicitly enabling or disabling the dependencies freetype and fontconfig such that they won't be used even if present on the system. The meson option use_fontconfig was changed to fontconfig with these possible values: * 'enabled' (equivalent to old use_fontconfig=true) * 'auto' (equivalent to old use_fontconfig=false) * 'disabled' (equivalent to old use_fontconfig=false AND report an error if fontconfig is required on this system).
* | | | Merge branch 'fix-nested-attributes' into 'master'Matthias Clasen2020-09-172-11/+95
|\ \ \ \ | |/ / / |/| / / | |/ / | | | Fix attr iterators with overlapping attributes See merge request GNOME/pango!240
| * | Fix attr iterators with overlapping attributesfix-nested-attributesMatthias Clasen2020-09-172-11/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This broke when PangoAttrIterator was changed to use an array for the stack of current attributes, in dec6c0868ef2c36. We were not always walking the array in the right order. The first attribute to check is at the *end* of the array. This showed up as misrendering in epsilon_0 example in gtk3-demo's text view markup demo. Test included.
* | | Merge branch 'offsetfix' into 'master'Matthias Clasen2020-09-121-2/+6
|\ \ \ | | | | | | | | | | | | | | | | Let get_items_log_attrs take the start-of-text offset into account See merge request GNOME/pango!236
| * | | Let get_items_log_attrs take the start-of-text offset into accountStephan Bergmann2020-09-101-2/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...when interpreting item->offset values. I ran into this when executing tests of recent LibreOffice master with ASan on Fedora 32 (with pango-1.44.7-2.fc32.x86_64), where one of the tests renders various dialogs with a Tamil localization and failed with > ==97247==ERROR: AddressSanitizer: SEGV on unknown address 0x60b000210006 (pc 0x7fd6c5b22b54 bp 0x61d0004b4150 sp 0x7fff107a0d18 T0) > ==97247==The signal is caused by a READ memory access. > #0 in g_utf8_get_char at ../glib/gutf8.c:319:37 (/lib64/libglib-2.0.so.0 +0x85b54) > #1 in break_indic at ../pango/break-indic.c:119:17 (/lib64/libpango-1.0.so.0 +0x1076d) > #2 in break_script at ../pango/break.c:1896:7 (/lib64/libpango-1.0.so.0 +0x1076d) > #3 in tailor_break at ../pango/break.c:1606:9 (/lib64/libpango-1.0.so.0 +0x147db) > #4 in pango_tailor_break at ../pango/break.c:1774:7 (/lib64/libpango-1.0.so.0 +0x147db) > #5 in get_items_log_attrs at ../pango/pango-layout.c:4032:7 (/lib64/libpango-1.0.so.0 +0x2729c) > #6 in pango_layout_check_lines at ../pango/pango-layout.c:4289:7 (/lib64/libpango-1.0.so.0 +0x2729c) > #7 in pango_layout_get_extents_internal at ../pango/pango-layout.c:2623:3 (/lib64/libpango-1.0.so.0 +0x29068) > #8 in gtk_label_get_measuring_layout at /usr/src/debug/gtk3-3.24.22-1.fc32.x86_64/gtk/gtklabel.c:3376:3 (/lib64/libgtk-3.so.0 +0x2454d0) [...] From some debugging, it smells like `pango_layout_check_lines` calls `pango_itemize_with_base_dir` to compute `state.items` that are relative to the beginning of `layout->text`, but then passes `state.items` together with the offset'ed `start` into `get_items_log_attrs`, so that the latter misinterpreted the items' locations relative to the offset'ed start. Just adding g_assert (item->offset <= length); g_assert (item->length <= length - item->offset); to the original `get_items_log_attrs` would make various tests in the `meson test` suite fail, but which pass again with the complete fix, matching the above speculation.
* | | Merge branch 'asan-fixes' into 'master'Matthias Clasen2020-09-125-8/+31
|\ \ \ | | | | | | | | | | | | | | | | Asan fixes See merge request GNOME/pango!238
| * | | tests: Fix some more memory errorsasan-fixesMatthias Clasen2020-09-121-5/+15
| | | | | | | | | | | | | | | | | | | | test-break was leaking memory in various places, in particular when tests are skipped.
| * | | tests: Fix memory leaksMatthias Clasen2020-09-123-3/+3
| | | | | | | | | | | | | | | | These were showing up as errors from lsan.
| * | | tests: Make test-layout work standaloneMatthias Clasen2020-09-121-0/+3
| | | | | | | | | | | | | | | | This broke when I recently reshuffled things.
| * | | ci: Suppress lsan leak warnings from dependenciesMatthias Clasen2020-09-122-0/+10
| | | |
* | | | Merge branch 'asan-ci' into 'master'Matthias Clasen2020-09-122-1/+31
|\ \ \ \ | |/ / / | | / / | |/ / |/| | ci: Add asan See merge request GNOME/pango!237
| * | ci: Let stages run in parallelasan-ciMatthias Clasen2020-09-121-0/+5
| | |
| * | ci: Add a test run under asanMatthias Clasen2020-09-121-1/+24
| | | | | | | | | | | | This is largely copied from what GTK does.
| * | ci: Add libasan and libubsan to the docker imageMatthias Clasen2020-09-121-0/+2
|/ / | | | | | | | | Make a v2 of the docker image that includes libasan, so we can add a ci step running the testsuite under asan.
* | Merge branch 'optional-dependencies' into 'master'Matthias Clasen2020-09-093-9/+21
|\ \ | | | | | | | | | | | | Make dependencies to libthai, cairo and xft optional. See merge request GNOME/pango!235