| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
[1.46] Cherry pick various upstream fixes
See merge request GNOME/pango!322
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| | |
(cherry-picked from commit 3396cc20)
|
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| |
| | |
Closes #526
(cherry-picked from commit 0a816b49)
|
|/
|
|
|
|
|
| |
test-shape was using one of its attribute lists
after dropping the reference on it. Don't do that.
(cherry-picked from commit 17d8202d)
|
|
|
|
|
|
| |
Make pango_font_family_list_faces() return faces
sorted by slant and weight. This makes the font
chooser look much less random.
|
| |
|
|
|
|
|
| |
This script handles both the main source tarball
as well as the docs one.
|
|\
| |
| |
| |
| |
| |
| | |
Fix handling of keycap sequences
Closes #502
See merge request GNOME/pango!241
|
| |
| |
| |
| |
| | |
This tests that we are not breaking items up
in the middle of a keycap sequence.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| | |
misc fixes
See merge request GNOME/pango!242
|
| |
| |
| |
| | |
This was broken in f6032b754fd76ebbf0ae6.
|
| |
| |
| |
| |
| | |
clang doesn't know that this is fine, and complains.
So help it out.
|
| |
| |
| |
| |
| |
| |
| | |
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);
|
|\ \
| | |
| | |
| | |
| | | |
Make dependencies to fontconfig and freetype optional and explicit.
See merge request GNOME/pango!239
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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).
|
|\ \ \
| |/ /
|/| /
| |/
| | |
Fix attr iterators with overlapping attributes
See merge request GNOME/pango!240
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | | |
Let get_items_log_attrs take the start-of-text offset into account
See merge request GNOME/pango!236
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
...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.
|
|\ \
| | |
| | |
| | |
| | | |
Asan fixes
See merge request GNOME/pango!238
|
| | |
| | |
| | |
| | |
| | | |
test-break was leaking memory in various places,
in particular when tests are skipped.
|
| | |
| | |
| | |
| | | |
These were showing up as errors from lsan.
|
| | |
| | |
| | |
| | | |
This broke when I recently reshuffled things.
|
| | | |
|
|\ \ \
| |/ /
| | /
| |/
|/| |
ci: Add asan
See merge request GNOME/pango!237
|
| | |
|
| |
| |
| |
| | |
This is largely copied from what GTK does.
|
|/
|
|
|
| |
Make a v2 of the docker image that includes libasan,
so we can add a ci step running the testsuite under asan.
|
|\
| |
| |
| |
| | |
Make dependencies to libthai, cairo and xft optional.
See merge request GNOME/pango!235
|
|/
|
|
| |
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.
|
|\
| |
| |
| |
| | |
Add some more language sample texts
See merge request GNOME/pango!234
|
|/
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
Don't assert in pango_language_get_scripts
See merge request GNOME/pango!233
|
|/
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
Some Visual Studio-related fixes (GIT master)
See merge request GNOME/pango!231
|
| |
| |
| |
| |
| | |
There was a typo when we checked whether force-including it would be
supported. Fix that.
|
|/
|
|
| |
Declare variables at the top of the block...
|
|\
| |
| |
| |
| | |
remove leftover debug code
See merge request GNOME/pango!230
|
|/
|
|
|
| |
This #if snuck in as part of efa66e7b634050ef3.
No need to keep it around.
|
|\
| |
| |
| |
| | |
Cosmetic
See merge request GNOME/pango!228
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Fixes pango_win32_font_map_load_font when font contains fallback families
Closes #482
See merge request GNOME/pango!217
|
| | |
|
| | |
|