-
Notifications
You must be signed in to change notification settings - Fork 608
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bad y_offset from hb_buffer_get_glyph_positions (1.1.0 regression) #187
Comments
Please check if (!get_glyph_h_origin (glyph, x, y) &&
get_glyph_v_origin (glyph, x, y))
{
hb_position_t dx, dy;
guess_v_origin_minus_h_origin (glyph, &dx, &dy);
*x -= dx; *y -= dy;
} After 44f8275 the path goes through Danny. |
Oops. My bad. Will fix. |
@behdad, thanks! |
Thanks =) |
On it. I created a slight mess. Will have a fix by the time my flight lands on the other side. |
I'm curious. In hb_shape, I have these lines:
ie. if glyph_h_origin_func is NOT set, it doesn't do anything. I'm curious why you see a different behavior. |
The downstream bug has the answer:
|
This was brorken earlier, though, it's really hard to notice it. Unlike the glyph_h_origin(), an unset glyph_v_origin() does NOT mean that the vertical origin is at 0,0. Related to #187
Release coming. |
Released 1.1.2. |
Thanks man.
|
Fixes the issue for me, many thanks for the quick response. |
Overview of changes leading to 1.1.2 Wednesday, November 26, 2015 ==================================== - Fix badly-broken fallback shaper that affected terminology. harfbuzz/harfbuzz#187 - Fix y_scaling in Graphite shaper. - API changes: * An unset glyph_h_origin() function in font-funcs now (sensibly) implies horizontal origin at 0,0. Ie, the nil callback returns true instead of false. As such, implementations that have a glyph_h_origin() that simply returns true, can remove that function with HarfBuzz >= 1.1.2. This results in a tiny speedup.
http://cgit.freedesktop.org/harfbuzz/tree/NEWS Overview of changes leading to 1.1.2 Wednesday, November 26, 2015 ==================================== - Fix badly-broken fallback shaper that affected terminology. harfbuzz/harfbuzz#187 - Fix y_scaling in Graphite shaper. - API changes: * An unset glyph_h_origin() function in font-funcs now (sensibly) implies horizontal origin at 0,0. Ie, the nil callback returns true instead of false. As such, implementations that have a glyph_h_origin() that simply returns true, can remove that function with HarfBuzz >= 1.1.2. This results in a tiny speedup. Overview of changes leading to 1.1.1 Wednesday, November 24, 2015 ==================================== - Build fixes, specially for hb-coretext. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
http://cgit.freedesktop.org/harfbuzz/tree/NEWS Overview of changes leading to 1.1.2 Wednesday, November 26, 2015 ==================================== - Fix badly-broken fallback shaper that affected terminology. harfbuzz/harfbuzz#187 - Fix y_scaling in Graphite shaper. - API changes: * An unset glyph_h_origin() function in font-funcs now (sensibly) implies horizontal origin at 0,0. Ie, the nil callback returns true instead of false. As such, implementations that have a glyph_h_origin() that simply returns true, can remove that function with HarfBuzz >= 1.1.2. This results in a tiny speedup. Overview of changes leading to 1.1.1 Wednesday, November 24, 2015 ==================================== - Build fixes, specially for hb-coretext. (From OE-Core rev: e979cc5816c806ac995365b9d96d34a1ea59342a) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hey,
There seems to be a regression with Harfbuzz 1.1.0. After updating to 1.1.0 users of Terminology (an EFL based terminal emulator) have been experiencing weird character offsets. We've narrowed down the problem to the y_offset returned by hb_buffer_get_glyph_positions.
For example, for one glyph in the 6x13 bitmap font shipped with my system, I used to get 0 as the y_offset, and now I get -1056 (16px in my case).
There's more info in the original terminology ticket ( https://phab.enlightenment.org/T2865 ), but according to one account, the cause is 44f8275. I personally don't see how that one might be related, but it is.
This break leads to a completely unusable application.
Let me know if you need any other information.
Thanks,
Tom.
The text was updated successfully, but these errors were encountered: