我正在尝试使用Interface Builder为日语iOS应用程序设计界面。
由于我需要将日语文本用于标签和其他UI元素,因此必须使用日语字体。在iOS上,提供的日语字体为Hiragino Sans。
将系统字体用于iOS界面可简化很多工作。例如,您可以使用TextStyles,它将自动为您处理所有动态类型和其他辅助功能,例如粗体文本。即使像Hiragino这样的系统中包含了使用自定义字体完全支持这些功能所需的代码也不是一件容易的事(但是如果没有其他选择,可以做到)。
值得庆幸的是,UIKit很聪明,可以自动将Hiragino Sans用于标签和其他元素上的日语字符。
但是,这种自动替换显然是基于每个字符而不是整个UILabel /元素进行的。
您可以在以下屏幕截图中注意到这一点。有两个标签,第一个使用“系统字体”,第二个使用“ Hiragino”显式。第一个屏幕截图来自Interface Builder,其中旧金山甚至用于日语字符。第二个屏幕截图来自模拟器,该模拟器用hiragino替换了系统字体的日语字符。您会注意到这些细微的变化,尤其是在以下字符中:?,?,?和Hiragino的拉丁文字。
我想知道的是,设置系统字体并忘记这些细节是我应该如何设计界面,以及日语用户的预期行为,还是我应该尝试在整个UI元素上使用Hiragino。(我倾向于这里的第二个选项,特别是因为?字符的处理方式)。
在第二种情况下,我可以告诉UIKit我的所有UI元素即使对于非日语字符也应使用Hiragino的情况下,我缺少什么吗?有没有办法告诉它在使用系统字体时只使用Hiragino?还是在这里将Hiragino明确设置为唯一的选择,而所有额外的代码都需要使用自定义字体来支持动态类型和其他辅助功能?
谢谢!
| 归档时间: |
|
| 查看次数: |
1347 次 |
| 最近记录: |