2014-01-04 4 views
0

Я добавляю шахматные фигуры к доске, и я использую их символы Юникода. Тем не менее, я ожидаю, что они похожи на эти те из wikipedia:Почему мои символы юникода отличаются от ожидаемых?

wikipedia unicode chess pieces

Но они показывают, как это вместо:

my unicode chess pieces

код, я использую, чтобы показать их как следует:

- (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

Я бы сказал, что точный внешний вид будет зависеть от используемого шрифта. Если другие символы различаются в зависимости от шрифта, почему бы и не относиться к этим символам? – dandan78

+0

Согласно ссылке wikipedia, отображаемые символы вы ожидаете от шрифта Arial Unicode MS. –

ответ

7

В стандарте Unicode не указывается, как визуализируется символ. Судя по просмотра символов на OS X, что вы ожидаете, является "Arial Unicode MS":

enter image description here

и что вы получите "Менло Жирный":

enter image description here

По the iOS 7: Font list, apps загрузить "Arial Unicode MS". Таким образом, вы можете взять этот шрифт с вашего Mac и добавить его в качестве ресурса шрифта в свое приложение.

+0

Отлично! Я думаю, что iOS, возможно, не выполнил бы некоторые шрифты Unicode – conorgriffin

2

Юникодные символы определяют только то, что должен представлять символ. Затем шрифты реализуют символы юникода. Каждый шрифт будет делать их по-другому.

Попробуйте использовать другие шрифты, если хотите, но я бы посоветовал выяснить, как использовать изображения в вашей программе. Это единственное, что нужно было контролировать, как это выглядит отлично.

+0

Да, я пробовал несколько шрифтов, но до сих пор не было изменений внешнего вида. – conorgriffin

+0

Возможно, что несколько шрифтов используют одни и те же значки шахмат. Многие производители шрифтов не беспокоятся о создании таких неясных персонажей и позволяют им по умолчанию использовать стандартный шрифт в семье. –

Смежные вопросы