我正在向棋盘添加棋子,我正在使用他们的unicode角色。但是,我希望它们看起来像wikipedia中的这些:
但是他们正在这样显示:
我用来显示这些代码的代码如下:
- (void)drawRect:(CGRect)rect
{
NSMutableParagraphStyle *textStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
textStyle.alignment = NSTextAlignmentCenter;
NSDictionary *attrs =
@{ NSForegroundColorAttributeName : [UIColor blackColor],
NSFontAttributeName:[UIFont fontWithName:@"HelveticaNeue" size:_squareSize],
NSParagraphStyleAttributeName:textStyle
};
[[self getStringForValue:_squareValue] drawInRect:rect withAttributes:attrs];
}
- (NSString*)getStringForValue:(int)value
{
NSString* piece;
switch (_squareValue) {
// white pieces
case 1:
piece = @"\u2659";
break;
case 2:
piece = @"\u2658";
break;
case 3:
piece = @"\u2654";
break;
case 5:
piece = @"\u2657";
break;
case 6:
piece = @"\u2656";
break;
case 7:
piece = @"\u2655";
break;
// black pieces
case 9:
piece = @"\u265F";
break;
case 10:
piece = @"\u265E";
break;
case 11:
piece = @"\u265A";
break;
case 13:
piece = @"\u265D";
break;
case 14:
piece = @"\u265C";
break;
case 15:
piece = @"\u265B";
break;
default:
piece = @"";
break;
}
return piece;
}
为什么这些作品与维基百科不同?这是字体吗?如果是这样,我应该使用哪种字体?我尝试了几种字体,但每次字符看起来都一样。
答案 0 :(得分:7)
Unicode标准未指定字符的呈现方式。从中看 OS X上的字符查看器,您期望的是“Arial Unicode MS”:
你得到的是“Menlo Bold”:
根据iOS 7: Font list,应用可以 下载“Arial Unicode MS”。所以你可以从Mac上获取该字体 并将其作为字体资源添加到您的应用程序。
答案 1 :(得分:2)
Unicode字符仅确定字符应表示的内容。然后字体实现unicode字符。每种字体都会以不同方式执行。
如果需要,请尝试不同的字体,但我建议您弄清楚如何在程序中使用图像。这是唯一控制它看起来完美的方式。