Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Precomposed character
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Accented character with single codepoint}}{{No footnotes|date=October 2024}} A '''precomposed character''' (alternatively '''composite character''' or '''decomposable character''') is a [[Unicode]] entity that can also be defined as a sequence of one or more other characters. A precomposed character may typically represent a letter with a [[diacritic|diacritical mark]], such as ''é'' (Latin small letter ''e'' with [[acute accent]]). Technically, ''é'' (U+00E9) is a character that can be decomposed into an [[Unicode equivalence|equivalent]] string of the base letter ''e'' (U+0065) and [[combining character|combining]] acute accent (U+0301). Similarly, [[Ligature (typography)|ligatures]] are precompositions of their constituent letters or [[grapheme]]s. Precomposed characters are the legacy solution for representing many special letters in various [[character set]]s. In Unicode, they are included primarily to aid computer systems with incomplete Unicode support, where equivalent decomposed characters may render incorrectly. == Comparing precomposed and decomposed characters == In the following example, there is a common [[Swedish language|Swedish]] surname Åström written in the two alternative methods, the first one with a precomposed ''[[Å]]'' (U+00C5) and ''[[ö]]'' (U+00F6), and the second one using a decomposed base letter ''[[A]]'' (U+0041) with a combining [[ring above]] (U+030A) and an ''[[o]]'' (U+006F) with a combining [[trema (diacritic)|diaeresis]] (U+0308). #'''<span style="font-size:125%;"><span style="color:green">Å</span>str<span style="color:green">ö</span>m</span>''' (<span style="color:green">U+00C5</span> U+0073 U+0074 U+0072 <span style="color:green">U+00F6</span> U+006D) #<span style="color:DeepSkyBlue;"><span style="font-size:125%;">'''Åström'''</span> (U+0041 <span style="color:darkorange">U+030A</span> U+0073 U+0074 U+0072 U+006F <span style="color:darkorange">U+0308</span> U+006D)</span> Except for the different colors, the two solutions are equivalent and should render identically. In practice, however, some Unicode implementations still have difficulties with decomposed characters. In the worst case, combining diacritics may be disregarded or rendered as unrecognized characters after their base letters, as they are not included in all [[font]]s. To overcome the problems, some applications may simply attempt to replace the decomposed characters with the equivalent precomposed characters. With an incomplete font, however, precomposed characters may also be problematic – especially if they are more exotic, as in the following example (showing the reconstructed [[Proto-Indo-European language|Proto-Indo-European]] word for "dog"): #'''<span style="font-size:125%;"><span style="color:green">ḱṷṓ</span>n</span>''' (<span style="color:green">U+1E31 U+1E77 U+1E53</span> U+006E) #'''<span style="font-size:125%;">ḱṷṓn</span>''' (U+006B <span style="color:darkorange">U+0301</span> U+0075 <span style="color:darkorange">U+032D</span> U+006F <span style="color:darkorange">U+0304 U+0301</span> U+006E) In some situations, the precomposed green [[k]], [[u]] and [[o]] with diacritics may render as [[Mojibake|unrecognized characters]], or their [[typography|typographical]] appearance may be very different from the final letter [[n]] with no diacritic. On the second line, the base letters should at least render correctly even if the combining diacritics could not be recognized. [[OpenType]] has the ''ccmp'' "feature tag" to define glyphs that are compositions or decompositions involving combining characters. == Chinese characters == In theory, most [[Chinese characters]] as encoded by [[Han unification]] and similar schemes could be treated as precomposed characters, since they can be reduced (decomposed) to their constituent [[radical (Chinese characters)|radical and phonetic]] components with [[Chinese character description languages]]. Such an approach could reduce the number of characters in the character set from tens of thousands to just a few thousand. On the other hand, a decomposed character set would introduce challenges for searching and editing software and require more bytes of encoding per document. One particular challenge would be the multiple-to-multiple projections between the set of decomposed characters and the precomposed character—one precomposed character may be decomposed into multiple different sets of decomposed characters while one set of decomposed characters could contract themselves into multiple different precomposed characters. There is no strict requirement or constraints regarding the relative position between components within a character, the form of variant and transform (narrow, widen, stretch, rotate, etc.) applied on components, nor the number of each components. ==See also== *[[List of precomposed Latin characters in Unicode]] *[[Dead key]] *[[Compose key]] *[[Combining character]] *[[Unicode equivalence]] *[[Complex text layout]] *[[Unicode compatibility characters]] *[[Alphabetic Presentation Forms]] – (Unicode block) *[[Arabic Presentation Forms-A]] – (Unicode block) *[[Arabic Presentation Forms-B]] – (Unicode block) ==Sources== *The Unicode Standard, Version 5.2: [https://www.unicode.org/versions/Unicode5.2.0/ch03.pdf#G729 Conformance] (see Section 3.7 for Decomposition). The Unicode Consortium, December 2009. *MSDN: [http://msdn.microsoft.com/en-us/library/aa911606.aspx Defining a Character Set]. April 8, 2010. *Unicode Normalization Forms (Unicode® Standard Annex #15): http://unicode.org/reports/tr15/ ==External links== *[https://web.archive.org/web/20070927202708/http://flaez.ch/freeidg.html Free Idg Serif], a derivative of the [[FreeSerif]] font with added declarations of precomposed characters. {{Unicode navigation}} [[Category:Unicode]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:No footnotes
(
edit
)
Template:Short description
(
edit
)
Template:Unicode navigation
(
edit
)