diff options
Diffstat (limited to 'contrib/hdtbl/examples/fontdumps_n.in')
-rw-r--r-- | contrib/hdtbl/examples/fontdumps_n.in | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/contrib/hdtbl/examples/fontdumps_n.in b/contrib/hdtbl/examples/fontdumps_n.in new file mode 100644 index 00000000..b7ed3277 --- /dev/null +++ b/contrib/hdtbl/examples/fontdumps_n.in @@ -0,0 +1,147 @@ +.\" -*- mode: roff -*- +.ig + +fontdumps_n.roff + +This file is part of groff, the GNU roff type-setting system. + +Copyright (C) 2005, 2006 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 2, 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 groff; see the file COPYING. If not, write to the Free +Software Foundation, 51 Franklin St - Fifth Floor, Boston, MA +02110-1301, USA. + +.. +. +. +.\" ****************************************************************** +.\" ** 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. ** +.\" ****************************************************************** +. +.time start +. +.if !d fontpath \ +. ds fontpath @fontdir@ +. +.de fontdump +. ie \\n[.$] \ +. ds *args \\$* +. el \ +. ds *args \\n[.fn] +. +. pso bash -c \ + "echo -n .ds *f\ ; \ + ls --color=never \\*[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 +. \} +. +. index "\\*[*f]" \\*[*$1] +. +. ie (\\n[.y] > 18) \ +. if !F \\*[*$1] \{\ +. tm \\n[.F]:\\n[.c]: Font \\*[*$1] not found. +. continue +. \} +. el \{\ +. if !\\n[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 +. \" fontdumps-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 |