| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
Only spew test data if --verbose is given.
|
| |
|
|
|
|
|
| |
We always need to check if we still fit, after shaping.
The width we use before is just an estimate.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Generate 20 random strings that look like sentences.
* For each of them, measure the size at 100 random widths.
* assert that for those widths, when sorted, the measured widths
are increasing and the heights are decreasing.
The test alsogenerates random strings in LTR, RTL or both at the same
time to spice the test up even more.
It does that by picking random words out of hunspell directories, and if
none are installed, it falls back to lorem ipsum.
|
|\
| |
| |
| |
| |
| |
| | |
Fix a bug in Small Caps handling
Closes #627
See merge request GNOME/pango!505
|
| | |
|
|/
|
|
|
|
|
|
|
| |
We were not passing the correct split_offset to
pango_item_split().
Testcase included.
Fixes: #627
|
|\
| |
| |
| |
| | |
Simplify breakpoint disabling
See merge request GNOME/pango!504
|
| | |
|
| |
| |
| |
| | |
This keeps spiraling :(
|
| |
| |
| |
| |
| |
| | |
If the break is at the end of the item, we
were forgetting to check for the space before
the break.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we are breaking after a space, we must not
count the width of the space towards the line,
since we are zeroing it later.
It is a bit annoying that there are multiple places
where this has to be taken into account.
Another missing bit in this code is that we are
only looking at a single whitespace character before
the break, when we should really look for a sequence
of spaces.
|
| |
| |
| |
| |
| | |
When unsplitting an item, we were sometimes
calculating the remaining_width incorrectly.
|
| |
| |
| |
| | |
We can use the log_widths that we already have.
|
|/
|
|
|
|
| |
We only want this inside process_item, so we can
make this a purely local thing, without modifying
log_attrs.
|
|\
| |
| |
| |
| | |
Cosmetics
See merge request GNOME/pango!503
|
|/ |
|
|\
| |
| |
| |
| | |
coretext: correctly clamp the core text weights at min/max values
See merge request GNOME/pango!502
|
| |
| |
| |
| | |
Addresses bug found in #624
|
|\ \
| | |
| | |
| | |
| | | |
layout: Try harder to not produce overlong lines
See merge request GNOME/pango!501
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Our accounting for run lengths is imperfect (mainly
due to log widths for clusters being evenly distributed),
so it can happen that after reshaping the split item,
we find that it does not actually fit in the remaining
width. Previously, we would just use the split run
at that point and produce an overlong line. Instead,
undo the split, disable the breakpoint we used, and
try again.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This undoes the effect of pango_item_split.
We will use this in future commits.
Private for now.
|
| | |
| | |
| | |
| | | |
This will let us use some of them during layout.
|
| | |
| | |
| | |
| | |
| | |
| | | |
GTK frequently uses this width during measuring,
so it is good if we can reproduce what happens
in this case.
|
| | |
| | |
| | |
| | | |
This can make it easier to reproduce problems.
|
|/ / |
|
|\ \
| |/
|/|
| |
| | |
layout: Fix a poblem with hyphen width
See merge request GNOME/pango!500
|
| | |
|
| |
| |
| |
| | |
This checks behavior that is required by GTK.
|
|/
|
|
|
| |
In some cases, we were forgetting to account
for the width of a hyphen.
|
|
|
|
| |
Mention new attribute values in markup docs.
|
|\
| |
| |
| |
| | |
Bump fontconfig dep to 2.13.0
See merge request GNOME/pango!499
|
| |
| |
| |
| | |
We are requiring a new enough fontconfig now.
|
| |
| |
| |
| |
| | |
This version of fontconfig has all the API
we are using, and was released in 2018.
|
|\ \
| |/
|/|
| |
| | |
Call hb_font_set_ptem when creating fonts
See merge request GNOME/pango!498
|
|/
|
|
|
| |
This is useful information for Harfbuzz to have,
so pass it along.
|
|
|
|
| |
Add the new variant values to the docs.
|
| |
|
|\
| |
| |
| |
| | |
Emulate Small Caps if not available from the font
See merge request GNOME/pango!497
|
| |
| |
| |
| |
| |
| | |
Take text transforms into account when emulating
Small Caps. This requires us to have log attrs
to determine word starts.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Split the post-processing off into a separate function
that can take log attrs in addition. This will allow
us to handle word starts when dealing with text transforms
for emulated Small Caps.
So far, this is all private API that is used from PangoLayout.
Please file an issue if you want to access Small Caps emulation
without PangoLayout.
|
| |
| |
| |
| | |
Move private API out of the 'Public API' section.
|
| |
| |
| |
| | |
pango_itemize_with_font belongs into pango-item-private.h.
|
| |
| |
| |
| | |
We want last-one-wins semantics here.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we detect that one of the other casing variants
is requested, but not available via OpenType font
features, emulate it by splitting the item into
lowercase and uppercase runs and apply a suitable
font scale and text transform to the runs to get
the desired effect.
Still to do: resolve conflics with preexisting
text transform attributes.
|