Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot use OTF fonts for conhost, requires showing all fonts in Windows Terminal #1035

Closed
3 tasks done
heaths opened this issue Jan 4, 2023 · 8 comments
Closed
3 tasks done

Comments

@heaths
Copy link

heaths commented Jan 4, 2023

🗹 Requirements

  • I have searched the issues for my issue and found nothing related and/or helpful
  • I have searched the FAQ for help
  • I have searched the Wiki for help

🎯 Subject of the issue

Experienced behavior:
CaskaydiaCove Windows Compatible NF does not show up for conhost.exe, and only the Mono fonts (no ligatures) show up for Windows Terminal. Looking at existing bugs, this has been reported quite a few times and was apparently fixed, though subsequent comments say it still occurs.

Looking at #994 it seems this could be because OTF isn't well-supported. Could a TTF download be offered as well, if not a combination of OTF and TTF. IIRC, some fonts used to be distributed that way: both in an archive, though I may be thinking of a different forge.

Expected behavior:
CaskaydiaCove NF fonts show up everywhere I'd like to use them: conhost.exe, wt.exe, code.exe, etc.

Example symbols:
N/A

🔧 Your Setup

  • Which font are you using (e.g. Anonymice Powerline Nerd Font Complete.ttf)?
    • Several in a font family e.g., "Caskaydia Cove Nerd Font Complete Windows Compatible Regular.otf"
  • Where did you get the file from (download link, self patched, source downloaded from link...)
    • This site via direct download.
  • Which terminal emulator are you using (e.g. iterm2, urxvt, gnome, konsole)?
    • conhost.exe and wt.exe
  • Are you using OS X, Linux or Windows? And which specific version or distribution?
    • Windows

★ Screenshots (Optional)

@Finii
Copy link
Collaborator

Finii commented Jan 9, 2023

Hmm, the fastest solution for you would be to switch to https://github.com/adam7/delugia-code instead.
That is (as Caskaydia) a Nerd Font patch of Cascadia, but all ttf.

Ah, Delugia uses Nerd Font 2.2.2, while here we are already at 2.3.0-RC.
Otoh once we really release 2.3.0 I will also update Delugia, so ... like ... 'soon' ;-)

The problem with ttf vs otf is ... well, ttfs lacks some features that otfs have, that some people expect.
Of course Nerd Font could deliver the patched fonts in both formats, but that raises other issues, mostly related to packaging.

Edit: typo
Edit: Add info on revisions

@heaths
Copy link
Author

heaths commented Jan 9, 2023

Thanks for the referral, and about the note you left on the linked issue: that's a fair point. I've seen it before years back with some Powerline fonts, but as you noted: one has to be careful not to install both.

Ideally, Windows would fix whatever isn't working correctly with OTF; though, it sounds more like it has to do with variable width fonts sneaking in. Nerd Font wouldn't do that itself, would it? Perhaps it was already there. I'm not really a font person, though, so any guesses are based more on what I was reading on various sites related to this problem.

At any rate, it's only been a problem with conhost.exe terminals which I almost never use - especially since Windows 11 started supporting either conhost.exe wt.exe (to which I set wt.exe, of course :).

@heaths heaths closed this as not planned Won't fix, can't repro, duplicate, stale Jan 9, 2023
@Finii
Copy link
Collaborator

Finii commented Jan 9, 2023

variable width fonts sneaking in. Nerd Font wouldn't do that itself, would it?

Nerd Fonts is using Fontforge, and that can not (*) work with variable fonts. So it's impossible to patch VFs with font-patcher, see also

(*) Well, it can, but not really ;-D

@heaths
Copy link
Author

heaths commented Jan 9, 2023

Thanks. There was a few other issues about font capabilities I didn't fully grok (I know font files declare various caps, but that's about it) so perhaps it's something there. Whatever the case, I hadn't traditionally seen those with TTFs on Windows. Even in Windows Terminal, for some reason I only see the "Mono" variations of CaskaydiaCode show up by default, but since I like the ligatures I have to check a box to show all fonts. conhost.exe doesn't support that, but "Mono" variations don't show up either. Again, though, I don't really care about conhost.exe since I try to avoid it.

@Finii
Copy link
Collaborator

Finii commented Jan 9, 2023

Even in Windows Terminal, for some reason I only see the "Mono" variations of CaskaydiaCode show up by default,

That is because the terminal assumes some kind of 'grid' of chars that means all chars have to be of equal width (i.e. 'monospaced'). Terminals that can handle non-monospaced fonts and still keep 'the grid' have to do something more.

but since I like the ligatures I have to check a box to show all fonts

Ligatures is orthogonal to 'monospaced'. I mean, this is completely unrelated. And both ttf and otf can have ligatures.

@heaths
Copy link
Author

heaths commented Jan 9, 2023

Ligatures is orthogonal to 'monospaced'. I mean, this is completely unrelated. And both ttf and otf can have ligatures.

Oh, I know. :) But don't the "Mono" variants e.g., "CaskaydiaCode Mono Windows Compatible Regular" (or something like that), differ only in that they don't support ligatures? I didn't mean "Mono" as in monospaced - just referring to the "Mono" font variations in the package.

@Finii
Copy link
Collaborator

Finii commented Jan 9, 2023

Nerd Font Mono means the symbols fit into one monospace cell.
Nerd Font is still monospaced but the symbols extrude to the right into the neighboring cell to get bigger symbols.

The character 'width' can differ from the real bounding box.

Maybe of interest

@github-actions
Copy link
Contributor

This issue has been automatically locked since there has not been any recent activity (i.e. last half year) after it was closed. It helps our maintainers focus on the active issues. If you have found a problem that seems similar, please open a new issue, complete the issue template with all the details necessary to reproduce, and mention this issue as reference.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants