[Cryptography] Missing symbol annoyance with unicode technical standard.
Jon Callas
jon at callas.org
Tue Dec 17 19:43:40 EST 2024
> On Dec 16, 2024, at 16:48, Ray Dillinger <bear at sonic.net> wrote:
>
> In designing a text UI for an application where the users actually do some key management, it would be nice if unicode had a "keyhole" icon, distinct from the various "lock" icons.
>
> Anybody got a good idea what block such a thing ought to go in?
Going directly to your question(s), yeah, there's no keyhole glyph. It doesn't really matter where one would put it. One could even argue that a keyhole emoji would be better because you can do it artistically better that way.
Adobe has a whole series of keyhole icons at <https://stock.adobe.com/search?k=keyhole+icon> and Shutterstock has a lot of them at <https://www.shutterstock.com/search/keyhole-symbol> and if you look at it, it's not a simple matter of picking one -- moreover, in a lot of "keyhole icons" there's negative space around the keyhole that forms the image of a lock.
And yeah, my turning the negative space of a keyhole image in a lock icon into the keyhole being the positive space with the lock being the background is indeed part of the point of this being hard. Keyholes are the negative space of a lock, and it's really hard to get an isolated keyhole that's semantically recognizable as a keyhole without there being a lock there -- and the few that do use a key to provide mental context.
I think you're best off finding an image you like and lobbying the emoji people to get it in there.
Now to the digression. Before I did cryptography, I did character sets, fonts, and the like. A long time ago, when Unicode first started up, they put a principle that glyphs that are the same get collapsed together. That's all well and good in principle, but first you get into problems with different -- uhh alphabets -- and the terms are always hard to deal with even for those. In any event, Roman characters, Greek characters, and Cyrillic characters all have generic look, but they're different characters. So we need those. Then there are lots of other symbols that are kinda the same and very different; these debates go back at least as far as ASCII, itself.
In ASCII, the character '-', U+002D, is called the "hyphen-minus." It's a controversy so intrinsic to what we do that there's a Wikipedia page devoted to the hyphen-minus. (I love that there's a hyphen in hyphen-minus, myself.) In the original ASCII definitions it was actually "hyphen (minus)" with the minus as a comment, because it overloaded the hyphen with what some places (notably the language APL) had as the "high minus" which is in Unicode as "superscript minus," U+207B. In APL, one is supposed to use the high minus for constants; the hyphen-minus is used for subtraction, and it has a monadic form that subtracts the right-hand side from zero, so you get the same answer when you type "-1" as with "⁻1" but it's an expression, not a number. Also, in unicode there's also a "minus," U+2212, that is a formal minus.
Oh, wait. Not only is it the hyphen-minus, it's also the dash. Or part of a dash. Because there are all sorts of dashes. There's the en-dash, which is pretty close in size to a hyphen-minus and "generally" (but not always) longer than a hyphen; the em-dash, which is wider and supposedly twice the width of an en-dash (duh); the "figure dash" (U+2012); the "horizontal bar"; and probably more. Then there's how you type them. Markup languages generally use two hyphens for an em-dash, but sometimes three, and sometimes two makes either an en-dash or a figure-dash, all of which makes for highly entertaining debates even before we get into discussions about whether one puts spaces around and em-dash.
All of this is to say you're right about confusing bits of unicode where it's somewhere between hard and impossible to tell characters apart, but that existed before unicode.
Next up on the discussion is the difference between the period/full stop and the dot. Yeah, bringing us back to cryptography, the dot that's in domain names and standards like eks-dot-five-oh-nine or ay-ess-en-dot-one and is not exactly the same as the mathematical operator. That character floats above the baseline -- and -- and -- I better not get started.
Jon
More information about the cryptography
mailing list