summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'pango-1-46' into 'pango-1-46'pango-1-46Matthias Clasen2021-05-099-41/+141
|\ | | | | | | | | [1.46] Cherry pick various upstream fixes See merge request GNOME/pango!322
| * Improve letterspacing with marksMatthias Clasen2021-05-051-1/+10
| | | | | | | | | | | | | | | | | | | | harfbuzz puts marks into their own clusters, so we need to work a little harder to keep non-spacing marks placed over their base character. Fixes: #541 (cherry-picked from commit fdc432bc)
| * markup: Fix two bugsMatthias Clasen2021-05-051-30/+20
| | | | | | | | | | | | | | | | | | | | | | | | The docs state that all chars marked with the accel marker get an underline. But we were only underlining the first in each text chunk. Second, if an underline appears at the end of a text chunk, or at the end of the text, we would just eat it, which is unexpected. (cherry-picked from commit 8d1ea2ae)
| * tests: Add tests for pango_font_describeMatthias Clasen2021-05-052-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. (cherry-picked from commit 49b1f80a834)
| * Fix pango_font_describe for Emoji fontsMatthias Clasen2021-05-051-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 (cherry-picked from commit bc973fdb)
| * Fix placement of marks in upright vertical text.Tavmjong Bah2021-05-052-8/+4
| | | | | | | | (cherry-picked from commit 3396cc20)
| * Translate origin point for vertical layoutPeng Wu2021-05-051-3/+6
| | | | | | | | | | | | | | The origin point for vertical layout needs to be translated for cairo rendering from the horizontal origin to the vertical origin. (cherry-picked from commit 4c6f0b3c)
| * Fix the length checkingWeng Xuetian2021-05-052-1/+15
| | | | | | | | | | | | Closes #526 (cherry-picked from commit 0a816b49)
| * tests: Don't free attributes prematurelyMatthias Clasen2021-05-051-2/+2
|/ | | | | | | test-shape was using one of its attribute lists after dropping the reference on it. Don't do that. (cherry-picked from commit 17d8202d)
* fc: Sort faces of a familyMatthias 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.
* 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
| * Make dependencies to libthai, cairo and xft optional.Niklas Guertler2020-09-093-9/+21
|/ | | | Added meson features for disabling the dependencies libthai, cairo and xft such that they won't be used even if present on the system. Changed meson dependencies for some tests accordingly.
* Merge branch 'more-sample-texts' into 'master'Matthias Clasen2020-09-081-1/+34
|\ | | | | | | | | Add some more language sample texts See merge request GNOME/pango!234
| * Add some more language sample textsmore-sample-textsMatthias Clasen2020-09-081-1/+34
|/ | | | | | Add sample texts for Khmer, Lao, Thaana, Sinhalese and Burmese, the first two are from GLASS, the last three are from the Wikipedia articles on these writing systems.
* Merge branch 'avoid-script-lang-crash' into 'master'Matthias Clasen2020-09-082-1/+16
|\ | | | | | | | | Don't assert in pango_language_get_scripts See merge request GNOME/pango!233
| * Don't assert in pango_language_get_scriptsavoid-script-lang-crashMatthias Clasen2020-09-082-1/+16
|/ | | | | | | | | | | The assertion in pango_language_get_scripts can actually be triggered since we last regenerated the pango_script_for_lang table. It now includes an entry for und-zsye which has no scripts. Handle this case without asserting. This commit includes a test.
* Merge branch 'master.prec99' into 'master'Khaled Hosny2020-08-272-2/+4
|\ | | | | | | | | Some Visual Studio-related fixes (GIT master) See merge request GNOME/pango!231
| * meson.build: Fix check for msvc_recommended_pragmas.hChun-wei Fan2020-08-261-1/+1
| | | | | | | | | | There was a typo when we checked whether force-including it would be supported. Fix that.
| * pangowin32-fontmap.c: Fix build on older compilersChun-wei Fan2020-08-261-1/+3
|/ | | | Declare variables at the top of the block...
* Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2020-08-231-2/+0
|\ | | | | | | | | remove leftover debug code See merge request GNOME/pango!230
| * Remove leftover debug codeMatthias Clasen2020-08-231-2/+0
|/ | | | | This #if snuck in as part of efa66e7b634050ef3. No need to keep it around.
* Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2020-08-221-2/+2
|\ | | | | | | | | Cosmetic See merge request GNOME/pango!228
| * CosmeticMatthias Clasen2020-08-211-2/+2
|/
* Merge branch 'issue-482' into 'master'Matthias Clasen2020-08-201-23/+28
|\ | | | | | | | | | | | | Fixes pango_win32_font_map_load_font when font contains fallback families Closes #482 See merge request GNOME/pango!217
| * Fixes pango_win32_font_map_load_font when font contains fallback familiesEvgenii Gurianov2020-08-041-23/+28
| |
* | 1.46.11.46.1Matthias Clasen2020-08-202-1/+6
| |