Hello! I’m desperate for help with font display/rendering in the latest version of Scrivener. I’ve searched help forums and come up empty-handed. No matter what font I try, there seems to be an issue with how it’s displayed on screen in the Editor. Either the kerning or anti-aliasing is way off or the spacing between certain letters isn’t uniform. (There’s almost an entire space after “m” and “v” for example. I have image examples, but this dialogue isn’t letting me upload them.) It’s impossible to read and work with as the eye strain is too much. I’d appreciate any help or suggestions as to how to correct this problem. As is, Scrivener 3 is impossible to use.
This previous discussion should help with the rendering of fonts in the editor.
Thank you so much for your suggestions, AmberV. I haven’t tried an export yet, so I’m not sure how the issue is impacting that. I did make the change as suggested in the thread you linked, but it had no impact on how fonts are showing in the Editor.
After more testing on my part, the problem seems to be related to the interface between font size and zoom, but there’s no logic to it. At 14pt font and 158% zoom, the fonts render normally. At 14pt font and 150% zoom, everything goes wonky. At 100% zoom and 22pt font, it’s normal again. But at 100% and 18pt font, it’s all messed up. It’s like if you get the font to the right size to read on the screen, it goes bananas. But if it’s too small or too big, then it’s fine, but then you make the tiniest change and it throws everything off again. It’s so weird.
That sounds a bit like rounding errors to me. Most of these sizes are internally calculated with floating points, but when it gets down to drawing pixels you can’t just use .281 of a pixel, it’s got to be on or off. I haven’t seen too many issues like that myself, but I tend to leave my zoom setting at 100% and adjust the font size itself to suit my eyes. Since Scrivener is the type of program that reformats when you compile, it doesn’t matter nearly so much if you use a 22pt font while writing. In a word processor you pretty much are chained to zoom settings. In Scrivener it’s almost superfluous.
(I guess another important caveat is that I vastly prefer fixed-width fonts for writing, which tend to have less of a chance of producing weird spacing issues, since spacing a fixed-width font is super basic. Everything is the same width apart. So that may be why I don’t see too many issues.)
Thank you again for your help. It’s so appreciated. I totally agree with the font size while composing. It’s entirely irrelevant until you compile and export. As for this problem, it’s occurring at all zoom percentages and/or font sizes. I would assume that 100% zoom should be able to render all fonts and font sizes accurately, but it’s not. At 100% zoom, fonts are okay at some font sizes and wonky at others. The problem appears to occur randomly (though I’m sure it’s related to rounding errors, as you say).
It sounds like there isn’t a fix here. I have to either abandon Scrivener 3 (and continue to use 1.9 which doesn’t have this issue) or hunt and peck for some combination in 3 that doesn’t scramble the font and hope and pray it doesn’t abruptly change on me.
Windows’ font rendering is optimized for low resolution displays, aiming for nicer looks instead of ideal proportions. Thats not a good starting point to begin with.
Yeah, rounding could still be a factor at 100%, though it should be less common. It all depends on how the underlying text engine is handling things, and that’s a level of code I’m not familiar with—and indeed a level of code we don’t have too much control over: the actual mapping of glyphs from a font into pixels on the screen. The hinting settings I referred you to are the level of access we have in the toolkit, we’ve exposed those internal flags as settings you can control.
It sounds like there isn’t a fix here.
So yeah, unfortunately there is a limit to what we can do about this kind of stuff. It’s the double-edged sword of using programming toolkits. On the one hand you aren’t reinventing 30 years of technology all by yourself, from scrollbars to typography. On the other hand you’re sometimes stuck with bugs and issues you can’t do much about.
I’d suggest trying a few similar fonts out. Some work better than others, and you may find some font formats work better than others. If you have the option for you preferred font, maybe the OTF doesn’t work well, but the TTF will. I have some fonts that just look horrible on Windows (in and out of Scrivener), but fine on Linux or Mac, and vice versa. Some work fine in LibreOffice and look bad in Scrivener. But if you can find a good combination that you’ll be happy with for the indeterminate future, then it’s problem solved and you don’t have to downgrade.
Thanks again everyone’s help. The problem does occur even with monospace fonts (had to check that out after you mentioned it, AmberV). But it helps to know what my options are at this point, so thank you.
I’ve been using monospace Courier Prime 12, at 125% editor zoom in the editor / 175% in Composition Mode, with Windows scaling set to 100% at 1920 x 1080 resolution.
I don’t see the issues you’ve mentioned.
I recognize there are probably more variables at play than the mouthful I’ve listed above, but if you’re still experimenting with different fonts, you might want to give Courier Prime a try.
It’s worth checking if you have the latest and greatest drivers installed for your video card and monitor. You may also want to see if you have the latest firmware installed on your PC, sometimes there can be weird little bugfixes there as well.