| Did you know ... | Search Documentation: |
| Class variables |
.2 makes all text
20% larger, whatever font it uses. This is the simplest way to adapt the
user interface to the resolution of your screen and your eyes. Use font.system_fonts
to change the size of specific kinds of text.
For example, to make all text 25% larger, add this line to your Defaults file:
font.scale: 1.25
The scale also applies to fonts that are not named by an alias. After
changing it at runtime, send display_manager ->fonts_changed
to apply it to the existing fonts and windows. The preferences editor (Settings/Edit
GUI preferences in the IDE) does this for you.
normal for most text, label for labels, tt
for the text of editors and terminals, etc. This setting defines the
font of each alias as a list of Alias := Font. The built-in
value is
[ normal := font(sans, normal, 12), bold := font(sans, bold, 12), italic := font(sans, italic, 12), label := font(sans, bold, 12), small := font(sans, normal, 10), large := font(sans, normal, 14), boldlarge := font(sans, bold, 14), huge := font(sans, normal, 18), boldhuge := font(sans, bold, 18), tt := font(mono, normal, 14), boldtt := font(mono, bold, 14), itt := font(mono, italic, 14), bitt := font(mono, italic, 14, bold) ]
A font is font(Family, Style, Points) or font(Family, Style, Points, Weight).
The families sans, serif and mono
are
generic: font.pango_families
decides which installed font they use. Style is one of normal, bold, italic
or oblique. An alias that you leave out keeps its built-in
font, so you only need to list the aliases you want to change. For
example, to use a larger font for editors and terminals:
font.system_fonts: [ tt := font(mono, normal, 16) ]
To show labels in a normal rather than a bold font, without changing bold text, use
font.system_fonts: [ label := font(sans, normal, 12) ]
Use font.scale
to make all text larger or smaller. Note that changing an alias changes
all text that uses it, while a setting such as editor.font
changes only the font of one kind of object. The value may also define
new aliases, which applications can use as fonts. The name fixed
is an old name for tt. It always uses the font of tt.
The Text tab of the preferences editor, which is
Settings/Edit GUI preferences in the IDE, shows each alias with
its family, style and size, followed by a sample text in this font.
Changes apply immediately. When saved, the Defaults file
holds all aliases. If Same size for related fonts is on, which is
the default, changing the size of an alias also changes the size of the
aliases that have the same family and size and only differ by style or
weight. For example, changing tt to 16 points also changes boldtt, itt
and bitt.
mono,
sans and serif. xpce fonts name a generic
family rather than an installed font, such that applications look
reasonable on any system. This setting maps each generic family to a
family known to Pango, the library xpce uses to render text. The value
is a list of Generic := Family, where Family is the name of
an installed font family or a comma-separated list of families that are
tried in order. For example, to use Fira Code for all monospaced
text if it is installed:
font.pango_families: [ mono := 'Fira Code,monospace' ]
A family that you leave out keeps its built-in value, which depends
on the operating system. The legacy names screen,
helvetica and times follow mono, sans
and serif. Characters that the selected family does not
provide, such as emoji or other scripts, are taken from other installed
fonts.
The Text tab of the preferences editor, which is
Settings/Edit GUI preferences in the IDE, offers the installed
families, each shown in its own font. After changing it at runtime, send
display_manager->fonts_changed;
the preferences editor does this for you.