mirror of
https://github.com/wez/wezterm.git
synced 2024-12-25 14:22:37 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
3fae59b01b
we now compute the ratio of the cap height (the height of a capital letter) vs. the em-square (which relates to our chosen point size) to understand what proportion of the font point-size that a given font occupies when rendered. When rendering glyphs from secondary fonts we can use the cap height ratios of both to scale the secondary font such that its effective cap height matches that of the primary font. In plainer-english: if you mix say bold, italic and regular text style in the same line, and you have different font families for those fonts, then they will now appear to be the same height where previously they may have varied more noticeably. For emoji and symbol fonts there may not be a cap-height metric encoded in the font. We can however, improve our scaling: prior to this commit we'd use the ratio of the cell metrics of the two fonts to scale the icon/emoji glyph, but this could cause the glyph to be slightly oversized as seen in https://github.com/wez/wezterm/issues/624 If we know the cap-height of the primary font then we can additionaly apply that factor to scale the emoji to better fit the cell. While looking at this, I noticed that the aspect ratio calculation for when to apply to the allow_square_glyphs_to_overflow_width option had width and height flipped :-( See also: https://tonsky.me/blog/font-size/ refs: https://github.com/wez/wezterm/issues/624 |
||
---|---|---|
.cargo | ||
.github | ||
assets | ||
async_ossl | ||
base91 | ||
bintree | ||
ci | ||
codec | ||
config | ||
deps | ||
docs | ||
env-bootstrap | ||
filedescriptor | ||
licenses | ||
luahelper | ||
mux | ||
promise | ||
pty | ||
rangeset | ||
ratelim | ||
strip-ansi-escapes | ||
tabout | ||
term | ||
termwiz | ||
test-data | ||
tmux-cc | ||
umask | ||
vtparse | ||
wezterm | ||
wezterm-client | ||
wezterm-font | ||
wezterm-gui | ||
wezterm-gui-subcommands | ||
wezterm-input-types | ||
wezterm-mux-server | ||
wezterm-mux-server-impl | ||
wezterm-ssh | ||
wezterm-toast-notification | ||
window | ||
.cirrus.yml | ||
.gitignore | ||
.gitmodules | ||
.rustfmt.toml | ||
Cargo.lock | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
get-deps | ||
LICENSE.md | ||
README.md | ||
wt-record | ||
wt-replay |
Wez's Terminal
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
User facing docs and guide at: https://wezfurlong.org/wezterm/
Screenshot of wezterm on macOS, running vim
Installation
https://wezfurlong.org/wezterm/installation.html
Getting help
This is a spare time project, so please bear with me. There are a couple of channels for support:
- You can use the GitHub issue tracker to see if someone else has a similar issue, or to file a new one: https://github.com/wez/wezterm/issues
- Start or join a thread in our GitHub Discussions; if you have general questions or want to chat with other wezterm users, you're welcome here!
- There is a Matrix room via Element.io for (potentially!) real time discussions.
The GitHub Discussions and Element/Gitter rooms are better suited to questions than it is to bug reports, but don't be afraid to use whichever you are most comfortable using and we'll work it out.