aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cmd/postscript/tr2post/mkfile4
-rw-r--r--src/cmd/postscript/tr2post/test.tr65
-rw-r--r--src/cmd/postscript/tr2post/tr2post.c23
-rw-r--r--troff/font/devutf/charlib/#263a (renamed from troff/font/devutf/charlib/☺)0
-rw-r--r--troff/font/devutf/charlib/F_i (renamed from troff/font/devutf/charlib/Fi)0
-rw-r--r--troff/font/devutf/charlib/F_l (renamed from troff/font/devutf/charlib/Fl)0
-rw-r--r--troff/font/devutf/charlib/S_l (renamed from troff/font/devutf/charlib/Sl)0
-rw-r--r--troff/font/devutf/charlib/_b_x (renamed from troff/font/devutf/charlib/bx)0
-rw-r--r--troff/font/devutf/charlib/_c_i (renamed from troff/font/devutf/charlib/ci)0
-rw-r--r--troff/font/devutf/charlib/_f_f (renamed from troff/font/devutf/charlib/ff)0
-rw-r--r--troff/font/devutf/charlib/_lH166
-rw-r--r--troff/font/devutf/charlib/_l_c (renamed from troff/font/devutf/charlib/lc)0
-rw-r--r--troff/font/devutf/charlib/_l_f (renamed from troff/font/devutf/charlib/lf)0
-rw-r--r--troff/font/devutf/charlib/_l_h (renamed from troff/font/devutf/charlib/LH)0
-rw-r--r--troff/font/devutf/charlib/_o_b (renamed from troff/font/devutf/charlib/ob)0
-rw-r--r--troff/font/devutf/charlib/_p_w (renamed from troff/font/devutf/charlib/pw)0
-rw-r--r--troff/font/devutf/charlib/_rH157
-rw-r--r--troff/font/devutf/charlib/_r_c (renamed from troff/font/devutf/charlib/RC)0
-rw-r--r--troff/font/devutf/charlib/_r_f (renamed from troff/font/devutf/charlib/rf)0
-rw-r--r--troff/font/devutf/charlib/_r_h (renamed from troff/font/devutf/charlib/rH)0
-rw-r--r--troff/font/devutf/charlib/_s_q (renamed from troff/font/devutf/charlib/sq)0
21 files changed, 413 insertions, 2 deletions
diff --git a/src/cmd/postscript/tr2post/mkfile b/src/cmd/postscript/tr2post/mkfile
index 4a5f47d4..2c716c1b 100644
--- a/src/cmd/postscript/tr2post/mkfile
+++ b/src/cmd/postscript/tr2post/mkfile
@@ -36,3 +36,7 @@ CFLAGS=$CFLAGS -c -D'PROGRAMVERSION="0.1"' -D'DOROUND=1' -I$COMMONDIR
%.$O: $COMMONDIR/%.c
$CC $CFLAGS $COMMONDIR/$stem.c
+
+test.ps:V: $O.tr2post
+ 9 troff -ms test.tr | $O.tr2post | psfonts >test.ps
+
diff --git a/src/cmd/postscript/tr2post/test.tr b/src/cmd/postscript/tr2post/test.tr
new file mode 100644
index 00000000..6702a5ed
--- /dev/null
+++ b/src/cmd/postscript/tr2post/test.tr
@@ -0,0 +1,65 @@
+.fp 8 S
+~= \f8\(~=\fP
+.sp
+☺
+.sp
+12 \(12
+.sp
+14 \(14
+.sp
+34 \(34
+.sp
+bx \(bx
+.sp
+ci \fS\(ci\fP
+.sp
+DG \(DG
+.sp
+FA \(FA
+.sp
+.ig
+ff \(ff
+.sp
+Fi \f7\(Fi\fP
+.sp
+Fl \(Fl
+.sp
+..
+L1 \(L1
+.sp
+LA \(LA
+.sp
+lc \(lc
+.sp
+lf \(lf
+.sp
+lh \(lh
+.sp
+lH \(lH
+.sp
+LH \(LH
+.sp
+LV \(LV
+.sp
+ob \(ob
+.sp
+PC \(PC
+.sp
+pw \(pw
+.sp
+rc \(rc
+.sp
+.ig
+RC \(RC
+.sp
+..
+rf \(rf
+.sp
+rh \(rh
+.sp
+rH \(rH
+.sp
+Sl \(Sl
+.sp
+sq \(sq
+.sp
diff --git a/src/cmd/postscript/tr2post/tr2post.c b/src/cmd/postscript/tr2post/tr2post.c
index 5a22ac72..5ca1b328 100644
--- a/src/cmd/postscript/tr2post/tr2post.c
+++ b/src/cmd/postscript/tr2post/tr2post.c
@@ -85,9 +85,28 @@ prologues(void) {
/* output Build character info from charlib if necessary. */
for (i=0; i<build_char_cnt; i++) {
- sprint(charlibname, "%s/%s", CHARLIB, build_char_list[i]->name);
+ // Rewrite file name for case-insensitive or non-UTF-8 file systems.
+ // _x means a lowercase x; #1234 means Unicode 0x1234.
+ char buf[100];
+ char *r, *w;
+ for(w=buf, r=build_char_list[i]->name; *r && w<buf+sizeof buf-8; ){
+ if((uchar)*r >= 0x80){
+ Rune rr;
+ r += chartorune(&rr, r);
+ sprint(w, "#%04x", rr);
+ w += strlen(w);
+ continue;
+ }
+ if(('a' <= *r && *r <= 'z') || *r == '_')
+ *w++ = '_';
+ if(*r == '#')
+ *w++ = '#';
+ *w++ = *r++;
+ }
+ *w = 0;
+ sprint(charlibname, "%s/%s", CHARLIB, buf);
if (cat(unsharp(charlibname)))
- Bprint(Bstderr, "cannot open %s\n", charlibname);
+ Bprint(Bstderr, "cannot open %s\n", charlibname);
}
Bprint(Bstdout, "%s", ENDSETUP);
diff --git a/troff/font/devutf/charlib/☺ b/troff/font/devutf/charlib/#263a
index c08ed447..c08ed447 100644
--- a/troff/font/devutf/charlib/☺
+++ b/troff/font/devutf/charlib/#263a
diff --git a/troff/font/devutf/charlib/Fi b/troff/font/devutf/charlib/F_i
index 46d9f571..46d9f571 100644
--- a/troff/font/devutf/charlib/Fi
+++ b/troff/font/devutf/charlib/F_i
diff --git a/troff/font/devutf/charlib/Fl b/troff/font/devutf/charlib/F_l
index d3033ba5..d3033ba5 100644
--- a/troff/font/devutf/charlib/Fl
+++ b/troff/font/devutf/charlib/F_l
diff --git a/troff/font/devutf/charlib/Sl b/troff/font/devutf/charlib/S_l
index 1cfdaf42..1cfdaf42 100644
--- a/troff/font/devutf/charlib/Sl
+++ b/troff/font/devutf/charlib/S_l
diff --git a/troff/font/devutf/charlib/bx b/troff/font/devutf/charlib/_b_x
index 51ea35c5..51ea35c5 100644
--- a/troff/font/devutf/charlib/bx
+++ b/troff/font/devutf/charlib/_b_x
diff --git a/troff/font/devutf/charlib/ci b/troff/font/devutf/charlib/_c_i
index bf65f61d..bf65f61d 100644
--- a/troff/font/devutf/charlib/ci
+++ b/troff/font/devutf/charlib/_c_i
diff --git a/troff/font/devutf/charlib/ff b/troff/font/devutf/charlib/_f_f
index e77bcdbb..e77bcdbb 100644
--- a/troff/font/devutf/charlib/ff
+++ b/troff/font/devutf/charlib/_f_f
diff --git a/troff/font/devutf/charlib/_lH b/troff/font/devutf/charlib/_lH
new file mode 100644
index 00000000..4c651554
--- /dev/null
+++ b/troff/font/devutf/charlib/_lH
@@ -0,0 +1,166 @@
+/build_lH {
+pop
+gsave
+size .0022 mul dup scale
+currentpoint translate
+
+16 177 moveto
+16 188 lineto
+21 193 lineto
+30 193 lineto
+34 189 lineto
+36 183 lineto
+36 180 lineto
+34 174 lineto
+27 170 lineto
+19 172 lineto
+16 177 lineto
+fill
+
+38 194 moveto
+38 196 lineto
+53 199 lineto
+68 201 lineto
+83 202 lineto
+98 203 lineto
+113 204 lineto
+128 204 lineto
+143 205 lineto
+158 205 lineto
+173 205 lineto
+188 204 lineto
+203 203 lineto
+218 202 lineto
+233 200 lineto
+248 198 lineto
+263 196 lineto
+278 194 lineto
+293 190 lineto
+308 186 lineto
+323 181 lineto
+338 176 lineto
+353 168 lineto
+361 162 lineto
+364 153 lineto
+366 138 lineto
+367 126 lineto
+368 106 lineto
+369 80 lineto
+369 74 lineto
+368 60 lineto
+367 54 lineto
+362 43 lineto
+348 34 lineto
+333 28 lineto
+318 25 lineto
+303 26 lineto
+288 29 lineto
+273 31 lineto
+258 32 lineto
+243 32 lineto
+228 30 lineto
+213 27 lineto
+198 24 lineto
+183 23 lineto
+168 23 lineto
+153 27 lineto
+148 34 lineto
+148 47 lineto
+153 54 lineto
+168 58 lineto
+183 58 lineto
+198 58 lineto
+213 59 lineto
+226 60 lineto
+228 62 lineto
+228 67 lineto
+223 71 lineto
+208 71 lineto
+193 70 lineto
+178 70 lineto
+163 70 lineto
+148 70 lineto
+133 71 lineto
+123 76 lineto
+120 84 lineto
+120 91 lineto
+122 98 lineto
+129 104 lineto
+144 106 lineto
+159 107 lineto
+174 107 lineto
+189 107 lineto
+202 108 lineto
+204 110 lineto
+204 117 lineto
+201 119 lineto
+186 119 lineto
+171 119 lineto
+156 119 lineto
+141 119 lineto
+126 119 lineto
+111 121 lineto
+103 128 lineto
+101 137 lineto
+101 142 lineto
+103 150 lineto
+111 158 lineto
+126 161 lineto
+141 161 lineto
+156 162 lineto
+171 163 lineto
+186 163 lineto
+191 165 lineto
+192 167 lineto
+192 171 lineto
+190 174 lineto
+176 175 lineto
+161 175 lineto
+146 175 lineto
+131 174 lineto
+116 174 lineto
+101 174 lineto
+86 173 lineto
+71 172 lineto
+56 171 lineto
+41 171 lineto
+41 174 lineto
+43 178 lineto
+43 187 lineto
+38 194 lineto
+fill
+
+373 169 moveto
+373 176 lineto
+375 182 lineto
+386 190 lineto
+401 193 lineto
+408 191 lineto
+411 185 lineto
+412 181 lineto
+414 167 lineto
+415 158 lineto
+416 144 lineto
+417 128 lineto
+418 110 lineto
+418 60 lineto
+417 45 lineto
+415 37 lineto
+409 34 lineto
+394 31 lineto
+381 35 lineto
+379 42 lineto
+379 52 lineto
+380 67 lineto
+380 77 lineto
+379 77 lineto
+378 106 lineto
+377 121 lineto
+376 133 lineto
+375 147 lineto
+374 158 lineto
+373 169 lineto
+
+fill
+grestore
+} def
diff --git a/troff/font/devutf/charlib/lc b/troff/font/devutf/charlib/_l_c
index b0312c14..b0312c14 100644
--- a/troff/font/devutf/charlib/lc
+++ b/troff/font/devutf/charlib/_l_c
diff --git a/troff/font/devutf/charlib/lf b/troff/font/devutf/charlib/_l_f
index 37452549..37452549 100644
--- a/troff/font/devutf/charlib/lf
+++ b/troff/font/devutf/charlib/_l_f
diff --git a/troff/font/devutf/charlib/LH b/troff/font/devutf/charlib/_l_h
index 17c3c232..17c3c232 100644
--- a/troff/font/devutf/charlib/LH
+++ b/troff/font/devutf/charlib/_l_h
diff --git a/troff/font/devutf/charlib/ob b/troff/font/devutf/charlib/_o_b
index b0bf3139..b0bf3139 100644
--- a/troff/font/devutf/charlib/ob
+++ b/troff/font/devutf/charlib/_o_b
diff --git a/troff/font/devutf/charlib/pw b/troff/font/devutf/charlib/_p_w
index bc8cac8b..bc8cac8b 100644
--- a/troff/font/devutf/charlib/pw
+++ b/troff/font/devutf/charlib/_p_w
diff --git a/troff/font/devutf/charlib/_rH b/troff/font/devutf/charlib/_rH
new file mode 100644
index 00000000..798c114a
--- /dev/null
+++ b/troff/font/devutf/charlib/_rH
@@ -0,0 +1,157 @@
+/build_rH {
+pop
+gsave
+size .0022 mul dup scale
+currentpoint translate
+
+15 66 moveto
+15 86 lineto
+16 131 lineto
+17 146 lineto
+18 158 lineto
+19 167 lineto
+21 181 lineto
+24 190 lineto
+34 193 lineto
+49 189 lineto
+58 182 lineto
+60 177 lineto
+60 166 lineto
+59 156 lineto
+58 143 lineto
+57 130 lineto
+56 117 lineto
+55 102 lineto
+54 42 lineto
+53 39 lineto
+49 35 lineto
+34 34 lineto
+19 39 lineto
+16 47 lineto
+15 66 lineto
+fill
+
+65 60 moveto
+65 111 lineto
+66 127 lineto
+67 139 lineto
+69 153 lineto
+72 163 lineto
+83 171 lineto
+98 177 lineto
+113 182 lineto
+128 187 lineto
+143 190 lineto
+158 194 lineto
+173 196 lineto
+188 199 lineto
+203 201 lineto
+218 203 lineto
+233 205 lineto
+248 205 lineto
+263 206 lineto
+278 206 lineto
+293 206 lineto
+308 206 lineto
+323 206 lineto
+338 205 lineto
+353 203 lineto
+368 202 lineto
+383 200 lineto
+394 197 lineto
+389 190 lineto
+389 180 lineto
+391 176 lineto
+391 173 lineto
+380 173 lineto
+365 173 lineto
+350 174 lineto
+335 175 lineto
+320 176 lineto
+305 176 lineto
+290 176 lineto
+275 177 lineto
+260 177 lineto
+245 177 lineto
+240 173 lineto
+240 170 lineto
+245 165 lineto
+260 164 lineto
+275 164 lineto
+290 164 lineto
+305 163 lineto
+320 160 lineto
+327 155 lineto
+330 149 lineto
+330 134 lineto
+328 129 lineto
+323 124 lineto
+309 121 lineto
+294 121 lineto
+279 121 lineto
+264 121 lineto
+249 121 lineto
+234 121 lineto
+228 118 lineto
+228 112 lineto
+234 109 lineto
+249 109 lineto
+264 109 lineto
+279 108 lineto
+294 108 lineto
+306 104 lineto
+311 97 lineto
+312 91 lineto
+312 88 lineto
+311 82 lineto
+305 74 lineto
+290 72 lineto
+275 72 lineto
+260 72 lineto
+245 73 lineto
+230 73 lineto
+215 73 lineto
+205 70 lineto
+205 63 lineto
+217 60 lineto
+232 60 lineto
+247 60 lineto
+262 60 lineto
+277 57 lineto
+283 52 lineto
+285 44 lineto
+285 41 lineto
+284 35 lineto
+280 30 lineto
+268 26 lineto
+253 25 lineto
+238 26 lineto
+223 28 lineto
+208 31 lineto
+193 33 lineto
+178 34 lineto
+163 33 lineto
+148 31 lineto
+133 28 lineto
+118 27 lineto
+103 28 lineto
+88 34 lineto
+73 43 lineto
+67 52 lineto
+65 60 lineto
+fill
+
+396 180 moveto
+396 188 lineto
+399 194 lineto
+410 196 lineto
+416 190 lineto
+416 180 lineto
+415 177 lineto
+411 173 lineto
+400 173 lineto
+396 180 lineto
+fill
+
+grestore
+} def
diff --git a/troff/font/devutf/charlib/RC b/troff/font/devutf/charlib/_r_c
index 954e290d..954e290d 100644
--- a/troff/font/devutf/charlib/RC
+++ b/troff/font/devutf/charlib/_r_c
diff --git a/troff/font/devutf/charlib/rf b/troff/font/devutf/charlib/_r_f
index d13d85bc..d13d85bc 100644
--- a/troff/font/devutf/charlib/rf
+++ b/troff/font/devutf/charlib/_r_f
diff --git a/troff/font/devutf/charlib/rH b/troff/font/devutf/charlib/_r_h
index 1e53e9a6..1e53e9a6 100644
--- a/troff/font/devutf/charlib/rH
+++ b/troff/font/devutf/charlib/_r_h
diff --git a/troff/font/devutf/charlib/sq b/troff/font/devutf/charlib/_s_q
index 32486e88..32486e88 100644
--- a/troff/font/devutf/charlib/sq
+++ b/troff/font/devutf/charlib/_s_q