diff options
author | user <user@debian> | 2017-02-20 18:30:47 -0300 |
---|---|---|
committer | user <user@debian> | 2017-02-20 18:30:47 -0300 |
commit | 827f9ef0ac4570a384c6eae2f01c910a1f8c7026 (patch) | |
tree | bf06849acb549f8e47ea1d4803bbe438a8518c53 /emojitrans2.pl | |
parent | Fix spelling in comment (diff) | |
parent | Merge branch 'master' of github.com:kragen/xcompose (diff) | |
download | dotXCompose-827f9ef0ac4570a384c6eae2f01c910a1f8c7026.tar.gz dotXCompose-827f9ef0ac4570a384c6eae2f01c910a1f8c7026.tar.bz2 dotXCompose-827f9ef0ac4570a384c6eae2f01c910a1f8c7026.zip |
Merge branch 'master' of github.com:kragen/xcompose
Diffstat (limited to 'emojitrans2.pl')
-rwxr-xr-x | emojitrans2.pl | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/emojitrans2.pl b/emojitrans2.pl index 3b98ad2..c978b7e 100755 --- a/emojitrans2.pl +++ b/emojitrans2.pl @@ -1,9 +1,12 @@ #!/usr/bin/perl -p +use feature 'unicode_strings'; +use utf8; BEGIN { binmode(STDOUT, ":utf8"); binmode(STDIN, ":utf8"); %specials = ('%' => 'percent', '-' => 'minus', + '_' => 'underscore', '>' => 'greater', '<' => 'less', ',' => 'comma', @@ -16,17 +19,23 @@ BEGIN { binmode(STDOUT, ":utf8"); '#' => 'numbersign', '@' => 'at', '|' => 'bar', + '`' => 'grave', '~' => 'asciitilde', '^' => 'asciicircum', '(' => 'parenleft', ')' => 'parenright', '[' => 'bracketleft', ']' => 'bracketright', + '{' => 'braceleft', + '}' => 'braceright', "'" => 'apostrophe', '\\' => 'backslash', ':' => 'colon', ';' => 'semicolon', + '=' => 'equal', ' ' => 'space', + '*' => 'asterisk', + '♫' => 'Multi_key', ); sub splitup { @@ -48,10 +57,11 @@ sub splitup { unless (/^#/) { my $hold=$_; + s/<M_>/<Multi_key>/; s/<MM>/<Multi_key> <Multi_key>/; - s({([][[:alnum:] _+:;%@><,.^\$+#()?!/|'\\~-]+)})(splitup($1))e; + s({([][[:alnum:] _+:;%@>=`<,.^\$+#()?!/|'\\~*{}♫-]+)})(splitup($1))e; if (length($1) > 7) { $_=$hold; - s/^<MM>/### <MM>/; + s/^<M([M_])>/### <M$1>/; } } |