fontsrv: improve rendering of slanted fonts (italics) on macOS
Some checks are pending
GitHub Actions Build / Build-on-Ubuntu (push) Waiting to run
GitHub Actions Build / Build-on-macOS (push) Waiting to run

This commit is contained in:
Yaroslav K
2026-04-13 21:51:05 +01:00
committed by Dan Cross
parent 552faac470
commit b379c7cc9d

View File

@@ -297,6 +297,7 @@ mksubfont(XFont *f, char *name, int lo, int hi, int size, int antialias)
x = 0; x = 0;
for(i=lo; i<=hi; i++, fc++) { for(i=lo; i<=hi; i++, fc++) {
char buf[20]; char buf[20];
int iwidth;
CFStringRef str; CFStringRef str;
CFDictionaryRef attrs; CFDictionaryRef attrs;
CFAttributedStringRef attrString; CFAttributedStringRef attrString;
@@ -321,6 +322,7 @@ mksubfont(XFont *f, char *name, int lo, int hi, int size, int antialias)
line = CTLineCreateWithAttributedString(attrString); line = CTLineCreateWithAttributedString(attrString);
CGContextSetTextPosition(ctxt, 0, y0); CGContextSetTextPosition(ctxt, 0, y0);
r = CTLineGetImageBounds(line, ctxt); r = CTLineGetImageBounds(line, ctxt);
iwidth = ceil(r.size.width+r.origin.x);
memfillcolor(mc, DWhite); memfillcolor(mc, DWhite);
CTLineDraw(line, ctxt); CTLineDraw(line, ctxt);
CFRelease(line); CFRelease(line);
@@ -342,10 +344,10 @@ mksubfont(XFont *f, char *name, int lo, int hi, int size, int antialias)
} }
meminvert(mc); 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->width = p1.x;
fc->left = 0; fc->left = 0;
x += p1.x; x += iwidth;
} }
fc->x = x; fc->x = x;