-
-
Notifications
You must be signed in to change notification settings - Fork 724
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
Comments
Probably need to add the federation badge/icon also. |
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. 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? |
@Jasmich Your link is 404. Could you just attach a copy of the image as an inline on your bug report here? |
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. |
Does GitHub have a Mute feature where you can hide comments from condescending, low-commit-count jerks? Just asking randomly here. |
(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!) |
Okay, fair enough. I shouldn't be judging you by software-developer standards. "low-commit-count" retracted. |
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:
There are a few other svg to webfont builders, but this would allow more careful selection of codepoints if one wants. |
Sorry, dude. I'll delete my comments if you think it's appropriate; I was out of line here. |
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. |
My apologies to @JapanYoshi, and thread readers in general, I was out of line and my comments were uncalled for. |
It's okay. Just need everyone to be nice here. 😸 Thanks! |
I integrated an example Klingon empire logo in my fork: https://github.com/JasMich/MaterialDesign/blob/klingon/svg/klingon-empire.svg |
But new icons should not be placed in the Klingon PUAs? |
@JapanYoshi The Klingon issue aside, Material Design is overriding assigned Unicode points as well. In particular: 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: Or perhaps to the section recommended by Nerd Fonts: E700-EF47 Either way, it needs to get out of assigned blocks and fully into PUA. |
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. |
@aaronbell, another important issue needs to be careful: https://www.wikiwand.com/en/Private_Use_Areas#/Vendor_use, prinicpally the Apple logo glyph. |
@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. |
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 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. |
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 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. |
@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. |
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. |
👏👏👏👏 |
@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. |
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. |
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 😞
💯 agree
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 😅) |
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: |
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
The text was updated successfully, but these errors were encountered: