As I feared, your fix busted my custom control. Please revert the change until a better solution is arrived at.
Please don't assume that the LCL is the entire universe. I'm porting a large custom control that had character positioning problems on Carbon (other widgetsets were fine) until Tomas fixed BeginTextRender. Now it's broken again for me. Thanks. -Phil -----Original Message----- From: Mattias Gaertner [mailto:[EMAIL PROTECTED] Sent: Sat 11/3/2007 3:24 PM To: lazarus@miraclec.com Subject: Re: [lazarus] Carbon Widgetset: character spacing problems On Sat, 3 Nov 2007 16:09:16 -0400 "Hess, Philip J" <[EMAIL PROTECTED]> wrote: > SynEdit is not the only custom control that was fixed by the change > to BeginTextRender that disabled the fractional positioning of > characters. This was an important fix since proportional font > characters do not have whole number widths, yet they can only be > displayed on a device using whole pixels. Without disabling this, > then width(char) x number of chars in string <> width(string), which > is what was causing the problem in SynEdit (and any other text editor > type custom controls). Note that all char and string width functions > return a whole number, so individual char widths get rounded. AFAIK only synedit needs monospace fonts. What other text editor's do you mean? > Tobias, what fonts are you using? Could you post your example app. > I'm not seeing the char positioning differences here. > > Please be careful making any changes to this. I believe > Canvas.OutText calls ExtTextOut with DX=nil so the suggested > workaround may break some other things that were fixed with the > BeginTextRender change. Yes, afaik only SynEdit fills DX. All others don't use it. If DX<>nil every character is placed at a custom position. With DX=nil the widgetset should paint the text normal. Mattias _________________________________________________________________ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
<<winmail.dat>>