diff options
author | Werner LEMBERG <wl@gnu.org> | 2002-11-10 09:11:16 +0000 |
---|---|---|
committer | Werner LEMBERG <wl@gnu.org> | 2002-11-10 09:11:16 +0000 |
commit | 8f3b940400c184bbd81b10cc21107dbde7bbcb40 (patch) | |
tree | efa445b7992481b829e6c138f0c0e61308a91c9a | |
parent | ee83e4fd48e50d10967b02e06f128a1452f183b7 (diff) | |
download | groff-git-8f3b940400c184bbd81b10cc21107dbde7bbcb40.tar.gz |
Added new font `SC' (cmtex10) to devdvi.
* devdvi/generate/Makefile (FONTS): Add `SC'.
(SC): New rule.
* devdvi/generate/textex.map: New map file for cmtex.
* devdvi/SC: New.
* devdvi/Makefile.sub (DEVFILES): Updated.
* tmac/dvi.tmac: Add fspecial entries for SC.
Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
found before `S' since the font position of `SC' is lower due to the
gaps in DESC's `font' line.
* tmac/ec.tmac: Add a `special' call.
* NEWS: Updated.
* font/devhtml/R.proto: Remove double entry for `ti'.
* tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
* tmac/tty-char.tmac: Remove entry for `bq'.
* tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
* tmac/ec.tmac: Don't remove `aq' glyph.
* tmac/X.tmac: Fix entry for `em'.
Add entries for `fo' and `fc'.
* tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
* doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
documentation of `special' and `fspecial' requests.
-rw-r--r-- | ChangeLog | 28 | ||||
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | doc/groff.texinfo | 74 | ||||
-rw-r--r-- | font/devdvi/Makefile.sub | 4 | ||||
-rw-r--r-- | font/devdvi/SC | 136 | ||||
-rw-r--r-- | font/devdvi/generate/Makefile | 6 | ||||
-rw-r--r-- | font/devdvi/generate/textex.map | 33 | ||||
-rw-r--r-- | font/devhtml/R.proto | 3 | ||||
-rw-r--r-- | man/groff.man | 10 | ||||
-rw-r--r-- | man/groff_diff.man | 6 | ||||
-rw-r--r-- | tmac/X.tmac | 4 | ||||
-rw-r--r-- | tmac/dvi.tmac | 10 | ||||
-rw-r--r-- | tmac/ec.tmac | 2 | ||||
-rw-r--r-- | tmac/lbp.tmac | 5 | ||||
-rw-r--r-- | tmac/tty-char.tmac | 1 | ||||
-rw-r--r-- | tmac/tty.tmac | 3 |
16 files changed, 299 insertions, 29 deletions
@@ -1,3 +1,31 @@ +2002-11-08 Werner LEMBERG <wl@gnu.org> + + Added new font `SC' (cmtex10) to devdvi. + + * devdvi/generate/Makefile (FONTS): Add `SC'. + (SC): New rule. + * devdvi/generate/textex.map: New map file for cmtex. + * devdvi/SC: New. + * devdvi/Makefile.sub (DEVFILES): Updated. + * tmac/dvi.tmac: Add fspecial entries for SC. + Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is + found before `S' since the font position of `SC' is lower due to the + gaps in DESC's `font' line. + * tmac/ec.tmac: Add a `special' call. + * NEWS: Updated. + + * font/devhtml/R.proto: Remove double entry for `ti'. + * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'. + * tmac/tty-char.tmac: Remove entry for `bq'. + * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'. + * tmac/ec.tmac: Don't remove `aq' glyph. + * tmac/X.tmac: Fix entry for `em'. + Add entries for `fo' and `fc'. + * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'. + + * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix + documentation of `special' and `fspecial' requests. + 2002-11-05 Werner LEMBERG <wl@gnu.org> * font/devascii/R.proto, font/devcp1047/R.proto, @@ -40,6 +40,9 @@ o Composite glyphs are now supported. To do this, a subset of the Adobe Please refer to the info pages of groff and to the groff_char man page for more details. +o The font cmtex10 has been added as the special font `SC' to the DVI fonts. + It is used for CW and CWI. + Grotty ------ diff --git a/doc/groff.texinfo b/doc/groff.texinfo index 6a23c6776..ed33712e8 100644 --- a/doc/groff.texinfo +++ b/doc/groff.texinfo @@ -8077,6 +8077,8 @@ sometimes more than one character maps to a single glyph (this is a @cindex special fonts @kindex fonts @pindex DESC +@cindex @code{special} request, and glyph search order +@cindex @code{fspecial} request, and glyph search order A @dfn{symbol} is simply a named glyph. Within @code{gtroff}, all glyph names of a particular font are defined in its font file. If the user requests a glyph not available in this font, @code{gtroff} looks @@ -8103,17 +8105,49 @@ Check the current font. If the symbol has been defined with the @code{fchar} request, use it. @item -Check all fonts given with the @code{fspecial} request, in the order -of appearance in @code{fspecial} calls. +Check whether the current font has a font-specific list of special fonts; +test all fonts in the order of appearance in the last @code{fspecial} +call if appropriate. @item -Check all fonts given with the @code{special} request, in the order -of appearance in @code{special} calls (inclusively the special fonts -defined in the @file{DESC} file, which come first). +Check all fonts in the order of appearance in the last @code{special} +call. @item -As a last resort, consult all fonts loaded up to now (in the order they -have been called the first time) for special fonts and check them. +As a last resort, consult all fonts loaded up to now for special fonts +and check them, starting with the lowest font number. Note that this can +sometimes lead to surprising results since the @code{fonts} line in the +@file{DESC} file often contains empty positions which are filled later +on. For example, consider the following: + +@Example +fonts 3 0 0 FOO +@endExample + +@noindent +This mounts font @code{foo} at font position@w{ }3. We assume that +@code{FOO} is a special font, containing glyph @code{foo}, +and that no font has been loaded yet. The line + +@Example +.fspecial BAR BAZ +@endExample + +@noindent +makes font @code{BAZ} special only if font @code{BAR} is active. We +further assume that @code{BAZ} is really a special font, i.e., the font +description file contains the @code{special} keyword, and that it +also contains glyph @code{foo} with a special shape fitting to font +@code{BAR}. After executing @code{fspecial}, font @code{BAR} is loaded at +font position@w{ }1, and @code{BAZ} at position@w{ }2. + +We now switch to a new font @code{XXX}, trying to access glyph @code{foo} +which is assumed to be missing. There are neither font-specific special +fonts for @code{XXX} nor any other fonts made special with the +@code{special} request, so @code{gtroff} starts the search for special +fonts in the list of already mounted fonts, with increasing font +positions. Consequently, it finds @code{BAZ} before @code{FOO} even for +@code{XXX} which is not the intended behaviour. @end itemize @xref{Font Files}, and @ref{Special Fonts}, for more details. @@ -8380,20 +8414,24 @@ searching mechanism in @code{gtroff}. Usually, only non-TTY devices have special fonts. -@DefreqList {special, s1 s2 @dots{}} -@DefreqListEnd {fspecial, f s1 s2 @dots{}} +@DefreqList {special, [@Var{s1} @Var{s2} @dots{}]} +@DefreqListEnd {fspecial, f [@Var{s1} @Var{s2} @dots{}]} @kindex fonts @pindex DESC -Use the @code{special} request to define special fonts. They are -appended to the list of global special fonts in the given order. -The first entries in this list are the fonts defined with the -@code{fonts} command in the @file{DESC} file which are marked as -special in the corresponding font description files. - -Use the @code{fspecial} request to designate special fonts -only when font@w{ }@var{f} font is active. They are appended to the -list of special fonts for @var{f} in the given order. Initially, this +Use the @code{special} request to define special fonts. Initially, this list is empty. + +Use the @code{fspecial} request to designate special fonts only when +font@w{ }@var{f} font is active. Initially, this list is empty. + +Previous calls to @code{special} or @code{fspecial} are overwritten; +without arguments, the particular list of special fonts is set to empty. +Special fonts are then searched in the order of the arguments. + +All fonts which appear in a call to @code{special} or @code{fspecial} are +loaded. + +@xref{Using Symbols}, for the exact search order of glyphs. @endDefreq @c --------------------------------------------------------------------- diff --git a/font/devdvi/Makefile.sub b/font/devdvi/Makefile.sub index 098e6029e..f65361523 100644 --- a/font/devdvi/Makefile.sub +++ b/font/devdvi/Makefile.sub @@ -3,11 +3,11 @@ DEVFILES=DESC \ TR TI TB TBI CW CWI HR HI HB HBI \ TREC TIEC TBEC TBIEC CWEC CWIEC HREC HIEC HBEC HBIEC \ TRTC TITC TBTC TBITC CWTC CWITC HRTC HITC HBTC HBITC \ - MI S EX SA SB \ + MI S EX SA SB SC \ 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 \ + generate/texr.map generate/texsy.map generate/textt.map generate/textex.map \ generate/ec.map generate/tc.map CLEANADD=DESC diff --git a/font/devdvi/SC b/font/devdvi/SC new file mode 100644 index 000000000..0e92f4320 --- /dev/null +++ b/font/devdvi/SC @@ -0,0 +1,136 @@ +name SC +special +internalname cmtex10 +spacewidth 550498 +checksum -538297224 +designsize 10485760 +charset +pc 550498,534482,-106315 2 0000 +md " +da 550498,640797 2 0001 +*a 550498,451470 0 0002 +*b 550498,640797,233018 3 0003 +AN 550498,512640 2 0004 +no 550498,451470 0 0005 +mo 550498,582542,-58254 2 0006 +*p 550498,451470 0 0007 +*l 550498,640797 2 0010 +*g 550498,451470,233018 1 0011 +*d 550498,640797 2 0012 +ua 550498,640797 2 0013 +pm 550498,556326,-84470 2 0014 +c+ 550498,556326,-84470 2 0015 +if 550498,451470 0 0016 +pd 550498,640797 2 0017 +sb 550498,582542,-58254 2 0020 +sp 550498,582542,-58254 2 0021 +ca 550498,512640 2 0022 +cu 550498,512640 2 0023 +fa 550498,640797 2 0024 +te 550498,640797 2 0025 +c* 550498,556326,-84470 2 0026 +<> 550498,628053,-12744 2 0027 +<- 550498,435813,-204984 0 0030 +-> 550498,435813,-204984 0 0031 +!= 550498,672827,32030 3 0032 +--- 550498,534482,-106315 2 0033 +<= 550498,661547,20750 3 0034 +>= 550498,661547,20750 3 0035 +== 550498,514818,-125979 2 0036 +OR 550498,512640 2 0037 +--- 550498 0 0040 +--- 550498,640797 2 0041 +--- 550498,640797 2 0042 +--- 550498,640797 2 0043 +--- 550498,728178,87381 3 0044 +--- 550498,728178,87381 3 0045 +--- 550498,640797 2 0046 +--- 550498,640797 2 0047 +--- 550498,728178,87379 3 0050 +--- 550498,728178,87379 3 0051 +--- 550498,546134 2 0052 +--- 550498,556326,-84470 2 0053 +--- 550498,131072,145635 1 0054 +--- 550498,556326,-84470 2 0055 +--- 550498,131072 0 0056 +--- 550498,728178,87379 3 0057 +--- 550498,640797 2 0060 +--- 550498,640797 2 0061 +--- 550498,640797 2 0062 +--- 550498,640797 2 0063 +--- 550498,640797 2 0064 +--- 550498,640797 2 0065 +--- 550498,640797 2 0066 +--- 550498,640797 2 0067 +--- 550498,640797 2 0070 +--- 550498,640797 2 0071 +--- 550498,451470 0 0072 +--- 550498,451470,145635 1 0073 +--- 550498,582542,-58254 2 0074 +--- 550498,435813,-204984 0 0075 +--- 550498,582542,-58254 2 0076 +--- 550498,640797 2 0077 +--- 550498,640797 2 0100 +--- 550498,640797 2 0101 +--- 550498,640797 2 0102 +--- 550498,640797 2 0103 +--- 550498,640797 2 0104 +--- 550498,640797 2 0105 +--- 550498,640797 2 0106 +--- 550498,640797 2 0107 +--- 550498,640797 2 0110 +--- 550498,640797 2 0111 +--- 550498,640797 2 0112 +--- 550498,640797 2 0113 +--- 550498,640797 2 0114 +--- 550498,640797 2 0115 +--- 550498,640797 2 0116 +--- 550498,640797 2 0117 +--- 550498,640797 2 0120 +--- 550498,640797,145635 3 0121 +--- 550498,640797 2 0122 +--- 550498,640797 2 0123 +--- 550498,640797 2 0124 +--- 550498,640797 2 0125 +--- 550498,640797 2 0126 +--- 550498,640797 2 0127 +--- 550498,640797 2 0130 +--- 550498,640797 2 0131 +--- 550498,640797 2 0132 +--- 550498,728178,87379 3 0133 +--- 550498,728178,87379 3 0134 +--- 550498,728178,87379 3 0135 +--- 550498,640797 2 0136 +--- 550498,0,99757 1 0137 +--- 550498,640797 2 0140 +--- 550498,451470 0 0141 +--- 550498,640797 2 0142 +--- 550498,451470 0 0143 +--- 550498,640797 2 0144 +--- 550498,451470 0 0145 +--- 550498,640797 2 0146 +--- 550498,451470,233018 1 0147 +--- 550498,640797 2 0150 +--- 550498,640797 2 0151 +--- 550498,640797,233018 3 0152 +--- 550498,640797 2 0153 +--- 550498,640797 2 0154 +--- 550498,451470 0 0155 +--- 550498,451470 0 0156 +--- 550498,451470 0 0157 +--- 550498,451470,233018 1 0160 +--- 550498,451470,233018 1 0161 +--- 550498,451470 0 0162 +--- 550498,451470 0 0163 +--- 550498,580466 2 0164 +--- 550498,451470 0 0165 +--- 550498,451470 0 0166 +--- 550498,451470 0 0167 +--- 550498,451470 0 0170 +--- 550498,451470,233018 1 0171 +--- 550498,451470 0 0172 +--- 550498,728178,87379 3 0173 +--- 550498,728178,87379 3 0174 +--- 550498,728178,87379 3 0175 +--- 550498,640797 2 0176 +is 550498,640797,233018 3 0177 diff --git a/font/devdvi/generate/Makefile b/font/devdvi/generate/Makefile index 37c8eb43c..821500771 100644 --- a/font/devdvi/generate/Makefile +++ b/font/devdvi/generate/Makefile @@ -32,7 +32,7 @@ TFMTODIT=tfmtodit FONTS=TR TI TB TBI CW CWI HR HI HB HBI \ TREC TIEC TBEC TBIEC CWEC CWIEC HREC HIEC HBEC HBIEC \ TRTC TITC TBTC TBITC CWTC CWITC HRTC HITC HBTC HBITC \ - MI S EX SA SB + MI S SC EX SA SB SPECIALFLAG=-s all: $(FONTS) @@ -78,6 +78,10 @@ S: $(srcdir)/texsy.map $(TFMTODIT) $(SPECIALFLAG) -k 060 \ $(tfmdir)/cmsy10.tfm $(srcdir)/texsy.map $@ +SC: $(srcdir)/textex.map + $(TFMTODIT) $(SPECIALFLAG) \ + $(tfmdir)/cmtex10.tfm $(srcdir)/textex.map $@ + EX: $(srcdir)/texex.map $(TFMTODIT) $(SPECIALFLAG) \ $(tfmdir)/cmex10.tfm $(srcdir)/texex.map $@ diff --git a/font/devdvi/generate/textex.map b/font/devdvi/generate/textex.map new file mode 100644 index 000000000..e54cddbeb --- /dev/null +++ b/font/devdvi/generate/textex.map @@ -0,0 +1,33 @@ +# Map for the cmtex font +0 md pc +1 da +2 *a +3 *b +4 AN +5 no +6 mo +7 *p +8 *l +9 *g +10 *d +11 ua +12 pm +13 c+ +14 if +15 pd +16 sb +17 sp +18 ca +19 cu +20 fa +21 te +22 c* +23 <> +24 <- +25 -> +26 != +28 <= +29 >= +30 == +31 OR +127 is diff --git a/font/devhtml/R.proto b/font/devhtml/R.proto index b22032161..6900565d7 100644 --- a/font/devhtml/R.proto +++ b/font/devhtml/R.proto @@ -350,8 +350,7 @@ cu 24 0 0x222A ∪ is 24 0 0x222B ∫ tf 24 0 0x2234 ∴ 3d " -ti 24 0 0x223C ∼ -ap " +ap 24 0 0x223C ∼ =~ 24 0 0x2245 ≅ ~~ 24 0 0x2248 ≈ ~= " diff --git a/man/groff.man b/man/groff.man index 1e9128dbd..66ace56ac 100644 --- a/man/groff.man +++ b/man/groff.man @@ -2,7 +2,7 @@ .ig groff.man -Last update: 29 June 2002 +Last update: 10 Nov 2002 This file is part of groff, the GNU roff type-setting system. @@ -1543,6 +1543,11 @@ name to short name on position .IR n . . +.REQ .fspecial font +Reset list of special fonts for +.I font +to empty. +. .REQ .fspecial font s1 s2 .\|.\|.\& When the current font is .IR font , @@ -2007,6 +2012,9 @@ up or down according to sign of (default scaling indicator\~\c .scaleindicator v ). . +.REQ .special +Reset global list of special fonts to empty. +. .REQ .special s1 s2 .\|.\|.\& Fonts .IR s1 , diff --git a/man/groff_diff.man b/man/groff_diff.man index c6c1c23ad..d51c97cc2 100644 --- a/man/groff_diff.man +++ b/man/groff_diff.man @@ -3,7 +3,7 @@ .ig groff_diff.man -Last update : 05 July 2002 +Last update : 10 Nov 2002 This file is part of groff, the GNU roff type-setting system. It is the source of the man-page groff_diff(7). @@ -1381,6 +1381,8 @@ request will be searched after fonts specified in the .B fspecial request. . +Without argument, reset the list of global special fonts to be empty. +. .TP .BI .ftr\ f\ g Translate font @@ -1957,6 +1959,8 @@ Fonts are special and will be searched for characters not in the current font. . +Without arguments, reset the list of special fonts to be empty. +. .TP .BI .spreadwarn\ limit Make diff --git a/tmac/X.tmac b/tmac/X.tmac index 74bd6a383..37c319eb6 100644 --- a/tmac/X.tmac +++ b/tmac/X.tmac @@ -17,7 +17,7 @@ .char ~ \v'-.55m'\\s[\\n(.s/2u]\v'.2m'\[ti]\v'-.2m'\s0\v'.55m' .char ^ \v'-.55m'\\s[\\n(.s/2u]\v'.3m'\[ha]\v'-.3m'\s0\v'.55m' .fchar \[va] \o'\[ua]\[da]' -.fchar \[em] -- +.fchar \[em] \v'-.25m'\h'.05m'\D'l .9m 0' .fchar \[en] \- .fchar \[fi] fi .fchar \[fl] fl @@ -45,6 +45,8 @@ .fchar \[aq] ' .fchar \[IJ] IJ .fchar \[ij] ij +.fchar \[fo] < +.fchar \[fc] > . .de X-achar . \" Note that character definitions are always interpreted with diff --git a/tmac/dvi.tmac b/tmac/dvi.tmac index c532e8415..9c155fdd5 100644 --- a/tmac/dvi.tmac +++ b/tmac/dvi.tmac @@ -11,11 +11,13 @@ .ftr TT CW .ftr H HR . -.special TR TI +.special TR TI MI S CW .fspecial TI CWI .fspecial TBI CWI .fspecial HI CWI .fspecial HBI CWI +.fspecial CW SC +.fspecial CWI SC . .\" This uses the dvi-char-_-1 string in fixed-width fonts, dvi-char-_-0 .\" otherwise. @@ -77,6 +79,10 @@ D\v'-.33m'\s0\v'.33m' .fchar \[nb] \[slashnot]\[sb] .cflags 8 \[an] .fchar \[an] \h'-.167m'\[mi]\h'-.167m' +.\" we follow the EC ligatures for fixed-width dashes +.fchar \[em] -- +.fchar \[en] - +.fchar \[hy] - . .\" Define some fractions. .de dvi-frac @@ -99,6 +105,8 @@ D\v'-.33m'\s0\v'.33m' .fchar \[S3] \v'-.2m'\s-33\s+3\v'+.2m' .fchar \[Of] \v'-.2m'\s'\En[.s]*6u/10u'\o'_a'\s0\v'.2m' .fchar \[Om] \v'-.2m'\s'\En[.s]*6u/10u'\o'_o'\s0\v'.2m' +.fchar \[fo] \v'-.1m'\s-3<\s+3\v'+.1m' +.fchar \[fc] \v'-.1m'\s-3>\s+3\v'+.1m' .fchar \[Fo] \v'-.1m'\s-3<\h'-.3m'<\s+3\v'+.1m' .fchar \[Fc] \v'-.1m'\s-3>\h'-.3m'>\s+3\v'+.1m' .fchar \[bb] | diff --git a/tmac/ec.tmac b/tmac/ec.tmac index cc8ad3410..f343be83e 100644 --- a/tmac/ec.tmac +++ b/tmac/ec.tmac @@ -29,6 +29,7 @@ .ftr TT CWEC .ftr H HREC . +.special MI S .fspecial TREC TRTC .fspecial TIEC TITC .fspecial TBEC TBTC @@ -44,7 +45,6 @@ .rchar \[co] \[rg] .rchar \[ct] .rchar \[tm] -.rchar \[aq] .rchar \[12] \[14] \[34] .rchar \[S1] \[S2] \[S3] .rchar \[Of] \[Om] diff --git a/tmac/lbp.tmac b/tmac/lbp.tmac index 7eb714938..9cfe463cf 100644 --- a/tmac/lbp.tmac +++ b/tmac/lbp.tmac @@ -26,6 +26,11 @@ .fchar \[IJ] IJ .fchar \[ij] ij .fchar \[.i] i +.fchar \[lq] `` +.fchar \[rq] '' +.fchar \[fo] \v'-.1m'\s-3<\s+3\v'+.1m' +.fchar \[fc] \v'-.1m'\s-3>\s+3\v'+.1m' +.fchar \[em] \v'-.25m'\h'.05m'\D'l .9m 0' . .de lbp-achar . \" Note that character definitions are always interpreted with diff --git a/tmac/tty-char.tmac b/tmac/tty-char.tmac index a0c2b4baf..f9511e272 100644 --- a/tmac/tty-char.tmac +++ b/tmac/tty-char.tmac @@ -125,7 +125,6 @@ .tty-char \[~~] ~~ .tty-char \[Fn] \z,f .tty-char \[Bq] ,, -.tty-char \[bq] , .tty-char \[lz] <> .\" Latin-1 characters .tty-char \[r!] \z,i diff --git a/tmac/tty.tmac b/tmac/tty.tmac index 96ff0e185..f09da2bb4 100644 --- a/tmac/tty.tmac +++ b/tmac/tty.tmac @@ -49,10 +49,13 @@ .fchar \[oe] oe .fchar \[AE] AE .fchar \[ae] ae +.fchar \[IJ] IJ +.fchar \[ij] ij .fchar \[an] - .fchar \[eu] EUR .fchar \[Eu] EUR .fchar \[.i] i +.fchar \[bq] , . .\" color definitions .defcolor black rgb #000000 |