juliamono icon indicating copy to clipboard operation
juliamono copied to clipboard

APL character issues

Open mlochbaum opened this issue 3 years ago • 5 comments

The APL programming language uses a set of mostly non-ASCII characters for built-in functionality. Here is an example APL keymap. Julia Mono supports all the characters (hooray!) even in NARS2000 (keymap), the most demanding APL I know of. The glyphs generally look okay, but there are some issues with specific glyphs and a lot of glyphs that are much smaller or lighter than a typical character. Historically (though a very long time ago), many of these glyphs were produced by overstriking—typing two characters on top of each other. In most cases the issues could be fixed by replacing a glyph with a combination of existing ones, like with | and .

  • U+2336 is just the wrong character. It renders as a delete key symbol when it should be "I-beam", usually a stripped-down small-caps I.
  • U+233D is a very unusual rendering; I would expect to see the bar extend past the circle just like a lowercase phi, but maybe more precisely geometrical.
  • U+2372 has its tilde cut off; it should have a full tilde like U+2371 .
  • U+236B is extremely small.
  • U+235E in "quote quad" the quote is almost as big as the quad, making it difficult to recognize. If you're not going to expand the box, the quote should probably be cut off.
  • U+2377 is inconsistent with U+220A (which is very small), although this is something I've seen in other fonts as well.

Since they're not always obvious, here's a table of commonly recognized APL overstrikes. There are also characters with an underscore or box that Julia Mono does seem to use overstrikes for. I would say the circle (U+25CB ) and quad (U+2395 ) should be heavier and the quad larger to match other APL characters better.

   |~∘⋆\-¨

○  ⌽ ⌾⍟⍉⊖⍥
¨   ⍨⍤⍣
∆  ⍋  
∇  ⍒⍫
∧   ⍲
∨   ⍱
0   ⍬
⊥    ⍎
⊤    ⍕
∩    ⍝
,        ⍪

mlochbaum avatar Oct 10 '20 03:10 mlochbaum

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions!

stale[bot] avatar Oct 18 '20 10:10 stale[bot]

Thanks for taking a pass through the APL characters (and sorry for contributing to the Hacker News rush). If you decide to come back, here are the ones that I still find to be pretty out of place:

  • U+220A
  • U+2368
  • U+236C
  • U+2371 isn't too small or light like the others, but the tilde being upside-down is kind of jarring.

I would still say many of the APL characters are underweighted, but overall it looks pretty usable now.

mlochbaum avatar Oct 19 '20 02:10 mlochbaum

Another minor APL character issue - the "enclose" (⊂) and "disclose" (⊃) characters don't quite align. They look fine separately, but when right next to each other you can see the issue.

image

ssfrr avatar Sep 09 '22 01:09 ssfrr

Hi Spencer! For the upcoming 0.046 release I've recently been tweaking a few of the maths glyphs , so the APL set currently looks like this:

Screenshot 2022-09-09 at 08 04 34

and placing 0x2282 and 0x2283 side by side (which not many languages can do, I expect) looks like this:

Screenshot 2022-09-09 at 08 00 21

It's difficult to make everything consistent with everything, unfortunately, since there are many different types of consistency possible. So it's always going to be a compromise...

cormullion avatar Sep 09 '22 07:09 cormullion

That looks lovely. Thanks for all your work on this!

ssfrr avatar Sep 09 '22 13:09 ssfrr