Standardize Font Appearance

Neville Smythe neville.smythe at
Tue Sep 13 22:19:12 EDT 2022

I agree Richard text management is a lot better than it used to be but problems remain. 

Text strings on Windows standalones used to be longer than on Mac. It was a painful process to find a label which had been clipped in Windows, fix it in the Mac IDE, compile, copy to a Windows box, only to find another label that hadn’t been supplied with enough padding so back the drawing board. If you were developing on Windows you didn’t see this problem, since Mac strings were shorter. I am pretty sure this problem has gone away, strings rendered in a TrueType font on Mac and Windows now have the same length. [Was this really a fix in LC, or a change in the Windows 10 font engine? If the LC team did it I am lost in admiration, a fantastic piece of work! I thought LC just left it to the operating system to draw the text.] On Linux however the problem remains, strings can be longer or shorter than on the other platforms.

Vertical placement is the remaining problem: strings in Windows typically appear 2 or 3 pixels below the Mac equivalent. Mostly this is a trivial problem. But it can cause havoc if your interface has closely packed items. I offer the following fable as a demonstration.

I am working on a Mac, designing an app for deployment on Mac and Windows. I select a stock-standard label object, drawn as a box with a border thickness 1 pixel. If I leave the default font to (Message) then the fonts used will be different on the two platforms, and I don’t want that. I have a fondness for smallish 12pt labels and Times New Roman font. Shouldn’t be a problem since Times New Roman exists on Windows (not on Linux of course). They won’t look *exactly* the same because the device resolutions and antaliasing algorithms are different etc, but only a perfectionist would care, and I know the text won’t be clipped because the lengths are same (not on Linux of course, even if I instal Time New Roman) Hmm, the text, which was nicely vertically centered in its box, has moved up a bit, I wonder why? Easily fixed, just set the top margin to 9, yes that is just right. Now  I need a text field next to my label, with the baseline of the text aligned with the label text. But the font for this field has to be different, say Arial 36pt (Arial is course is installed on Windows. Not on Linux of course.). Gee, the text which was pretty much aligned is now way out of kilter. There is no IDE command to align text, but easily fixed, just move the field up a bit. Finally I want to draw a red line just under the two text strings, at the point where LC would draw text baselines.

You can see screen grabs of the resulting Mac and Windows standalones at <> <>

Or you can read the reviews from the influential Good Design Now!!!!! magazine

Mac review: Everything looks fine. Simple, boring interface. -1 for the retro box and -1 for mixing fonts. 3 stars.

Windows review: Wow! Quirky unbalanced placing of the label in its box. Fashionable haphazard alignment of text. And an ultramodern red line slashing through the text. An (unintended) brilliancy. 5 stars. (But if that red line had been a more substantial object, text would have been clipped, 0 stars.)


More information about the use-livecode mailing list