Font problem

I use suse 11.0 with kde 4.1.3 I don’t know how it happened but all fonts in suse have become small, some appear italic and unreadable and ugly. Changing font options from personal settings does not have any effect. Also when everything was normal and default fonts were present, still my firefox fonts were ugly that time. I really love windows fonts. Can anyone help me here? This has started to get really annoying.:frowning:

Sorry to hear that after all this time KDE4.x still manages to daily invent original new ways of screwing up our computers… I hope someone who actually uses it can help you out…

Exactly, when I solve one problem that I have, 2 more come up… still I will not give up. Hope someone here can help me out.

It appears that when I tried to install windows fonts (Just created a folder in usr/share/fonts/ then copied fonts there.)and when I selected them through personal settings, my default san serif appears to be broken.(It remains italic in both italic and general settings). From where I can download or restore suse 11 default san serif?

bump bump :(:frowning:

I am did not use KDE… so this is not an primary answer at your question…

I have some experiments vs fonts… I was need custom font in my work… so I found that most likely (for me) place to have local fonts is


The best application to customise fonts is - fontmatrix…

I am sure KDE have some settings… in some local directory as .kde


I am not making so… but maybe this can fix… you should log in other WM or in terminal…

init 3 #should help

>cd $HOME
mv .kde .kde.old

init 5

#if something goes wrong move your kde dir back vs

>mv .kde.old .kde

hope this will be helpfull

moving .kde did not help.:frowning: Thanks for your reply though

Does any one know how to restore? Please fonts appear weird and hard to read. I guess I have to reinstall :(:frowning:

Maybe you can try to reinstall these packages:

Just do
$sudo zypper install -f fonts xorg-x11-fonts liberation-fonts
in a console

Follow procedures here for optimising fonts.

Optimal Use of MS TrueType Core Fonts for a KDE Desktop on SuSE - openSUSE

I changed most of the font settings to verdana and tahoma. Now icon text start menu text appears ok. The main problem is that the default applications with root permissions such as konqueror in super user mode, Yast, menubar text in amarok etc. always uses default sans serif which is broken in my suse. (It always appears italic no matter what the setting is)
Is there any way to remove my current sans serif and then install default sans serif of suse again? :’(:’(

Log into your root account and set the font styles to the same as your user account.

Also did you follow the procedure for setting of GTK2 app’s running in KDE?

I logged into root account and changed font settings to match my current settings. It solved my konqueror in sudo mode font problem :slight_smile:
Then I did as exactly told in that article. Installed that control-center etc. and changed my fonts for gnome apps to the current set I am using. Still menu bar in kaffeine, amarok is still in that broken sans serif. Also all icon text in yast is also broken…:frowning:
Thanks for your reply though. What I can do now??:expressionless:

Here is my font.conf located in /etc/fonts

<?xml version=“1.0”?>
<!DOCTYPE fontconfig SYSTEM “fonts.dtd”>
<!-- /etc/fonts/fonts.conf file to configure system font access →


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

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

<!-- Font directory list →

<dir>/usr/X11R6/lib/X11/fonts</dir> <dir>/opt/kde3/share/fonts</dir> <dir>/usr/local/share/fonts</dir>

<!-- Font cache directory list →


Accept deprecated ‘mono’ alias, replacing it with ‘monospace’

<match target=“pattern”>
<test qual=“any” name=“family”>
<edit name=“family” mode=“assign”>

Accept alternate ‘sans serif’ spelling, replacing it with ‘sans-serif’

<match target=“pattern”>
<test qual=“any” name=“family”>
<string>sans serif</string>
<edit name=“family” mode=“assign”>

Accept deprecated ‘sans’ alias, replacing it with ‘sans-serif’

<match target=“pattern”>
<test qual=“any” name=“family”>
<edit name=“family” mode=“assign”>

Load local system customization file

<include ignore_missing=“yes”>conf.d</include>

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

<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 →
Rescan configuration every 30 seconds when FcFontSetList is called



Is there anything wrong in here??

Here is my fonts.dtd

<!-- This is the Document Type Definition for font configuration files -->
<!ELEMENT fontconfig (dir | 
		      cache | 
		      cachedir |
		      include | 
		      config |
		      selectfont |
		      match | 
		      alias)* >

    Add a directory that provides fonts
<!ATTLIST dir xml:space (default|preserve) 'preserve'>

    Define the per-user file that holds cache font information.

    If the filename begins with '~', it is replaced with the users
    home directory path.
<!ELEMENT cache (#PCDATA)>
<!ATTLIST cache xml:space (default|preserve) 'preserve'>

    Add a directory that is searched for font cache files.
    These hold per-directory cache data and are searched in
    order for each directory. When writing cache files, the first
    directory which allows the cache file to be created is used.

    A leading '~' in a directory name is replaced with the users
    home directory path.
<!ELEMENT cachedir (#PCDATA)>
<!ATTLIST cachedir xml:space (default|preserve) 'preserve'>

    Reference another configuration file; note that this
    is another complete font configuration file and not
    just a file included by the XML parser.

    Set 'ignore_missing' to 'yes' if errors are to be ignored.

    If the filename begins with '~', it is replaced with the users
    home directory path.
<!ELEMENT include (#PCDATA)>
<!ATTLIST include
	  ignore_missing    (no|yes)		"no"
	  xml:space	    (default|preserve)	"preserve">

    Global library configuration data
<!ELEMENT config (blank|rescan)*>

    Specify the set of Unicode encoding values which
    represent glyphs that are allowed to contain no
    data.  With this list, fontconfig can examine
    fonts for broken glyphs and eliminate them from
    the set of valid Unicode chars.  This idea
    was borrowed from Mozilla
<!ELEMENT blank (int)*>

    Aliases are just a special case for multiple match elements

    They are syntactically equivalent to:

	<test name="family">
	    <string value=[family]/>
	<edit name="family" mode="prepend">
	    <string value=[prefer]/>
	<edit name="family" mode="append">
	    <string value=[accept]/>
	<edit name="family" mode="append_last">
	    <string value=[default]/>
    Periodically rescan the font configuration and
    directories to synch internal state with filesystem
<!ELEMENT rescan (int)>

    Edit list of available fonts at startup/reload time
<!ELEMENT selectfont (rejectfont | acceptfont)* >

<!ELEMENT rejectfont (glob | pattern)*>

<!ELEMENT acceptfont (glob | pattern)*>


<!ELEMENT pattern (patelt)*>

<!ENTITY % constant 'int|double|string|matrix|bool|charset|const'>

<!ELEMENT patelt (%constant;)*>
<!ATTLIST patelt

<!ELEMENT alias (family*, prefer?, accept?, default?)>
<!ELEMENT prefer (family)*>
<!ELEMENT accept (family)*>
<!ELEMENT default (family)*>
<!ELEMENT family (#PCDATA)>
<!ATTLIST family xml:space (default|preserve) 'preserve'>

<!ENTITY % expr 'int|double|string|matrix|bool|charset

    Match and edit patterns.

    If 'target' is 'pattern', execute the match before selecting a font.
    if 'target' is 'font', execute the match on the result of a font
<!ELEMENT match (test*, edit*)>
<!ATTLIST match
	  target (pattern|font|scan) "pattern">

    Match a field in a pattern

    if 'qual' is 'any', then the match succeeds if any value in the field matches.
    if 'qual' is 'all', then the match succeeds only if all values match.
    if 'qual' is 'first', then the match succeeds only if the first value matches.
    if 'qual' is 'not_first', then the match succeeds only if any value other than
    	the first matches.
    For match elements with target=font, if test 'target' is 'pattern',
    then the test is applied to the pattern used in matching rather than
    to the resulting font.

    Match elements with target=scan are applied as fonts are scanned.
    They edit the pattern generated from the scanned font and affect
    what the fontconfig database contains.
<!ELEMENT test (%expr;)*>
<!ATTLIST test 
	  qual (any|all|first|not_first)    "any"
	  name CDATA	    #REQUIRED
	  target (pattern|font|default)		"default"
	  compare (eq|not_eq|less|less_eq|more|more_eq|contains|not_contains)	"eq">

    Edit a field in a pattern

    The enclosed values are used together to edit the list of values
    associated with 'name'.

    If 'name' matches one of those used in a test element for this match element:
	if 'mode' is 'assign', replace the matched value.
	if 'mode' is 'assign_replace', replace all of the values
	if 'mode' is 'prepend', insert before the matched value
	if 'mode' is 'append', insert after the matched value
	if 'mode' is 'prepend_first', insert before all of the values
	if 'mode' is 'append_last', insert after all of the values
    If 'name' doesn't match any of those used in a test element:
	if 'mode' is 'assign' or 'assign_replace, replace all of the values
	if 'mode' is 'prepend' or 'prepend_first', insert before all of the values
	if 'mode' is 'append' or 'append_last', insert after all of the values
<!ELEMENT edit (%expr;)*>
<!ATTLIST edit
	  name CDATA	    #REQUIRED
	  mode (assign|assign_replace|prepend|append|prepend_first|append_last) "assign"
	  binding (weak|strong|same) "weak">

    Elements of expressions follow
<!ATTLIST int xml:space (default|preserve) 'preserve'>
<!ELEMENT double (#PCDATA)>
<!ATTLIST double xml:space (default|preserve) 'preserve'>
<!ELEMENT string (#PCDATA)>
<!ATTLIST string xml:space (default|preserve) 'preserve'>
<!ELEMENT matrix (double,double,double,double)>
<!ELEMENT charset (#PCDATA)>
<!ATTLIST charset xml:space (default|preserve) 'preserve'>
<!ATTLIST name xml:space (default|preserve) 'preserve'>
<!ELEMENT const (#PCDATA)>
<!ATTLIST const xml:space (default|preserve) 'preserve'>
<!ELEMENT or (%expr;)*>
<!ELEMENT and (%expr;)*>
<!ELEMENT eq ((%expr;), (%expr;))>
<!ELEMENT not_eq ((%expr;), (%expr;))>
<!ELEMENT less ((%expr;), (%expr;))>
<!ELEMENT less_eq ((%expr;), (%expr;))>
<!ELEMENT more ((%expr;), (%expr;))>
<!ELEMENT more_eq ((%expr;), (%expr;))>
<!ELEMENT contains ((%expr;), (%expr;))>
<!ELEMENT not_contains ((%expr;), (%expr;))>
<!ELEMENT plus (%expr;)*>
<!ELEMENT minus (%expr;)*>
<!ELEMENT times (%expr;)*>
<!ELEMENT divide (%expr;)*>
<!ELEMENT not (%expr;)>
<!ELEMENT if ((%expr;), (%expr;), (%expr;))>
<!ELEMENT floor (%expr;)>
<!ELEMENT ceil (%expr;)>
<!ELEMENT round (%expr;)>
<!ELEMENT trunc (%expr;)>

Is there anything wrong in here??

You probably just need to run fonts-config and fc-cache. Have a look at
the man pages, fonts-config needs to be runs with sudo.

Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.0 x86 Kernel
up 9:37, 2 users, load average: 0.02, 0.12, 0.19
GPU GeForce 6600 TE/6200 TE - Driver Version: 177.82

Sorry, can you please give me in detail what I should do and how? I am a beginner.

Go to KDE Control Center->“Appearance & Themes”->“GTK Styles and Fonts”, and change fonts here.


Set the fonts in your application.

In Amarok click on Settings > Configure Amarok > Appearance . Check the use custom fonts check box and select an alternative font.

Many commands have man(ual) pages so you can see what it does etc. In
this case to view the man pages;

man fonts-config
man fc-cache

I suggest running the config and rebuild the cache is if you add
fonts this is a good idea :slight_smile: As fonts-config is part of the SuSEconfig
run when you install rpms it needs to run as root user, you could use
either commands, just the fonts one will do just that.

sudo /sbin/SuSEconfig

The fc-cache program will work for your user.


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.0 x86 Kernel
up 11:53, 1 user, load average: 0.13, 0.22, 0.19
GPU GeForce 6600 TE/6200 TE - Driver Version: 177.82

I have done that already. It does not change menubar text appearance.