plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit 9daa3ca74ebd673d00ba52667c50fe4a0046d100
parent 57a6108c76c357cd4f71c26c84baec92a9fb91b5
Author: Russ Cox <rsc@swtch.com>
Date:   Thu, 31 Jan 2008 16:58:38 -0500

tr2post: rename charlib files to not be case-dependent (OS X)

Diffstat:
Msrc/cmd/postscript/tr2post/mkfile | 4++++
Asrc/cmd/postscript/tr2post/test.tr | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/cmd/postscript/tr2post/tr2post.c | 23+++++++++++++++++++++--
Rtroff/font/devutf/charlib/☺ -> troff/font/devutf/charlib/#263a | 0
Rtroff/font/devutf/charlib/Fi -> troff/font/devutf/charlib/F_i | 0
Rtroff/font/devutf/charlib/Fl -> troff/font/devutf/charlib/F_l | 0
Rtroff/font/devutf/charlib/Sl -> troff/font/devutf/charlib/S_l | 0
Rtroff/font/devutf/charlib/bx -> troff/font/devutf/charlib/_b_x | 0
Rtroff/font/devutf/charlib/ci -> troff/font/devutf/charlib/_c_i | 0
Rtroff/font/devutf/charlib/ff -> troff/font/devutf/charlib/_f_f | 0
Atroff/font/devutf/charlib/_lH | 166+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rtroff/font/devutf/charlib/lc -> troff/font/devutf/charlib/_l_c | 0
Rtroff/font/devutf/charlib/lf -> troff/font/devutf/charlib/_l_f | 0
Rtroff/font/devutf/charlib/LH -> troff/font/devutf/charlib/_l_h | 0
Rtroff/font/devutf/charlib/ob -> troff/font/devutf/charlib/_o_b | 0
Rtroff/font/devutf/charlib/pw -> troff/font/devutf/charlib/_p_w | 0
Atroff/font/devutf/charlib/_rH | 157+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rtroff/font/devutf/charlib/RC -> troff/font/devutf/charlib/_r_c | 0
Rtroff/font/devutf/charlib/rf -> troff/font/devutf/charlib/_r_f | 0
Rtroff/font/devutf/charlib/rH -> troff/font/devutf/charlib/_r_h | 0
Rtroff/font/devutf/charlib/sq -> troff/font/devutf/charlib/_s_q | 0
21 files changed, 413 insertions(+), 2 deletions(-)

diff --git 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 @@ -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 @@ -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 diff --git 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 diff --git 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 diff --git 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 diff --git a/troff/font/devutf/charlib/_lH 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 diff --git 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 diff --git 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 diff --git a/troff/font/devutf/charlib/_rH 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 diff --git 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 diff --git a/troff/font/devutf/charlib/sq b/troff/font/devutf/charlib/_s_q