Add the same fonts.conf change that OS X has to Windows so that it, v2.14.16
authorCarl Hetherington <cth@carlh.net>
Tue, 26 Nov 2019 19:26:22 +0000 (20:26 +0100)
committerCarl Hetherington <cth@carlh.net>
Tue, 26 Nov 2019 19:26:22 +0000 (20:26 +0100)
too, can do fake bold/italic (slanted/oblique).  It looks like this
is necessary to see italics with the bundled fonts.

fonts/fonts.conf.windows

index 2b1c0ae..a3820b4 100644 (file)
@@ -1,5 +1,67 @@
 <fontconfig>
 <dir>C:\windows\fonts</dir>
 <cachedir>~/AppData/Local/Temp/fontconfig</cachedir>
+
+<!--
+ Artificial oblique for fonts without an italic or oblique version
+ -->
+
+       <match target="font">
+               <!-- check to see if the font is roman -->
+               <test name="slant">
+                       <const>roman</const>
+               </test>
+               <!-- check to see if the pattern requested non-roman -->
+               <test target="pattern" name="slant" compare="not_eq">
+                       <const>roman</const>
+               </test>
+               <!-- multiply the matrix to slant the font -->
+               <edit name="matrix" mode="assign">
+                       <times>
+                               <name>matrix</name>
+                               <matrix><double>1</double><double>0.2</double>
+                                       <double>0</double><double>1</double>
+                               </matrix>
+                       </times>
+               </edit>
+               <!-- pretend the font is oblique now -->
+               <edit name="slant" mode="assign">
+                       <const>oblique</const>
+               </edit>
+               <!-- and disable embedded bitmaps for artificial oblique -->
+               <edit name="embeddedbitmap" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+
+<!--
+ Synthetic emboldening for fonts that do not have bold face available
+ -->
+
+       <match target="font">
+               <!-- check to see if the font is just regular -->
+               <test name="weight" compare="less_eq">
+                       <const>medium</const>
+               </test>
+               <!-- check to see if the pattern requests bold -->
+               <test target="pattern" name="weight" compare="more">
+                       <const>medium</const>
+               </test>
+               <!--
+                 set the embolden flag
+                 needed for applications using cairo, e.g. gucharmap, gedit, ...
+               -->
+               <edit name="embolden" mode="assign">
+                       <bool>true</bool>
+               </edit>
+               <!--
+                set weight to bold
+                needed for applications using Xft directly, e.g. Firefox, ...
+               -->
+               <edit name="weight" mode="assign">
+                       <const>bold</const>
+               </edit>
+       </match>
+
 </fontconfig>