I implemented unicode with the normal way to open a font. Then appended the needed code page, so something like nameoffont.font#22 . You can open that font without any problems, just at the end of the chain freetype needs to render the correct char*22*0xff. Not nice, but avoids multibyte characters. But you need to have a possibility to change fonts inbetween chard.