rbanffy / 3270font

A 3270 font in a modern format
Other
1.74k stars 72 forks source link

Missing glyphs (⎛, ⎞, ⎝, ⎠, and ⋅) cause apparent alignment issue in SageMath with unicode_art in Cool Retro Term #88

Open kaimers opened 3 years ago

kaimers commented 3 years ago

0 1 Problem seen in QTerminal too, which is also based on KDE4 Konsole derived qtermwidget, but not in KDE5 Konsole or Gnome Terminal. Other font that has this problem are Inconsolata and Ubuntu Mono, but the same problem does not appear with font Andale Mono, Courier, Fira Code or Source Code Pro.

rbanffy commented 3 years ago

I think those glyphs are missing. Can you paste the screen text to speed things up? I don't think I have Sage here.

Never mind. Got it.

rbanffy commented 3 years ago

It is a missing glyph issue, but it doesn't happen on a Mac (at least not with Terminal.app) image

This may indicate an issue with the fallback font in your system.

Regardless of that, the glyphs are missing and that should be fixed.

kaimers commented 3 years ago

It is a missing glyph issue, but it doesn't happen on a Mac (at least not with Terminal.app) image

This may indicate an issue with the fallback font in your system.

Regardless of that, the glyphs are missing and that should be fixed.

I don't think it necessarily has to do with fallback font in my system.

I just checked for various fonts that don't work, and they seem to be wrong in different ways, e.g. Fixedsys Excelsior. And as described in issue, the font works perfectly on Gnome Terminal and KDE5 Terminal.

I believe on the other side there's some thing missing in KDE4's QTermWidget which is used by both QTerminal and Cool Retro Term, but I don't know enough about this to make a guess.

2

kaimers commented 3 years ago

@rbanffy You could have been right about the fallback font. I just checked Fixedsys Excelsior and the glyphs involved are included in that font even though it has problems. Still strange how I don't have problem with other terminal emulators though.

kaimers commented 3 years ago

@rbanffy You could have been right about the fallback font. I just checked Fixedsys Excelsior and the glyphs involved are included in that font even though it has problems. Still strange how I don't have problem with other terminal emulators though.

Maybe the other terminals just render in grids while KDE4's QTermWidget don't do that. And when you fallback to font with different size (which is probably always the case) the problem naturally arises.

rbanffy commented 3 years ago

Found something interesting (we'll have to pass this, maybe, to the QTermWidget team). Note how the parentheses components mismatch below: image Now note how they mismatch after I select the '⋅' glyph on the second line: image And, if I select more: image

(added capture, Mac running X server, Linux laptop running Konsole):

https://user-images.githubusercontent.com/184714/109185533-02bb0280-7788-11eb-9972-b470ac37c1ee.mov

It doesn't happen when Konsole uses the default font. Can you check it with the other fonts you mentioned, @kaimers?

rbanffy commented 3 years ago

Reported it at https://bugs.kde.org/show_bug.cgi?id=433604

kaimers commented 3 years ago

@rbanffy I did tests on QTerminal and KDE 5's Konsole.

KDE 5's Konsole: No alignment issue with either IBM 3270 or Fira Code. QTerminal: Problem reproduced with IBM 3270 but not with Fira Code or Source Code Pro.

The behavior in your capture is really weird but I don't think KDE is in charge of QTermWidget, it seems to be maintained by LXQt(https://github.com/lxqt/qtermwidget)