| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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
|
|
|
|
|
| |
We need to call hb_font_set_var_coords,
otherwise the hb_font_t has no coords.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
We don't need this anymore since we need Vista or later to run.
|
|
|
|
| |
Get rid of the tabs...
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
What I called no_break_attrs are really
no_itemize_attrs - some of them explicitly
influence line breaking. So fix the misleading
naming and call them what they are.
|
|
|
|
|
| |
These turned out to be used in a number of places,
so just deprecate them for now.
|
| |
|
|
|
|
| |
Clean up some headers, and shovel docs around.
|
| |
|
|\
| |
| |
| |
| | |
Better hyphens
See merge request GNOME/pango!89
|
| | |
|
| | |
|
| |
| |
| |
| | |
This is necessary to interpret the attributes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We implement this in pango_tailor_break(),
after the script-specific breaking.
When line breaks are forbidden in a range,
we remove line and char break opportunities
inside the range.
|
| |
| |
| |
| |
| | |
Add a new attribute type, and parse allow_breaks="false"
in markup. This is useful to prevent hyphenation of words.
|
| |
| |
| |
| |
| |
| | |
Without this, it is not possible to interpret
attributes, whose offsets are relative to the
beginning of the paragraph.
|
| |
| |
| |
| |
| |
| | |
Look for whether the char before the break
is not whitespace and doesn't look like a
hyphen.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead, reshape the pre-break run with the
soft hyphen replaced by an actual hyphen.
This is unfortunately inefficient, we copy
the entire text for this. The alternative
(scatter-gather populating the harfbuzz
buffer) is too hard to manage.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In f523c25c12c I changed the font fallback list from hardcoded to reading it from
the registry to cover all potentially default Windows UI fonts. Turns out that this
doesn't cover all of Unicode and breaks things like Marathi.
This adds back the language specific font fallbacks to each font read from the registry
to restore the old Unicode coverage.
Fixes #375
|
|\ \
| | |
| | |
| | |
| | | |
Improve build experience in regards to Cairo/PangoCairo
See merge request GNOME/pango!93
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On MSVC builds, Cairo may be found either via pkg-config files or
manually through finding headers and libs, so we need to ensure that we
create pangocairo.pc correctly, otherwise items that depend on
PangoCairo may not link correctly.
|
| | |
| | |
| | |
| | | |
Ensure that we declare variables at the top of the block.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a function that can update positions of
attributes as the underlying text is changing.
This is meant to be used to update an attribute
list as text transformations are applied, like
capitalization.
|
| |/
|/|
| |
| |
| | |
This was a gap in the attribute api - no way
to get attributes back out of a list.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
Kill shape engines
See merge request GNOME/pango!75
|
| |
| |
| |
| | |
It is all harfbuzz now, so call it pango_hb_shape.
|
| |
| |
| |
| | |
It is no longer used in libpangoft2.
|
| | |
|
| |
| |
| |
| |
| | |
Deprecate pango_font_find_shaper, make it return
NULL, and remove the find_shaper vfunc.
|
| |
| |
| |
| | |
It is no longer used.
|
| |
| |
| |
| | |
It is no longer used.
|