Roboto Mono doesn't work with Windows Terminal but is fine on Ubuntu, macOS and legacy win console #6915

Closed
opened 2026-01-31 00:50:26 +00:00 by claunia · 4 comments
Owner

Originally created by @SidShetye on GitHub (Mar 16, 2020).

Roboto Mono is a great font face by Google and there are powerline variants (here). These fonts are great on Linux, macOS and even the legacy Windows console but the new terminal cannot display this awesome font.

Environment

Windows build number: Microsoft Windows NT 10.0.18363.0
Windows Terminal version (if applicable): 0.9.433.0

Any other software? Roboto Mono fonts (here).

Note that there is also a patched version of those fonts(here) which has IsFixedPitch patched but that doesn't seem to affect anything based on this GitHub comment

Setting the isFixedPitch flag with ttx does not make this font available in the windows console properties (even after changes to the registry, that are not really required for the TrueType fonts in Windows 10), although it can be now selected in programs like Vim. Something else needs to be changed.

Steps to reproduce

  1. Download the fonts from the above places
  2. Unzip and install
  3. edit Terminal's profiles.json to have that font referenced. Trying any of the variants (powerline or not, thin vs regular etc) has no effect
{
 // snip
"profiles" : {
        "defaults": {
            // "fontFace" : "Roboto Mono Thin for Powerline", // OR
            // "fontFace" : "Roboto Mono for Powerline",  // OR
            "fontFace" : "Roboto Mono",
            "fontSize" : 11,
            "snapOnInput" : true,
            "startingDirectory" : "%USERPROFILE%",
            "useAcrylic" : false,
            "historySize" : 9001,
            "closeOnExit" : true,
            "acrylicOpacity" : 0.5
        },
        "list" : [  
      // snip   
}
  1. Save and be disappointed!

Expected behavior

Terminal picks up the font and renders the terminal

Actual behavior

Roboto Mono does not loaded, it appears to default to consolas or cascadia.

Fonts work fine in other environments

Legacy windows console

This is Powershell 7 with Roboto Mono for Powerline in the traditional console window. It seems to work (although the Thin and Light variants are missing in the font picker.

image

macOS

image

Originally created by @SidShetye on GitHub (Mar 16, 2020). Roboto Mono is a great font face [by Google](https://fonts.google.com/specimen/Roboto+Mono) and there are powerline variants ([here](https://github.com/powerline/fonts/tree/master/RobotoMono)). These fonts are great on Linux, macOS and even the legacy Windows console but the new terminal cannot display this awesome font. # Environment ```none Windows build number: Microsoft Windows NT 10.0.18363.0 Windows Terminal version (if applicable): 0.9.433.0 ``` Any other software? Roboto Mono fonts ([here](https://github.com/powerline/fonts/tree/master/RobotoMono)). Note that there is also a patched version of those fonts([here](https://github.com/yurakl/fonts)) which has `IsFixedPitch` patched but that doesn't seem to affect anything based on this [GitHub comment](https://github.com/google/fonts/issues/225#issuecomment-241315613) > Setting the `isFixedPitch` flag with ttx does not make this font available in the windows console properties (even after changes to the registry, that are not really required for the TrueType fonts in Windows 10), although it can be now selected in programs like Vim. Something else needs to be changed. # Steps to reproduce 1. Download the fonts from the above places 2. Unzip and install 3. edit Terminal's `profiles.json` to have that font referenced. Trying any of the variants (powerline or not, thin vs regular etc) has no effect ``` { // snip "profiles" : { "defaults": { // "fontFace" : "Roboto Mono Thin for Powerline", // OR // "fontFace" : "Roboto Mono for Powerline", // OR "fontFace" : "Roboto Mono", "fontSize" : 11, "snapOnInput" : true, "startingDirectory" : "%USERPROFILE%", "useAcrylic" : false, "historySize" : 9001, "closeOnExit" : true, "acrylicOpacity" : 0.5 }, "list" : [ // snip } ``` 4. Save and be disappointed! # Expected behavior Terminal picks up the font and renders the terminal # Actual behavior Roboto Mono does not loaded, it appears to default to consolas or cascadia. # Fonts work fine in other environments ## Legacy windows console This is Powershell 7 with `Roboto Mono for Powerline` in the traditional console window. It seems to work (although the `Thin` and `Light` variants are missing in the font picker. ![image](https://user-images.githubusercontent.com/2595088/76803644-8ce8a180-6797-11ea-85eb-f44881d91377.png) ## macOS ![image](https://user-images.githubusercontent.com/2595088/76804878-a5a68680-679a-11ea-8fd0-e8a3a53d65e2.png)
claunia added the Needs-TriageNeeds-Tag-FixNeeds-Attention labels 2026-01-31 00:50:26 +00:00
Author
Owner

@DHowett-MSFT commented on GitHub (Mar 16, 2020):

It seems to work fine for me. I've installed "Roboto Mono for Powerline" (note: not "Roboto Mono Medium for Powerline"; if you've installed this version, make sure you're asking for the right font name. We're using font face names in Terminal, not font family names.)

image

@DHowett-MSFT commented on GitHub (Mar 16, 2020): It seems to work fine for me. I've installed "Roboto Mono for Powerline" (note: not "Roboto Mono Medium for Powerline"; if you've installed this version, make sure you're asking for the right font name. We're using font _face_ names in Terminal, not font _family_ names.) ![image](https://user-images.githubusercontent.com/14316954/76806135-db993a00-679d-11ea-9bef-ce401152f09e.png)
Author
Owner

@DHowett-MSFT commented on GitHub (Mar 16, 2020):

When I install and request Light specifically,
image
it also works.

EDIT Hold up

@DHowett-MSFT commented on GitHub (Mar 16, 2020): > When I install and request Light specifically, > ![image](https://user-images.githubusercontent.com/14316954/76806212-06838e00-679e-11ea-9e06-558a47d7b5d5.png) > it also works. **EDIT** Hold up
Author
Owner

@DHowett-MSFT commented on GitHub (Mar 16, 2020):

Okay, I had it mixed up a bit. We're using some font name, such that if I install "Roboto Mono Light for Powerline" as the only font, I can set my profile font to be "Roboto Mono for Powerline" and it picks up the "Light" variant. That's not great, but that might be the same as #1163

@DHowett-MSFT commented on GitHub (Mar 16, 2020): Okay, I had it mixed up a bit. We're using _some font name_, such that if I install "Roboto Mono Light for Powerline" as the only font, I can set my profile font to be "Roboto Mono for Powerline" and it picks up the "Light" variant. That's not great, but that might be the same as #1163
Author
Owner

@SidShetye commented on GitHub (Mar 17, 2020):

Okay, I had it mixed up a bit. We're using some font name, such that if I install "Roboto Mono Light for Powerline" as the only font, I can set my profile font to be "Roboto Mono for Powerline" and it picks up the "Light" variant. That's not great, but that might be the same as #1163

Yes, that works

Thanks for spelling it out clearly. Using the exact string you mentioned (Roboto Mono for Powerline), it does indeed work, so I'll go ahead and close this issue.

Usability suggestion

I do think font selection required some usability improvements. Asking the user to provide a 'magic' string is setting them up for failure because if you double click the font, the windows font tool suggests Roboto Mono Light for Powerline as the name string. Perhaps use that string as a fallback till Terminal has a GUI font picker?

image

Question

When the font is opened in FontForge and go to element (menu bar) -> font info, I see

  • Font name: Roboto Mono Light for Powerline
  • Font Family name: Roboto Mono Light for Powerline (strange ... I'd have expected Roboto Mono but that's besides the point ... )

image

So where is Terminal picking up Roboto Mono for Powerline as it's ID string?

@SidShetye commented on GitHub (Mar 17, 2020): > Okay, I had it mixed up a bit. We're using _some font name_, such that if I install "Roboto Mono Light for Powerline" as the only font, I can set my profile font to be "Roboto Mono for Powerline" and it picks up the "Light" variant. That's not great, but that might be the same as #1163 ### Yes, that works Thanks for spelling it out clearly. Using the exact string you mentioned (`Roboto Mono for Powerline`), it does indeed work, so I'll go ahead and close this issue. ### Usability suggestion I do think font selection required some usability improvements. Asking the user to provide a 'magic' string is setting them up for failure because if you double click the font, the windows font tool suggests `Roboto Mono Light for Powerline` as the name string. Perhaps use that string as a fallback till Terminal has a GUI font picker? ![image](https://user-images.githubusercontent.com/2595088/76808452-105cbf80-67a5-11ea-9d10-5967cf73e75d.png) ### Question When the font is opened in [FontForge](https://fontforge.org/en-US/) and go to `element` (menu bar) -> `font info`, I see * Font name: `Roboto Mono Light for Powerline` * Font Family name: `Roboto Mono Light for Powerline` (strange ... I'd have expected `Roboto Mono` but that's besides the point ... ) ![image](https://user-images.githubusercontent.com/2595088/76809381-df31be80-67a7-11ea-8f88-aba441cf1513.png) So where is Terminal picking up `Roboto Mono for Powerline` as it's ID string?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#6915