| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
The origin point for vertical layout needs to be translated
for cairo rendering from the horizontal origin to the vertical origin.
|
|
|
|
|
|
| |
glib isn't hard dependency to harfbuzz so we like to make embedders be able
to compile harfbuzz for Pango without hb-glib now that hb_glib_get_unicode_funcs
use is gone releases ago.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Fix vertical offsets
Closes #408
See merge request GNOME/pango!130
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was experimentally determined to fix placement
of diacritics in Arabic text. I am not entirely sure
where the negation crept in, compared to 1.43, which
makes me a little uncomfortable.
Fixes https://gitlab.gnome.org/GNOME/pango/issues/408
|
| |
| |
| |
| |
| | |
It doesn't make sense to use the same function
for both h and v advance.
|
|/
|
|
|
| |
The hb_tag_t array was declared as an array of hb_tag_t pointers,
whereas it should have been an array of hb_tag_t's.
|
|
|
|
| |
This reverts commit 5590b99fb6369cd16110bce2a3e8ac6371c3c487.
|
|
|
|
| |
We require harfbuzz 2.0.0 now.
|
|
|
|
|
|
| |
This reverts commit 315e3d4f6182e4cefde3538ede222e53c000f3e8.
This made pango-view segfault in win32 ci.
|
|
|
|
| |
Instead of setting variation selector to 0.
|
|
|
|
|
| |
If a function is not set, HarfBuzz will default to the parent’s, so no
need to set functions we don’t customize.
|
|
|
|
|
|
| |
If we don't use our own font funcs, hex boxes
don't work, since harfbuzz just replaces missing
glyphs with 0.
|
|
|
|
|
|
| |
It is misleading to see uninitialized pointers
in gdb, so set them to NULL, even if they are
not used.
|
|
|
|
|
| |
While of no immediate consequence, it is the
right thing to do.
|
|
|
|
|
|
|
|
|
| |
When letterspacing, we don't want the letters making
up ligatures to 'stick together', so turn off OpenType
features that request optional ligatures (liga, clig,
dlig).
Closes: https://gitlab.gnome.org/GNOME/pango/issues/182
|
|
|
|
|
|
| |
For this, we pull the show attribute out of the analysis
and pass the flags on to harfbuzz font funcs, so we can
select different glyphs and give them the right extent.
|
|
|
|
|
|
|
|
|
| |
Instead, reshape the pre-break run with the
soft hyphen replaced by an actual hyphen.
This is unfortunately inefficient, we copy
the entire text for this. The alternative
(scatter-gather populating the harfbuzz
buffer) is too hard to manage.
|
|
|
|
| |
It is all harfbuzz now, so call it pango_hb_shape.
|
|
|
|
| |
pangofc-shape.c does not use any pangofc api anymore.
|
|
|
|
|
|
|
| |
As we move towards subpixel positioning and
unhinted rendering, rounding the glyph positions
and widths between shaping and rendering is
counterproductive. So stop doing that.
|
|
|
|
|
| |
Use typechecks for the two remaining bits of
code that use PangoFcFont.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move all the code that sets up the hb_font_t to
pango_fc_font_create_hb_font, and use it from
the shaper. This is the second step towards
taking over font management.
Even better, harfbuzz has a ready-made function
for this. We can drop a lot of FT_Face-using code
this way. We assume unhinted rendering for now,
so we can set ppem to 0.
|
| |
|
|
|
|
|
|
| |
Before passing the features to hb_shape(), set their ranges,
since they are no longer always for the full length of the
item.
|
|
|
|
|
|
|
| |
Abolish the PANGO_ENABLE_BACKEND and PANGO_ENABLE_ENGINE
defines. All backend-only apis are moved into private
headers, all apis that were engine-only are marked as
deprecated, since engines are.
|
| |
|
|
|
|
|
|
|
|
| |
This commit lets PangoFontDescription carry font variation
information as a string. Only pangocairo has been updated
to make use of this information. We pass it to harfbuzz
for shaping, and we pass it to cairo when creating scaled
fonts.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=787194
|
|
|
|
|
| |
This is necessary to make some emoji sequences shape
and render correctly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From a 2014 HarfBuzz commit:
commit 763e5466c0a03a7c27020e1e2598e488612529a7
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 2 16:17:44 2014 -0400
Make it easier to use HB_BUFFER_FLAG_BOT/EOT
Previously, we expected users to provide BOT/EOT flags when the
text *segment* was at paragraph boundaries. This meant that for
clients that provide full paragraph to HarfBuzz (eg. Pango), they
had code like this:
hb_buffer_set_flags (hb_buffer,
(item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) |
(item_offset + item_length == paragraph_length ?
HB_BUFFER_FLAG_EOT : 0));
hb_buffer_add_utf8 (hb_buffer,
paragraph_text, paragraph_length,
item_offset, item_length);
After this change such clients can simply say:
hb_buffer_set_flags (hb_buffer,
HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT);
hb_buffer_add_utf8 (hb_buffer,
paragraph_text, paragraph_length,
item_offset, item_length);
Ie, HarfBuzz itself checks whether the segment is at the beginning/end
of the paragraph. Clients that only pass item-at-a-time to HarfBuzz
continue not setting any flags whatsoever.
Another way to put it is: if there's pre-context text in the buffer,
HarfBuzz ignores the BOT flag. If there's post-context, it ignores
EOT flag.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If this loop adds the final feature to the features array, the start and
end assignment for the next feature will drop off the end of the array.
I don’t think the assignments are necessary, since num_features stores
the number of elements in the array (so it doesn’t need to be
terminated), and the start and end elements are assigned each time a
feature is parsed.
Coverity ID: 1391709
Signed-off-by: Philip Withnall <withnall@endlessm.com>
https://bugzilla.gnome.org/show_bug.cgi?id=778601
|
|
|
|
|
|
| |
Harfbuzz 1.0.2 had errors in this area that gave us crashes
in the testsuite (testiter). Therefore, only use this feature with
Harfbuzz 1.0.3 or newer.
|
|
|
|
|
|
|
| |
So that we can set attributes (e.g. colors) to the marks and their bases
indecently.
https://bugzilla.gnome.org/show_bug.cgi?id=541608
|
|
|
|
|
| |
HarfBuzz buffer comes with a properly set up Unicode funcs
these days. So, trust it.
|
|
|
|
|
|
|
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=738505
Patch from Matthias Clasen, based on early patch from Akira TAGOH.
There's room for improvement in how this is done, but it works now
for simple cases, which is what most people will be using it for.
Finally!
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=700592
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now shaper is discovered via (previously unused!) font->find_shaper().
I'm keeping that just to allow clients override shaping. Though,
even that I'm not sure we want to keep.
Wraps shaper in PangoEngineShape structs to keep PangoAnalysis API
intact.
Deprecated pango-modules.h and some pango-engine.h. Language modules
are not moved yet.
Wired up PangoFc, PangoWin32, and PangoCoretext shapers.
|
|
Note wired up yet. Doesn't build.
|