4 ms·
Unicode encodes symbols rather than glyphs. That is why there are different code points for say latin o and greek omicron even though they look the same. It als
by goto11 7y ago
Unicode encodes symbols rather than glyphs. That is why there are different code points for say latin o and greek omicron even though they look the same. It also distinguishes between punctuation symbols and mathematical operators, like between dash and minus, even though they look similar.
As for the "presentation forms" they are not semantically different and are mostly a compatibility thing:
A: Presentation forms are ligatures or glyph variants that are normally not encoded but are forms that show up during presentation of text, normally selected automatically by the layout software. A typical example are the positional forms for Arabic letters. These don't need to be encoded, because the layout software determines the correct form from context.
For historical reasons, a substantial number of presentation forms were encoded in Unicode as compatibility characters, because legacy software or data included them.
Unicode FAQ, https://unicode.org/faq/ligature_digraph.html#Pf1 https://unicode.org/faq/ligature_digraph.html#Pf1
- nyuszika7h 7y agoAnd yet, they do not have a mathematical italic "h" letter, using the reasoning that the Planck constant (ℎ) already exists. But this character looks out of place compared to the rest of the italic letters in many fonts.
- K0SM0S 7y agoOh thank you for pointing that out! There is also a lack of indices and exponents, among the most importants (can't remember but letters like i, x or n).
- YeGoblynQueenne 7y agoYou need a font that supports those and superscript-x is a modifier, rather than a subscript, but: aⁱ U+0271 Superscript Latin Small Letter I aˣ U+02e3 Modifier Letter Small X aⁿ U+207f Superscript Latin Small Letter N aᵢ U+1d62 Latin Subscript Latin Small Letter I aₓ U+2093 Latin Subscript Latin Small Letter X aₙ U+2099 Latin Subscript Latin Small Letter N I use DejaVu Sans Mono that is free and has some coverage, though it's missing the most inopportune ones. But you're right that there are many missing, either from the sub- and supescript ranges or from modifiers (or both). Edit: there's a page on wikipedia with a very complete list of unicode sub- and super-scripts _and other characters that can be used as such_: https://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts https://en.wikipedia.org/wiki/Unicode_subscripts_and_supersc... But, again, you need the right fonts.
- K0SM0S 7y agoI'm pretty sure I hadn't found some of these last I tried... Thank you SO MUCH!
- cryptonector 7y agoI don't think it's that simple. ASCII and ISO 8859 didn't have luxurious code spaces, so they had less semantics than Unicode. Unicode, as it's name implies, tries to unify these (and other) codesets. When unifying codesets you sometimes have to decide whether to unify two distinct codepoints for similar glyphs or not, and if not, then semantics intrude via the two codepoints' names (and, therefore, purpose). You might recall that Unicode 2.x tried to unify CJK... -- that was back when Unicode did not have a sufficiently-luxurious code space, and that unification, politically, went badly. In many ways it might have been better to have exactly one codepoint per distinct glyph, but in practice, the ability to have simple algorithms to map from existing codesets to Unicode, politics, and the ability to distinguish script (in the cases of otherwise-equal codepoints) turned out to be more important.