Thanks for you fix.<br><br><div><span class="gmail_quote">On 6/14/06, <b class="gmail_sendername">Carl Worth</b> &lt;<a href="mailto:cworth@cworth.org">cworth@cworth.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; diff-tree 0d2900477cd6edfe6025be06c3f1eda63cbe5230 (from b104a79502e2c01c508e40d83613ecfa001a2a4e)<br>&gt; Author: Jinghua Luo &lt;<a href="mailto:sunmoon1997@gmail.com">sunmoon1997@gmail.com</a>&gt;<br>&gt; Date:&nbsp;&nbsp; Wed Jun 14 15:56:17 2006 +0800
<br>...<br>&gt; @@ -1896,8 +1897,7 @@ _cairo_ft_scaled_glyph_init (void&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *abs<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; status = _transform_glyph_bitmap (&amp;unscaled-&gt;current_shape,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;surface);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else<br>&gt; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; status = _render_glyph_bitmap (face, &amp;scaled_font-&gt;base.options,<br>&gt; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;surface);<br>&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; status = CAIRO_STATUS_NO_MEMORY;
<br><br>There are a few problems with the above:<br><br>1. There's a style problem with inconsistent usage of braces, (a<br>&nbsp;&nbsp; closing brace before the else but no opening brace).<br><br>2. The implementation should never abuse CAIRO_STATUS_NO_MEMORY values
<br>&nbsp;&nbsp; to indicate arbitrary errors, (yes, there are existing cases of<br>&nbsp;&nbsp; this is in the implementation and I consider all of them bugs).<br><br>3. Most importantly, the _render_glyph_bitmap function is already<br>&nbsp;&nbsp; written to handle the case where glyph-&gt;format is neither
<br>&nbsp;&nbsp; FT_GLYPH_FORMAT_OUTLINE nor FT_GLYPH_FORMAT_BITMAP. Its comment<br>&nbsp;&nbsp; says:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;/* According to the FreeType docs, glyphslot-&gt;format could be<br>&nbsp;&nbsp;&nbsp;&nbsp; * something other than FT_GLYPH_FORMAT_OUTLINE or<br>&nbsp;&nbsp;&nbsp;&nbsp; * FT_GLYPH_FORMAT_BITMAP. Calling FT_Render_Glyph gives FreeType
<br>&nbsp;&nbsp;&nbsp;&nbsp; * the opportunity to convert such to<br>&nbsp;&nbsp;&nbsp;&nbsp; * bitmap.<br><br>So there's a regression in not calling this in this case.<br><br>I just pushed out the following patch to fix the above issues.<br><br>-Carl<br><br><br>
<br></blockquote></div><br>