+600 +8A0-8BF+8E0 +750-77F )],
greek => [qw( iso-8859-7 cp1253 MacGreek cp737 cp869 +370 +1F00 )],
hebrew => [qw( iso-8859-8 cp1255 MacHebrew cp862 +590 )],
- thai => [qw( iso-8859-11 cp874 MacThai )],
+ thai => [qw( iso-8859-11 cp874 MacThai )], # U+0E00 identical to iso-8859-11
vietnamese => [qw( viscii cp1258 MacVietnamese )],
symbols => [qw( symbol dingbats MacDingbats wingdings wingdings2 wingdings3 webdings )],
},
},
'adobesymbol' => {inherit => ['symbol' => '20-7F+A0', '' => '20-7F+A0']}, # minor differences, irrelevant except for different 'โฌ'
- 'wingdings' => {inherit => ['' => '20'], setup => sub {require Encode::Wingdings}},
- 'wingdings2' => {inherit => ['' => '20'], setup => sub {require Encode::Wingdings2}},
- 'wingdings3' => {inherit => ['' => '20'], setup => sub {require Encode::Wingdings3}},
- 'webdings' => {inherit => ['' => '20'], setup => sub {require Encode::Webdings}},
+ 'wingdings' => {inherit => ['' => '20'], setup => sub {
+ $_[0]->{table} = [(map {chr} 0 .. 0x20), qw(
+ ๐ โ โ ๐ ๐ญ ๐ฎ ๐ฏ ๐ฟ โ ๐ ๐ ๐ช ๐ซ ๐ฌ ๐ญ ๐ ๐ ๐ ๐ ๐ ๐ โ ๐ฎ ๐ฐ ๐ฒ ๐ณ ๐ด ๐ซ ๐ฌ โ โ
+ ๐ โ ๐ ๐ ๐ โ โ โ โ ๐ โบ ๐ โน ๐ฃ โ ๐ณ ๐ฑ โ โผ ๐ง โ ๐ โ ๐ โ โก โช โฏ เฅ โธ โ โ
+ โ โ โ โ โ โ โ โ โ โ ๐ฐ ๐ต โ ๐พ โ โก ๐ โ โ โฌง โงซ โ โ โฌฅ โง โฎน โ ๐ต ๐ถ ๐ถ ๐ท \7f
+ โช โ โก โข โฃ โค โฅ โฆ โง โจ โฉ โฟ โถ โท โธ โน โบ โป โผ โฝ โพ โฟ ๐ข ๐ ๐ก ๐ฃ ๐ ๐ ๐ ๐ ยท โข
+ โช โช ๐ ๐ โ โ ๐ฟ โช โป ๐ โฆ โ
โถ โด โน โต โฏ โ โก โ โฏ โช โฐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐
+ ๐ ๐ ๐ โฎฐ โฎฑ โฎฒ โฎณ โฎด โฎต โฎถ โฎท ๐ช ๐ซ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ โซ โฆ โฎ โฎ โฎ โฎ โฎ โฎ โฎ โฎ ๐กจ
+ ๐กช ๐กฉ ๐กซ ๐กฌ ๐กญ ๐กฏ ๐กฎ ๐กธ ๐กบ ๐กน ๐กป ๐กผ ๐กฝ ๐กฟ ๐กพ โฆ โจ โง โฉ โฌ โณ โฌ โฌ โฌ โฌ ๐ขฌ ๐ขญ ๐ถ โ ๐ท ๐น ๏ฃฟ
+ )];
+ }},
+ 'wingdings2' => {inherit => ['' => '20'], setup => sub {
+ $_[0]->{table} = [(map {chr} 0 .. 0x20), qw(
+ ๐ ๐ ๐ ๐ โ โ ๐พ ๐ฝ ๐
๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ต ๐ถ ๐ท ๐ธ ๐ญ ๐ฏ ๐ฑ ๐ ๐ ๐ ๐
+ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ก ๐ ๐ ๐ข ๐ฃ ๐ ๐ด โ ๐ต โ โ โ โฎพ โฎฟ โฆธ โฆธ ๐ฑ ๐ด ๐ฒ ๐ณ โฝ ๐น ๐บ
+ ๐ป ๐ฆ ๐ค ๐ฅ ๐ง ๐ ๐ ๐ ๐ โช โ โก โข โฃ โค โฅ โฆ โง โจ โฉ โฟ โถ โท โธ โน โบ โป โผ โฝ โพ โฟ \7f
+ โ ๐ โฝ โพ โธฟ โ ๐ ๐ ๐ ๐ ๐ ๐ ๐ก ๐ข ๐ฃ ๐ค ๐ฅ ๐ฆ ๐ง ๐จ ๐ฉ โข โ โซ โฌค ๐
๐ ๐ ๐ ๐ โฆฟ โพ
+ โ โผ โฌ โฌ ๐ ๐ ๐ ๐ โฃ ๐ ๐ ๐ โฌฉ โฌฅ โ โ ๐ โ ๐ ๐ ๐ โฌช โฌง โงซ โ ๐ โ โ โฏ โฏ โผ โฌฅ
+ โฌ โฏ โฌฃ โฌข โฏ โฏ ๐ก ๐ข ๐ฃ ๐ค ๐ฅ ๐ฆ ๐ง ๐จ ๐ฉ ๐ช ๐ซ ๐ฌ ๐ญ ๐ฎ ๐ฏ ๐ฐ ๐ฑ ๐ฒ ๐ณ ๐ด ๐ต ๐ถ ๐ท ๐ธ ๐น ๐บ
+ ๐ป ๐ผ ๐ฝ ๐พ ๐ฟ ๐ ๐ ๐ โฆ ๐ โ
โถ ๐ โท ๐ ๐ โน ๐ ๐ โฏ ๐ ๐ โฏ โฏ โป โ
+ )];
+ }},
+ 'wingdings3' => {inherit => ['' => '20'], setup => sub {
+ $_[0]->{table} = [(map {chr} 0 .. 0x20), qw(
+ โญ โญข โญก โญฃ โญฆ โญง โญฉ โญจ โญฐ โญฒ โญฑ โญณ โญถ โญธ โญป โญฝ โญค โญฅ โญช โญฌ โญซ โญญ โญ โฎ โฎก โฎข โฎฃ โฎค โฎฅ โฎฆ โฎง
+ โฎ โฎ โฎ โฎ โฎ โฎ โญพ โญฟ โฎ โฎ โฎ
โฎ โฎ โฎ โฎ โฎ โญฎ โญฏ โ โค โ โฅ โต โก โช โฎธ ๐ข ๐ขก ๐ขข ๐ขฃ ๐ขค ๐ขฅ
+ ๐ขฆ ๐ขง ๐ขจ ๐ขฉ ๐ขช ๐ขซ โ โ โ โ โ โ โ โ ๐ก ๐ก โฒ โผ โณ โฝ โ โบ โ โท โฃ โข โค โฅ ๐ ๐ ๐ \7f
+ ๐ โฒ โผ โ โถ โฎ โฎ โฎ โฎ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐
+ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ข ๐ ค ๐ ฆ ๐ จ ๐ จ ๐ ช ๐ข ๐ข ๐ข ๐ข ๐ ฎ ๐ ฐ ๐ ฒ ๐ ด ๐ ถ ๐ ธ ๐ บ ๐ น ๐ ป ๐ข ๐ข ๐ข ๐ข ๐ ผ ๐ พ ๐ ฝ
+ ๐ ฟ ๐ก ๐ก ๐ก ๐ก ๐ก ๐ก ๐ก
๐ก โฎจ โฎฉ โฎช โฎซ โฎฌ โฎญ โฎฎ โฎฏ ๐ก ๐กข ๐กก ๐กฃ ๐กค ๐กฅ ๐กง ๐กฆ ๐กฐ ๐กฒ ๐กฑ ๐กณ ๐กด ๐กต ๐กท
+ ๐กถ ๐ข ๐ข ๐ข ๐ข ๐ข ๐ข
๐ข ๐ข ๐ข ๐ข ๐ข ๐ข ๐ข ๐ข ๐ข ๐ข
+ )];
+ }},
+ 'webdings' => {inherit => ['' => '20'], setup => sub {
+ $_[0]->{table} = [(map {chr} 0 .. 0x20), qw(
+ ๐ท ๐ธ ๐ฒ ๐ถ ๐ ๐ ๐ ๐จ ๐ฉ ๐ฐ ๐ฑ ๐ถ ๐ โ ๐ผ ๐ ๐ ๐ โด โต โถ โท โช โฉ โฎ โญ โธ โน โบ ๐ ๐ณ
+ ๐ ๐ ๐ ๐ ๐ ๐ ๐ญ ๐ ๐ ๐ ๐ ๐ฃ ๐ ๐ ๐ ๐ ๐ ๐ ๐ค ๐ ๐ณ ๐ฌ ๐ซ ๐จ ๐ ๐ ๐ ๐ฌ ๐ฝ ๐ญ ๐ช ๐ซ
+ โฎ โ ๐ฒ โก ๐ก ๐ฆ ๐ฑ โ ๐ ๐ ๐ฉ ๐ฐ ๐ ๐ด โซ ๐ฅ ๐ ๐ ๐ โ ๐ฒ ๐ ๐ โณ ๐ โ ๐ญ ๐ฎ | ๐ฏ ๐ฒ \7f
+ ๐น ๐บ ๐ ๐ ๐ผ ๐ฝ ๐ โท ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ข ๐ฐ ๐ท ๐ณ ๐ช ๐ก ๐ข ๐ฃ โฏ ๐ ๐
๐ ๐ ๐น ๐บ ๐ป
+ ๐ต ๐ฐ ๐ฝ ๐พ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ผ ๐ญ ๐ ๐ ๐ ๐ง ๐ฟ ๐ ๐ท ๐ ๐ฌ ๐ฝ ๐น ๐พ ๐ป ๐ ๐ ๐บ ๐ป
+ ๐ฅ ๐ฆ ๐ง ๐น ๐ฎ ๐ป ๐ผ ๐ ๐ ๐ ๐จ ๐ฉ ๐ฟ ๐ช ๐ ๐ ๐ ๐ ๐ฅ ๐ค ๐ณ ๐ฃ ๐ค ๐ฅ ๐ฆ โ ๐ง ๐จ ๐ฉ ๐ช ๐ฌ ๐ซ
+ ๐ ๐ก ๐ ๐ ๐ฝ ๐ธ ๐ ๐ โ
โฟ ๐ ๐ ๐ ๐ค ๐ฅ ๐ฆ ๐ง ๐ช ๐ฟ ๐ฆ ๐ ๐ ๐ ๐ฌ ๐ฎ ๐ญ ๐ฏ ๐บ ๐ ๐ ๐ ๐
+ )];
+ }},
'iso-8859-2' => {inherit => ['iso-8859-1' => 'A0']},
'iso-8859-3' => {inherit => ['iso-8859-1' => 'A0']}, #TODO: also apply to iso-8859-9
'macsami' => {inherit => ['MacIcelandic' => '90-BF+D0-DF+F0', 'MacRoman' => '90']},
'macgreek' => {inherit => ['MacRoman' => '80']},
'maccyrillic' => {inherit => ['MacRoman' => '80']},
- 'machebrew' => {inherit => ['iso-8859-8' => '80', 'MacRoman' => '80-8F+A0']}, # partial ascii
+ 'machebrew' => {
+ inherit => ['iso-8859-8' => '80', 'MacRoman' => '80-8F+A0'], # ignore partial ascii
+ varchar => 1,
+ replace => {
+ # strip private use characters for unneeded roundtrip
+ 0xDE => chr(0x5C7), # qamats qatan
+ 0xC0 => 'ืึน', # lamed holam
+ #TODO: private use for canoral codes (obsolete nikud positioning)
+ },
+ },
'macarabic' => {inherit => ['iso-8859-6' => '80', 'cp864' => '80', 'MacRoman' => '80']}, #TODO: multiple parents
'macfarsi' => {inherit => ['MacArabic' => 'B0-BF', 'MacRoman' => '80']},
+ 'macthai' => {
+ inherit => ['iso-8859-11' => '80-9F+D0'],
+ varchar => 1,
+ replace => {
+ # strip appended private use characters for unneeded roundtrip
+ 0x83 => "\x{E48}", 0x88 => "\x{E48}", 0x98 => "\x{E48}",
+ 0x84 => "\x{E49}", 0x89 => "\x{E49}", 0x99 => "\x{E49}",
+ 0x85 => "\x{E4A}", 0x8A => "\x{E4A}", 0x9A => "\x{E4A}",
+ 0x86 => "\x{E4B}", 0x8B => "\x{E4B}", 0x9B => "\x{E4B}",
+ 0x87 => "\x{E4C}", 0x8C => "\x{E4C}", 0x9C => "\x{E4C}",
+ 0x8F => "\x{E4D}",
+ 0x92 => "\x{E31}", 0x93 => "\x{E47}", 0x94 => "\x{E34}",
+ 0x95 => "\x{E35}", 0x96 => "\x{E36}", 0x97 => "\x{E37}",
+ },
+ },
'cp37' => {inherit => ['posix-bc' => '00']},
'posix-bc' => {inherit => ['cp1047' => '40']},
}},
u => {setup => sub {
my $row = shift;
- $row->{cell} = do 'charset-unicode.inc.pl'
+ state $celldata = do 'charset-unicode.inc.pl'
or Alert('Table data could not be read', $@ || $!);
+ $row->{cell} = $celldata;
$row->{endpoint} ||= 0x1FFF;
$row->{set} = 'Unicode ' . (
$row->{set} = 'UTF-8';
$row->{cell} = do 'charset-utf8.inc.pl'
or Alert('Table data could not be read', $@ || $!);
- $row->{endpoint} = 0xFF;
return $row;
}},
'utf-8' => 'utf8',