Duplicate characters in Unicode: Difference between revisions

Content deleted Content added
Tags: Mobile edit Mobile app edit Android app edit App section source
 
(7 intermediate revisions by 2 users not shown)
Line 10:
{{further|Character (computing)|Grapheme}}
Unicode aims at encoding graphemes, not individual "meanings" ("semantics") of graphemes, and not [[glyph]]s.
It is a matter of case-by-case judgement whether such characters should receive separate encoding when used in technical contexts, e.g. Greek letters used as mathematical symbols: thus, the choice to have a "[[micro-]] sign" µ separate from Greek μ, but not a "[[Mega-|Mega]] sign" separate from Latin M, was a pragmatic decision by theThe Unicode consortiumConsortium for historical reasons (namely, compatibility with [[Latin-1]], which includedincludes a micro sign). Technically µ and μ are not duplicate characters in that the consortium viewed these symbols as distinct characters (while it regarded M for "Mega" and Latin M as one and the same character).
 
Note that merely having different "meanings" is not sufficient grounds to split a grapheme into several characters:. Thus, the [[acute accent]] may represent word accent in Welsh or Swedish, it may express vowel quality in French, and it may express vowel length in Hungarian, Icelandic or Irish. Since all these languages are written in the same [[writing system|script]], namely [[Latin script]], the acute accent in its various meanings is considered one and the same combining diacritic character (U+{{unichar|0301)}}, and so the accented letter [[é]] is the same character in French and Hungarian. There is a separate "combining diacritic acute tone mark" at U+{{unichar|0341}} for the romanization of tone languages, one important difference from the acute accent being that in a language like French, the acute accent can replace the dot over the lowercase i, whereas in a language like Vietnamese, the acute tone mark is added above the dot. Diacritic signs for alphabets considered independent may be encoded separately, such as the acute ("tonos") for the Greek alphabet at U+{{unichar|0384}}, and for the Armenian alphabet at U+{{unichar|055B}}. Some Cyrillic-based alphabets (such as [[Russian alphabet|Russian]]) also use the acute accent, but there is no "Cyrillic acute" encoded separately and U+0301 should be used for Cyrillic as well as Latin (see [[Cyrillic characters in Unicode]]). The point that the same grapheme can have many "meanings" is even more obvious considering e.g. the letter [[U]], which has entirely different phonemic referents in the various languages that use it in their orthographies (English {{IPA|/juː/, /ʊ/, /ʌ/}} etc., French {{IPA|/y/}}, German {{IPA|/uː/, /u/}}, etc., not to mention various uses of [[U (disambiguation)|U as a symbol]]).
 
==Compatibility issues==
Line 27:
Several variants of the entire Greek and Latin alphabets specifically for use as mathematical symbols are encoded in the [[Mathematical Alphanumeric Symbols]] range. This range disambiguates characters that would usually be considered font variants but are encoded separately because of widespread use of font variants e.g. [[L]] vs. "script L" {{Script|Latn|ℒ}} vs. "blackletter L" {{Script|de-Latf|𝔏}} vs. "boldface blackletter L" {{Script|de-Latf|𝕷}}) as distinctive [[mathematical symbols]]. It is intended for use only in mathematical or technical notation, not use in non-technical text.<ref>{{Cite web |title=UTR #25: Unicode and Mathematics |url=http://unicode.org/reports/tr25/tr25-5.html#_Toc21 |access-date=2024-03-04 |website=unicode.org}}</ref>
 
===List Greek ===
Many [[Greek alphabet|Greek letters]] are used as [[technical symbol]]s. All of the Greek letters are encoded in the Greek section of Unicode but many are encoded a second time under the name of the technical symbol they represent. The "[[micro sign]]" (U+{{unichar|00B5, µ}}) is obviously inherited from [[ISO 8859-1]], but the origin of the others is less clear.
 
Other Greek glyph variants encoded as separate characters include the [[lunate sigma]] Ϲ ϲ contrasting with Σ σ, final sigma ς (strictly speaking a contextual glyph variant) contrasting with σ, The [[Qoppa]] numeral symbol Ϟ ϟ contrasting with the archaic Ϙ ϙ.
 
Greek letters assigned separate "symbol" codepoints include the [[Letterlike Symbols]] [[ϐ]], [[ϵ]], [[ϑ]], [[Pi (letter)|ϖ]], [[ϱ]], [[ϒ]], and [[ϕ]] (contrasting with β, ε, θ, π, ρ, Υ, φ); the Ohm symbol [[Ω]] (contrasting with Ω); and the [[Unicode mathematical operators and symbols|mathematical operators]] for the product [[∏]] and sum [[∑]] (contrasting with [[Pi (letter)|Π]] and [[Σ]]).
 
===Roman numerals===
Unicode has a number of characters specifically designated as [[Roman numerals]], as part of the ''[[Number Forms'']] range from U+2160 to U+2183. For example, Roman 1988 ({{char|MCMLXXXVIII}}) could alternatively be written as {{char|ⅯⅭⅯⅬⅩⅩⅩⅧ}}. This range includes both uppercase and lowercase numerals, as well as pre-combined glyphs for numbers up to 12 ({{char|Ⅻ}} for {{char|XII}}), mainly intended for clock faces.
 
The pre-combined glyphs should only be used to represent the individual numbers where the use of individual glyphs is not wanted, and not to replace compounded numbers. For example, one can combine {{char|Ⅹ}} with {{char|Ⅰ}} to meanproduce Roman numeral eleven11 ({{char|ⅩⅠ}}), so U+216A ({{char|Ⅺ}}) is canonically equivalent to {{char|ⅩⅠ}}. Such characters are also referred to as composite compatibility characters or decomposable compatibility characters. Such characters would not normally have been included within the Unicode standard except for compatibility with other existing encodings (see [[Unicode compatibility characters]]). The goal was to accommodate simple translation from existing encodings into Unicode. This makes translations in the opposite direction complicated because multiple Unicode characters may map to a single character in another encoding. Without the compatibility concerns the only characters necessary would be: {{charChar|Ⅰ}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, {{Char|}}, and {{Char|Ↄ}}; all other Roman numerals can be composed from these characters.
 
=== Arabic presentation forms ===
{{main|Arabic Presentation Forms-A|Arabic Presentation Forms-B}}Unicode has encoded compatibility characters for contextual Arabic letter forms where its 4 contextual forms are encoded as separate code points (isolated, final, initial, and medial). For example, {{Codepoint|0647}} has its contextual forms encoded at these 4 code points:
* {{Codepoint|FEE9}}
* {{Codepoint|FEEA}}
* {{Codepoint|FEEB}}
* {{Codepoint|FEEC}}
The contextual-form characters are not recommended for general use. There are also compatibility Arabic ligatures encoded such as {{unichar|FDF2}} and {{unichar|FDFD}}.
 
=== Hebrew presentation forms ===
{{Main|Alphabetic Presentation Forms}}
Hebrew presentation forms include ligatures, several precomposed characters and wide variants of Hebrew letters. The aleph-lamed ligature is encoded as a separate character at {{unichar|FB4F}}.
The wide variants are listed below:
<!-- Just like the main list; Duplicate character: Original character(s) -->
* {{unichar|FB21}}
* {{unichar|FB22}}
* {{unichar|FB23}}
* {{unichar|FB24}}
* {{unichar|FB25}}
* {{unichar|FB26}}
* {{unichar|FB27}}
* {{unichar|FB28}}
 
These characters are variants of ordinary Hebrew letters encoded for [[Justification (typesetting)|justification]] of texts written in Hebrew, such as the Torah. Unicode also encodes a stylistic variant of {{Unichar|5e2}} at {{Unichar|FB20}}.
 
=== GreekList ===
{{incomplete list|date=April 2022}}<!-- General pattern:
Duplicate character, original character -->
Line 37 ⟶ 73:
*{{unichar|212A|KELVIN SIGN|nlink=Kelvin}}: {{unichar|004B|LATIN CAPITAL LETTER K}}
*{{unichar|2024|ONE DOT LEADER|nlink=Leader_(typography)}}: {{unichar|002E|FULL STOP}}
*{{unichar|2126|ohm sign|nlink=Ohm}}: {{unichar|03A9|GREEK CAPITAL LETTER OMEGA}}
*{{Unichar|2236|RATIO}}: {{Unichar|003A|COLON}}
*{{Unichar|0387|}}: {{Unichar|00B7|COLON}}
Line 50 ⟶ 86:
*{{Unichar|2255}}: {{Unichar|03d|COLON}}, {{Unichar|003A|COLON}}
*{{Unichar|2A74}}: {{Unichar|003A|COLON}}, {{Unichar|003A|COLON}}, {{Unichar|03d|COLON}}
*{{Unichar|0340|cwith=◌}}: {{Unichar|0300|cwith=◌}}
*{{Unichar|0341|cwith=◌}}: {{Unichar|0301|cwith=◌}}
*{{Unichar|0344|cwith=◌}}: {{Unichar|0308|cwith=◌}}, {{Unichar|0301|cwith=◌}}
*{{Unichar|222C}}: {{Unichar|222b}}, {{Unichar|222b}}
*{{Unichar|222D
Line 70 ⟶ 106:
*{{Unichar|03f9}}: {{Unichar|03a3}}
*{{Unichar|03F2}}: {{Unichar|03c3}}
*{{Unichar|017F|nlink=long s}}: {{Unichar|0073}}
*{{Unichar|03F5}}: {{Unichar|03b5}}
*{{Unichar|210f|nlink=Reduced Planck constant}}: {{Unichar|0127}}
*{{Unichar|2107}}: {{Unichar|0190}}
*{{Unichar|2103}}: {{Unichar|b0}}, {{Unichar|43}}
Line 79 ⟶ 115:
*{{Unichar|AA}}: {{Unichar|61}}
*{{Unichar|2139}}: {{Unichar|69}}
*{{Unicharunichar|FB29FB20}}: {{Unicharunichar|002b5e2}}
*{{unichar|FB21}}: {{Unichar|5d0}}
*
* {{unichar|FB22}}: {{Unichar|5d3}}
 
* {{unichar|FB23}}: {{Unichar|5d4}}
=== Greek ===
* {{unichar|FB24}}: {{Unichar|5db}}
Many [[Greek alphabet|Greek letters]] are used as [[technical symbol]]s. All of the Greek letters are encoded in the Greek section of Unicode but many are encoded a second time under the name of the technical symbol they represent. The "[[micro sign]]" (U+00B5, µ) is obviously inherited from [[ISO 8859-1]], but the origin of the others is less clear.
* {{unichar|FB25}}: {{Unichar|5dc}}
 
* {{unichar|FB26}}: {{Unichar|5dd}}
Other Greek glyph variants encoded as separate characters include the [[lunate sigma]] Ϲ ϲ contrasting with Σ σ, final sigma ς (strictly speaking a contextual glyph variant) contrasting with σ, The [[Qoppa]] numeral symbol Ϟ ϟ contrasting with the archaic Ϙ ϙ.
* {{unichar|FB27}}: {{Unichar|5e8}}
 
* {{unichar|FB28}}: {{Unichar|5ea}}
Greek letters assigned separate "symbol" codepoints include the [[Letterlike Symbols]] [[ϐ]], [[ϵ]], [[ϑ]], [[Pi (letter)|ϖ]], [[ϱ]], [[ϒ]], and [[ϕ]] (contrasting with β, ε, θ, π, ρ, Υ, φ); the Ohm symbol [[Ω]] (contrasting with Ω); and the [[Unicode mathematical operators and symbols|mathematical operators]] for the product [[∏]] and sum [[∑]] (contrasting with [[Pi (letter)|Π]] and [[Σ]]).
* {{Unichar|FB29}}: {{Unichar|002b}}
 
* {{Unichar|0343|cwith=◌}}: {{Unichar|0313|cwith=◌}}
===Roman numerals===
* {{Unichar|1ffd}}: {{Unichar|00B4}}
Unicode has a number of characters specifically designated as [[Roman numerals]], as part of the ''Number Forms'' range from U+2160 to U+2183. For example, Roman 1988 ({{char|MCMLXXXVIII}}) could alternatively be written as {{char|ⅯⅭⅯⅬⅩⅩⅩⅧ}}. This range includes both uppercase and lowercase numerals, as well as pre-combined glyphs for numbers up to 12 ({{char|Ⅻ}} for {{char|XII}}), mainly intended for clock faces.
* {{unichar|0384}}: {{Unichar|00B4}}
 
* {{Unichar|1fef}}: {{Unichar|0060}}
The pre-combined glyphs should only be used to represent the individual numbers where the use of individual glyphs is not wanted, and not to replace compounded numbers. For example, one can combine {{char|Ⅹ}} with {{char|Ⅰ}} to mean Roman numeral eleven ({{char|ⅩⅠ}}), so U+216A ({{char|Ⅺ}}) is canonically equivalent to {{char|ⅩⅠ}}. Such characters are also referred to as composite compatibility characters or decomposable compatibility characters. Such characters would not normally have been included within the Unicode standard except for compatibility with other existing encodings (see [[Unicode compatibility characters]]). The goal was to accommodate simple translation from existing encodings into Unicode. This makes translations in the opposite direction complicated because multiple Unicode characters may map to a single character in another encoding. Without the compatibility concerns the only characters necessary would be: {{char|Ⅰ, Ⅴ, Ⅹ, Ⅼ, Ⅽ, Ⅾ, Ⅿ, ⅰ, ⅴ, ⅹ, ⅼ, ⅽ, ⅾ, ⅿ, ↀ, ↁ, ↂ, ↇ, ↈ, and Ↄ}}; all other Roman numerals can be composed from these.
 
=== Arabic presentation forms ===
{{main|Arabic Presentation Forms-A|Arabic Presentation Forms-B}}{{Expand section|date=December 2024}}
Unicode has encoded compatibility characters for contextual Arabic letter forms where its 4 contextual forms encoded (isolated, final, initial, and medial). For example, {{Codepoint|0647}} has its contextual forms encoded at these 4 code points:
* {{Codepoint|FEE9}}
* {{Codepoint|FEEA}}
* {{Codepoint|FEEB}}
* {{Codepoint|FEEC}}
The contextual-form characters are not recommended for general use.
 
There are also compatibility Arabic ligatures encoded such as {{unichar|FDF2}} and {{unichar|FDFD}}
 
=== Hebrew presentation forms ===
{{Main|Alphabetic Presentation Forms}}
{{Expand section|date=December 2024}}
Hebrew presentation forms include ligatures, several precomposed characters and wide variants of Hebrew letters. The aleph-lamed ligature is encoded as a separate character at {{unichar|FB4F}}.
The wide variants are listed below:
<!-- Just like the main list; Duplicate character: Original character(s) -->
* {{unichar|FB21}}
* {{unichar|FB22}}
* {{unichar|FB23}}
* {{unichar|FB24}}
* {{unichar|FB25}}
* {{unichar|FB26}}
* {{unichar|FB27}}
* {{unichar|FB28}}
 
These characters were encoded for justification of texts written in Hebrew, such as the Torah.
 
==See also==