@ -903,7 +903,9 @@ static int Con_DrawGenericChar( int x, int y, int number, rgba_t color )
@@ -903,7 +903,9 @@ static int Con_DrawGenericChar( int x, int y, int number, rgba_t color )
if(!con.curFont||!con.curFont->valid)
return0;
// if( number < 32 ) return 0;
number=Con_UtfProcessChar(number);
if(number<32)
return0;
if(y<-con.curFont->charHeight)
return0;
@ -1015,7 +1017,13 @@ void Con_DrawStringLen( const char *pText, int *length, int *height )
@@ -1015,7 +1017,13 @@ void Con_DrawStringLen( const char *pText, int *length, int *height )
continue;
}
curLength+=con.curFont->charWidths[c];
// Convert to unicode
c=Con_UtfProcessChar(c);
if(c)
curLength+=con.curFont->charWidths[c];
pText++;
if(curLength>*length)
@ -1040,6 +1048,8 @@ int Con_DrawGenericString( int x, int y, const char *string, rgba_t setColor, qb
@@ -1040,6 +1048,8 @@ int Con_DrawGenericString( int x, int y, const char *string, rgba_t setColor, qb
@ -1784,6 +1795,7 @@ void Field_DrawInputLine( int x, int y, field_t *edit )
@@ -1784,6 +1795,7 @@ void Field_DrawInputLine( int x, int y, field_t *edit )
// calc cursor position
str[edit->cursor-prestep]=0;
Con_DrawStringLen(str,&curPos,NULL);
Con_UtfProcessChar(0);
if(host.key_overstrike&&cursorChar)
{
@ -1794,7 +1806,11 @@ void Field_DrawInputLine( int x, int y, field_t *edit )
@@ -1794,7 +1806,11 @@ void Field_DrawInputLine( int x, int y, field_t *edit )