| Current File : //usr/share/doc/groff/1.22.2/examples/hdtbl/fonts_n.roff |
.\" -*- mode: roff -*-
.ig
font_n.roff
This file is part of groff, the GNU roff type-setting system.
Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
written by Joachim Walsdorff <Joachim.Walsdorff@urz.uni-heidelberg.de>.
groff is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or
(at your option) any later version.
groff is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
..
.
.
.\" ******************************************************************
.\" ** groff glyphs vs. character codes: **
.\" ** .fontdump [font1 font2 ...] **
.\" ** Print glyphs of font1, font2, ..., versus **
.\" ** character code. **
.\" ** `all' as fontname prints all fonts in the **
.\" ** specified string `fontpath'. **
.\" ** without arg: glyphs and codes of active font. **
.\" ******************************************************************
.
.if !d sopath \
. ds sopath
.
.so \*[sopath]examples/common.roff
.
.time start
.
.if !d fontpath \
. ds fontpath /usr/share/groff/1.22.2/font
.
.de fontdump
. ie \\n[.$] \
. ds *args \\$*
. el \
. ds *args \\n[.fn]
.
. pso sh -c \
"echo -n .ds *f\ ; \
ls \\*[fontpath]/dev\*[.T] \
| tr '[:cntrl:]' ' '"
. \" This dummy line is necessary; the preceding line eats it.
.
. while !"\\*[*args]"" \{\
. pops *$1 *args
.
. if "\\*[*$1]"all" \{\
. ds *args \\*[*f] \\*[*args]
. pops *$1 *args
. nr *all 1
. \}
.
. if \\n[*all] \{\
. if "\\*[*$1]"." \
. nr *all 0
. if !F \\*[*$1] \
. continue
. \}
.
. t*index "\\*[*f]" \\*[*$1]
.
. ie (\\n[.y] > 18) \
. if !F \\*[*$1] \{\
. tm \\n[.F]:\\n[.c]: Font \\*[*$1] not found.
. continue
. \}
. el \{\
. if !\\n[t*index] \{\
. tm \\n[.F]:\\n[.c]: Font \\*[*$1] not found.
. continue
. \}
.
. nr * \\n[.f]
. ft \\*[*$1]
. nr ** \\n[.f]
. ft
.
. if (\\n[**] == \\n[*]) \
. continue
. \}
.
. if \\n[t*cptn] \
. bp
.
. tm listing font `\\*[*$1]'...
.
. TBL border=.1n bc=red cpd=0 csp=.1n bgc=
. CPTN groff font \\*[*$1] \
.br \
val=b ".pso grep -e internalname \\*[fontpath]/dev\*[.T]/\\*[*$1]"
. TR
. TD
. TBL cols=12 border=.1n bc=red csp=.1n cpd=.2n fgc=red4 bgc=beige \
hal=c fsz='1.2 1.2' fst=\\*[*$1]
. nr c# 0-1 1
. nr y# 0-1 1
. TR fst=HB fgc=blue
. TD
. nr x# 0-1 1
. \" following 4 `PN's instead of 4 while-loops as in
. \" font_x.roff; short and easy to write, but a little
. \" bit slower.
. PN 10 .TD \
\&..\\\\n+[x#]
. TD
.
. PN 27 .TR \
".TD fgc=blue fst=HB" \
\\\\n+[y#]. \
".PN 10 .TD \
"".if c \N'\En+[c#]' \
\N'\En[c#]'""" \
".TD fgc=blue fst=HB" \
\\\\n[y#].
.
. TR fst=HB fgc=blue
. TD
. nr x# 0-1 1
. PN 10 .TD \
\&..\\\\n+[x#]
. TD
. ETB
. ETB
. \}
..
.
.fontdump all
.
.time
.date
.
.\" 466MHz Celeron CPU, 384MB RAM
.\" WindowsXP/cygwin groff18.1: 115s
.\" WindowsXP/cygwin groff19.2: 450s
.\" Suse Linux 9.3 groff19.2: 76s