Есть ли что-нибудь лучше, чем библиотека kakasi для сортировки годзёон?

"Лучше" в первую очередь означает точность, но меня также интересуют любые другие критерии, по которым другие системы преуспевают. Я пробовал привязку Perl Text :: Kakasi на предмет корректности, правда, ограниченным образом, и она отлично работает для наших нужд.

use utf8;
use Encode;
use Text::Kakasi;
use Unicode::Collate;

my $k = Text::Kakasi->new(qw(-iutf8 -outf8 -JH));
my $c = Unicode::Collate->new;

print encode_utf8 $_ for
    map  { $_->[0] }
    sort { $c->cmp($a->[1], $b->[1]) }
    map  { [$_, $k->get($_)] }
    ;

__DATA__
アメリカ合衆国
アラブ首長国連邦
ロシア連邦
中国
南アフリカ共和国
日本
北京(ペキン)
大阪
東京

9
задан dda 27 May 2012 в 23:40
поделиться