3

I am trying to generate a self-created True Type font.

When validating, I’m getting a bunch of characters with:

There is another glyph in the font with this unicode code point.

This happens after hinting, removing overlaps, correcting directions... It’s the only thing that comes up when validating the font, everything else seems to be fine. Same when I directly generate the TTF.

Unfortunately the validation messages don’t have any details to them other than the name of character with the respective issue as quoted. By clicking on that list item it opens the respective problem character (for example LATIN CAPITAL LETTER E) in order to solve the issue but I don't see any reference as to where the other duplicate character sits and I don’t understand what exactly I’m supposed to do. Am I supposed to just erase that character and hope I killed the right one of the two?

I tried to detach the respective characters. Tried to restart XQuartz and FontForge. But problems/messages persist.

I created the font from scratch. I use my own all Western European Character set (incl. all accents and some ligatures).

XQuartz 2.7.11 (xorg-server 1.18.4)
FontForge 18:35 PDT, 2 April 2016
Mac mini (Late 2014), 3GHz i7, 16GB memo
macOS Sierra 10.12.2

  • Thank you, Wrzlprmft! Unfortunately the FF Validation messages don't have any details to them other than the name of character with the respective issue as quoted. By clicking on that list item it opens the respective problem character (for example LATIN CAPITAL LETTER E) in order to solve the issue but I don't see any reference as to where the other duplicate character sits and I don't understand what exactly I'm supposed to do. Am I supposed to just erase that character and hope I killed the right one of the two? Sorry in case I don't see/understand the obvious... – Rapha Jan 30 '17 at 15:59
2

I managed to create a FontForge font that exhibits the same error message. However, I had to manipulate the file manually (i.e., with a text editor), as FontForge didn’t allow me to make this mistake. Therefore it is not extremely unlikely that whatever caused this error for you also caused other problems.

This error indicates that you assigned two glyphs to the same Unicode character (or “code point“), which is very problematic, because the font can only guess which glyph to use to render this Unicode character.

Anyway, here is what works in this constructed case:

  1. Open Element → Validation → Validate.
  2. This should (amongst other things) show you all glyphs affected by this:

    Screenshot of interface

  3. Unless your font is a real mess, you should only have two or at least a small number of affected glyphs.

  4. Open each glyph by double-clicking on the error message.

  5. In the glyph window, go to Element → Glyph Info ↦ Unicode. There should be at least one glyph, whose Unicode Value and Char do not match the glyph. In my example, it looks like this for the culprit:

    enter image description here

  6. If it works, use Set From Name. Otherwise assign enter the proper Unicode Value and choose Set From Value.

Note that the error may persist in the validation window until you restart FontForge.

  • I'll also share the suggestion I got on another forum: You can try manually edit sfd file in text editor, find text block StartChar: E Encoding: ... ... EndChar and remove it, or reencode font [Encoding->Glyph Order], search by unicode [Edit->Select->Select by Wildcard] remove one unnecessary glyph [Encoding->Detach&Remove Glyphs...] – Rapha Jan 31 '17 at 16:38
  • I tried the method you suggested. Here's what I get for one of them, in this case Capital E: Glyph Name: E; Unicode Value: U+0045; Unicode Char: E. – Rapha Jan 31 '17 at 16:50
  • @Rapha: Well, that one sounds correct. Now, are there any other glyphs with the same error message and is there one assigned to U+0045 amongst them? – Wrzlprmft Jan 31 '17 at 16:53
  • tried different methods but couldn't find the duplicates. Then did the following: Reencode Unicode BMP. Select glyph in font view. Copy outline. Encoding / Detach and remove glyph. Reencode Unicode BMP. Encoding / Detach and remove glyph again. Reencode Unicode BMP. Paste the glyph in the empty slot. Reencode Unicode BMP. Tried this for just one slot (Capital E): Now all the duplicate messages gone. Doesn't make any sense to me. Just a glitch? But hey, I'll take it. – Rapha Jan 31 '17 at 18:16
  • Thanks for all the generous help! I'll observe how it goes going forward and will report back in case the issues are coming back. – Rapha Jan 31 '17 at 18:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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