fontsfontforge

Font problem: How to unlink two somehow linked characters?


I am using FontForge to alter fonts. Problem is i want to change letters (space and U00A0 (non-break space)) from an Arial font file in order to have those two characters to be shown different for a special use-case in my enterprise.

When i open Fontforge and try to manipulate the space character or the non-break space character - both characters get changed. I need them to look different. It does not seem to be a reference problem (i already tried to unlink reference both characters before editing).

They are somehow linked together and i would like to know: How can i unlink them?

Any suggestions are highly appreciated.


Solution

  • In Arial, as in many other fonts, both the space (U+0020) and non-breaking space (U+00A0) characters map to the same glyph. You will first need to create a new glyph (which can be done by simply copying and pasting). Then, edit the mappings through Char Info. Ideally, the lower-numbered glyph will map to space/U+0020, and the higher-numbered glyph will map to the non-breaking space, but this is not essential. Once you've separated the mappings, you can effect changes on each one as you desire.

    HOWEVER: there are a couple of important things to understand: 1) the Arial font data is owned and controlled by Microsoft. You have a license to use it in a very specific way, and unless you have been specifically licensed otherwise, you do not have the right to distribute modified versions of the font.

    2) Some applications will use the glyph referenced by U+0020 for both U+0020 and U+00A0 regardless of what is in the font. So your modifications may be for naught. Unfortunately I'm not aware of a definitive list of applications that exhibit this behavior; you'll have to test carefully.