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

Missing Superscript Characters from Latin Extended Blocks #176

Open
speters33w opened this issue Jul 4, 2023 · 6 comments
Open

Missing Superscript Characters from Latin Extended Blocks #176

speters33w opened this issue Jul 4, 2023 · 6 comments
Labels
enhancement may be implemented as an enhancement

Comments

@speters33w
Copy link

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 cormullion added the enhancement may be implemented as an enhancement label Jul 4, 2023
@cormullion
Copy link
Owner

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

@cormullion
Copy link
Owner

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

@speters33w
Copy link
Author

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
Copy link
Owner

cormullion commented Jul 5, 2023

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
Copy link
Author

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.

Copy link

github-actions bot commented Dec 6, 2023

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

@github-actions github-actions bot added stale and removed stale labels Dec 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement may be implemented as an enhancement
Projects
None yet
Development

No branches or pull requests

2 participants