Android显示音标 [ɪmˈpɪəri:əs]
比如:http://www.iciba.com/imperious/,那么音标是:
[ɪmˈpɪəri:əs]
怎么显示它,这是个问题。
下面图是不正确的显示音标(左)和正确显示的截图:
下面说说如何解决的。
左图是直接复制iciba的音标到Android TextView的text属性中的结果。出现方块乱码的原因是,比如ɪ在系统字体里没有对应的字体。
google查了一下,需要一个金山的音标字体。一般可以通过关键字kingsoft_phonetic_ue.ttf查到。这是经过处理的金山字体,否则也无法使用。原始出处是linuxsir.org/bbs里的帖子。
该字体文件,我是从:http://code.google.com/p/scrollwordad/的项目中得到的。在命令行下:
1 |
svn checkout http://scrollwordad.googlecode.com/svn/trunk/ scrollwordad- read -only |
该文件就在assets/font目录下,名称为phonetic.ttf。
然后,要注意,音标不能用上述的直接复制的办法。要用类似下面的ascii码表示:
Im5pIEriEs
其中I就会在该字体中显示ɪ,5是重音符号。
下载的字体文件放置在android项目的assets/font目录下即可。
另外,要为TextView设置如下属性,将字体设置给它:
1 |
wordTextView=(TextView) findViewById(R.id.wordTextView); |
2 |
wordPhoneticTextView=(TextView) findViewById(R.id.wordPhoneticTextView); |
3 |
Typeface mFace = Typeface.createFromAsset(getAssets(), "font/phonetic.ttf" ); |
4 |
wordPhoneticTextView.setTypeface(mFace); |
这样就可以正常显示字体了。
Conquer Android开发者群95426703,Q:1532507234, 1532507234@qq.com,