charset: unicode plane overview (macro blocks)
authorMischa POSLAWSKY <perl@shiar.org>
Wed, 22 Apr 2009 17:53:26 +0000 (17:53 +0000)
committerMischa POSLAWSKY <perl@shiar.org>
Wed, 22 Apr 2009 17:53:26 +0000 (17:53 +0000)
charset-ucplanes.inc.pl [new file with mode: 0644]
charset-unicode.inc.pl
charset.plp

diff --git a/charset-ucplanes.inc.pl b/charset-ucplanes.inc.pl
new file mode 100644 (file)
index 0000000..42c1762
--- /dev/null
@@ -0,0 +1,76 @@
+my %uniblock = (
+       0x000, '<td colspan="1" class="X Po">ascii',
+       0x001, '<td colspan="4" class="X L Latin">latin',
+#      0x005, '<td colspan="5" class="X Sk">spacing modifier',
+       0x005, '<td colspan="2" class="X Mn">comb',
+       0x007, '<td colspan="1" class="X L Greek">grk',
+       0x008, '<td colspan="2" class="X L Cyrillic">cyr',
+       0x00A, '<td colspan="1" class="X L Armenian">arm',
+       0x00B, '<td colspan="6" class="X L Aramaic">aramaic',
+       0x011, '<td colspan="1" class="Xr">',
+       0x012, '<td colspan="15" class="X L Brahmic">brahmic',
+       0x020, '<td colspan="1" class="X L Brahmic">mm',
+       0x021, '<td colspan="1" class="X L Aramaic">geor',
+       0x022, '<td colspan="2" class="X L Hangul">jamo',
+       0x024, '<td colspan="3" class="X L African">ethiopic',
+       0x027, '<td colspan="6" class="X L Syllabic">aboriginal',
+       0x02D, '<td colspan="1" class="X L Alpha">ger',
+       0x02E, '<td colspan="2" class="X L Brahmic">brahm',
+       0x030, '<td colspan="1" class="X L Aramaic">mon',
+       0x031, '<td colspan="1" class="X Xr L Syllabic">can',
+       0x032, '<td colspan="8" class="X L Brahmic">brahmic',
+       0x03A, '<td colspan="4" class="X L Latin">extensions',
+       0x03E, '<td colspan="2" class="X L Greek">greek',
+       0x040, '<td colspan="1" class="X Po">·…',
+       0x041, '<td colspan="3" class="X So">misc',
+       0x044, '<td colspan="2" class="X Sm">maths',
+       0x046, '<td colspan="3" class="X So">technical',
+       0x049, '<td colspan="1" class="X Latin">()',
+       0x04A, '<td colspan="2" class="X So">draw',
+       0x04C, '<td colspan="4" class="X So">symbols',
+       0x050, '<td colspan="2" class="X L Alpha">braille',
+       0x052, '<td colspan="1" class="X So">→',
+       0x053, '<td colspan="3" class="X Sm">math',
+       0x056, '<td colspan="2" class="X So">misc',
+       0x058, '<td colspan="2" class="X L Greek">ancient',
+       0x05A, '<td colspan="2" class="X L Alpha">ext',
+       0x05C, '<td colspan="1" class="X Po">·+',
+       0x05D, '<td colspan="3" class="X L Han">radicals',
+       0x060, '<td colspan="2" class="X L Katakana">japanese',
+       0x062, '<td colspan="4" class="X L Han">cjk+',
+       0x066, '<td colspan="2" class="X Xd L Han">compat',
+       0x068, '<td colspan="8" class="X L Han" style="border-bottom:none">',
+       0x070, '<td colspan="16" rowspan="2" class="X L Han" style="border-top:none">cjk ideographs A', #+2
+       0x09C, '<td colspan="16" rowspan="10" class="X L Han">cjk unified ideographs',
+       0x140, '<td colspan="9" class="X L Syllabic">yi',
+       0x149, '<td colspan="1" class="X Xr L Latin">lisu',
+       0x14A, '<td colspan="2" class="X L Syllabic">vai',
+       0x14C, '<td colspan="1" class="X L Cyrillic">cyr',
+       0x14D, '<td colspan="1" class="X Xr L Syllabic">bam',
+       0x14E, '<td colspan="2" class="X L Latin">lat-D',
+       0x150, '<td colspan="8" class="X L Brahmic">brahmic',
+       0x158, '<td colspan="8" class="X L Hangul">hangeul syllables',
+       0x160, '<td colspan="16" rowspan="5" class="X L Hangul" style="border-top:none">hangeul syllables',
+       0x1B0, '<td colspan="16" class="X Cs">surrogates',
+       0x1C0, '<td colspan="16" rowspan="3" class="X Co">private use',
+       0x1F0, '<td colspan="4" class="X L Han">cjk compat',
+       0xFB0, '<td colspan="5" class="X Xd L">presentation',
+       0xFB5, '<td colspan="11" class="X Xd L Arabic" style="border-bottom:none">',
+       0xFC0, '<td colspan="16" class="X Xd L Arabic" style="border-top:none; border-bottom:none">arabic presentation forms A',
+       0xFD0, '<td colspan="13" class="X Xd L Arabic" style="border-top:none">',
+       0xFDD, '<td colspan="2" class="Xi">?',
+       0xFDF, '<td colspan="1" class="X Xd L Arabic" style="border-top:none">',
+       0xFE0, '<td colspan="1" class="X Cc">var',
+       0xFE1, '<td colspan="1" class="X L Pd">ver',
+       0xFE2, '<td colspan="1" class="X L Mn">½',
+       0xFE3, '<td colspan="2" class="X Xd Pd Han">comp',
+       0xFE5, '<td colspan="2" class="X Xd L Latin">small',
+       0xFE7, '<td colspan="9" class="X Xd L Arabic">arabic presentation B',
+       0xFF0, '<td colspan="15" class="X L Latin">halfwidth &amp; fullwidth forms',
+       0xFFF, '<td colspan="1" class="X Cc">sp',
+);
+
+sub {
+       return defined $uniblock{$_[0]} ? $uniblock{$_[0]} : ();
+}
+
index 4f5a49dcfb58217449e753e084727b5435a03fe3..99172bb61f4ba2afa3adfaedbc834740d8cac4ad 100644 (file)
@@ -91,7 +91,7 @@ my %uniblock = (
        0x25A, '<td colspan="6" class="X So">geometric shapes',
        0x260, '<td colspan="16" class="X So">miscellaneous symbols',
        0x270, '<td colspan="12" class="X So">dingbats',
-       0x27C, '<td colspan="3" class="X So">maths-A',
+       0x27C, '<td colspan="3" class="X Sm">maths-A',
        0x27F, '<td colspan="1" class="X So" title="supplemental arrows-A">arr',
        0x280, '<td colspan="16" class="X L Alpha">braille',
        0x290, '<td colspan="8" class="X So">supplemental arrows-B',
index faeedc2822af742923e945b668cbd313b5f10bbe..6b6e7d0bf7655e36d7887b8b51433c9d30b20c91 100644 (file)
@@ -61,6 +61,11 @@ my @request = map {
                        utf8::upgrade($row{table});  # prevent latin1 output
                        $row{set} = sprintf 'Unicode block U+%02Xxx', $start >> 8;
                }
+               elsif ($input eq 'U') {
+                       $row{table} = ' ' x 512;
+                       $row{set} = 'Unicode planes';
+                       $row{cell} = do 'charset-ucplanes.inc.pl';
+               }
                elsif ($row{set} = resolve_alias($input)) {
                        if ($row{set} eq 'Internal') {
                                $row{table} = ' ' x ($endpoint < 255 ? 640 : 4096);