This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Font Settings Design

Rationale

Typically we have two different uses for font selection.

  1. The font used in the "user interface"
  2. The font used in content I'm creating

The first is a configuration option for the system itself and the second is typically offered by a specific application as a way to change the default.

In this page we'll focus on the first case - font settings that apply to the desktop.

This case can theoretically be broken down into a huge number of configuration options but GNOME currently limits this to:

  1. The default font used in applications and most user interfaces
  2. The default font for document display and creation
  3. The font used to label files in the file browser and on the desktop
  4. The font used to label windows in their titlebar
  5. The default font for fixed-width uses

In addition to these options the tool allows the user to configure or tune the rendering mechanism to the settings that she finds most appealing.

There are a few problems with this dialog as it stands. We'll try to capture some of the issues that motivated the various discussions that can be found in the "Previous Discussions and Designs" section.

Some of these problems include:

Relevent Art

GNOME 2.26

Mac OS X 10.5

OS X does not allow the user to change the user interface font faces or sizes.

Applications may offer the following dialogs to change fonts:

Windows 7

Font selection is supported in a configuration screen buried beneath an "Advanced appearance settings..." button in the Window Color and Appearance Personalization control panel.

DPI Scaling

ClearType Tuning

Others

Previous Discussions and Designs

From Owen

<owen> mccann: I think scaling the points-per-pixel ratio as the primary method of zooming is reasonable. But you cannnot, cannot, cannot tie that to the dpi of the screen. it doesn't work. You *can* do an automatic best guess selection based upon the screen resolution, reported dpi, and other factors that you know about (like "is it a laptop" "is it an external display")
<owen> If you make it really easy to change the font size, then it's incumbant to fix other scaling issues - if the fonts get more than 20-30% larger, other things will get out of whack
<owen> If you are goigng to make changing the dpi the primary way of changing the font size, then changing the individual font sizes in gnome-font-properties doesn't make sense. We dont' need multiple interfering font size sliders duplicating the volume control situation
<mccann> owen: 20-30% larger than?
<owen> Making a size-less font selection might require GTK+ API additions
<owen> mccann: the current GNOME defaults.
<mccann> ok
<owen> One thing to be aware of is that fonts look better at 96dpi than at 90dpi or 100dpi
<owen> Using discrete pre-picked dpi values allows optimization of fonts in a way that a slider or picking up whatever the screen happens to be doesn't
<mccann> owen: how do we choose those values where they look best?
<owen> mccann: well, 96 and 120 are the traditional values for windows XP. 72 dpi is a tradititional mac value
<owen> mccann: above 120 - well, if you can reverse engineer what the dpi's are in the windows vista selection, use that

<federico> mccann: I'd say:
<federico> 1. we need a live preview (we can't do instant-apply on the whole desktop right now; it's too slow)
<federico> 2. we don't want "document font" in the capplet (which document?  where is that actually used right now?)
<federico> 3. even the fixed-size font is a stretch there...
<federico> 4. DPI is stupid.  We want a single slider for UI elements; no tweakability of spacing (apps should do good spacing with font-relative-scaling when that lands in gtk)

<ssp> owen: OK, fair enough. I'm not violently opposed to some sort of UI that would scale all fonts on the screen if that's deemed to be a good idea by designers. 
<ssp> Whether it is a good idea, I have my doubts about
<ssp> It shouldn't be tied the dpi as reported by X or EDID - that number should basically be ignored

<ajax> the only good use for [the dpi as reported by X or EDID] is tuning subpixel coverage
<ajax> and as a rough guide for heuristicking what kind of display form factor you're using, _maybe_
<ajax> even then you still lose when you have wildly different DPI on different displays, so it's probably better not to try.
<ajax> oh, and if you're a desktop publishing app and you really do want pixel presentation to match physical size.

Use Cases

Primary

Secondary

Design

Notes

If we want to have all the fonts rendered on the family font below the family name the default treeview/liststore implementations make this operation really slow. For the sake of usability we should look into ways to lazyload the cells, here's some example from the file chooser code by Company: http://git.gnome.org/cgit/gtk+/commit/?h=filesystemmodel&id=04b7b41b75dd769433a0594b5e5d0347d858f00c

References


2024-10-23 11:03