| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
When rendering underlines and the like, we should use
ink extents, since the logical extents will get shortened
by kerning, which can be pretty noticable when underlining
individual glyphs, such as the T in To.
Fixes: #139
|
| |
|
|
|
|
|
|
|
| |
Try to find a single non-mark glyph in a multi-glyph
cluster to use its ligature caret information. This
fixes situations in Arabic where you can have marks
on top of ligatures, e.g. ﻉﻭ.
|
|
|
|
|
|
|
| |
The ligature caret positions returned by
hb_ot_layout_get_ligature_carets are 'unshaped' metrics.
We need to take the kerning into account that is applied
during shaping, and shows up in the glyphstring as x_offset.
|
|
|
|
| |
Still not working quite right, but getting closer.
|
|
|
|
|
|
| |
What the docs were saying is no longer strictly true,
now that we are using font metrics. Update them, and
add an illustration.
|
|
|
|
| |
Show cursor positions.
|
|
|
|
|
|
|
| |
We were not correctly handling overlapping segments
in all cases, with <span segment='word'>. Improve this.
Update affected tests.
|
|
|
|
|
|
| |
We were not correctly handling the case where
wipe out a sentence boundary after the fact,
and were leaving behind a stray sentence end.
|
|
|
|
| |
These are required for a conforming implementation.
|
|
|
|
|
|
|
|
| |
We were not putting a line break at the end of the
text, in cases where a paragraph ends with a newline.
Enforce this in all break apis.
Update affected tests.
|
|\
| |
| |
| |
| |
| |
| | |
Use ligature caret lists
Closes #39
See merge request GNOME/pango!438
|
| |
| |
| |
| |
| |
| |
| |
| | |
Some fonts provide information about where to
place carets inside ligatures. Use it, when it
is available.
Fixes: #39
|
|/
|
|
|
|
|
| |
We were forgetting to reshape runs in some situations,
leading to them not having hyphens appended. This was
happening when runs fit fully onto the end of a line
that is wrapped anyway.
|
|
|
|
|
|
|
| |
Add attributes that let us override word and
sentence boundaries (and, indirectly, line breaks).
Tests included.
|
|\
| |
| |
| |
| |
| |
| | |
Add hyphens to log attrs
Closes #603
See merge request GNOME/pango!436
|
| |
| |
| |
| |
| |
| | |
Print out all the log attrs we have.
Update expected test outputs.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Replace ‧ and | with a - when we break there.
Update affected test output.
Fixes: #603
|
| |
| |
| |
| |
| | |
Rearrange the buffer setup code slightly,
so that we can change it easier, later.
|
| | |
|
| |
| |
| |
| |
| |
| | |
The code computing this is much better off in break.c,
so move it there, and keep the information in the
log attr array.
|
| | |
|
|/
|
|
|
| |
This is like pango_layout_get_cursor_pos, but returns
a rectangle that has caret font metrics applied to it.
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far, we've been applying attribute-based
customization while doing per-item tailoring.
But this is suboptimal, since it means we don't
have a full view of the log attrs, and can't
do invariant fixes that cross item boundaries.
Therefore, add a separate pango_attr_break
api that applies attributes to to the whole
paragraph, and make PangoLayout use it.
|
|
|
|
| |
Shuffle break.c around a bit.
|
|
|
|
|
|
|
|
|
|
|
| |
We want to insert word start+end if libthai
hands us line breaks between letters. But must
be careful not to overwrite existing word boundaries,
or we end up with a nonsense sequence.
This was found by checking log attr invariants.
Regenerate affected test outputs.
|
|
|
|
|
|
| |
There is no need to throw away the log_attrs when
we just change the width, or other layout properties
that do not affect segmentation.
|
|
|
|
| |
Show font metrics.
|
|
|
|
|
| |
With the current implementation of text-transform,
we need the attribute to be constant across runs.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fix a few comments.
|
|
|
|
| |
The new text-transform attribute was overlooked.
|
|
|
|
| |
This was overlooked.
|
|
|
|
| |
Reshuffle things to make room for validation.
|
|\
| |
| |
| |
| |
| |
| | |
renderer: Don't divide by zero
Closes #599
See merge request GNOME/pango!425
|
| |
| |
| |
| |
| |
| |
| |
| | |
Before dividing by num_glyphs in draw_strikethrough,
make sure it isn't 0. This should fix reported crashes
in this function.
Fixes: #599
|
|\ \
| |/
|/|
| |
| | |
Add support for text transformation
See merge request GNOME/pango!421
|
| | |
|
| |
| |
| |
| |
| |
| | |
Transform the text we hand to harfbuzz, as prescribed
by the text transform attributes we have. This uses
the log attrs to find word starts.
|
| |
| |
| |
| | |
Use the new API, and pass our log attrs along.
|
| |
| |
| |
| |
| |
| | |
Add a pango_shape API variant that takes log attrs,
so we can implement text transforms that depend on
word boundaries, in the future.
|
| |
| |
| |
| |
| | |
Classify text transform as an attribute that
affects shaping. It will, in the future.
|