Android如何显示音标

简介: Android如何显示音标

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

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

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

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

下面说说如何解决的。

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

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

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

svn checkout https://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);

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

相关文章
|
5月前
|
API Android开发 开发者
android:configChanges
android:configChanges
49 4
|
Java 测试技术 Android开发
Android LayoutAnimation不生效
Android LayoutAnimation不生效
128 0
|
传感器 机器学习/深度学习 自然语言处理
Android 12 还没用上,Android 13 已经来了!
Android 12 还没用上,Android 13 已经来了!
280 0
Android 12 还没用上,Android 13 已经来了!
|
安全 数据可视化 编译器
Now in Android #13 - 最新 Android 动态分享
Now in Android #13 - 最新 Android 动态分享
Now in Android #13 - 最新 Android 动态分享
|
XML SQL IDE
Android Studio快捷键以及使用技巧
Android Studio快捷键以及使用技巧
354 0
|
消息中间件 算法 Java
Android最全面试题库(转)
Android最全面试题库(转)
|
XML Android开发 数据格式
Android小知识10则(下)
Android小知识10则(上)github传送门 注: 在目录中点击可以跳转到具体代码页 目录 Chronometer和CountDownTimer计时器 Chronometer的使用 CountDownTimer的使用 正则表达...
1143 0
|
Android开发 API
Android BaseRecyclerViewAdapterHelper使用
BaseRecyclerViewAdapterHelper项目下载 1 . 使用 // 基类 具体实现类 布局 数据源 ...
2397 0
|
存储 Java 数据库
|
XML Android开发 数据格式