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

Proposal: Revise TRIANGLE to be connecting for 'legacy computing' text-graphics #301

Open
clort81 opened this issue Oct 26, 2022 · 3 comments

Comments

@clort81
Copy link

clort81 commented Oct 26, 2022

Greetings and thank you for the Source Code Pro font. It is very good and is used as default monospace in many linux distributions (e.g. Fedora).

Monospace fonts are also used for terminal-based GUIs using text block glyphs such as:
█ ▊ ▋ ▌ ▍ ▎ ▏ ▐ ▕ ▁ ▂ ▃ ▄ ▅ ▆ ▇ ▀ ▬ ░ ▒ ▓ ▔ ▘ ▝ ▖ ▗ ▟ ▙ ▜ ▛ ▚ ▞ ◢ ◣◥ ◤

We notice that most font designers have chosen to make the triangles non-connecting (full height, width).
U+25E2 ◢ e2 97 a2 BLACK LOWER RIGHT TRIANGLE
U+25E3 ◣ e2 97 a3 BLACK LOWER LEFT TRIANGLE
U+25E4 ◤ e2 97 a4 BLACK UPPER LEFT TRIANGLE
U+25E5 ◥ e2 97 a5 BLACK UPPER RIGHT TRIANGLE

This precludes their use as a block-graphic element

One font implements full-height 25E2-25E5, namely unscii http://viznut.fi/unscii/ It properly renders classic PETSCII art. (I was a PETSCII artist in the 80s)

In discussions about inclusion of full-height triangles for this purpose, the unicode consortium rejected inclusion of full-height TRIANGLES in the "legacy computing" extension. Their argument was that they were pre-existing in 25E2-25E5 and that unicode does not specify a glyph's particular representation in a font, merely the MEANING.

This is obviously flawed when applied to legacy computing; the MEANING of legacy terminal-graphic characters is only achieved by being connecting elements, having full-height and width. We note for example that these have dedicated glyphs despite both being 'blocks:

U+2588 █ FULL BLOCK
U+2580 ▀ UPPER HALF BLOCK

Rejection of full-height triangles means terminal-based utilities and art can not make use of diagonal elements. We should be able to draw a diamond, for example, without space between rows.
◢◣
◥◤
Despite being an 'old' tradition, text art continues to thrive to this day, and lacking full-height diagonals makes rendering historic works of computer art impossible, as well as denying us the ability to draw diagonal elements..

Would you consider revising Source Code Pro U25E2-U25E5 to use full height triangles, as well as including the 'legacy computing' glyph extensions?

@pauldhunt
Copy link
Contributor

@clort81 i’ll look into it.

@pauldhunt
Copy link
Contributor

@clort81 In looking into this issue, I find that the characters in question U+25E2–U+25E5 are not currently included in the fonts so any behavior you are seeing in connection with these will be due to fall-back font character replacement. To remedy this issue, I will add the characters in question to the next revision of the Source Code fonts.

@clort81
Copy link
Author

clort81 commented Jan 21, 2023

Thank's pauldhunt! It's an issue i'm bringing to every font designer I can reach.
I refer also to:
https://hpjansson.org/blag/2021/09/16/chafa-1-8-terminal-graphics-with-a-side-of-everything/
https://en.wikipedia.org/wiki/PETSCII
Cheers and be well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants