Misplaced Pages

Private Use Areas

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

In Unicode , a Private Use Area ( PUA ) is a range of code points that, by definition, will not be assigned characters by the standard. Three private use areas are defined: one in the Basic Multilingual Plane ( U+E000–U+F8FF ), and one each in, and nearly covering, planes 15 and 16 ( U+F0000–U+FFFFD , U+100000–U+10FFFD ). They are intentionally left undefined so that third parties may assign their own characters without conflicting with Unicode Consortium assignments. Under the Unicode Stability Policy, the Private Use Areas will remain allocated for that purpose in all future Unicode versions.

#671328

56-472: Assignments to Private Use Area characters need not be "private" in the sense of strictly internal to an organisation; a number of assignment schemes have been published by several organisations. Such publication may include a font that supports the definition (showing the glyphs), and software making use of the private-use characters (e.g. a graphics character for a "print document" function). By definition, multiple private parties may assign different characters to

112-408: A numeric value that can be decimal, including zero and negatives, or a vulgar fraction. If there is not such a value, as with most of the characters, the numeric type is "None". The characters that do have a numeric value are separated in three groups: Decimal (De), Digit (Di) and Numeric (Nu, i.e. all other). "Decimal" means the character is a straight decimal digit. Only characters that are part of

168-532: A writing system . Apart from when describing the background and usage of a script, Unicode does not use a connection between a script and languages that use that script. So "Hebrew" refers to the Hebrew script, not to the Hebrew language. The special code Zyyy for "Common" allows a single value for a character that is used in multiple scripts. The code Zinh "Inherited script", used for combining characters and certain other special-purpose code points, indicates that

224-428: A Name (na=""): Controls (General Category: Cc), Private use (Co), Surrogate (Cs), Non-characters (Cn) and Reserved (Cn). They may be referenced, informally, by a generic or specific meta-name, called "Code Point Labels": <control>, <control-0088>, <reserved>, <noncharacter- hhhh >, <private-use- hhhh >, or <surrogate>. Since these labels contain <>-brackets, they can never appear as

280-413: A Name, which prevents confusion. In version 2.0 of Unicode, many names were changed. From then on the rule "a name will never change" came into effect, including the strict (normative) use of alias names. Disused version 1.0-names were moved to the property Alias, to provide some backward compatibility. Starting from Unicode version 2.0, the published name for a code point will never change. Therefore, in

336-443: A V and use an underscore instead of a dot: V1_1, for example. Codepoints without a specifically assigned age value have the value "NA", with the long form "Unassigned". Once a character has been defined, it will not be removed or reassigned. However, a character may be deprecated , meaning its "use is strongly discouraged". As of Unicode version 16.0, the following fifteen characters are deprecated: The Unicode Standard specifies

392-410: A character "inherits" its script identity from the character with which it is combined. (Unicode formerly used the private code Qaai for this purpose.) The code Zzzz "Unknown" is used for all characters that do not belong to a script (i.e. the default value), such as symbols and formatting characters. Overall, characters of a single script can be scattered over multiple blocks, like Latin characters . And

448-451: A character". Characters have separate properties to denote they are a punctuation character. The properties all have a Yes/No values : Dash , Quotation_Mark , Sentence_Terminal , Terminal_Punctuation . The Punctuation property refers to characters that are used to divide or structure text, and these are classified into different types based on their roles. Unicode assigns these punctuation characters specific categories. Whitespace

504-488: A character>". The character properties are described in Standard Annex #44. Properties have levels of forcefulness: normative, informative, contributory, or provisional. For simplicity of specification, a character property can be assigned by specifying a continuous range of code points that have the same property. Properties are displayed in the following order: The property between 'alias' and 'upper case'

560-399: A contiguous encoded range 0..9 have numeric type Decimal. Other digits, like superscripts, have numeric type Digit. All numeric characters like fractions and Roman numerals end up with the type "Numeric". The intended effect is that a simple parser can use these decimal numeric values, without being distracted by say a numeric superscript or a fraction. Eighty-three CJK Ideographs that represent

616-415: A number, including those used for accounting, are typed Numeric. On the other hand, characters that could have a numeric value as a second meaning are still marked Numeric type None , and have no numeric value. E.g. Latin letters can be used in paragraph numbering like "II.A.1.b", but the letters "I", "A" and "b" are not numeric (type None ) and have no numeric value. Hexadecimal characters are those in

SECTION 10

#1732765818672

672-472: A property called Bidi_Class . It defines its behaviour in a bidirectional text as interpreted by the algorithm: In normal situations, the algorithm can determine the direction of a text by this character property. To control more complex Bidi situations, e.g. when an English text has a Hebrew quote, extra options are added to Unicode. Twelve characters have the property Bidi_Control=Yes : ALM, FSI, LRE, LRI, LRM, LRO, PDF, PDI, RLE, RLI, RLM and RLO as named in

728-456: Is assigned, has a single "block name" value from the 338 names assigned as of Unicode version 16.0. Unassigned code points outside of an existing block have the default value "No_block". Each assigned character can have a single value for its "Script" property, signifying to which script it belongs. The value is a four-letter code in the range Aaaa-Zzzz, as available in ISO 15924, which is mapped to

784-493: Is a commonly used concept for a typographic effect. Basically it covers invisible characters that have a spacing effect in rendered text. It includes spaces , tabs, and new line formatting controls. In Unicode, such a character has the property set "WSpace=yes". In version 16.0, there are 25 whitespace characters. The Case value is Normataive in Unicode. It pertains to those scripts with uppercase (aka capital, majuscule) and

840-425: Is also blank for code points that are not a typographic character like controls, substitutes, and private use code points. If there is a specific script alias name in ISO 15924, it is used in the character name: U+0041 A LATIN CAPITAL LETTER A , and U+05D0 א HEBREW LETTER ALEF . Decompositions, decomposition type, canonical combining class, composition exclusions, and more. Age

896-424: Is guaranteed to be unique within Unicode, and can be used to identify a code point and its character. Ideographic characters, of which there are tens of thousands, are named in the pattern " cjk unified ideograph - hhhh ". For example, U+4E00 一 CJK UNIFIED IDEOGRAPH-4E00 . Formatting characters are named too: U+00A0   NO-BREAK SPACE . The following classes of code point do not have

952-483: Is in no hurry to encode them. Some, such as unrepresented languages, are likely to end up encoded in the future. Some unusual cases such as fictional languages are outside the usual scope of Unicode but not explicitly ruled out by the principles of Unicode, and may show up eventually (such as the Star Trek and Tolkien writing systems). In other cases, the proposed encoding violates one or more Unicode principles and hence

1008-581: Is maintained by the ConScript Unicode Registry (CSUR). The CSUR, which is not officially endorsed or associated with the Unicode Consortium, provides a mapping for constructed scripts, such as Klingon pIqaD and Ferengi script (Star Trek), Tengwar and Cirth (J.R.R. Tolkien's cursive and runic scripts), Alexander Melville Bell's Visible Speech , and Dr. Seuss' alphabet from On Beyond Zebra . The CSUR previously encoded

1064-533: Is mapped to a related variant at U+5F5E ( 彞 ); U+5F5D is separately included in CNS 11643 plane 3. However, some variant mappings for Big5, such as some defined by IBM , include U+5F5E rather than U+5F5D. Similarly, a single character from Big5 level 2 (including its IBM variant) is mapped to a different Unicode code point than its CNS 11643 plane 2 counterpart: to U+5284 ( 劄 ), while the Unihan database currently maps

1120-550: Is not possible to determine whether hexadecimal value is intended, or even whether a value is intended at all. That should be determined at a higher level, e.g. by prepending 0x to a hexadecimal number or by context. The only feature is that Unicode can note that a sequence can or can not be a hexadecimal value. A block is a uniquely named, contiguous range of code points. It is identified by its first and last code point. Blocks do not overlap . A block may contain code points that are reserved, not-assigned, etc. Each character that

1176-514: Is not specified by this standard and whose use may be determined by private agreement among cooperating users. These characters are designated for private use and do not have defined, interpretable semantics except by private agreement. ... No charts are provided for private-use characters, as any such characters are, by their very nature, defined only outside the context of this standard. In the Basic Multilingual Plane (plane 0),

SECTION 20

#1732765818672

1232-436: Is obsolete and is now null for all Unicode characters. The first property is the hexadecimal code point . A Unicode character is assigned a unique Name (na). The name is composed of uppercase letters A–Z, digits 0–9, hyphen-minus and space . Some sequences are excluded: names beginning with a space or hyphen, names ending with a space or hyphen, repeated spaces or hyphens, and space after hyphen are not allowed. The name

1288-413: Is officially the standard character set of Taiwan (Republic of China). In practice, variants of the related Big5 character set are de facto standard. CNS 11643 is designed to conform to ISO 2022 . It contains 16 planes, so the maximum possible number of encodable characters is 16×94×94 = 141376. Planes 1 through 7 are defined by the standard; since 2007, planes 10 through 15 have also been defined by

1344-530: Is the version of the Standard in which the code point was first designated. The version number is shortened to the numbering major.minor, although there more detailed version numbers are used: versions 4.0.0 and 4.0.1 both are named 4.0 as Age. Given the releases, Age can be from the range: 1.1, 2.0, 2.1, 3.0, 3.1, 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, 6.0, 6.1, 6.2, 6.3, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 12.1, 13.0, 14.0, 15.0, 15.1, and 16.0. The long values for Age begin in

1400-575: Is unlikely to ever be officially recognized by Unicode—mostly where users want to directly encode alternate forms, ligatures, or base-character-plus-diacritic combinations (such as the TUNE scheme). Informally, the range U+F000 through U+F8FF is known as the Corporate Use Area. This originates from early versions of Unicode, which defined an "End User Zone" extending from U+E000 upward and a "Corporate Use Zone" extending from U+F8FF downward, with

1456-622: The Euro sign , ideographic zero, kana and extensions to the existing bopomofo and Roman alphabet support to plane 1. It introduced planes 10 through 14, containing additional hanzi, and incorporated the existing plane 15 extension into the standard itself (with gaps left where the characters already existed in planes 4 through 7). It also added 128 further hanzi to plane 3, starting at code point 68–40. As of 2017 , there are several thousand CNS 11643 characters with no corresponding Unicode character, mostly in planes 10 through 14; these are mapped to

1512-452: The Latin alphabet. The express purpose of MUFI is to experimentally determine which characters are necessary to represent these texts, and to have those characters officially encoded in Unicode. As of Unicode version 5.1, 152 MUFI characters have been incorporated into the official Unicode encoding. Some agreed-upon PUA character collections exist in part or whole because the Unicode Consortium

1568-455: The PUA. Some of these private use agreements are published, so other PUA implementers can aim for unused or less-used code points to prevent overlaps. Several characters and scripts previously encoded in private use agreements have actually been fully encoded in Unicode, necessitating mappings from the PUA to other Unicode code points. One of the more well-known and broadly implemented PUA agreements

1624-565: The Private Use Areas for their desired additions. Unicode character property#General Category The Unicode Standard assigns various properties to each Unicode character and code point . The properties can be used to handle characters (code points) in processes, like in line-breaking, script direction right-to-left or applying controls. Some "character properties" are also defined for code points that have no character assigned and code points that are labeled like "<not

1680-643: The Unicode Supplementary Private Use Area . Levels 1 and 2 of the Big5 encoding correspond mostly to CNS 11643 planes 1 and 2, respectively, with occasional differences in order, and with two duplicate hanzi existing in Big5 but not in CNS 11643. They can be mapped using a list of ranges. However, the 213 classical radicals in CNS 11643 plane 1 are additional to the characters available in Big5 (although they can be lossily mapped to

1736-674: The Unicode Standard: All formal character name aliases follow the rules for permissible character names, and are guaranteed to be unique within both the character name alias and the character name namespaces (for this reason, the ISO 6429 name "BELL" is not defined as an alias for U+0007 <control-0007> because U+1F514 is named "BELL"; U+0007 instead has the alias of "ALERT"). As of Unicode version 16.0, thirty-five formal character name aliases are defined as corrections for defective character names. Apart from these normative names, informal names may be shown in

Private Use Areas - Misplaced Pages Continue

1792-431: The Unicode code charts. These are other commonly used names for a character, and do not have the same character restriction. These informal names are not guaranteed to be unique, and may be changed or removed in later versions of the standard. Each code point is assigned a value for General Category. This is one of the character properties that are also defined for unassigned code points and code points that are defined "not

1848-439: The base letter: Marks which do not attach to the base letter: Six character properties pertain to bi-directional writing: Bidi_Class , Bidi_Control , Bidi_Mirrored , Bidi_Mirroring_Glyph , Bidi_Paired_Bracket and Bidi_Paired_Bracket_Type . One of Unicode's major features is support of bi-directional ( Bidi ) text display right-to-left (R-to-L) and left-to-right (L-to-R). The Unicode Bidirectional Algorithm UAX9 describes

1904-430: The block titled Private Use Area has 6400 code points. Planes 15 and 16 are almost entirely assigned to two further Private Use Areas, Supplementary Private Use Area-A and Supplementary Private Use Area-B respectively. In UTF-16 a subset of the high surrogates (U+DB80..U+DBFF) is used for these and only these planes, and are called High Private Use Surrogates . There are three PUA blocks in Unicode. In Unicode 1.0.0,

1960-643: The boundary between the two left undefined. The concept of reserving specific code points for Private Use is based on similar earlier usage in other character sets. In particular, many otherwise obsolete characters in East Asian scripts continue to be used in specific names or other situations, and so some character sets for those scripts made allowance for private-use characters (such as the user-defined planes of CNS 11643 , or gaiji in certain Japanese encodings). The Unicode standard references these uses under

2016-446: The corresponding hanzi characters in Big5 or HKSCS), and further additional characters were added to CNS 11643 plane 1 in 2007. The Big5-2003 variant of Big5 is defined as a partial encoding of CNS 11643. Within the Big5 hanzi repertoire, only one plane 1 character is conventionally mapped to Unicode differently from the corresponding character from the first two CNS 11643 planes: to U+5F5D ( 彝 ), whereas its CNS plane 1 counterpart

2072-497: The event of a character name being misspelled or if the character name is completely wrong or seriously misleading, a formal Character Name Alias may be assigned to the character, and this alias may be used by applications instead of the actual defective character name. For example, U+FE18 ︘ PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET has the character name alias " PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET " in order to mitigate

2128-519: The following boundary-related properties: Unicode can assign alias names to code points. These names are unique over all names (including regular ones), so they can be used as identifier. There are five possible reasons to add an alias: CNS 11643 The CNS 11643 character set (Chinese National Standard 11643), also officially known as the Chinese Standard Interchange Code or CSIC ( Chinese : 中文標準交換碼 ),

2184-500: The lowercase (aka small, minuscule) letters. Case-difference occurs in Adlam, Armenian, Cherokee, Coptic, Cyrillic, Deseret, Garay, Glagolitic, Greek, Khutsuri and Mkhedruli Georgian, Latin, Medefaidrin, Old Hungarian, Osage, Vithkuqi and Warang Citi scripts. (upper, lower, title, folding—both simple and full) Ideographic, alphabetic, noncharacter. Some common codes: 10–199 = various fixed-position classes Marks which attach to

2240-413: The mirrored character. For example, parentheses ( , ) are mirrored this way. Shaping cursive scripts such as Arabic, and mirroring glyphs that have a direction, is not part of the algorithm. Characters are classified with a Numeric type . Characters such as fractions, subscripts, superscripts, Roman numerals, currency numerators, encircled numbers, and script-specific digits are type Numeric. They have

2296-510: The misspelling of "bracket" as "brakcet" [ sic ] in the actual character name; U+A015 ꀕ YI SYLLABLE WU has the character name alias "YI SYLLABLE ITERATION MARK" because, contrary to the character name, it does not have a fixed syllabic value. In addition to character name aliases which are corrections to defective character names, some characters are assigned aliases which are alternative names or abbreviations. Five types of character name aliases are defined in

Private Use Areas - Misplaced Pages Continue

2352-717: The name "End User Character Definition" (EUCD). Additionally, the C1 control block contains two codes intended for private use "control functions" by ECMA-48 : 0x91 private use one (PU1) and 0x92 private use two (PU2). Unicode includes these at U+0091 <control-0091> and U+0092 <control-0092> but defines them as control characters (category Cc ), not private-use characters (category Co ). Encodings which do not have private use areas but have more or less unused areas, such as ISO/IEC 8859 and Shift JIS , have seen uncontrolled variants of these encodings evolve. For Unicode, software companies can use

2408-479: The national bodies submitted character sets to the CJK Joint Research Group for inclusion. The version of CNS 11643 submitted included the plane 14 extension, in addition to further desired characters appended to plane 14 (after 68–21, the last used code point in the standard version of the extension). In the second edition of the standard, published in 1992, a much larger collection of hanzi

2464-515: The other way around too: multiple scripts can be present is a single block, e.g. block Letterlike Symbols contains characters from the Latin, Greek and Common scripts. When the Script is "" (blank), according to Unicode the character does not belong to a script. This pertains to symbols, because the existing ISO script codes "Zmth" (Mathematical notation), "Zsym" (Symbol), and "Zsye" (Symbol, emoji variant) are not used in Unicode. The "Script" property

2520-491: The private use area extended from U+E800 to U+FDFF (i.e. did not include U+E000..E7FF, but additionally included the U+F900..FDFF range now occupied by CJK Compatibility Ideographs , Alphabetic Presentation Forms and Arabic Presentation Forms-A ). This was changed to U+E000..F8FF in Unicode 1.0.1, and remained so in Unicode 1.1. Contrary to misconception, the range U+D800..DFFF (reserved for UTF-16 surrogates since Unicode 2.0)

2576-424: The process of presenting text with altering script directions. For example, it enables a Hebrew quote in an English text. The Bidi_Character_Type marks a character's behaviour in directional writing. To override a direction, Unicode has defined special formatting control characters ( Bidi-Control s). These characters can enforce a direction, and by definition only affect bi-directional writing. Each code point has

2632-522: The same code point, with the consequence that a user may see one private character from an installed font where a different one was intended. Under the Unicode definition, code points in the Private Use Areas are not noncharacters, reserved, or unassigned. Their category is " Other, private use (Co) ", and no character names are specified. No representative glyphs are provided, and character semantics are left to private agreement. Private-use characters are assigned Unicode code points whose interpretation

2688-476: The series with hexadecimal values 0...9ABCDEF (sixteen characters, decimal value 0–15). The character property Hex_Digit is set to Yes when a character is in such a series: Forty-four characters are marked as Hex_Digit . The ones in the Basic Latin block are also marked as ASCII_Hex_Digit . Unicode has no separate characters for hexadecimal values. A consequence is, that when using regular characters it

2744-463: The special Bidi-controls. Number strings (Weak types) are assigned a direction according to their strong environment, as are Neutral characters. Finally, the characters are displayed per a string's direction. Two character properties are relevant to determining a mirror image of a glyph in bidirectional text: Bidi_Mirrored=Yes indicates that the glyph should be mirrored when written R-to-L. The property Bidi_Mirroring_Glyph=U+hhhh can then point to

2800-460: The standard was published in 1986, and included planes 1 and 2, deriving from levels 1 and 2 of Big5 , with some re-ordering due to corrected stroke counts, two duplicate characters being omitted, and the addition of 213 classical radicals in plane 1 (out of 214 Kangxi radicals , of which 210 are effectively duplicates of existing Big5 characters and the remaining three of HKSCS characters; see also Kangxi Radicals (Unicode block) ). Extensions to

2856-584: The standard were subsequently published in 1988 (6319 characters, occupying plane 14) and 1990 (7169 characters, occupying plane 15). Unicode 1.0.0, although it did not yet include hanzi , included characters for compatibility with CNS 11643: the CJK Compatibility Forms block was titled "CNS 11643 Compatibility" in Unicode 1.0.0. When the Unicode CJK Unified Ideographs set was being compiled for Unicode 1.0.1,

SECTION 50

#1732765818672

2912-590: The standard. Prior to this, planes 12 to 15 (35344 code points) were specifically designated for user-defined characters. Unlike CCCII , the encoding of variant characters in CNS 11643 is not related. EUC-TW is an encoded representation of CNS 11643 and ASCII in Extended Unix Code (EUC) form. Other encodings capable of representing certain CSIC planes include ISO-2022-CN (planes 1 and 2) and ISO-2022-CN-EXT (planes 1 through 7). The first edition of

2968-449: The table. These are invisible formatting control characters, only used by the algorithm and with no effect outside of bidirectional formatting. Despite the name, they are formatting characters, not control characters, and have General category Other, format (Cf) in the Unicode definition. Basically, the algorithm determines a sequence of characters with the same strong direction type (R-to-L or L-to-R), taking in account an overruling by

3024-569: The undeciphered Phaistos characters, as well as the Shavian and Deseret alphabets, which have all been accepted for official encoding in Unicode. Another common PUA agreement is maintained by the Medieval Unicode Font Initiative (MUFI). This project is attempting to support all of the scribal abbreviations, ligatures, precomposed characters , symbols, and alternate letterforms found in medieval texts written in

3080-433: Was defined across seven planes. A subset of the 1988 plane 14 extension, including the 6148 code points 01-01 through 66–38, became plane 3 (with the remaining 171 characters, code points 66-39 through 68–21, being instead distributed amongst plane 4). The plane 15 extension was not included, although 338 of its characters were included amongst planes 4 through 7. The third edition of the standard, published in 2007, added

3136-689: Was not included in the private use range of any Unicode 1.x version. Historically, planes E0 (224) through FF (255), and groups 60 (96) though 7F (127) of the Universal Coded Character Set (i.e. U+E00000 through U+FFFFFF and U+60000000 through U+7FFFFFFF) were also designated as private use. These ranges were removed from the specified private-use ranges when the UCS was restricted to the seventeen planes reachable in UTF-16. Many people and institutions have created character collections for

#671328