diff options
author | wlemb <wlemb> | 2002-02-26 01:22:14 +0000 |
---|---|---|
committer | wlemb <wlemb> | 2002-02-26 01:22:14 +0000 |
commit | 759f6af674ebfe755dd3fd0386b9927eab26ea62 (patch) | |
tree | 99697b0fc2a4364374f7eee4ef416f9f4c24b7fc | |
parent | eadcb65fd95291e397e4cea5223fa77cc4356fc0 (diff) | |
download | groff-759f6af674ebfe755dd3fd0386b9927eab26ea62.tar.gz |
Add support for font families `T' and `H'.
* font/devdvi/HBI: New file.
* font/devdvi/B: Renamed to ...
* font/devdvi/TB: This.
* font/devdvi/BI: Renamed to ...
* font/devdvi/TBI: This.
* font/devdvi/I: Renamed to ...
* font/devdvi/TI: This.
* font/devdvi/R: Renamed to ...
* font/devdvi/TR: This.
* font/devdvi/H: Renamed to ...
* font/devdvi/HR: This.
* font/devdvi/Makefile.sub (DEVFILES): Updated.
* font/devdvi/generate/Makefile (FONTS): Updated.
(R, I, B, BI, H): Renamed to ...
(TR, TI, TB, TBI, HR): This, respectively.
* NEWS, src/devices/grodvi/grodvi.man: Updated.
* font/devdvi/DESC.in: Don't mount R, I, B, BI, and CWI.
Add `styles' and `family' keywords.
* tmac/dvi.tmac: Alias `H' to `HR'.
Add some fspecial requests for italic fonts.
Add TR and TI as special.
Add support for `_' with font CWI.
* src/roff/troff/number.cc (parse_expr): Add missing `break' for
operator `:'. Until now, the expression `0:1' would return 2
instead of 1.
-rw-r--r-- | ChangeLog | 26 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | font/devdvi/DESC.in | 4 | ||||
-rw-r--r-- | font/devdvi/Makefile.sub | 2 | ||||
-rw-r--r-- | font/devdvi/generate/Makefile | 16 | ||||
-rw-r--r-- | src/devices/grodvi/grodvi.man | 180 | ||||
-rw-r--r-- | src/roff/troff/number.cc | 4 | ||||
-rw-r--r-- | tmac/dvi.tmac | 15 |
8 files changed, 222 insertions, 27 deletions
@@ -6,14 +6,36 @@ * tmac/dvi.tmac: Formatting. Add font `HBI' for the dvi output. + Add support for font families `T' and `H'. * font/devdvi/HBI: New file. + * font/devdvi/B: Renamed to ... + * font/devdvi/TB: This. + * font/devdvi/BI: Renamed to ... + * font/devdvi/TBI: This. + * font/devdvi/I: Renamed to ... + * font/devdvi/TI: This. + * font/devdvi/R: Renamed to ... + * font/devdvi/TR: This. + * font/devdvi/H: Renamed to ... + * font/devdvi/HR: This. * font/devdvi/Makefile.sub (DEVFILES): Updated. * font/devdvi/generate/Makefile (HBI): New rule. (FONTS): Updated. + (R, I, B, BI, H): Renamed to ... + (TR, TI, TB, TBI, HR): This, respectively. (srcdir): Fixed. - * NEWS: Updated. - * font/devdvi/DESC.in: Don't mount CWI. + * NEWS, src/devices/grodvi/grodvi.man: Updated. + * font/devdvi/DESC.in: Don't mount R, I, B, BI, and CWI. + Add `styles' and `family' keywords. + * tmac/dvi.tmac: Alias `H' to `HR'. + Add some fspecial requests for italic fonts. + Add TR and TI as special. + Add support for `_' with font CWI. + + * src/roff/troff/number.cc (parse_expr): Add missing `break' for + operator `:'. Until now, the expression `0:1' would return 2 + instead of 1. 2002-02-25 Werner LEMBERG <wl@gnu.org> @@ -206,6 +206,8 @@ Grodvi o A new font file HBI (using cmssbxo10; this is slanted sans serif bold extended) has been added. +o Two font families are now available: `T' and `H'. + Grotty ------ diff --git a/font/devdvi/DESC.in b/font/devdvi/DESC.in index 81a9133c..a3a88e08 100644 --- a/font/devdvi/DESC.in +++ b/font/devdvi/DESC.in @@ -5,6 +5,8 @@ hor 1 vert 1 sizes 500 600 700 800 900 1000 1095 1200 1400 1440 1600 1728 1800 2000 2074 2200 2400 2488 2800 3600 0 -fonts 14 R I B BI 0 0 0 0 0 MI S EX CW +styles R I B BI +family T +fonts 13 0 0 0 0 0 0 0 0 0 MI S EX CW tcommand postpro grodvi diff --git a/font/devdvi/Makefile.sub b/font/devdvi/Makefile.sub index 9b35fac9..2e449405 100644 --- a/font/devdvi/Makefile.sub +++ b/font/devdvi/Makefile.sub @@ -1,5 +1,5 @@ DEV=dvi -DEVFILES=DESC R I B BI CW CWI MI S EX H HI HB HBI SA SB \ +DEVFILES=DESC TR TI TB TBI CW CWI MI S EX HR HI HB HBI SA SB \ generate/CompileFonts generate/Makefile generate/msam.map generate/msbm.map \ generate/texb.map generate/texex.map generate/texi.map generate/texmi.map \ generate/texr.map generate/texsy.map generate/textt.map diff --git a/font/devdvi/generate/Makefile b/font/devdvi/generate/Makefile index 2110ea63..7033083d 100644 --- a/font/devdvi/generate/Makefile +++ b/font/devdvi/generate/Makefile @@ -29,28 +29,28 @@ tfmdir=/usr/local/lib/groff-tfm gfdir=/usr/local/lib/groff-gf TFMTODIT=tfmtodit -FONTS=R I B BI CW CWI MI S EX H HI HB HBI SA SB +FONTS=TR TI TB TBI CW CWI MI S EX HR HI HB HBI SA SB SPECIALFLAG=-s all: $(FONTS) -# R is special because it contains \(pl \(eq +# TR is special because it contains \(pl \(eq -R: $(srcdir)/texr.map +TR: $(srcdir)/texr.map $(TFMTODIT) $(SPECIALFLAG) -g $(gfdir)/cmr10.300gf \ $(tfmdir)/cmr10.tfm $(srcdir)/texr.map $@ -# I is special because it contains \(Po +# TI is special because it contains \(Po -I: $(srcdir)/texi.map +TI: $(srcdir)/texi.map $(TFMTODIT) $(SPECIALFLAG) -g $(gfdir)/cmti10.300gf \ $(tfmdir)/cmti10.tfm $(srcdir)/texi.map $@ -B: $(srcdir)/texb.map +TB: $(srcdir)/texb.map $(TFMTODIT) -g $(gfdir)/cmbx10.300gf \ $(tfmdir)/cmbx10.tfm $(srcdir)/texb.map $@ -BI: $(srcdir)/texi.map +TBI: $(srcdir)/texi.map $(TFMTODIT) -g $(gfdir)/cmbxti10.300gf \ $(tfmdir)/cmbxti10.tfm $(srcdir)/texi.map $@ @@ -76,7 +76,7 @@ EX: $(srcdir)/texex.map $(TFMTODIT) $(SPECIALFLAG) \ $(tfmdir)/cmex10.tfm $(srcdir)/texex.map $@ -H: $(srcdir)/texb.map +HR: $(srcdir)/texb.map $(TFMTODIT) -g $(gfdir)/cmss10.300gf \ $(tfmdir)/cmss10.tfm $(srcdir)/texb.map $@ diff --git a/src/devices/grodvi/grodvi.man b/src/devices/grodvi/grodvi.man index a4488ce7..fd3b16df 100644 --- a/src/devices/grodvi/grodvi.man +++ b/src/devices/grodvi/grodvi.man @@ -1,5 +1,5 @@ .ig -Copyright (C) 1989-2000, 2001 Free Software Foundation, Inc. +Copyright (C) 1989-2000, 2001, 2002 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -16,6 +16,8 @@ versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. +. +. .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .\" Like TP, but if specified indent is more than half @@ -24,9 +26,13 @@ the original English. .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. +. +. .TH GRODVI @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@" .SH NAME grodvi \- convert groff output to TeX dvi format +. +. .SH SYNOPSIS .B grodvi [ @@ -41,13 +47,17 @@ grodvi \- convert groff output to TeX dvi format .PP It is possible to have whitespace between a command line option and its parameter. +. +. .SH DESCRIPTION .B grodvi is a driver for .B groff that produces \*(tx dvi format. +. Normally it should be run by .BR groff\ \-Tdvi . +. This will run .BR @g@troff\ \-Tdvi ; it will also input the macros @@ -56,115 +66,265 @@ if the input is being preprocessed with .B @g@eqn it will also input .BR @FONTDIR@/devdvi/eqnchar . +. .LP The dvi file generated by .B grodvi can be printed by any correctly-written dvi driver. +. The troff drawing primitives are implemented using the tpic version 2 specials. +. If the driver does not support these, the -.B \eD +.B \[rs]D commands will not produce any output. +. .LP There is an additional drawing command available: +. .TP -.BI \eD'R\ dh\ dv ' +.BI \[rs]D'R\ dh\ dv ' Draw a rule (solid black rectangle), with one corner at the current position, and the diagonally opposite corner at the current position .RI +( dh , dv ). -Afterwards the current position will be at the opposite corner. This -produces a rule in the dvi file and so can be printed even with a +. +Afterwards the current position will be at the opposite corner. +. +This produces a rule in the dvi file and so can be printed even with a driver that does not support the tpic specials unlike the other -.B \eD +.B \[rs]D commands. +. .LP The groff command -.BI \eX' anything ' +.BI \[rs]X' anything ' is translated into the same command in the dvi file as would be produced by -.BI \especial{ anything } +.BI \[rs]special{ anything } in \*(tx; -.I anything may not contain a newline. +.I anything +may not contain a newline. +. .LP Font files for .B grodvi can be created from tfm files using .BR tfmtodit (@MAN1EXT@). +. The font description file should contain the following additional commands: +. .Tp \w'\fBinternalname'u+2n .BI internalname\ name The name of the tfm file (without the .B .tfm extension) is .IR name . +. .TP .BI checksum\ n The checksum in the tfm file is .IR n . +. .TP .BI designsize\ n The designsize in the tfm file is .IR n . +. .LP These are automatically generated by .B tfmtodit. +. .LP In .B troff the -.B \eN +.B \[rs]N escape sequence can be used to access characters by their position in the corresponding tfm file; all characters in the tfm file can be accessed this way. +. +. .SH OPTIONS .TP .B \-d Do not use tpic specials to implement drawing commands. +. Horizontal and vertical lines will be implemented by rules. +. Other drawing commands will be ignored. +. .TP .B \-v Print the version number. +. .TP .BI \-w n Set the default line thickness to .I n thousandths of an em. +. .TP .BI \-F dir Prepend directory .IB dir /devdvi to the search path for font and device description files. +. +. +.SH USAGE +There are styles called +.BR R , +.BR I , +.BR B , +and +.B BI +mounted at font positions 1 to 4. +The fonts are grouped into families +.B T +and +.B H +having members in each of these styles: +. +.de FT +.if '\\*(.T'dvi' .ft \\$1 +.. +. +.RS +.TP +.B TR +.FT TR +CM Roman (cmr10) +.FT +. +.TP +.B TI +.FT TI +CM Text Italic (cmti10) +.FT +. +.TP +.B TB +.FT TB +CM Bold Extended Roman (cmbx10) +.FT +. +.TP +.B TBI +.FT TBI +CM Bold Extended Text Italic (cmbxti10) +.FT +. +.TP +.B HR +.FT HR +CM Sans Serif (cmss10) +.FT +. +.TP +.B HI +.FT HI +CM Slanted Sans Serif (cmssi10) +.FT +. +.TP +.B HB +.FT HB +CM Sans Serif Bold Extended (cmssbx10) +.FT +. +.TP +.B HBI +.FT HBI +CM Slanted Sans Serif Bold Extended (cmssbxo10) +.FT +.RE +. +.LP +There are also the following fonts which are not members of a family: +. +.RS +.TP +.B CW +CM Typewriter Text (cmtt10) +.FT CW +.FT +. +.TP +.B CWI +CM Italic Typewriter Text (cmitt10) +.FT CWI +.FT +.RE +. +.LP +Special fonts are +.B MI +(cmmi10), +.B S +(cmsy10), +.B EX +(cmex10), +and, perhaps surprisingly, +.BR TR , +.BR TI , +and +.BR CW , +due to the different font encodings of text fonts. +. +For italic fonts, +.B CWI +is used instead of +.BR CW . +. +.LP +Finally, the symbol fonts of the American Mathematical Society are available +as special fonts +.B SA +(msam10) and +.B SB +(msbm10). +. +These two fonts are not mounted by default. +. +. .SH FILES .TP .B @FONTDIR@/devdvi/DESC Device description file. +. .TP .BI @FONTDIR@/devdvi/ F Font description file for font .IR F . +. .TP .B @MACRODIR@/dvi.tmac Macros for use with .BR grodvi . +. +. .SH BUGS Dvi files produced by .B grodvi use a different resolution (57816 units per inch) to those produced by \*(tx. +. Incorrectly written drivers which assume the resolution used by \*(tx, rather than using the resolution specified in the dvi file will not work with .BR grodvi . +. .LP When using the .B \-d option with boxed tables, vertical and horizontal lines can sometimes protrude by one pixel. +. This is a consequence of the way \*(tx requires that the heights and widths of rules be rounded. +. +. .SH "SEE ALSO" .BR tfmtodit (@MAN1EXT@), .BR groff (@MAN1EXT@), diff --git a/src/roff/troff/number.cc b/src/roff/troff/number.cc index d79298e6..8fed342e 100644 --- a/src/roff/troff/number.cc +++ b/src/roff/troff/number.cc @@ -1,5 +1,6 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002 + Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -320,6 +321,7 @@ static int parse_expr(units *v, int scale_indicator, break; case ':': *v = *v > 0 || v2 > 0; + break; case '+': if (v2 < 0) { if (*v < INT_MIN - v2) diff --git a/tmac/dvi.tmac b/tmac/dvi.tmac index 25ca1890..90981dc8 100644 --- a/tmac/dvi.tmac +++ b/tmac/dvi.tmac @@ -7,14 +7,21 @@ .ftr CO CWI .ftr CI CWI .ftr TT CW -.ftr HR H -.\" This uses the dvi-char_1 string in font CW, dvi-char_0 otherwise. -.char _ \R'dvi-char_ \\n[.f]==\f[CW]\\n[.f]\f[P]'\\*[dvi-char_\\n[dvi-char_]] +.ftr H HR +.special TR TI +.fspecial TI CWI +.fspecial TBI CWI +.fspecial HI CWI +.fspecial HBI CWI +.\" This uses the dvi-char_1 string in font CW pr CWI, dvi-char_0 otherwise. +.char _ \ +\R'dvi-char_ ((\\n[.f] == \f[CW]\\n[.f]\f[P]) : \ + (\\n[.f] == \f[CWI]\\n[.f]\f[P]))'\\*[dvi-char_\\n[dvi-char_]] .char \[ul] \R'dvi-char_ \w'M'==\w'i''\\*[dvi-char_\\n[dvi-char_]] .\" Normally use a rule. .\" This is designed so that \(ul, \(rn and \(br form corners. .ds dvi-char_0 \Z'\v'.23m'\D'R .54m .04m''\h'.5m' -.\" In font CW use a real _ character. +.\" In font CW and CWI use a real _ character. .ds dvi-char_1 _ .if !c\[radicalex] .char \[radicalex] \D'R .5m -.04m'\v'.04m' .if !c\[br] .char \[br] \Z'\v'.25m'\D'R .04m -1m'' |