Greek/Russian font spacing problem

I’m hoping someone can point out what might be the issue here. I’m trying to prove that we can show various languages on our embedded system. They are all appearing well except that the Greek and Russian language characters have an odd spacing.

Instead of seeing (using english for example):
word1 word2 word3

I get: (equally spaced, and no differentiation between words)
w o r d 1 w o r d 2 w o r d 3

Using Phindows on the server: I’d get something different (characters together as needed, but a really wide space between words):
word1 word2 word3

I’m reading these strings out of a configuration file in UTF-8 format. Other langauges are appearing fine (even Japanese).

Do I need to change the font that my widgets are using? They are mostly all helvetica with varying sizes. Nothing in the documentation that I have seen mentioned changing the font used by the widgets.

Thanks so much,

Funny, this is exactly how Apple iPOD displays russian strings in the ID3 tags :slight_smile:

I guess there might be some common piece of font rendering code that has a bug. It is strange that it only hits cyrillics and greek… I guess it might have something to do with the fact that russian has some really wide characters. Or perhaps the font itself is hosed. I’d try using one of Windows TTF fonts - those are definitely good.

Can anyone confirm if they had a similar problem or not? Let me know if it worked or didn’t work, that way I’ll know one way or another.


Follow-up. The solution seemed to be using a non-QNX font run through the /usr/photon/bin/bdf_2_phf converter tool.

Thanks igor.

Hope that helps someone else,

I would not use PHF fonts unless I had not choice. It is a brain-dead format, that does not allow to store vital font information, such as DPI the bitmaps are rendered to (fonts are measured in typographic points that are dependent on screen resolution), encoding, etc. It also does not have enough metrics in each glyph to properly render proportionally spaced italics-style fonts. That information is present in BDF, but will be lost in translation.