Ability to Specify System Font (e.g., “San Francisco”) for a Theme

Idea created by mark_scott on Mar 13, 2016

    (Note: to support cross-platform deployment or versions of OS X before Mavericks, this feature would require being able to specify a fallback stack, as suggested here.)


    The problem: If you’re like me, and especially if you know your FileMaker solutions are going to be run only on OS X and/or iOS, you probably have wondered by now just how you can use the new system font, “San Francisco,” in your solutions. The answer is that you can’t, at least not directly. If you’ve upgraded to El Capitan and looked for San Francisco in your font menus or FontBook, you’ve noticed that it’s nowhere to be found.


    The reason is that San Francisco is a hidden font (as was the display-optimized version of Helvetica Neue used in Yosemite), available only through system APIs or by specifying it in CSS as a system font. (The exact markup syntax for using it on a webpage is “font-family: -apple-system, … fallback font list …"; if you're on El Capitan, you can try it here, making sure to place it at the front of the stack.) Yes, you can download and install the San Francisco font family from the Apple Developer website, but the EULA explicitly prohibits using it directly for anything other than “mock-ups of user interfaces to be used in software products running on Apple’s iOS or OS X operating systems,” and does not allow transfer, embedding, distribution, etc. of the font files. (It seems that calling the “-apple-system” font in css-styled content, is allowed. See, also, the thorough discussion in Craig Hockenberry’s excellent “I Left My System Fonts in San Francisco” blog post.)


    The proposal: In conjunction with being able to specify a font stack for a theme (separate proposal), we should be able to place a call to the system font at the top of that stack. That will get us San Francisco on El Capitan or iOS 9 clients, Helvetica Neue on Yosemite or iOS 7/8 clients, Lucida Grande on Mavericks clients, and will fall back to other fonts listed in the stack for other clients (including pre-Mavericks OS X).


    Under the hood, FileMaker would write the vendor-prefixed “-apple-system” font to the top of the font-family stack. Actually, since we’re developing databases (emphasis on “data”), the correct under-the-hood markup should be “-apple-system-monospace-numbers”—see comment here by Timothy Hatcher, Apple’s WebKit Developer Experience Manager—because “-apple-system” will result in proportionally spaced digits, which are the default for San Francisco but not so desirable for displaying numeric data.