tuxpaint-pencil-sharpener/docs/zh_tw/mkTuxpaintIM.py
2007-11-18 08:06:11 +00:00

46 lines
1.4 KiB
Python

#!/usr/bin/env python
# -*- coding: Big5 -*-
# Copyright: Song Huang <songhuang.tw@gmail.com>
# create: 2007/11/04
# License: GNU GPL
ver = "0.1"
from optparse import OptionParser
from codecs import open as copen
if __name__ == '__main__':
# parse script arguments
optparser = OptionParser(usage='./%prog [options]', version="%prog "+ver)
optparser.add_option("-o", "--outputfile", action="store",
help=unicode("輸出檔案的名稱","big5"))
optparser.add_option("-m", "--phonemap", action="store",
help=unicode("中文與注音對照表(utf8 - expect file was xcin table:phone.cin)","big5"))
(options, args) = optparser.parse_args()
## 設定主要變數
# 輸出檔名
outfile = copen(options.outputfile, "w", "utf8")
outfile.write("section\n\n")
# 中文與注音對照表
phonemap = options.phonemap
# 執行輸出
cinfile = copen(phonemap, "r", "utf8")
(bopomofo, chinachar) = cinfile.readline().split()
bpmf_count = 0
bpmf_temp = bopomofo
while bopomofo:
if bpmf_temp == bopomofo:
bpmf_count += 1
else:
bpmf_count = 1
bpmf_temp = bopomofo
chinacharnum = str(hex(ord(chinachar)))[2:]
outfile.write("%s\t%s%s\t-\t# %s \n" % (chinacharnum, bopomofo, bpmf_count, chinachar))
try:
(bopomofo, chinachar) = cinfile.readline().split()
except:
break
# 結束
cinfile.close()
outfile.close()