Yes, it's the same on Mac and Windows.
At Mon, 16 Dec 2013 14:12:18 -0500, David Vanderson wrote: > Thanks for looking into it. Can you confirm if you see similar output on > a different platform (Mac or Win)? > > On 12/16/2013 12:26 PM, Matthew Flatt wrote: > > I'm not sure about that part. I've confirmed that the cairo_move_to() > > call just before pango_cairo_show_layout_line() varies the "y" argument > > by 0.1, and I don't see any options that would affect vertical > > alignment. > > > > At Mon, 16 Dec 2013 10:37:39 -0500, David Vanderson wrote: > >> That makes sense, but the picture with 'unaligned seems strange > >> (attached). It looks like each individual character is being pixel > >> aligned, and also the vertical pixel drop doesn't happen until it's 0.7 > >> pixels down. Does this make sense? > >> > >> On 12/16/2013 08:15 AM, Matthew Flatt wrote: > >>> Did you mean to pass 'unaligned instead of 'aligned as the last > >>> argument to `find-or-create-font`? That should disable pixel alignment. > >>> > >>> At Mon, 16 Dec 2013 01:28:23 -0500, David Vanderson wrote: > >>>> Hello, > >>>> > >>>> It seems that draw-text always pixel-aligns its text. In the example > >>>> below, I draw a black "hello" on top of a red one, with a pixel offset > >>>> of 0, 0.1, 0.2, . . . 0.9. At least for me, I see no change until 0.5, > >>>> where the black text jumps a whole pixel (see attached image). > >>>> > >>>> Am I missing something? Do others see this behavior? (I'm on Linux) > >>>> > >>>> Thanks, > >>>> Dave > >>>> > >>>> > >>>> #lang racket/gui > >>>> > >>>> (define (draw-text dc offset) > >>>> (send dc set-text-foreground "red") > >>>> (send dc draw-text "hello" 0 0 #t) > >>>> (send dc set-text-foreground "black") > >>>> (send dc draw-text "hello" offset offset #t)) > >>>> > >>>> (define (draw-screen canvas dc) > >>>> (send dc set-smoothing 'smoothed) > >>>> (send dc set-font > >>>> (send the-font-list find-or-create-font > >>>> 12 'default 'normal 'normal #f 'smoothed #f 'aligned)) > >>>> (send dc set-initial-matrix (vector 1 0 0 1 0 0)) > >>>> (for ((i 10)) > >>>> (draw-text dc (/ i 10.0)) > >>>> (send dc translate 50 0))) > >>>> > >>>> (define frame (new frame% (label "Test draw-text"))) > >>>> > >>>> (define canvas > >>>> (new canvas% > >>>> (parent frame) > >>>> (min-width 500) > >>>> (min-height 100) > >>>> (paint-callback draw-screen))) > >>>> > >>>> (send frame show #t) > >> > >> > ------------------------------------------------------------------------------ > >> [image/png "draw-text2-unaligned.png"] [~/Desktop & open] [~/Temp & open] > >> . _________________________ Racket Developers list: http://lists.racket-lang.org/dev