X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=x.c;h=c484dfcf8a5c258303e850b546b55060f5a7cb68;hb=1f24bde82b19912c080fbb4a0b153a248cd6c6ea;hp=fbfd35043b7652301079ce3ccfad2e7bcd698c2d;hpb=745c40f8b07ab898d1f9d4f564881b40599bc80d;p=st.git diff --git a/x.c b/x.c index fbfd350..c484dfc 100644 --- a/x.c +++ b/x.c @@ -1092,6 +1092,9 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x frc[frclen].font = XftFontOpenPattern(xw.dpy, fontpattern); + if (!frc[frclen].font) + die("XftFontOpenPattern failed seeking fallback font: %s\n", + strerror(errno)); frc[frclen].flags = frcflags; frc[frclen].unicodep = rune; @@ -1186,20 +1189,22 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i } } - if (base.mode & ATTR_REVERSE) { - temp = fg; - fg = bg; - bg = temp; - } - if ((base.mode & ATTR_BOLD_FAINT) == ATTR_FAINT) { colfg.red = fg->color.red / 2; colfg.green = fg->color.green / 2; colfg.blue = fg->color.blue / 2; + colfg.alpha = fg->color.alpha; XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, &revfg); fg = &revfg; } + + if (base.mode & ATTR_REVERSE) { + temp = fg; + fg = bg; + bg = temp; + } + if (base.mode & ATTR_BLINK && term.mode & MODE_BLINK) fg = bg;