Google
 

转换音标字体的音标

历史上曾经有一些特殊的音标字体。这些字体将普通的ascii字符显示成音标符号。如果选择了正确的字体,这些字符就被显示成音标。 如果没有设置正确的字体,这些字符就会显示出本来的样子,例如:

D.J.[s!6ne*ri87*&, -6n$8-, -6n#r-] 
K.K.[s!6nWri7o, -6n$r-, -6n#r-] 

本文讨论了将这些音标字体的普通ascii字符直接映射到Unicode字符的方法。

1 金山词霸2010 Beta版的一个小bug

在金山词霸2010 Beta版中,多数词典音标都使用了Unicode编码。可以直接复制、粘贴到支持Unicode的文本编辑器中,例如cnbook或Word。 不过要注意设置支持音标字符的字体,例如"Lucida Sans Unicode",否则音标可能无法正确显示。特别是重音符号 ˈˌ。 例如:

使用2010 Beta版时发现一个小bug。我从该软件官方网站下载“美国传统英语词典”并安装后,发现美国传统英语词典的音标无法正常显示:

显然这是缺少对应字体引起的。我查了一下css文件,发现美国传统英语词典的音标需要一种BasemicNew的字体:

.symbol {font-family: "BasemicNew";color: #999999;}

我在网上搜到一个字体类型为BasemicNew的字体文件BASEN___.TTF。不过安装后显示还是不太正常:

正常的音标应该是:

D.J.:[siˈnɛəri:ˌou, -ˈnɑ:, -ˈnær-]

K.K.:[sɪˈnɛriˌo, -ˈnɑ, -ˈnær-]

这个问题需要金山公司提供正确的字体文件。建议金山公司直接修改词典文件,改用Unicode编码的音标。

2 早期词霸的Ksphonet字体

这是一个比较常用的音标字体,字体名称是"Kingsoft Phonetic Plain"。金山词霸中大多数音标都采用了这个字体。 这个字体包含以下字符:

英语音标用到的字符不多,在cnbook中用以下替换表即可将普通字符的音标转换到Unicode字符的标准音标。

5=ˈ
7=ˌ
9=ˌ
A=æ
B=ɑ
C=ɔ
E=ə
F=ʃ
I=ɪ
J=ʊ
N=ŋ
Q=ʌ
R=ɔ
T=ð
U=u
V=ʒ
W=θ
\\=ɜ
^=ɡ

关于cnbook中替换表的使用可以参照我以前的一篇文章

3 早期词霸的Basemic字体

以前词霸的“美国传统辞典”使用了这个字体,字体名称就是"Basemic",字体文件是BASEMIC_.TTF。这个字体包含以下字符:

美国传统辞典包含AHD、DJ和KK这3种音标。我不认识AHD音标。所以只整理了DJ和KK音标的转换表:

!=ɪ
"=ˈ
#=æ
$=ɑ
%=ɔ
&=ʊ
(=ʌ
)=ɜ
*=ə
+=ə
.=ʃ
/=ʒ
0=ŋ
6=ˈ
7=ˌ
8=:
9=ʒ
>=ˌ
G=θ
H=ð
W=ɛ

4 GWIPA.ttf

我还看到过一种叫GWIPA的音标字体,字体名称就是"GWIPA"。字体作者提供了映射图:

按照映射图可以很方便地写出替换表:

A=ɑ
B=b
C=ɛ
D=ð
E=ə
F=f
G=g
H=h
I=ɪ
J=j
K=k
L=l
M=m
M=ŋ
O=ɔ
P=p
Q=æ
R=r
S=ʃ
T=θ
U=u
V=ʌ
W=w
X=ɒ
Y=y
Z=ʒ
'=ˈ
;=ˌ

其中两个重音符号是在字体文件里看到的。

5 结束语

设置替换表后,在cnbook中用右键菜单可以方便地将音标字体的普通字符转换到对应的Unicode字符。 在Word中应该也可以用宏实现批量替换,不过我没有研究过。

 

Google
 

个人主页留言本我的空间我的程序 fmdd@263.net