Hello,<br>when rendering the following japanese utf-8 layout &quot;おろしポン酢&quot; with PANGO_GRAVITY_EAST, the pdf result is just the first char (CASE define) while the image result is the entire string.<br>i certainly missed something but what ? or is this a bug?<br>
thanks in advance<br>Tristan<br><br>========================================<br>#include &lt;pango/pangocairo.h&gt;<br>#include &lt;cairo/cairo.h&gt;<br>#include &lt;cairo/cairo-pdf.h&gt;<br><br>#define CASE<br><br>int<br>
main (int argc, char *argv[])<br>{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cairo_surface_t *surface;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cairo_t *cr;<br><br>&nbsp;&nbsp;&nbsp; #ifdef CASE<br>&nbsp;&nbsp;&nbsp; surface = cairo_pdf_surface_create (&quot;hello.pdf&quot;,2000,2000);<br>&nbsp;&nbsp;&nbsp; #else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 2000, 2000);<br>
&nbsp;&nbsp;&nbsp; #endif<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cr = cairo_create (surface);<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; PangoFontDescription *font_description;<br>&nbsp;&nbsp;&nbsp; PangoLayout *layout;<br>&nbsp;&nbsp;&nbsp; PangoContext *context;<br><br>&nbsp;&nbsp;&nbsp; font_description = pango_font_description_new ();<br>
&nbsp;&nbsp;&nbsp; pango_font_description_set_family (font_description, &quot;serif&quot;);<br>&nbsp;&nbsp;&nbsp; pango_font_description_set_weight (font_description, PANGO_WEIGHT_BOLD);<br>&nbsp;&nbsp;&nbsp; pango_font_description_set_absolute_size (font_description, 100 * PANGO_SCALE);<br>
&nbsp;<br>&nbsp;&nbsp;&nbsp; layout = pango_cairo_create_layout (cr);<br>&nbsp;&nbsp;&nbsp; pango_layout_set_font_description (layout, font_description);<br>&nbsp;&nbsp;&nbsp; pango_layout_set_text (layout, &quot;おろしポン酢&quot;, -1);<br><br>&nbsp;&nbsp;&nbsp; //for vertical text<br>&nbsp;&nbsp;&nbsp; context=pango_layout_get_context(layout);<br>
&nbsp;&nbsp;&nbsp; pango_context_set_base_gravity(context,PANGO_GRAVITY_EAST);&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; pango_context_set_gravity_hint(context, PANGO_GRAVITY_HINT_STRONG);<br>&nbsp;&nbsp;&nbsp; pango_layout_context_changed(layout);<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; cairo_set_source_rgb (cr, 0.0, 1.0, 1.0);<br>
&nbsp;&nbsp;&nbsp; cairo_paint (cr);<br><br>&nbsp;&nbsp;&nbsp; cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);<br>&nbsp;&nbsp;&nbsp; cairo_move_to (cr, 1000.0, 1000.0);<br><br>&nbsp;&nbsp;&nbsp; /* Inform Pango to re-layout the text with the new transformation */<br>&nbsp;&nbsp;&nbsp; pango_cairo_update_layout (cr, layout);<br>
<br>&nbsp;&nbsp;&nbsp; pango_cairo_show_layout (cr, layout);<br><br>&nbsp;&nbsp;&nbsp; g_object_unref (layout);<br>&nbsp;&nbsp;&nbsp; pango_font_description_free (font_description);<br><br>&nbsp;&nbsp;&nbsp; #ifdef CASE<br>&nbsp;&nbsp;&nbsp; cairo_show_page(cr);<br>&nbsp;&nbsp;&nbsp; #else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cairo_surface_write_to_png (surface, &quot;hello.png&quot;);<br>
&nbsp;&nbsp;&nbsp; #endif<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cairo_destroy (cr);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cairo_surface_destroy (surface);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br>}<br>