cormullion / juliamono

repository for JuliaMono, a monospaced font with reasonable Unicode support.
https://juliamono.netlify.app/
SIL Open Font License 1.1
1.39k stars 30 forks source link

Missing Superscript Characters from Latin Extended Blocks #176

Open speters33w opened 1 year ago

speters33w commented 1 year ago

I was answering an old question on StackOverflow

about missing superscript characters from Unicode. There are some, as I'm sure you know, and people have to use work-arounds.

I recommended your Julia Mono font for mathematical blocks, but I mentioned it does not support the Latin Extended blocks for some superscript characters.

Then I thought to myself: "Why don't I just add the support in my copy of Julia Mono Regular? It's only like, nine glyphs."

So that's what I did. When I opened the font up, I found you already have the characters drawn, I just needed to map them. See attached PDF. Superscript.pdf

It might be worthwhile looking at this.

This is what I did:

"𐞥" U+107A5 Modifier Letter Small q             (Mapped q.superscript to this codepoint)
"ꟲ" U+A7F2: Modifier Letter Capital C           (Mapped C.superscript to this codepoint)
"ꟳ" U+A7F3: Modifier Letter Capital F           (Mapped F.superscript to this codepoint)
"ꟴ" U+A7F4: Modifier Letter Capital Q           (Mapped Q.superscript to this codepoint)
"𝃬" U+1D0EC Byzantine Musical Symbol Arktiko Di (Mapped uni0394.superscript to this codepoint) (Superscript Delta) 

Technically, this modifier should not be full height, but I did it anyway. "𐞲" U+107B2: Modifier Letter Small Capital Y (Mapped Y.superscript to this codepoint)

This should probably not be done if the font will genuinely be used for Canadian Aboriginal Syllabics, but again, I did it anyway. Renamed original glyphs uni1506.alt, uni1646.alt, uni141F.alt and mapped to -1.

"ᔆ" U+1506 Canadian Syllabics Athapascan s           (Mapped S.superscript to this codepoint)
"ᙆ" U+1646 Canadian Syllabics Carrier Z              (Mapped Z.superscript to this codepoint)
"ᐟ" U+141F Canadian Syllabics Final Acute (Division) (Mapped slash.superscript to this codepoint)

How (or if) you resolve this is up to you folks.

PS I also Modified ᴿ U+1D3F and R.superscript, they must have been accidentally emboldened or something. You should probably look at that. It's a pretty quick fix.

cormullion commented 1 year ago

Thanks - I'll add this to the to-do list!

cormullion commented 1 year ago

By the way, you can also find all the subscripts and superscripts in the third private use area, starting at Uf0000.

speters33w commented 1 year ago

By the way, you can also find all the subscripts and superscripts in the third private use area, starting at Uf0000.

Yeah, I see that. PUA doesn't do a lot for portability, unless there's some kind of standard for Mathematical fonts I don't know about? I know there's a few renegade PUA standards., like MUFI.

If I were publishing in Julia Mono, using Julia Mono's PUA sub and superscript is definitely a better route than fighting with Unicode. Speaking of publishing - I just got to look at that Algorithms for Decision Making book, that's great!

I just started learning Julia through that Julia Academy, I'm liking it, especially with SymPy. I'm only on like, the fourth lesson and I tried to run a Jupyter Notebook program I wrote in Python with sympy and numpy with the Julia kernel - it didn't work, that's when I looked up SymPy for Julia and read a bunch of what documentation they've finished. I think I'm really going to like Julia a lot, kind of Java-ish with better precision math skills, a better language altogether.

cormullion commented 1 year ago

Not sure if you’ve seen this, but the PUA stuff in JuliaMono arose basically because of this:

https://github.com/stevengj/subsuper-proposal

but I don’t know whether the proposal was ever submitted. I don’t think anything in Unicode will change any time soon though 😐

There’s lots of good things about Julia - and plenty of areas where contributions are very welcome!

speters33w commented 1 year ago

Not sure if you’ve seen this, but the PUA stuff in JuliaMono arose basically because of this:

https://github.com/stevengj/subsuper-proposal

but I don’t know whether the proposal was ever submitted. I don’t think anything in Unicode will change any time soon though 😐

No, I wasn't aware of this I don't think it will go anywhere.

I think Unicode is more interested in "Striped cat wearing a party hat" than in boring stuff like "Subscript Infinity."

Here is their response to this proposal (2021):

"The examples do not show the two modifier capital letters being used for phonetic transcription, but instead for morphological analysis apparatus, tone reconstruction and historical analysis, for which arbitrary letters could be used. In our view, rich text (or font-based stylistic sets) would be appropriate, but not plain text."

I still can't understand why so much space was given to Canadian Aboriginal Symbols, with numerous examples of redundant symbols used in other places in Unicode, but oh well. It is what it is. I know TeX uses some PuA for mathematical symbols, but I think they use glyph names rather than actual codepoint location. I'd have to verify.

github-actions[bot] commented 9 months ago

This issue has been open for 30 days with no activity.