From c4a7214bce24b26fbe98d2708eb3c6ad7a5f5c2e Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Wed, 22 Apr 2009 17:53:26 +0000 Subject: [PATCH] charset: unicode plane overview (macro blocks) --- charset-ucplanes.inc.pl | 76 +++++++++++++++++++++++++++++++++++++++++ charset-unicode.inc.pl | 2 +- charset.plp | 5 +++ 3 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 charset-ucplanes.inc.pl diff --git a/charset-ucplanes.inc.pl b/charset-ucplanes.inc.pl new file mode 100644 index 0000000..42c1762 --- /dev/null +++ b/charset-ucplanes.inc.pl @@ -0,0 +1,76 @@ +my %uniblock = ( + 0x000, 'ascii', + 0x001, 'latin', +# 0x005, 'spacing modifier', + 0x005, 'comb', + 0x007, 'grk', + 0x008, 'cyr', + 0x00A, 'arm', + 0x00B, 'aramaic', + 0x011, '', + 0x012, 'brahmic', + 0x020, 'mm', + 0x021, 'geor', + 0x022, 'jamo', + 0x024, 'ethiopic', + 0x027, 'aboriginal', + 0x02D, 'ger', + 0x02E, 'brahm', + 0x030, 'mon', + 0x031, 'can', + 0x032, 'brahmic', + 0x03A, 'extensions', + 0x03E, 'greek', + 0x040, '·…', + 0x041, 'misc', + 0x044, 'maths', + 0x046, 'technical', + 0x049, '()', + 0x04A, 'draw', + 0x04C, 'symbols', + 0x050, 'braille', + 0x052, '→', + 0x053, 'math', + 0x056, 'misc', + 0x058, 'ancient', + 0x05A, 'ext', + 0x05C, '·+', + 0x05D, 'radicals', + 0x060, 'japanese', + 0x062, 'cjk+', + 0x066, 'compat', + 0x068, '', + 0x070, 'cjk ideographs A', #+2 + 0x09C, 'cjk unified ideographs', + 0x140, 'yi', + 0x149, 'lisu', + 0x14A, 'vai', + 0x14C, 'cyr', + 0x14D, 'bam', + 0x14E, 'lat-D', + 0x150, 'brahmic', + 0x158, 'hangeul syllables', + 0x160, 'hangeul syllables', + 0x1B0, 'surrogates', + 0x1C0, 'private use', + 0x1F0, 'cjk compat', + 0xFB0, 'presentation', + 0xFB5, '', + 0xFC0, 'arabic presentation forms A', + 0xFD0, '', + 0xFDD, '?', + 0xFDF, '', + 0xFE0, 'var', + 0xFE1, 'ver', + 0xFE2, '½', + 0xFE3, 'comp', + 0xFE5, 'small', + 0xFE7, 'arabic presentation B', + 0xFF0, 'halfwidth & fullwidth forms', + 0xFFF, 'sp', +); + +sub { + return defined $uniblock{$_[0]} ? $uniblock{$_[0]} : (); +} + diff --git a/charset-unicode.inc.pl b/charset-unicode.inc.pl index 4f5a49d..99172bb 100644 --- a/charset-unicode.inc.pl +++ b/charset-unicode.inc.pl @@ -91,7 +91,7 @@ my %uniblock = ( 0x25A, 'geometric shapes', 0x260, 'miscellaneous symbols', 0x270, 'dingbats', - 0x27C, 'maths-A', + 0x27C, 'maths-A', 0x27F, 'arr', 0x280, 'braille', 0x290, 'supplemental arrows-B', diff --git a/charset.plp b/charset.plp index faeedc2..6b6e7d0 100644 --- a/charset.plp +++ b/charset.plp @@ -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); -- 2.30.0