| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Take line spacing into account when determining
the leading to use for logical extents. We add
line spacing when we use gap metrics from the
font, and ignore it when line height is determined
by line height attributes.
|
| |
|
|
|
|
|
| |
This will be used to restore the PangoLayout spacing
property.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the justify-all value, and drop the justify-last-line
feature from PangoLayout. This can be done better using
PangoLineBreaker now.
On the flip side, add a 'natural' value, since that is what
we want to fall back to for the last line in a justified
paragraph. And CoreText has this value too.
Make PANGO_ALIGN_NATURAL the default.
|
|
|
|
|
|
| |
It is nicer to have an opaque type for
the iter, and only use PangoGlyphItem
in the implementation.
|
|
|
|
|
|
|
|
|
|
| |
simple layout -> layout
line iter -> layout iter
line -> layout line
This commit replaces the old PangoLayout implementation
with PangoSimpleLayout, and does all the necessary
cleanups.
|
|
|
|
|
| |
this is for comparison purposes, and to see
what to aim for.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is a simplified reimplementation of PangoLayout
around PangoLineBreaker and PangoLines.
|
|
|
|
|
| |
This is an array of positioned PangoLine
objects.
|
|
|
|
| |
This is the guts of PangoLayout, spilled out.
|
| |
|
|
|
|
|
| |
This is an opaque, immutable object holding
a line of shaped text.
|
|
|
|
|
| |
Make this a separate type from PangoGlyphItem,
and give it some minimal api.
|
| |
|
|
|
|
|
|
|
| |
Tnis is an enum that combines alignment and justification.
This makes sense, is commonly done in other systems, and
lets us pass a single argument instead of 3 (align, justify
and justify-last).
|
|
|
|
|
| |
The line breaking code will pick it up there
later.
|
|
|
|
|
| |
This will be used in multiple places going forward,
so move it to pango-item.c
|
|
|
|
| |
This will be used to implement single-paragraph mode.
|
|
|
|
|
| |
Make pango_layout_run_get_extents_and_height available
for use outside of pango-layout.c.
|
|
|
|
|
|
| |
We don't normally meet paragraph separators
in the text that gets itemized. But if we do,
we want them in their own items.
|
|
|
|
| |
Tweak a comment
|
|
|
|
| |
Just rearrange the hyphen code slightly.
|
|
|
|
| |
This will make it easier to rearrange things later.
|
|
|
|
| |
Mention relevant details
|
| |
|
|
|
|
|
|
|
|
|
| |
handling of segmentation attributes can introduce
line breaks, after we removed them in allow_breaks
handling. Change the order to handle allow_breaks
last, so this doesn't happen.
Update affected tests.
|
|
|
|
|
|
|
|
|
|
|
| |
We were passing a format specifier that starts
with ' ', which some implementations of that API
don't like.
This change removes an extraneous space from the
output. Update affected tests.
Fixes: #659
|
|
|
|
|
|
|
| |
To avoid trivialities, check that our context
has a fontmap, at a strategic place.
Fixes: #658
|
| |
|
|
|
|
| |
These are just wrappers of g_object_ref/unref.
|
|
|
|
| |
Just use g_object_ref/unref.
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Clarify pango_attr_list_splice docs
Closes #653
See merge request GNOME/pango!574
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If gap is zero, don't limit the inserted attributes;
that does not make sense. Spell out the different
use cases in the docs.
Testcase included.
Fixes: #653
|
| |
| |
| |
| |
| | |
Make it explicit that the spliced-in attributes
are limited to the the 'gap'.
|
|/ |
|
|
|
|
| |
Fixes: #650
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If char is unsigned, the first byte of a non-trivial UTF-8 sequence will
be 0x80 or higher, instead of being negative. In this case we need to
process it as UTF-8, instead of printing only the first byte and then
skipping to the next UTF-8 character.
char is usually signed on x86 and some other architectures, but not on
the ARM or PowerPC families, among others.
Resolves: https://gitlab.gnome.org/GNOME/pango/-/issues/652
Signed-off-by: Simon McVittie <smcv@debian.org>
|
|
|
|
|
|
|
|
| |
When the font matrix has uneven scales, we need
to factor that into the slope that we get from
the font metrics.
Tested with a condensed italic Cantarell.
|
|\
| |
| |
| |
| | |
Add a test for letterspacing
See merge request GNOME/pango!570
|
| |
| |
| |
| | |
Just for completeness.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When our font matrix includes a slant, pass that information
to HarfBuzz, so it can adjust its mark positioning, metrics
like caret slope, etc.
This commit corrects the code that pulls the font matrix out
of fontconfig to properly take the flipped y axis between fontconfig
and pango into account.
Requires new api in HarfBuzz > 3.2
|
|/
|
|
|
| |
Add API to extract the slant ratio from a PangoMatrix.
Tests included.
|
|
|
|
|
| |
Face names are not actually guaranteed to be unique,
so don't say that.
|