Actually it is possible to ensure the baselines of fields are consistent across platforms without having to use conditionals.
From experimentation it appears that the baseline is given (relative to the top of the field) by the top margin - 3*fontAscent/4 -1 where the fontAscent is item 2 of measureText(text,fld,”bounds”) (note this is a negative number; in macOS it is the traditional font ascent, in Windows I think it is the traditional font top ) Since the bottom margin is ignored in this placement, we can force the baseline to be at the bottom margin as follows: put the margins of fld “foo" into tMargins put item 4 of tMargins into tBottomMargin put measuretext(fld “foo",fld “foo",bounds) into tFontInfo put 1 + the height of fld “foo” - tBottomMargin + round(3*(item 2 of tFontInfo)/4) into tTopMargin put tTopMargin into item 2 of tMargins set the margins of fld “foo" to tMargins The pixel length of text however cannot be made consistent across platforms, and one can only allow some extra padding to make sure the text appears unmangled. My very limited experiments with just the fonts NotoSans and NotoSerif at textSize 13 and the text “A standard label:” indicate that Mac Monterey and Windows 10 : text widths are the same Mac High Sierra : about 8% longer Linux Ubuntu: about 15% longer (!!) Other fonts differ more widely between platforms and system versions (perhaps most weirdly 13pt Times on the Mac looks like 9pt) Neville Smythe _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode