[cairo-bugs] [Bug 96357] New: Incorrect cache algorithm in _cairo_ft_unscaled_font_set_scale
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Jun 3 15:01:59 UTC 2016
https://bugs.freedesktop.org/show_bug.cgi?id=96357
Bug ID: 96357
Summary: Incorrect cache algorithm in
_cairo_ft_unscaled_font_set_scale
Product: cairo
Version: unspecified
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: medium
Component: freetype font backend
Assignee: david at freetype.org
Reporter: bulkmail at joshuagranick.com
QA Contact: cairo-bugs at cairographics.org
The `_cairo_ft_unscaled_font_set_scale` method has an incorrect method of
detecting whether it needs to call FT_Set_Char_Size to resize a glyph.
Use font APIs with different matrix values multiple text API calls with
different cairo_matrix_t values (but a constant font size) is one example that
breaks. Glyphs will be rendered with mixed sizes as a result. This also can
occur if other libraries referencing the shared FT_Face, such as using harfbuzz
together with cairo.
Commenting the following code (lines 811-816 in cairo 1.15.2) temporarily
resolves the problem:
if (unscaled->have_scale &&
scale->xx == unscaled->current_scale.xx &&
scale->yx == unscaled->current_scale.yx &&
scale->xy == unscaled->current_scale.xy &&
scale->yy == unscaled->current_scale.yy)
return CAIRO_STATUS_SUCCESS;
It would be ideal determine what is needed to fix this calculation. Thank you!
--
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cairographics.org/archives/cairo-bugs/attachments/20160603/35b469b3/attachment.html>
More information about the cairo-bugs
mailing list