| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
No surprises here.
|
|
|
|
|
|
|
|
| |
Add a private vfunc to get the (absolute) size
of a font. This default implementation just
pulls it out of the font description, but we
can do implement this cheaper without copying
the font description.
|
|
|
|
|
| |
Rename some variables, so we actually know
what these matrices are.
|
|
|
|
|
|
|
|
| |
When we change font scale for emulating small caps,
keep the original font around in the analysis, and use
it for calculating the run height.
Fixes: #622
|
|
|
|
|
|
| |
Add some api to let us store another font in
a PangoAnalysis. This will be used in the following
commits.
|
|
|
|
|
|
|
| |
We want to avoid trading chars for hyphens
in the margin beyond the set width.
Fixes: #646
|
|
|
|
|
| |
We don't collapse space at the very end, so we should
count such spaces towards the line width.
|
|
|
|
|
|
| |
Oops, we were not serializing the height at all.
Update all affected tests.
|
|
|
|
| |
Add doc comments for some private API.
|
|
|
|
|
|
| |
Stop using fcfont->matrix. This is just a redundant
copy of the matrix that is already available in
the font key. Just use that.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| | |
Fix handling of space-less fonts
Closes #641
See merge request GNOME/pango!552
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
HarfBuzz knows how to synthesize spaces, we just
need to tickle it in the right way.
Test included.
Update affected tests.
Fixes: #641
|
|\ \
| |/
| |
| |
| |
| |
| | |
Fix Arabic format chars
Closes #642
See merge request GNOME/pango!553
|
| |
| |
| |
| |
| |
| |
| | |
We can't treat these like spaces, since they are visible
and need the proper font.
Fixes: #642
|
|/
|
|
|
|
| |
This was breaking the build on some macOs versions.
Fixes: #640
|
|
|
|
| |
Fixes: #637
|
|
|
|
| |
It is needed for strtol()/strtoul().
|
|
|
|
|
| |
Add more links to GLib apis and to various
Unicode specs.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Take advantage of the new parser api.
|
|
|
|
| |
There was a copy-paste error here.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
fc: Handle fonts with broken metrics better
Closes #616
See merge request GNOME/pango!537
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It seems that some fonts don't have meaningful
values for underline and strikethrough metrics.
Ignore these font-provided values if they are zero.
Fixes: #616
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We can't break in a tab run.
This fixes an assertion found by afl.
Testcase included.
Fixes: #638
|
|/
|
|
|
|
|
|
| |
The loop termination condition in break_latin()
was incorrect. Fix this by copying the loop setup
from break_arabic().
Fixes #636
|
|\
| |
| |
| |
| |
| |
| | |
Fix line width computation
Closes #635
See merge request GNOME/pango!535
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
|/
|
|
|
| |
This includes better error reporting,
with error locations.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Include stdlib.h for qsort function declaration. This fixes the error:
implicit declaration of function 'qsort' is invalid in C99
|
| |
|
| |
|
|
|
|
|
| |
This will make the font serialization useful
in GTK, where we serialize fonts in node files.
|
|
|
|
|
| |
Properly document deserialization errors, and
drop unused enum values.
|
| |
|
|
|
|
| |
Just let the parser carry the error.
|
| |
|
|
|
|
| |
Replace json-glib by a homegrown json parser/printer.
|
|
|
|
|
| |
Add pango_tab_array_set_positions_in_pixels, to help
the serializer out.
|
| |
|