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

klingon #3794

Closed
TheOneWithTheBraid opened this issue Jan 6, 2019 · 33 comments
Closed

klingon #3794

TheOneWithTheBraid opened this issue Jan 6, 2019 · 33 comments
Labels
Icon Request Request for a specific icon.

Comments

@TheOneWithTheBraid
Copy link

The Klingon symbol stands for the (really spoken) Klingon language (tlhIngan Hol) and for Klingons (tlhIngan pu') (known from science fiction books)
Example: https://tlhingan-hol.ml/favicon.png

@mririgoyen mririgoyen added the Icon Request Request for a specific icon. label Jan 7, 2019
@Templarian
Copy link
Owner

Probably need to add the federation badge/icon also.

@PeterShaggyNoble PeterShaggyNoble added this to the Backlog milestone Jan 8, 2019
@apjanke
Copy link

apjanke commented Jan 3, 2020

Sooo, turns out that the Unicode PUA range chosen by the Material Design icon set conflicts with the PUA range chosen by the Klingon language folks.

ryanoasis/nerd-fonts#409

http://www.evertype.com/standards/csur/klingon.html

Which means you can't use Material Design icons and Klingon fonts in the same application.

Thoughts? Especially on ConScript or other alternate Unicode PUA registries?

@apjanke
Copy link

apjanke commented Jan 3, 2020

@Jasmich Your link is 404. Could you just attach a copy of the image as an inline on your bug report here?

@apjanke
Copy link

apjanke commented Jan 3, 2020

Yeah. The problem is interoperability: we've got a user here who is a Klingon speaker and wants to use Klingon fonts, but also wants to use Nerd Fonts, which is an aggregation of a bunch of these PUA programming/design icon-font thingies into single fonts, and which is pretty convenient to install. They might not even want the Material Design icons per se, but they're getting them due to aggregation.

Seems like a bummer that with the "one character set to rule them all" of Unicode and all this PUA space, we're still running in to conflicts.

I recognize that in any fight here, Material Design is likely to win because of its much larger user base. Just wanted other people's thoughts and input here.

@apjanke
Copy link

apjanke commented Jan 3, 2020

Does GitHub have a Mute feature where you can hide comments from condescending, low-commit-count jerks? Just asking randomly here.

@gusbemacbe
Copy link

That's not my problem; you can decide on a remapping of the icons and use those code points in your Klingon circle.

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

But is it possible to remap the Nerd Fonts/Material Design icons and move to the others and alias the icons names, using Python like Ryan did?

 ! (This woulkd be a honour of yours!)

@apjanke
Copy link

apjanke commented Jan 3, 2020

Okay, fair enough. I shouldn't be judging you by software-developer standards. "low-commit-count" retracted.

@Templarian
Copy link
Owner

Everyone be nice and think through your words. Remember it's an icon project 😄, no one makes enemies over an icons. Also doesn't matter how many contributions one has there needs to be respectful discourse. Thanks everyone, now focus on icons.

To clarify through the webfont is really not meant to mix with other fonts. You can make you own font using:

  • SVG with the @mdi/font-build package (builds the file we use on the cdn preview)
  • SVG files and icomoon (very easy to use and visual).

There are a few other svg to webfont builders, but this would allow more careful selection of codepoints if one wants.

@apjanke
Copy link

apjanke commented Jan 3, 2020

Sorry, dude. I'll delete my comments if you think it's appropriate; I was out of line here.

@apjanke
Copy link

apjanke commented Jan 3, 2020

I've talked with the downstream user about making a custom font with Material Design removed or relocated so it doesn't interfere with their use case.

@apjanke
Copy link

apjanke commented Jan 3, 2020

My apologies to @JapanYoshi, and thread readers in general, I was out of line and my comments were uncalled for.

@Templarian
Copy link
Owner

It's okay. Just need everyone to be nice here. 😸 Thanks!

@TheOneWithTheBraid
Copy link
Author

I integrated an example Klingon empire logo in my fork: https://github.com/JasMich/MaterialDesign/blob/klingon/svg/klingon-empire.svg
If you will accept it, I would add the other Klingon Icons (e.g. pIcaD, QonoS etc.)

@gusbemacbe
Copy link

But new icons should not be placed in the Klingon PUAs?

@aaronbell
Copy link

@JapanYoshi The Klingon issue aside, Material Design is overriding assigned Unicode points as well.

In particular:
U+F900..U+FAFF | CJK Compatibility Ideographs
U+FB00..U+FB4F | Alphabetic Presentation Forms
U+FB50..U+FDFF | Arabic Presentation Forms-A

This is a significant issue that impairs proper cross-language support and needs to be resolved.

There are two giant PUA zones that Material Design could be relocated to:
https://unicode.org/charts/PDF/UF0000.pdf
https://unicode.org/charts/PDF/U100000.pdf

Or perhaps to the section recommended by Nerd Fonts: E700-EF47
(ryanoasis/nerd-fonts#365)

Either way, it needs to get out of assigned blocks and fully into PUA.

@gusbemacbe
Copy link

U+F900..U+FAFF | CJK Compatibility Ideographs
U+FB00..U+FB4F | Alphabetic Presentation Forms
U+FB50..U+FDFF | Arabic Presentation Forms-A

Chinese, Korean, Japanese, Hebrew and Arabic-speaking developers and programmers would not be happy that their languages were replaced with icons when they type in their languages in the terminal and text editor/IDE if they use Nerd Fonts as default monospace font.

@gusbemacbe
Copy link

@aaronbell, another important issue needs to be careful: https://www.wikiwand.com/en/Private_Use_Areas#/Vendor_use, prinicpally the Apple logo glyph.

@aaronbell
Copy link

@gusbemacbe By design, nothing in PUA can be considered "sacred" or reserved by any organization or company. This is why the conscript registry cannot have any expectation of protection as long as it lives in the PUA. Sorry!

But assigned Unicode slots are the basis of interoperability in digital systems and fonts. And as you said, It would be very bad if a user tries to write their own script and instead gets Material Design icons.

@gusbemacbe
Copy link

@gusbemacbe By design, nothing in PUA can be considered "sacred" or reserved by any organization or company. This is why the conscript registry cannot have any expectation of protection as long as it lives in the PUA. Sorry!

Yes, since Material Design and @ryanoasis' Nerd Fonts are open source, I can rewrite my own fonts for particular use, but making it working on the terminal and the text editor, reassigning the glyphs to Nerd Fonts and Material Design icons, and keeping it updated when checking new Nerd Fonts and Material Design updates may be challenging. I have to figure by myself, reading the Nerd Fonts documentation.

@Templarian
Copy link
Owner

Adding the basic klingon logo. We can update this at a later time.

klingon

The codepoint issues are a known thing that can't be fixed. Mostly because the webfont is for legacy support.

@aaronbell
Copy link

@Templarian why not issue a new version with updated code points and preserve the last version of the webfont for legacy purposes?

Continuing to provide a font that contains these code point issues will do nothing to help solve the problem. And more implementations will continue to trample over the Unicode slots.

@Templarian
Copy link
Owner

Legacy reasons. Need to make it easy for people that hardcoded codepoints to upgrade.

The use case is outside of the webfont's intent. For something like that I would suggest using the @mdi/svg package and assigning incremental codepoints during generation of the webfont.

http://dev.materialdesignicons.com/guide/webfont-alternatives

Haven't updated that docs page in a bit, but even back then the webfont was a terrible idea.

@aaronbell
Copy link

@Templarian This might be harsh to say, but y’all created this mess by providing a non-compliant webfont, so it is on you to fix it. Just saying, “this is too hard for legacy reasons” feels like a cop-out and ignores your responsibility in having created the problem in the first place.

Either stop providing the webfont (aka, make this repository is just a library of icons with no assigned Unicode positions) or update the webfont to be Unicode compliant.

The longer you provide that non-compliant font the more people will implement it into their projects.

@Templarian
Copy link
Owner

Templarian commented Jan 20, 2020

You would need to put it into context. The impact we have is the webfont is 6+ years old now and is used in countless projects (CDN alone is 20+ TB/m). So we simply treat the webfont as a legacy asset. The use case you've explained affects 0% of current users.

Trust me, definitely see what you're saying because we discussed fixing this 2+ years ago (going into 3.0), but there is so little benefit to users it was scrapped.

No one should be using the webfont and as we expand tooling/documentation it will become more clear each year.

@mririgoyen
Copy link
Sponsor Collaborator

No one should be using the webfont

👏👏👏👏

@aaronbell
Copy link

@Templarian I think that there's two use cases for the Material Design icons in fonts. One is as a stand-alone webfont that people call in to use a specific glyph in a specific location. This kind of use case won't run into inter-operability errors because it is being used in a targeted way, and only in those singular applications. Still not ideal overriding unicode slots, but at least it isn't harming anyone :).

The problem arises when Material Design icons are integrated into other fonts, such as via Nerd Fonts. So you might have a developer in Japan (or Korea, or China) who is trying to use a specific ideograph character from the CJK Compatibility set, but because Fura Code Nerd Fonts is their primary coding font, they instead get Material Design iconography. They literally cannot access those specific ideograph characters without changing their font entirely. That breaks the entire point of the Unicode standard.

Now, I understand that you may never have intended for this sort of integration to occur, but because a webfont version was produced, the codepoints you'd established become problematic. At some point, Nerd Fonts is going to have to shift the location of Material Design's icons to a new location and it will become problematic for users if the version that you're providing and the version that they provide fall out of sync.

In thinking about it more, perhaps on your end this is more of a documentation-problem assuming that the many users of the current legacy version are only using it in the first use case I described above. But I think it would behoove you to (a) work with Nerd Fonts (or yourself decide) a new location for the Material Design codepoints, (b) issue a new webfont using those new codepoints, and (c) make it clear that any new users who want a webfont should use the new version. If then you continue to provide the old version for legacy reasons (and it is clearly marked as such), then that's fine.

@aaronbell
Copy link

aaronbell commented Jan 20, 2020

Something else I forgot to mention—certain unicode ranges are treated differently by East Asian text rendering systems in order to account for the width of the forms. See this bug (in Japanese, but the pictures are quite telling) and the vim ambiwidth reference. Because these symbols have been placed in the wrong spot, they are being interpreted incorrectly by systems that expect them to behave in a certain way.

@ryanoasis
Copy link

Just thought I'd chime in that Nerd Fonts is aware of the issue and there are a few tickets (already mentioned here by @aaronbell and others: ryanoasis/nerd-fonts#346, ryanoasis/nerd-fonts#365, ryanoasis/nerd-fonts#409) related to correcting clobbering standard unicode ranges 😞

Either way, it needs to get out of assigned blocks and fully into PUA.

💯 agree

Chinese, Korean, Japanese, Hebrew and Arabic-speaking developers and programmers would not be happy that their languages were replaced with icons when they type in their languages in the terminal and text editor/IDE if they use Nerd Fonts as default monospace font.

For sure, totally. I knew about the PUA ranges but wasn't careful enough when moving some glyphs to different codepoints (due to conflict in PUA itself of a few glyph sets 😅)

@Templarian
Copy link
Owner

Seeing that it uses such an old version of the icons isn't a good sign. We've got a whole guide for keeping third party libraries/tools up to date:

http://dev.materialdesignicons.com/contribute/third-party

@mririgoyen mririgoyen removed this from the Backlog milestone Mar 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Icon Request Request for a specific icon.
Projects
None yet
Development

No branches or pull requests

9 participants