| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
Make the 'low' positioning a separate attribute.
|
|
|
|
| |
Make them always behave like _LINE.
|
|
|
|
|
| |
Make pango_attr_{fore,back}ground_new take a PangoColor*.
Update all callers.
|
| |
|
|
|
|
|
| |
This generalizes the behavior of PangoAttrIterator
wrt to merging attributes with overlapping ranges.
|
|
|
|
|
|
|
| |
Declare what part of the pipeline an attribute
affects as part of the type. This lets us handle
attribute filtering for that purpose in a generalized
fashion.
|
|
|
|
|
|
|
| |
Do away with PangoAttribute subclassing,
and turn the PangoAttribute struct into
a union. Redo custom attribute registration
to be more useful.
|
|
|
|
|
|
| |
Shape attributes don't fit well with the other
attributes, and user fonts are a better way of
doing custom glyphs.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The faceid in the serialized font description would
make the test output backend-dependent, so leave it
out for now. This makes
PANGOCAIRO_BACKEND=fc2 ./test-itemize
succeed.
|
|
|
|
|
|
|
| |
Include index and instance_id in the output
when serializing fonts.
Update all affected tests.
|
|
|
|
| |
This is experimental to see how far we can take this.
|
| |
|
|
|
|
|
|
|
|
|
| |
This is a new fontmap implementation that works by
populating a PangoHbFontMap from fontconfig data. It
relies on the base class to provide caching and lookups.
In contrast to the existing fontconfig fontmap, this
does not include every font in every fontset.
|
|
|
|
|
| |
Add dedicated tests for various aspects of
PangoHbFont and PangoHbFace functionality.
|
|
|
|
|
|
|
|
|
|
| |
The faceid will be used in future commits
to improve font -> description -> font roundtrip
accuracy.
Update affected tests.
Minimal test included.
|
|
|
|
|
|
|
|
| |
Add pango_font_face_supports_language and pango_font_face_get_languages.
There is no particular reason to tie language information to fonts
instead of faces. This will be useful for the font chooser.
Update the fontconfig implementation for these changes.
|
|
|
|
|
|
|
|
|
|
| |
These are really properties of the individual
faces, not the family.
The default implementations of these functions
simply return the corresponding family value.
Add some tests for the new api.
|
|
|
|
|
|
|
|
|
| |
The output from the testboundaries tests just
overwhelms the test reports and makes it hard
to find the actual problems. Stop that.
You can still get the noise, by passing --verbose
to the tests.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Just use g_object_ref/unref.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| | |
Add a test for letterspacing
See merge request GNOME/pango!570
|
| |
| |
| |
| |
| | |
This tests that we turn off ligatures when letterspacing
is enabled.
|
|/
|
|
|
| |
Add API to extract the slant ratio from a PangoMatrix.
Tests included.
|
|
|
|
|
| |
Best to compare precise sizes and take rounding
out of the equation.
|
|
|
|
| |
Fixes: #648
|
|
|
|
|
|
|
| |
The Microsoft paper I was citing actually recommends
1/4 em for ASCII space. Make it so...
Update affected tests.
|
|
|
|
|
|
|
|
|
|
| |
Follow the Microsoft Typography recommendations from
https://docs.microsoft.com/en-us/typography/develop/character-design-standards/whitespace
and use half of an em for missing space.
Update affected tests.
Fixes: #647
|
|
|
|
|
| |
This test verifies the fixes for the
situation described in #646.
|
|
|
|
|
|
| |
Oops, we were not serializing the height at all.
Update all affected tests.
|
|
|
|
|
|
|
|
|
|
|
| |
When coming up with a width for a missing space,
we were just measuring the hex digits. But in
subsetted fonts, such as the ones we use for ci,
hex digits might well be missing. Take that into
account and still provide some nonzero width
for space.
Update affected tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is a difficult dance between HarfBuzz and pango
which glyphs we let hb synthesize, and which ones
we need to fake ourselves.
HarfBuzz knows how to create other spaces from 0x20,
so if the font is lacking spaces, we want to tell
HarfBuzz that we don't have that glyph *except* for
0x20 where we need to fake one, and provide HarfBuzz
with a suitable width.
Update affected tests.
|
|
|
|
|
|
|
|
|
| |
This reverts commit ccb651dd2a876a4f4a4cb9351f05332173e709ba.
This broke vertical text rendering, see
https://gitlab.com/inkscape/inkscape/-/issues/2950.
Update affected tests and add a vertical test.
|
|
|
|
|
|
|
|
|
|
|
| |
HarfBuzz knows how to synthesize spaces, we just
need to tickle it in the right way.
Test included.
Update affected tests.
Fixes: #641
|
|
|
|
| |
This tests the fix in the previous commit.
|
| |
|
|
|
|
|
|
|
|
|
| |
We can't break in a tab run.
This fixes an assertion found by afl.
Testcase included.
Fixes: #638
|
|
|
|
|
|
|
|
|
|
| |
We an only use the line_width - remaining_width
shortcut if we are actually maintaining remaining_width,
i.e. not if we don't wrap lines.
Testcase included.
Fixes: #635
|
|
|
|
| |
Update affected test outputs.
|
|
|
|
|
|
|
|
|
|
| |
When we uninsert the current tab run, we need to reset
our tab state to prevent last_tab->glyphs to become a
dangling pointer.
Test included.
Fixes: #634
|
|
|
|
|
| |
This will make the font serialization useful
in GTK, where we serialize fonts in node files.
|
| |
|
| |
|
|
|
|
|
| |
Don't calculate line width the hard way when
we can do it much easier.
|