I’m trying to make my own CCLabelBMFont from a keyboard string, if I try to input a ñ (spanish keyboard) I get this error : Assertion failed: (c < kCCBMFontMaxChars) . As I read from other developers, this is because only english letters are allowed, because of this, I tried to replace the ñ letter using the string.replace(), but even when i make a cout<< Mystring ; Im getting the string correctly replaced, the assertion is still there :S.
I managed this problem is a “not so good” way but it worked for me:
I cast the m_sString[i] value in a unsigned char. Therefore, I can now use all characters from 0 to 255 instead of just 0 to 127. I don’t know about the ñ but it allowed me to use french characters such as éàè so hopefully the ñ will work too.
Hi again, I’m still trying to make the ñ, or éàè to appear, but getting nothing :S. Did you made any other change apart from casting the m_sString[i] value?? when I log the index value of ñ, it should be 241, but I’m getting two values instead 195 and 177 .
Well, if you have two values, it’s because your data is encoded in utf-8 and BMFont does not handle it. When reading my source file with the texts, I convert the utf-8 to 8859-1, In your case, it would convert the 195 and 177 in 241. Check out on google to find how to do the conversion.