charset: move unicode specifications to separate includes
[sheet.git] / charset-utf8.inc.pl
diff --git a/charset-utf8.inc.pl b/charset-utf8.inc.pl
new file mode 100644 (file)
index 0000000..c751e6d
--- /dev/null
@@ -0,0 +1,28 @@
+my %utf8byte = (
+       0x00, '<td rowspan="8" colspan="16" class="X di-a"'.
+                         ' title="U+0000 – U+007F">single byte ASCII',
+       0x80, '<td rowspan="4" colspan="16" class="X di-d"'.
+                         '>multi-byte continuation',
+       0xC0, '<td colspan="2" class="X di-b" style="border-right:none; border-bottom:none"'.
+                         ' title="U+0000 – U+007F">(overl.)',
+       0xC2, '<td rowspan="2" colspan="14" class="X di-prop" style="border-left:none"'.
+                         ' title="U+0080 – U+03FF">2-byte sequence start',
+       0xD0, '<td rowspan="1" colspan="16" class="X di-prop" style="border-top:none"'.
+                         ' title="U+0400 – U+07FF">',
+       0xE0, '<td colspan="16" class="X di-prop"'.
+                         ' title="U+0800 – U+FFFF">3-byte sequence start',
+       0xF0, '<td colspan="5" class="X di-prop" style="border-right:none"'.
+                         ' title="U+1·0000 – U+10·FFFF">4-byte sequence',
+       0xF5, '<td colspan="3" class="X di-b" style="border-left:none"'.
+                         ' title="U+11·0000 – U+1FF·FFFF">(overflow)',
+       0xF8, '<td colspan="4" class="X di-b"'.
+                         ' title="U+200·0000 – U+3FFF·FFFF">5-byte',
+       0xFC, '<td colspan="2" class="X di-b"'.
+                         ' title="U+4000·0000 – 7FFFF·FFFF">6-byte',
+       0xFE, '<td colspan="2" class="di-invalid">invalid',
+);
+
+sub {
+       return defined $utf8byte{$_[0]} ? $utf8byte{$_[0]} : ();
+}
+