projects
/
jmdict-cli.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9c17249
)
Go back in the kana2romaji loop so we don't miss characters.
author
Philipp Reh
<sefi@s-e-f-i.de>
Sat, 21 Feb 2009 10:41:22 +0000
(11:41 +0100)
committer
Philipp Reh
<sefi@s-e-f-i.de>
Sat, 21 Feb 2009 10:41:22 +0000
(11:41 +0100)
kana2romaji.cpp
patch
|
blob
|
history
diff --git
a/kana2romaji.cpp
b/kana2romaji.cpp
index 01124fd55b6825ec2675524723ba65b24252d305..d0da9f396d8693efa0237abfcab3bd3d66f42c43 100644
(file)
--- a/
kana2romaji.cpp
+++ b/
kana2romaji.cpp
@@
-375,7
+375,7
@@
void kana2romaji(const string& kana, string& rom) {
pred == "dzi"
) {
remove_quote_1(pos, rom);
pred == "dzi"
) {
remove_quote_1(pos, rom);
-
continue
;
+
pos -= 2
;
}
}
else if (pos > 1) {
}
}
else if (pos > 1) {
@@
-395,37
+395,39
@@
void kana2romaji(const string& kana, string& rom) {
// shorten "ji\1y" to "j"
// otherwise remove "\1" and the preceding character
// but not the y
// shorten "ji\1y" to "j"
// otherwise remove "\1" and the preceding character
// but not the y
- rom.erase(
- pos - 1,
- (pos + 1 < rom.size()
- && rom[pos + 1] == 'y'
- && pred[0] == 'j')
- ? 3
- : 2);
-
- continue;
+ rom.erase(
+ pos - 1,
+ (pos + 1 < rom.size()
+ && rom[pos + 1] == 'y'
+ && pred[0] == 'j')
+ ? 3
+ : 2);
+ pos -= 2;
}
}
-
-
if(
pred == "fu" ||
+ else if(
+
pred == "fu" ||
pred == "de" ||
pred == "te" ||
pred == "vu")
{
remove_quote_1(pos, rom);
pred == "de" ||
pred == "te" ||
pred == "vu")
{
remove_quote_1(pos, rom);
-
continue
;
+
pos -= 2
;
}
}
else
{
rom.erase(pos);
}
}
else
{
rom.erase(pos);
+ --pos;
}
}
}
}
- // FIXME!
else if (rom[pos] == '\2')
else if (rom[pos] == '\2')
- {
+
{
if(pos + 1 < rom.size())
rom[pos] = rom[pos + 1];
if(pos + 1 < rom.size())
rom[pos] = rom[pos + 1];
- else
+ else
+ {
rom.erase(pos);
rom.erase(pos);
+ --pos;
+ }
}
}
}
}