Oxygen as default font

Sebastian Kügler sebas at kde.org
Wed Mar 5 12:36:33 UTC 2014


Hey,

I've been trying to change our default font to Oxygen, with some mixed success 
so far. Let me explain a bit: There's two components to this, we need to set 
the default font to Oxygen, and we need to install the Oxygen font.

Default Setting

The easiest way to do this is to write out a kdeglobals config file if it 
doesn't exist and put the font settings in there. I've looked through all the 
magic that happens from startkde (kstartupconfig, kcminit), and initially 
tried to use that. It doesn't really fix the problem however, since what we 
need is the fonts defined in kdeglobals, which is the only thing to be picked 
up by the frameworksintegration plugin. I think that's completely fine, it 
even makes it quite easy to achieve a default font setting: Just writing out a 
kdeglobals file is enough -- if you have the font installed.

Font Installation

So I've moved the latest version of the Oxygen font into the kde-workspace 
repository, and am installing it under 
${CMAKE_INSTALL_PREFIX}/share/fonts/oxygen. There, it's not automatically 
picked up by fontconfig, though. This means, installing it to a non-/usr 
prefix will likely mean the font is never going to be found for the user. 
There's a trick to fix this: fonts are picked up from XDG_DATA_HOME/fonts and 
~/.fonts/ by default on most systems. So what I'm doing now is symlining the 
Oxygen font (conditionally) in one of those dirs (~/.fonts/ if XDG_DATA_HOME 
isn't set).

I don't have it fully working, but so far my progress on this. I expect to 
have a fully working version shortly.

One final remark: On my Debian system, defaulting to Oxygen makes a *huge* 
difference. It seems that the default font's metrics are so utterly broken 
that sizing of many elements is screwed up for the default font. Using Oxygen 
makes it all look rather slick.

Cheers,
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9


More information about the Plasma-devel mailing list