厉害,辛苦tsiank了。我以前在校改牛高4的时候动过重新从光盘提取文本的念头,但没装虚拟机,高估了原始光盘加密的水平,也低估了从垃圾文件底本校改修正的巨大工作量,结果掉进了一个天坑。
貌似tsiank提取的html文件没有修正音标,我此前写过一个相关script,应该继续有效,贴在这里。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
OALD4原始文档音标使用了"Kingsoft Phonetic Plain"字体,
导致不安装该字体的电脑会出现乱码,在此批量替换修正。
金山词霸音标字体编码表可参见 http://www.fmddlmyy.cn/text66.html ,
不过在此处改正OALD4使用的替换表略有不同。
"""
import re
def converter(match):
phonetic_string = match.group()
correct_symbol = phonetic_string.replace('5', 'ˈ')\
.replace('7', 'ˌ').replace('9', 'ˌ')\
.replace('A', 'æ').replace('B', 'ɑ')\
.replace('C', 'ɒ').replace('E', 'ə')\
.replace('F', 'ʃ').replace('I', 'ɪ')\
.replace('J', 'u').replace('N', 'ŋ')\
.replace('Q', 'ʌ').replace('R', 'ɔ')\
.replace('T', 'ð').replace('U', 'ʊ')\
.replace('V', 'ʒ').replace('W', 'θ')\
.replace('Z', 'ɛ').replace('\\', 'ɜ')\
.replace('^', 'ɡ').replace(':', 'ː')\
.replace('[', 'ɝ').replace('L', 'ɚ')\
.replace('?@', 'US').replace('`', 'ˈ')
return correct_symbol
def main():
file_src = r'C:\Users\xxx\Desktop\01.txt'
file_dst = r'C:\Users\xxx\Desktop\02.txt'
with open(file_src, 'r', encoding='UTF-8') as f:
text = f.read()
p = re.compile('/ <pho>.*?</pho>/')
result = re.sub(p, converter, text)
with open(file_dst, 'w', encoding='UTF-8') as fo:
fo.write(result)
if __name__ == '__main__':
main()