macOS and the default font in fields

Paul Dupuis paul at
Mon May 24 17:19:30 EDT 2021

I am hoping some macOS guru out there can explain this in some way that 
makes sense.

LiveCode 9.6.x supports Windows 7 to 10 and macOS 10.9.5 and up (10.16 
aka 11.x aka Big Sur)

I wanted to know what the default fonts are for each OS and version for 
Windows and macOS. Google returned a number of sources, such as:

The above page is very clear for Windows > Segue UI for 7, 8, 8.1 and 10
Mac OS has Lucida Grande for Mavericks, then Helvetica Neue for Yosemite 
(10.10) and "San Francisco" from 10.11 and up, although this link above 
does not list 10.15 nor 10.16, but other google searches on Catalina say 
San Francisco.

My problem is "put the effective textFont of fld 1" for a new stack and 
single field, returns "Segue UI" on Windows (all versions I have tested on)

On Mohave (10.14) (my mac's OS), I get "(Text)" and futher, if I lick on 
properties for the field and the "A" or font properties and look at the 
font list under Mohave, there is NO "San Francisco". I see a couple 
Lucida Grande and a WHOLE LOT of Helvetica Neue's, but no "San Francisco"

Is the internet wrong on this or is this font hidden or what the heck is 
going on. If I search Apple's developer site for variations of 'Catalina 
default font' or 'Big Sur default font', I get to pages like: (for Big Sur, but pretty much 
the same for Catalina) where it list all installed fonts and there is a 
Lucida Grande and Helvetica Neue's, but again NO San Francisco.

I think I recall this came up previously as to why 'effective' textFont 
of an object does not return an ACTUAL font name, which still seems like 
a bug to me, but I vaguely recall there was some reason for it.

My objective is to store the defaults for a given OS and version on 
startup of my application, so that if the user uses existing controls to 
change fonts in various places, I cna provide a means to "Reset" them to 
the defaults

I gather from the Dictionary entries for textFont and fontNames that 
just setting the textFont of a field to "(Default)" will reset it to the 
applicable default for the control type (field) and OS and OS version. 
Does this work on Windows? If so, then WHY does "effective textFont" on 
Windows return Segue UI but on macOS returns (Text), another of these 
placeholder font names described in the fontNames function entry?

Any help making sense of this would be welcome.

More information about the use-livecode mailing list