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

Configure font for character ranges #124

Open LiHRaM opened 1 year ago

LiHRaM commented 1 year ago

The kitty terminal has a very nice way of supporting powerline / alternative fonts without having to patch your current preferred font, which is the symbol_map feature.

Docs: https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.symbol_map

You can set any font as your default font for the terminal, and then you can define which symbols would be rendered using another font using the symbol_map. I would love to something like this in Rio.

raphamorim commented 1 year ago

I didn't even know about it, thank you very much for sharing @LiHRaM . For now I will move to wishlist to evaluate it later 👌

raphamorim commented 1 year ago

Connected: #135

Rio added a fallback for font icons as wezterm have, but would be nice to have the symbol map, so as you mention you could choose which font to use for specific symbol maps.

hustcer commented 1 year ago

How to configure the fallback fonts ? I want to add a fallback font for CJK characters. Thanks

Rio added a fallback for font icons as wezterm have

raphamorim commented 1 year ago

How to configure the fallback fonts ? I want to add a fallback font for CJK characters. Thanks

@hustcer like this

[fonts]
extras = [{ family = "Microsoft JhengHei" }]
hustcer commented 1 year ago

@hustcer like this

[fonts]
extras = [{ family = "Microsoft JhengHei" }]

Thanks, I have tried it the first time 0.0.22 was released, but it didn't work for me, my config:


cursor = '|'
blinking_cursor = true
performance = "High"
theme = "dracula"
ignore_theme_selection_fg_color = false
padding-x = 0
option-as-alt = 'both'

[window]
width = 1000
height = 600
opacity = 1.0
mode = "Windowed"

[fonts]
size = 26
extras = [
  { family = "PingFang SC" },
  { family = "Sarasa Gothic SC" },
]

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

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

[fonts.italic]
family = "Fira Code"
style = "italic"
weight = 400

[fonts.bold-italic]
family = "Fira Code"
style = "italic"
weight = 800
raphamorim commented 1 year ago

@hustcer did you install using cargo?

hustcer commented 1 year ago

@hustcer did you install using cargo?

Nope, I installed with the release: https://github.com/raphamorim/rio/releases/download/v0.0.22/Rio-v0.0.22.dmg

raphamorim commented 1 year ago

Interesting, does it return an error message in the UI?

hustcer commented 1 year ago

Interesting, does it return an error message in the UI?

No error or warnings,It's like nothing ever changed