| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
GTK calls pango_context_get_metrics() frequently to
determine character widths and alignments, and does not
expect this to involve expensive layout operations.
|
|
|
|
| |
All these were pointed out by gi-docgen warnings.
|
|
|
|
| |
Add summaries to doc comments, etc.
|
|
|
|
| |
Replace gtk-doc'isms and use gi-docgen links instead.
|
| |
|
|
|
|
|
| |
Doing this makes g-ir-scanner pick up the long description,
which is more useful than the struct docs.
|
|
|
|
| |
Remove references to a function that no longer exists in gtk.
|
|
|
|
| |
Closes #526
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
We're assigning EMBEDDING_CHANGED to state->changed in
update_embedding_end(). At that point state->changed is uninitialized,
but that doesn't matter since we later override the value anyway.
Just pull the initialization to earlier in that function, which assigns
EMBEDDING_CHANGED anyway, so doesn't change anything.
|
|
|
|
|
|
|
| |
The G_TYPE_UNICODE_STRING type was added in 2.60, which broke
applications using older glib versions (such as matlab).
The only usecase was a warning message anyway, so we just
avoid using it.
|
|
|
|
|
|
|
|
|
|
|
| |
This is a global option, similar in spirit to
font options, so it makes sense to keep it in
PangoContext.
Default to rounding glyph positions, which preserves
the pre-1.44 behavior and should help cure all
the 'broken' font rendering with older cairo
versions.
|
| |
|
|
|
|
| |
This field is unused now.
|
| |
|
|
|
|
|
|
| |
PangoContext has somewhat redundant code to create
metrics, which wasn't treating the new height member
like it should.
|
| |
|
| |
|
|
|
|
|
| |
We already had a has_char api in pangofc,
so use that name.
|
|
|
|
| |
This replaces all uses of _pango_engine_shape_covers.
|
|\
| |
| |
| |
| | |
itemize: Don't change font for line separator
See merge request GNOME/pango!71
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we render this (in single-paragraph mode), we
draw a hex box, so changing font just for the line
separator is never useful, and in fact, counterproductive
in cases where the font has a (typically empty) glyph
for it.
This fixes the [LS] or [PS] hex boxes not showing up
in single-paragraph mode depending on font fallback.
|
|/
|
|
|
| |
Drop all internal use of language engines.
The lang_engine field in PangoAnalysis is now unused.
|
|
|
|
|
|
|
| |
Abolish the PANGO_ENABLE_BACKEND and PANGO_ENABLE_ENGINE
defines. All backend-only apis are moved into private
headers, all apis that were engine-only are marked as
deprecated, since engines are.
|
|
|
|
|
|
| |
We were using the enum nicks in on place.
Use GUnicodeScript instead, since that is getting
updated for newer Unicode versions.
|
|
|
| |
This reverts commit 3e754defc364a89b2136894399b3463976840156
|
|
|
|
|
|
|
|
|
| |
This commit replaces the PangoScript enum by a
typedef to GUnicodeScript, and preserves the old
enum values as defines.
This depends on adding an enum type for GUnicodeScript
in gobject.
|
|\
| |
| |
| |
| |
| |
| | |
Issue #322 - Vertical text doesn't fall back to rotated versions of horizontal glyphs when necessary
Closes #322
See merge request GNOME/pango!28
|
| |
| |
| |
| |
| |
| |
| | |
...of horizontal glyphs when necessary
Implemented UAX#50 to determine whether characters rotate or not
in vertical layout.
|
|/
|
|
|
|
|
| |
Make it clear that all text input must be valid UTF-8,
except in the case pango_layout_set_text, which we now
officially document as accepting and handling invalid
input.
|
|
|
|
| |
Patch from Harioum Pratap Singh.
|
|
|
|
| |
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=785566
|
|
|
|
|
|
|
|
|
|
|
| |
Checked several emoji sequences, the sequence pattern is
like follows:
1. Use zero width joiner to combine two characters with
any width
2. Ignore the width of variation selector, tag and emoji modifier
for the purposes of finding a run or uniform-width characters.
https://bugzilla.gnome.org/show_bug.cgi?id=780669
|
|
|
|
|
| |
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=781123
Patch from Takao Fujiwara.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are a few code paths where pango_utf8_strwidth() is called on
language-specific sample text. The sample text should have been chosen
to never have a zero width, but we should add some assertions to ensure
that’s the case. This guides static analysers into the right analysis.
Coverity IDs: 1391697, 1391698, 1391699
Signed-off-by: Philip Withnall <withnall@endlessm.com>
https://bugzilla.gnome.org/show_bug.cgi?id=778602
|
|
|
|
|
| |
Now that we're using new-style deprecations, we have to fight
a little harder to get rid of them inside pango.
|
|
|
|
|
| |
Unicode says: "U+1680 ogham space mark is unusual in that it is generally
rendered with a visible horizontal line, rather than being blank."
|
|
|
|
|
| |
Avoid determining the Unicode type repeatedly. Instead,
just get the type once and filter out the classes we want.
|
|
|
|
|
|
|
| |
This should complete the kill-modules effort. What is left is leftover
removal and unbreaking stuff.
Bug 733882 - Kill Pango modules, engines, and config files
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now shaper is discovered via (previously unused!) font->find_shaper().
I'm keeping that just to allow clients override shaping. Though,
even that I'm not sure we want to keep.
Wraps shaper in PangoEngineShape structs to keep PangoAnalysis API
intact.
Deprecated pango-modules.h and some pango-engine.h. Language modules
are not moved yet.
Wired up PangoFc, PangoWin32, and PangoCoretext shapers.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=731022
|
|
|
|
| |
https://github.com/GNOME/pango/commit/61aeba6257ec7691a7a5222fb69aec3cc042435b#commitcomment-7215250
|
|
|
|
|
|
|
| |
See comments.
Bug 705727 - Incorrect rendering w/ Hangul syllable composition GSUB
https://bugzilla.gnome.org/show_bug.cgi?id=705727
|
|
|
|
| |
Patch from Rafał Mużyło.
|
|
|
|
| |
Patch from Akira TAGOH.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Back in the days we used to always use the font from surrounding runs
for any space characters. I changed that when I found that rendering
MathML results in hexboxes when a font doesn't have the space characters
needed...
Forward to these days: HarfBuzz will silently compatibility-decompose
any space character to the ASCII space. And looks like it's important
for Mongolian to not break runs around NNBSP. As such, go back to never
choosing a font just for space characters.
Seems to work, though more testing is needed.
Bug 701652 - wrong shaped classic Mongolian word suffixes
|
|
|
|
|
|
|
| |
If we are in fallback mode, with a font that has to space glyph, then
looking up engine/font for any character not in the font was failing
badly. In that case, if there's only one engine (which is the case
these days), just choose it.
|
|
|
|
|
|
|
|
|
| |
We track changes in the PangoContext and automatically call
pango_layout_context_changed() when needed, plus we track
changes in the layout and let apps know via pango_layout_get_serial
when the layout changed and needs to be redrawn.
https://bugzilla.gnome.org/show_bug.cgi?id=340066
|