summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVon Random <von@vdrandom.org>2019-04-02 19:13:41 +0300
committerVon Random <von@vdrandom.org>2019-04-02 19:13:41 +0300
commit14ad67f639b8cbb4d062eb3556879b7f9f008164 (patch)
tree4445e765a180e9c99785b546c7d9df1daa4da2dc
parenteaf4f9a5959e90e1473d5b3e5605efb06e6eb487 (diff)
actually properly use the original disable-bold-italic-fonts patch, apparently I have been doing it wrong
-rw-r--r--config.h3
-rw-r--r--st-disable-bold-italic-fonts.patch67
2 files changed, 43 insertions, 27 deletions
diff --git a/config.h b/config.h
index 5171250..16415c8 100644
--- a/config.h
+++ b/config.h
@@ -9,8 +9,9 @@ static char *font = "xos4 Terminus:bold:pixelsize=14";
static int borderpx = 1;
/* disable bold and italic font styles */
-int disablebold = 1;
+int disablebold = 0;
int disableitalic = 1;
+int disableroman = 1;
/*
* What program is execed by st depends of these precedence rules:
diff --git a/st-disable-bold-italic-fonts.patch b/st-disable-bold-italic-fonts.patch
index a19584e..026dbe8 100644
--- a/st-disable-bold-italic-fonts.patch
+++ b/st-disable-bold-italic-fonts.patch
@@ -1,45 +1,60 @@
+# based on Alex Kozadaev's st-disable-bold-italic-fonts.diff
+# https://st.suckless.org/patches/disable_bold_italic_fonts/
+
+diff --git a/config.def.h b/config.def.h
+index 482901e..50a4896 100644
--- a/config.def.h
+++ b/config.def.h
-@@ -8,6 +8,10 @@
+@@ -6,6 +6,12 @@
+ * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
+ */
static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true";
- static int borderpx = 2;
-
-+/* disable bold and italic font styles */
++
++/* disable bold, italic and roman fonts globally */
+int disablebold = 0;
+int disableitalic = 0;
++int disableroman = 0;
+
+ static int borderpx = 2;
+
/*
- * 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..ad65501 100644
--- a/x.c
+++ b/x.c
-@@ -240,6 +240,10 @@ static char *opt_title = NULL;
+@@ -244,6 +244,11 @@ 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;
++extern int disableroman;
+
void
clipcopy(const Arg *dummy)
{
-@@ -1152,13 +1156,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;
+@@ -960,17 +965,20 @@ xloadfonts(char *fontstr, double fontsize)
+ win.ch = ceilf(dc.font.height * chscale);
+
+ FcPatternDel(pattern, FC_SLANT);
+- FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC);
++ if (!disableitalic)
++ FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC);
+ if (xloadfont(&dc.ifont, pattern))
+ die("can't open font %s\n", fontstr);
+
+ FcPatternDel(pattern, FC_WEIGHT);
+- FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD);
++ if (!disablebold)
++ FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD);
+ if (xloadfont(&dc.ibfont, pattern))
+ die("can't open font %s\n", fontstr);
+
+ FcPatternDel(pattern, FC_SLANT);
+- FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN);
++ if (!disableroman)
++ FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN);
+ if (xloadfont(&dc.bfont, pattern))
+ die("can't open font %s\n", fontstr);
+