| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
[1.44] Cherry pick various upstream fixes
See merge request GNOME/pango!321
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make pango_font_family_list_faces() return faces
sorted by slant and weight. This makes the font
chooser look much less random.
(cherry-picked from commit 99f4661a)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 49b1f80a)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
(cherry-picked from commit 7db68865)
|
| |
| |
| |
| |
| |
| |
| |
| | |
When calling into FcConfig api, passing NULL means
"use the default config". But we may have a set config
that we should be using for all fontconfig calls.
(cherry-picked from commit da2e893b)
|
| |
| |
| |
| |
| |
| |
| |
| | |
We can do the format filtering on the unsorted
font lists. Sorting the same list twice may be
fast, but there's still some setup overhead.
(cherry-picked from commit c4ae4782)
|
| |
| |
| |
| |
| |
| |
| | |
We were needlessly duplicating patters when we
could have just referenced them.
(cherry-picked from commit e9703ea3)
|
| |
| |
| |
| |
| |
| | |
This test is reproducing the crash reported in #490.
(cherry-picked from commit c2c97330)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
You can call pango_layout_set_text() with a length that
is longer than the string (and there's code in the wild
that does that). We try to handle it by only looking at
the initial segment of the text, but we are forgetting
to set layout->length to the length of that segment,
leading us to access beyond the string end later.
This fixes #490
(cherry-picked from commit 6e04db81)
|
| |
| |
| |
| |
| |
| |
| | |
Fixes https://gitlab.gnome.org/GNOME/pango/-/issues/484 and
https://gitlab.gnome.org/GNOME/pango/-/issues/457
(cherry-picked from commit fe1ee773)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GTK 2 apparently manages to call pango_itemize_with_base_dir
with a non-zero length for a string that contains 0 characters.
That in turn causes pango_log2vis_get_embedding_levels to
return NULL, and things go downhill from there.
A test is included.
Fixes: #480
(cherry-picked from commit 279bd525)
|
| |
| |
| |
| |
| |
| | |
This verifies the fix in the previous commit.
(cherry-picked from commit 2751956b)
|
| |
| |
| |
| |
| |
| |
| | |
pango_layout_get_effective_attributes can return
NULL. But not all callers were handling that.
(cherry-picked from commit 1f06c915)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We need to check if height is zero before dividing by it.
For completeness, check width at the same time.
This was pointed out in
https://gitlab.gnome.org/GNOME/pango/-/merge_requests/167
(cherry-picked from commit dd867f41)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We need to apply the right shape flags to the tab width calculation,
otherwise (when glyph positions get rounded, which is the default) our
tab width will be slightly off from what 8 spaces normally produce.
https://gitlab.gnome.org/GNOME/pango/issues/425
(cherry-picked from commit c579c0a9)
|
| |
| |
| |
| |
| |
| |
| | |
This tests that we are not breaking items up
in the middle of a keycap sequence.
(cherry-picked from commit 6253c71b)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
(cherry-picked from commit b1718281)
|
| |
| |
| |
| | |
(cherry-picked from commit 9d76aa66)
|
| |
| |
| |
| | |
(cherry-picked from commit 145e3038)
|
| |
| |
| |
| | |
(cherry-picked from commit 23b6d06e)
|
| |
| |
| |
| | |
(cherry-picked from commit 2ac57751)
|
| |
| |
| |
| | |
(cherry-picked from commit 631775d8)
|
|/
|
|
|
|
| |
January 29, 2020)
(cherry-picked from commit 06aab353)
|
| |
|
|
|
|
|
|
|
| |
When shaping the ellipsis, use the same shape flags
we use for the rest of the layout, otherwise we end
up with subtle size differences between an ellipsized
text and a plain …
|
|
|
|
| |
Remove an unused function, and rename another.
|
|
|
|
|
| |
PangoFontsetSimple is used by the win32 fontmap
implementation, so deprecating it is impractical.
|
|\
| |
| |
| |
| |
| |
| | |
No shape attrs
Closes #426
See merge request GNOME/pango!153
|
| |
| |
| |
| | |
The change is a harmless change in attribute list ordering.
|
| |
| |
| |
| |
| |
| | |
Deal with the fact that underlines and strikethroughs
are not constant across items, since we do not break
runs for these properties.
|
| |
| |
| |
| |
| |
| |
| |
| | |
It doesn't make sense to apply kerning between letters
if they are not on the same baseline. This was not noticed
so far, since it is very uncommon to have a rise without
an accompanying font change, which will cause the run to
be broken.
|
| |
| |
| |
| |
| | |
We don't use ItemProperties in pango_layout_line_index_to_x
anymore, so no need to compute them either.
|
|/
|
|
|
|
|
|
|
| |
This is what we used to do, and without it, we
lose kerning beween underlined and non-underlined
characters, which is most noticable with mnemonic
underlines.
Fixes: https://gitlab.gnome.org/GNOME/pango/issues/426
|
|
|
|
|
| |
Apparently, people have fonts without formats,
so better don't assert, just silently skip those.
|
| |
|
|\
| |
| |
| |
| | |
emoji: Optimize tables
See merge request GNOME/pango!152
|
| |
| |
| |
| | |
This reverts commit 154c2db37bfecc2d1c4a09b975ab6972b63bc9a8.
|
| |
| |
| |
| |
| | |
One of the Emoji tables had many adjacent ranges.
Speed up our bsearch by merging them.
|
|\ \
| | |
| | |
| | |
| | | |
[coretext] make setting font gravity work
See merge request GNOME/pango!150
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Setting font gravity to anything other than PANGO_GRAVITY_SOUTH causes
no fonts to be matched on Core Text backend because the code for finding
best match checks for equal gravity between the requested font and the
fonts in the font set, and the later always have PANGO_GRAVITY_SOUTH.
Hack around this by copying the gravity from the requested font.
Can be tested with:
$ pango-view --gravity=east --rotate=-90 utils/test-chinese.txt
Currently without this change it gives:
(pango-view:2824): Pango-WARNING **: 10:59:18.683: couldn't load font "serif Rotated-Left 12", modified variant/weight/stretch as fallback, expect ugly output.
(pango-view:2824): Pango-ERROR **: 10:59:18.683: Could not load fallback font, bailing out.
Trace/BPT trap: 5
|
|\ \
| |/
|/|
| |
| |
| |
| | |
fc: Be robust against missing format information
Closes #431
See merge request GNOME/pango!151
|
|/
|
|
|
|
|
|
| |
Some people have been seeing this assertion getting
hit. So don't assert, simply skip fonts that don't
have format information.
Fixes: https://gitlab.gnome.org/GNOME/pango/issues/431
|