You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Inconsistent baseline of Rec Mono fonts between regular and italic/bold in Sublime Text on Windows 10 #418
In Sublime Text 3.2.2, the italic and bold versions of the "Rec Mono" fonts (Recursive_Code folder, Version 1.066) are shifted towards the bottom by a significant amount, in comparison to the regular font version. This happens at all font sizes. The same applies to custom fonts generated via https://github.com/arrowtype/recursive-code-config (Version 1.065). The issue doesn't occur in VS Code or Atom with the same font files. Also, the pregenerated static versions (Recursive_Desktop folder) don't suffer from this problem in Sublime Text, but they seem to have larger discrepancies between opening and closing brackets at certain font sizes than the "Rec Mono" versions (#297).
Screenshots
Example with "Reg Mono Linear":
Environment
OS: Windows 10 v2004
Application: Sublime Text 3.2.2
Fonts: Rec Mono fonts v1.066 from Recursive_Code folder and Rec Mono Custom v1.065
Additional context
I'm not sure if this problem is the same or related to #308.
Ouch, that is some painful misalignment! 😅 Thanks for taking the time to write an issue and to include some clear screenshots.
I will try to take a look at this asap – I will check whether the vertical metrics are the same or not, and whether some of the styles have points that are somehow a lot higher or lower.
I’ve also run into an issue similar to #297 on another project, and realized that sometimes, opening & closing punctuation just can use one another as components, as text renderers just seem to mess this rotation up for some reason. So, I’ll probably look into (and hopefully fix) both of these issues at the same time.
The issue doesn't occur in VS Code or Atom with the same font files.
I'm not 100% sure if this is the same problem, but it definitely seems to happen in VSCode as well:
Notice how the lines with comments (= italic/curly) are positioned slightly lower than the others. You can see it jump around whenever it switches to italics.
It's also very apparent in Windows Terminal if you switch the terminal font from Regular to Bold - major line height difference:
However, it seems possible that Windows code environments might be looking at min & max Y coordinates, and setting line heights based in part on that. From the head tables:
I’m realizing that the original comment in this issue helpfully shows that the normal (non "Code") fonts do have proper alignment, so I should really be diffing the Code fonts against the normal fonts. To be continued!
I’ll keep this in mind and try to solve it, but I probably won’t crack it immediately.
I know this isn’t what anyone probably wants to hear, but for now, the workarounds I suggest are:
Use the standard Recursive fonts (not the "Code" fonts). This won’t allow the “Duotone” theming, but it will render (mostly) better. When these are installed, you can activate them with either Recursive Mn Lnr St (Linear) or Recursive Mn Csl St (Casual). If you want to enable stylistic sets or code ligatures, you can do so with a preference in the format "font_options": ["ss01", "ss05", "dlig"]. (Caveat: some code ligatures, like <=, aren’t working in Sublime, despite working elsewhere.)
Use VS Code. Things seem to be working well here. (Sorry!)
changed the title [-]Inconsistent baseline of Rec Mono fonts between regular and italic/bold in Sublime Text[/-][+]Inconsistent baseline of Rec Mono fonts between regular and italic/bold in Sublime Text on Windows 10[/+]on Feb 14, 2021
I just tried the new font files from the zip and can confirm that everything works fine for me now.
Thanks a lot for fixing this problem and for this great typeface in general!
Activity
arrowtype commentedon Nov 12, 2020
Ouch, that is some painful misalignment! 😅 Thanks for taking the time to write an issue and to include some clear screenshots.
I will try to take a look at this asap – I will check whether the vertical metrics are the same or not, and whether some of the styles have points that are somehow a lot higher or lower.
I’ve also run into an issue similar to #297 on another project, and realized that sometimes, opening & closing punctuation just can use one another as components, as text renderers just seem to mess this rotation up for some reason. So, I’ll probably look into (and hopefully fix) both of these issues at the same time.
seritools commentedon Nov 26, 2020
I'm not 100% sure if this is the same problem, but it definitely seems to happen in VSCode as well:
Notice how the lines with comments (= italic/curly) are positioned slightly lower than the others. You can see it jump around whenever it switches to italics.
It's also very apparent in Windows Terminal if you switch the terminal font from Regular to Bold - major line height difference:


arrowtype commentedon Dec 17, 2020
Looking into this, so I’ll make some notes.
Notable diffs between Rec Mono Duotone, Regular & Bold
It is notable that there aren’t diffs (and shouldn’t be) in the key data entries that are supposed to set vertical metrics for fonts:
However, it seems possible that Windows code environments might be looking at min & max Y coordinates, and setting line heights based in part on that. From the
headtables:Full diffs for Rg/Bold, tables head, hhea, OS/2 (Click to expand)
Regular vs Italic
In Rec Mono Duotone, Regular vs Italic, the yMax value is the only potentially-meaningful diff:
Full diffs for Rg/Ital, tables head,hhea,OS/2 (Click to expand)
Next steps
It’s of course possible that this could be caused by something else, but the first thing I’ll test is setting consistent yMin & yMax values.
headtable has values specific to the default source, Sans Linear Light)arrowtype commentedon Jan 4, 2021
(Taking some notes here for myself.)
After checking all sources in the font prep folder, I’ve found that
With the previous version of Rec Mono Duotone (1.070), I have reproduced the issues on Windows 10:
Unfortunately, even after setting the min & max Y values to be the same across all fonts, the problem persists:
This test was done in https://github.com/arrowtype/recursive-code-config/tree/c3535664790abb8866a6c1acdad122749223f42c.
I’m realizing that the original comment in this issue helpfully shows that the normal (non "Code") fonts do have proper alignment, so I should really be diffing the Code fonts against the normal fonts. To be continued!
arrowtype commentedon Jan 4, 2021
RecursiveMonoLnrSt-Italic.ttf(normal) vsRecMonoLinear-Italic-1.070.ttf(Code).Rec Mono excludes the
BASEtable, while it is included in the normal font. This might be the cause of the issue, but I need to research further.The fsSelection is also different – I should run FontBakery on the Rec Mono fonts to check again whether they are set incorrectly here.
arrowtype commentedon Feb 13, 2021
It tentatively seems that this issue might have the same solution as #308. Testing the variable font, this look promising:
I’ll still have to follow up with tests of the Code fonts, however, to confirm & hopefully close this issue.
arrowtype commentedon Feb 14, 2021
Shoot. Unfortunately, solving issue 308 hasn’t changed this, yet.
I’ll keep this in mind and try to solve it, but I probably won’t crack it immediately.
I know this isn’t what anyone probably wants to hear, but for now, the workarounds I suggest are:
Recursive Mn Lnr St(Linear) orRecursive Mn Csl St(Casual). If you want to enable stylistic sets or code ligatures, you can do so with a preference in the format"font_options": ["ss01", "ss05", "dlig"].(Caveat: some code ligatures, like<=, aren’t working in Sublime, despite working elsewhere.)[-]Inconsistent baseline of Rec Mono fonts between regular and italic/bold in Sublime Text[/-][+]Inconsistent baseline of Rec Mono fonts between regular and italic/bold in Sublime Text on Windows 10[/+]arrowtype commentedon Feb 19, 2021
Okay, I think I may have cracked this (!).
I set the
fsSelectionbit 7 (Use Typo Metrics).@jwortmann (or someone else) would you mind testing the fonts at the latest Recursive Code commit?
For convenience, here is a zip of them:
rec_mono_code-patch-2020_02_19.zip
(Just make sure to Install over the previous versions)
jwortmann commentedon Feb 19, 2021
I just tried the new font files from the zip and can confirm that everything works fine for me now.
Thanks a lot for fixing this problem and for this great typeface in general!
I think this issue can be closed now.
arrowtype commentedon Feb 19, 2021
YESSSS thank you for confirming that! I'll add these to the release as a "hotfix" now.
arrowtype commentedon Feb 19, 2021
Updated in https://github.com/arrowtype/recursive/releases/tag/v1.074
add code fonts with fixes to #418
Merge commit '59b61c05ccb03f0b1ad9c7ebf0dd2d2a87f60446' into ccmp_loc…