| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Look for whether the char before the break
is not whitespace and doesn't look like a
hyphen.
|
| |
|
|
|
|
|
|
|
| |
Now that we are inserting glyphs out of thin air,
we can end up with clusters that have
start_char == end_char. Allowing that does not
obviously cause any issues.
|
|
|
|
|
| |
One of the layout tests actually detects that
we no longer insert an extra run for the 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.
|
| |
|
|\
| |
| |
| |
| | |
Tailor break
See merge request GNOME/pango!86
|
| |
| |
| |
| |
| | |
To break correctly, use pango_default_break and
pango_tailor_break.
|
| |
| |
| |
| |
| |
| | |
Call pango_default_break on the entire text,
and then pango_tailor_break on segments with
homogeneous language and script.
|
| |
| |
| |
| |
| |
| | |
This function lets you apply language-specific
tailoring on top of breaks produced by
pango_default_break.
|
| | |
|
| |
| |
| |
| |
| | |
Now that we know that line height is to blame
for this misrendering, go back to using it.
|
|\ \
| | |
| | |
| | |
| | | |
ci: Print font metrics in fontlist.txt
See merge request GNOME/pango!90
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Make the output a bit more compact, and optionally
print out font metrics as well.
|
|/ /
| |
| |
| |
| |
| | |
PangoContext has somewhat redundant code to create
metrics, which wasn't treating the new height member
like it should.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
We don't care about the particular font here, we just
want to list font metrics of an existing font.
|
| |
| |
| |
| | |
Know the environment.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Know the environment.
|
| |
| |
| |
| |
| | |
This is to confirm whether fonts report a nonzero
height on Windows.
|
| |
| |
| |
| | |
To confirm whether this is the problem on win32.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
The eventual goal is to have a quick way of seeing
whether rendering is broken on other platforms.
For starters, do this for linux.
|
| |
| |
| |
| |
| |
| |
| | |
This tests a situation in which we had a crash
until recently: Multiple paragraphs, with no-break
attributes. We used to free the no-break attribute
list prematurely.
|
|/
|
|
|
| |
We use them in a loop. Don't free them before
the loop is done.
|
|\
| |
| |
| |
| | |
pangofc-font.c: Trivial fix on pre-C99 compilers
See merge request GNOME/pango!88
|
|/
|
|
| |
Make sure we declare variables at the top of the block.
|
|\
| |
| |
| |
| | |
build: Only use fallback dependency for HarfBuzz when needed
See merge request GNOME/pango!87
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unfortunately the CMake dependency discovery mechanism is broken in
Meson, so on MSVC builds we still look first for the HarfBuzz headers
and .lib's, and ensure that they are 2.0.0 or later, before we try to
use the fallback dependency.
We do, however, want to make use of the fallback if HarfBuzz cannot be
found since HarfBuzz is now a hard dependency of Pango for all builds.
|
|/
|
|
|
| |
insert_run (... TRUE) frees the need_hyphen array,
so we need to check for the hyphen beforehand.
|
| |
|
|
|
|
|
| |
This causes some changes in the output.
Update expected output.
|
|
|
|
|
|
|
|
|
|
|
| |
Point the item that we create for the inserted hyphen
at the SHY in the paragraph text, shortening the previous
run by one character.
It would be nicer to not insert an extra run at all
and just reshape the previous one in a way that maps
the SHY to a hyphen, but that is more difficult to do
as long as we are going through the shape engine API.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had some sad cases where we used a char offset
as a byte index, with the expected bad results once
there are multibyte characters in the mix.
Instead of poking at the text in the middle of
line-breaking, go back to keeping a plain array
of positions that need a hyphen inserted. We
maintain this array in parallel to the existing
log_widths array, so hopefully the offset math
is working out now.
It is tempting to look at log_attrs.is_white for this,
but that gives us double hyphens when breaks are taken
at explicit hyphens. So, keep this information separately.
|