-
Notifications
You must be signed in to change notification settings - Fork 85
Graphs in Braille patterns do not always work as expected #79
Comments
I agree it might be good to have an option to switch to a different rendering character and/or include something in the documentation about fixing the fonts. Note that this is the same issue as cjbassi/gotop#18, and it seems that many people were able to figure out how to fix their font so we could probably add something to the readme about how to do that. |
I think I can't work around this when using unifont with Alacritty... there's no glyph overriding with it. 😞 |
I currently have the same issue? how did you guys remove it? |
@TheLazyist you don't happen to be using kitty do you? When I was experiencing this issue on kitty I managed to resolve it by installing the
If you're using a different terminal emulator you could just try installing the package and seeing if that helps. |
OK so on Fedora 32 with
save, and I still think it would be nice to have an alternative rendering option (in case Kitty is not available for some reason) and/or documentation. |
I would love for there to be an alternative rendering option, for two reasons:
|
I'm not sure what you're referring to with 1. 2 would involve switching the frontend away from the TUI, and while separating the current frontend and backend should be mostly trivial. Writing a new frontend would be a totally separate project. |
Oh, sorry, I'll post a picture to show (1). Re: new frontend. I'm guessing the frontend is basically one of the crates that allow one to draw on the terminal, right? If so, I completely understand - that kinda library is... well, as you said, worthy of being an entire project by itself |
Correct. The current frontend is It would be nice to add ASCII support I suppose, but you lose a lot of detail that's provided with the variety of UTF8 characters. |
Yeah, no, that makes complete sense. Also, UTF-8 for the win. @LovecraftianHorror as promised, here's a picture of (1): See what I mean? I think that is caused because the braille patterns aren't seamless with one another vertically. Somehow y'all (or |
PS: I wish one could change the colors of the individual dots. That way I could suggest a way to solve (2) without a new frontend (the idea (in a world where each dot is coloreable) was: Such a technique could also be used for smoothing out the graphs, by taking parts where a dot is partially-covered with a graph, and blending it with the background (this is what is used in many monitors for smoothing out fonts) |
I see the gap you are talking about now, I never actually noticed it till you mentioned it. I believe the cause of that is that the glyphs for the different braille characters don't fill the whole block vertically which is again a font thing. I highlighted the characters in my chart to show that the characters themselves fit the full height even if the dots don't use it. As far as blending the colors for the lines, that would at the very least require changes in It would be nice to have features to make the line graphs more digestible, but a lot of the limitations come from this being a TUI: however, a lot of people also use programs like Thank you for your suggestions though, they definitely give a good perspective on different features to consider in the future! I hope I didn't come off as dismissive on anything, I just want to make sure you understand the limitations of the current situation. And to be fair I haven't even had a PR accepted for this project yet so it's not like I have any authority over decisions for this project. |
Thank you for this comment. It is reassuring. Communication over text is super hard. I appreciate your feedback even more now ❤️
Yeah. I wonder if Btw, great image! The glyph thing you explained looks super clear from here :D
Indeed! I'm using it because (1) it's pretty AF, I have to say XD, but also, (2) I have a server without GUI, and something like
All of this makes sense. I personally prefer seeing the graphs overtime, and I think that's why I'm following on |
Thanks everyone for looking at this. The More generally, I wonder if we should raise (minor) issues on the library projects tui-rs, termui and blessed-contrib suggesting they all add notes to their documentation to say braille mode may not work as you expect if the fonts are set differently and you might want to advise the user of your application to set a font like Symbola in that Unicode range (for example via Kitty's configuration file). Even more generally, I wonder if we should write some kind of proposal or suggestion to the Unicode Consortium itself, to suggest a variant selector that specifies whether or not the “off” dots are to be shown in the Unicode Braille Patterns block. The Braille Patterns block was originally designed for representing Braille, for example in books that help sighted readers to learn how Braille works. So for example the New International Manual of Braille Music Notation contains copious examples of printed Braille patterns to instruct the sighted reader how to write Braille music. In this context, I find it useful to show the “off” dots in some way (although perhaps not as empty circles—in high-resolution print it makes more sense for “on” dots to be solid circles and “off” dots to be very tiny points, and I usually use the On the other hand, the Unicode Consortium already has a proposal from a “Terminals Working Group” (can anyone figure out how to contact them?) which includes a complete set of 2×3 block graphics from the 1970s UK Teletext service, which could originally be displayed either “contiguously” (no space between dots) or “separated” (small space between dots)—the Unicode proposal acknowledges the “separated” mode but doesn't make clear how to specify it (maybe they're missing a variant selector?), but at least there is no scope for displaying the “off” dots here. If common fonts do begin to include Teletext graphics, it might become a good idea for terminal library writers to provide access to these 2×3 blocks as an alternative to using Braille Patterns as 2×4 blocks. That would mean a 25% drop in vertical resolution (and a slight increase in vertical irregularities if the fonts imitate exactly what was done in the 1970s), but it would unambiguously be block graphics (no question about some fonts showing the “off” dots for instruction manuals). Unfortunately, I suspect the existence of these graphical blocks just might stop the Unicode Consortium from also considering the provision of variant selectors for the original Braille Patterns block, but we won't really know unless we run it past them somehow. |
ytop
is trying to draw graphs by using the Braille Patterns Unicode block (U+2800..U+28FF). Unfortunately, when I install ytop on a Fedora 32 system as described in Fedora Magazine and run it in Gnome Terminal, with font set at "Monospace Regular" in Gnome Terminal Preferences, the Braille Patterns show not only the "on" dots as solid circles, but also the "off" dots as hollow circles. The presence of those "off" dots renders the graph significantly less readable (see screenshot below).Obviously

ytop
has little control over the font in use by the terminal, but it would be nice if there were an option to use low-resolution block graphics instead of Braille patterns, in case anyone is stuck with a font that does not show the Braille patterns as you'd expect. It would also be nice to have something in the documentation giving advice about which terminal fonts are known to work well forytop
graphs, especially if some popular distributions are going to default to a font that doesn't work so well.Required information:
ytop -V
): ytop 0.6.0uname -a
: Linux localhost.localdomain 5.6.8-300.fc32.x86_64 Implement widgets #1 SMP Wed Apr 29 19:01:34 UTC 2020 x86_64 x86_64 x86_64 GNU/LinuxInclude any of the following information if relevant:
tmux -V
): tmux 3.0a (but I'm not running it)Please copy or attach
~/.local/state/ytop/errors.log
if it exists and contains logs: n/aThe text was updated successfully, but these errors were encountered: