Problems with specific character in custom typeface


#1

I used the description here to serialize Roboto Sans (http://www.juce.com/forum/topic/example-code-creating-using-custom-typeface) on Mac 10.10 for use cross platform.

We are using password characters for some TextEditors:

    - 0x2022 (bullet) for ios and linux. 

    - 0x25cf (splodge) for anything else.

Neither are now visible. If I set the password character to 0x0061 (a) it works as expected, with lower case 'a's printed in the field.

Bullet is definitely in the font on the mac (I can see it in Font Book).

Am I doing something wrong or do serialised fonts strip some symbols or something? My serialized font is here: https://dl.dropboxusercontent.com/u/31415341/fonts__robotosans.


#2

If you're using an embedded font then on some OSes it can't fall back to a default font for missing characters, so you'd need to make sure that your font contains that one. But if you're using password chars, then maybe just set the font to something normal, e.g. Arial, since it doesn't matter what the other characters look like in this case.


#3

The Roboto font, when installed on the mac, has access to the 0x2022 character. It's here in Font Book. I can paste it into Pages. Windows can use it in Word.

Is there any way to interrogate the serialized font for it charset?

I could just pull a default Arial bullet but it feels a bit hacky, and might look different per platform.


#4

I realise that the old serialized fonts are not recomended and moved to an embedded ttf. This is better (the serialized one only had 256 glyphs so didn't include the glyphs I was trying to use).

However 0x25cf password character now gives me ӛ (which according to http://unicode-table.com/en/#cyrillic is 0x04db).

Any ideas?


#5

Maybe try it with a non-serialised unicode font like arial, to check that you're passing the correct unicode char?


#6

I tried it with getDefaultTypefaceForFont(font) on the mac and it gave me the correct 0x25cf blobs.

I thought it could be similar to (http://www.juce.com/forum/topic/some-fonts-have-incorrect-character-mappings) but when I convert to .OTF it gives me a different wrong character. (Ћ I think)


#7

I have worked out that bullet (0x2022) works correctly so I will use that for now. However (0x25cf) does not. Here is a minimal example:

https://dl.dropboxusercontent.com/u/31415341/RobotoTest.zip

That should be a whole Introjucer/Mac project with the font and everything included as well as an example string printed to screen.

I don't think the unicode mapping in the font itself is wrong as Pages deals with it fine. Also the way it changes character when the font is converted to otf is odd. It is not a random character, it is always the same and consistant across Roboto styles.