使用自定义字体将文本本地化为中文

时间:2011-08-03 22:47:24

标签: iphone localization cocos2d-iphone labels

我知道如何使用自定义字体来显示CCLabel。我还想出了如何本地化标签。但我想知道是否有使用自定义字体显示本地化文本。

例如,当我使用Arial时我没有问题,中文字体显示正确。但是当我使用未包含在XCode中的字体(例如ARLRDBD.TTF)时,中文字符不会显示。

如何在ARLRDBD.TTF中显示中文字符?或者,如果我打算使用LocalizedString,我是否只使用XCode中包含的默认字体?

由于 阿比纳夫

2 个答案:

答案 0 :(得分:0)

您应该可以使用任何包含中文字符的字体。

并非所有字体都包含所有语言的字符。许多西方字体只有罗马字母(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应用程序)并在“All Fonts”下搜索所需语言来测试字体是否支持给定语言。

我没有安装很多自定义字体,而且有几个支持中文版。

希望这有帮助。

答案 1 :(得分:-1)

您可以在应用中使用自定义字体,但需要使用UIAppFonts文件中的Info.plist密钥让系统知道它们存在。有关详细信息,请参阅here