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

Behdad Esfahbod <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On 15-08-08 04:38 PM, Jagan Veeraraghavan wrote:
> 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)

What language & language-binding is this?  Rectangles don't have lbearing and
ascent in pango!  PangoRectangle has x,y and that's what you need.  Ascent is
specifically wrong.

b

>   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.