| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This allows projects that use pango as a subproject to not hardcode
dependency variable names such as 'libpangocairo_dep'.
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
Ebassi/for master
See merge request GNOME/pango!251
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
meson: Fix cairo fallback
See merge request GNOME/pango!249
|
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | | |
meson: Change introspection option to yielding feature
See merge request GNOME/pango!247
|
| |/
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
|
| |
It was putting extra path components into the
docs tarball contents.
|
|\
| |
| |
| |
| | |
Font pattern getter
See merge request GNOME/pango!245
|
| |
| |
| |
| | |
Properties are better with getters.
|
|/
|
|
|
|
| |
Make pango_font_family_list_faces() return faces
sorted by slant and weight. This makes the font
chooser look much less random.
|
|\
| |
| |
| |
| | |
Matthiasc/for master
See merge request GNOME/pango!243
|
| |
| |
| |
| |
| | |
Port pango-viewer to use the new
pango_fc_font_map_set_default_substitute.
|
|/
|
|
|
| |
Move things around to reflect the fact that we are now
in 1.47, and use our deprecation macros.
|
|\
| |
| |
| |
| |
| |
| | |
Add pango_fc_font_map_set_default_substitute
Closes #83
See merge request GNOME/pango!191
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
Preferred languages
See merge request GNOME/pango!232
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This returns the list of preferred languages, as
determined from the PANGO_LANGUAGES or LANGUAGES
environment variables.
|
| | |
| | |
| | |
| | | |
We are going to add new API.
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| | |
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.
|