diff --git a/3rdparty/fonts/fnt.cxx b/3rdparty/fonts/fnt.cxx index 6fd6529..e55ca7d 100644 --- a/3rdparty/fonts/fnt.cxx +++ b/3rdparty/fonts/fnt.cxx @@ -191,13 +191,15 @@ void fntTexFont::getBBox ( const char *s, } if ( (cc & 0XE0) == 0XE0) { + SG_LOG(SG_GUI,SG_ALERT, "UTF83 cc=" << cc); + int x = (cc & 0X0F) << 4; //SG_LOG(SG_GUI,SG_ALERT, "UTF8 cc<<4 " << x); cc = (unsigned char) *(s++) ; - //SG_LOG(SG_GUI,SG_ALERT, "UTF81 cc=" << cc); + SG_LOG(SG_GUI,SG_ALERT, "UTF82 cc=" << cc); x= x + ((cc & 0x3C) >>2 ) ; @@ -205,7 +207,7 @@ void fntTexFont::getBBox ( const char *s, cc = (unsigned char) *(s++) ; - //SG_LOG(SG_GUI,SG_ALERT, "UTF82 cc=" << cc); + SG_LOG(SG_GUI,SG_ALERT, "UTF81 cc=" << cc); y= y + (cc & 0x3F); @@ -292,17 +294,23 @@ void fntTexFont::puts ( sgVec3 curpos, float pointsize, float italic, const char else if ( (cc & 0XE0) == 0XE0) { + SG_LOG(SG_GUI,SG_ALERT, "UTF83 cc=" << cc); int x = (cc & 0X0F) << 4; //SG_LOG(SG_GUI,SG_ALERT, "UTF8 cc<<4 " << x); + cc = (unsigned char) *(s++) ; - //SG_LOG(SG_GUI,SG_ALERT, "UTF81 cc=" << cc); + SG_LOG(SG_GUI,SG_ALERT, "UTF82 cc=" << cc); + x= x + ((cc & 0x3C) >>2 ) ; int y = (cc & 0x03) << 6 ; + cc = (unsigned char) *(s++) ; - //SG_LOG(SG_GUI,SG_ALERT, "UTF82 cc=" << cc); + SG_LOG(SG_GUI,SG_ALERT, "UTF81 cc=" << cc); + y= y + (cc & 0x3F); //SG_LOG(SG_GUI,SG_ALERT, "x=" << x << ",y=" << y); cc = x * 256 + y; + SG_LOG(SG_GUI,SG_ALERT, "GBK cc=" << cc); }