Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=891457
--- Comment #13 from Hin-Tak Leung <[email protected]> --- git bisect'ed, and found the first appearance of the "uneven" look is this: --------- From: Adrian Johnson <[email protected]> Date: Mon, 22 Nov 2010 22:46:54 +1030 Subject: [PATCH] Use fallback font for synthetic fonts If the font has been synthesized we can't use the native subsetters as the outlines won't be the same. Instead force the use of the fallback subsetters so the synthesized outlines will used to generate the font. --------- (this was branched off 1.10.0 and leading onto 1.11.2 then onto 1.12.x). I also realized that the initial description of the problem was wrong: the problem is that new feature of emulated bold (and slant) for large fonts somehow does not work correctly on 32-bit cairo; before that commit, request for bold style for a typeface which does not provide that style was silently dropped, and substituted with the regular style. With that commit, emulated bold is provided by freetype but somehow only works for 64-bit platforms. The smallest change (which basically partially revert the above commit) is this: --- a/src/cairo-truetype-subset.c +++ b/src/cairo-truetype-subset.c @@ -159,6 +159,6 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset, * return CAIRO_INT_STATUS_UNSUPPORTED; */ /* We need to use a fallback font generated from the synthesized outlines. */ - if (backend->is_synthetic && backend->is_synthetic (scaled_font_subset->scaled_font)) + if (0 && (backend->is_synthetic && backend->is_synthetic (scaled_font_subset->scaled_font))) return CAIRO_INT_STATUS_UNSUPPORTED; The same effect can be achieved by: --- a/src/cairo-ft-font.c +++ b/src/cairo-ft-font.c @@ -2172,7 +2172,7 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, * synthesize glyphs if requested */ #if HAVE_FT_GLYPHSLOT_EMBOLDEN - if (scaled_font->ft_options.synth_flags & CAIRO_FT_SYNTHESIZE_BOLD) + if (0 && (scaled_font->ft_options.synth_flags & CAIRO_FT_SYNTHESIZE_BOLD)) FT_GlyphSlot_Embolden (glyph); #endif Anyway, it almost appears as if FT_GlyphSlot_Embolden() does not work correctly for 32-bit platform, which is wierd, since freetype is much more well-tested on 32-bit platforms than 64-bit; so my current thought is that something leading up to FT_GlyphSlot_Embolden (glyph) or some post-processing after is wrong. -- You are receiving this mail because: You are on the CC list for the bug. Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=hEY5mv9jge&a=cc_unsubscribe _______________________________________________ fonts-bugs mailing list [email protected] https://admin.fedoraproject.org/mailman/listinfo/fonts-bugs http://fonts.fedoraproject.org/
