Original Post

I have been trying to print text with umlauts (Ä, ö, ü, …) from this extended ASCII font I posted a while ago:

http://www.planetvb.com/modules/newbb/viewtopic.php?topic_id=3529&forum=9

It didn’t work at all, all non-“basic” ASCII characters I tried to print to the screen remained blank. When trying to print their numerical values using itoa, they all showed the same number: 4294938624.

Does anybody have an idea what’s going on there or what I could do to map the extended characters?

2 Replies

All ASCII characters fit in 7 bits. The international characters (including those with umlauts) in CP-850 as shown in the image are in the 128-255 range; the highest bit is set.

My guess is that something in the compiler is reading characters as bytes, sign extending them when that high bit is set, and is munging up your result accordingly.

It’s hard to diagnose at a glance, but you might see some success if you use unsigned char variables instead of char variables.

That was exacty the problem. The vbPrint function worked with char and u16, which I both changed to u8 and now its working.
In addition, the font I posted is not ISO 8859-1 (Latin-1), so I had to move all the extended characters around and add a bunch of new ones.

Thanks for the help!

 

Write a reply

You must be logged in to reply to this topic.