Unicode arithmetic at run-time
    Charles McAnany via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sat Sep 20 20:00:32 PDT 2014
    
    
  
Friends,
I note that there are playing cards in unicode:
http://en.wikipedia.org/wiki/Playing_cards_in_Unicode
They follow a nice pattern, so I can quickly convert from a rank 
and suit to the appropriate escape sequence in D. I'd like to 
automate this, but I can't seem to do arithmetic on unicode 
characters as I could in ascii.
writefln("%c", '/U0001F0A1'); //works fine, ace of spades. 
Backslash replaced with / for displayability.
//So logically, this would be the two of spades:
writefln("%c", '/U0001F0A1'+1); // 
std.format.FormatException at format.d(1325): integral
Would this be solvable with a mixin (return "//U00001F0A" ~ 
rank;), or are escape sequences impossible to generate after the 
source has been lexed by dmd?
I looked in std.uni and std.utf, but they don't seem to want to 
generate a unicode character from an int, they're more concerned 
about switching between encodings.
Cheers,
Charles.
    
    
More information about the Digitalmars-d-learn
mailing list