Jump to content

Autohinting, subpixel rendering, bytecode....


Anshul
 Share

Recommended Posts

Hi all,

I'm running Mandriva 2007.1 GNOME edition from the Mandriva One CD. I came back to Mandriva....distro hopping from Ubuntu, Mint and lastly PCLinuxOS. The reason being...I wanted to stick with a base distro than a tweaked one...and Mandriva was my preferred distro. However, there is one problem that I'm unable to get by! This is related to the rendering of fonts on Mandriva. There is the freetype rpm on Cooker and PLF, where you can enable bytecode interpreter by modifying the spec file, compiling it with rpmbuild and creating a new rpm. Now I did all that using on PCLOS (as they are similar in a lot of respects) using this guide...http://jrandomhacker.info/PCLinuxOS/troubleshooting#fix_freetype2. I would assume this works for Mandriva too.

 

However, it does not work. The fonts look terribly thin and really bad compared to the BCI enabled packages available on Ubuntu and PCLinuxOS. I also modified my fonts.conf file to enable autohinting and anti-aliasing. I'm running an nvidia graphics card, FX5200 and set the dpi to 96x96 iin the xorf.conf file. Attached is the fonts.conf file...can please someone help? :)

 

 

-Anshul

 

----Fonts.conf starts---------------------------------------------------------------------------

 

<?xml version="1.0"?>

<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<!-- /etc/fonts/fonts.conf file to configure system font access -->

<fontconfig>

 

<!--

DO NOT EDIT THIS FILE.

IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.

LOCAL CHANGES BELONG IN 'local.conf'.

 

The intent of this standard configuration file is to be adequate for

most environments. If you have a reasonably normal environment and

have found problems with this configuration, they are probably

things that others will also want fixed. Please submit any

problems to the fontconfig bugzilla system located at fontconfig.org

 

Note that the normal 'make install' procedure for fontconfig is to

replace any existing fonts.conf file with the new version. Place

any local customizations in local.conf which this file references.

 

Keith Packard

-->

 

<!-- Enable sub-pixel rendering -->

 

 

<match target="font">

<test qual="all" name="rgba">

<const>unknown</const>

</test>

<edit name="rgba" mode="assign"><const>rgb</const></edit>

</match>

 

 

 

<!-- Use the Autohinter -->

 

<match target="font">

<edit name="autohint" mode="assign"><bool>true</bool></edit>

</match>

 

<!-- Disable Autohinting for bold fonts -->

 

<match target="font">

<test name="weight" compare="more">

<const>medium</const>

</test>

<edit name="autohint" mode="assign"><bool>false</bool></edit>

</match>

 

<!-- Exclude/Include a range of fonts for Anti Aliasing -->

 

<!--

 

<match target="font">

<test qual="any" name="size" compare="more">

<double>9</double>

</test>

<test qual="any" name="size" compare="less">

<double>14</double>

</test>

<edit name="antialias" mode="assign">

<bool>true</bool>

</edit>

</match>

 

-->

 

 

<!-- And/Or disable Anti Aliasing for a range on pixel-based size.

Disabling this using both methods seems to fix Firefox. -->

 

<!--

 

<match target="font">

<test compare="less" name="pixelsize" qual="any">

<double>20</double>

</test>

<edit mode="assign" name="antialias">

<bool>false</bool>

</edit>

</match>

 

-->

 

 

<dir>/home/david/extrafonts</dir>

 

 

<!-- Info at http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts -->

 

<!-- Replace Courier with a better-looking font -->

<match target="pattern" name="family">

<test name="family" qual="any">

<string>Courier</string>

</test>

<edit name="family" mode="assign">

<!-- Other choices - Courier New, Luxi Mono -->

<string>Bitstream Vera Sans Mono</string>

</edit>

</match>

 

<match target="font">

<edit name="rgba" mode="assign">

<const>rgb</const>

</edit>

<edit name="autohint" mode="assign">

<bool>true</bool>

</edit>

<edit name="antialias" mode="assign">

<bool>true</bool>

</edit>

<edit name="hinting" mode="assign">

<bool>true</bool>

</edit>

<edit name="hintstyle" mode="assign">

<const>hintmedium</const>

</edit>

</match>

 

<!-- Disable autohint for bold fonts, otherwise they look *too* bold -->

<match target="font">

<test name="weight" compare="more">

<const>medium</const>

</test>

<edit name="autohint" mode="assign">

<bool>false</bool>

</edit>

</match>

 

<!-- Reject bitmap fonts in favour of Truetype, Postscript, etc. -->

<selectfont>

<rejectfont>

<pattern>

<patelt name="scalable">

<bool>false</bool>

</patelt>

</pattern>

</rejectfont>

</selectfont>

 

<!-- Font directory list -->

 

<dir>/usr/share/fonts</dir>

<dir>/usr/share/X11/fonts</dir> <dir>/usr/local/share/fonts</dir>

<dir>~/.fonts</dir>

 

<!-- Font cache directory list -->

 

<cachedir>/var/cache/fontconfig</cachedir>

<cachedir>~/.fontconfig</cachedir>

 

<!--

Accept deprecated 'mono' alias, replacing it with 'monospace'

-->

<match target="pattern">

<test qual="any" name="family">

<string>mono</string>

</test>

<edit name="family" mode="assign">

<string>monospace</string>

</edit>

</match>

 

<!--

Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'

-->

<match target="pattern">

<test qual="any" name="family">

<string>sans serif</string>

</test>

<edit name="family" mode="assign">

<string>sans-serif</string>

</edit>

</match>

 

<!--

Accept deprecated 'sans' alias, replacing it with 'sans-serif'

-->

<match target="pattern">

<test qual="any" name="family">

<string>sans</string>

</test>

<edit name="family" mode="assign">

<string>sans-serif</string>

</edit>

</match>

 

<!--

Load local system customization file

-->

<include ignore_missing="yes">conf.d</include>

 

<config>

<!--

These are the default Unicode chars that are expected to be blank

in fonts. All other blank chars are assumed to be broken and

won't appear in the resulting charsets

-->

<blank>

<int>0x0020</int> <!-- SPACE -->

<int>0x00A0</int> <!-- NO-BREAK SPACE -->

<int>0x00AD</int> <!-- SOFT HYPHEN -->

<int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->

<int>0x0600</int> <!-- ARABIC NUMBER SIGN -->

<int>0x0601</int> <!-- ARABIC SIGN SANAH -->

<int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->

<int>0x0603</int> <!-- ARABIC SIGN SAFHA -->

<int>0x06DD</int> <!-- ARABIC END OF AYAH -->

<int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->

<int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->

<int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->

<int>0x1680</int> <!-- OGHAM SPACE MARK -->

<int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->

<int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->

<int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->

<int>0x2000</int> <!-- EN QUAD -->

<int>0x2001</int> <!-- EM QUAD -->

<int>0x2002</int> <!-- EN SPACE -->

<int>0x2003</int> <!-- EM SPACE -->

<int>0x2004</int> <!-- THREE-PER-EM SPACE -->

<int>0x2005</int> <!-- FOUR-PER-EM SPACE -->

<int>0x2006</int> <!-- SIX-PER-EM SPACE -->

<int>0x2007</int> <!-- FIGURE SPACE -->

<int>0x2008</int> <!-- PUNCTUATION SPACE -->

<int>0x2009</int> <!-- THIN SPACE -->

<int>0x200A</int> <!-- HAIR SPACE -->

<int>0x200B</int> <!-- ZERO WIDTH SPACE -->

<int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->

<int>0x200D</int> <!-- ZERO WIDTH JOINER -->

<int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->

<int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->

<int>0x2028</int> <!-- LINE SEPARATOR -->

<int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->

<int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->

<int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->

<int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->

<int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->

<int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->

<int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->

<int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->

<int>0x2060</int> <!-- WORD JOINER -->

<int>0x2061</int> <!-- FUNCTION APPLICATION -->

<int>0x2062</int> <!-- INVISIBLE TIMES -->

<int>0x2063</int> <!-- INVISIBLE SEPARATOR -->

<int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->

<int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->

<int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->

<int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->

<int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->

<int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->

<int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->

<int>0x3164</int> <!-- HANGUL FILLER -->

<int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->

<int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->

<int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->

<int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->

<int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->

</blank>

<!--

Rescan configuration every 30 seconds when FcFontSetList is called

-->

<rescan>

<int>30</int>

</rescan>

</config>

 

</fontconfig>

Link to comment
Share on other sites

As suggested by ffi, before you try to enable the bytecode interpreter, try the easier task of adjusting font settings from the GUI.

 

On my Mandriva 2005 system:

 

KDE Control Center

Appearance & Themes

Fonts

Configure

 

I use Bitstream Vera Sans and it looks pretty good to me B)

Edited by daniewicz
Link to comment
Share on other sites

I'm using GNOME...doesn't work :)

To configure GNOME font properties, run gnome-font-properties from terminal. Also, you might need to try using other fonts and/or adgust dpi settings, e.g. by starting Xserver with the option -dpi. The font problem could be related to how the monitor displays text, rafter all the graphics card or Gnome/KDE only serve signals to the monitor. Make sure that monitor settings in xorg.conf are correct for your screen. If you can, try another monitor too.

Link to comment
Share on other sites

You either get the bytecode interpreter or the autohinter, can't have both. Make sure your freetype is built with the bytecode interpreter, and *disable* the autohinter. Might need to set hinting to full in gui/config.

 

Also, read the above config, it states clearly not to touch /etc/fonts/fonts.conf, edit /etc/fonts/local.conf. If local.conf is empty, make a copy of fonts.conf.

 

 

James

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...