How can I combine two fonts automatically, so glyphs those are not available in the first font, but available in second one can be merged into the first font?


This is an easy task with fontforge.

First, you want to open the font with the missing glyphs and select Element -> Merge Fonts. In this example, the glyphs for E and F are the ones missing. Element->Merge Fonts

Select the font from which you want to pull glyphs. You will be asked whether you want to keep the existing kerning; you most likely want to select No here, but if you get strange results close fontforge and try again with Yes.Kerning dialog

The missing glyphs should be added in a few moments:Result in main fontforge window

Finally, do File -> Generate Fonts and export your font to a desired location.

  • I have hundreds of ttf files to merge. Is there a command-line for that? – user2284570 Oct 22 '14 at 20:26
  • 2
    This seems to only work if the fonts are of a similar em height, otherwise the glyphs get all funky. – Hanna Dec 12 '17 at 0:39
  • 1
    @Maarten I probably figured that one out by trial-and-error, but no, I can't really. It's been 7 years! – dset0x Jun 10 at 16:39
  • 1
    I merged missing font and it looks normal in Fontforge but it made the fonts microscopic at a normal font size. Is there an explanation? I thought Kerning is spacing, no horizontal height. – Jon Weinraub Jun 10 at 20:33

Also have a look at Google's Google Noto Font project and their Noto Tools merge_fonts.py script.

Or merge.py from the FontTools project.

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.