When multiple Unicode characters exist together expand them all at the
end rather than breaking up what might potentially be "Unicode art".
Fixes: #1
- my $name = charnames::viacode(ord $1);
- $name = sprintf("{%X}", ord $1) unless defined($name);
+ for my $c (split //,$string) {
+ my $name = charnames::viacode(ord $c);
+ $name = sprintf("{%X}", ord $c) unless defined($name);
+ if (length($expansion) == 0) {
+ $expansion .= $name;
+ } else {
+ $expansion .= "; " . $name;
+ }
+ }
+
+ return $expansion;
}
sub expand {
my ($server, $target, $data) = @_;
$data = decode_utf8($data);
}
sub expand {
my ($server, $target, $data) = @_;
$data = decode_utf8($data);
- $data =~ s{([^\p{Letter}\p{Punctuation}\p{Control}\p{Space}\p{Sc}[:ascii:]])}{
+ $data =~ s{([^\p{Letter}\p{Punctuation}\p{Control}\p{Space}\p{Sc}[:ascii:]]+)}{
"${1} [".expand_char($1)."]"
}ge;
"${1} [".expand_char($1)."]"
}ge;