st-patches/st-disable-bold-italic-fonts.patch

47 lines
1.4 KiB
Diff

--- a/config.def.h
+++ b/config.def.h
@@ -8,6 +8,10 @@
static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true";
static int borderpx = 2;
+/* disable bold and italic font styles */
+int disablebold = 0;
+int disableitalic = 0;
+
/*
* What program is execed by st depends of these precedence rules:
* 1: program passed with -e
diff --git a/x.c b/x.c
index 5828a3b..c433c58 100644
--- a/x.c
+++ b/x.c
@@ -244,6 +244,10 @@ static char *opt_title = NULL;
static int oldbutton = 3; /* button event on startup: 3 = release */
+/* declared in config.h */
+extern int disablebold;
+extern int disableitalic;
+
void
clipcopy(const Arg *dummy)
{
@@ -1177,13 +1181,15 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x
frcflags = FRC_NORMAL;
runewidth = win.cw * ((mode & ATTR_WIDE) ? 2.0f : 1.0f);
if ((mode & ATTR_ITALIC) && (mode & ATTR_BOLD)) {
- font = &dc.ibfont;
+ if (!disableitalic && !disablebold) font = &dc.ibfont;
+ if (disableitalic && !disablebold) font = &dc.bfont;
+ if (!disableitalic && disablebold) font = &dc.ifont;
frcflags = FRC_ITALICBOLD;
} else if (mode & ATTR_ITALIC) {
- font = &dc.ifont;
+ if (!disableitalic) font = &dc.ifont;
frcflags = FRC_ITALIC;
} else if (mode & ATTR_BOLD) {
- font = &dc.bfont;
+ if (!disablebold) font = &dc.bfont;
frcflags = FRC_BOLD;
}
yp = winy + font->ascent;