mintty / wsltty

Mintty as a terminal for Bash on Ubuntu on Windows / WSL
Other
3.12k stars 104 forks source link

Text replaced by symbol in terminal. #173

Closed AXington closed 4 years ago

AXington commented 5 years ago

I am trying to figure out how to disable this feature, but in several places, text like fi replaced is replaced by a phone symbol. This obviously gets really really frustrating. I can't find anywhere to disable this.

fi_phone

mintty commented 5 years ago

Please provide information what you are actually writing to the terminal. If ls > lsfile.txt ; cat lsfile.txt produces the same effect, upload the lsfile.txt here. Otherwise, try to generate a file that can be used as a test case; find what parameters are set up for ls, or make a terminal log.

AXington commented 5 years ago

lsfile.txt lsfile

I'm also looking into why directory names are highlighted in green. Seems to be a weird issue with zsh-syntax-highlighting, though, I don't think that's related. May open another issue for that if I can't figure it out.

Biswa96 commented 5 years ago
AXington commented 5 years ago

zsh theme: agnoster

%{%f%b%k%}$(build_prompt)

wsl.exe shows it correctly in every available font, and with certain fonts, it renders the theme much better, which leads to my next discovery...

The font I use for all my terminals (iterm2, konsole, alacritty, wsltty) across multiple OS's doesn't show in wsl.exe, it also doesn't have that issue in any of my other terminals. So I switched to a different font in it (the default didn't have my powerline patches), I tried selecting the same font but it's not on the list. So then to make sure I was showing the same fonts/etc on wsltty, the one I selected in wsl.exe was on the list, but when I pressed 'OK' it said there was an error dialog (see screenshot). Though, I was able to hit 'Apply' then 'Cancel' and it applied the font. font_error

After applying the new fonts, however, the problem went away. Though, I think I found a new font I like better than the one I was using that doesn't have this issue...

I was using the meslo for powerline family, and I tried with every available version. https://github.com/powerline/fonts

Also one more screenshot for increased weirdness... echo_phone

I guess you can close this issue if you want, but it's really strange.

mintty commented 5 years ago

The file contains nothing special, it's simply the sequence "fi" that's getting rendered as a phone. Which quite certainly means that you were using a font that supports ligatures, and that the "fi" ligature in that font displays as a phone. Which in turn means the font is broken. It's a font bug.

About zsh input colouring, that is not a terminal issue; the terminal simply produces the text attributes as requested via escape sequences.

mintty commented 5 years ago

It does not happen with one of the Meslo fonts I just downloaded from there. Note there is a commit notice that particularly mentions "fi" and "fl" ligatures.

AXington commented 5 years ago

Yeah, I knew the file itself wouldn't contain anything strange, but I wanted to make sure to give you any and all information you wanted and or seemed relevant.

What's strange is, I did reinstall the fonts during the troubleshooting process I did above, from a brand new clone, using the powershell script in the repo, had the same problem, but the font I chose renders a heck of a lot better too. There seemed to be something off about the anti-aliasing or 'font smoothing' on the Meslo font that doesn't seem to be a problem with the new font I chose (noto). I'm going to chalk this up to a combination of issues with a bug in that font and something weird with Windows.

Windows hasn't been my main OS for years, so I'm admittedly quick to blame it for things that, honestly, aren't always fair, but the way it handles things like fonts vs Linux/BSD/Mac seems odd and less stable to me...