on the use of system font:

the only correct (that is, intended) way to use the system font in 4D is to use 
it indirectly with the automatic stylesheet feature.

it is NOT recommended to use "system font" via the default stylesheet, or any 
stylesheet, except the automatic stylesheet, or change an object's font to 
"system font" using OBJECT SET FONT. all these features simply reference the 
font by its name, but the system font is not just another font name, it is more 
than that.

from a technical point of view, it is resolved via the Theme API on Windows
https://msdn.microsoft.com/en-us/library/windows/desktop/bb773210(v=vs.85).aspx
and CoreText API on macOS.
https://developer.apple.com/documentation/coretext/ctfont?language=objc

the system font is rendered according to context, that is, the control (form 
object) type, its size (notably its height) the screen DPI on Windows and even 
the language or languages that appear in the text. if you simply apply the SF 
font like any other font, you won't get the full benefit of the system font 
feature.

it is a hidden font name, with a dot prefix. one way to use it (defying the 
designer's intent) is to create an HTML with the CSS style (you can find ways 
to do that on the internet), open it in a web browser, copy and paste the text 
(with style) to an editor (iWorks, TextEdit, anything), and then register that 
font in the system font panel as a favourite. once you know its hidden name, 
you can use it in 4D as well. but it won't behave the same way as the system 
font let alone the automatic stylesheet, you are intentionally using a static 
subset of those dynamic features against the designer's intent.



**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to