objective c - How to check if an NSString contains fancy characters? -


i have game renders player's nickname.

normally, use nice, styled, bitmap font render nickname. however, have bitmaps "normal" characters - a,b,c,...,1,2,3,...!@#$%^,.... there no bitmaps chinese, japanese or whatever other "fancy" characters in other language.

trying render such text bitmap crash because don't supply such bitmaps. therefore decided detect whether given string "fancy" string, , if case, render nickname using generated system font.

how can detect if string has fancy characters? current solution like

-(bool)isnormaltext:(nsstring *)text {     char accepted[] = {"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()_+{}/\\\"\'?.,"};     (int = 0; < [text length]; ++i) {         char character = [text characteratindex:i];         bool found = no;         (int j = 0; j < 84 && !found; ++j) {             char acceptedchar = accepted[j];             if (character == acceptedchar) {                 found = yes;             }         }         if (!found) {             return no;         }     }     return yes; } 

which not work, think. because fancy character not 1 character - sequence "\u123".

i have seen question, in java, similar here: how check if word japanese or english?

they check if character value within 255 range. when check in objective-c, tells me redundant because char within such range - makes sense imagine fancy characters sequence "\u123"...

use nscharacterset, fill characters have bitmaps for, invert set represents characters don't have. use -[nsstring rangeofcharacterfromset:]. if returns nsnotfound string contains valid characters.

just example illustrate mean:

- (bool) isnormaltext:(nsstring *) str {     if (str == nil)         return no;      nscharacterset *allowedchars = [nscharacterset charactersetwithcharactersinstring:@"abcdefg"];     nscharacterset *notallowedchars = [allowedchars invertedset];      return [str rangeofcharacterfromset:notallowedchars].location == nsnotfound; } 

Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -