.ig font_n.roff This file is part of groff, the GNU roff type-setting system. Copyright (C) 2005-2020 Free Software Foundation, Inc. written by Joachim Walsdorff . 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 . .. . . .\" ****************************************************************** .\" ** 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. ** .\" ****************************************************************** . .ds fonts_n fonts_n.roff\" name for diagnostic messages . .if !d sopath \ . ds sopath . .so \*[sopath]examples/common.roff . .if !d fontpath \ . ds fontpath @fontdir@ . .tm \*[fonts_n]: listing fonts in \*[fontpath]/dev\*[.T] . .de fontdump . ie \\n[.$] \ . ds *args \\$* . el \ . ds *args \\n[.fn] . . pso sh -c \ "printf '%s' '.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 \\*[fonts_n]: \\n[.F]:\\n[.c]: Font \\*[*$1] not found. . continue . \} . el \{\ . if !\\n[t*index] \{\ . tm \\*[fonts_n]: \\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 \\*[fonts_n]: listing font '\\*[*$1]'... . . TBL border=.1n bc=red cpd=0 csp=.1n bgc= . CPTN groff font \\*[*$1] \ .br \ val=b ".pso @EGREP@ 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 . .\" Local Variables: .\" mode: nroff .\" fill-column: 72 .\" End: .\" vim: set filetype=groff textwidth=72: