Reputation: 1869
I am looking for the Unicode or some method or byte language that can put out superscripts for 1, 2, 3. For whatever reason Unicode has superscripts for 0, 4, 5, 6, 7, 8, 9, but not 1, 2, 3.
Can you do superscripts like HTML in NSString
?
Upvotes: 6
Views: 3471
Reputation: 143
I know this question has already been answered but if anyone wants to reuse my code for converting from a standard string of numbers to superscript, here it is.
-(NSString *)superScriptOf:(NSString *)inputNumber{
NSString *outp=@"";
for (int i =0; i<[inputNumber length]; i++) {
unichar chara=[inputNumber characterAtIndex:i] ;
switch (chara) {
case '1':
NSLog(@"1");
outp=[outp stringByAppendingFormat:@"\u00B9"];
break;
case '2':
NSLog(@"2");
outp=[outp stringByAppendingFormat:@"\u00B2"];
break;
case '3':
NSLog(@"3");
outp=[outp stringByAppendingFormat:@"\u00B3"];
break;
case '4':
NSLog(@"4");
outp=[outp stringByAppendingFormat:@"\u2074"];
break;
case '5':
NSLog(@"5");
outp=[outp stringByAppendingFormat:@"\u2075"];
break;
case '6':
NSLog(@"6");
outp=[outp stringByAppendingFormat:@"\u2076"];
break;
case '7':
NSLog(@"7");
outp=[outp stringByAppendingFormat:@"\u2077"];
break;
case '8':
NSLog(@"8");
outp=[outp stringByAppendingFormat:@"\u2078"];
break;
case '9':
NSLog(@"9");
outp=[outp stringByAppendingFormat:@"\u2079"];
break;
case '0':
NSLog(@"0");
outp=[outp stringByAppendingFormat:@"\u2070"];
break;
default:
break;
}
}
return outp;
}
Given an input string of numbers it just returns the equivalent superscript string.
Edit (thanks to jrturton):
-(NSString *)superScriptOf:(NSString *)inputNumber{
NSString *outp=@"";
unichar superScripts[] = {0x2070, 0x00B9, 0x00B2,0x00B3,0x2074,0x2075,0x2076,0x2077,0x2078,0x2079};
for (int i =0; i<[inputNumber length]; i++) {
NSInteger x =[[inputNumber substringWithRange:NSMakeRange(i, 1)] integerValue];
outp=[outp stringByAppendingFormat:@"%C", superScripts[x]];
}
return outp;
}
Upvotes: 5
Reputation: 88378
The characters exist
Upvotes: 3
Reputation: 243146
From the character palette:
¹
SUPERSCRIPT ONE
Unicode: U+00B9, UTF-8: C2 B9
²
SUPERSCRIPT TWO
Unicode: U+00B2, UTF-8: C2 B2
³
SUPERSCRIPT THREE
Unicode: U+00B3, UTF-8: C2 B3
This, to make them in to NSStrings
, you'd do:
NSString *superscript1 = @"\u00B9";
NSString *superscript2 = @"\u00B2";
NSString *superscript3 = @"\u00B3";
Upvotes: 5