},
},
'adobesymbol' => {inherit => ['symbol' => '20-7F+A0', '' => '20-7F+A0']}, # minor differences, irrelevant except for different 'โฌ'
- 'wingdings' => {inherit => ['' => '20'], setup => sub {
- $_[0]->{table} = [(map {chr} 0 .. 0x20), qw(
+ 'wingdings' => {
+ inherit => ['' => '20'],
+ table => [(map {chr} 0 .. 0x20), qw(
๐ โ โ ๐ ๐ญ ๐ฎ ๐ฏ ๐ฟ โ ๐ ๐ ๐ช ๐ซ ๐ฌ ๐ญ ๐ ๐ ๐ ๐ ๐ ๐ โ ๐ฎ ๐ฐ ๐ฒ ๐ณ ๐ด ๐ซ ๐ฌ โ โ
๐ โ ๐ ๐ ๐ โ โ โ โ ๐ โบ ๐ โน ๐ฃ โ ๐ณ ๐ฑ โ โผ ๐ง โ ๐ โ ๐ โ โก โช โฏ เฅ โธ โ โ
โ โ โ โ โ โ โ โ โ โ ๐ฐ ๐ต โ ๐พ โ โก ๐ โ โ โฌง โงซ โ โ โฌฅ โง โฎน โ ๐ต ๐ถ ๐ถ ๐ท \7f
โช โช ๐ ๐ โ โ ๐ฟ โช โป ๐ โฆ โ
โถ โด โน โต โฏ โ โก โ โฏ โช โฐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐
๐ ๐ ๐ โฎฐ โฎฑ โฎฒ โฎณ โฎด โฎต โฎถ โฎท ๐ช ๐ซ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ โซ โฆ โฎ โฎ โฎ โฎ โฎ โฎ โฎ โฎ ๐กจ
๐กช ๐กฉ ๐กซ ๐กฌ ๐กญ ๐กฏ ๐กฎ ๐กธ ๐กบ ๐กน ๐กป ๐กผ ๐กฝ ๐กฟ ๐กพ โฆ โจ โง โฉ โฌ โณ โฌ โฌ โฌ โฌ ๐ขฌ ๐ขญ ๐ถ โ ๐ท ๐น ๏ฃฟ
- )];
- }},
- 'wingdings2' => {inherit => ['' => '20'], setup => sub {
- $_[0]->{table} = [(map {chr} 0 .. 0x20), qw(
+ )],
+ },
+ 'wingdings2' => {
+ inherit => ['' => '20'],
+ table => [(map {chr} 0 .. 0x20), qw(
๐ ๐ ๐ ๐ โ โ ๐พ ๐ฝ ๐
๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ต ๐ถ ๐ท ๐ธ ๐ญ ๐ฏ ๐ฑ ๐ ๐ ๐ ๐
๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ก ๐ ๐ ๐ข ๐ฃ ๐ ๐ด โ ๐ต โ โ โ โฎพ โฎฟ โฆธ โฆธ ๐ฑ ๐ด ๐ฒ ๐ณ โฝ ๐น ๐บ
๐ป ๐ฆ ๐ค ๐ฅ ๐ง ๐ ๐ ๐ ๐ โช โ โก โข โฃ โค โฅ โฆ โง โจ โฉ โฟ โถ โท โธ โน โบ โป โผ โฝ โพ โฟ \7f
โ โผ โฌ โฌ ๐ ๐ ๐ ๐ โฃ ๐ ๐ ๐ โฌฉ โฌฅ โ โ ๐ โ ๐ ๐ ๐ โฌช โฌง โงซ โ ๐ โ โ โฏ โฏ โผ โฌฅ
โฌ โฏ โฌฃ โฌข โฏ โฏ ๐ก ๐ข ๐ฃ ๐ค ๐ฅ ๐ฆ ๐ง ๐จ ๐ฉ ๐ช ๐ซ ๐ฌ ๐ญ ๐ฎ ๐ฏ ๐ฐ ๐ฑ ๐ฒ ๐ณ ๐ด ๐ต ๐ถ ๐ท ๐ธ ๐น ๐บ
๐ป ๐ผ ๐ฝ ๐พ ๐ฟ ๐ ๐ ๐ โฆ ๐ โ
โถ ๐ โท ๐ ๐ โน ๐ ๐ โฏ ๐ ๐ โฏ โฏ โป โ
- )];
- }},
- 'wingdings3' => {inherit => ['' => '20'], setup => sub {
- $_[0]->{table} = [(map {chr} 0 .. 0x20), qw(
+ )],
+ },
+ 'wingdings3' => {
+ inherit => ['' => '20'],
+ table => [(map {chr} 0 .. 0x20), qw(
โญ โญข โญก โญฃ โญฆ โญง โญฉ โญจ โญฐ โญฒ โญฑ โญณ โญถ โญธ โญป โญฝ โญค โญฅ โญช โญฌ โญซ โญญ โญ โฎ โฎก โฎข โฎฃ โฎค โฎฅ โฎฆ โฎง
โฎ โฎ โฎ โฎ โฎ โฎ โญพ โญฟ โฎ โฎ โฎ
โฎ โฎ โฎ โฎ โฎ โญฎ โญฏ โ โค โ โฅ โต โก โช โฎธ ๐ข ๐ขก ๐ขข ๐ขฃ ๐ขค ๐ขฅ
๐ขฆ ๐ขง ๐ขจ ๐ขฉ ๐ขช ๐ขซ โ โ โ โ โ โ โ โ ๐ก ๐ก โฒ โผ โณ โฝ โ โบ โ โท โฃ โข โค โฅ ๐ ๐ ๐ \7f
๐ ๐ ๐ ๐ ๐ ๐ ๐ ข ๐ ค ๐ ฆ ๐ จ ๐ จ ๐ ช ๐ข ๐ข ๐ข ๐ข ๐ ฎ ๐ ฐ ๐ ฒ ๐ ด ๐ ถ ๐ ธ ๐ บ ๐ น ๐ ป ๐ข ๐ข ๐ข ๐ข ๐ ผ ๐ พ ๐ ฝ
๐ ฟ ๐ก ๐ก ๐ก ๐ก ๐ก ๐ก ๐ก
๐ก โฎจ โฎฉ โฎช โฎซ โฎฌ โฎญ โฎฎ โฎฏ ๐ก ๐กข ๐กก ๐กฃ ๐กค ๐กฅ ๐กง ๐กฆ ๐กฐ ๐กฒ ๐กฑ ๐กณ ๐กด ๐กต ๐กท
๐กถ ๐ข ๐ข ๐ข ๐ข ๐ข ๐ข
๐ข ๐ข ๐ข ๐ข ๐ข ๐ข ๐ข ๐ข ๐ข ๐ข
- )];
- }},
- 'webdings' => {inherit => ['' => '20'], setup => sub {
- $_[0]->{table} = [(map {chr} 0 .. 0x20), qw(
+ )],
+ },
+ 'webdings' => {
+ inherit => ['' => '20'],
+ 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
'koi8-u' => {inherit => ['koi8-r' => '90-BF']},
'koi8-f' => {inherit => ['koi8-u' => '90-BF']},
- 'mik' => {inherit => ['cp437' => '80-D8', 'cp866' => 'B0'], setup => sub {
- $_[0]->{table} = [(map {chr} 0 .. 0x7F), qw(
+ 'mik' => {
+ inherit => ['cp437' => '80-D8', 'cp866' => 'B0'],
+ table => [(map {chr} 0 .. 0x7F), qw(
ะ ะ ะ ะ ะ ะ ะ ะ ะ ะ ะ ะ ะ ะ ะ ะ
ะ ะก ะข ะฃ ะค ะฅ ะฆ ะง ะจ ะฉ ะช ะซ ะฌ ะญ ะฎ ะฏ
ะฐ ะฑ ะฒ ะณ ะด ะต ะถ ะท ะธ ะน ะบ ะป ะผ ะฝ ะพ ะฟ
โ โ โ โ โค โ ยง โ โ โ โ โ โ โ โ โ
ฮฑ ร ฮ ฯ ฮฃ ฯ ยต ฯ ฮฆ ฮ ฮฉ ฮด โ ฯ ฮต โฉ
โก ยฑ โฅ โค โ โก รท โ ยฐ โ ยท โ โฟ ยฒ โ
- ), "\xA0"];
- }},
+ ), "\xA0"],
+ },
'macromanian' => {inherit => ['MacRoman' => 'A0-BF+D0-DF']},
'macrumanian' => {inherit => ['MacRomanian' => 'A0-BF+D0-DF', 'MacRoman' => 'A0-BF+D0-DF']},
'cp1026' => {inherit => ['cp37' => '40']},
'cp875' => {inherit => ['cp37' => '30']},
- legacy => [qw( cp437 ATASCII PETSCII MSX ZX-Spectrum ANSEL )],
- 'petscii' => {inherit => ['' => '40-7F+A0-BF'], setup => sub {
- $_[0]->{table} = [(map {chr} 0 .. 0x3F), qw(
+ legacy => [qw( cp437 gsm0338 ATASCII PETSCII MSX ZX-Spectrum ANSEL )],
+ 'petscii' => {
+ inherit => ['' => '40-7F+A0-BF'],
+ table => [(map {chr} 0 .. 0x3F), qw(
@ a b c d e f g h i j k l m n o p q r s t u v w x y z [ ยฃ ] โ โ
๐ญน A B C D E F G H I J K L M N O P Q R S T U V W X Y Z โผ ๐ฎ โ ๐ฎ ๐ฎ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ย โ โ โ โ โ โ โ ๐ฎ ๐ฎ ๐ฎ โ โ โ โ โ โ โด โฌ โค โ โ ๐ฎ ๐ฎ ๐ฎ โ โ โ โ โ โ โ
- )];
- }},
- 'atascii' => {inherit => ['' => '0-1F+60-7F'], setup => sub {
- $_[0]->{table} = [qw(
+ )],
+ },
+ 'atascii' => {
+ inherit => ['' => '0-1F+60-7F'],
+ table => [qw(
โฅ โ ๐ฎ โ โค โ โฑ โฒ โข โ โฃ โ โ ๐ฎ โ โ โฃ โ โ โผ โข โ โ โฌ โด โ โ โ โ โ โ โ
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
โฆ a b c d e f g h i j k l m n o p q r s t u v w x y z โ | ๐ขฐ โ โถ
- )];
- }},
+ )],
+ },
'zx-spectrum' => {
inherit => ['' => '50-8F'],
set => 'ascii',
0x7F => 'ยฉโโโโโโโโโโโโโโโโ',
},
},
- 'msx' => {inherit => ['cp437' => '80-FF'], setup => sub {
- $_[0]->{table} = [(map {chr} 0 .. 0x7F), qw(
+ 'msx' => {
+ inherit => ['cp437' => '80-FF'],
+ table => [(map {chr} 0 .. 0x7F), qw(
ร รผ รฉ รข รค ร รฅ รง รช รซ รจ รฏ รฎ รฌ ร ร
ร รฆ ร รด รถ รฒ รป รน รฟ ร ร ยข ยฃ ยฅ โง ฦ
รก รญ รณ รบ รฑ ร ยช ยบ ยฟ โ ยฌ ยฝ ยผ ยก ยซ ยป ร รฃ ฤจ ฤฉ ร รต ลจ ลฉ ฤฒ ฤณ ยพ โฝ โ โฐ ยถ ยง
โ โ โ ๐ฎ โฌ ๐ฎ
โ โ โ ๐ฎ ๐ฎ ๐ฎ ๐ฎ ๐ญญ ๐ญฏ ๐ญฌ ๐ญฎ ๐ฎ ๐ฎ โ โ โ โ ๐ฎ ฮ โก ฯ โ โ โ โ โ
ฮฑ ร ฮ ฯ ฮฃ ฯ ยต ฯ ฮฆ ฮ ฮฉ ฮด โ โ โ โฉ โก ยฑ โฅ โค โ โก รท โ ยฐ โ ยท โ โฟ ยฒ โ
- )];
- }},
+ )],
+ },
'brascii' => {
inherit => ['' => 'D0-DF+F0-FF'],
- setup => sub {
- $_[0]->{table} = [(map {chr} 0 .. 0xFF)];
- },
+ table => [(map {chr} 0 .. 0xFF)],
replace => {
0xD7 => 'ล',
0xF7 => 'ล',
'ansel' => {
note => '+GEDCOM',
inherit => ['' => 'A0-CF+E0-FE'],
- setup => sub {
- $_[0]->{table} = [
+ table => [
(undef) x 0xA0,
undef, qw( ล ร ฤ ร ร ล สน ยท โญ ยฎ ยฑ ฦ ฦฏ สพ ), undef,
qw( สฟ ล รธ ฤ รพ รฆ ล สบ ฤฑ ยฃ รฐ ), undef, qw( ฦก ฦฐ ), undef, undef,
0x327, 0x328, 0x0323, 0x0324, 0x0325, 0x333, 0x332, 0x326,
0x31C, 0x32E, 0xFE22, 0xFE23, undef, undef, 0x313, undef,
),
- ];
- },
+ ],
replace => {
# GEDCOM extensions
0xBE => 'โก',
'ti86' => {
note => 'similar to TI85',
inherit => ['', => '0-1F+80-EC'],
- setup => sub {
- $_[0]->{table} = [
+ table => [
undef, qw(
๐ ๐จ ๐ ๐ก โถ โฌ โฌ โซ ร ๐ ๐ ๐ ๐ ๐ ๐
โ โปยน ยฒ โ ยฐ สณ แต โค โ โฅ โป แด โ โจ โ โ
โ โ โ ยฒ ยฐ ยณ :โ โง โงต ๐ฝ โฅ โฃ โธ โ โฑ โ
โง Aโ aโ _ โงฬฒ Aฬฒ aฬฒ โ โฌ ห ยท โด ๏นฆ
),
- ];
- },
+ ],
},
'ti89' => {
note => 'also TI92(+)',
inherit => ['', => '0-1F+7F-BE'],
- setup => sub {
- $_[0]->{table} = [
+ table => [
qw(
โ โ โ โ โ โ
โ ๐ โซ โฅ ), chr(0xA), qw( โฌ โค โต ๐ โ
โ โ โธ โด โพ โ โ โ โ โ โถ โฌ โช โฉ โ โ
โฆ ยก ยข ยฃ ยค ยฅ ยฆ ยง โ ยฉ ยช ยซ ยฌ โป ยฎ ยฏ
ยฐ ยฑ ยฒ ยณ โปยน ยต ยถ ยท โบ ยน ยบ ยป ๐ โซ โ ยฟ
),
- ];
- },
+ ],
},
-
- '' => {setup => sub {
- my $row = shift;
- $row->{offset} = delete $row->{startpoint};
- $row->{set} = 'Unicode characters';
- my $block = $row->{offset} >> 8;
- $row->{endpoint} ||= ($block + 1 << 8) - 1;
- $block == ($row->{endpoint} >> 8) or undef $block;
-
- $row->{table} = join '', map { chr =~ s/\A\p{Unassigned}\z/๏ฟฝ/r }
- $row->{offset} .. $row->{endpoint};
- utf8::upgrade($row->{table}); # prevent latin1 output
-
- $row->{endpoint} -= $row->{offset};
-
- if (defined $block) {
- $row->{set} = sprintf 'Unicode block U+%02Xxx', $block;
- $row->{offset} %= 0x100;
- }
-
- return $row;
- }},
- u => {setup => sub {
- my $row = shift;
- 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->{startpoint} < 0x1000 && $row->{endpoint} < 0x1000 ? 'BMP' :
- $row->{startpoint} >= 0x1000 && $row->{endpoint} < 0x2000 ? 'SMP' :
- 'allocations'
- );
- return $row;
- }},
- uu => {setup => sub {
- my $row = shift;
- $row->{cell} = do 'charset-ucplanes.inc.pl'
- or Alert('Table data could not be read', $@ || $!);
- $row->{endpoint} ||= 0x3FF;
- $row->{set} = 'Unicode planes';
- return $row;
- }},
- utf8 => {setup => sub {
- my $row = shift;
- $row->{set} = 'UTF-8';
- $row->{cell} = do 'charset-utf8.inc.pl'
- or Alert('Table data could not be read', $@ || $!);
- return $row;
- }},
- 'utf-8' => 'utf8',
};