4

I have a pfm/pfb font called Chanakya which I know contains characters outside the 0-255 range eg. (\u2022 has अ). I know this because I can programmatically display the character's code:-

enter image description here

But FontForge shows only the first 256:-

enter image description here

Forcing the encoding from Encoding > Force Encoding > ISO-10646-1 (Unicode Full) shows all the positions but the glyph isn't there:-

enter image description here

How can I force FontForge to show me those as well?

2 Answers 2

1

Clearly the codepoints don't match. U+2202 in the BMP is supposed to be the Bullet (•), while Devanagari Letter A (अ) is U+00905. There may be some error in the way your program acquires the codepoint, or perhaps the font is malformed -- test this by comparing another Devanagari font. For each, how great is stories.length and how many glyphs does FontForge show in all?

1

Two things:

  • Force Encoding assumes that the glyphs are stored in the order of the respective encoding and converts this. This is only useful if the encoding information for the font is faulty. In all other cases, this does something between nothing and a complete mess. It is no surprise that you cannot find your character.

    Only use this if you really know what you are doing. If you want to change the encoding of a font, use Encoding → Reencode instead.

  • If you want to explore a font that goes beyond ASCII characters, I recommend that you start with Encoding → Compact. This hides all unused code points and should give you a list of all characters in the font. If this does not work, my first guess be your font is somehow broken. Pay close attentions to the warnings displayed by FontForge when opening the font. Reencoding might help, but it’s a far shot.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.