Cairo move_to(x,Y); show_pango_layout(l) & Output SVG path y do not matchup

Jagan Veeraraghavan <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <CAGwJbbgJNmNMn-NZDijSJ3rO=4xwHP-ge_V7L9hYiCOchXnPuw@mail.gmail.com>
Hi,
I am trying to use Cairo-pango to render text as svg. The following ruby
code shows that the ink lbearing=0 & ascent=-16. So i do a move_to (0,+16).
But the output svg has y at 66.40091. I expected output svg y to begin at
16. So the text is not snug fit to right top and there is a vertical
padding of 50 pixels. Is my code wrong or my expectation from the code
wrong. Is it possible to position the text so that it 'hugs' the top & left.

----txt2svg.rb----------
def draw_text(cr)
text1 = "The grass is greener where we're going."
  layout = cr.create_pango_layout
  desc = Pango::FontDescription.new(FONT1)
  layout.set_font_description(desc)
  layout.set_text(text1)
  ink,logical=layout.pixel_extents
  puts ink.lbearing,ink.ascent
  cr.move_to(ink.lbearing*-1,ink.ascent*-1)
  cr.update_pango_layout(layout)
  cr.show_pango_layout(layout)
end
surface = Cairo::SVGSurface.new("text.svg",1080, 720)
cr = Cairo::Context.new(surface);
draw_text(cr)

-----------------

---text.svg---


<?xml version="1.0" encoding="UTF-8"?>

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="
http://www.w3.org/1999/xlink" width="1080pt" height="720pt" viewBox="0 0
1080 720" version="1.1">

<defs>

<g>

<symbol overflow="visible" id="glyph0-0">

<path style="stroke:none;" d="M 11.765625 -7.484375.......

.........

</defs>

<g id="surface1">

<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">

<use xlink:href="#glyph0-1" x="0" y="66.400391"/>

<use xlink:href="#glyph0-2" x="22.65625" y="66.400391"/>

<use xlink:href="#glyph0-3" x="46.416016" y="66.400391"/>

<use xlink:href="#glyph0-4" x="68.832031" y="66.400391"/>
....
</svg>
---------------

Jagan

-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.