cy384 / ssheven

A minimal new SSH client for Mac OS 7/8/9
BSD 2-Clause "Simplified" License
521 stars 14 forks source link

Rendering errors in emacs #26

Open kpmgeek opened 1 year ago

kpmgeek commented 1 year ago

Having unexpected malignment of characters in emacs.

Using xterm-color on a MacOs Ventura host, client is iMac G3 running 9.2.2. I know a bunch of the misrendered symbols are unicode characters (would love a fix, i wonder if on OS9 it'd be as simple as building with a more complete unicode font), but we're also seeing characters it can render be severely misaligned.

The divider bar in treemacs is totally misaligned on several lines, and the menu-bar on line 1 only intermittently appears. Including a comparison with xterm running on linux with xterm-color 16-color mode to the same server (although proper unicode support minus the nerd-fonts characters).

Picture 2 screenshot

cy384 commented 1 year ago

Thank you for the report.

Right now, ssheven only supports ASCII (actually, MacRoman). Last time I looked, even on OS 9 unicode support in the system libraries is very weak. Also I'm not sure how well the terminal escape code library I'm using does with unicode. I spent an afternoon trying to just make ssheven strip out non-ascii characters but it ended up being a big hassle.

Anyway, I do want to get unicode support. Unfortunately, unicode text rendering is pretty complicated, so I will need to spend some time finding suitable libraries and fonts, along with reworking how ssheven renders text in general.

In short: I do want to address this, but it will take quite a while.

kpmgeek commented 1 year ago

Upon further texting the character alignment issues are entirely related to non-visible unicode codes. So yeah, entirely related to unicode.

I'll do some digging into the old unicode support documentation.

kpmgeek commented 5 months ago

http://oldvcr.blogspot.com/2023/08/maclynx-beta-5-utf-8-pull-down-menus.html MacLynx has implemented a fairly detailed but fast UTF-8 to macroman conversion.