Android - 将多种字体样式组合成一种单一字体(字体)

时间:2012-04-17 12:45:02

标签: android android-layout fonts

我有几种不同风格的字体,比方说:“MyFont_default.otf”,“MyFont_italic.otf”,“MyFont_bold.otf”

通常,我会像这样设置TextView的字体:

Typeface tf=Typeface.createFromAsset(context.getAssets(), "MyFont_italic.otf");
textView.setTypeface(tf);

我的问题是:是否可以将所有这些字体组合成一个字体,比如说“MyFont”,并根据XML布局文件中定义的TextView样式(斜体,粗体),显示TextView用适当的字体?

2 个答案:

答案 0 :(得分:2)

我没有适当的声誉发表评论,但我可以确认,这种方法有效。 使用FontForge(二进制可用于Windows):

  1. 使用FontForge(常规,粗体,斜体)打开多个.otf文件。
  2. 确保选择显示字体“常规”版本的窗口
  3. 使用文件>从该窗口保存ttc
  4. 确实看到其他子字体在保存对话框中列出(粗体,斜体)
  5. 在Android中保存并使用此ttc文件
  6. 我使用TextView中显示的html文本对其进行了测试:     <b>Test</b> Test <i>Test</i> - &GT; “测试测试测试”以前在Android 2.3.7中无效,并且使用此ttc字体,所有三个版本的文本都显示完美。

    正如我所说,在导出时选择常规字体非常重要,因为这是Android使用的“默认”字体(我首先从Bold版本导出,但它都是Bold)。

答案 1 :(得分:1)

使用某种字体编辑器将字体组合到一个文件中。许多字体在单个文件中都有多种样式,这就是您在这种情况下所需要的。