【问题标题】:Localize text into chinese using custom fonts使用自定义字体将文本本地化为中文
【发布时间】:2011-08-03 22:47:24
【问题描述】:
我知道如何使用自定义字体来显示 CCLabels。我还想出了如何本地化标签。但我想知道是否有任何方法可以使用自定义字体显示本地化文本。
例如,当我使用 Arial 时,我没有问题,中文字体显示正确。但是,当我使用 XCode 中未包含的字体(例如 ARLRDBD.TTF)时,不会显示中文字符。
如何在 ARLRDBD.TTF 中也显示汉字?或者如果我打算使用 LocalizedString,我是否坚持使用 XCode 中包含的默认字体?
谢谢
阿比纳夫
【问题讨论】:
标签:
iphone
localization
cocos2d-iphone
labels
【解决方案1】:
你应该可以使用任何包含中文字符的字体。
并非所有字体都包含所有语言的字符。许多西方字体只有罗马字母 (A-Z)。
您可以使用包含您需要的所有字符的字体(如 Arial,或其他 Unicode 字体 - 请参阅:http://en.wikipedia.org/wiki/Unicode_typeface),或者为每种语言使用单独的字体。
我建议为每种语言使用不同的字体。
你可以用一个简单的结构来组织它。
typedef struct {
NSString *regionname;
NSString *fontname;
} RegionFont;
//later in the code....
RegionFont some_region;
some_region.regionname = @"China";
some_region.fontname = @"Arial";
您可以通过打开 Font Book(标准 Mac 应用程序)并在“所有字体”下搜索所需语言来测试字体是否支持给定语言。
我没有安装很多自定义字体,但有几个支持中文的。
希望这会有所帮助。
【解决方案2】:
您可以在应用中使用自定义字体,但您需要使用 Info.plist 文件中的 UIAppFonts 键让系统知道它们存在。请参阅here 了解更多信息。