diff --git a/src/MacVim/MMCoreTextView.m b/src/MacVim/MMCoreTextView.m index 0e4a19bfce..fa391d3ca7 100644 --- a/src/MacVim/MMCoreTextView.m +++ b/src/MacVim/MMCoreTextView.m @@ -1271,8 +1271,10 @@ - (void)batchDrawData:(NSData *)data { if (CTFontGetGlyphsForCharacters(fontRef, chars, glyphs, length)) { // All chars were mapped to glyphs, so draw all at once and return. - length = composeGlyphsForChars(chars, glyphs, positions, length, - fontRef, isComposing, useLigatures); + length = isComposing || useLigatures + ? composeGlyphsForChars(chars, glyphs, positions, length, + fontRef, isComposing, useLigatures) + : gatherGlyphs(glyphs, length); CTFontDrawGlyphs(fontRef, glyphs, positions, length, context); return; }