Content deleted Content added
m →Rich text compatibility characters: grammar fix |
m Dating maintenance tags: {{Citation needed}} |
||
(28 intermediate revisions by 19 users not shown) | |||
Line 1:
{{Short description|Character encoded solely to maintain round-trip convertibility with other standards}}
{{Multiple issues|
{{original research|date=July 2008}}
{{
}}
In [[Unicode]] and the [[Universal Character Set|UCS]], a '''compatibility character''' is a character that is encoded solely to maintain [[Round-trip format conversion|round
<blockquote>
Line 13 ⟶ 14:
== Compatibility character types and keywords ==
{{Time-context|section|that may not be current but does not specify which version of Unicode is being referenced|date=June 2018}}
The compatibility decomposition property for the 5,402 Unicode compatibility characters{{when|date=June 2018}} includes a keyword that divides the compatibility characters into 17 logical groups. Those characters with a compatibility decomposition but without a keyword are termed canonical decomposable characters and those characters are not compatibility characters. Keywords for compatibility decomposable characters include: <initial>, <medial>, <final>, <isolated>, <wide>, <narrow>, <small>, <square>, <vertical>, <circle>, <noBreak>, <fraction>, <sub>, <super>, and <compat>. These keywords provide some indication of the relation between the compatibility character and its compatibility decomposition character sequence. Compatibility characters fall in three basic categories:
# Characters corresponding to multiple alternate glyph forms and precomposed diacritics to support software and font implementations that do not include complete Unicode text layout capabilities.
# Characters included from other character sets or otherwise added to the UCS that constitute [[formatted text|rich text]] rather than the plain text goals of Unicode.
# Some other characters that are semantically distinct, but [[homoglyph|visually similar]].
Because these semantically distinct characters may be displayed with glyphs similar to the glyphs of other characters, text processing software should try to address possible confusion for the sake of end users. When comparing and collating (sorting) text strings, different forms and rich text variants of characters should not alter the text processing results. For example, software users may be confused when performing a find on a page for a capital Latin letter
== Compatibility mappings types ==
Line 23 ⟶ 25:
=== Glyph substitution and composition ===
Some compatibility characters are completely dispensable for text processing and display software that conforms to the Unicode standard. These include:
;[[typographic ligature|Ligatures]]: Ligatures such as
;Precomposed Roman numerals: For example, Roman numeral twelve (
;Precomposed [[vulgar fraction|fractions]]: These decomposition have the keyword <fraction>. A fully conforming text handler should<ref>{{cite
;Contextual glyphs or forms: These arise primarily in the Arabic script. Using fonts with glyph substitution capabilities such as [[OpenType]] and [[Apple Advanced Typography|TrueTypeGX]], Unicode conforming software can substitute the proper glyphs for the same character depending on whether that character appears at the beginning, end, middle of a word or in isolation. Such glyph substitution is also necessary for vertical (top to bottom) text layout for some East Asian languages. In this case glyphs must be substituted or synthesized for wide, narrow, small and square glyph forms. Non-conforming software or software using other character sets instead use multiple separate character for the same letter depending on its position: further complicating text processing.
Line 32 ⟶ 34:
In order to dispense with these compatibility characters, text software must conform to several Unicode protocols. The software must be able to:
#Compose diacritic marked graphemes from letter characters and one or more separate combining diacritic marks.
#Substitute (at the author or
#
#Combine fractions using the
#Combine a
All together these compatibility characters included for incomplete Unicode implementations total 3,779 of the 5,402 designated compatibility characters. These include all of the compatibility characters marked with the keywords <initial>, <medial>, <final>, <isolated>, <fraction>, <wide>, <narrow>, <small>, <vertical>, <square>. Also it includes nearly all of the canonical and most of the <compat> keyword compatibility characters (the exceptions include those <compat> keyword characters for enclosed alphanumerics, enclosed ideographs and those discussed in [[#Semantically distinct characters|§ Semantically distinct characters]]).
=== Rich text compatibility characters ===
Many other compatibility characters constitute what Unicode considers rich text and therefore outside the goals of Unicode and UCS. In some sense even compatibility characters discussed in the previous
For comparing, collating, handling and storing plain text, rich text variants are semantically redundant. For example, using a superscript character for the numeral 4 is likely indistinguishable from using the standard character for a numeral 4 and then using rich text protocols to make it superscript. Such alternate rich text characters therefore create ambiguity because they appear visually the same as their plain text counterpart characters with rich text formatting applied. These rich text compatibility characters include:
Line 60 ⟶ 62:
* [[Greek letter]] based symbols (7): beta (ϐ U+03D0), theta (ϑ U+03D1), phi (ϕ U+03D5), pi (ϖ U+03D6), kappa (ϰ U+03F0), rho (ϱ U+03F1), capital theta (ϴ U+03F4)
While these compatibility characters are distinguished from their compatibility decomposition characters only by adding the word
Though not the intention of Unicode to encode such measuring units the repertoire includes six (6) such symbols that should not be used by authors: the characters' decompositions should be used instead.<ref>Omega, mu, Angstrom, Kelvin: {{cite web |url=http://www.unicode.org/reports/tr25/ |title=Unicode Technical Report #25 / Unicode Support for Mathematics |date=2017-05-30 |page=11 |author=Unicode Consortium}}</ref><ref name="decomp" />
* Unit symbols (6): [[Angstrom]]
Unicode also designates
* Other Greek letter-based symbols (4): lunate epsilon (ϵ U+03F5), lunate sigma (ϲ U+03F2), capital lunate sigma (Ϲ U+03F9), upsilon with hook (ϒ U+03D2)
* Mathematical constants (3): Euler constant ([[ℇ]] U+2107), [[Planck constant]] (ℎ U+210E), [[reduced Planck constant]] (ℏ U+210F),
* Currency symbols (2): rupee sign (₨ U+20A8), rial sign (﷼ U+FDFC)
* Punctuation (4): one dot [[leader (typography)|leader]] (U+2024), no-break space (U+00A0), non-breaking hyphen (U+2011), Tibetan mark delimiter tsheg bstar (U+0F0C)
* Other letter-like symbols (10): information source (ℹ U+2139), account of (℀ U+2100), addressed to the subject (℁ U+2101), care of (℅ U+2105), cada una (℆ U+2106), [[Numero sign|numero]] (№ U+2116), telephone sign (℡ U+2121), facsimile sign (℻ U+213B), trademark (™ U+2122), service mark (℠ U+2120)
In addition, several scripts
* 112 characters representing abstract phonemes from phonetic alphabets such as the
* 14 characters from the [[Kanbun]] block (U+3192 – U+319F)
* 1 character from the [[Tifinagh]] script: Tifinagh Modifier Letter Labialization Mark (ⵯ U+2D6F)
* 1 character from the [[Georgian script]]: Modifier Letter Georgian Nar (ჼ U+10FC)
* masculine ([[º|U+00BA]]) and feminine ([[ª|U+00AA]]) ordinal indicators included in the [[Latin-1
Finally, Unicode designates Roman numerals as compatibility equivalence to the Latin letters that share the same glyphs.{{Citation needed|date=November 2015}}
Line 93 ⟶ 95:
Several blocks of Unicode characters include either entirely or almost entirely all compatibility characters (U+F900–U+FFEF except for the nonchars). The compatibility blocks contain none of the semantically distinct compatibility characters with only one exception: the rial currency symbol (﷼ U+FDFC) so the compatibility decomposable characters in the compatibility blocks fall unambiguously into the set of discouraged characters. Unicode recommends authors use the plain text compatibility decomposition equivalents instead and complement those characters with rich text markup. This approach is much more flexible and open-ended than using the finite set of circled or enclosed alphanumerics to give just one example.
# (U+FA0E): 﨎
Line 110 ⟶ 112:
These thirteen characters are not compatibility characters, and their use is not discouraged in any way. However, U+27EAF 𧺯, the same as U+FA23 﨣, is mistakenly encoded in CJK Unified Ideographs Extension B.<ref>[http://appsrv.cse.cuhk.edu.hk/~irg/irg/irg26/IRGN1218_Response_to_WG2.pdf#page=4 IRGN 1218]</ref> In any event, a normalized text should never contain both U+27EAF 𧺯 and U+FA23 﨣; these code points represent the same character, encoded twice.
Several other characters in these blocks have no compatibility mapping but are clearly intended for legacy support:{{citation needed|date=July 2025}}
Alphabetic Presentation Forms (1)
Line 116 ⟶ 118:
Arabic Presentation Forms (4)
#
#
#
#
CJK Compatibility Forms (2 that are both related to CJK Unified Ideograph: U+4E36 丶)
Line 132 ⟶ 134:
{{main article|Unicode normalization}}
Normalization is the process by which Unicode conforming software first performs full compatibility decomposition (or composition) before making comparisons or collating text strings
== See also ==
* [[CJK Compatibility]]
* [[CJK Compatibility Forms]]
* [[CJK Compatibility Ideographs]]
== References ==
Line 142 ⟶ 150:
{{Unicode navigation}}
|