Bug 365941 - big fonts at 96dpi
Summary: big fonts at 96dpi
Alias: None
Product: Fedora
Classification: Fedora
Component: dejavu-fonts
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Nicolas Mailhot
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2007-11-04 18:27 UTC by Jakub 'Livio' Rusinek
Modified: 2007-11-30 22:12 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2007-11-05 07:25:27 UTC

Attachments (Terms of Use)

Description Jakub 'Livio' Rusinek 2007-11-04 18:27:31 UTC
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):
Not important

How reproducible:
Always, mostly in Fedora.

Actual results:
Huge fonts.

Expected results:
Normal size.

Comment 1 Nicolas Mailhot 2007-11-04 20:41:03 UTC
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

Comment 2 Jakub 'Livio' Rusinek 2007-11-04 20:59:04 UTC
I'm talking about height!
DejaVu @ 96dpi are huge. Very huge.
Too huge.

Comment 3 Ben Laenen 2007-11-04 21:52:38 UTC
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 
people complain.

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 
calligraphy fonts).

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.

Comment 4 Nicolas Mailhot 2007-11-05 07:25:27 UTC
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.

Comment 5 Jakub 'Livio' Rusinek 2007-11-05 12:26:30 UTC
Ok, so this is not a bug... But how to revert to old GNOME font rendering?

Comment 6 Nicolas Mailhot 2007-11-05 17:39:32 UTC
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.

Comment 7 Jakub 'Livio' Rusinek 2007-11-05 18:00:37 UTC
But 9px/pt @ actuall 96dpi isn't  10px/pt @ old 96dpi.
Their look different.

Comment 8 Nicolas Mailhot 2007-11-05 19:33:09 UTC
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

Note You need to log in before you can comment on or make changes to this bug.