| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
This is useful for PANGO_TAB_DECIMAL.
Implement this in PangoLayout, in the
serializer, and update tests.
|
|
|
|
|
|
|
|
|
| |
Serialize tab alignment in addition to tab
position. We still accept the old format
and default alignment to left.
Update testserialize and layout tests
for this.
|
|
|
|
|
|
|
|
| |
Even when we show ignorables, we still want to
ignore variation selectors and other ignorables
that we don't have nicks for.
Test included.
|
|
|
|
|
|
|
|
|
|
|
| |
Without this, we end up with line height being
zero in gravity north or west. The visible symptom
is that wrapped lines are drawn on top of each
other with line-height != 0.
Affected tests have been updated.
Fixes: #631
|
| |
|
|
|
|
|
|
|
|
| |
Otherwise editing the output in an editor
is likely to make the data not match anymore,
since most editors will add a final newline.
Update all tests
|
|
|
|
|
|
|
|
|
| |
Add Cantarell, DejaVu Sans and a subset of Noto Color Emoji
to git, and make test-layout use just those fonts. This
should help with keeping the ci from breaking due to different
system fonts.
Update tests.
|
|
|
|
|
| |
These were produced with the help of
http://gitlab.gnome.org/matthiasc/layout-editor
|
|
|
|
|
|
| |
Use the new output serialization in test-layout
to store both the input and output in the same
file.
|
|
|
|
|
|
|
| |
If requested, serialize lines, runs, and log attrs.
This will let us use the serialization format to
record not just the test inputs, but outputs as
well.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we take a complete item because there are
no breakpoints, we were inserting a hyphen at
the end even though there may not be a breakpoint
there, and ending up with a hyphen in the middle
of an (overlong) line: Brat-wurst.
Test included.
This but was discovered with the help of
http://gitlab.gnome.org/matthiasc/layout-editor
|
|
|
|
|
|
|
|
|
|
|
| |
I went a bit overboard in #603. The vertical bar
is too common, and this usage to specialized to
do it by default. To enable this, we should rather
make log attrs tweakable.
We still replace hyphenation points with hyphens.
Fixes: #630
|
|
|
|
|
| |
Now that we have this api, lets use it for
our tests.
|
|
|
|
| |
Update affected test outputs.
|
|
|
|
| |
Some of the layout tests now get better line breaks.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Replace ‧ and | with a - when we break there.
Update affected test output.
Fixes: #603
|
|
|
|
|
|
|
|
| |
Reimplement this function based on pango_layout_get_cursor_pos.
This is a bit less efficient, but it fixes cases where the old
implementation would get stuck.
Fixes: #587, #585, #157
|
|
|
|
|
|
|
|
|
| |
Changes in width only need to break runs in
vertical context.
Update tests and add a new test.
Fixes: #503
|
|
|
|
|
|
|
|
| |
itemize_state_init was setting gravity-related fields
to their initial values too late, after update_attr_iterator
has already set them to the values for the first run.
Test included.
|
|
|
|
|
|
|
|
| |
Correctly classify tag characters as Grapheme_Extend,
so that we don't end up putting grapheme boundaries
in the middle of tag sequences.
Includes a test.
|
| |
|
|
|
|
|
|
|
|
| |
Allow setting more layout properties in test-layout,
and check their values after setting them.
Also print out directions and cursor positions.
Update existing tests, and add more.
|
|
|
|
|
|
|
|
|
| |
The commit message for d476d2a944500f8553 said
"word boundaries", but the code checked for line
breaks. That was wrong, since it also made hyphens
disappear at SHY, where we very much want them.
Update affected tests.
|
|
|
|
|
|
|
|
|
|
| |
We only want to insert hyphens when we are breaking
inside a word.
Update affected tests (hyphen-or-not shows up in the
analysis flags in the output of test-layout).
Fixes: #558
|
|
|
|
|
| |
This tests that we are not breaking items up
in the middle of a keycap sequence.
|
|
|
|
|
|
| |
Try not to pick a width that makes line-breaking decisions
depend on rounding. Lets see if this works better, it makes
the test pass locally.
|
|
|
|
| |
This reverts commit 4d8e71471984fb0fc147d1a64695ad5f18576fde.
|
|
|
|
|
| |
We don't set an attribute list in these cases anymore, so reflect that
in the output.
|
|
|
|
| |
The change is a harmless change in attribute list ordering.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we are splitting attributes into those that
are relevant for itemization and shaping, we need to
make sure to pass the right ones along when ellipsizing,
or we risk picking a wildly mismatching font for the
ellipsis run, causing things to shift vertically.
Test included.
Closes: https://gitlab.gnome.org/GNOME/pango/issues/397
Thanks to Jorge Luis Martinez Gomez for his help
in tracking this down.
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of filtering out the attributes we don't
want to influence itemization, explicitly filter
only those attributes that we want to affect itemization.
This makes us no longer break items for custom
attributes, such as GtkTextAppearance attributes
that are created by GtkTextLayout.
Update expected output for layout testcases.
|
|
|
|
| |
Recent changes changed breaks.
|
|
|
|
|
| |
Some of the hyphenation fixes affected line
breaks in the layout tests.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Share the attribute printing code between
all the tests, update expected output to match.
|
| |
|
|
|
|
|
|
| |
The locale is reflected in the lang field,
so the output changes due to the previous
commit.
|
|
|
|
|
| |
Update the expected output of the layout tests to the previous
change.
|
|
|
|
|
| |
We see the 'ellipsized' analysis flag in the output now,
as we should.
|
|
This tests works similar to the markup parser tests -
we populate a layout with known data, and then compare
a dump of its properties with expected output.
|