[Lazarus] First impressions of Lazarus under Mac OS X

Martin lazarus at mfriebe.de
Fri Jun 24 10:04:22 CEST 2011


On 24/06/2011 08:15, Graeme Geldenhuys wrote:
>> Yes. The default is disabled antialiased for all platforms not only OS
>> X.
>> The option is just below the font size.
> I guess that's another "Windows legacy" feature. ;-) Having
> "anti-aliased" enabled by default makes more sense, seeing that all
> platforms default to anti-aliased text for years already. But then, the
> most popular Windows release, WinXP, anti-aliased text is disabled by
> default. I don't know what Win7 does. Either way, having in enabled by
> default seems like a more sensible default.
>
> Oh, and the other reason I probably overlooked that checkbox, is because
> I thought its functionality wasn't actually implemented. It does nothing
> under Linux (or Win2000 - the only Windows version I use for testing) -
> checked or not. No idea if it works for WinXP and later.

It works fine on Vista.

And I did actually have it off for a long time (that is until, I 
bothered finding a font ("Deja Vu"), that 'worked' with anti aliasing

"Courier New" for me does not work with anti aliasing. The difference 
between bold and not bold text is barely noticable, when anti aliased. 
(on w32). At least at my preferred font size...

>>> 7) Still being stuck on the unknown font in the editor window, there
>>> is some rather strange behaviours. eg: Select a line of text from left
>>> to right makes the text "jiggle" (changing there widths) as I select
>>> more and more text.
>> This happens with non mono space fonts. Not only under carbon. Also on
>> Linux/qt.
> Well it doesn't do that under Linux-GTK2. I just tested with a non mono
> spaced font.

It can even happen with mono spaced fonts, if the font uses sub pixel 
positioning. E.g, if the first char is at pixel 0, the 2nd char at pixel 
5.33, the 3rd at pixel 10.66 ....

Because SynEdit does not support it, and starts output always on a full 
pixel. By default SynEdit outputs whole words (or more, if there is no 
color/style change) as a single TextOut.
With a block selection, you get a color/style change in the middle of 
the word. So the 2nd part of the word is moved to where synedit thinks 
it should be (and a full pixel.

Same problem for proportional fonts.

If SynEdit detects, that a font may be proportional, or have sub pixels, 
or other features then it calls TextOut with a list of "to be enforced" 
charwidths. Telling the OS (or LCL/Widgetset) to output each char at the 
desired position.

So either Mac/Carbon/WidgetSet does not obey this charwidth-list. Or 
detection in SynEdit is broken (SynEdit can be forced to use the list, 
by using ExtraCharSpacing" option






More information about the Lazarus mailing list