man: document font syntaxes
Change-Id: Id441d4df192c47388af6b5da306f14d90f066d18 Reviewed-on: https://plan9port-review.googlesource.com/1173 Reviewed-by: Russ Cox <rsc@swtch.com>
This commit is contained in:
parent
4eac378eba
commit
b3a110affa
5 changed files with 130 additions and 23 deletions
|
|
@ -57,6 +57,9 @@ is not given,
|
||||||
uses the imported value of
|
uses the imported value of
|
||||||
.B $font
|
.B $font
|
||||||
if set; otherwise it uses the graphics system default.
|
if set; otherwise it uses the graphics system default.
|
||||||
|
(See
|
||||||
|
.IR font (7)
|
||||||
|
for a full discussion of font syntaxes.)
|
||||||
.PP
|
.PP
|
||||||
.I 9term
|
.I 9term
|
||||||
runs the given command in the window, or
|
runs the given command in the window, or
|
||||||
|
|
|
||||||
|
|
@ -44,3 +44,14 @@ is printed separately.
|
||||||
.I lc
|
.I lc
|
||||||
in
|
in
|
||||||
.IR ls (1)
|
.IR ls (1)
|
||||||
|
.SH BUGS
|
||||||
|
On systems with high-DPI screens,
|
||||||
|
.I 9term
|
||||||
|
and
|
||||||
|
.I acme
|
||||||
|
do not have one current font.
|
||||||
|
They have a pair of current fonts, one font used when the window
|
||||||
|
on a low-DPI screen and one used when the window is on a
|
||||||
|
high-DPI screen.
|
||||||
|
.I Mc
|
||||||
|
always uses the low-DPI font for columnation decisions.
|
||||||
|
|
|
||||||
|
|
@ -228,30 +228,14 @@ pointer that can be used by
|
||||||
to draw characters from the font.
|
to draw characters from the font.
|
||||||
.I Openfont
|
.I Openfont
|
||||||
does the same, but reads the description
|
does the same, but reads the description
|
||||||
from the named file.
|
from the named font.
|
||||||
.I Freefont
|
.I Freefont
|
||||||
frees a font.
|
frees a font.
|
||||||
The convention for naming font files is:
|
In contrast to Plan 9, font names in Plan 9 from User Space are
|
||||||
.IP
|
a small language describing the desired font.
|
||||||
.B /lib/font/bit/\fIname\fP/\fIrange\fP.\fIsize\fP.font
|
See
|
||||||
.PD
|
.IR font (7)
|
||||||
.PP
|
for details.
|
||||||
where
|
|
||||||
.I size
|
|
||||||
is approximately the height in pixels of the lower case letters
|
|
||||||
(without ascenders or descenders).
|
|
||||||
.I Range
|
|
||||||
gives some indication of which characters will be available: for example
|
|
||||||
.BR ascii ,
|
|
||||||
.BR latin1 ,
|
|
||||||
.BR euro ,
|
|
||||||
or
|
|
||||||
.BR unicode .
|
|
||||||
.B Euro
|
|
||||||
includes most European languages, punctuation marks, the International Phonetic
|
|
||||||
Alphabet, etc., but no Oriental languages.
|
|
||||||
.B Unicode
|
|
||||||
includes every character for which appropriate-sized images exist on the system.
|
|
||||||
.PP
|
.PP
|
||||||
A
|
A
|
||||||
.I Cursor
|
.I Cursor
|
||||||
|
|
@ -319,6 +303,9 @@ if
|
||||||
.B $font
|
.B $font
|
||||||
is not set, it imports the default (usually minimal)
|
is not set, it imports the default (usually minimal)
|
||||||
font from the operating system.
|
font from the operating system.
|
||||||
|
(See
|
||||||
|
.IR font (7)
|
||||||
|
for a full discussion of font syntaxes.)
|
||||||
The global
|
The global
|
||||||
.I font
|
.I font
|
||||||
will be set to point to the resulting
|
will be set to point to the resulting
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,9 @@ recognizes font paths beginning with
|
||||||
and implements them by invoking
|
and implements them by invoking
|
||||||
.IR fontsrv ;
|
.IR fontsrv ;
|
||||||
it need not be running already.
|
it need not be running already.
|
||||||
|
See
|
||||||
|
.IR font (7)
|
||||||
|
for a full discussion of font name syntaxes.
|
||||||
.SH EXAMPLES
|
.SH EXAMPLES
|
||||||
List the fonts on the system:
|
List the fonts on the system:
|
||||||
.IP
|
.IP
|
||||||
|
|
|
||||||
105
man/man7/font.7
105
man/man7/font.7
|
|
@ -7,7 +7,7 @@ font, subfont \- external format for fonts and subfonts
|
||||||
Fonts and subfonts are described in
|
Fonts and subfonts are described in
|
||||||
.IR cachechars (3).
|
.IR cachechars (3).
|
||||||
.PP
|
.PP
|
||||||
External fonts are described by a plain text file that can be read using
|
External bitmap fonts are described by a plain text file that can be read using
|
||||||
.IR openfont .
|
.IR openfont .
|
||||||
The format of the file is a header followed by any number of
|
The format of the file is a header followed by any number of
|
||||||
subfont range specifications.
|
subfont range specifications.
|
||||||
|
|
@ -75,6 +75,109 @@ characters of zero width (see
|
||||||
.IR draw (3))
|
.IR draw (3))
|
||||||
means that fonts should have, as their zeroth character,
|
means that fonts should have, as their zeroth character,
|
||||||
one with non-zero width.
|
one with non-zero width.
|
||||||
|
.SS "Font Names
|
||||||
|
.PP
|
||||||
|
Font names in Plan 9 from User Space are
|
||||||
|
a small language describing a font.
|
||||||
|
The most basic form is the name of an existing bitmap font file,
|
||||||
|
following the convention:
|
||||||
|
.IP
|
||||||
|
.B /lib/font/bit/\fIname\fP/\fIrange\fP.\fIsize\fP.font
|
||||||
|
.PD
|
||||||
|
.PP
|
||||||
|
where
|
||||||
|
.I size
|
||||||
|
is approximately the height in pixels of the lower case letters
|
||||||
|
(without ascenders or descenders).
|
||||||
|
.I Range
|
||||||
|
gives some indication of which characters will be available: for example
|
||||||
|
.BR ascii ,
|
||||||
|
.BR latin1 ,
|
||||||
|
.BR euro ,
|
||||||
|
or
|
||||||
|
.BR unicode .
|
||||||
|
.B Euro
|
||||||
|
includes most European languages, punctuation marks, the International Phonetic
|
||||||
|
Alphabet, etc., but no Oriental languages.
|
||||||
|
.B Unicode
|
||||||
|
includes every character for which appropriate-sized images exist on the system.
|
||||||
|
.PP
|
||||||
|
In Plan 9 from User Space, the font files are rooted in
|
||||||
|
.B $PLAN9/font
|
||||||
|
instead of
|
||||||
|
.BR /lib/font/bit ,
|
||||||
|
but to keep old references working, paths beginning with
|
||||||
|
.B /lib/font/bit
|
||||||
|
are interpreted as references to the actual font directory.
|
||||||
|
.PP
|
||||||
|
Fonts need not be stored on disk in the Plan 9 format.
|
||||||
|
If the font name has the form
|
||||||
|
.BR /mnt/font/\fIname\fP/\fIsize\fP/font ,
|
||||||
|
.I fontsrv
|
||||||
|
is invoked to synthesize a bitmap font from the operating system's installed vector fonts.
|
||||||
|
The command
|
||||||
|
.B fontsrv
|
||||||
|
.B -p
|
||||||
|
.B .
|
||||||
|
lists the available fonts.
|
||||||
|
See
|
||||||
|
.IR fontsrv (4)
|
||||||
|
for more.
|
||||||
|
.PP
|
||||||
|
If the font name has the form
|
||||||
|
.BR \fIscale\fP*\fIfontname\fP ,
|
||||||
|
where
|
||||||
|
.I scale
|
||||||
|
is a small decimal integer, the
|
||||||
|
.I fontname
|
||||||
|
is loaded and then scaled by pixel repetition.
|
||||||
|
.PP
|
||||||
|
The Plan 9 bitmap fonts were designed for screens with pixel density around 100 DPI.
|
||||||
|
When used on screens with pixel density above 200 DPI,
|
||||||
|
the bitmap fonts are automatically pixel doubled.
|
||||||
|
Similarly, fonts loaded from
|
||||||
|
.IR fontsrv (4)
|
||||||
|
are automatically doubled in size by varying the effective
|
||||||
|
.I size
|
||||||
|
path element.
|
||||||
|
In both cases, the effect is that a single font name
|
||||||
|
can be used on both low- and high-density displays (or even in a window moved between differing displays)
|
||||||
|
while keeping roughly the same effective size.
|
||||||
|
.PP
|
||||||
|
For more control over the fonts used on low- and high-density displays,
|
||||||
|
if the font name has the form
|
||||||
|
.BR \fIlowfont\fP,\fIhighfont\fP ,
|
||||||
|
.I lowfont
|
||||||
|
is used on low-density displays and
|
||||||
|
.I highfont
|
||||||
|
on high-density displays.
|
||||||
|
In effect, the behavior described above is that the font name
|
||||||
|
.IP
|
||||||
|
.B /lib/font/bit/lucsans/euro.8.font
|
||||||
|
.PD
|
||||||
|
.PP
|
||||||
|
really means
|
||||||
|
.IP
|
||||||
|
.B /lib/font/bit/lucsans/euro.8.font,2*/lib/font/bit/lucsans/euro.8.font
|
||||||
|
.PD
|
||||||
|
.PP
|
||||||
|
and similarly
|
||||||
|
.IP
|
||||||
|
.B /mnt/font/LucidaGrande/15a/font
|
||||||
|
.PD
|
||||||
|
.PP
|
||||||
|
really means
|
||||||
|
.IP
|
||||||
|
.B /mnt/font/LucidaGrande/15a/font,/mnt/font/LucidaGrande/30a/font
|
||||||
|
.PD
|
||||||
|
.PP
|
||||||
|
Using an explicit comma-separated font pair allows finer control, such as
|
||||||
|
using a Plan 9 bitmap font on low-density displays but switching to
|
||||||
|
a system-installed vector font on high-density displays:
|
||||||
|
.IP
|
||||||
|
.B /lib/font/bit/lucsans/euro.8.font,/mnt/font/LucidaGrande/30a/font
|
||||||
|
.PD
|
||||||
|
.PP
|
||||||
.SH FILES
|
.SH FILES
|
||||||
.TF \*9/font/*
|
.TF \*9/font/*
|
||||||
.TP
|
.TP
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue