Changeset 7832 for lang/perl/Acme-Shukugawa-Atom
- Timestamp:
- 03/12/08 14:24:11 (9 months ago)
- Location:
- lang/perl/Acme-Shukugawa-Atom/trunk
- Files:
-
- 2 modified
-
lib/Acme/Shukugawa/Atom.pm (modified) (4 diffs)
-
t/01_basic.t (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Acme-Shukugawa-Atom/trunk/lib/Acme/Shukugawa/Atom.pm
r7828 r7832 31 31 '別に' => 'ジリサワゴネタ', 32 32 '予約した' => 'バミった', 33 '[22][44]時|[00]時' => 'テッペン', 33 34 '巨乳|胸(?:の|が)(大きい|でかい|デカイ)' => 'パイオツカイデー', 34 '女性|女の人|お姉さん|おねーさん' => 'チャンネー' 35 '女性|女の人|お姉さん|おねーさん' => 'チャンネー', 36 'お?(?:ばあ|婆)さん' => 'F3のチャンバー', 35 37 ); 36 38 … … 61 63 if ($yomi) { 62 64 # normalize 63 $yomi =~ s/ー+/ー/g; 64 if (length($yomi) <= 2) { 65 $yomi = $surface; 66 } else { 67 $yomi =~ s/(.(?:ー+)?)$//; 68 $yomi = $1 . $yomi; 69 } 65 $yomi = $self->atomize($yomi) || $surface; 70 66 } else { 71 67 $yomi = $surface; … … 78 74 79 75 sub postprocess {} 76 77 sub atomize 78 { 79 my ($self, $yomi) = @_; 80 $yomi =~ s/ー+/ー/g; 81 82 my $length = length($yomi); 83 if ($length <= 2) { 84 return; 85 } 86 87 my $done = 0; 88 if ($length == 4) { # 4 character words tend to have special xformation 89 if ($yomi =~ s/^(.ー)(..)$/$2$1/) { 90 $done = 1; 91 } 92 } 93 94 if (! $done) { 95 $yomi =~ s/(.(?:ー+)?)$//; 96 $yomi = $1 . $yomi; 97 } 98 99 $yomi =~ s/ッ$/ツ/; 100 return $yomi; 101 } 102 80 103 81 104 1; … … 90 113 91 114 use Acme::Shukugawa::Atom; 92 93 115 my $newstring = Acme::Shukugawa::Atom->translate($string); 94 116 -
lang/perl/Acme-Shukugawa-Atom/trunk/t/01_basic.t
r7828 r7832 1 1 use strict; 2 2 use utf8; 3 use Test::More (tests => 2);3 use Test::More (tests => 3); 4 4 5 5 BEGIN … … 9 9 10 10 is( Acme::Shukugawa::Atom->translate("六本木の胸の大きいお姉さんがいる店を予約した"), "ギロッポンのパイオツカイデーチャンネーがいる店をバミった" ); 11 is( Acme::Shukugawa::Atom->translate("狼"), "カミオー" ); 12 13 is( Acme::Shukugawa::Atom->translate("おばあさんの口はどうして大きいの?"), 14 "チャンバーのチークーはどうしてカイデー");
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)