charset: encode mik characters (common bulgarian)
authorMischa POSLAWSKY <perl@shiar.org>
Fri, 16 Mar 2018 20:15:41 +0000 (21:15 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 21 Apr 2018 16:29:28 +0000 (18:29 +0200)
The standard for DOS programs in Bulgaria, somehow unknown to Encode.
Data copied from iconv -f mik <(perl -e'print chr for 128..254');

charset-encoding.inc.pl

index 92330ab0f876092ee425d0412a28d989d1e4ecaa..1414f394fe1a583730ea949d87d562bf219ce89d 100644 (file)
@@ -9,7 +9,7 @@ use utf8;
        ebcdic     => [qw( cp37 cp500 cp1047 posix-bc cp1026 cp875 )],
        iso        => [map {"iso-8859-$_"} 1 .. 11, 13 .. 16],
        dos        => [qw( cp437 cp865 cp861 cp860 cp863 cp850 cp857 cp852 cp775
-                          cp737 cp869 cp866 cp855 cp862 cp864 )],
+                          cp737 cp869 cp866 MIK cp855 cp862 cp864 )],
        aix        => [qw( cp1006 )],
        win        => [qw( cp1252 cp1250 cp1254 cp1257 cp1258 cp1253 cp1251 cp1255 cp1256 cp874 )],
        mac        => [qw( MacRoman MacRomanian MacRumanian MacCroatian MacCentralEurRoman MacTurkish MacIcelandic MacSami
@@ -22,7 +22,7 @@ use utf8;
        norteur    => [qw( baltic nordic )],
        baltic     => [qw( iso-8859-4 iso-8859-13 cp1257 cp775 )],
        nordic     => [qw( iso-8859-10 cp865 cp861 MacIcelandic MacSami )],
-       cyrillic   => [qw( koi8-r koi8-u koi8-f iso-8859-5 cp1251 MacCyrillic cp866 cp855
+       cyrillic   => [qw( koi8-r koi8-u koi8-f iso-8859-5 cp1251 MacCyrillic cp866 MIK cp855
                           +400 +2DE0 +A640-A69F +500-52F )], # MacUkrainian is broken
        arabic     => [qw( iso-8859-6 cp1256 MacArabic cp864 cp1006 MacFarsi
                           +600 +8A0-8BF+8E0 +750-77F )],
@@ -161,6 +161,18 @@ use utf8;
 
        '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(
+                       А Б В Г Д Е Ж З И Й К Л М Н О П
+                       Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
+                       а б в г д е ж з и й к л м н о п
+                       р с т у ф х ц ч ш щ ъ ы ь э ю я
+                       └ ┴ ┬ ├ ─ ┼ ╣ ║ ╚ ╔ ╩ ╦ ╠ ═ ╬ ┐
+                       ░ ▒ ▓ │ ┤ № § ╗ ╝ ┘ ┌ █ ▄ ▌ ▐ ▀
+                       α ß Γ π Σ σ µ τ Φ Θ Ω δ ∞ φ ε ∩
+                       ≡ ± ≥ ≤ ⌠ ⌡ ÷ ≈ ° ∙ · √ ⁿ ² ■
+               ), "\xA0"];
+       }},
 
        'macromanian'  => {inherit => ['MacRoman' => 'A0-BF+D0-DF']},
        'macrumanian'  => {inherit => ['MacRomanian' => 'A0-BF+D0-DF', 'MacRoman' => 'A0-BF+D0-DF']},