CCLabelBMFont question

I see a code:
unsigned short c = m_sString[i]; CCAssert( c < kCCBMFontMaxChars, "LabelBMFont: character outside bounds");

unsigned short? looks like here is code for unicode string, but why when m_sString declared as std::string and all functions has const char* parameters instead wchar_t*? I’m trying to display localized text with bmfont.

CCLabelBMFont is used to show the characters you defined in fnt and png files.
and the “unsigned short c” here is actually the index of the characters, it is less than 256

Why kCCBMFontMaxChars then equal 2048? And fnt file may contain characters with code greater than 256