diff --git a/font-patcher b/font-patcher index 0a917d55bc..4ed2a49ea9 100755 --- a/font-patcher +++ b/font-patcher @@ -789,7 +789,14 @@ class font_patcher: # Ligartures will have these. continue - self.remove_glyph_neg_bearings(glyph) + if (glyph.width != 0): + # If the width is zero this glyph is intened to be printed on top of another one. + # In this case we need to keep the negative bearings to shift it 'left'. + # Things like Ä have these: composed of U+0041 'A' and U+0308 'double dot above' + # + # If width is not zero, correct the bearings such that they are within the width: + self.remove_glyph_neg_bearings(glyph) + self.set_glyph_width_mono(glyph)