Template:Charmap/doc

From blackwiki
Jump to navigation Jump to search

Template creates a standard computer encoding table for writing system character articles. It is based on the tables of Computing Codes placed on most Cyrillic letter pages by User:Coroboy.

Usage

{{charmap
| 1st character Unicode code point
| 2nd character Unicode code point
...
| 10th character Unicode code point

| image1 = alternate picture for 1st character
| image2 = alternate picture for 2nd character
...
| image10 = alternate picture for 10th character

| size = character text size
| size1 = text size for 1st character
| size2 = text size for 2nd character
...
| size10 = text size for 10th character

| name1 = 1st character name
| name2 = 2nd character name
...
| name10 = 10th character name

| map1 = 1st alternate encoding name
| map1char1 = 1st character code in 1st alternate encoding
| map1char2 = 2nd character code in 1st alternate encoding
...
| map1char10 = 10th character code in 1st alternate encoding
...
| map2 = 2nd alternate encoding name
...
| map10 = 10th alternate encoding name
...
| map10char10 = 10th character code in 10th alternate encoding

| namedref1 = 1st named character reference
| ref1char1 = 1st character code in 1st named character reference
| ref1char2 = 2nd character code in 1st named character reference
...
| ref1char10 = 10th character code in 1st named character reference
...
| namedref2 = 2nd named character reference
...
| namedref5 = 5th named character reference
...
| ref5char10 = 10th character code in 5th named character reference

| Info = yes/no flag for link to fileformat.info character data (default "no")
| Info1 = yes/no flag for link to fileformat.info data for first character only
| Info2 = yes/no flag for link to fileformat.info data for second character only
...
| IncludeGB = yes/no flag (default no) for displaying a GB 18030 code in addition to UTF-8 and (if applicable) UTF-16
}}

All character codes should be entered as bare hexadecimal numbers, ie Unicode code points should not be preceded by "U+" and decimal convention encodings should still specify code points by hex value. Hex characters are case insensitive, and will always appear in the template as capitalized code points, no matter the casing of the input. HTML named character references are automatically generated, but any other named character references must be explicitly listed, with any special characters specified using the standard HTML &xxx; format.

All defined characters must be given a character name in order for the table to display that column. Characters not represented in a particular alternate encoding should have a blank or undefined parameter for that encoding.

For double byte, or other two code-unit encodings, each of the bytes can be separately converted to decimal if the code units are separated with a space. Greater than two code-unit input will erroneously convert only the first and last to decimal.

Currently, each field (including the Unicode code point) can contain up to four hexadecimal numbers to be converted to decimal, separated by spaces. This is because a variable width encoding might use up to four bytes (e.g. EUC-TW), and because some characters in other encodings correspond to a sequence of characters in Unicode (some of which are Unicode Standard Annex UAX #34 named sequences with their own normative Unicode names; see [1] for the entire list). For an example of both multiple encoding bytes and multiple Unicode code points being used, see Se (kana).

Examples

Example with automatic XML named character references, explicit named reference, single and double byte character mappings, alternate image, and mixed casing of inputs.

{{charmap 
| 0398 | name1 = Greek Capital Letter Theta
| 3b8 | name2 = Greek Small Letter Theta | image2=[[File:Greek lc theta.png|10px]]
| map1 = [[ISO 8859-7]] | map1char1 = c8 | map1char2 = E8
| map2 = [[Code page 737|CP 737]] (MS-DOS Greek) | map2char1 = 87 | map2char2 = 9F
| map3 = [[Code page 860|CP 860]], [[Code page 861|861]], [[Code page 862|862]], [[Code page 863|863]], [[Code page 865|865]] | map3char1 = E9
| map4 = [[Code page 869|CP 869]] (MS-DOS Greek 2) | map4char1 = Ac | map4char2 = E2
| map5 = EBCDIC 875 | map5char1 = 48 | map5char2 = 9B
| map6 = [[GSM 03.38]] | map6char1 = 19
| map7 = [[TI calculator character sets#TI-86|TI-86]] | map7char2 = c1
| map8 = [[Shift JIS]] | map8char1 = 83 A6 | map8char2 = 83 C6
| namedref1 = [[TeX]] | ref1char1 = \Theta | ref1char2 = \theta
| Info1 = yes | IncludeGB = yes }}
Character information
Preview Template:PstpΘTemplate:Pstp&#x[[:Template:Remove;Template:Pstp&#x[[:Template:Remove;Template:Pstp&#x[[:Template:Remove; Greek lc theta.png
Unicode name Template:Smallcaps all Template:Smallcaps all
Encodings decimal hex decimal hex
Unicode Template:Pstp920Template:Pstp0Template:Pstp0Template:Pstp0 U+0398 Template:Pstp952Template:Pstp0Template:Pstp0Template:Pstp0 U+03B8
UTF-8 Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8 Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8
UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16 Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16
GB 18030Template:PstpA6 A8Template:Pstp00Template:Pstp00Template:Pstp00 Template:PstpA6 C8Template:Pstp00Template:Pstp00Template:Pstp00
Numeric character reference Template:PstpΘTemplate:Pstp�Template:Pstp�Template:Pstp� Template:PstpθTemplate:Pstp�Template:Pstp�Template:Pstp�
Named character reference Template:Numcr2namecr Template:Numcr2namecr
ISO 8859-7 200 0 0 0 C8 232 0 0 0 E8
CP 737 (MS-DOS Greek) 135 0 0 0 87 159 0 0 0 9F
CP 860, 861, 862, 863, 865 233 0 0 0 E9
CP 869 (MS-DOS Greek 2) 172 0 0 0 AC 226 0 0 0 E2
EBCDIC 875 72 0 0 0 48 155 0 0 0 9B
GSM 03.38 25 0 0 0 19
TI-86 193 0 0 0 C1
Shift JIS 131 0 0 0 83 A6 131 0 0 0 83 C6
TeX \Theta \theta


Example with automatic UTF-16 mappings, but no XML named character reference.

{{charmap 
| 2C90 | name1 = Coptic Capital Letter Thethe
| 2C91 | name2 = Coptic Small Letter Thethe
| 10338 | name3 = Gothic Letter Thuth|size3 = 100%
| size = 200% | Info = yes | Info3 = no
}}
Character information
Preview Template:PstpTemplate:Pstp&#x[[:Template:Remove;Template:Pstp&#x[[:Template:Remove;Template:Pstp&#x[[:Template:Remove; Template:PstpTemplate:Pstp&#x[[:Template:Remove;Template:Pstp&#x[[:Template:Remove;Template:Pstp&#x[[:Template:Remove; Template:Pstp𐌸Template:Pstp&#x[[:Template:Remove;Template:Pstp&#x[[:Template:Remove;Template:Pstp&#x[[:Template:Remove;
Unicode name Template:Smallcaps all Template:Smallcaps all Template:Smallcaps all
Encodings decimal hex decimal hex decimal hex
Unicode Template:Pstp11408Template:Pstp0Template:Pstp0Template:Pstp0 U+2C90 Template:Pstp11409Template:Pstp0Template:Pstp0Template:Pstp0 U+2C91 Template:Pstp66360Template:Pstp0Template:Pstp0Template:Pstp0 U+10338
UTF-8 Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8 Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8 Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8Template:PstpTemplate:UTF-8
UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16 Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16 Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16Template:PstpTemplate:UTF-16
Numeric character reference Template:PstpⲐTemplate:Pstp�Template:Pstp�Template:Pstp� Template:PstpⲑTemplate:Pstp�Template:Pstp�Template:Pstp� Template:Pstp𐌸Template:Pstp�Template:Pstp�Template:Pstp�
Named character reference Template:Numcr2namecr Template:Numcr2namecr Template:Numcr2namecr

Technical

This template uses several sub-templates, including

  • /showchar - displays plaintext character representation
  • /head – displays the UTF-8/GB-18030/numeric character reference sections
  • /alt – displays alternate encodings
  • /altdec – generates decimal of alternate encodings
  • /named – displays named character references
  • /numcharref - generates the numeric character references
  • /multi-UTF

It is dependent on the following transcluded templates

and the magic words / parser functions {{!}}, #if:, padleft:, and uc:.