summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwlemb <wlemb>2003-12-22 10:49:53 +0000
committerwlemb <wlemb>2003-12-22 10:49:53 +0000
commitdabb6c8eaed79943ef9eaf3a6b16a072c0a7281c (patch)
treea351b30a96c41de2f26f7b7ba0e604a2bfa34d47
parent43358de4e1dd925e586baf8c46ef456985dded6a (diff)
downloadgroff-dabb6c8eaed79943ef9eaf3a6b16a072c0a7281c.tar.gz
* font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
and u0049_0307. Add missing latin-2 glyphs. * font/devutf8/R.proto: Add missing latin-2 glyphs. * tmac/troffrc: Load `composite.tmac' earlier. * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306, u00{53,73}_0327, and u0049_0307. * tmac/X.tmac: Add u00{47,67}_0306. * tmac/tty-char.tmac: Use composite glyph names for readability. * NEWS: Updated. * src/include/unicode.h: Remove `extern' keywords.
-rw-r--r--ChangeLog22
-rw-r--r--NEWS7
-rw-r--r--font/devhtml/R.proto55
-rw-r--r--font/devutf8/R.proto42
-rw-r--r--src/include/unicode.h10
-rw-r--r--tmac/X.tmac5
-rw-r--r--tmac/Xps.tmac3
-rw-r--r--tmac/dvi.tmac124
-rw-r--r--tmac/latin5.tmac107
-rw-r--r--tmac/lbp.tmac54
-rw-r--r--tmac/ps.tmac12
-rw-r--r--tmac/troffrc6
-rw-r--r--tmac/tty-char.tmac10
13 files changed, 357 insertions, 100 deletions
diff --git a/ChangeLog b/ChangeLog
index 77f672a0..db4f96ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2003-12-20 Werner LEMBERG <wl@gnu.org>
+
+ * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
+ and u0049_0307.
+ Add missing latin-2 glyphs.
+ * font/devutf8/R.proto: Add missing latin-2 glyphs.
+
+ * tmac/troffrc: Load `composite.tmac' earlier.
+
+ * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
+ u00{53,73}_0327, and u0049_0307.
+ * tmac/X.tmac: Add u00{47,67}_0306.
+ * tmac/tty-char.tmac: Use composite glyph names for readability.
+
+ * NEWS: Updated.
+
+ * src/include/unicode.h: Remove `extern' keywords.
+
+2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
+
+ * tmac/latin5.tmac: New file.
+
2003-12-19 Werner LEMBERG <wl@gnu.org>
Add some glyphs needed for Turkish.
diff --git a/NEWS b/NEWS
index 26c69e1c..65c54022 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,13 @@ o If option `-V' is used more than once, the commands will be both printed
Troff
-----
+o An input encoding file for latin-5 (a.k.a. ISO 8859-9) has been added.
+ Example use:
+
+ groff -Tdvi -mlatin5 my_file > my_file.dvi
+
+ Note that some output devices don't support all glyphs of this encoding.
+
o If the `return' request is called with an argument, it exits twice,
namely the current macro and the macro one level higher. This is
used to define a wrapper macro for `return' in trace.tmac.
diff --git a/font/devhtml/R.proto b/font/devhtml/R.proto
index a4bddf0c..84df8fac 100644
--- a/font/devhtml/R.proto
+++ b/font/devhtml/R.proto
@@ -151,10 +151,6 @@ Fc 24 0 0x00BB &raquo;
14 24 0 0x00BC &frac14;
12 24 0 0x00BD &frac12;
34 24 0 0x00BE &frac34;
-18 24 0 0x215B &#8539;
-38 24 0 0x215C &#8540;
-58 24 0 0x215D &#8541;
-78 24 0 0x215E &#8542;
r? 24 0 0x00BF &iquest;
`A 24 0 0x00C0 &Agrave;
'A 24 0 0x00C1 &Aacute;
@@ -222,18 +218,65 @@ tdi "
'y 24 0 0x00FD &yacute;
Tp 24 0 0x00FE &thorn;
:y 24 0 0x00FF &yuml;
+u0041_0306 24 0 0x0102 &#258;
+u0061_0306 24 0 0x0103 &#259;
+u0041_0328 24 0 0x0104 &#260;
+u0061_0328 24 0 0x0105 &#261;
'C 24 0 0x0106 &#262;
'c 24 0 0x0107 &#263;
+u0043_030C 24 0 0x010C &#268;
+u0063_030C 24 0 0x010D &#269;
+u0044_030C 24 0 0x010E &#270;
+u0064_030C 24 0 0x010F &#271;
+u0110 24 0 0x0110 &#272;
+u0111 24 0 0x0111 &#273;
+u0045_0328 24 0 0x0118 &#280;
+u0065_0328 24 0 0x0119 &#281;
+u0045_030C 24 0 0x011A &#282;
+u0065_030C 24 0 0x011B &#283;
+u0047_0306 24 0 0x011E &#286;
+u0067_0306 24 0 0x011F &#287;
+u0049_0307 24 0 0x0130 &#304;
.i 24 0 0x0131 &#305;
IJ 24 0 0x0132 &#306;
ij 24 0 0x0133 &#307;
+u004C_0301 24 0 0x0139 &#313;
+u006C_0301 24 0 0x013A &#314;
+u004C_030C 24 0 0x013D &#317;
+u006C_030C 24 0 0x013E &#318;
/L 24 0 0x0141 &#321;
/l 24 0 0x0142 &#322;
+u004E_0301 24 0 0x0143 &#323;
+u006E_0301 24 0 0x0144 &#324;
+u004E_030C 24 0 0x0147 &#327;
+u006E_030C 24 0 0x0148 &#328;
+u004F_030B 24 0 0x0150 &#330;
+u006F_030B 24 0 0x0151 &#331;
OE 24 0 0x0152 &OElig;
oe 24 0 0x0153 &oelig;
+u0052_0301 24 0 0x0154 &#340;
+u0072_0301 24 0 0x0155 &#341;
+u0052_030C 24 0 0x0158 &#344;
+u0072_030C 24 0 0x0159 &#345;
+u0053_0301 24 0 0x015A &#346;
+u0073_0301 24 0 0x015B &#347;
+u0053_0327 24 0 0x015E &#350;
+u0073_0327 24 0 0x015F &#351;
vS 24 0 0x0160 &Scaron;
vs 24 0 0x0161 &scaron;
+u0054_0327 24 0 0x0162 &#354;
+u0074_0327 24 0 0x0163 &#355;
+u0054_030C 24 0 0x0164 &#356;
+u0074_030C 24 0 0x0165 &#357;
+u0055_030A 24 0 0x016E &#366;
+u0075_030A 24 0 0x016F &#367;
+u0055_030B 24 0 0x0170 &#368;
+u0075_030B 24 0 0x0171 &#369;
:Y 24 0 0x0178 &Yuml;
+u005A_0301 24 0 0x0179 &#377;
+u007A_0301 24 0 0x017A &#378;
+u005A_0307 24 0 0x017B &#379;
+u007A_0307 24 0 0x017C &#380;
vZ 24 0 0x017D &#381;
vz 24 0 0x017E &#382;
Fn 24 0 0x0192 &fnof;
@@ -325,6 +368,10 @@ wp 24 0 0x2118 &weierp;
Re 24 0 0x211C &real;
tm 24 0 0x2122 &trade;
Ah 24 0 0x2135 &alefsym;
+18 24 0 0x215B &#8539;
+38 24 0 0x215C &#8540;
+58 24 0 0x215D &#8541;
+78 24 0 0x215E &#8542;
<- 24 0 0x2190 &larr;
ua 24 0 0x2191 &uarr;
-> 24 0 0x2192 &rarr;
diff --git a/font/devutf8/R.proto b/font/devutf8/R.proto
index 9bb6f53a..bd4aab98 100644
--- a/font/devutf8/R.proto
+++ b/font/devutf8/R.proto
@@ -284,23 +284,65 @@ tdi "
'y 24 0 0x00FD
Tp 24 0 0x00FE
:y 24 0 0x00FF
+u0041_0306 24 0 0x0102
+u0061_0306 24 0 0x0103
+u0041_0328 24 0 0x0104
+u0061_0328 24 0 0x0105
'C 24 0 0x0106
'c 24 0 0x0107
+u0043_030C 24 0 0x010C
+u0063_030C 24 0 0x010D
+u0044_030C 24 0 0x010E
+u0064_030C 24 0 0x010F
+u0110 24 0 0x0110
+u0111 24 0 0x0111
+u0045_0328 24 0 0x0118
+u0065_0328 24 0 0x0119
+u0045_030C 24 0 0x011A
+u0065_030C 24 0 0x011B
u0047_0306 24 0 0x011E
u0067_0306 24 0 0x011F
u0049_0307 24 0 0x0130
.i 24 0 0x0131
IJ 24 0 0x0132
ij 24 0 0x0133
+u004C_0301 24 0 0x0139
+u006C_0301 24 0 0x013A
+u004C_030C 24 0 0x013D
+u006C_030C 24 0 0x013E
/L 24 0 0x0141
/l 24 0 0x0142
+u004E_0301 24 0 0x0143
+u006E_0301 24 0 0x0144
+u004E_030C 24 0 0x0147
+u006E_030C 24 0 0x0148
+u004F_030B 24 0 0x0150
+u006F_030B 24 0 0x0151
OE 24 0 0x0152
oe 24 0 0x0153
+u0052_0301 24 0 0x0154
+u0072_0301 24 0 0x0155
+u0052_030C 24 0 0x0158
+u0072_030C 24 0 0x0159
+u0053_0301 24 0 0x015A
+u0073_0301 24 0 0x015B
u0053_0327 24 0 0x015E
u0073_0327 24 0 0x015F
vS 24 0 0x0160
vs 24 0 0x0161
+u0054_0327 24 0 0x0162
+u0074_0327 24 0 0x0163
+u0054_030C 24 0 0x0164
+u0074_030C 24 0 0x0165
+u0055_030A 24 0 0x016E
+u0075_030A 24 0 0x016F
+u0055_030B 24 0 0x0170
+u0075_030B 24 0 0x0171
:Y 24 0 0x0178
+u005A_0301 24 0 0x0179
+u007A_0301 24 0 0x017A
+u005A_0307 24 0 0x017B
+u007A_0307 24 0 0x017C
vZ 24 0 0x017D
vz 24 0 0x017E
Fn 24 0 0x0192
diff --git a/src/include/unicode.h b/src/include/unicode.h
index 846a70ec..661feb4d 100644
--- a/src/include/unicode.h
+++ b/src/include/unicode.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 2002
+/* Copyright (C) 2002, 2003
Free Software Foundation, Inc.
Written by Werner Lemberg <wl@gnu.org>
@@ -19,8 +19,8 @@ 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-extern const char *glyph_name_to_unicode(const char *);
-extern const char *unicode_to_glyph_name(const char *);
-extern const char *decompose_unicode(const char *);
+const char *glyph_name_to_unicode(const char *);
+const char *unicode_to_glyph_name(const char *);
+const char *decompose_unicode(const char *);
-extern const char *check_unicode_name(const char *);
+const char *check_unicode_name(const char *);
diff --git a/tmac/X.tmac b/tmac/X.tmac
index 4119a8b1..df64f223 100644
--- a/tmac/X.tmac
+++ b/tmac/X.tmac
@@ -76,6 +76,11 @@
.X-achar \['c] \' c c
.X-achar \[:Y] \[ad] Y y
.
+.fchar \[S ,] \o'S\[ac]'
+.hcode \[S ,]s
+.fchar \[s ,] \o's\[ac]'
+.hcode \[s ,]s
+.
.de X-frac
. schar \[\\$1\\$2] \
\v'-.28m'\s[\\En[.s]*6u/10u]\\$1\s0\v'.28m'\
diff --git a/tmac/Xps.tmac b/tmac/Xps.tmac
index ced2a53c..d61ff2c7 100644
--- a/tmac/Xps.tmac
+++ b/tmac/Xps.tmac
@@ -3,6 +3,9 @@
.do mso ps.tmac
.nr _C \n(.C
.cp 0
+.
+.\" Use this macro only to replace characters which do really exist in
+.\" the devps font definition files.
.de Xps-char
. char \\$1 \Z"\X'ps: invis'\\$2\X'ps: endinvis'"\\$1
..
diff --git a/tmac/dvi.tmac b/tmac/dvi.tmac
index 27fd5b38..ff5a2a27 100644
--- a/tmac/dvi.tmac
+++ b/tmac/dvi.tmac
@@ -156,68 +156,76 @@ D\v'-.33m'\s0\v'.33m'
. hcode \\$1\\$4
..
.
-.dvi-achar \[`A] \` A a
-.dvi-achar \['A] \' A a
-.dvi-achar \[^A] ^ A a
-.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
-.dvi-achar \[:E] \[ad] E e
-.dvi-achar \[`I] \` I i
-.dvi-achar \['I] \' I i
-.dvi-achar \[^I] ^ I i
-.dvi-achar \[:I] \[ad] I i
-.dvi-achar \[~N] ~ N n
-.dvi-achar \[`O] \` O o
-.dvi-achar \['O] \' O o
-.dvi-achar \[^O] ^ O o
-.dvi-achar \[~O] ~ O o
-.dvi-achar \[:O] \[ad] O o
-.dvi-achar \[`U] \` U u
-.dvi-achar \['U] \' U u
-.dvi-achar \[^U] ^ U u
-.dvi-achar \[:U] \[ad] U u
-.dvi-achar \['Y] \' Y y
-.dvi-achar \[:Y] \[ad] Y y
-.dvi-achar \[`a] \` a a
-.dvi-achar \['a] \' a a
-.dvi-achar \[^a] ^ a a
-.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
-.dvi-achar \[:e] \[ad] e e
-.dvi-achar \[`i] \` \[.i] i
-.dvi-achar \['i] \' \[.i] i
-.dvi-achar \[^i] ^ \[.i] i
-.dvi-achar \[:i] \[ad] \[.i] i
-.dvi-achar \[~n] ~ n n
-.dvi-achar \[`o] \` o o
-.dvi-achar \['o] \' o o
-.dvi-achar \[^o] ^ o o
-.dvi-achar \[~o] ~ o o
-.dvi-achar \[:o] \[ad] o o
-.dvi-achar \[`u] \` u u
-.dvi-achar \['u] \' u u
-.dvi-achar \[^u] ^ u u
-.dvi-achar \[:u] \[ad] u u
-.dvi-achar \['y] \' y y
-.dvi-achar \[:y] \[ad] y y
-.dvi-achar \[vs] \[ah] s s
-.dvi-achar \[vS] \[ah] S s
-.dvi-achar \[vz] \[ah] z z
-.dvi-achar \[vZ] \[ah] Z z
+.dvi-achar \[`A] \` A a
+.dvi-achar \['A] \' A a
+.dvi-achar \[^A] ^ A a
+.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
+.dvi-achar \[:E] \[ad] E e
+.dvi-achar "\[G ab]" \[ab] G g
+.dvi-achar \[`I] \` I i
+.dvi-achar \['I] \' I i
+.dvi-achar \[^I] ^ I i
+.dvi-achar \[:I] \[ad] I i
+.dvi-achar "\[I .]" \[a.] I i
+.dvi-achar \[~N] ~ N n
+.dvi-achar \[`O] \` O o
+.dvi-achar \['O] \' O o
+.dvi-achar \[^O] ^ O o
+.dvi-achar \[~O] ~ O o
+.dvi-achar \[:O] \[ad] O o
+.dvi-achar \[`U] \` U u
+.dvi-achar \['U] \' U u
+.dvi-achar \[^U] ^ U u
+.dvi-achar \[:U] \[ad] U u
+.dvi-achar \['Y] \' Y y
+.dvi-achar \[:Y] \[ad] Y y
+.dvi-achar \[`a] \` a a
+.dvi-achar \['a] \' a a
+.dvi-achar \[^a] ^ a a
+.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
+.dvi-achar \[:e] \[ad] e e
+.dvi-achar "\[g ab]" \[ab] g g
+.dvi-achar \[`i] \` \[.i] i
+.dvi-achar \['i] \' \[.i] i
+.dvi-achar \[^i] ^ \[.i] i
+.dvi-achar \[:i] \[ad] \[.i] i
+.dvi-achar \[~n] ~ n n
+.dvi-achar \[`o] \` o o
+.dvi-achar \['o] \' o o
+.dvi-achar \[^o] ^ o o
+.dvi-achar \[~o] ~ o o
+.dvi-achar \[:o] \[ad] o o
+.dvi-achar \[`u] \` u u
+.dvi-achar \['u] \' u u
+.dvi-achar \[^u] ^ u u
+.dvi-achar \[:u] \[ad] u u
+.dvi-achar \['y] \' y y
+.dvi-achar \[:y] \[ad] y y
+.dvi-achar \[vs] \[ah] s s
+.dvi-achar \[vS] \[ah] S s
+.dvi-achar \[vz] \[ah] z z
+.dvi-achar \[vZ] \[ah] Z z
+.
.fchar \[,C] \o'\[ac]C'
.hcode \[,C]c
.fchar \[,c] \o'\[ac]c'
.hcode \[,c]c
+.fchar \[S ,] \o'S\[ac]'
+.hcode \[S ,]s
+.fchar \[s ,] \o's\[ac]'
+.hcode \[s ,]s
.
.\" now for color definitions
.\"
diff --git a/tmac/latin5.tmac b/tmac/latin5.tmac
new file mode 100644
index 00000000..8400df4e
--- /dev/null
+++ b/tmac/latin5.tmac
@@ -0,0 +1,107 @@
+.\" latin5.tmac
+.\"
+.nr _C \n(.C
+.cp 0
+.\" 0xA1
+.trin \[char161]\[r!]
+.trin \[char162]\[ct]
+.trin \[char163]\[Po]
+.trin \[char164]\[Cs]
+.trin \[char165]\[Ye]
+.trin \[char166]\[bb]
+.trin \[char167]\[sc]
+.trin \[char168]\[ad]
+.trin \[char169]\[co]
+.trin \[char170]\[Of]
+.trin \[char171]\[Fo]
+.trin \[char172]\[tno]
+.\" The soft-hyphen character is only an input character
+.tr \[char173]\%
+.trin \[char174]\[rg]
+.trin \[char175]\[a-]
+.\" 0xB0
+.trin \[char176]\[de]
+.trin \[char177]\[t+-]
+.trin \[char178]\[S2]
+.trin \[char179]\[S3]
+.trin \[char180]\[aa]
+.trin \[char181]\[mc]
+.trin \[char182]\[ps]
+.trin \[char183]\[pc]
+.trin \[char184]\[ac]
+.trin \[char185]\[S1]
+.trin \[char186]\[Om]
+.trin \[char187]\[Fc]
+.trin \[char188]\[14]
+.trin \[char189]\[12]
+.trin \[char190]\[34]
+.trin \[char191]\[r?]
+.\" 0xC0
+.trin \[char192]\[`A]
+.trin \[char193]\['A]
+.trin \[char194]\[^A]
+.trin \[char195]\[~A]
+.trin \[char196]\[:A]
+.trin \[char197]\[oA]
+.trin \[char198]\[AE]
+.trin \[char199]\[,C]
+.trin \[char200]\[`E]
+.trin \[char201]\['E]
+.trin \[char202]\[^E]
+.trin \[char203]\[:E]
+.trin \[char204]\[`I]
+.trin \[char205]\['I]
+.trin \[char206]\[^I]
+.trin \[char207]\[:I]
+.\" 0xD0
+.trin \[char208]\[G ab]
+.trin \[char209]\[~N]
+.trin \[char210]\[`O]
+.trin \[char211]\['O]
+.trin \[char212]\[^O]
+.trin \[char213]\[~O]
+.trin \[char214]\[:O]
+.trin \[char215]\[tmu]
+.trin \[char216]\[/O]
+.trin \[char217]\[`U]
+.trin \[char218]\['U]
+.trin \[char219]\[^U]
+.trin \[char220]\[:U]
+.trin \[char221]\[I .]
+.trin \[char222]\[S ,]
+.trin \[char223]\[ss]
+.\" 0xE0
+.trin \[char224]\[`a]
+.trin \[char225]\['a]
+.trin \[char226]\[^a]
+.trin \[char227]\[~a]
+.trin \[char228]\[:a]
+.trin \[char229]\[oa]
+.trin \[char230]\[ae]
+.trin \[char231]\[,c]
+.trin \[char232]\[`e]
+.trin \[char233]\['e]
+.trin \[char234]\[^e]
+.trin \[char235]\[:e]
+.trin \[char236]\[`i]
+.trin \[char237]\['i]
+.trin \[char238]\[^i]
+.trin \[char239]\[:i]
+.\" 0xF0
+.trin \[char240]\[g ab]
+.trin \[char241]\[~n]
+.trin \[char242]\[`o]
+.trin \[char243]\['o]
+.trin \[char244]\[^o]
+.trin \[char245]\[~o]
+.trin \[char246]\[:o]
+.trin \[char247]\[tdi]
+.trin \[char248]\[/o]
+.trin \[char249]\[`u]
+.trin \[char250]\['u]
+.trin \[char251]\[^u]
+.trin \[char252]\[:u]
+.trin \[char253]\[.i]
+.trin \[char254]\[s ,]
+.trin \[char255]\[:y]
+.cp \n[_C]
diff --git a/tmac/lbp.tmac b/tmac/lbp.tmac
index 9ac3be47..fab29b57 100644
--- a/tmac/lbp.tmac
+++ b/tmac/lbp.tmac
@@ -57,29 +57,37 @@
. 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
+.lbp-achar \['A] \' A a
+.lbp-achar \[`A] \` A a
+.lbp-achar \[^A] ^ A a
+.lbp-achar \['C] \' C c
+.lbp-achar \['c] \' c c
+.lbp-achar \[`E] \` E e
+.lbp-achar \[:E] \[ad] E e
+.lbp-achar \[^E] ^ E e
+.lbp-achar "\[G ab]" \[ab] G g
+.lbp-achar "\[g ab]" \[ab] g g
+.lbp-achar \['I] \' I i
+.lbp-achar \[`I] \` I i
+.lbp-achar \[:I] \[ad] I i
+.lbp-achar \[^I] ^ I i
+.lbp-achar "\[I .]" \[a.] I i
+.lbp-achar \['O] \' O o
+.lbp-achar \[`O] \` O o
+.lbp-achar \[^O] ^ O o
+.lbp-achar \[~O] ~ O o
+.lbp-achar \[~o] ~ o o
+.lbp-achar \['U] \' U u
+.lbp-achar \[`U] \` U u
+.lbp-achar \[^U] ^ U u
+.lbp-achar \['Y] \' Y y
+.lbp-achar \['y] \' y y
+.lbp-achar \[:Y] \[ad] Y y
+.
+.fchar \[S ,] \o'S\[ac]'
+.hcode \[S ,]s
+.fchar \[s ,] \o's\[ac]'
+.hcode \[s ,]s
.
.cp \n(_C
.
diff --git a/tmac/ps.tmac b/tmac/ps.tmac
index 05374ac6..39d43182 100644
--- a/tmac/ps.tmac
+++ b/tmac/ps.tmac
@@ -80,8 +80,16 @@
. hcode \\$1\\$4
..
.
-.ps-achar \['C] \' C c
-.ps-achar \['c] \' c c
+.ps-achar \['C] \' C c
+.ps-achar \['c] \' c c
+.ps-achar "\[G ab]" \[ab] G g
+.ps-achar "\[g ab]" \[ab] g g
+.ps-achar "\[I .]" \[a.] I i
+.
+.fchar \[S ,] \o'S\[ac]'
+.hcode \[S ,]s
+.fchar \[s ,] \o's\[ac]'
+.hcode \[s ,]s
.
.de ps-frac
. schar \[\\$1\\$2] \
diff --git a/tmac/troffrc b/tmac/troffrc
index 61cb32d1..d73ace35 100644
--- a/tmac/troffrc
+++ b/tmac/troffrc
@@ -3,6 +3,9 @@
.\" This is tested by pic.
.nr 0p 0
.
+.\" Load composite mappings.
+.do mso composite.tmac
+.
.\" Use .do here, so that it works with -C.
.\" The groff command defines the .X string if the -X option was given.
.ie r.X .do ds troffrc!ps Xps.tmac
@@ -37,9 +40,6 @@ troffrc!X100 troffrc!X100-12 troffrc!lj4 troff!lbp troffrc!html
.do hpf hyphen.us
.do hpfa hyphenex.us
.
-.\" Load composite mappings.
-.do mso composite.tmac
-.
.\" Handle paper formats
.do mso papersize.tmac
.
diff --git a/tmac/tty-char.tmac b/tmac/tty-char.tmac
index 2acf1df5..eb0efc4b 100644
--- a/tmac/tty-char.tmac
+++ b/tmac/tty-char.tmac
@@ -168,7 +168,7 @@
.tty-char \[:A] \z"A
.tty-char \[oA] \zoA
.tty-char \[,C] \z,C
-.tty-char \[u0053_0327] \z,S
+.tty-char "\[S ,]" \z,S
.tty-char \[`E] \z`E
.tty-char \['E] \z'E
.tty-char \[^E] \z^E
@@ -198,7 +198,7 @@
.tty-char \[:a] \z"a
.tty-char \[oa] \zoa
.tty-char \[,c] \z,c
-.tty-char \[u0073_0327] \z,s
+.tty-char "\[s ,]" \z,s
.tty-char \[`e] \z`e
.tty-char \['e] \z'e
.tty-char \[^e] \z^e
@@ -223,9 +223,9 @@
.tty-char \[Tp] \zpb
.tty-char \[:y] \z"y
.\" for Turkish
-.tty-char \[u0047_0306] G
-.tty-char \[u0067_0306] g
-.tty-char \[u0049_0307] I
+.tty-char "\[G ab]" G
+.tty-char "\[g ab]" g
+.tty-char "\[I .]" I
.\"tty-char \[:y] \ij
.tty-char \[arrowvertex] |
.tty-char \[mc] \z,u