with open(outfile, 'w') as f:\r
count = 0\r
for t in tests:\r
+ nabcc = False\r
if t.has_key('mode') and t['mode'] == 'NABCC':\r
- continue\r
+ nabcc = True\r
if t.has_key('output'):\r
- result, inpos1 = translator1.translateWithInPos(t['input'])\r
+ result, inpos1 = translator1.translateWithInPos(t['input'], nabcc=nabcc)\r
if t.has_key('inpos1'):\r
correct_inpos1 = ','.join(['%d' % n for n in t['inpos1'] ])\r
else:\r
# 数字の後につなぎ符が必要\r
return c in 'アイウエオラリルレロ'\r
\r
-def translateWithInPos(text):\r
+def make_nabcc_dic():\r
+ dic = {}\r
+ for c in alpha_dic:\r
+ dic[c] = alpha_dic[c]\r
+ keys = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ,;:.!"\'()-_<=>%+~`&$?{[}]^@#\\|/*'\r
+ vals = '⠴⠂⠆⠒⠲⠢⠖⠶⠦⠔⡁⡃⡉⡙⡑⡋⡛⡓⡊⡚⡅⡇⡍⡝⡕⡏⡟⡗⡎⡞⡥⡧⡺⡭⡽⡵⠠⠰⠱⠨⠮⠐⠄⠷⠾⠤⠸⠣⠿⠜⠩⠬⠘⠈⠯⠫⠹⠪⡪⠻⡻⡘⡈⠼⡳⠳⠌⠡'\r
+ for pos in xrange(len(keys)):\r
+ dic[keys[pos]] = vals[pos]\r
+ return dic\r
+\r
+nabcc_dic = make_nabcc_dic()\r
+\r
+def translateWithInPos(text, nabcc=False):\r
retval = ''\r
pos = 0\r
latin = False # 外字符モード\r
inPos.append(pos)\r
capital = latin = num = False\r
pos += 1\r
+ #nabcc\r
+ elif nabcc and (text[pos] in nabcc_dic):\r
+ retval += nabcc_dic[text[pos]]\r
+ inPos.append(pos)\r
+ pos += 1\r
#Numeric\r
elif text[pos] in num_dic:\r
latin = False\r