'cp1026' => {inherit => ['cp37' => '40']},
'cp875' => {inherit => ['cp37' => '30']},
- legacy => [qw( cp437 ATASCII PETSCII MSX ZX-Spectrum )],
+ legacy => [qw( cp437 ATASCII PETSCII MSX ZX-Spectrum ANSEL )],
'petscii' => {inherit => ['' => '40-7F+A0-BF'], setup => sub {
$_[0]->{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 [ £ ] ↑ ←
0xF7 => 'œ',
},
},
+ 'ansel' => {
+ note => '+GEDCOM',
+ inherit => ['' => 'A0-CF+E0-FE'],
+ setup => sub {
+ $_[0]->{table} = [
+ (undef) x 0xA0,
+ undef, qw( Ł Ø Đ Þ Æ Œ ʹ · ♭ ® ± Ơ Ư ʾ ), undef,
+ qw( ʿ ł ø đ þ æ œ ʺ ı £ ð ), undef, qw( ơ ư ), undef, undef,
+ qw( ° ℓ ℗ © ♯ ¿ ¡ ), (undef) x 0x19,
+ (map {$_ && chr}
+ 0x309, 0x300, 0x0301, 0x0302, 0x0303, 0x304, 0x306, 0x307,
+ 0x308, 0x30C, 0x030A, 0xFE20, 0xFE21, 0x315, 0x30B, 0x310,
+ 0x327, 0x328, 0x0323, 0x0324, 0x0325, 0x333, 0x332, 0x326,
+ 0x31C, 0x32E, 0xFE22, 0xFE23, undef, undef, 0x313, undef,
+ ),
+ ];
+ },
+ replace => {
+ # GEDCOM extensions
+ 0xBE => '□',
+ 0xBF => '■',
+ 0xCD => 'e', # endowment?
+ 0xCE => 'o', # ordinance?
+ 0xCF => 'ß',
+ 0xFC => "\x{338}",
+ # MARC21 extensions
+ 0xC7 => 'ß',
+ 0xC8 => '€',
+ },
+ },
+ 'ti86' => {
+ note => 'similar to TI85',
+ inherit => ['', => '0-1F+80-EC'],
+ setup => sub {
+ $_[0]->{table} = [
+ undef, qw(
+ 𝐛 𝐨 𝐝 𝐡 ▶ ⬆ ⬇ ∫ × 𝐀 𝐁 𝐂 𝐃 𝐄 𝐅
+ √ ⁻¹ ² ∠ ° ʳ ᵀ ≤ ≠ ≥ ⁻ ᴇ → ⏨ ↑ ↓
+ ),
+ (undef) x 0x60,
+ qw(
+ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ Á À Â Ä á à
+ â ä É È Ê Ë é è ê ë Í Ì Î Ï í ì
+ î ï Ó Ò Ô Ö ó ò ô ö Ú Ù Û Ü ú ù
+ û ü Ç ç Ñ ñ ´ ` ¨ ¿ ¡ α β γ Δ δ
+ ϵ θ λ μ π ρ Σ σ τ ϕ Ω x̅ y̅ ˟ … ◀
+ ■ ∕ ‐ ² ° ³ :⃞ ➧ ⧵ 🙽 ◥ ◣ ⊸ ∘ ⋱ █
+ ⇧ A⃞ a⃞ _ ⇧̲ A̲ a̲ ▒ ⬞ ˖ · ⁴ ﹦
+ ),
+ ];
+ },
+ },
+ 'ti89' => {
+ note => 'also TI92(+)',
+ inherit => ['', => '0-1F+7F-BE'],
+ setup => sub {
+ $_[0]->{table} = [
+ qw(
+ ▒ ␁ ␂ ␃ ␄ ␅ ␆ 🔔 ⌫ ⇥ ), chr(0xA), qw( ⬏ ⤒ ↵ 🔒 ✓
+ ■ ◂ ▸ ▴ ▾ ← → ↑ ↓ ◀ ▶ ⬆ ∪ ∩ ⊂ ∈
+ ),
+ (map {chr} 0x20 .. 0x7E), '◆',
+ qw(
+ α β Γ γ Δ δ ε ζ θ λ ξ ∏ π ρ ∑ σ
+ τ ϕ ψ Ω ω ᴇ ℯ 𝐢 ʳ ᵀ x̅ y̅ ≤ ≠ ≥ ∠
+ … ¡ ¢ £ ¤ ¥ ¦ § √ © ª « ¬ ⁻ ® ¯
+ ° ± ² ³ ⁻¹ µ ¶ · ⁺ ¹ º » 𝑑 ∫ ∞ ¿
+ ),
+ ];
+ },
+ },
'' => {setup => sub {
my $row = shift;