# particularly weird, but it seems to be what GF intends
# Simple vowel replacement
- u'ウィ': 'wi', u'ウゥ': 'wu', u'ウェ': 'we',
+ u'ウィ': 'wi', u'ウゥ': 'wu', u'ウェ': 'we', u'ウォ': 'wo',
u'ヴァ': 'va', u'ヴィ': 'vi', u'ヴェ': 've', u'ヴォ': 'vo',
u'チェ': 'che',
u'シェ': 'she',
# Not so much
u'シィ': 'sy',
+ u'ミィ': 'my',
u'ビィ': 'by',
u'ピィ': 'py',
}
last_char = None # Used for small kana combos
for char in string:
# Full-width Latin
- if ord(char) >= 0xff11 and ord(char) <= 0xff5e:
+ if 0xff01 <= ord(char) <= 0xff5e:
if last_kana == 'sokuon':
raise ValueError("Sokuon cannot precede Latin characters.")
- char = chr(ord(char) - 0xff11 + 0x31)
+ # XXX Real Unicode decomposition would be nicer
+ char = chr(ord(char) - 0xff01 + 0x21)
characters.append(char)
last_kana = None