ttr2post: rename charlib files to not be case-dependent (OS X) - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 9daa3ca74ebd673d00ba52667c50fe4a0046d100
 (DIR) parent 57a6108c76c357cd4f71c26c84baec92a9fb91b5
 (HTM) Author: Russ Cox <rsc@swtch.com>
       Date:   Thu, 31 Jan 2008 16:58:38 -0500
       
       ttr2post: rename charlib files to not be case-dependent (OS X)
       
       Diffstat:
         M src/cmd/postscript/tr2post/mkfile   |       4 ++++
         A src/cmd/postscript/tr2post/test.tr  |      65 +++++++++++++++++++++++++++++++
         M src/cmd/postscript/tr2post/tr2post… |      23 +++++++++++++++++++++--
         R troff/font/devutf/charlib/☺ -> tro… |       0 
         R troff/font/devutf/charlib/Fi -> tr… |       0 
         R troff/font/devutf/charlib/Fl -> tr… |       0 
         R troff/font/devutf/charlib/Sl -> tr… |       0 
         R troff/font/devutf/charlib/bx -> tr… |       0 
         R troff/font/devutf/charlib/ci -> tr… |       0 
         R troff/font/devutf/charlib/ff -> tr… |       0 
         A troff/font/devutf/charlib/_lH       |     166 +++++++++++++++++++++++++++++++
         R troff/font/devutf/charlib/lc -> tr… |       0 
         R troff/font/devutf/charlib/lf -> tr… |       0 
         R troff/font/devutf/charlib/LH -> tr… |       0 
         R troff/font/devutf/charlib/ob -> tr… |       0 
         R troff/font/devutf/charlib/pw -> tr… |       0 
         A troff/font/devutf/charlib/_rH       |     157 +++++++++++++++++++++++++++++++
         R troff/font/devutf/charlib/RC -> tr… |       0 
         R troff/font/devutf/charlib/rf -> tr… |       0 
         R troff/font/devutf/charlib/rH -> tr… |       0 
         R troff/font/devutf/charlib/sq -> tr… |       0 
       
       21 files changed, 413 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/src/cmd/postscript/tr2post/mkfile b/src/cmd/postscript/tr2post/mkfile
       t@@ -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
       +
 (DIR) diff --git a/src/cmd/postscript/tr2post/test.tr b/src/cmd/postscript/tr2post/test.tr
       t@@ -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
 (DIR) diff --git a/src/cmd/postscript/tr2post/tr2post.c b/src/cmd/postscript/tr2post/tr2post.c
       t@@ -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);
 (DIR) diff --git a/troff/font/devutf/charlib/☺ b/troff/font/devutf/charlib/#263a
 (DIR) diff --git a/troff/font/devutf/charlib/Fi b/troff/font/devutf/charlib/F_i
 (DIR) diff --git a/troff/font/devutf/charlib/Fl b/troff/font/devutf/charlib/F_l
 (DIR) diff --git a/troff/font/devutf/charlib/Sl b/troff/font/devutf/charlib/S_l
 (DIR) diff --git a/troff/font/devutf/charlib/bx b/troff/font/devutf/charlib/_b_x
 (DIR) diff --git a/troff/font/devutf/charlib/ci b/troff/font/devutf/charlib/_c_i
 (DIR) diff --git a/troff/font/devutf/charlib/ff b/troff/font/devutf/charlib/_f_f
 (DIR) diff --git a/troff/font/devutf/charlib/_lH b/troff/font/devutf/charlib/_lH
       t@@ -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
 (DIR) diff --git a/troff/font/devutf/charlib/lc b/troff/font/devutf/charlib/_l_c
 (DIR) diff --git a/troff/font/devutf/charlib/lf b/troff/font/devutf/charlib/_l_f
 (DIR) diff --git a/troff/font/devutf/charlib/LH b/troff/font/devutf/charlib/_l_h
 (DIR) diff --git a/troff/font/devutf/charlib/ob b/troff/font/devutf/charlib/_o_b
 (DIR) diff --git a/troff/font/devutf/charlib/pw b/troff/font/devutf/charlib/_p_w
 (DIR) diff --git a/troff/font/devutf/charlib/_rH b/troff/font/devutf/charlib/_rH
       t@@ -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
 (DIR) diff --git a/troff/font/devutf/charlib/RC b/troff/font/devutf/charlib/_r_c
 (DIR) diff --git a/troff/font/devutf/charlib/rf b/troff/font/devutf/charlib/_r_f
 (DIR) diff --git a/troff/font/devutf/charlib/rH b/troff/font/devutf/charlib/_r_h
 (DIR) diff --git a/troff/font/devutf/charlib/sq b/troff/font/devutf/charlib/_s_q