Hey y’all,
I’ve been helping somebody master a few fonts and I’ve run into a problem.
Normally I’ll design hyphen-minus (-, U+002D) to be a hyphen, and add a proper mathematical minus (−, U+2212) to align with the default numbers and mathematical operators. That works fine when I assume a capable typographer.
However, I can’t assume this for this particular client. Mainly, most people don’t have the minus on their keyboard (I do; I use
Ukelele for custom keyboard layouts). Also, as long as hyphen-minus is doing both duties, most people will not think about it.
Considering that the hyphen-minus is a lot lower, slightly heavier, and shorter than the mathematical operators, how do I most elegantly handle this? I don’t know if I can even rely on
calt
. So: do I accept the difference, or is there a way to make this a bit more intelligent?
Comments
You might try to convince your client to use an endash instead of a hyphen for minus. It is accessible from most keyboard layouts, and it is also easier to design an endash that can do double duty as a minus since they both generally occur mostly in the context of numbers.
Codepoints are codepoints. You shouldn't "fix" things that are on the keyboard layout. Many kbd layout don't have minus out there, nor smart quotes and so on. Office suites often have a replacement facility or otherwise they're looking at making a custom keyboard layout (which isn't hard to do in the first place, it's just that not many people do it).
Swapping between codepoints is often not a good idea because it's not going to be portable across the fonts – and that is precisely the reason why we use Unicode.
IMO we need to switch to keyboard layouts that are not direct mapping from typewriters. There is no reason why a minus sign should be a big deal in 2015. There is also no reason why this question should emerge at the type designer's level (it's about how you set up your computer, it's unrelated to a specific font).
As for why the type designer has to answer this, obviously it’s because computer setup is beyond most people, and fairly so. I have my own keyboard layout because I’m also a typographer. Most people are amazed to find the pilcrow on theirs.
Have the software makers develop these and sell them. There’s some money to be made.
And if they don’t want to be the same glyph or character width, at least they can be the same height and thickness, to align with + and =.
You’re missing the point: this character was added in Unicode for backwards-compatibility with ASCII which itself inherits from typewriters.
Unicode defines semantics. The hyphen-minus is “either an hyphen or a minus” per spec – there is a distinct codepoint, U+2010, for hyphen alone (+ another one for minus alone ofc) but it’s little-used in practise since people who differenciate just use hyphen-minus to only represent the hyphen given that it’s what’s on keyboards anyway.
Also not many fonts provide U+2010 (it just needs to be a duplicate of the hyphen-minus). I saw it in FF More and add it to my work since then.
The general solution I decided to adopt is to have a proper minus glyph (U+2212) — also considered I decided to make my Math symbols "universal" in fonts that are not specifically intended for Math — and to assign a double code point to the hyphenminus and hyphen glyphs (U+002D and U+2010) intended to be used mainly (but not necessarily only) as a hyphen.
I don't think that Andreas Stotzner was calling you an idiot. Instead, I think his opprobrium was aimed at the people at the Unicode Consortium that chose that name.
Since it has been revealed in this thread that U+2010 exists also in Unicode, for a true hyphen which is only used as a hyphen, I think it's obvious how to deal with this situation. That is, if the situation is what I think I understand it to be: a typographically unsophisticated client has a need for a proper mathematical minus from a given font.
John Savard:
002D;hyphen;HYPHEN-MINUS
2212;minus;MINUS SIGN
One could always make a contextual substitution with U+2010 and design a specific or alternate hyphen for this.
For example, since De Vinne has a unusual hyphen, I designed U+2010 as a proper "hyphenminus" in case someone looks for a conventional hyphen. U+2212 is balanced in design with other math operators.
There is a codepoint for the double hypen in historical fashion, so I think in the case of De Vinne I will assign three codepoints to the same glyph.
https://codepoints.net/U+2E40
I would recommend against encoding the double‑hyphen with the same codepoint as the single hyphen. When a text explicitly requests a double‑hyphen, then showing a normal hyphen is the wrong thing to do (even if it is available as an alternative via some feature). If you want to triple encode the hyphen glyph, use my approach.
The third is a period stylistic variant that I have found and might not have been part of the actual lead De Vinne, maybe from another period face. But I like it so I am including it as an even more decorative version. The last line shows my monoline Math operators, including minus.
@John Hudson It could be solved without replacing codepoints.
This way the hyphen codepoint remains hyphen but looks like a minus (between a numbers), and the letter x remains x but looks like a multiply. I would like to hear the pros and cons of this approach.