07. 2. 13, June Kim <[EMAIL PROTECTED]>이(가) 작성:
There are many rough corners to refine, but here's the first working version.
First you need to create unitab.ijf file.
[snip]
Then you can use unitab from now on.
Save the following code in diswid.ijs
[snip]
More space-efficient version for diswid.ijs, which doesn't need unitab.ijf
Save the following as unicodedata.ijs(better name than the previous one, maybe):
alltab=: (,&3@(3%~#) $ ]) ; <@".;._2 ] 0 : 0
0 31 0 32 126 1 127 160 0 161 161 3 162 163 1
164 164 3 165 166 1 167 168 3 169 169 0
170 170 3 171 171 0 172 172 1 173 174 3 175 175 1
176 180 3 181 181 0 182 186 3 187 187 0
188 191 3 192 197 0 198 198 3 199 207 0 208 208 3
209 214 0 215 216 3 217 221 0 222 225 3
226 229 0 230 230 3 231 231 0 232 234 3 235 235 0
236 237 3 238 239 0 240 240 3 241 241 0
242 243 3 244 246 0 247 250 3 251 251 0 252 252 3
253 253 0 254 254 3 255 256 0 257 257 3
258 272 0 273 273 3 274 274 0 275 275 3 276 282 0
283 283 3 284 293 0 294 295 3 296 298 0
299 299 3 300 304 0 305 307 3 308 311 0 312 312 3
313 318 0 319 322 3 323 323 0 324 324 3
325 327 0 328 331 3 332 332 0 333 333 3 334 337 0
338 339 3 340 357 0 358 359 3 360 362 0
363 363 3 364 461 0 462 462 3 463 463 0 464 464 3
465 465 0 466 466 3 467 467 0 468 468 3
469 469 0 470 470 3 471 471 0 472 472 3 473 473 0
474 474 3 475 475 0 476 476 3 477 592 0
593 593 3 594 608 0 609 609 3 610 707 0 708 708 3
709 710 0 711 711 3 712 712 0 713 715 3
716 716 0 717 717 3 718 719 0 720 720 3 721 727 0
728 731 3 732 732 0 733 733 3 734 734 0
735 735 3 736 767 0 768 879 3 880 912 0 913 929 3
930 930 0 931 937 3 938 944 0 945 961 3
962 962 0 963 969 3 970 1024 0 1025 1025 3 1026 1039 0
1040 1103 3 1104 1104 0 1105 1105 3 1106 4351 0
4352 4441 5 4442 4446 0 4447 4447 5 4448 8207 0 8208 8208 3
8209 8210 0 8211 8214 3 8215 8215 0 8216 8217 3
8218 8219 0 8220 8221 3 8222 8223 0 8224 8226 3 8227 8227 0
8228 8231 3 8232 8239 0 8240 8240 3 8241 8241 0
8242 8243 3 8244 8244 0 8245 8245 3 8246 8250 0 8251 8251 3
8252 8253 0 8254 8254 3 8255 8307 0 8308 8308 3
8309 8318 0 8319 8319 3 8320 8320 0 8321 8324 3 8325 8360 0
8361 8361 2 8362 8363 0 8364 8364 3 8365 8450 0
8451 8451 3 8452 8452 0 8453 8453 3 8454 8456 0 8457 8457 3
8458 8466 0 8467 8467 3 8468 8469 0 8470 8470 3
8471 8480 0 8481 8482 3 8483 8485 0 8486 8486 3 8487 8490 0
8491 8491 3 8492 8530 0 8531 8532 3 8533 8538 0
8539 8542 3 8543 8543 0 8544 8555 3 8556 8559 0 8560 8569 3
8570 8591 0 8592 8601 3 8602 8631 0 8632 8633 3
8634 8657 0 8658 8658 3 8659 8659 0 8660 8660 3 8661 8678 0
8679 8679 3 8680 8703 0 8704 8704 3 8705 8705 0
8706 8707 3 8708 8710 0 8711 8712 3 8713 8714 0 8715 8715 3
8716 8718 0 8719 8719 3 8720 8720 0 8721 8721 3
8722 8724 0 8725 8725 3 8726 8729 0 8730 8730 3 8731 8732 0
8733 8736 3 8737 8738 0 8739 8739 3 8740 8740 0
8741 8741 3 8742 8742 0 8743 8748 3 8749 8749 0 8750 8750 3
8751 8755 0 8756 8759 3 8760 8763 0 8764 8765 3
8766 8775 0 8776 8776 3 8777 8779 0 8780 8780 3 8781 8785 0
8786 8786 3 8787 8799 0 8800 8801 3 8802 8803 0
8804 8807 3 8808 8809 0 8810 8811 3 8812 8813 0 8814 8815 3
8816 8833 0 8834 8835 3 8836 8837 0 8838 8839 3
8840 8852 0 8853 8853 3 8854 8856 0 8857 8857 3 8858 8868 0
8869 8869 3 8870 8894 0 8895 8895 3 8896 8977 0
8978 8978 3 8979 9000 0 9001 9002 5 9003 9311 0 9312 9449 3
9450 9450 0 9451 9547 3 9548 9551 0 9552 9587 3
9588 9599 0 9600 9615 3 9616 9617 0 9618 9621 3 9622 9631 0
9632 9633 3 9634 9634 0 9635 9641 3 9642 9649 0
9650 9651 3 9652 9653 0 9654 9655 3 9656 9659 0 9660 9661 3
9662 9663 0 9664 9665 3 9666 9669 0 9670 9672 3
9673 9674 0 9675 9675 3 9676 9677 0 9678 9681 3 9682 9697 0
9698 9701 3 9702 9710 0 9711 9711 3 9712 9732 0
9733 9734 3 9735 9736 0 9737 9737 3 9738 9741 0 9742 9743 3
9744 9747 0 9748 9749 3 9750 9755 0 9756 9756 3
9757 9757 0 9758 9758 3 9759 9791 0 9792 9792 3 9793 9793 0
9794 9794 3 9795 9823 0 9824 9825 3 9826 9826 0
9827 9829 3 9830 9830 0 9831 9834 3 9835 9835 0 9836 9837 3
9838 9838 0 9839 9839 3 9840 10044 0 10045 10045 3
10046 10101 0 10102 10111 3 10112 10213 0 10214 10219 1 10220 10628 0
10629 10630 1 10631 11903 0 11904 11929 5 11930 11930 0
11931 12019 5 12020 12031 0 12032 12245 5 12246 12271 0 12272 12283 5
12284 12287 0 12288 12288 4 12289 12350 5 12351 12352 0
12353 12438 5 12439 12440 0 12441 12543 5 12544 12548 0 12549 12588 5
12589 12592 0 12593 12686 5 12687 12687 0 12688 12727 5
12728 12735 0 12736 12751 5 12752 12783 0 12784 12830 5 12831 12831 0
12832 12867 5 12868 12879 0 12880 13054 5 13055 13055 0
13056 19893 5 19894 19967 0 19968 40891 5 40892 40959 0 40960 42124 5
42125 42127 0 42128 42182 5 42183 44031 0 44032 55203 5
55204 57343 0 57344 63743 3 63744 64045 5 64046 64047 0 64048 64106 5
64107 64111 0 64112 64217 5 64218 65023 0 65024 65039 3
65040 65049 5 65050 65071 0 65072 65106 5 65107 65107 0 65108 65126 5
65127 65127 0 65128 65131 5 65132 65280 0 65281 65376 4
65377 65470 2 65471 65473 0 65474 65479 2 65480 65481 0 65482 65487 2
65488 65489 0 65490 65495 2 65496 65497 0 65498 65500 2
65501 65503 0 65504 65510 4 65511 65511 0 65512 65518 2 65519 65532 0
65533 65533 3 65534 65535 0
)
ind=:[:<: (<: {."1 alltab)&I.
widthcode=:[:{:"1 alltab {~ ind
widcod=:[: widthcode 3&u:@:ucp"1
tos=:{&'NRHAFW' NB. tos widcod 'abc\│'
NB. FW is 2 ascii font wide, rest 1 ascii font wide in fixed-pitch fonts
diswid=:(+/@:>:@(4 <: widcod))`0:@.(''&-:)
---------------
You should replace the filename of load verb in box.ijs, too.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm