Introduction
Introduction Statistics Contact Development Disclaimer Help
tman: document font syntaxes - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
commit b3a110affa33f0a3c96e06438047913f2db90c91
parent 4eac378eba7b7376621bfb57bb282957ef714628
Author: Russ Cox <[email protected]>
Date: Tue, 17 Feb 2015 15:36:25 -0500
man: document font syntaxes
Change-Id: Id441d4df192c47388af6b5da306f14d90f066d18
Reviewed-on: https://plan9port-review.googlesource.com/1173
Reviewed-by: Russ Cox <[email protected]>
Diffstat:
M man/man1/9term.1 | 3 +++
M man/man1/mc.1 | 11 +++++++++++
M man/man3/graphics.3 | 31 +++++++++--------------------…
M man/man4/fontsrv.4 | 3 +++
M man/man7/font.7 | 105 +++++++++++++++++++++++++++++…
5 files changed, 130 insertions(+), 23 deletions(-)
---
diff --git a/man/man1/9term.1 b/man/man1/9term.1
t@@ -57,6 +57,9 @@ is not given,
uses the imported value of
.B $font
if set; otherwise it uses the graphics system default.
+(See
+.IR font (7)
+for a full discussion of font syntaxes.)
.PP
.I 9term
runs the given command in the window, or
diff --git a/man/man1/mc.1 b/man/man1/mc.1
t@@ -44,3 +44,14 @@ is printed separately.
.I lc
in
.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.
diff --git a/man/man3/graphics.3 b/man/man3/graphics.3
t@@ -228,30 +228,14 @@ pointer that can be used by
to draw characters from the font.
.I Openfont
does the same, but reads the description
-from the named file.
+from the named font.
.I Freefont
frees a font.
-The convention for naming font files is:
-.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 syste…
+In contrast to Plan 9, font names in Plan 9 from User Space are
+a small language describing the desired font.
+See
+.IR font (7)
+for details.
.PP
A
.I Cursor
t@@ -319,6 +303,9 @@ if
.B $font
is not set, it imports the default (usually minimal)
font from the operating system.
+(See
+.IR font (7)
+for a full discussion of font syntaxes.)
The global
.I font
will be set to point to the resulting
diff --git a/man/man4/fontsrv.4 b/man/man4/fontsrv.4
t@@ -78,6 +78,9 @@ recognizes font paths beginning with
and implements them by invoking
.IR fontsrv ;
it need not be running already.
+See
+.IR font (7)
+for a full discussion of font name syntaxes.
.SH EXAMPLES
List the fonts on the system:
.IP
diff --git a/man/man7/font.7 b/man/man7/font.7
t@@ -7,7 +7,7 @@ font, subfont \- external format for fonts and subfonts
Fonts and subfonts are described in
.IR cachechars (3).
.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 .
The format of the file is a header followed by any number of
subfont range specifications.
t@@ -75,6 +75,109 @@ characters of zero width (see
.IR draw (3))
means that fonts should have, as their zeroth character,
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 syste…
+.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 v…
+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 10…
+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 …
+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
.TF \*9/font/*
.TP
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.