? ?android就是一个系统,系统中应该有字体,android自身有就一个字体支持的。
下面是读取音标乱码的问题,网上转来的。
? 但是,如果我这字体是数据库来的,怎办怎办
?
?
-------------------------------------
?
?
我们大家都是音标,比如说查找一个英文单词,你不知道它的发音,这时你就得借助音标来帮你完成。那我们怎么样才能在android中让它显示音标呐?我么就得借助一个关键字的包,它就是kingsoft_phonetic_ue.ttf。如果不用它的话,显示的音标就会出现乱码,这个大家一定要记住了。那我们就来看看怎么才能实现一个没有乱码的音标。
? ?? ?? ?? ?? ? 我们先来看看有乱码和没有乱码的效果图:
乱码? ?? ? 没有乱码
? ?? ?? ?? ?? ? 我们现在需要一个金山的音标字体。一般可以通过关键字kingsoft_phonetic_ue.ttf查到。这是经过处理的金山字体,否则也无法使用。
? ?? ?? ?? ?? ? 该字体文件,我是从: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设置如下属性,将字体设置给它:
Java代码:
- wordTextView=(TextView) findViewById(R.id.wordTextView);
- wordPhoneticTextView=(TextView) findViewById(R.id.wordPhoneticTextView);
- Typeface mFace = Typeface.createFromAsset(getAssets(), "font/phonetic.ttf");
- wordPhoneticTextView.setTypeface(mFace);