Changeset 7878
- Timestamp:
- 03/13/08 10:14:58 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Acme-Shukugawa-Atom/trunk/lib/Acme/Shukugawa/Atom.pm
r7863 r7878 76 76 sub postprocess {} 77 77 78 # シースールール 79 # 寿司→シースー 80 # ン、が最後だったらひっくり返さない 81 my $small = decode_utf8("[ャュョッー]"); 82 my $syllable = decode_utf8("(?:.$small?)"); 83 my $nbar = decode_utf8("[^ンー]"); 84 sub apply_shisu_rule 85 { 86 my ($self, $yomi) = @_; 87 return $yomi if $yomi =~ s/^($syllable)($syllable)$/$2ー$1ー/; 88 return; 89 } 90 91 # ワイハールール 92 # ハワイ→ワイハー 93 sub apply_waiha_rule 94 { 95 my ($self, $yomi) = @_; 96 97 if ($yomi =~ s/^($syllable[ー]?)(..)$/$2$1/) { 98 $yomi =~ s/([^ー])$/$1ー/; 99 return $yomi; 100 } 101 return; 102 } 103 78 104 sub atomize 79 105 { … … 81 107 $yomi =~ s/ー+/ー/g; 82 108 109 # Length 83 110 my $length = length($yomi); 84 if ($length <= 2) { 85 return $yomi if $yomi =~ s/(.)([^ン])/$2ー$1ー/; 86 return; 111 $length -= ($yomi =~ /$small/g); 112 if ($length == 2) { 113 return $self->apply_shisu_rule($yomi); 114 } 115 116 if ($length == 3) { 117 return $self->apply_waiha_rule($yomi); 87 118 } 88 119
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)