Subject: | Support for Bulgarian and Russian. Transition to UTF8. |
The attached patch provides support for Bularian and Russian language. It also transforms source code to UTF8.
Subject: | Morse.pm.patch |
--- Morse.pm 2014-12-20 10:46:20.557335000 +0200
+++ Morse.pm.BGRU 2014-12-20 18:28:05.165266000 +0200
@@ -2,8 +2,9 @@
use warnings;
use strict;
+use utf8;
-$Text::Morse::VERSION = '0.04';
+$Text::Morse::VERSION = '0.06';
no warnings 'qw';
@@ -57,27 +58,89 @@
);
our %SWEDISH = (%ENGLISH, qw(
-Å .--.-
-Ä .-.-
-Ö ---.
-å .--.-
-ä .-.-
-ö ---.
+Ã
.--.-
+Ã .-.-
+Ã ---.
+Ã¥ .--.-
+ä .-.-
+ö ---.
));
our %LATIN = (%ENGLISH, qw(
-Á .--.-
-Ä .-.-
-Ö ---.
-á .--.-
-ä .-.-
-ö ---.
-É ..-..
-é ..-..
-Ñ --.--
-ñ --.--
-Ü ..--
-ü ..--
+Ã .--.-
+Ã .-.-
+Ã ---.
+á .--.-
+ä .-.-
+ö ---.
+Ã ..-..
+é ..-..
+Ã --.--
+ñ --.--
+Ã ..--
+ü ..--
+));
+
+our %COMMON_CYR = qw(
+Ð .-
+Ð -...
+Ð .--
+Ð --.
+Ð -..
+Ð .
+Ð ...-
+Ð --..
+Ð ..
+Ð .---
+Ð -.-
+Ð .-..
+Ð --
+Ð -.
+Ð ---
+Ð .--.
+Ð .-.
+С ...
+Т -
+У ..-
+Ф ..-.
+Ð¥ ....
+Ц -.-.
+Ч ---.
+Ш ----
+Щ --.-
+Ю ..--
+Я .-.-
+. .-.-.-
+, --..--
+/ -...-
+: ---...
+' .----.
+- -....-
+? ..--..
+! ..--.
+@ ...-.-
++ .-.-.
+0 -----
+1 .----
+2 ..---
+3 ...--
+4 ....-
+5 .....
+6 -....
+7 --...
+8 ---..
+9 ----.
+);
+
+our %BULGARIAN = (%COMMON_CYR, qw(
+Ъ -..-
+Ь -.--
+));
+
+our %RUSSIAN = (%COMMON_CYR, qw(
+Ь -..-
+Ы -.--
+Ð ..-..
));
sub new {
@@ -87,6 +150,8 @@
my $hash = \%ENGLISH;
$hash = \%SWEDISH if defined $lang and $lang =~ /^(SWEDISH|SVENSKA)$/i;
$hash = \%LATIN if defined $lang and $lang =~ /^LATIN$/i;
+ $hash = \%BULGARIAN if defined $lang and $lang =~ /^(BULGARIAN|ÐЪÐÐÐРСÐÐ)$/i;
+ $hash = \%RUSSIAN if defined $lang and $lang =~ /^(RUSSIAN|РУССÐÐÐ)$/i;
my $rev = {reverse %$hash};
my $self = {'enc' => $hash, 'dec' => $rev, 'lang' => $lang};