From b379c7cc9dd9a810a9873d444e9742fcad3f5997 Mon Sep 17 00:00:00 2001 From: Yaroslav K Date: Mon, 13 Apr 2026 21:51:05 +0100 Subject: [PATCH] fontsrv: improve rendering of slanted fonts (italics) on macOS --- src/cmd/fontsrv/mac.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cmd/fontsrv/mac.c b/src/cmd/fontsrv/mac.c index c5a2e0f1..c00c8f7c 100644 --- a/src/cmd/fontsrv/mac.c +++ b/src/cmd/fontsrv/mac.c @@ -297,6 +297,7 @@ mksubfont(XFont *f, char *name, int lo, int hi, int size, int antialias) x = 0; for(i=lo; i<=hi; i++, fc++) { char buf[20]; + int iwidth; CFStringRef str; CFDictionaryRef attrs; CFAttributedStringRef attrString; @@ -321,6 +322,7 @@ mksubfont(XFont *f, char *name, int lo, int hi, int size, int antialias) line = CTLineCreateWithAttributedString(attrString); CGContextSetTextPosition(ctxt, 0, y0); r = CTLineGetImageBounds(line, ctxt); + iwidth = ceil(r.size.width+r.origin.x); memfillcolor(mc, DWhite); CTLineDraw(line, ctxt); CFRelease(line); @@ -342,10 +344,10 @@ mksubfont(XFont *f, char *name, int lo, int hi, int size, int antialias) } meminvert(mc); - memimagedraw(m, Rect(x, 0, x + p1.x, y), mc, ZP, memopaque, ZP, S); + memimagedraw(m, Rect(x, 0, x + iwidth, y), mc, ZP, memopaque, ZP, S); fc->width = p1.x; fc->left = 0; - x += p1.x; + x += iwidth; } fc->x = x;