| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| |
| |
| | |
Take font matrix into account
See merge request GNOME/pango!107
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
When setting up the scale of the hb_font_t, we need
to take both the pango ctm and the font matrix into
account - this used to come for free when we were
calling into cairo for getting glyph metrics. Now,
we use harfbuzz for glyph metrics, so we need to
give it the proper scale info.
The symptom of this was Emoji getting an enormous
width. Curiously, cairo would still render them
at the expected size.
|
|
|
|
|
| |
It used to be Requires.private, but we expose
harfbuzz types in public headers now.
|
|
|
|
|
|
| |
The correct include is without harfbuzz/.
Closes: https://gitlab.gnome.org/GNOME/pango/issues/387
|
|
|
|
|
| |
Until we move harfbuzz from Requires.private to Requires,
public headers should include harfbuzz/hb.h.
|
|\
| |
| |
| |
| | |
meson: fix darwin_versions
See merge request GNOME/pango!105
|
| |
| |
| |
| | |
The darwin_versions argument should take into account the interface_age
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We were inserting hyphens after spaces, and in
some other places where they are not desirable.
Fix this by looking at the characters on both
sides of the break when deciding whether to
insert a hyphen.
|
| |
| |
| |
| |
| | |
We were forgetting to copy allow-break attributes,
causing them to be prematurely freed. Oops.
|
|/ |
|
|\
| |
| |
| |
| | |
Pangowin32 more harfbuzz
See merge request GNOME/pango!103
|
|/
|
|
|
| |
Use hb_font_get_nominal_glyph in pango_win32_font_get_glyph_index
(deprecated), to better match what Pango is actually using internally.
|
|
|
|
| |
https://gitlab.gnome.org/GNOME/pango/issues/383
|
|\
| |
| |
| |
| | |
Variation coords
See merge request GNOME/pango!102
|
| |
| |
| |
| |
| | |
We need to call hb_font_set_var_coords,
otherwise the hb_font_t has no coords.
|
| |
| |
| |
| |
| | |
This is not perfect; we really need harfbuzz api
to get design coords of a hb_font_t.
|
| | |
|
|\ \
| |/
|/|
| |
| | |
PangoWin32: Improve thread safety
See merge request GNOME/pango!98
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make font discovery using GDI/Unicscribe on Windows thread-safe, by:
-Making the alias HashTable a part of the _PangoWin32FontMap struct, so
that we only need to initialize this once when we initialize the
PangoFontMap on Win32. Make sure that we fill in that hash table with
the fonts items we ask from the system once and only once as we
initialize the PangoWin32FontMap.
-Make the warned_fonts HashTable a part of the _PangoWin32FontMap struct
as well, and create the HashTable when we init the PangoWin32FontMap.
-Make the access to the common HDC in pangowin32.c where Alex mentioned
that could be thread-unsafe done through pango_win32_get_dc().
At this point the test-pangocairo-threads will pass in Meson, tested for
20 successive rounds using 'meson test test-pangocairo-threads'. Note
that we still get the
"Pango-WARNING **:hh:mm:ss.sss: All font fallbacks failed!!!", but at
least we are doing much better on PangoWin32 in terms of thread-safety.
|
| |
| |
| |
| | |
We don't need this anymore since we need Vista or later to run.
|
| |
| |
| |
| | |
Get rid of the tabs...
|
|\ \ |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make font discovery using GDI/Unicscribe on Windows thread-safe, by:
-Making the alias HashTable a part of the _PangoWin32FontMap struct, so
that we only need to initialize this once when we initialize the
PangoFontMap on Win32. Make sure that we fill in that hash table with
the fonts items we ask from the system once and only once as we
initialize the PangoWin32FontMap.
-Make the warned_fonts HashTable a part of the _PangoWin32FontMap struct
as well, and create the HashTable when we init the PangoWin32FontMap.
-Make the access to the common HDC in pangowin32.c where Alex mentioned
that could be thread-unsafe done through pango_win32_get_dc().
At this point the test-pangocairo-threads will pass in Meson, tested for
20 successive rounds using 'meson test test-pangocairo-threads'. Note
that we still get the
"Pango-WARNING **:hh:mm:ss.sss: All font fallbacks failed!!!", but at
least we are doing much better on PangoWin32 in terms of thread-safety.
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
Make things visible
See merge request GNOME/pango!69
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of a [SPC] hex box, just render a
centered dot, as is commonly used to indicate
space. Also render synthetic glyphs for tabs
and newlines.
This makes single-paragraph mode prettier.
|
| | |
| | |
| | |
| | |
| | |
| | | |
For ignorable characters such as U+00AD, Soft Hyphen,
render a hex box with their 'nickname', which is a
2-6 character short form such as SHY.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This returns nicknames and formatting information
for default ignorable characters. This will be
used to render customized hex boxes for these
characters.
|
| | |
| | |
| | |
| | |
| | |
| | | |
For this, we pull the show attribute out of the analysis
and pass the flags on to harfbuzz font funcs, so we can
select different glyphs and give them the right extent.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't zero out a line separator at the end of line
if we turned it into an unknown glyph to render
it.
And if we zero out whitespace at the end of the line,
make sure we don't draw anything there by setting
the glyph to EMPTY.
Without this, we are getting the [LS] hex box
rendered on top of the last character in a line,
when the line separator ends up being visible.
|
| | |
| | |
| | |
| | |
| | |
| | | |
When the 'show space' attribute is present,
arrange for tab characters to be passed on
to the rendering layer as non-empty.
|
| | |
| | |
| | |
| | |
| | | |
Use an attribute to show line breaks in
single-paragraph mode.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Add markup support for show="space|ignorables".
|
| | |
| | |
| | |
| | |
| | | |
Allow to opt-in to showing spaces, line breaks,
and default-ignorable chars, separately.
|
|/ /
| |
| |
| |
| | |
We are about to add an attribute whose values
are flags.
|
| | |
|
|\ \
| |/
|/|
| |
| | |
PangoWin32: some cleanups
See merge request GNOME/pango!101
|
| |
| |
| |
| | |
We don't need this anymore since we need Vista or later to run.
|
|/
|
|
| |
Get rid of the tabs...
|
|
|
|
|
| |
We can't do without anymore, so report a clear
error if harfbuzz is not found.
|
|\
| |
| |
| |
| | |
Flip the logic for attribute filtering
See merge request GNOME/pango!100
|
| |
| |
| |
| |
| | |
Use the same logic as PangoLayout for
filtering attributes.
|
| |
| |
| |
| |
| |
| |
| | |
Use the same logic as PangoLayout for
filtering attributes.
Update expected output to match.
|
| |
| |
| |
| |
| |
| |
| | |
Test that a change of foreground color does
not interrupt a run of Arabict text.
Taken from https://gitlab.gnome.org/GNOME/pango/issues/28
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of filtering out the attributes we don't
want to influence itemization, explicitly filter
only those attributes that we want to affect itemization.
This makes us no longer break items for custom
attributes, such as GtkTextAppearance attributes
that are created by GtkTextLayout.
Update expected output for layout testcases.
|