ryanoasis / nerd-fonts

Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
https://NerdFonts.com
Other
54.25k stars 3.64k forks source link

[Feature Request and Improvement] Do not overwrite the Klingon glyphs with Nerd Fonts icons and move to other particular Unicode areas #409

Closed gusbemacbe closed 1 year ago

gusbemacbe commented 4 years ago

🗹 Requirements

🎯 Subject of the issue

i would like to suggest you do not overwrite the Klingon glyphs with icons and move these icons to other particular Unicode areas, like unused Unicode of ancient languages. I am a Klingon-speaking guy, and when I typed in Klingon in a terminal or a text editor with a monospace font (which Fura Code), they are replaced with Nerd Fonts glyphs. Check http://www.evertype.com/standards/csur/klingon.html.

🔧 Your Setup

apjanke commented 4 years ago

Hi @gusbemacbe!

...like unused Unicode of ancient languages...

This isn't how Klingon or Nerd Fonts work. They both reside in the Unicode Private Use Areas (PUAs (not to be confused with that kind of PUA), where nothing is defined by the Unicode standard, and they're left open for other people to make up their own uses, with no guarantee of interoperability.

This doesn't sound like it's Nerd Fonts' fault per se. Nerd Fonts does not choose which Unicode character ranges to use for its icons. Nerd Fonts aggregates font patches for several character sets that use code points in the PUAs. One of these character sets is the Material Design Icons, which uses code point range U+F500-U+FD46. Unfortunately, this clashes with the U+F8D0-U+F8FF range chosen by the Klingon folks.

Your link to the Klingon "standard" is using the ConScript registry, which looks like it's populated mostly by sci-fi fans and synthetic-language nerds. This registry sounds like a good idea! Unfortunately, none of the programming-nerd icon character sets used by Nerd Fonts seem to have heard of it. Maybe you could contact the Material Design icon folks and other Nerd Font character set providers and see if they want to get on board with the ConScript Registry to fix this, or to at least prevent future clashes?

Unfortunately, both Klingon and Material Design have already chosen to use overlapping ranges from the PUA, and they're both out in production. I don't really know how many Klingon typography users there are out there, but per Wikipedia the Unicode Committee rejected the Klingon proposal because "research showed almost no use of the script for communication, and the vast majority of the people who did use Klingon employed the Latin alphabet by preference", and MaterialDesign has 7,000 stars on GitHub, so my suspicion is that they'll win any fight over this character range. Maybe if you want to use both Nerd Fonts and Klingon fonts, you might have better luck talking with the Klingon typography folks and proposing a retreat to a different unused area of the PUA?

apjanke commented 4 years ago

There's an outstanding request for a Klingon icon in Material design at https://github.com/Templarian/MaterialDesign/issues/3794. I dropped a note there informing them of this issue.

apjanke commented 4 years ago

Well, here's the sort of response you can expect from the Material Design community, it seems: https://github.com/Templarian/MaterialDesign/issues/3794#issuecomment-570449434

gusbemacbe commented 4 years ago

(PUAs (not to be confused with that kind of PUA)

Yes, I know what PUA is. I am a typodesigner (not a typographer).

Unfortunately, none of the programming-nerd icon character sets used by Nerd Fonts seem to have heard of it.

  (in KLingon: that is a misfortune!)

Maybe you could contact the Material Design icon folks and other Nerd Font character set providers and see if they want to get on board with the ConScript Registry to fix this, or to at least prevent future clashes?

! (in Klingon: Sure!)

Unfortunately, both Klingon and Material Design have already chosen to use overlapping ranges from the PUA, and they're both out in production.

   (in Klingon: That's misfortune again!)

I don't really know how many Klingon typography users there are out there

I know one. It is @ChristTrekker. He is a typographer and made fonts with Klingon letters.

but per Wikipedia the Unicode Committee rejected the Klingon proposal because "research showed almost no use of the script for communication, and the vast majority of the people who did use Klingon employed the Latin alphabet by preference

 ! (It is true, unfortunately!)

MaterialDesign has 7,000 stars on GitHub, so my suspicion is that they'll win any fight over this character range. Maybe if you want to use both Nerd Fonts and Klingon fonts, you might have better luck talking with the Klingon typography folks and proposing a retreat to a different unused area of the PUA?

   (It is true again, unfortunately).

I know one. It is @ChristTrekker.

apjanke commented 4 years ago

Haha, that's all Unicode tofu to me. Can you recommend a Klingon font that I can download so I can see your responses properly? ;)

apjanke commented 4 years ago

So, putting aside what happens with the Material Design folks and contention over PUA areas, maybe a workaround option for you would be to use the advanced scripting/patching features of Nerd Fonts to generate a set of font definition files that specifically excludes the Material Design icon set but includes everything else, so you still get all the icon symbols you want to use, but it doesn't conflict with the Klingon PUA area? Seems like this wouldn't be too hard to script up, if you were interested.

gusbemacbe commented 4 years ago

Haha, that's all Unicode tofu to me. Can you recommend a Klingon font that I can download so I can see your responses properly? ;)

You can get the open source Klingon font https://github.com/dadap/pIqaD-fonts. And @dadap is also a typographer and knows better Klingon letters.

to generate a set of font definition files that specifically excludes the Material Design icon set but includes everything else, so you still get all the icon symbols you want to use, but it doesn't conflict with the Klingon PUA area? Seems like this wouldn't be too hard to script up, if you were interested.

Is it possible to move the Material Design icons to other Unicodes and reassign the icons names (Android, file, Github, etc.) to those new Unicodes, so it would work properly on the terminal and text editor?

apjanke commented 4 years ago

Okay, I've got the fonts installed. Got any recommendations on how to configure Firefox on macOS to use them? Firefox's font controls seem... surprisingly primitive.

gusbemacbe commented 4 years ago

Okay, I've got the fonts installed. Got any recommendations on how to configure Firefox on macOS to use them? Firefox's font controls seem... surprisingly primitive.

I am on Linux now. I did not remember how to render the Klingon letters on macOS. I will find how I rendered for you.

gusbemacbe commented 4 years ago

You have installed correctly the Klingon font, but macOS or Firefox failed to fallback the fonts.

  1. Download install https://github.com/openstyles/stylus/
  2. Add a new CSS custom:
{
    font-family: 'pIqaD';
    font-style: normal;
    font-weight: normal;
    src: local("pIqaD"), local("pIqaD");
}

html, body, h1, h2, h3, h4, p {
    font-family: -apple-system, Helvetica, "pIqaD", sans-serif !important;
}
  1. Refresh the site. No need to close the browser.
gusbemacbe commented 4 years ago

If you use @dadap's font, here is:

@font-face 
{
    font-family: 'pIqaD';
    font-style: normal;
    font-weight: normal;
    src: local("pIqaD qolqoS"), local("pIqaD_qolqoS");
}

html, body, h1, h2, h3, h4, p {
    font-family: -apple-system, Helvetica, "pIqaD", sans-serif !important;
}
apjanke commented 4 years ago

Yikes! This is too advanced for me.

I have filed an issue with Firefox Support asking about support for configuring fallback fonts: https://support.mozilla.org/en-US/questions/1276376?utm_campaign=questions-reply&utm_medium=email&utm_source=notification

gusbemacbe commented 4 years ago

@apjanke

I am trying to understand the documentation. I found at https://github.com/ryanoasis/nerd-fonts/blob/master/bin/scripts/test-fonts.sh.

Is this the file where I can exclude the Klingon Unicode points and move again the Material Design codepoints to other new PUA Unicode ranges? Will it work on FISH, ZSH et alli?

gusbemacbe commented 4 years ago

@delphinus and @aaronbell, pelase forgive me for pinging you, but you seem to have knowledge about this.

aaronbell commented 4 years ago

@gusbemacbe My apologies, but I actually don't understand the Nerd Fonts implementation script. As a type designer primarily, my script of choice is Python, so when set up the pipeline to integrate Powerline characters into Cascadia Code, I created a Python-based workflow. As part of that, I also merged all of the symbols into a single font file for better optimization and management, rather than trying to pull from many disparate font files.

I should mention, though, that I only have the Powerline version online, and I do not intend to implement the Material Design characters unless they are moved to a Unicode-compliant location.

dadap commented 4 years ago

I've never been called a typographer before. I feel that may be overstating my level of expertise with typography. :)

Klingon pIqaD being in the PUA is a major pain point; this is not the only time the lack of an official Unicode encoding for pIqaD has caused problems. (See e.g. https://github.com/dadap/pIqaD-tools/issues/2 where the lack of pIqaD glyphs in the system fonts has rendered pIqaD usage almost impossible in most apps in the latest version of iOS - naturally, an official encoding doesn't guarantee presence in the system fonts, but it would be a necessary step towards that.)

I'm probably not qualified to speak for the entire Klingon language community, but I can't imagine that there's anybody in the community who would be opposed to getting pIqaD officially encoded in Unicode so we don't have to use the PUA anymore. pIqaD has been proposed and rejected as an addition to Unicode multiple times in the past. I'm not certain what is the current status of the latest request to add it. If anybody on this bug has the ear of the Unicode Powers That Be, I and many others in the Klingon language community would appreciate any efforts that could be made towards lobbying for official inclusion of pIqaD in Unicode.

As for the pIqaD text in this comment: https://github.com/ryanoasis/nerd-fonts/issues/409#issuecomment-570453513 - you can copy and paste it into e.g. https://dadap.github.io/pIqaD-tools/universal-transliterator/ to see it displayed in pIqaD and also transliterated into the standard Latin-alphabet orthography for Klingon. However, note that this Klingon text appears to be a poor quality machine translation and does not accurately communicate what the accompanying English text purports that it does.

gusbemacbe commented 4 years ago

(See e.g. dadap/pIqaD-tools#2 where the lack of pIqaD glyphs in the system fonts has rendered pIqaD usage almost impossible in most apps in the latest version of iOS - naturally, an official encoding doesn't guarantee presence in the system fonts, but it would be a necessary step towards that.)

Apple is closed source and does not warrant the unassigned PUAs. It explains.

I'm probably not qualified to speak for the entire Klingon language community, but I can't imagine that there's anybody in the community who would be opposed to getting pIqaD officially encoded in Unicode so we don't have to use the PUA anymore. pIqaD has been proposed and rejected as an addition to Unicode multiple times in the past. I'm not certain what is the current status of the latest request to add it. If anybody on this bug has the ear of the Unicode Powers That Be, I and many others in the Klingon language community would appreciate any efforts that could be made towards lobbying for official inclusion of pIqaD in Unicode.

I am thinking of it...

@dadap, let me ask you, have you already used Arch Linux?

I built and tested a Klingon keyboard layout, it worked successfully. The Klingon keyboard layout is based on your codepoints or the codepoints of that Reddit guy who made mockups of Klingon keyboards. The problem is that, I have difficulties to compile via makepkg before sending my repo to AUR.

ryanoasis commented 4 years ago

@gusbemacbe First thanks for opening the issue and in particular the detail you gave.

@apjanke, @dadap, and others have pointed out that the Klingon glyphs are also in the PUA and unfortunately anything in that range is basically up for grabs.

Now we will probably end up moving the codepoints (Material) that conflict with the Klingon ones but that is a coincidence more than anything. This move is only due to the fact that some of the Material Design glyphs happen to be present in non-PUA locations (whoops!)

Making refs to related tickets: #346, #365

gusbemacbe commented 4 years ago

@ryanoasis, no problems if you can not assure/warrant the Klingon PUAs, as your repository is open source and I can clone and modify your repository, moving again the Material Design Unicode ranges to other codepoints for not affecting the Klingon codepoints. I asked them about that file, but they did not answer, and @aaronbell does not understand. Maybe you may help.

dadap commented 4 years ago

@dadap, let me ask you, have you already used Arch Linux?

I built and tested a Klingon keyboard layout, it worked successfully. The Klingon keyboard layout is based on your codepoints or the codepoints of that Reddit guy who made mockups of Klingon keyboards. The problem is that, I have difficulties to compile via makepkg before sending my repo to AUR.

I use a variety of OSes, including Arch. The codepoints I use in my pIqaD font are merely the ones from the ConScript PUA mapping; I don't lay any claim to them. This seems to be a bit off-topic from the discussion here, but I'm intrigued to give your layout a try.

gusbemacbe commented 4 years ago

Hi @dadap !

Here is the pack: tlhngan-nItlh-echlet.zip

gusbemacbe commented 4 years ago

Ciao @fabrizioschiavi!

English Please forgive for having pinged you because @ryanoasis referenced your issue, but what drew my attention is that, in your repo https://github.com/fabrizioschiavi/pragmatapro, you overwrote the Klingon codepoints with icons glyphs. If I purchase your font, will I be allowed to move again the icons glyphs to new codepoints, so I would not have problem typing in Klingon pIqaD? If you do not allow due to your licence, please add support for Klingon letters, maybe also for Georgian letters. I know you can not assure/warrant as Klingon ranges are PUAs.
Italiano Per favore, perdonami di averti chiamato con un ping perché @ryanoasis ha fatto riferimento al tuo *issue*, ma cosa ha attirato la mia attenzione è che, nel tuo repository https://github.com/fabrizioschiavi/pragmatapro, hai sovrascritto i ponti di codice di lettere *klingon* con glifi di icone. Se compro il tuo *font*, sarò permesso di rimettere nuovamente i glifi di icone in nuovi punti di codice, quindi non avrei problemi a scrivere in *klingon pIqaD*?   Se non lo permetti a causa della tua licenza, per favore, aggiungi il supporto per le lettere *klingon*, forse anche per le lettere georgiane. So che non puoi garantire come i ponti di codice della lingua *klingon* sono PUA.
gusbemacbe commented 4 years ago

Hi @dadap !

Some news about the Klingon keyboard that I sent to you?

Finii commented 1 year ago

This will be solved with v3.0.0 when the codepoints F500-FFFF are dropped (what you would call 'freed'). Marking this as closed already now.

github-actions[bot] commented 1 year ago

This issue has been automatically locked since there has not been any recent activity (i.e. last half year) after it was closed. It helps our maintainers focus on the active issues. If you have found a problem that seems similar, please open a new issue, complete the issue template with all the details necessary to reproduce, and mention this issue as reference.