You are not logged in.

#1 2008-04-02 21:53:28

paramthegreat
Member
Registered: 2006-06-27
Posts: 38

Proggy & Terminus font rendering problem

Hi Guys,

I use Eclipse for Java programming all day long both on windows (remote office machine) and on linux (my archlinux box). I use ProggyFont (TTF) on windows and the rendering is excellent. However, on linux, the rendering is abysmal especially with bold keywords.

Here is the screenshot on window, notice that the bold keywords are perfectly legible.

proggy_windows.png

Now screenshot on linux, with hinting turned off for proggy font. Notice how the bold keywords look horrible!!

proggy_linux_nohinting.png

with hinting turned on, there is nasty colored fringe all around the font

proggy_linux_hinting.png

to put things into prospective, this is a screenshot of terminus-12 (psuedo-TTF) with hinting turned off. notice everything is clear. its unfortunate that i cannot use terminus because the font is so huge at 10,11,12 and really tiny at 9.

terminus_linux_nohinting.png

This is my fonts.conf file. I would really appreciate it if someone could give me some ideas

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <!--
        Alias well known font names to available TrueType fonts.
        These substitute TrueType faces for similar Type1
        faces to improve screen appearance.
    -->
    <match target="pattern" name="family">
        <test qual="any" name="family"><string>Helvetica</string></test>
        <edit name="family" mode="assign"><string>sans-serif</string></edit>
    </match>

    <match target="pattern" name="family">
        <test qual="any" name="family"><string>Lucida</string></test>
        <edit name="family" mode="assign"><string>sans-serif</string>
        </edit>
    </match>


    <match target="pattern" name="family">
        <test qual="any" name="family"><string>Times</string></test>
        <edit name="family" mode="assign"><string>sans-serif</string></edit>
    </match>

    <match target="pattern" name="family">
        <test qual="any" name="family"><string>Courier</string></test>
        <edit name="family" mode="assign"><string>monospace</string></edit>
    </match>

    <match target="pattern" name="family">
        <test qual="any" name="family"><string>Courier New</string></test>
        <edit name="family" mode="assign"><string>monospace</string></edit>
    </match>

    <match target="pattern" name="family">
        <test qual="any" name="family"><string>helvetica</string></test>
        <edit name="family" mode="assign"><string>sans-serif</string></edit>
    </match>

    <match target="pattern" name="family">
        <test qual="any" name="family"><string>fixed</string></test>
        <edit name="family" mode="assign"><string>monospace</string></edit>
    </match>

    <match target="pattern" name="family">
        <test qual="any" name="family"><string>lucida</string></test>
        <edit name="family" mode="assign"><string>sans-serif</string></edit>
    </match>


    <match target="pattern" name="family">
        <test qual="any" name="family"><string>times</string></test>
        <edit name="family" mode="assign"><string>sans-serif</string></edit>
    </match>

    <match target="pattern" name="family">
        <test qual="any" name="family"><string>courier</string></test>
        <edit name="family" mode="assign"><string>monospace</string></edit>
    </match>

    <match target="pattern" name="family">
        <test qual="any" name="family"><string>courier new</string></test>
        <edit name="family" mode="assign"><string>monospace</string></edit>
    </match>

    <!--
        Provide required aliases for standard names
        Do these after the users configuration file so that
        any aliases there are used preferentially
    -->
    <alias>
        <family>serif</family>
        <prefer><family>DejaVu Sans</family></prefer>
    </alias>

    <alias>
        <family>sans-serif</family>
        <prefer><family>DejaVu Sans</family></prefer>
    </alias>

    <alias>
        <family>monospace</family>
        <prefer><family>DejaVu Sans Mono</family></prefer>
    </alias>

    <!--
        Font rendering and sub-pixel hinting stuff
    -->
    <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>hintmedium</const></edit>
    </match>

    <match target="pattern">
        <test compare="more" name="weight"><const>medium</const></test>
        <edit mode="assign" name="autohint"><bool>false</bool></edit>
    </match>

    <match target="font">
        <test name="family" qual="any"><string>DejaVu Sans Mono</string></test>
        <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>
    </match>

    <match target="font">
        <test name="family" qual="any" ><string>ProggyCleanTTSZ</string></test>
        <edit mode="assign" name="autohint"><bool>true</bool></edit>
        <edit mode="assign" name="antialias"><bool>true</bool></edit>
    </match>

    <match target="font">
        <test name="family" qual="any"><string>Terminus</string></test>
        <edit mode="assign" name="autohint"><bool>false</bool></edit>
        <edit mode="assign" name="antialias"><bool>false</bool></edit>
    </match>
</fontconfig>

This problem with ProggyFont is happening in all GTK-2 applications as well, so its not a java/eclipse issue. Maybe I could tweak my fonts.conf file and get better result.

Last edited by paramthegreat (2008-04-02 21:55:21)

Offline

#2 2008-04-02 22:47:35

brebs
Member
Registered: 2007-04-03
Posts: 3,742

Re: Proggy & Terminus font rendering problem

Install cairo-ubuntu, for better font hinting.

But, for this particular font, see blog:

    <match name="family" target="pattern">
        <test name="family" qual="any"><string>ProggyCleanTTSZ</string></test>
        <edit name="pixelsize"><double>16</double></edit>
        <edit name="autohint" mode="assign"><bool>false</bool></edit>
        <edit name="antialias" mode="assign"><bool>false</bool></edit>
        <edit name="hinting" mode="assign"><bool>false</bool></edit>
        <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
    </match>

Offline

#3 2008-04-03 01:17:32

paramthegreat
Member
Registered: 2006-06-27
Posts: 38

Re: Proggy & Terminus font rendering problem

I've been using *-ubuntu for sometime now and my font rendering in general is quite good. but i simply cannot get ProggyFont to render properly.  The settings suggested below do not seem to change anything, my bold fonts are still ugly. Maybe its simply the font.

brebs wrote:

Install cairo-ubuntu, for better font hinting.

But, for this particular font, see blog:

    <match name="family" target="pattern">
        <test name="family" qual="any"><string>ProggyCleanTTSZ</string></test>
        <edit name="pixelsize"><double>16</double></edit>
        <edit name="autohint" mode="assign"><bool>false</bool></edit>
        <edit name="antialias" mode="assign"><bool>false</bool></edit>
        <edit name="hinting" mode="assign"><bool>false</bool></edit>
        <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
    </match>

Offline

#4 2008-04-03 01:31:04

brebs
Member
Registered: 2007-04-03
Posts: 3,742

Re: Proggy & Terminus font rendering problem

It works for me.

Dunno how pretty you want the bold ones to look. How about changing them to a different font:

    <match name="family" target="pattern">
        <test name="family" qual="any" compare="eq"><string>ProggyCleanTTSZ</string></test>
        <test name="weight" compare="more"><const>medium</const></test>
        <edit name="family" mode="assign"><string>Bitstream Vera Sans Mono</string></edit>
        <edit name="pixelsize"><double>10</double></edit>
    </match>

Edit: Added compare="eq"

Last edited by brebs (2008-04-14 10:44:43)

Offline

#5 2008-04-03 02:54:12

paramthegreat
Member
Registered: 2006-06-27
Posts: 38

Re: Proggy & Terminus font rendering problem

thanx brebs.

i might try using a separate bold font. i am trying to get the bold fonts to look as nice as they do in windows as possible. i mean the whole point of using ProggyFont is to reduce the strain on my eyes by eliminating need for subpixel hinting and the accompanying fuzziness.


brebs wrote:

It works for me.

Dunno how pretty you want the bold ones to look. How about changing them to a different font:

    <match name="family" target="pattern">
        <test name="family" qual="any"><string>ProggyCleanTTSZ</string></test>
        <test name="weight" compare="more"><const>medium</const></test>
        <edit name="family" mode="assign"><string>Bitstream Vera Sans Mono</string></edit>
        <edit name="pixelsize"><double>10</double></edit>
    </match>

Offline

#6 2008-04-14 10:46:13

brebs
Member
Registered: 2007-04-03
Posts: 3,742

Re: Proggy & Terminus font rendering problem

I now get this bizarre error: hmm

Fontconfig warning: "~/.fonts.conf", line 138: saw number, expected string

Edit: Ignore me. Fontconfig is lying about which line has an error. It doesn't seem to be parsing my commented-out code blocks very well hmm

Last edited by brebs (2008-04-14 16:14:12)

Offline

#7 2008-04-14 15:17:57

thayer
Fellow
From: Vancouver, BC
Registered: 2007-05-20
Posts: 1,560
Website

Re: Proggy & Terminus font rendering problem

brebs wrote:

I now get this bizarre error: hmm

Fontconfig warning: "~/.fonts.conf", line 138: saw number, expected string

I'd have a look at line 138 for anything unusual in the syntax... if you post your config again I''ll have a look at it too.


thayer williams ~ cinderwick.ca

Offline

Board footer

Powered by FluxBB