Red Hat Bugzilla – Bug 365941
big fonts at 96dpi
Last modified: 2007-11-30 17:12:21 EST
Description of problem:
This is strange bug I'm filing.
M$ fonts at 96 dpi aren't so huge as DejaVu Sans.
Version-Release number of selected component (if applicable):
Always, mostly in Fedora.
NOTABUG, DejaVu never promised to keep the same metrics as Microsoft fonts, it's
not intended as a clone and has its own style
You want a metrically identical font to MS fonts look at liberation
I'm talking about height!
DejaVu @ 96dpi are huge. Very huge.
Mangling with DejaVu Fonts metrics won't be done. It's fairly easy to do it
yourself if you really want it, but changing it ourselves would make a lot of
It was a design decision made by the people at Bitstream to use more vertical
space for the letters themselves in Vera. And that's all which it is: a design
decision. Investigate more fonts and you'll notice that there's a lot of
variation varying from what you call "huge" to tiny, in the sense that you can
only read it at 96 dpi when you select font sizes of over 30 points (try some
The MS fonts are used a lot, but it's not like they set a default for all
other fonts to follow. The MS fonts vary themselves anyway. Vera was tailored
for screen use, so it only makes sense to use as much space available for the
letters to make it as readable as possible. Making it perhaps "huge" compared
to some other MS fonts (and that's relative, DejaVu and Arial vary less than
Times New Roman and Arial do), but this is not an issue which should
be "fixed" in the fonts in any way.
To complete this:
1. On different font metrics:
Write a page of text, print it in Arial 12pt, DejaVu 12 pt and every other font
you have available. You'll find they all have slightly different metrics
(sizes). Even past (Arial) and present (Vista) Microsoft fonts. That's normal
and NOTABUG: different font designers make different choices, modern fonts tend
to be fatter rounder than old fonts because that works better on low resolution
computer screens (old fonts where optimized for paper media). Additionally
modern fonts tend to have more space between lines, because font designers
figured they could not fit all the diacritics (accents) many languages (but nor
English) use otherwise.
This effect could probably be minimized if Fedora font libs supported the BASE
opentype feature. So if you care about this ask your favorite pango or qt
developper to support this feature.
As a rule two different fonts do not have the same metrics, except when they're
explicitely designed as clones (like Liberation).
2. On GNOME font sizes.
A screen is composed of pixels. To size fonts on screen font libs need to know
the hardware screen density (number of pixels per inch), so sizes in global
units (points) can be converted in sizes in local units (pixels). Local because
every screen does not have the same pixel density.
This is usually done using the DPI ratio, that Xorg computes from screen
physical size and resolution (in pixels).
Once upon a time GNOME maintainers noticed Xfree86/Xorg were misdetecting screen
physical sizes and producing bogus DPI values. Instead of fixing screen physical
size autodetection, or helping the user tell X what the real screen size was,
they decided it was smarter to assume every screen was a 96dpi one.
As that was not true then and is even less true today (with low-resolution
widescreen TVs maskerading as computer screens, and high 120+ dpi screens
getting on the market now) GNOME font sizes have been bogus for some years (too
big or too small depending on the user hardware).
Finally GNOME came to its sense and in F8+ it does not force 96dpi anymore. That
means any GNOME user will see its font sizes change (revert to the real value in
Fedora 8). If that is your case compare your screen font sizes to the paper text
you printed: if they're identical your hardware is correctly calibrated. If not
either your Xorg is mis-configured or you're forcing in GNOME a false DPI value.
12pt is big. 12pt is big enough to be considered a comfortable reading size even
for old people with bad eyes, and big enough to be the minimal font size one can
use in powerpoint slides. If you've been used to consider in a past
misconfigured GNOME 12pt is small, welcome to the real world.
Again NOTABUG (or if you prefer, a bug in past GNOME versions when it forced
96dpi everywhere and distorted font sizes). People blamed font designers when
GNOME started playing font size roulette, and they're blaming font designers
when GNOME changed font sizes again to stop the debacle. If you have a problem
with this change report it GNOME-side.
Ok, so this is not a bug... But how to revert to old GNOME font rendering?
You don't. You had a bug on your system where GNOME produced small fonts when
asked for big fonts. Now when GNOME is asked for big fonts it produces big
fonts. If you want small fonts you only have to ask it for small fonts (reduce
their size in pt/points).
You can always check what a font size in points means by printing text that uses
this font size. Unlike past GNOME HP, Lexmark, Epson, Brother etc have always
respected the standard font units, and agreed on their meaning.
But 9px/pt @ actuall 96dpi isn't 10px/pt @ old 96dpi.
Their look different.
px≠pt see http://www.sibagraphics.com/font.php
If a font has the same size on screen as printed your system is working fine.
If a font has a different size the bug is either at xorg or GNOME layer, you can
check with a KDE app if the GNOME part is the wrong one.
You can usually select decimal point sizes such as 9.6 if for some strange
reason 9pt is too small and 10pt too big for you