raphamorim / rio

A hardware-accelerated GPU terminal emulator focusing to run in desktops and browsers.
https://raphamorim.io/rio
MIT License
4.01k stars 129 forks source link

Rio | Woops! error Font report #585

Closed Paulo-21 closed 3 months ago

Paulo-21 commented 3 months ago

Hello, Since the version 0.1.5 on windows when i open the rio terminal i have this error

image

This is my rio config file :

blinking-cursor = true
performance = "High"
disable-unfocused-render = false
use-fork = true
working-dir = "/Users/MyName/Desktop/code"
line-height = 1.0
theme = ""
padding-x = 0.0
cursor = "▇"
env-vars = []
option-as-alt = "false"
ignore-selection-fg-color = false

[navigation]
mode = "BottomTab"
color-automation = []
clickable = false
use-current-path = true
use-terminal-title = false
macos-hide-window-buttons = false

[window]
width = 600
height = 400
mode = "Windowed"

[background]

[shell]
program = "pwsh"
args = []

[fonts]
size = 18.0

[fonts.regular]
family = "cascadiamono"
weight = 400
style = "normal"

[fonts.bold]
family = "cascadiamono"
weight = 800
style = "normal"

[fonts.bold-italic]
family = "cascadiamono"
weight = 800
style = "italic"

[fonts.italic]
family = "cascadiamono"
weight = 400
style = "italic"

[developer]
enable-fps-counter = false
log-level = "OFF"

[bindings]
keys = []

Thank you for the great work !

raphamorim commented 3 months ago

Hey @Paulo-21 thanks for the issue!!

You need to update the font family name from “cascadiamono” to “cascadiacode”. The font was replaced in the latest version. Sorry for the inconvenience 🙏

raphamorim commented 3 months ago

@Paulo-21 will close this issue for now but lemme know if the rename didn't work and can reopen the issue. 🙏

Paulo-21 commented 3 months ago

Thank for your quick respond ! This work perfectly fine now

tukanoidd commented 2 months ago

(Sorry if got a notification prior, realized I was using my work account first) @raphamorim hey, having this isuse with a different font, "JetBrainsMono NerdFont", on NixOS. The fonts did indeed change, I used fc-list to ensure I changed to the right names/weights/styles, but it still can't find them.

Here's my nix config snippet:

      fonts = let
        family = "JetBrainsMono NF";
        otherFamily = "Iosevka Comfy Fixed";
      in {
        inherit family;
        size = 18;

        extras = [{family = otherFamily;}];

        bold = {
          inherit family;
          style = "Bold";
          weight = 200;
        };

        italic = {
          inherit family;
          style = "Italic";
          weight = 80;
        };

        regular = {
          inherit family;
          style = "Regular";
          weight = 80;
        };
      };

To make it easier for myself, I created this nushell function:

def "fonts info weight" [family: string --path = false, --names = false --styles = false] {
  let no_filters  = (not $path) and (not $names) and (not $styles);
  let filters = {path: $path, names: $names, styles: $styles}

  (fc-list :family=($family) weight) 
    | split row "\n"
    | each {$in | split row "=" | get 1 | str trim}
    | each {|$weight| 
      let weight_fonts = (fc-list :weight=($weight)) 
        | split row "\n" 
        | filter {$in | str contains $family}
        | each {
          let path_names_styles = $in | split row ": "
          let path = $path_names_styles | get 0 
          let names_styles = $path_names_styles | get 1 | split row ":style="
          let names = $names_styles | get 0 | split row ","
          let styles = $names_styles | get 1 | split row ","

          if $no_filters {
            return {path: $path, names: $names, styles: $styles}
          }

          mut res = {}

          if $filters.path {
            $res = $res | insert path {$path} 
          }

          if $filters.names {
            $res = $res | insert names {$names}
          }

          if $filters.styles {
            $res = $res | insert styles {$styles}
          }

          $res
        }

      {weight: $weight, fonts: $weight_fonts}
    }
}

That, with fonts info weight "JetBrainsMono NF" --styles=true --names=true | to json returns:

[
  {
    "weight": "0",
    "fonts": [
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP Thin"
        ],
        "styles": [
          "Thin Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF Thin"
        ],
        "styles": [
          "Thin",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP Thin"
        ],
        "styles": [
          "Thin",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM Thin"
        ],
        "styles": [
          "Thin",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF Thin"
        ],
        "styles": [
          "Thin Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM Thin"
        ],
        "styles": [
          "Thin Italic",
          "Italic"
        ]
      }
    ]
  },
  {
    "weight": "40",
    "fonts": [
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM ExtraLight"
        ],
        "styles": [
          "ExtraLight Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF ExtraLight"
        ],
        "styles": [
          "ExtraLight Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF ExtraLight"
        ],
        "styles": [
          "ExtraLight",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP ExtraLight"
        ],
        "styles": [
          "ExtraLight Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM ExtraLight"
        ],
        "styles": [
          "ExtraLight",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP ExtraLight"
        ],
        "styles": [
          "ExtraLight",
          "Regular"
        ]
      }
    ]
  },
  {
    "weight": "50",
    "fonts": [
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF Light"
        ],
        "styles": [
          "Light Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP Light"
        ],
        "styles": [
          "Light Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF Light"
        ],
        "styles": [
          "Light",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP Light"
        ],
        "styles": [
          "Light",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM Light"
        ],
        "styles": [
          "Light Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM Light"
        ],
        "styles": [
          "Light",
          "Regular"
        ]
      }
    ]
  },
  {
    "weight": "80",
    "fonts": [
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM"
        ],
        "styles": [
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP"
        ],
        "styles": [
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF"
        ],
        "styles": [
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM"
        ],
        "styles": [
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP"
        ],
        "styles": [
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF"
        ],
        "styles": [
          "Italic"
        ]
      }
    ]
  },
  {
    "weight": "100",
    "fonts": [
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM Medium"
        ],
        "styles": [
          "Medium Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP Medium"
        ],
        "styles": [
          "Medium",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF Medium"
        ],
        "styles": [
          "Medium",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP Medium"
        ],
        "styles": [
          "Medium Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM Medium"
        ],
        "styles": [
          "Medium",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF Medium"
        ],
        "styles": [
          "Medium Italic",
          "Italic"
        ]
      }
    ]
  },
  {
    "weight": "180",
    "fonts": [
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF SemiBold"
        ],
        "styles": [
          "SemiBold Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP SemiBold"
        ],
        "styles": [
          "SemiBold Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP SemiBold"
        ],
        "styles": [
          "SemiBold",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM SemiBold"
        ],
        "styles": [
          "SemiBold Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM SemiBold"
        ],
        "styles": [
          "SemiBold",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF SemiBold"
        ],
        "styles": [
          "SemiBold",
          "Regular"
        ]
      }
    ]
  },
  {
    "weight": "200",
    "fonts": [
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP"
        ],
        "styles": [
          "Bold Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM"
        ],
        "styles": [
          "Bold"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM"
        ],
        "styles": [
          "Bold Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF"
        ],
        "styles": [
          "Bold"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF"
        ],
        "styles": [
          "Bold Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP"
        ],
        "styles": [
          "Bold"
        ]
      }
    ]
  },
  {
    "weight": "205",
    "fonts": [
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM ExtraBold"
        ],
        "styles": [
          "ExtraBold Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP ExtraBold"
        ],
        "styles": [
          "ExtraBold Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Mono",
          "JetBrainsMono NFM",
          "JetBrainsMono NFM ExtraBold"
        ],
        "styles": [
          "ExtraBold",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font Propo",
          "JetBrainsMono NFP",
          "JetBrainsMono NFP ExtraBold"
        ],
        "styles": [
          "ExtraBold",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF ExtraBold"
        ],
        "styles": [
          "ExtraBold",
          "Regular"
        ]
      },
      {
        "names": [
          "JetBrainsMono Nerd Font",
          "JetBrainsMono NF",
          "JetBrainsMono NF ExtraBold"
        ],
        "styles": [
          "ExtraBold Italic",
          "Italic"
        ]
      }
    ]
  }
]

Tried both Nerd Font and NF variant, both fail.

I also made sure it's not coming from Iosevka font, if I run fonts info weight "Iosevka Comfy Fixed" --styles=true --names=true | to json:

[
  {
    "weight": "50",
    "fonts": [
      {
        "names": [
          "Iosevka Comfy Fixed",
          "Iosevka Comfy Fixed Light"
        ],
        "styles": [
          "Light",
          "Regular"
        ]
      },
      {
        "names": [
          "Iosevka Comfy Fixed",
          "Iosevka Comfy Fixed Light"
        ],
        "styles": [
          "Light Italic",
          "Italic"
        ]
      }
    ]
  },
  {
    "weight": "55",
    "fonts": [
      {
        "names": [
          "Iosevka Comfy Fixed",
          "Iosevka Comfy Fixed SemiLight"
        ],
        "styles": [
          "SemiLight Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "Iosevka Comfy Fixed",
          "Iosevka Comfy Fixed SemiLight"
        ],
        "styles": [
          "SemiLight",
          "Regular"
        ]
      }
    ]
  },
  {
    "weight": "80",
    "fonts": [
      {
        "names": [
          "Iosevka Comfy Fixed"
        ],
        "styles": [
          "Italic"
        ]
      },
      {
        "names": [
          "Iosevka Comfy Fixed"
        ],
        "styles": [
          "Regular"
        ]
      }
    ]
  },
  {
    "weight": "100",
    "fonts": [
      {
        "names": [
          "Iosevka Comfy Fixed",
          "Iosevka Comfy Fixed Medium"
        ],
        "styles": [
          "Medium",
          "Regular"
        ]
      },
      {
        "names": [
          "Iosevka Comfy Fixed",
          "Iosevka Comfy Fixed Medium"
        ],
        "styles": [
          "Medium Italic",
          "Italic"
        ]
      }
    ]
  },
  {
    "weight": "180",
    "fonts": [
      {
        "names": [
          "Iosevka Comfy Fixed",
          "Iosevka Comfy Fixed Semibold"
        ],
        "styles": [
          "Semibold",
          "Regular"
        ]
      },
      {
        "names": [
          "Iosevka Comfy Fixed",
          "Iosevka Comfy Fixed Semibold"
        ],
        "styles": [
          "Semibold Italic",
          "Italic"
        ]
      }
    ]
  },
  {
    "weight": "200",
    "fonts": [
      {
        "names": [
          "Iosevka Comfy Fixed"
        ],
        "styles": [
          "Bold Italic"
        ]
      },
      {
        "names": [
          "Iosevka Comfy Fixed"
        ],
        "styles": [
          "Bold"
        ]
      }
    ]
  },
  {
    "weight": "205",
    "fonts": [
      {
        "names": [
          "Iosevka Comfy Fixed",
          "Iosevka Comfy Fixed Extrabold"
        ],
        "styles": [
          "Extrabold Italic",
          "Italic"
        ]
      },
      {
        "names": [
          "Iosevka Comfy Fixed",
          "Iosevka Comfy Fixed Extrabold"
        ],
        "styles": [
          "Extrabold",
          "Regular"
        ]
      }
    ]
  }
]

the font is found without an issue.

Does it have something to do with weights being so small compared to the ones used in the docs? Before i did use to have 400/800 but since fc-list showed be smaller values, I used them. Or are those values from fc-list inaccurate?

raphamorim commented 2 months ago

@tukanoidd thank you for the message, could you open a new issue with this comment? (Easier for me to track)

tukanoidd commented 2 months ago

@tukanoidd thank you for the message, could you open a new issue with this comment? (Easier for me to track)

sure

tukanoidd commented 2 months ago

https://github.com/raphamorim/rio/issues/642 new issue