2014-03-30 8:09 GMT+03:00 Wolfgang Corcoran-Mathe:
Obviously, bold fonts are still loaded/unloaded, etc. Has anyone created
a cleaner and more comprehensive patch to disable bold fonts entirely?

On Sun, Mar 30 at 16:50 +0300, Tarmo Heiskanen wrote:
I am using this patch to disable both bold font and italics

Thank you, Tarmo. With a minor tweak to make it work with 0.4.1:

================================================================
--- st-0.4.1/st.c.orig  2013-04-20 09:29:39.000000000 -0400
+++ st-0.4.1/st.c       2014-03-30 11:06:19.157465821 -0400
@@ -283,7 +283,7 @@
/* Drawing Context */
typedef struct {
        Colour col[LEN(colorname) < 256 ? 256 : LEN(colorname)];
-       Font font, bfont, ifont, ibfont;
+       Font font;
        GC gc;
} DC;

@@ -2536,21 +2536,6 @@
        xw.cw = dc.font.width;
        xw.ch = dc.font.height;

-       FcPatternDel(pattern, FC_SLANT);
-       FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC);
-       if(xloadfont(&dc.ifont, pattern))
-               die("st: can't open font %s\n", fontstr);
-
-       FcPatternDel(pattern, FC_WEIGHT);
-       FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD);
-       if(xloadfont(&dc.ibfont, pattern))
-               die("st: can't open font %s\n", fontstr);
-
-       FcPatternDel(pattern, FC_SLANT);
-       FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN);
-       if(xloadfont(&dc.bfont, pattern))
-               die("st: can't open font %s\n", fontstr);
-
        FcPatternDestroy(pattern);
}

@@ -2573,15 +2558,6 @@
        XftFontClose(xw.dpy, dc.font.match);
        FcPatternDestroy(dc.font.pattern);
        FcFontSetDestroy(dc.font.set);
-       XftFontClose(xw.dpy, dc.bfont.match);
-       FcPatternDestroy(dc.bfont.pattern);
-       FcFontSetDestroy(dc.bfont.set);
-       XftFontClose(xw.dpy, dc.ifont.match);
-       FcPatternDestroy(dc.ifont.pattern);
-       FcFontSetDestroy(dc.ifont.set);
-       XftFontClose(xw.dpy, dc.ibfont.match);
-       FcPatternDestroy(dc.ibfont.pattern);
-       FcFontSetDestroy(dc.ibfont.set);
}

void
@@ -2721,13 +2697,9 @@
        if(base.mode & ATTR_ITALIC) {
                if(base.fg == defaultfg)
                        base.fg = defaultitalic;
-               font = &dc.ifont;
-               frcflags = FRC_ITALIC;
        } else if((base.mode & ATTR_ITALIC) && (base.mode & ATTR_BOLD)) {
                if(base.fg == defaultfg)
                        base.fg = defaultitalic;
-               font = &dc.ibfont;
-               frcflags = FRC_ITALICBOLD;
        } else if(base.mode & ATTR_UNDERLINE) {
                if(base.fg == defaultfg)
                        base.fg = defaultunderline;
@@ -2752,8 +2724,6 @@
                 *      196 - 231 – highest 256 color cube
                 *      252 - 255 – brightest colors in greyscale
                 */
-               font = &dc.bfont;
-               frcflags = FRC_BOLD;
        }

        if(IS_SET(MODE_REVERSE)) {

Attachment: pgpRNVQOHPb7v.pgp
Description: PGP signature

Reply via email to