Difference between revisions of "Template:GB18030/main"

From blackwiki
Jump to navigation Jump to search
imported>HarJIT
imported>HarJIT
Line 2: Line 2:
 
<!--
 
<!--
  
81308436 is explicitly U+00A5 in whichever case. So if we're mapping 24 to U+00A5
+
0x81308436 is explicitly U+00A5 in whichever case. So if we're mapping 0x24 to U+00A5
 
(per the glyph), that would mean that U+0024 has no mapping. Nobody does this in
 
(per the glyph), that would mean that U+0024 has no mapping. Nobody does this in
 
practice (it would not be a UTF, and rather seriously lack an ASCII U+0024). -->
 
practice (it would not be a UTF, and rather seriously lack an ASCII U+0024). -->
Line 9: Line 9:
 
<!--
 
<!--
  
The 2005 mapping swap of ḿ. The ./BMP template doesn't address this, but this is moot  
+
The 2005 standard encoding swap of ḿ. The ./BMP template doesn't address this, but this  
since we're handling it here. -->
+
is moot since we're handling it here. -->
 
|7743={{#ifeq:{{{edition|}}}|2000|81 35 F4 37|A8 BC}}
 
|7743={{#ifeq:{{{edition|}}}|2000|81 35 F4 37|A8 BC}}
 
|59335={{#ifeq:{{{edition|}}}|2000|A8 BC|81 35 F4 37}}
 
|59335={{#ifeq:{{{edition|}}}|2000|A8 BC|81 35 F4 37}}
 
<!--
 
<!--
  
A1A1 is still preferred for U+3000, so web treatment of A3A0 just means that PUA U+E5E5  
+
0xA1A1 is still preferred for U+3000, so WHATWG treatment of 0xA3A0 just means that  
doesn't round trip as far as we (coding UCS scalars as GB18030) are concerned. -->
+
PUA U+E5E5 doesn't round trip as far as we (coding UCS scalars as GB18030) are concerned. -->
 
|58853={{#ifeq:{{{edition|}}}|web||A3 A0}}
 
|58853={{#ifeq:{{{edition|}}}|web||A3 A0}}
 
<!--  
 
<!--  
  
 
So far as I know, any implementation that does this just doesn't round-trip the PUA codes?  
 
So far as I know, any implementation that does this just doesn't round-trip the PUA codes?  
The next edition of GB 18030 might fully swap them, of course (à la the 2005 edition and ḿ),
+
The next edition of GB 18030 might fully swap them, of course (like the 2005 edition and ḿ),
 
but it could also e.g. move the PUA codes to the sizeable reserved four-byte regions after
 
but it could also e.g. move the PUA codes to the sizeable reserved four-byte regions after
 
the BMP or after the SPUAB. So I'm merely clearing the encodings of those PUA codes in
 
the BMP or after the SPUAB. So I'm merely clearing the encodings of those PUA codes in

Revision as of 08:45, 18 August 2020

94 39 DA 33

Template documentation[view] [edit] [history] [purge]

Contains the overriding logic of {{GB18030}}. Defines mappings for problem codes (those which differ between editions, or between implementations, or four-byte codes out of order resulting from this) itself. Handles ASCII characters itself. For other characters, invokes Template:GB18030/BMP or Template:GB18030/astral.

Usage

Takes one positional parameter: a Unicode code point in decimal. Outputs a GB 18030 byte sequence in hexadecimal, with bytes delimited by spaces.

Optional named parameters include gb1988 (a boolean controlling if ¥ is mapped to 0x24—if in doubt, leave this off) and edition (2000, 2005, web or newucs—defaulting to 2005).