diff options
Diffstat (limited to 'contrib/hdtbl/examples/fonts_n.in')
-rw-r--r-- | contrib/hdtbl/examples/fonts_n.in | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/contrib/hdtbl/examples/fonts_n.in b/contrib/hdtbl/examples/fonts_n.in new file mode 100644 index 0000000..c953fa4 --- /dev/null +++ b/contrib/hdtbl/examples/fonts_n.in @@ -0,0 +1,149 @@ +.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 <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. ** +.\" ****************************************************************** +. +.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: |