| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
In some cases, we were forgetting to account
for the width of a hyphen.
|
|\
| |
| |
| |
| | |
Bump fontconfig dep to 2.13.0
See merge request GNOME/pango!499
|
| |
| |
| |
| | |
We are requiring a new enough fontconfig now.
|
|/
|
|
|
| |
This is useful information for Harfbuzz to have,
so pass it along.
|
|
|
|
| |
Add the new variant values to the docs.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Pass all the PangoVariant values through the
FcPattern by translating them into suitable
OpenType features in the pattern.
|
|
|
|
|
| |
Add values for all the css casing variants to
the PangoVariant enum.
|
|
|
|
|
|
|
|
|
|
|
| |
When we detect that Small Caps are requested, but not
available via OpenType font features, emulate Small Caps
by splitting the item into lowercase and uppercase runs
and add text transform and font scale attributes to the
lowercase runs to get the effect of Small Caps.
Still to do: resolve conflicts with preexisting text
transform attributes.
|
|
|
|
|
|
| |
Factor out the 'consider as space' part from the
itemization code, so we can reuse it when breaking
items into upper- and lowercase runs.
|
|
|
|
| |
This is not used by anything yet.
|
|
|
|
|
| |
This will be used in the implementation of emulated
Small Caps.
|
| |
|
|
|
|
|
|
| |
Add a helper function that used to live with the Harfbuzz
shaping code in shape.c. It will be used in the itemize code
too, in the future.
|
|
|
|
|
|
|
| |
Arrange for PANGO_VARIANT_SMALL_CAPS to be translated
into the OpenType feature smcp=1 and back. This makes
small caps survive a roundtrip from font description
to font and back.
|
|
|
|
|
|
|
|
|
|
| |
The hb_font_t we were passing to Harfbuzz
for shaping was not taking context transforms
into account, and therefore was not scaling
advance widths as necessary. Always go through
pangos glyph extents to fix this.
Fixes: #620
|
|
|
|
|
|
| |
Add some more directional formatting characters
to the list of default-ignorables that we make
visible when requested: ALM, LRI, RLI, FSI, PDI.
|
|
|
|
|
| |
pango_fontset_simple_append consumes the font
that it is given.
|
|
|
|
|
| |
For east and west gravity, the logical glyph extents
were still misaligned with the ink extents.
|
|\
| |
| |
| |
| | |
cairo: Produce meaningful logical glyph extents
See merge request GNOME/pango!490
|
| |
| |
| |
| |
| |
| | |
cf_priv->scaled_font is initialized on demand, it may
be NULL. So better call the getter. This was showing
up as failure in the asan test in ci.
|
| |
| |
| |
| |
| | |
Without this, we end up with differences in
metrics of empty runs.
|
| |
| |
| |
| |
| |
| |
| | |
We were looking at the wrong font options here,
causing metrics to not be hinted when they should
be. This was causing some of the empty line height
tests to fail.
|
| |
| |
| |
| |
| | |
Depending on gravity, our logical glyph extents
were empty and mis-aligned. Fix that.
|
|/
|
|
| |
Also drops the null-terminated doc comment as gi-docgen shows that already
if the function is annotated properly
|
|
|
|
|
| |
Add some missing details about new enumerations
and run baselines.
|
|
|
|
| |
from a manual override in gtk-rs
|
| |
|
|
|
|
|
|
| |
This broke glyph extents with gravity north or west.
This reverts commit 20ec670e124e4461075a2967faa29603d25106cc.
|
| |
|
|
|
|
| |
Fold markers always just use 3 {, even when nested.
|
|
|
|
| |
Add default implementations for is_monospace and is_variable.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Fix empty line heights
Closes #421
See merge request GNOME/pango!481
|
| |
| |
| |
| |
| |
| |
| | |
For empty runs, we were sometimes using line height,
which may be scaled up by the line-height attribute.
Fix that.
|
| |
| |
| |
| |
| |
| | |
Fix the calculation of line height for empty lines
to take the line-height attributes into account like
we do for non-empty lines.
|
| |
| |
| |
| |
| |
| |
| | |
Without this, we end up with differences in
metrics of empty runs.
Fixes: #421
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When metrics hinting is on, we used to provide rounded
font metrics. We should keep doing that since otherwise
we end up with logical rects sometimes being rounded
and sometimes not, leading to jumping empty lines.
Test included.
Fixes: #421
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Underline spaces again
Closes #613
See merge request GNOME/pango!478
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
in ada1bc9385d638e4c42, I switched to using ink rects
for horizontal underline extents, to improve the placement
of single-character underlines in the presence of
kerning. I overlooked the fact that spaces don't have ink,
so the change caused leading and trailing whitespace to
not be underlined anymore. Fix this by using the union
of ink and logical rectangles.
Fixes: #613
|
|/ |
|
|
|
|
|
| |
These were showing up as warnings about garbage
values in the gtk static-scan build.
|