3
回答
Android 如何显示音标 [ɪmˈpɪəri:əs]
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

比如:http://www.iciba.com/imperious/,那么音标是:

     [ɪmˈpɪəri:əs]

怎么显示它,这是个问题。

下面图是不正确的显示音标(左)和正确显示的截图:

imageimage

下面说说如何解决的。

左图是直接复制iciba的音标到Android TextView的text属性中的结果。出现方块乱码的原因是,比如ɪ在系统字体里没有对应的字体。

google查了一下,需要一个金山的音标字体。一般可以通过关键字kingsoft_phonetic_ue.ttf查到。这是经过处理的金山字体,否则也无法使用。原始出处是linuxsir.org/bbs里的帖子。

该字体文件,我是从:http://code.google.com/p/scrollwordad/的项目中得到的。在命令行下:

svn checkout http://scrollwordad.googlecode.com/svn/trunk/ scrollwordad-read-only

该文件就在assets/font目录下,名称为phonetic.ttf

然后,要注意,音标不能用上述的直接复制的办法。要用类似下面的ascii码表示:

Im5pIEriEs

其中I就会在该字体中显示ɪ,5是重音符号。

下载的字体文件放置在android项目的assets/font目录下即可。

另外,要为TextView设置如下属性,将字体设置给它:

wordTextView=(TextView) findViewById(R.id.wordTextView); 
wordPhoneticTextView=(TextView) findViewById(R.id.wordPhoneticTextView); 
Typeface mFace = Typeface.createFromAsset(getAssets(), "font/phonetic.ttf");
wordPhoneticTextView.setTypeface(mFace);

这样就可以正常显示字体了。

原文转自:http://marshal.easymorse.com/archives/4087

举报
无鸯
发帖于6年前 3回/1K+阅
顶部