Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=891457
--- Comment #21 from Adrian Johnson ajohnson@redneon.com --- (In reply to comment #20)
Werner suggested trying to reproduce similar problems if possible with ftview, which can do font effects on display. But I am not hopeful in that since it looks like the problem does not affect bitmap-based output.
I tried ftview but it didn't seem to provide any way to view outlines.
I had another idea. Replace the cairo_show_text with cairo_text_path followed by cairo_fill. This will create paths from the text then fill the paths. This results in correct output.
I haven't figured out where/how cairo write fonts yet...
It has a number of subsetters as well as the ability to create CFF or type 1 fonts. The easiest to understand is cairo-type1-fallback.c which generates fallback fonts for PostScript.
Since cairo_text_path produced the correct output the next idea I had was to try changing the size of the font outlines that cairo-type1-fallback requests. At line 105 the matrix size is set to 1000 since Type 1 fonts have an EM grid size of 1000. I changed this to 500 and the output was smaller but correct. I tried some different values. 800 works. 900 fails. So somewhere between a font size of 800 and 900 FreeType starts producing incorrect output for some glyphs with synthetic bold enabled.