""" ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろわをんーゎゐゑゕゖゔゝゞ・「」。、 ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロワヲンーヮヰヱヵヶヴヽヾ・「」。、 """ import fugashi import sys if len(sys.argv) != 2: print('usage: furigana ') exit(1) H, K = __doc__.strip().split('\n') t = {ord(a): ord(b) for a, b in zip(K, H)} r = [] for x in fugashi.Tagger().parseToNodeList(sys.argv[1]): if all(c in H + K for c in x.surface) or not x.feature.kana: r.append(x.surface) else: r.append(f" {x.surface}[{x.feature.kana.translate(t)}]") print(''.join(r).strip())