Skip to content

Instantly share code, notes, and snippets.

@luizmello
Last active June 18, 2017 14:43
Show Gist options
  • Save luizmello/23e0537241649de1316db844e9b2b943 to your computer and use it in GitHub Desktop.
Save luizmello/23e0537241649de1316db844e9b2b943 to your computer and use it in GitHub Desktop.
manjaro font rendering settings (infinality like) -- export FREETYPE_PROPERTIES="truetype:interpreter-version=40" (default)
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="pattern">
<edit mode="assign" name="dpi">96</edit>
</match>
<match target="font">
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintfull</const>
</edit>
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
</match>
<!-- Default fonts - Linux Appearance -->
<alias>
<family>sans-serif</family>
<prefer>
<family>Arial</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Times New Roman</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Courier New</family>
</prefer>
</alias>
<alias>
<family>Roboto</family>
<prefer>
<family>Arial</family>
</prefer>
</alias>
<match target="pattern">
<test name="family">
<string>Cantarell</string>
</test>
<edit name="family" mode="assign" binding="strong">
<string>Cantarell</string>
</edit>
</match>
<match target="font">
<test name="do_substitutions">
<bool>true</bool>
</test>
<test name="family">
<string>serif</string>
</test>
<edit name="family" mode="assign">
<string>Times New Roman</string>
</edit>
</match>
<match target="font">
<test name="do_substitutions">
<bool>true</bool>
</test>
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="assign">
<string>Courier New</string>
</edit>
</match>
<match target="font">
<test name="do_substitutions">
<bool>true</bool>
</test>
<test name="family">
<string>Roboto Mono</string>
</test>
<edit name="family" mode="assign">
<string>Courier New</string>
</edit>
</match>
<match target="font">
<test name="do_substitutions">
<bool>true</bool>
</test>
<test name="family">
<string>Roboto</string>
</test>
<edit name="family" mode="assign">
<string>Arial</string>
</edit>
</match>
<match target="font">
<test name="do_substitutions">
<bool>true</bool>
</test>
<test name="family">
<string>Roboto Mono</string>
</test>
<edit name="family" mode="assign">
<string>Arial</string>
</edit>
</match>
<match target="font">
<test name="do_substitutions">
<bool>true</bool>
</test>
<test name="family">
<string>Slack-Lato</string>
</test>
<edit name="family" mode="assign">
<string>Courier New</string>
</edit>
</match>
<match target="font">
<test name="slant">
<const>roman</const>
</test>
<test target="pattern" name="slant" compare="not_eq">
<const>roman</const>
</test>
<test name="scalable">
<bool>false</bool>
</test>
<edit name="slant" mode="assign">
<const>oblique</const>
</edit>
</match>
<match target="font">
<test name="weight" compare="less_eq">
<const>medium</const>
</test>
<test target="pattern" name="weight" compare="more">
<const>medium</const>
</test>
<test name="scalable">
<bool>false</bool>
</test>
<edit name="weight" mode="assign">
<const>bold</const>
</edit>
</match>
<!-- Prevent bold-ish fonts from being emboldened -->
<match target="font">
<test name="weight" compare="more_eq">
<const>semibold</const>
</test>
<test target="pattern" name="weight">
<const>bold</const>
</test>
<edit name="weight" mode="assign">
<const>bold</const>
</edit>
</match>
<!-- Prevent thin-ish fonts from being emboldened -->
<match target="font">
<test name="weight" compare="less">
<const>book</const>
</test>
<test target="pattern" name="weight">
<const>bold</const>
</test>
<edit name="weight" mode="assign">
<const>bold</const>
</edit>
</match>
<match target="pattern">
<test target="font" name="family">
<string>f</string>
</test>
<!-- match requests for non-roman face -->
<test name="slant" compare="not_eq">
<const>roman</const>
</test>
<!-- remember that this should be slanted -->
<edit name="fake_slant" mode="assign">
<bool>true</bool>
</edit>
<!--- change to match a roman face instead -->
<edit name="slant" mode="assign">
<const>roman</const>
</edit>
</match>
<!-- Force flagged fonts to have artificial oblique -->
<match target="font">
<!-- check to see if the font is roman -->
<test name="slant">
<const>roman</const>
</test>
<!-- look for fonts which were marked for fake obliquing -->
<test name="fake_slant">
<bool>true</bool>
</test>
<!-- multiply the matrix to slant the font -->
<edit name="matrix" mode="assign">
<times>
<name>matrix</name>
<matrix>
<double>1.0</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>
</match>
<!-- Force fake bold instead of the font's default bold -->
<!-- In rare cases this is more visually appealing -->
<!-- !!!! Somehow this breaks Qt unfortunately !!!! -->
<!-- Set the flag -->
<match target="pattern">
<test name="family">
<string>Courier New</string>
</test>
<!-- match requests for bold face -->
<test name="weight" compare="more">
<const>medium</const>
</test>
<!-- remember that this should be bolded -->
<edit name="fake_bold" mode="assign">
<bool>true</bool>
</edit>
<!--- change to match a medium weight instead -->
<edit name="weight" mode="assign">
<const>medium</const>
</edit>
</match>
<!-- Force flagged fonts to have artificial bold -->
<match target="font">
<!-- look for fonts which were marked for fake bolding -->
<test name="fake_bold">
<bool>true</bool>
</test>
<!-- Set the embolden flag -->
<edit name="embolden" mode="assign">
<bool>true</bool>
</edit>
<!-- pretend the font is bold now -->
<edit name="weight" mode="assign">
<const>bold</const>
</edit>
</match>
<match target="pattern">
<test name="family">
<string>Lucida Grande</string>
</test>
<test name="pixelsize" compare="eq">
<double>9</double>
</test>
<edit name="family" mode="prepend" binding="same">
<string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Consolas</string></test>
<edit name="family" mode="assign" binding="same"><string>Courier New</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Segoe UI</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Roboto</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Noto Sans</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Helvetica</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Helvetica Neue</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>"Helvetica Neue"</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>proxima-nova</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>"proxima-nova"</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Source Code Pro</string></test>
<edit name="family" mode="assign" binding="same"><string>Courier New</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>sans-serif</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Roboto Mono</string></test>
<edit name="family" mode="assign" binding="same"><string>Courier New</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Roboto</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>RobotoDraft</string></test>
<edit name="family" mode="assign" binding="same"><string>Arial</string>
</edit>
</match>
<!-- These full hinted fonts should use slight hinting below 12 px -->
<match target="font">
<test name="family">
<string>Arial Black</string>
</test>
<test name="pixelsize" compare="less">
<double>12</double>
</test>
<edit name="hintstyle" mode="assign">
<const>hintslight</const>
</edit>
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
</match>
<!-- Inconsolata-Bold.otf looks like crap -->
<selectfont>
<rejectfont>
<pattern>
<patelt name="family" >
<string>Inconsolata</string>
</patelt>
<patelt name="weight" >
<const>bold</const>
</patelt>
</pattern>
</rejectfont>
</selectfont>
</fontconfig>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment