diff options
-rw-r--r-- | ChangeLog | 43 | ||||
-rw-r--r-- | NEWS | 36 | ||||
-rw-r--r-- | PROBLEMS | 6 | ||||
-rw-r--r-- | doc/groff.texinfo | 4 | ||||
-rw-r--r-- | font/devascii/R.proto | 1 | ||||
-rw-r--r-- | font/devcp1047/R.proto | 1 | ||||
-rw-r--r-- | font/devdvi/CW | 2 | ||||
-rw-r--r-- | font/devdvi/CWI | 2 | ||||
-rw-r--r-- | font/devdvi/HB | 4 | ||||
-rw-r--r-- | font/devdvi/HBI | 4 | ||||
-rw-r--r-- | font/devdvi/HI | 4 | ||||
-rw-r--r-- | font/devdvi/HR | 4 | ||||
-rw-r--r-- | font/devdvi/TB | 14 | ||||
-rw-r--r-- | font/devdvi/TBI | 12 | ||||
-rw-r--r-- | font/devdvi/TI | 6 | ||||
-rw-r--r-- | font/devdvi/TR | 12 | ||||
-rw-r--r-- | font/devdvi/generate/texb.map | 1 | ||||
-rw-r--r-- | font/devdvi/generate/texi.map | 1 | ||||
-rw-r--r-- | font/devdvi/generate/texr.map | 1 | ||||
-rw-r--r-- | font/devdvi/generate/textt.map | 1 | ||||
-rw-r--r-- | font/devhtml/R.proto | 4 | ||||
-rw-r--r-- | font/devlatin1/R.proto | 1 | ||||
-rw-r--r-- | font/devutf8/R.proto | 7 | ||||
-rw-r--r-- | src/roff/troff/glyphuni.cc | 19 | ||||
-rw-r--r-- | src/roff/troff/uniglyph.cc | 69 | ||||
-rw-r--r-- | tmac/X.tmac | 22 | ||||
-rw-r--r-- | tmac/Xps.tmac | 21 | ||||
-rw-r--r-- | tmac/dvi.tmac | 34 | ||||
-rw-r--r-- | tmac/ec.tmac | 2 | ||||
-rw-r--r-- | tmac/lbp.tmac | 51 | ||||
-rw-r--r-- | tmac/ps.tmac | 17 | ||||
-rw-r--r-- | tmac/tty.tmac | 1 |
32 files changed, 327 insertions, 80 deletions
@@ -1,3 +1,46 @@ +2002-11-05 Werner LEMBERG <wl@gnu.org> + + * font/devascii/R.proto, font/devcp1047/R.proto, + font/devlatin1/R.proto: Remove entry for `.i'. + * font/devdvi/generate/textt.map: Add entry for `ad'. + * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map, + font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'. + We need this for getting kerning values to compose `/l' and `/L'. + * font/devdvi: Regenerated font definition files for CM fonts. + * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'. + * font/devutf8/R.proto: Ditto. + Remove double entry for `ti'. + + * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries + for (groff) ligatures, `la', and `ra'. + Add "'C", "'c", `IJ', and `ij'. + Remove double entry for `ti'. + * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all + double entries. + Add "'C", "'c", `IJ', and `ij'. + Fix entries for (groff) ligatures, `la', and `ra'. + + * tmac/ps.tmac (ps-achar): New macro. + Define "'c" and "'C". + * tmac/tty.tmac: Add entry for `.i'. + * tmac/X.tmac (X-achar): New macro. + Define "'c", "'C", and `:Y'. + Add entries for `IJ' and `ij'. + * tmac/Xps.tmac (Xps-achar): New macro. + Define "'c" and "'C". + Add entries for `IJ' and `ij'. + * tmac/lbp.tmac (lbp-achar): New macro. + Add fallback characters for all groff ligatures and many other + glyphs. + * tmac/dvi.tmac: Fix definitions of `_' and `ul'. + Add entries for `/l' and `/L'. + Define "'c" and "'C". + Add entries for `IJ' and `ij'. + +2002-11-02 Larry Kollar <kollar@alltel.net> + + * PROBLEMS: Document how to solve Mac OS X compilation problems. + 2002-11-02 Werner LEMBERG <wl@gnu.org> Adding support for composite glyphs: \[xxx yyy ...] and the @@ -4,6 +4,42 @@ described. There are more details in the man and info pages. VERSION 1.18.2 ============== +Troff +----- + +o Composite glyphs are now supported. To do this, a subset of the Adobe + Glyph List (AGL) Algorithm as described in + + http://partners.adobe.com/asn/developer/typeforum/unicodegn.html + + is used to construct glyph names based on Unicode character codes. The + existing groff glyph names are frozen; no glyph names which can't be + constructed algorithmically will be added in the future. + + The \[...] escape sequence has been extended to specify multiple glyph + components. Example: + + \[A ho] + + this accesses a glyph with the name `u0041_0328'. + + Some groff glyphs which are useful as composites map to `wrong' Unicode + code points. For example, `ho' maps to U+02DB which is a spacing + ogonek, whereas a non-spacing ogonek U+0328 is needed for composite + glyphs. The new request + + .composite from to + + will change the mapping while a composite glyph name is constructed. + To make \[A ho] yield the expected result, + + .composite ho u0328 + + is needed. + + Please refer to the info pages of groff and to the groff_char man page + for more details. + Grotty ------ @@ -783,3 +783,9 @@ patch is available. Use GCC 2.95.2 or later instead. Make sure -DCFRONT_ANSI_BUG is included in DEFINES in the top-level Makefile. If that doesn't solve the problem, define INT_MIN as -INT_MAX in libgroff/lib.h. + +---------------------------------------------------------------------- + +* When compiling on MacOS X, groff compiles but does not run well. + +Use ./configure CXX=g++2 then make as usual. diff --git a/doc/groff.texinfo b/doc/groff.texinfo index 32bf480b..6a23c677 100644 --- a/doc/groff.texinfo +++ b/doc/groff.texinfo @@ -8197,6 +8197,8 @@ description file after the @code{charset} command. It is possible to include unnamed glyphs in the font description file by using a name of @samp{---}; the @code{\N} escape sequence is the only way to use these. + +No kerning is applied to glyphs accessed with @code{\N}. @endDefesc Some escape sequences directly map onto special glyphs. @@ -11272,7 +11274,7 @@ of the last glyph added to the current environment. The @code{\n[.csk]} register contains the @dfn{skew} (how far to the right of the glyph's center -that @code{gtroff} shold place an accent) +that @code{gtroff} should place an accent) of the last glyph added to the current environment. @endDefreg diff --git a/font/devascii/R.proto b/font/devascii/R.proto index 9223e460..abe065fa 100644 --- a/font/devascii/R.proto +++ b/font/devascii/R.proto @@ -122,7 +122,6 @@ f 24 0 0146 g 24 0 0147 h 24 0 0150 i 24 0 0151 -.i " j 24 0 0152 k 24 0 0153 l 24 0 0154 diff --git a/font/devcp1047/R.proto b/font/devcp1047/R.proto index 3dc50a71..06acf228 100644 --- a/font/devcp1047/R.proto +++ b/font/devcp1047/R.proto @@ -116,7 +116,6 @@ f 24 0 0206 g 24 0 0207 h 24 0 0210 i 24 0 0211 -.i " Fo 24 0 0212 Fc 24 0 0213 Sd 24 0 0214 diff --git a/font/devdvi/CW b/font/devdvi/CW index 8a01912d..2cb32688 100644 --- a/font/devdvi/CW +++ b/font/devdvi/CW @@ -149,4 +149,4 @@ ba " rC " ~ 550498,640797 2 0176 a~ " ---- 550498,640797 2 0177 +ad 550498,640797 2 0177 diff --git a/font/devdvi/CWI b/font/devdvi/CWI index d2417543..13ded182 100644 --- a/font/devdvi/CWI +++ b/font/devdvi/CWI @@ -149,4 +149,4 @@ ba " rC " ~ 550498,640797,0,182045 2 0176 a~ " ---- 550498,640797,0,182045 2 0177 +ad 550498,640797,0,182045 2 0177 diff --git a/font/devdvi/HB b/font/devdvi/HB index bd915844..7d9847b8 100644 --- a/font/devdvi/HB +++ b/font/devdvi/HB @@ -12,6 +12,8 @@ ff ! 80101 ff ) 80101 ff rB 80101 ff ] 80101 +slash@for@l l -267971 +slash@for@l L -307293 cq ? 128160 ' ? 128160 cq ! 128160 @@ -185,7 +187,7 @@ oe 897120,480597 0 0033 AE 993240,728178 2 0035 OE 1121400,728178 2 0036 /O 897120,779150,50973 3 0037 ---- 267971,480597 0 0040 +slash@for@l 267971,480597 0 0040 ! 384480,728178 2 0041 rq 585458,728178 2 0042 sh 961200,728178,203888 3 0043 diff --git a/font/devdvi/HBI b/font/devdvi/HBI index 4e9efd08..f410707e 100644 --- a/font/devdvi/HBI +++ b/font/devdvi/HBI @@ -13,6 +13,8 @@ ff ! 80101 ff ) 80101 ff rB 80101 ff ] 80101 +slash@for@l l -267971 +slash@for@l L -307293 cq ? 128160 ' ? 128160 cq ! 128160 @@ -186,7 +188,7 @@ oe 897120,480597,0,78936 0 0033 AE 993240,728178,0,122738 2 0035 OE 1121400,728178,0,122738 2 0036 /O 897120,779150,50973,76304 3 0037 ---- 267971,480597 0 0040 +slash@for@l 267971,480597 0 0040 ! 384480,728178,0,63027 2 0041 rq 585458,728178,0,28947 2 0042 sh 961200,728178,203888,58506 3 0043 diff --git a/font/devdvi/HI b/font/devdvi/HI index f98081e5..4034e21b 100644 --- a/font/devdvi/HI +++ b/font/devdvi/HI @@ -13,6 +13,8 @@ ff ! 72818 ff ) 72818 ff rB 72818 ff ] 72818 +slash@for@l l -250494 +slash@for@l L -270885 cq ? 116509 ' ? 116509 cq ! 116509 @@ -186,7 +188,7 @@ oe 815562,466034,0,71070 0 0033 AE 902944,728178,0,125650 2 0035 OE 1019453,728178,0,125650 2 0036 /O 815562,779150,50973,79216 3 0037 ---- 250494,466034 0 0040 +slash@for@l 250494,466034 0 0040 ! 334963,728178,0,60114 2 0041 rq 524290,728178,0,3315 2 0042 sh 873816,728178,203888,53338 3 0043 diff --git a/font/devdvi/HR b/font/devdvi/HR index 93b8a2d4..d9d660b5 100644 --- a/font/devdvi/HR +++ b/font/devdvi/HR @@ -12,6 +12,8 @@ ff ! 72818 ff ) 72818 ff rB 72818 ff ] 72818 +slash@for@l l -250494 +slash@for@l L -270885 cq ? 116509 ' ? 116509 cq ! 116509 @@ -185,7 +187,7 @@ oe 815562,466034 0 0033 AE 902944,728178 2 0035 OE 1019453,728178 2 0036 /O 815562,779150,50973 3 0037 ---- 250494,466034 0 0040 +slash@for@l 250494,466034 0 0040 ! 334963,728178 2 0041 rq 524290,728178 2 0042 sh 873816,728178,203888 3 0043 diff --git a/font/devdvi/TB b/font/devdvi/TB index 92b231a6..581840af 100644 --- a/font/devdvi/TB +++ b/font/devdvi/TB @@ -1,5 +1,5 @@ # -# manually added kernings for `` and '' +# manually added kerning for `` and '' # name TB internalname cmbx10 @@ -8,8 +8,8 @@ ligatures ff fi fl ffi ffl 0 checksum 452076118 designsize 10485760 kernpairs -ff ' 114323 ff cq 114323 +ff ' 114323 ff ? 114323 ff ! 114323 ff ) 114323 @@ -19,10 +19,12 @@ ff ] 114323 ' cq -100488 cq ' -100488 cq cq -100488 -' ? 133984 +slash@for@l l -334960 +slash@for@l L -396128 cq ? 133984 -' ! 133984 +' ? 133984 cq ! 133984 +' ! 133984 A t -33496 A C -33496 A O -33496 @@ -135,8 +137,8 @@ b y -33496 b w -33496 c h -33496 c k -33496 -f ' 114323 f cq 114323 +f ' 114323 f ? 114323 f ! 114323 f ) 114323 @@ -236,7 +238,7 @@ oe 937888,466034 0 0033 AE 1092261,719440 2 0035 OE 1226245,719440 2 0036 /O 937888,770413,50973 3 0037 ---- 334960,466034 0 0040 +slash@for@l 334960,466034 0 0040 ! 367000,728178 2 0041 rq 632056,728178 2 0042 sh 1004880,728178,203888 3 0043 diff --git a/font/devdvi/TBI b/font/devdvi/TBI index 7020689e..5c34bc2d 100644 --- a/font/devdvi/TBI +++ b/font/devdvi/TBI @@ -1,5 +1,5 @@ # -# manually added kernings for `` and '' +# manually added kerning for `` and '' # name TBI internalname cmbxti10 @@ -20,10 +20,12 @@ ff ] 111848 cq ' -92624 ' cq -92624 cq cq -92624 -' ? 123498 +slash@for@l l -311075 +slash@for@l L -402826 cq ? 123498 -' ! 123498 +' ? 123498 cq ! 123498 +' ! 123498 A n -30875 A l -30875 A r -30875 @@ -185,8 +187,8 @@ Fn ] 111848 f rB 111848 f ] 111848 l l 61749 -n ' -123498 n cq -123498 +n ' -123498 o e -61749 o a -61749 o o -61749 @@ -242,7 +244,7 @@ oe 866814,466034,0,89131 0 0033 AE 1072450,719440,0,119859 2 0035 OE 1195947,719440,0,119859 2 0036 /O 928563,770413,50973,95027 3 0037 ---- 311075,466034 0 0040 +slash@for@l 311075,466034 0 0040 ! 404864,728178,0,119714 2 0041 rq 650696,728178,0,83248 2 0042 sh 990312,728178,203888,71653 3 0043 diff --git a/font/devdvi/TI b/font/devdvi/TI index f0739372..31a0edcc 100644 --- a/font/devdvi/TI +++ b/font/devdvi/TI @@ -1,5 +1,5 @@ # -# manually added kernings for `` and '' +# manually added kerning for `` and '' # name TI special @@ -21,6 +21,8 @@ ff ] 109373 cq ' -80390 ' cq -80390 cq cq -80390 +slash@for@l l -267968 +slash@for@l L -336125 cq ? 107187 ' ? 107187 cq ! 107187 @@ -243,7 +245,7 @@ oe 750310,451470,0,78789 0 0033 AE 925654,716526,0,126120 2 0035 OE 1032842,716526,0,126120 2 0036 /O 803904,767499,50973,98595 3 0037 ---- 267968,451470 0 0040 +slash@for@l 267968,451470 0 0040 ! 321562,728178,0,130200 2 0041 rq 539432,728178,0,72994 2 0042 sh 857498,728178,203888,69378 3 0043 diff --git a/font/devdvi/TR b/font/devdvi/TR index 4a42532d..64f457b9 100644 --- a/font/devdvi/TR +++ b/font/devdvi/TR @@ -1,5 +1,5 @@ # -# manually added kernings for `` and '' +# manually added kerning for `` and '' # name TR special @@ -20,10 +20,12 @@ ff ] 81557 cq ' -87382 ' cq -87382 cq cq -87382 -' ? 116509 +slash@for@l l -291272 +slash@for@l L -334963 cq ? 116509 -' ! 116509 +' ? 116509 cq ! 116509 +' ! 116509 *A t -29128 A t -29128 *A C -29128 @@ -203,8 +205,8 @@ b y -29128 b w -29128 c h -29128 c k -29128 -f ' 81557 f cq 81557 +f ' 81557 f ? 81557 f ! 81557 f ) 81557 @@ -304,7 +306,7 @@ oe 815562,451470 0 0033 AE 946634,716526 2 0035 OE 1063142,716526 2 0036 /O 815562,767499,50973 3 0037 ---- 291272,451470 0 0040 +slash@for@l 291272,451470 0 0040 ! 291272,728178 2 0041 rq 524290,728178 2 0042 sh 873816,728178,203888 3 0043 diff --git a/font/devdvi/generate/texb.map b/font/devdvi/generate/texb.map index 6ea689f5..ddab640f 100644 --- a/font/devdvi/generate/texb.map +++ b/font/devdvi/generate/texb.map @@ -30,6 +30,7 @@ 29 AE 30 OE 31 /O +32 slash@for@l 33 ! 34 rq 35 # sh diff --git a/font/devdvi/generate/texi.map b/font/devdvi/generate/texi.map index 82497eb8..4e3915d9 100644 --- a/font/devdvi/generate/texi.map +++ b/font/devdvi/generate/texi.map @@ -30,6 +30,7 @@ 29 AE 30 OE 31 /O +32 slash@for@l 33 ! 34 rq 35 # sh diff --git a/font/devdvi/generate/texr.map b/font/devdvi/generate/texr.map index 73abe162..0eaf4230 100644 --- a/font/devdvi/generate/texr.map +++ b/font/devdvi/generate/texr.map @@ -30,6 +30,7 @@ 29 AE 30 OE 31 /O +32 slash@for@l 33 ! 34 rq 35 # sh diff --git a/font/devdvi/generate/textt.map b/font/devdvi/generate/textt.map index c980496c..6d6031be 100644 --- a/font/devdvi/generate/textt.map +++ b/font/devdvi/generate/textt.map @@ -124,3 +124,4 @@ 124 ba | 125 rC } 126 a~ ~ +127 ad diff --git a/font/devhtml/R.proto b/font/devhtml/R.proto index 3af836de..b2203216 100644 --- a/font/devhtml/R.proto +++ b/font/devhtml/R.proto @@ -216,7 +216,11 @@ tdi " 'y 24 0 0x00FD ý Tp 24 0 0x00FE þ :y 24 0 0x00FF ÿ +'C 24 0 0x0106 Ć +'c 24 0 0x0107 ć .i 24 0 0x0131 ı +IJ 24 0 0x0132 IJ +ij 24 0 0x0133 ij /L 24 0 0x0141 Ł /l 24 0 0x0142 ł OE 24 0 0x0152 Œ diff --git a/font/devlatin1/R.proto b/font/devlatin1/R.proto index db701eee..358778a6 100644 --- a/font/devlatin1/R.proto +++ b/font/devlatin1/R.proto @@ -121,7 +121,6 @@ f 24 0 0146 g 24 0 0147 h 24 0 0150 i 24 0 0151 -.i " j 24 0 0152 k 24 0 0153 l 24 0 0154 diff --git a/font/devutf8/R.proto b/font/devutf8/R.proto index 423bc6a6..e62047fc 100644 --- a/font/devutf8/R.proto +++ b/font/devutf8/R.proto @@ -216,7 +216,11 @@ tdi " 'y 24 0 0x00FD Tp 24 0 0x00FE :y 24 0 0x00FF +'C 24 0 0x0106 +'c 24 0 0x0107 .i 24 0 0x0131 +IJ 24 0 0x0132 +ij 24 0 0x0133 /L 24 0 0x0141 /l 24 0 0x0142 OE 24 0 0x0152 @@ -348,8 +352,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/src/roff/troff/glyphuni.cc b/src/roff/troff/glyphuni.cc index 79a01535..c3389910 100644 --- a/src/roff/troff/glyphuni.cc +++ b/src/roff/troff/glyphuni.cc @@ -122,6 +122,11 @@ struct { { "d", "0064" }, { "e", "0065" }, { "f", "0066" }, + { "ff", "0066_0066" }, + { "Fi", "0066_0066_0069" }, + { "Fl", "0066_0066_006C" }, + { "fi", "0066_0069" }, + { "fl", "0066_006C" }, { "g", "0067" }, { "h", "0068" }, { "i", "0069" }, @@ -251,7 +256,11 @@ struct { { "'y", "00FD" }, { "Tp", "00FE" }, { ":y", "00FF" }, + { "'C", "0106" }, + { "'c", "0107" }, { ".i", "0131" }, + { "IJ", "0132" }, + { "ij", "0133" }, { "/L", "0141" }, { "/l", "0142" }, { "OE", "0152" }, @@ -383,7 +392,6 @@ struct { { "is", "222B" }, { "tf", "2234" }, { "3d", "2234" }, - { "ti", "223C" }, { "ap", "223C" }, { "=~", "2245" }, { "~~", "2248" }, @@ -407,8 +415,6 @@ struct { { "rc", "2309" }, { "lf", "230A" }, { "rf", "230B" }, - { "la", "2329" }, - { "ra", "232A" }, { "CR", "240D" }, { "an", "2500" }, { "br", "2502" }, @@ -428,11 +434,8 @@ struct { { "CL", "2663" }, { "HE", "2665" }, { "DI", "2666" }, - { "ff", "FB00" }, - { "fi", "FB01" }, - { "fl", "FB02" }, - { "Fi", "FB03" }, - { "Fl", "FB04" }, + { "la", "3008" }, + { "ra", "3009" }, }; // global constructor diff --git a/src/roff/troff/uniglyph.cc b/src/roff/troff/uniglyph.cc index 3efb4910..792ec950 100644 --- a/src/roff/troff/uniglyph.cc +++ b/src/roff/troff/uniglyph.cc @@ -39,11 +39,11 @@ struct { char *value; } unicode_to_glyph_list[] = { { "0021", "!" }, - { "0022", "\"" }, +//{ "0022", "\"" }, { "0022", "dq" }, - { "0023", "#" }, +//{ "0023", "#" }, { "0023", "sh" }, - { "0024", "$" }, +//{ "0024", "$" }, { "0024", "Do" }, { "0025", "%" }, { "0026", "&" }, @@ -51,11 +51,11 @@ struct { { "0028", "(" }, { "0029", ")" }, { "002A", "*" }, - { "002B", "+" }, +//{ "002B", "+" }, { "002B", "pl" }, { "002C", "," }, { "002E", "." }, - { "002F", "/" }, +//{ "002F", "/" }, { "002F", "sl" }, { "0030", "0" }, { "0031", "1" }, @@ -70,12 +70,12 @@ struct { { "003A", ":" }, { "003B", ";" }, { "003C", "<" }, - { "003D", "=" }, +//{ "003D", "=" }, { "003D", "eq" }, { "003D_0338", "!=" }, { "003E", ">" }, { "003F", "?" }, - { "0040", "@" }, +//{ "0040", "@" }, { "0040", "at" }, { "0041", "A" }, { "0041_0300", "`A" }, @@ -86,6 +86,7 @@ struct { { "0041_030A", "oA" }, { "0042", "B" }, { "0043", "C" }, + { "0043_0301", "'C" }, { "0043_0327", ",C" }, { "0044", "D" }, { "0045", "E" }, @@ -138,11 +139,11 @@ struct { //{ "005C", "\\" }, { "005D", "rB" }, //{ "005D", "]" }, - { "005E", "^" }, - { "005E", "a^" }, +//{ "005E", "^" }, +//{ "005E", "a^" }, { "005E", "ha" }, - { "005F", "_" }, - { "005F", "ru" }, +//{ "005F", "_" }, +//{ "005F", "ru" }, { "005F", "ul" }, { "0060", "ga" }, //{ "0060", "\\`" }, @@ -155,6 +156,7 @@ struct { { "0061_030A", "oa" }, { "0062", "b" }, { "0063", "c" }, + { "0063_0301", "'c" }, { "0063_0327", ",c" }, { "0064", "d" }, { "0065", "e" }, @@ -163,6 +165,11 @@ struct { { "0065_0302", "^e" }, { "0065_0308", ":e" }, { "0066", "f" }, + { "0066_0066", "ff" }, + { "0066_0066_0069", "Fi" }, + { "0066_0066_006C", "Fl" }, + { "0066_0069", "fi" }, + { "0066_006C", "fl" }, { "0067", "g" }, { "0068", "h" }, { "0069", "i" }, @@ -202,15 +209,15 @@ struct { { "007A", "z" }, { "007A_030C", "vz" }, { "007B", "lC" }, - { "007B", "{" }, +//{ "007B", "{" }, { "007C", "ba" }, - { "007C", "or" }, - { "007C", "|" }, +//{ "007C", "or" }, +//{ "007C", "|" }, { "007D", "rC" }, - { "007D", "}" }, - { "007E", "a~" }, +//{ "007D", "}" }, +//{ "007E", "a~" }, { "007E", "ti" }, - { "007E", "~" }, +//{ "007E", "~" }, { "00A1", "r!" }, { "00A2", "ct" }, { "00A3", "Po" }, @@ -228,7 +235,7 @@ struct { { "00AF", "a-" }, { "00B0", "de" }, { "00B1", "+-" }, - { "00B1", "t+-" }, +//{ "00B1", "t+-" }, { "00B2", "S2" }, { "00B3", "S3" }, { "00B4", "aa" }, @@ -247,17 +254,19 @@ struct { { "00C6", "AE" }, { "00D0", "-D" }, { "00D7", "mu" }, - { "00D7", "tmu" }, +//{ "00D7", "tmu" }, { "00D8", "/O" }, { "00DE", "TP" }, { "00DF", "ss" }, { "00E6", "ae" }, { "00F0", "Sd" }, { "00F7", "di" }, - { "00F7", "tdi" }, +//{ "00F7", "tdi" }, { "00F8", "/o" }, { "00FE", "Tp" }, { "0131", ".i" }, + { "0132", "IJ" }, + { "0133", "ij" }, { "0141", "/L" }, { "0142", "/l" }, { "0152", "OE" }, @@ -321,13 +330,13 @@ struct { { "03D1", "+h" }, { "03D5", "+f" }, { "03D6", "+p" }, - { "2010", "-" }, +//{ "2010", "-" }, { "2010", "hy" }, { "2013", "en" }, { "2014", "em" }, - { "2018", "`" }, +//{ "2018", "`" }, { "2018", "oq" }, - { "2019", "'" }, +//{ "2019", "'" }, { "2019", "cq" }, { "201A", "bq" }, { "201C", "lq" }, @@ -344,7 +353,7 @@ struct { { "203E", "rn" }, { "2044", "f/" }, { "20AC", "Eu" }, - { "20AC", "eu" }, +//{ "20AC", "eu" }, { "2111", "Im" }, { "2118", "wp" }, { "211C", "Re" }, @@ -382,12 +391,11 @@ struct { { "2229", "ca" }, { "222A", "cu" }, { "222B", "is" }, - { "2234", "3d" }, +//{ "2234", "3d" }, { "2234", "tf" }, { "223C", "ap" }, - { "223C", "ti" }, { "2245", "=~" }, - { "2248", "~=" }, +//{ "2248", "~=" }, { "2248", "~~" }, { "2261", "==" }, { "2264", "<=" }, @@ -410,7 +418,7 @@ struct { { "240D", "CR" }, { "2500", "an" }, { "2502", "br" }, - { "2502", "bv" }, +//{ "2502", "bv" }, { "251D", "rk" }, { "2525", "lk" }, { "256D", "lt" }, @@ -428,11 +436,6 @@ struct { { "2666", "DI" }, { "3008", "la" }, { "3009", "ra" }, - { "FB00", "ff" }, - { "FB01", "fi" }, - { "FB02", "fl" }, - { "FB03", "Fi" }, - { "FB04", "Fl" }, }; // global constructor diff --git a/tmac/X.tmac b/tmac/X.tmac index 8b9a1ba8..74bd6a38 100644 --- a/tmac/X.tmac +++ b/tmac/X.tmac @@ -43,8 +43,30 @@ .fchar \[rh] \[rA] .fchar \[bq] , .fchar \[aq] ' +.fchar \[IJ] IJ +.fchar \[ij] ij +. +.de X-achar +. \" Note that character definitions are always interpreted with +. \" compatibility mode off. +. fchar \\$1 \ +\\$3\ +\k[acc]\ +\h'(u;-\w'\\$2'-\w'\\$3'/2+\\\\n[skw]+(\w'x'*0)-\\\\n[skw])'\ +\v'(u;\w'x'*0+\\\\n[rst]+(\w'\\$3'*0)-\\\\n[rst])'\ +\\$2\ +\v'(u;\w'x'*0-\\\\n[rst]+(\w'\\$3'*0)+\\\\n[rst])'\ +\h'|\\\\n[acc]u' +. hcode \\$1\\$4 +.. +. +.X-achar \['C] \' C c +.X-achar \['c] \' c c +.X-achar \[:Y] \[ad] Y y +. .if '\*[.T]'X100' \ . char \[radicalex] \h'-\w'\[sr]'u'\[radicalex]\h'\w'\[sr]'u' +. .if !\n[_C] \ . mso pspic.tmac .cp \n[_C] diff --git a/tmac/Xps.tmac b/tmac/Xps.tmac index 1064ba6b..764f9079 100644 --- a/tmac/Xps.tmac +++ b/tmac/Xps.tmac @@ -45,6 +45,27 @@ .Xps-char \[%0] %\s[\En[.s]*6u/10u]\f[I]0 .Xps-char \[lh] \[->] .Xps-char \[rh] \[<-] +. +.de Xps-achar +. \" Note that character definitions are always interpreted with +. \" compatibility mode off. +. fchar \\$1 \ +\\$3\ +\k[acc]\ +\h'(u;-\w'\\$2'-\w'\\$3'/2+\\\\n[skw]+(\w'x'*0)-\\\\n[skw])'\ +\v'(u;\w'x'*0+\\\\n[rst]+(\w'\\$3'*0)-\\\\n[rst])'\ +\\$2\ +\v'(u;\w'x'*0-\\\\n[rst]+(\w'\\$3'*0)+\\\\n[rst])'\ +\h'|\\\\n[acc]u' +. hcode \\$1\\$4 +.. +. +.Xps-achar \['C] \' C c +.Xps-achar \['c] \' c c +. +.fchar \[IJ] IJ +.fchar \[ij] ij +. .cp \n[_C] . .do ie '\[char97]'a' \ diff --git a/tmac/dvi.tmac b/tmac/dvi.tmac index 4eb03b86..c532e841 100644 --- a/tmac/dvi.tmac +++ b/tmac/dvi.tmac @@ -17,18 +17,31 @@ .fspecial HI CWI .fspecial HBI CWI . -.\" This uses the dvi-char_1 string in font CW or CWI, dvi-char_0 otherwise. -.fchar _ \ -\R'dvi-char_ ((\\n[.f] == \f[CW]\\n[.f]\f[]) : \ - (\\n[.f] == \f[CWI]\\n[.f]\f[]))'\\*[dvi-char_\\n[dvi-char_]] -.fchar \[ul] \R'dvi-char_ \w'M'==\w'i''\\*[dvi-char_\\n[dvi-char_]] +.\" This uses the dvi-char-_-1 string in fixed-width fonts, dvi-char-_-0 +.\" otherwise. +.fchar _ \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 and CWI use a real _ character. -.ds dvi-char_1 _ +.ds dvi-char-_-0 \Z'\v'.08m'\D'R .54m .04m''\h'.5m' +.\" In fixed-width fonts (CW and CWI) use a real _ character. +.ds dvi-char-_-1 _ +. +.fchar \[/l] \ +\R'dvi-char ((\w'M' == \w'i') + \ + (\\n[.f] == \f[CWI]\\n[.f]\f[]))'\\*[dvi-char-/l-\\n[dvi-char]] +.ds dvi-char-/l-0 \[slash@for@l]l +.ds dvi-char-/l-1 \Z'\v'0.22v'\h'-0.02m'\''l +.ds dvi-char-/l-2 \Z'\v'0.22v'\h'-0.13m'\''l +. +.fchar \[/L] \ +\R'dvi-char ((\w'M' == \w'i') + \ + (\\n[.f] == \f[CWI]\\n[.f]\f[]))'\\*[dvi-char-/L-\\n[dvi-char]] +.ds dvi-char-/L-0 \h'\w'L'u-\w'\[slash@for@l]L'u'\[slash@for@l]L +.ds dvi-char-/L-1 \Z'\v'0.22v'\h'-0.14m'\''L +.ds dvi-char-/L-2 \Z'\v'0.22v'\h'-0.21m'\''L . .fchar \[radicalex] \D'R .5m -.04m'\v'.04m' +.fchar \[ul] \Z'\v'.23m'\D'R .54m .04m''\h'.5m' .fchar \[br] \Z'\v'.25m'\D'R .04m -1m'' .fchar \[ru] \Z'\v'-.02m'\D'R .54m .04m''\h'.5m' .fchar \[rn] \Z'\v'-.77m'\D'R .54m .04m''\h'.5m' @@ -92,6 +105,9 @@ D\v'-.33m'\s0\v'.33m' .fchar \[Ye] \o'-Y' .fchar \[Cs] \o'\[mu]o' . +.fchar \[IJ] IJ +.fchar \[ij] ij +. .de dvi-achar . \" Note that character definitions are always interpreted with . \" compatibility mode off. @@ -112,6 +128,7 @@ D\v'-.33m'\s0\v'.33m' .dvi-achar \[~A] ~ A a .dvi-achar \[:A] \[ad] A a .dvi-achar \[oA] \[ao] A a +.dvi-achar \['C] \' C c .dvi-achar \[`E] \` E e .dvi-achar \['E] \' E e .dvi-achar \[^E] ^ E e @@ -138,6 +155,7 @@ D\v'-.33m'\s0\v'.33m' .dvi-achar \[~a] ~ a a .dvi-achar \[:a] \[ad] a a .dvi-achar \[oa] \[ao] a a +.dvi-achar \['c] \' c c .dvi-achar \[`e] \` e e .dvi-achar \['e] \' e e .dvi-achar \[^e] ^ e e diff --git a/tmac/ec.tmac b/tmac/ec.tmac index d8bff62f..cc8ad341 100644 --- a/tmac/ec.tmac +++ b/tmac/ec.tmac @@ -40,7 +40,7 @@ .fspecial CWEC CWTC .fspecial CWIEC CWITC . -.\" remove definitions of glyphs which are TC fonts +.\" remove definitions of glyphs which are in TC fonts .rchar \[co] \[rg] .rchar \[ct] .rchar \[tm] diff --git a/tmac/lbp.tmac b/tmac/lbp.tmac index e7641222..7eb71493 100644 --- a/tmac/lbp.tmac +++ b/tmac/lbp.tmac @@ -2,6 +2,7 @@ .\" .nr _C \n(.C .cp 0 +. .ftr CW CR .ftr C CR .ftr CO CI @@ -14,6 +15,56 @@ .ftr Hx HNBI .ftr EBI EI .ftr CBI CI +. +.fchar \[fi] fi +.fchar \[fl] fl +.fchar \[ff] ff +.fchar \[Fi] ffi +.fchar \[Fl] ffl +.fchar \[OE] OE +.fchar \[oe] oe +.fchar \[IJ] IJ +.fchar \[ij] ij +.fchar \[.i] i +. +.de lbp-achar +. \" Note that character definitions are always interpreted with +. \" compatibility mode off. +. fchar \\$1 \ +\\$3\ +\k[acc]\ +\h'(u;-\w'\\$2'-\w'\\$3'/2+\\\\n[skw]+(\w'x'*0)-\\\\n[skw])'\ +\v'(u;\w'x'*0+\\\\n[rst]+(\w'\\$3'*0)-\\\\n[rst])'\ +\\$2\ +\v'(u;\w'x'*0-\\\\n[rst]+(\w'\\$3'*0)+\\\\n[rst])'\ +\h'|\\\\n[acc]u' +. hcode \\$1\\$4 +.. +. +.lbp-achar \['A] \' A a +.lbp-achar \['C] \' C c +.lbp-achar \['c] \' c c +.lbp-achar \['I] \' I i +.lbp-achar \['O] \' O o +.lbp-achar \['U] \' U u +.lbp-achar \['Y] \' Y y +.lbp-achar \['y] \' y y +.lbp-achar \[:E] \[ad] E e +.lbp-achar \[:I] \[ad] I i +.lbp-achar \[:Y] \[ad] Y y +.lbp-achar \[^A] ^ A a +.lbp-achar \[^E] ^ E e +.lbp-achar \[^I] ^ I i +.lbp-achar \[^O] ^ O o +.lbp-achar \[^U] ^ U u +.lbp-achar \[`A] \` A a +.lbp-achar \[`E] \` E e +.lbp-achar \[`I] \` I i +.lbp-achar \[`O] \` O o +.lbp-achar \[`U] \` U u +.lbp-achar \[~O] ~ O o +.lbp-achar \[~o] ~ o o +. .cp \n(_C . .do mso latin1.tmac diff --git a/tmac/ps.tmac b/tmac/ps.tmac index 01868ce5..67209e72 100644 --- a/tmac/ps.tmac +++ b/tmac/ps.tmac @@ -50,6 +50,23 @@ .fchar \[IJ] IJ .fchar \[tm] \s-3\v'-.3m'TM\v'+.3m'\s+3 . +.de ps-achar +. \" Note that character definitions are always interpreted with +. \" compatibility mode off. +. fchar \\$1 \ +\\$3\ +\k[acc]\ +\h'(u;-\w'\\$2'-\w'\\$3'/2+\\\\n[skw]+(\w'x'*0)-\\\\n[skw])'\ +\v'(u;\w'x'*0+\\\\n[rst]+(\w'\\$3'*0)-\\\\n[rst])'\ +\\$2\ +\v'(u;\w'x'*0-\\\\n[rst]+(\w'\\$3'*0)+\\\\n[rst])'\ +\h'|\\\\n[acc]u' +. hcode \\$1\\$4 +.. +. +.ps-achar \['C] \' C c +.ps-achar \['c] \' c c +. .\" pic tests this register to see whether it should use \X'ps:...' .nr 0p 1 . diff --git a/tmac/tty.tmac b/tmac/tty.tmac index e6bd5987..96ff0e18 100644 --- a/tmac/tty.tmac +++ b/tmac/tty.tmac @@ -52,6 +52,7 @@ .fchar \[an] - .fchar \[eu] EUR .fchar \[Eu] EUR +.fchar \[.i] i . .\" color definitions .defcolor black rgb #000000 |