| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
This broke glyph extents with gravity north or west.
This reverts commit 20ec670e124e4461075a2967faa29603d25106cc.
|
| |
|
|
|
|
| |
Fold markers always just use 3 {, even when nested.
|
|
|
|
| |
Add default implementations for is_monospace and is_variable.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Fix empty line heights
Closes #421
See merge request GNOME/pango!481
|
| |
| |
| |
| |
| |
| |
| | |
For empty runs, we were sometimes using line height,
which may be scaled up by the line-height attribute.
Fix that.
|
| |
| |
| |
| |
| |
| | |
Fix the calculation of line height for empty lines
to take the line-height attributes into account like
we do for non-empty lines.
|
| |
| |
| |
| |
| |
| |
| | |
Without this, we end up with differences in
metrics of empty runs.
Fixes: #421
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When metrics hinting is on, we used to provide rounded
font metrics. We should keep doing that since otherwise
we end up with logical rects sometimes being rounded
and sometimes not, leading to jumping empty lines.
Test included.
Fixes: #421
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Underline spaces again
Closes #613
See merge request GNOME/pango!478
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
in ada1bc9385d638e4c42, I switched to using ink rects
for horizontal underline extents, to improve the placement
of single-character underlines in the presence of
kerning. I overlooked the fact that spaces don't have ink,
so the change caused leading and trailing whitespace to
not be underlined anymore. Fix this by using the union
of ink and logical rectangles.
Fixes: #613
|
|/ |
|
|
|
|
|
| |
These were showing up as warnings about garbage
values in the gtk static-scan build.
|
|
|
|
|
| |
Fix a warnings about garbage values that are
showing up in the gtk static-scan build.
|
|
|
|
| |
I was carelessly not initializing prev to NULL.
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't really have firm control over the way
attributes are ordered in the list, so the
assumtion that we see proper nesting for baseline
shifts was a bit optimistic.
Just look through all open stack items for a match,
and remove that.
Test included.
|
| |
|
|\
| |
| |
| |
| | |
Implement baseline shifts
See merge request GNOME/pango!462
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Apply horizontal displacements for superscripts and subscripts
that are provided in font metrics. This noticably improves the
placement of superscripts in italics.
Currently, we only apply these displacements in post-processing,
and ignore the width changes during line-breaking. This could
be improved by moving the baseline handling into the line-breaking
proper.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Use the new baseline-shift and font-scale attributes
to reimplement <sup> and <sub>.
Now they take font metrics into account and nest
properly.
|
| |
| |
| |
| |
| |
| |
| | |
Add a new font-scale attribute to indicate font size
changes due to super- and subscript shifts, and handle
it during item post-processing to find the right font
sizes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a new baseline-shift attribute, which is similar to
rise, but accumulates. In addition, it supports font-
relative values such as superscript and subscript.
We implement support for this by computing baseline
shifts for run during line post-processing, and storing
them in the runs. The renderer now takes these shifts
into account when rendering layout lines.
|
| |
| |
| |
| |
| |
| | |
We are going to add new fields to PangoGlyphItem,
so zero-initialize the one we are allocating here
in ellipsize.c.
|
| |
| |
| |
| |
| | |
GTK needs this information to decide how to
render the glyphs, so provide it.
|
| | |
|
|/
|
|
|
| |
Now that we have a private class, we can retire
the misplaced vfunc in the fontmap class.
|
|
|
|
|
|
|
|
| |
Set a size on the font description returned by
pango_font_describe(). Otherwise, scaling it
doesn't work.
Fixes: #610
|
| |
|
|
|
|
| |
If we don't have them, just do the fallback.
|
|
|
|
|
|
| |
This variant of pango_glyph_string_index_to_x takes
log attrs so it does not have to compute them when
it needs them to determine grapheme boundaries.
|
|
|
|
|
|
|
|
|
|
| |
We need to take into account whether the characters
we are counting are actually cursor positions, else
we are bound to look for more carets than the font
has available, sometimes.
This change would benefit from passing log attrs into
pango_glyph_string_index_to_x.
|
|
|
|
| |
This is useful information.
|
|
|
|
| |
This has been broken all along. :(
|
|
|
|
| |
This broke the msvc build.
|
| |
|
| |
|
|
|
|
| |
Remove a few duplicated lines and typos.
|
|
|
|
|
| |
Instead of throwing away the log_widths array
for every run, keep it around and grow it as needed.
|
|\
| |
| |
| |
| | |
Keep offsets for items
See merge request GNOME/pango!451
|
| |
| |
| |
| | |
There is more we can do here, but this is a start.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a char_offset field to PangoItem, compute it as part of
itemization and update it when splitting items. Keeping this
number around cuts down on the amount of list and utf8 walking
we need to do later.
We have to do some extra shenanigans to preserve abi in the
face of pango's open-coded structs, so we introduce a
PangoItemPrivate type that is used internally. On 64bit,
PangoItem has a 4 byte whole, so we can keep the size of
PangoItemPrivate the same. No such luck on 32bit.
|
| |
| |
| |
| |
| |
| | |
Improve the itemization code to have all
variants take the same code paths, so we
can do fixups in one place.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
renderer: Use ink rects for line lengths
Closes #139
See merge request GNOME/pango!448
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
|