2

我是目标 c 的新手。我正在研究阿姆哈拉语的键盘。但我面临一些问题,iOS 不支持阿姆哈拉语字符。当我将这些阿姆哈拉语字符 (ወርትብቹኢኦፕ ) 分配给我的标签标题或按钮标题时,它变成了框。我不知道如何解决这个问题。请帮助我。

4

3 回答 3

2

其他问题和类似问题来看,最好的解决方案是:

您不能从那里添加自定义字体,而是必须创建一个 IBOutlet 并以编程方式添加字体

所以:1)将ttf字体文件拖放到资源文件夹中并添加info.plist:

<key>UIAppFonts</key>
  <array>
     <string>AmharicFontFile.ttf</string>
  </array>

或通过 Xcode 中的点击:

I)在plist文件中(projectView,点击info.plist)

II)创建名为“应用程序提供的字体”的新行

III)比创建新项目,即:

 item0 |  AmharicFontFile.ttf

比代码:

UIFont *font = [UIFont fontWithName:@"Amharic" size:20];
[label setFont:font];

其中“Amharic”是字体名称(不仅仅是没有扩展名的文件名,但可能相同)

于 2013-09-09T12:00:51.137 回答
0

Xcode 默认按钮标签为系统字体。如果您的系统字体不支持语言 X 中的字形,则需要将按钮的字体设置为支持的字体。

如果没有内置字体支持语言 X,那么您需要许可一种字体,并将其包含在您的捆绑包中。

于 2013-09-09T12:13:38.890 回答
0

我的猜测是 MacOS 支持这种语言,但 iOS 不支持。如果当前字体(例如系统字体)没有特定字符,它会查找具有所需字符的“后备”字体。如果 iOS 没有该语言的本地化版本,Apple 可能会为该语言保留字体以节省空间。

我认为文本在 Interface Builder 和模拟器中看起来不错,但在设备上却不行(1)?还是它只在 TextEdit 中看起来正确,而 IB 和模拟器都没有正确显示它们(2)?无论哪种情况,您都可能需要许可并安装包含所需字符的自定义字体,并将其包含在您的应用程序中。

1) 模拟器和 IB 都是伪装成 iOS 的真正的 Mac 应用程序,因此其行为与真正的 iOS 设备不同。因此,他们可能可以访问您 Mac 上的所有字体,而在设备上实际上字体较少。

2) 但是,模拟器和 IB 会努力模拟真实的 iOS 设备,所以如果它也不能在那里工作,但可以在 TextEdit 等真实的 Mac 应用程序中工作,那么有人会特别聪明并过滤字体列表。

于 2013-09-09T12:34:51.290 回答