You are not logged in.

#1 2010-11-10 17:01:30

whitetimer
Member
Registered: 2010-05-23
Posts: 207

Openbox Antialiasing help

Hi All

I have arch 64 & openbox setup but the fonts dont look good at all ... This is my /etc/fonts/local.conf file


<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<!-- the cathectic LCD tweaks, from linuxquestions.org,
http://www.linuxquestions.org/questions … ost1361098 -->

<fontconfig>

<!-- Disable sub-pixel rendering.
X detects it anyway, and if you set this as well, it just looks really horrible -->
<match target="font" >
<edit mode="assign" name="rgba" >
<const>none</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hintstyle">
<const>hintfull</const>
</edit>
</match>

<!-- The first part of the 'magic.'
This makes the fonts start to look nice,
but some of the shapes will be distorted, so hinting is needed still -->
<match target="font" >
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>

<!-- Autohinter is not turned on automatically.
Only disable this if you have recompiled Freetype with the bytecode interpreter,
which is run automatically.<br /> -->
<match target="pattern" >
<edit mode="assign" name="autohint">
<bool>true</bool>
</edit>
</match>
<match target="font">
<test name="weight" compare="more">
<const>medium</const>
</test>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
</match>
<!-- Helvetica is a non true type font, and will look bad.
This replaces it with whatever is the default sans-serif font -->
<match target="pattern" name="family" >
<test name="family" qual="any" >
<string>Helvetica</string>
</test>
<edit mode="assign" name="family" >
<string>sans-serif</string>
</edit>
</match>
<match target="font" >
<test compare="more" name="pixelsize" qual="any" >
<double>12</double>
</test>
<edit mode="assign" name="autohint" >
<bool>true</bool>
</edit>
</match>
<match target="pattern" >
<test name="family" qual="any" >
<string>Bitstream Vera Sans</string>
</test>
<edit mode="assign" name="family" >
<string>Arial</string>
</edit>
</match>
<match target="pattern" >
<test name="family" qual="any" >
<string>Helvetica</string>
</test>
<edit mode="assign" name="family" >
<string>Arial</string>
</edit>
</match>
<match target="pattern" >
<test name="family" qual="any" >
<string>Palatino</string>
</test>
<edit mode="assign" name="family" >
<string>Georgia</string>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="rgba" >
<const>rgb</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hintstyle" >
<const>hintmedium</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
</match>
<dir>~/.fonts</dir>
</fontconfig>


Any other suggestions please ?

Many thanks

Offline

#2 2010-11-10 17:31:05

Gusar
Member
Registered: 2009-08-25
Posts: 3,605

Re: Openbox Antialiasing help

Hm, your config file is weird. It configures something one way, then later configures it another way. I would set autohint to false and hintstyle to hintfull. lcdfilter to lcdlegacy is also an important one for me. This is what I use:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/local/share/fonts</dir>

 <match target="font" >
  <edit mode="assign" name="hinting" >
   <bool>true</bool>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="hintstyle" >
   <const>hintfull</const>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="antialias" >
   <bool>true</bool>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="rgba" >
   <const>rgb</const>
  </edit>
 </match>
 <match target="pattern" >
  <test name="family" qual="any" >
   <string>Helvetica</string>
  </test>
  <edit mode="assign" name="family" >
   <string>Verdana</string>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="lcdfilter" >
   <const>lcdlegacy</const>
  </edit>
 </match>
</fontconfig>

Last edited by Gusar (2010-11-10 17:35:42)

Offline

#3 2010-11-10 22:04:14

whitetimer
Member
Registered: 2010-05-23
Posts: 207

Re: Openbox Antialiasing help

@Gusar

Thanks for the advice, i tried your file and its not really improved the quality very much ...

Many thanks

Offline

#4 2010-11-10 22:34:55

azleifel
Member
Registered: 2007-10-28
Posts: 486

Re: Openbox Antialiasing help

Font appearance is very much a personal preference and the linux user definitely has to do some work to get what they want.  Anyway, did you try the basic config from the font configuration wiki article?  I started from there, combined it with some of infinality's configuration options and ended up with:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>

    <!-- *** FONT ALIASES AND FIXES *** -->

    <!-- Fix poorly specified font family names -->
    <match target="pattern" name="family">
        <test name="family" qual="any" >
            <string>Trebuchet</string>
        </test>
        <edit binding="strong" mode="prepend" name="family" >
            <string>Trebuchet MS</string>
        </edit>
    </match>
    <match target="font" >
        <test name="family" qual="any" >
            <string>Trebuchet</string>
        </test>
        <edit mode="assign" name="family" >
            <string>Trebuchet MS</string>
        </edit>
    </match>
    
    <!-- *** FONT REPLACEMENTS *** -->

    <!-- Replace Arial with black weight with Arial Black -->
    <match target="pattern">
        <test name="family" compare="eq" target="default">
            <string>Arial</string>
        </test>
        <test compare="more" name="weight" >
            <const>bold</const>
        </test>
        <edit name="family" mode="prepend" binding="same">
            <string>Arial Black</string>
        </edit>
        <edit name="weight" mode="assign">
            <const>bold</const>
        </edit>
    </match>

    <!-- *** BASE SETTINGS *** -->

    <match target="font" >
        <edit mode="assign" name="rgba" >
            <const>rgb</const>
        </edit>
        <edit mode="assign" name="antialias" >
            <bool>true</bool>
        </edit>
        <edit mode="assign" name="autohint" >
            <bool>true</bool>
        </edit>
        <edit mode="assign" name="hintstyle" >
            <const>hintfull</const>
        </edit>
        <edit name="lcdfilter" mode="assign" >
            <const>lcddefault</const>
        </edit>
    </match>

    <!-- *** BASE VARIATIONS *** -->

    <!-- If the fontsize is small turn all hinting off
         (rm /etc/fonts/conf.d/20-unhint-small-*) -->
    <match target="font" >
        <test name="pixelsize" qual="any" compare="less" >
            <double>7.5</double>
        </test>
        <edit mode="assign" name="hinting" >
            <bool>false</bool>
        </edit>
    </match>

    <!-- If the fontsize is large turn autohinting off
         and change lcd filter to lcdlight -->
    <match target="font" >
        <test name="pixelsize" qual="any" compare="more" >
            <double>15</double>
        </test>
        <edit mode="assign" name="autohint" >
            <bool>false</bool>
        </edit>
        <edit mode="assign" name="lcdfilter" >
            <const>lcdlight</const>
        </edit>
    </match>

    <!-- If the font is bold turn autohinting off
         and change lcd filter to lcdlight -->
    <match target="font" >
        <test compare="more" name="weight" >
            <const>medium</const>
        </test>
        <edit mode="assign" name="autohint" >
            <bool>false</bool>
        </edit>
        <edit mode="assign" name="lcdfilter" >
            <const>lcdlight</const>
        </edit>
    </match>

    <!-- If the font is italic turn autohinting off
         and change lcd filter to lcdlight -->
    <match target="font" >
        <test name="slant" compare="not_eq" >
            <double>0</double>
        </test>
        <edit mode="assign" name="autohint" >
            <bool>false</bool>
        </edit>
        <edit mode="assign" name="lcdfilter" >
            <const>lcdlight</const>
        </edit>
    </match>

    <!-- *** FONT VARIATIONS *** -->

    <!-- For these fonts use slight autohinting -->
    <match target="font" >
        <test name="family" qual="any" >
            <string>Century Schoolbook L</string>
            <string>FreeSans</string>
            <string>FreeSerif</string>
            <string>FreeMono</string>
        </test>
        <edit mode="assign" name="hintstyle" >
            <const>hintslight</const>
        </edit>
    </match>

    <!-- For these fonts turn autohinting off -->
    <match target="font">
        <test name="family" qual="any" >
            <string>Bitstream Vera Sans</string>
            <string>Bitstream Vera Sans Mono</string>
            <string>Bitstream Vera Serif</string>
            <string>Consolas</string>
            <string>Constantia</string>
            <string>DejaVu Sans</string>
            <string>DejaVu Sans Mono</string>
            <string>DejaVu Serif</string>
            <string>Droid Sans Mono</string>
            <string>Droid Sans Mono Dotted</string>
            <string>Droid Sans Mono Slashed</string>
            <string>Liberation Mono</string>
            <string>Liberation Sans</string>
            <string>Liberation Serif</string>
            <string>Linux Biolinum</string>
            <string>Linux Libertine</string>
            <string>Nimbus Roman No9 L</string>
            <string>Nimbus Mono L</string>
            <string>Nimbus Sans</string>
            <string>Nimbus Sans L</string>
            <string>Trebuchet MS</string>
        </test>
        <edit mode="assign" name="autohint" >
            <bool>false</bool>
        </edit>
    </match>

    <!-- For these fonts turn all hinting off -->
    <match target="font">
        <test name="family" qual="any" >
            <string>ProFont</string>
        </test>
        <edit mode="assign" name="hinting" >
            <bool>false</bool>
        </edit>
    </match>

</fontconfig>

This gives me what I want when combined with freetype2 built with infinality's freetype-enhance-emboldening-infinality, freetype-enhance-autohint-infinality, and freetype-use-modified-gibson-filter-infinality patches.  (I don't use the freetype-add-subpixel-hinting-infinality patch because I find that it makes bold fonts far too wide.)

Offline

#5 2010-11-10 22:52:21

whitetimer
Member
Registered: 2010-05-23
Posts: 207

Re: Openbox Antialiasing help

@azleifel

I have just deleted everything from ~/.fonts.conf & /etc/fonts/local.conf and have just copied the basic font configuartion from the wiki article.

I will play around with it tomorrow ... Thanks for the advice

Offline

Board footer

Powered by FluxBB