A Few Font Anomalies

A few unexpected things happen in iPhone Scrivener v iPad Scrivener v Mac Scrivener with respect to fonts. I suspect this comes down to differences—possibly bugs—in Apple’s TextKit, but I’ll make L&L and the forum iOS community aware of them. :smiley:

  • Strangeness with glyph substitutions in monospace fonts in general
    []In Mac Scriv, if a monospace font is missing a glyph (in particular, arrows or a math symbol) the symbols are pulled from the Monaco font. (You can test this by putting an odd math symbol, say the therefore operator, into text formatted with Courier Prime. Just that symbol will have Monaco as its font.) In iOS Scriv, however, there is no Monaco font. Menlo is an Apple-provided mono font that has most if not all of these, but for some reason the glyphs are pulled from Ping Fang SC (a proportional font) instead! This not only looks bad on iOS, but if I edit the containing paragraph this font change also persists even when returning to Mac Scriv.
    [*]Strangeness with glyph substitutions and ligatures in JetBrains Mono in particular

  • Keeping in mind the above strangeness, I use only monospaced fonts that contain the symbols I want, in order to avoid this problem. One of my go-to fonts is JetBrains Mono, which has an extensive library of these (Hack has more, but has other problems for me.) Nonetheless, I’ve had to stop using JetBrains due to the fact that, apparently, iPadOS Scriv (or Apple iPadOS TextKit) doesn’t recognize that JetBrains contains, for example, right arrow, left arrow, up arrow, and down arrow. Despite the fact that the characters display just fine in JBM on Mac and on my iPhone, on iPad they are always taken from Ping Fang SC, with the problems described above. Other mono fonts with these glyphs (Victor Mono, Recursive Casual Mono, Space Mono, Camingo Code, and Hack) display just fine on all 3 platforms.

  • Finally, another iPadOS-only… difference in display with JetBrains. JetBrains, along with other modern coding fonts such as Victor Mono, provides an extensive set of ligatures for code operators. As an old coder, I find these ligatures pleasing and useful as abbreviations in my notes (along with math symbols, same purpose.) For some reason, the ligatures for “/” and “/” display on iPadOS Scrivener, but display as separate characters on iPHone and on Mac.

If it weren’t for Ping Fang SC being used as a substitute on both iPadOS and iOS Scriv on all mono fonts with missing glyphs, I’d call JetBrains Mono “broken, or at least weird” and move on. But that irritating choice of a proportional font to display missing glyphs in a monospaced font—that’s a bug. Maybe Apple’s, maybe L&L’s, but a bug.

This isn’t a problem for me, but I’m really curious how or why a Simplified Chinese font—PingFang SC—is being used as the substitute,

Of course you can upload Monaco onto your iPhone and iPad, which might—I say might because I don’t know how substitute fonts are chosen … the above being an example—solve the problem.



Simplified Chinese? So that’s what it is. I’d wondered. I’ll try Monaco, but some Mac characters are coming from Lucida Grande (tried some new ones.)

I don’t have a problem with the substitutions in places like the synopses which are plain text anyway, as long as I have a way to output hard copy when I need to that doesn’t mess up. But I"m rather OCD about things lining up in my manuscript (decades as a programmer will do that. Proportional fonts are just so sloppy…). :neutral_face: