DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics
Index: U

⟦f8512aa4b⟧

    Length: 1418801 (0x15a631)
    Notes: Uncompressed file

Derivation

└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
    └─⟦f98407311⟧ »utils/mf2ps.shar.Z« 
        └─⟦this⟧ 

Hex Dump

0x000000…000020 23 21 20 2f 62 69 6e 2f 73 68 0a 23 20 54 68 69 73 20 69 73 20 61 20 73 68 65 6c 6c 20 61 72 63   ┆#! /bin/sh # This is a shell arc┆
0x000020…000040 68 69 76 65 2c 20 6d 65 61 6e 69 6e 67 3a 0a 23 20 31 2e 20 52 65 6d 6f 76 65 20 65 76 65 72 79   ┆hive, meaning: # 1. Remove every┆
0x000040…000060 74 68 69 6e 67 20 61 62 6f 76 65 20 74 68 65 20 23 21 20 2f 62 69 6e 2f 73 68 20 6c 69 6e 65 2e   ┆thing above the #! /bin/sh line.┆
0x000060…000080 0a 23 20 32 2e 20 53 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 74 65 78 74 20 69 6e   ┆ # 2. Save the resulting text in┆
0x000080…0000a0 20 61 20 66 69 6c 65 2e 0a 23 20 33 2e 20 45 78 65 63 75 74 65 20 74 68 65 20 66 69 6c 65 20 77   ┆ a file. # 3. Execute the file w┆
0x0000a0…0000c0 69 74 68 20 2f 62 69 6e 2f 73 68 20 28 6e 6f 74 20 63 73 68 29 20 74 6f 20 63 72 65 61 74 65 20   ┆ith /bin/sh (not csh) to create ┆
0x0000c0…0000e0 74 68 65 20 66 69 6c 65 73 3a 0a 23 09 4d 46 66 6f 6e 74 73 0a 23 09 52 45 41 44 4d 45 0a 23 09   ┆the files: # MFfonts # README # ┆
0x0000e0…000100 64 6f 63 0a 23 09 6d 66 32 70 73 0a 23 20 54 68 69 73 20 61 72 63 68 69 76 65 20 63 72 65 61 74   ┆doc # mf2ps # This archive creat┆
0x000100…000120 65 64 3a 20 54 75 65 20 44 65 63 20 31 31 20 32 30 3a 31 36 3a 33 34 20 31 39 39 30 0a 65 78 70   ┆ed: Tue Dec 11 20:16:34 1990 exp┆
0x000120…000140 6f 72 74 20 50 41 54 48 3b 20 50 41 54 48 3d 2f 62 69 6e 3a 24 50 41 54 48 0a 69 66 20 74 65 73   ┆ort PATH; PATH=/bin:$PATH if tes┆
0x000140…000160 74 20 21 20 2d 64 20 27 4d 46 66 6f 6e 74 73 27 0a 74 68 65 6e 0a 09 6d 6b 64 69 72 20 27 4d 46   ┆t ! -d 'MFfonts' then  mkdir 'MF┆
0x000160…000180 66 6f 6e 74 73 27 0a 66 69 0a 63 64 20 27 4d 46 66 6f 6e 74 73 27 0a 69 66 20 74 65 73 74 20 21   ┆fonts' fi cd 'MFfonts' if test !┆
0x000180…0001a0 20 2d 64 20 27 62 61 73 65 73 27 0a 74 68 65 6e 0a 09 6d 6b 64 69 72 20 27 62 61 73 65 73 27 0a   ┆ -d 'bases' then  mkdir 'bases' ┆
0x0001a0…0001c0 66 69 0a 63 64 20 27 62 61 73 65 73 27 0a 69 66 20 74 65 73 74 20 2d 66 20 27 6d 79 70 6c 61 69   ┆fi cd 'bases' if test -f 'myplai┆
0x0001c0…0001e0 6e 2e 6c 6f 67 27 0a 74 68 65 6e 0a 09 65 63 68 6f 20 73 68 61 72 3a 20 77 69 6c 6c 20 6e 6f 74   ┆n.log' then  echo shar: will not┆
0x0001e0…000200 20 6f 76 65 72 2d 77 72 69 74 65 20 65 78 69 73 74 69 6e 67 20 66 69 6c 65 20 22 27 6d 79 70 6c   ┆ over-write existing file "'mypl┆
0x000200…000220 61 69 6e 2e 6c 6f 67 27 22 0a 65 6c 73 65 0a 63 61 74 20 3c 3c 20 5c 53 48 41 52 5f 45 4f 46 20   ┆ain.log'" else cat << \SHAR_EOF ┆
0x000220…000240 3e 20 27 6d 79 70 6c 61 69 6e 2e 6c 6f 67 27 0a 54 68 69 73 20 69 73 20 4d 45 54 41 46 4f 4e 54   ┆> 'myplain.log' This is METAFONT┆
0x000240…000260 2c 20 56 65 72 73 69 6f 6e 20 31 2e 30 20 66 6f 72 20 42 65 72 6b 65 6c 65 79 20 55 4e 49 58 20   ┆, Version 1.0 for Berkeley UNIX ┆
0x000260…000280 28 49 4e 49 4d 46 29 20 20 38 20 4d 41 52 20 31 39 38 39 20 31 36 3a 32 33 0a 2a 2a 5c 69 6e 70   ┆(INIMF)  8 MAR 1989 16:23 **\inp┆
0x000280…0002a0 75 74 20 6d 79 70 6c 61 69 6e 3b 64 75 6d 70 3b 65 6e 64 2e 0a 28 6d 79 70 6c 61 69 6e 2e 6d 66   ┆ut myplain;dump;end. (myplain.mf┆
0x0002a0…0002c0 0a 50 72 65 6c 6f 61 64 69 6e 67 20 74 68 65 20 70 6c 61 69 6e 20 62 61 73 65 2c 20 76 65 72 73   ┆ Preloading the plain base, vers┆
0x0002c0…0002e0 69 6f 6e 20 31 2e 30 3a 20 70 72 65 6c 69 6d 69 6e 61 72 69 65 73 2c 0a 20 62 61 73 69 63 20 63   ┆ion 1.0: preliminaries,  basic c┆
0x0002e0…000300 6f 6e 73 74 61 6e 74 73 20 61 6e 64 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 20 6d 61 63 72 6f 73   ┆onstants and mathematical macros┆
0x000300…000320 2c 0a 20 6d 61 63 72 6f 73 20 66 6f 72 20 63 6f 6e 76 65 72 74 69 6e 67 20 66 72 6f 6d 20 64 65   ┆,  macros for converting from de┆
0x000320…000340 76 69 63 65 2d 69 6e 64 65 70 65 6e 64 65 6e 74 20 75 6e 69 74 73 20 74 6f 20 70 69 78 65 6c 73   ┆vice-independent units to pixels┆
0x000340…000360 2c 0a 20 6d 61 63 72 6f 73 20 61 6e 64 20 74 61 62 6c 65 73 20 66 6f 72 20 76 61 72 69 6f 75 73   ┆,  macros and tables for various┆
0x000360…000380 20 6d 6f 64 65 73 20 6f 66 20 6f 70 65 72 61 74 69 6f 6e 2c 0a 20 6d 61 63 72 6f 73 20 66 6f 72   ┆ modes of operation,  macros for┆
0x000380…0003a0 20 64 72 61 77 69 6e 67 20 61 6e 64 20 66 69 6c 6c 69 6e 67 2c 0a 20 6d 61 63 72 6f 73 20 66 6f   ┆ drawing and filling,  macros fo┆
0x0003a0…0003c0 72 20 70 72 6f 6f 66 20 6c 61 62 65 6c 73 20 61 6e 64 20 72 75 6c 65 73 2c 0a 20 6d 61 63 72 6f   ┆r proof labels and rules,  macro┆
0x0003c0…0003e0 73 20 66 6f 72 20 63 68 61 72 61 63 74 65 72 20 61 6e 64 20 66 6f 6e 74 20 61 64 6d 69 6e 69 73   ┆s for character and font adminis┆
0x0003e0…000400 74 72 61 74 69 6f 6e 2c 0a 61 6e 64 20 61 20 66 65 77 20 6c 61 73 74 2d 6d 69 6e 75 74 65 20 69   ┆tration, and a few last-minute i┆
0x000400…000420 74 65 6d 73 2e 29 0a 42 65 67 69 6e 6e 69 6e 67 20 74 6f 20 64 75 6d 70 20 6f 6e 20 66 69 6c 65   ┆tems.) Beginning to dump on file┆
0x000420…000440 20 6d 79 70 6c 61 69 6e 2e 62 61 73 65 0a 20 28 70 72 65 6c 6f 61 64 65 64 20 62 61 73 65 3d 6d   ┆ myplain.base  (preloaded base=m┆
0x000440…000460 79 70 6c 61 69 6e 20 38 39 2e 33 2e 38 29 0a 31 32 33 30 20 73 74 72 69 6e 67 73 20 6f 66 20 74   ┆yplain 89.3.8) 1230 strings of t┆
0x000460…000480 6f 74 61 6c 20 6c 65 6e 67 74 68 20 32 32 32 30 38 0a 34 36 39 30 20 6d 65 6d 6f 72 79 20 6c 6f   ┆otal length 22208 4690 memory lo┆
0x000480…0004a0 63 61 74 69 6f 6e 73 20 64 75 6d 70 65 64 3b 20 63 75 72 72 65 6e 74 20 75 73 61 67 65 20 69 73   ┆cations dumped; current usage is┆
0x0004a0…0004c0 20 31 33 36 32 26 33 32 30 39 0a 34 39 33 20 73 79 6d 62 6f 6c 69 63 20 74 6f 6b 65 6e 73 0a 46   ┆ 1362&3209 493 symbolic tokens F┆
0x0004c0…0004e0 6f 6e 74 20 6d 65 74 72 69 63 73 20 77 72 69 74 74 65 6e 20 6f 6e 20 6d 79 70 6c 61 69 6e 2e 74   ┆ont metrics written on myplain.t┆
0x0004e0…000500 66 6d 0a 53 48 41 52 5f 45 4f 46 0a 66 69 20 23 20 65 6e 64 20 6f 66 20 6f 76 65 72 77 72 69 74   ┆fm SHAR_EOF fi # end of overwrit┆
0x000500…000520 69 6e 67 20 63 68 65 63 6b 0a 69 66 20 74 65 73 74 20 2d 66 20 27 52 45 41 44 4d 45 27 0a 74 68   ┆ing check if test -f 'README' th┆
0x000520…000540 65 6e 0a 09 65 63 68 6f 20 73 68 61 72 3a 20 77 69 6c 6c 20 6e 6f 74 20 6f 76 65 72 2d 77 72 69   ┆en  echo shar: will not over-wri┆
0x000540…000560 74 65 20 65 78 69 73 74 69 6e 67 20 66 69 6c 65 20 22 27 52 45 41 44 4d 45 27 22 0a 65 6c 73 65   ┆te existing file "'README'" else┆
0x000560…000580 0a 63 61 74 20 3c 3c 20 5c 53 48 41 52 5f 45 4f 46 20 3e 20 27 52 45 41 44 4d 45 27 0a 54 6f 20   ┆ cat << \SHAR_EOF > 'README' To ┆
0x000580…0005a0 70 72 65 76 65 6e 74 20 74 61 72 72 69 6e 67 20 66 72 6f 6d 20 63 6c 6f 62 62 65 72 69 6e 67 20   ┆prevent tarring from clobbering ┆
0x0005a0…0005c0 79 6f 75 72 20 6f 72 69 67 69 6e 61 6c 2c 20 49 20 68 61 76 65 20 72 65 6e 61 6d 65 64 20 74 68   ┆your original, I have renamed th┆
0x0005c0…0005e0 65 20 70 6c 61 69 6e 2a 0a 66 69 6c 65 73 20 68 65 72 65 20 74 6f 20 6d 79 70 6c 61 69 6e 2a 2e   ┆e plain* files here to myplain*.┆
0x0005e0…000600 2e 20 62 75 74 20 74 6f 20 72 75 6e 20 74 68 65 6d 2c 20 74 68 65 79 20 68 61 76 65 20 74 6f 20   ┆. but to run them, they have to ┆
0x000600…000620 62 65 20 72 65 6e 61 6d 65 64 20 62 61 63 6b 20 74 6f 0a 70 6c 61 69 6e 2a 2e 2e 20 64 6f 20 73   ┆be renamed back to plain*.. do s┆
0x000620…000640 6f 20 61 66 74 65 72 20 6d 6f 76 69 6e 67 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 73 20 73 6f 6d   ┆o after moving the originals som┆
0x000640…000660 65 20 70 6c 61 63 65 20 6f 75 74 20 6f 66 20 74 68 65 20 77 61 79 0a 0a 74 68 65 20 73 68 65 6c   ┆e place out of the way  the shel┆
0x000660…000680 6c 20 73 63 72 69 70 74 20 6d 6f 76 65 20 64 6f 65 73 20 74 68 69 73 2e 2e 0a 0a 61 6c 6c 20 74   ┆l script move does this..  all t┆
0x000680…0006a0 68 65 20 70 6c 61 69 6e 2a 20 66 69 6c 65 73 20 61 72 65 20 74 68 65 20 6f 6e 65 73 20 49 20 75   ┆he plain* files are the ones I u┆
0x0006a0…0006c0 73 65 64 0a 70 6c 61 69 6e 2e 62 61 73 65 20 61 6e 64 20 6f 74 68 65 72 20 70 6c 61 69 6e 2e 2a   ┆sed plain.base and other plain.*┆
0x0006c0…0006e0 20 66 69 6c 65 20 77 65 72 65 20 67 65 6e 65 72 61 74 65 64 20 62 79 0a 69 6e 69 6d 66 20 72 75   ┆ file were generated by inimf ru┆
0x0006e0…000700 6e 6e 69 6e 67 20 6f 6e 20 70 6c 61 69 6e 2e 6d 66 0a 53 48 41 52 5f 45 4f 46 0a 66 69 20 23 20   ┆nning on plain.mf SHAR_EOF fi # ┆
0x000700…000720 65 6e 64 20 6f 66 20 6f 76 65 72 77 72 69 74 69 6e 67 20 63 68 65 63 6b 0a 69 66 20 74 65 73 74   ┆end of overwriting check if test┆
0x000720…000740 20 2d 66 20 27 6d 6f 76 65 27 0a 74 68 65 6e 0a 09 65 63 68 6f 20 73 68 61 72 3a 20 77 69 6c 6c   ┆ -f 'move' then  echo shar: will┆
0x000740…000760 20 6e 6f 74 20 6f 76 65 72 2d 77 72 69 74 65 20 65 78 69 73 74 69 6e 67 20 66 69 6c 65 20 22 27   ┆ not over-write existing file "'┆
0x000760…000780 6d 6f 76 65 27 22 0a 65 6c 73 65 0a 63 61 74 20 3c 3c 20 5c 53 48 41 52 5f 45 4f 46 20 3e 20 27   ┆move'" else cat << \SHAR_EOF > '┆
0x000780…0007a0 6d 6f 76 65 27 0a 6d 6b 64 69 72 20 6f 72 69 67 69 6e 61 6c 73 0a 6d 76 20 70 6c 61 69 6e 2e 62   ┆move' mkdir originals mv plain.b┆
0x0007a0…0007c0 61 73 65 20 6f 72 69 67 69 6e 61 6c 73 0a 6d 76 20 70 6c 61 69 6e 2e 6c 6f 67 20 6f 72 69 67 69   ┆ase originals mv plain.log origi┆
0x0007c0…0007e0 6e 61 6c 73 0a 6d 76 20 70 6c 61 69 6e 2e 6d 66 20 6f 72 69 67 69 6e 61 6c 73 0a 6d 76 20 70 6c   ┆nals mv plain.mf originals mv pl┆
0x0007e0…000800 61 69 6e 2e 74 66 6d 20 6f 72 69 67 69 6e 61 6c 73 0a 6d 76 20 6d 79 70 6c 61 69 6e 2e 62 61 73   ┆ain.tfm originals mv myplain.bas┆
0x000800…000820 65 20 70 6c 61 69 6e 2e 62 61 73 65 0a 6d 76 20 6d 79 70 6c 61 69 6e 2e 6c 6f 67 20 70 6c 61 69   ┆e plain.base mv myplain.log plai┆
0x000820…000840 6e 2e 6c 6f 67 0a 6d 76 20 6d 79 70 6c 61 69 6e 2e 6d 66 20 70 6c 61 69 6e 2e 6d 66 0a 6d 76 20   ┆n.log mv myplain.mf plain.mf mv ┆
0x000840…000860 6d 79 70 6c 61 69 6e 2e 74 66 6d 20 70 6c 61 69 6e 2e 74 66 6d 0a 53 48 41 52 5f 45 4f 46 0a 66   ┆myplain.tfm plain.tfm SHAR_EOF f┆
0x000860…000880 69 20 23 20 65 6e 64 20 6f 66 20 6f 76 65 72 77 72 69 74 69 6e 67 20 63 68 65 63 6b 0a 69 66 20   ┆i # end of overwriting check if ┆
0x000880…0008a0 74 65 73 74 20 2d 66 20 27 6d 79 70 6c 61 69 6e 2e 6d 66 27 0a 74 68 65 6e 0a 09 65 63 68 6f 20   ┆test -f 'myplain.mf' then  echo ┆
0x0008a0…0008c0 73 68 61 72 3a 20 77 69 6c 6c 20 6e 6f 74 20 6f 76 65 72 2d 77 72 69 74 65 20 65 78 69 73 74 69   ┆shar: will not over-write existi┆
0x0008c0…0008e0 6e 67 20 66 69 6c 65 20 22 27 6d 79 70 6c 61 69 6e 2e 6d 66 27 22 0a 65 6c 73 65 0a 63 61 74 20   ┆ng file "'myplain.mf'" else cat ┆
0x0008e0…000900 3c 3c 20 5c 53 48 41 52 5f 45 4f 46 20 3e 20 27 6d 79 70 6c 61 69 6e 2e 6d 66 27 0a 25 20 54 68   ┆<< \SHAR_EOF > 'myplain.mf' % Th┆
0x000900…000920 69 73 20 69 73 20 74 68 65 20 70 6c 61 69 6e 20 4d 45 54 41 46 4f 4e 54 20 62 61 73 65 20 74 68   ┆is is the plain METAFONT base th┆
0x000920…000940 61 74 27 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 54 68 65 20 4d 45 54 41 46 4f 4e 54 62 6f   ┆at's described in The METAFONTbo┆
0x000940…000960 6f 6b 2e 0a 25 20 4e 2e 42 2e 3a 20 50 6c 65 61 73 65 20 63 68 61 6e 67 65 20 22 62 61 73 65 5f   ┆ok. % N.B.: Please change "base_┆
0x000960…000980 76 65 72 73 69 6f 6e 22 20 77 68 65 6e 65 76 65 72 20 74 68 69 73 20 66 69 6c 65 20 69 73 20 6d   ┆version" whenever this file is m┆
0x000980…0009a0 6f 64 69 66 69 65 64 21 0a 25 20 41 6e 64 20 64 6f 6e 27 74 20 6d 6f 64 69 66 79 20 74 68 65 20   ┆odified! % And don't modify the ┆
0x0009a0…0009c0 66 69 6c 65 20 75 6e 64 65 72 20 61 6e 79 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 2e 0a 73 74   ┆file under any circumstances. st┆
0x0009c0…0009e0 72 69 6e 67 20 62 61 73 65 5f 6e 61 6d 65 2c 20 62 61 73 65 5f 76 65 72 73 69 6f 6e 3b 20 62 61   ┆ring base_name, base_version; ba┆
0x0009e0…000a00 73 65 5f 6e 61 6d 65 3d 22 70 6c 61 69 6e 22 3b 20 62 61 73 65 5f 76 65 72 73 69 6f 6e 3d 22 31   ┆se_name="plain"; base_version="1┆
0x000a00…000a20 2e 30 22 3b 0a 0a 6d 65 73 73 61 67 65 20 22 50 72 65 6c 6f 61 64 69 6e 67 20 74 68 65 20 70 6c   ┆.0";  message "Preloading the pl┆
0x000a20…000a40 61 69 6e 20 62 61 73 65 2c 20 76 65 72 73 69 6f 6e 20 22 26 62 61 73 65 5f 76 65 72 73 69 6f 6e   ┆ain base, version "&base_version┆
0x000a40…000a60 26 22 3a 20 70 72 65 6c 69 6d 69 6e 61 72 69 65 73 2c 22 3b 0a 0a 64 65 6c 69 6d 69 74 65 72 73   ┆&": preliminaries,";  delimiters┆
0x000a60…000a80 20 28 29 3b 20 20 25 20 74 68 69 73 20 6d 61 6b 65 73 20 70 61 72 65 6e 74 68 65 73 65 73 20 62   ┆ ();  % this makes parentheses b┆
0x000a80…000aa0 65 68 61 76 65 20 6c 69 6b 65 20 70 61 72 65 6e 74 68 65 73 65 73 0a 64 65 66 20 75 70 74 6f 20   ┆ehave like parentheses def upto ┆
0x000aa0…000ac0 3d 20 73 74 65 70 20 31 20 75 6e 74 69 6c 20 65 6e 64 64 65 66 3b 20 25 20 73 79 6e 74 61 63 74   ┆= step 1 until enddef; % syntact┆
0x000ac0…000ae0 69 63 20 73 75 67 61 72 0a 64 65 66 20 64 6f 77 6e 74 6f 20 3d 20 73 74 65 70 20 2d 31 20 75 6e   ┆ic sugar def downto = step -1 un┆
0x000ae0…000b00 74 69 6c 20 65 6e 64 64 65 66 3b 0a 64 65 66 20 65 78 69 74 75 6e 6c 65 73 73 20 65 78 70 72 20   ┆til enddef; def exitunless expr ┆
0x000b00…000b20 63 20 3d 20 65 78 69 74 69 66 20 6e 6f 74 20 63 20 65 6e 64 64 65 66 3b 0a 6c 65 74 20 72 65 6c   ┆c = exitif not c enddef; let rel┆
0x000b20…000b40 61 78 20 3d 20 5c 3b 20 20 25 20 69 67 6e 6f 72 65 20 74 68 65 20 77 6f 72 64 20 60 72 65 6c 61   ┆ax = \;  % ignore the word `rela┆
0x000b40…000b60 78 27 2c 20 61 73 20 69 6e 20 54 65 58 0a 6c 65 74 20 5c 5c 20 3d 20 5c 3b 20 25 20 64 6f 75 62   ┆x', as in TeX let \\ = \; % doub┆
0x000b60…000b80 6c 65 20 72 65 6c 61 78 61 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 73 69 6e 67 6c 65 0a 64 65 66   ┆le relaxation is like single def┆
0x000b80…000ba0 20 5d 5d 20 3d 20 5d 20 5d 20 65 6e 64 64 65 66 3b 20 25 20 72 69 67 68 74 20 62 72 61 63 6b 65   ┆ ]] = ] ] enddef; % right bracke┆
0x000ba0…000bc0 74 73 20 73 68 6f 75 6c 64 20 62 65 20 6c 6f 6e 65 72 73 0a 64 65 66 20 2d 2d 20 3d 20 7b 63 75   ┆ts should be loners def -- = {cu┆
0x000bc0…000be0 72 6c 20 31 7d 2e 2e 7b 63 75 72 6c 20 31 7d 20 65 6e 64 64 65 66 3b 0a 64 65 66 20 2d 2d 2d 20   ┆rl 1}..{curl 1} enddef; def --- ┆
0x000be0…000c00 3d 20 2e 2e 20 74 65 6e 73 69 6f 6e 20 69 6e 66 69 6e 69 74 79 20 2e 2e 20 65 6e 64 64 65 66 3b   ┆= .. tension infinity .. enddef;┆
0x000c00…000c20 0a 64 65 66 20 2e 2e 2e 20 3d 20 2e 2e 20 74 65 6e 73 69 6f 6e 20 61 74 6c 65 61 73 74 20 31 20   ┆ def ... = .. tension atleast 1 ┆
0x000c20…000c40 2e 2e 20 65 6e 64 64 65 66 3b 0a 0a 64 65 66 20 67 6f 62 62 6c 65 20 70 72 69 6d 61 72 79 20 67   ┆.. enddef;  def gobble primary g┆
0x000c40…000c60 20 3d 20 65 6e 64 64 65 66 3b 0a 70 72 69 6d 61 72 79 64 65 66 20 67 20 67 6f 62 62 6c 65 64 20   ┆ = enddef; primarydef g gobbled ┆
0x000c60…000c80 67 67 20 3d 20 65 6e 64 64 65 66 3b 0a 64 65 66 20 68 69 64 65 28 74 65 78 74 20 74 29 20 3d 20   ┆gg = enddef; def hide(text t) = ┆
0x000c80…000ca0 65 78 69 74 69 66 20 6e 75 6d 65 72 69 63 20 62 65 67 69 6e 67 72 6f 75 70 20 74 3b 65 6e 64 67   ┆exitif numeric begingroup t;endg┆
0x000ca0…000cc0 72 6f 75 70 3b 20 65 6e 64 64 65 66 3b 0a 64 65 66 20 3f 3f 3f 20 3d 20 68 69 64 65 28 69 6e 74   ┆roup; enddef; def ??? = hide(int┆
0x000cc0…000ce0 65 72 69 6d 20 73 68 6f 77 73 74 6f 70 70 69 6e 67 3a 3d 31 3b 20 73 68 6f 77 64 65 70 65 6e 64   ┆erim showstopping:=1; showdepend┆
0x000ce0…000d00 65 6e 63 69 65 73 29 20 65 6e 64 64 65 66 3b 0a 64 65 66 20 73 74 6f 70 20 65 78 70 72 20 73 20   ┆encies) enddef; def stop expr s ┆
0x000d00…000d20 3d 20 6d 65 73 73 61 67 65 20 73 3b 20 67 6f 62 62 6c 65 20 72 65 61 64 73 74 72 69 6e 67 20 65   ┆= message s; gobble readstring e┆
0x000d20…000d40 6e 64 64 65 66 3b 0a 0a 73 6d 6f 6f 74 68 69 6e 67 3a 3d 31 3b 20 61 75 74 6f 72 6f 75 6e 64 69   ┆nddef;  smoothing:=1; autoroundi┆
0x000d40…000d60 6e 67 3a 3d 32 3b 20 20 25 20 74 68 69 73 20 61 64 6a 75 73 74 73 20 63 75 72 76 65 73 20 74 6f   ┆ng:=2;  % this adjusts curves to┆
0x000d60…000d80 20 74 68 65 20 72 61 73 74 65 72 0a 74 75 72 6e 69 6e 67 63 68 65 63 6b 3a 3d 32 3b 20 20 20 20   ┆ the raster turningcheck:=2;    ┆
0x000d80…000da0 20 20 20 20 20 20 20 20 20 20 20 20 25 20 74 68 69 73 20 77 69 6c 6c 20 77 61 72 6e 20 61 62 6f   ┆            % this will warn abo┆
0x000da0…000dc0 75 74 20 61 20 22 73 74 72 61 6e 67 65 20 70 61 74 68 22 0a 67 72 61 6e 75 6c 61 72 69 74 79 3a   ┆ut a "strange path" granularity:┆
0x000dc0…000de0 3d 31 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 25 20 74 68 69 73 20 73 61 79 73 20   ┆=1;                 % this says ┆
0x000de0…000e00 74 68 61 74 20 70 69 78 65 6c 73 20 61 72 65 20 70 69 78 65 6c 73 0a 0a 64 65 66 20 69 6e 74 65   ┆that pixels are pixels  def inte┆
0x000e00…000e20 72 61 63 74 20 3d 20 25 20 73 65 74 73 20 75 70 20 74 6f 20 6d 61 6b 65 20 22 73 68 6f 77 22 20   ┆ract = % sets up to make "show" ┆
0x000e20…000e40 63 6f 6d 6d 61 6e 64 73 20 73 74 6f 70 0a 20 68 69 64 65 28 73 68 6f 77 73 74 6f 70 70 69 6e 67   ┆commands stop  hide(showstopping┆
0x000e40…000e60 3a 3d 31 3b 20 74 72 61 63 69 6e 67 6f 6e 6c 69 6e 65 3a 3d 31 29 20 65 6e 64 64 65 66 3b 0a 0a   ┆:=1; tracingonline:=1) enddef;  ┆
0x000e60…000e80 64 65 66 20 6c 6f 67 67 69 6e 67 61 6c 6c 20 3d 20 20 20 20 20 20 20 20 25 20 70 75 74 73 20 74   ┆def loggingall =        % puts t┆
0x000e80…000ea0 72 61 63 69 6e 67 20 69 6e 66 6f 20 69 6e 74 6f 20 74 68 65 20 6c 6f 67 0a 20 74 72 61 63 69 6e   ┆racing info into the log  tracin┆
0x000ea0…000ec0 67 63 6f 6d 6d 61 6e 64 73 3a 3d 33 3b 20 74 72 61 63 69 6e 67 65 64 67 65 73 3a 3d 32 3b 20 74   ┆gcommands:=3; tracingedges:=2; t┆
0x000ec0…000ee0 72 61 63 69 6e 67 74 69 74 6c 65 73 3a 3d 31 3b 20 74 72 61 63 69 6e 67 65 71 75 61 74 69 6f 6e   ┆racingtitles:=1; tracingequation┆
0x000ee0…000f00 73 3a 3d 31 3b 0a 20 74 72 61 63 69 6e 67 63 61 70 73 75 6c 65 73 3a 3d 31 3b 20 74 72 61 63 69   ┆s:=1;  tracingcapsules:=1; traci┆
0x000f00…000f20 6e 67 73 70 65 63 73 3a 3d 31 3b 20 74 72 61 63 69 6e 67 70 65 6e 73 3a 3d 31 3b 20 74 72 61 63   ┆ngspecs:=1; tracingpens:=1; trac┆
0x000f20…000f40 69 6e 67 63 68 6f 69 63 65 73 3a 3d 31 3b 0a 20 74 72 61 63 69 6e 67 73 74 61 74 73 3a 3d 31 3b   ┆ingchoices:=1;  tracingstats:=1;┆
0x000f40…000f60 20 74 72 61 63 69 6e 67 6f 75 74 70 75 74 3a 3d 31 3b 20 74 72 61 63 69 6e 67 6d 61 63 72 6f 73   ┆ tracingoutput:=1; tracingmacros┆
0x000f60…000f80 3a 3d 31 3b 20 74 72 61 63 69 6e 67 72 65 73 74 6f 72 65 73 3a 3d 31 3b 0a 20 65 6e 64 64 65 66   ┆:=1; tracingrestores:=1;  enddef┆
0x000f80…000fa0 3b 0a 0a 64 65 66 20 74 72 61 63 69 6e 67 61 6c 6c 20 3d 20 20 20 20 20 20 20 20 25 20 74 75 72   ┆;  def tracingall =        % tur┆
0x000fa0…000fc0 6e 73 20 6f 6e 20 65 76 65 72 79 20 66 6f 72 6d 20 6f 66 20 74 72 61 63 69 6e 67 0a 20 74 72 61   ┆ns on every form of tracing  tra┆
0x000fc0…000fe0 63 69 6e 67 6f 6e 6c 69 6e 65 3a 3d 31 3b 20 73 68 6f 77 73 74 6f 70 70 69 6e 67 3a 3d 31 3b 20   ┆cingonline:=1; showstopping:=1; ┆
0x000fe0…001000 6c 6f 67 67 69 6e 67 61 6c 6c 20 65 6e 64 64 65 66 3b 0a 0a 64 65 66 20 74 72 61 63 69 6e 67 6e   ┆loggingall enddef;  def tracingn┆
0x001000…001020 6f 6e 65 20 3d 20 20 20 20 20 20 20 25 20 74 75 72 6e 73 20 6f 66 66 20 65 76 65 72 79 20 66 6f   ┆one =       % turns off every fo┆
0x001020…001040 72 6d 20 6f 66 20 74 72 61 63 69 6e 67 0a 20 74 72 61 63 69 6e 67 63 6f 6d 6d 61 6e 64 73 3a 3d   ┆rm of tracing  tracingcommands:=┆
0x001040…001060 30 3b 20 74 72 61 63 69 6e 67 6f 6e 6c 69 6e 65 3a 3d 30 3b 20 73 68 6f 77 73 74 6f 70 70 69 6e   ┆0; tracingonline:=0; showstoppin┆
0x001060…001080 67 3a 3d 30 3b 0a 20 74 72 61 63 69 6e 67 65 64 67 65 73 3a 3d 30 3b 20 74 72 61 63 69 6e 67 74   ┆g:=0;  tracingedges:=0; tracingt┆
0x001080…0010a0 69 74 6c 65 73 3a 3d 30 3b 20 74 72 61 63 69 6e 67 65 71 75 61 74 69 6f 6e 73 3a 3d 30 3b 0a 20   ┆itles:=0; tracingequations:=0;  ┆
0x0010a0…0010c0 74 72 61 63 69 6e 67 63 61 70 73 75 6c 65 73 3a 3d 30 3b 20 74 72 61 63 69 6e 67 73 70 65 63 73   ┆tracingcapsules:=0; tracingspecs┆
0x0010c0…0010e0 3a 3d 30 3b 20 74 72 61 63 69 6e 67 70 65 6e 73 3a 3d 30 3b 20 74 72 61 63 69 6e 67 63 68 6f 69   ┆:=0; tracingpens:=0; tracingchoi┆
0x0010e0…001100 63 65 73 3a 3d 30 3b 0a 20 74 72 61 63 69 6e 67 73 74 61 74 73 3a 3d 30 3b 20 74 72 61 63 69 6e   ┆ces:=0;  tracingstats:=0; tracin┆
0x001100…001120 67 6f 75 74 70 75 74 3a 3d 30 3b 20 74 72 61 63 69 6e 67 6d 61 63 72 6f 73 3a 3d 30 3b 20 74 72   ┆goutput:=0; tracingmacros:=0; tr┆
0x001120…001140 61 63 69 6e 67 72 65 73 74 6f 72 65 73 3a 3d 30 3b 0a 20 65 6e 64 64 65 66 3b 0a 0a 6d 65 73 73   ┆acingrestores:=0;  enddef;  mess┆
0x001140…001160 61 67 65 20 22 20 62 61 73 69 63 20 63 6f 6e 73 74 61 6e 74 73 20 61 6e 64 20 6d 61 74 68 65 6d   ┆age " basic constants and mathem┆
0x001160…001180 61 74 69 63 61 6c 20 6d 61 63 72 6f 73 2c 22 3b 0a 0a 25 20 6e 75 6d 65 72 69 63 20 63 6f 6e 73   ┆atical macros,";  % numeric cons┆
0x001180…0011a0 74 61 6e 74 73 0a 6e 65 77 69 6e 74 65 72 6e 61 6c 20 65 70 73 2c 65 70 73 69 6c 6f 6e 2c 69 6e   ┆tants newinternal eps,epsilon,in┆
0x0011a0…0011c0 66 69 6e 69 74 79 2c 5f 3b 0a 65 70 73 20 3a 3d 20 2e 30 30 30 34 39 3b 20 20 20 20 25 20 74 68   ┆finity,_; eps := .00049;    % th┆
0x0011c0…0011e0 69 73 20 69 73 20 61 20 70 72 65 74 74 79 20 73 6d 61 6c 6c 20 70 6f 73 69 74 69 76 65 20 6e 75   ┆is is a pretty small positive nu┆
0x0011e0…001200 6d 62 65 72 0a 65 70 73 69 6c 6f 6e 20 3a 3d 20 31 2f 32 35 36 2f 32 35 36 3b 20 20 20 25 20 62   ┆mber epsilon := 1/256/256;   % b┆
0x001200…001220 75 74 20 74 68 69 73 20 69 73 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 0a 69 6e 66 69 6e 69 74 79   ┆ut this is the smallest infinity┆
0x001220…001240 20 3a 3d 20 34 30 39 35 2e 39 39 39 39 38 3b 20 20 20 20 25 20 61 6e 64 20 74 68 69 73 20 69 73   ┆ := 4095.99998;    % and this is┆
0x001240…001260 20 74 68 65 20 6c 61 72 67 65 73 74 0a 5f 20 3a 3d 20 2d 31 3b 20 25 20 69 6e 74 65 72 6e 61 6c   ┆ the largest _ := -1; % internal┆
0x001260…001280 20 63 6f 6e 73 74 61 6e 74 20 74 6f 20 6d 61 6b 65 20 6d 61 63 72 6f 73 20 75 6e 72 65 61 64 61   ┆ constant to make macros unreada┆
0x001280…0012a0 62 6c 65 20 62 75 74 20 73 68 6f 72 74 65 72 0a 0a 25 20 70 61 69 72 20 63 6f 6e 73 74 61 6e 74   ┆ble but shorter  % pair constant┆
0x0012a0…0012c0 73 0a 70 61 69 72 20 72 69 67 68 74 2c 6c 65 66 74 2c 75 70 2c 64 6f 77 6e 2c 6f 72 69 67 69 6e   ┆s pair right,left,up,down,origin┆
0x0012c0…0012e0 3b 0a 6f 72 69 67 69 6e 3d 28 30 2c 30 29 3b 20 75 70 3d 2d 64 6f 77 6e 3d 28 30 2c 31 29 3b 20   ┆; origin=(0,0); up=-down=(0,1); ┆
0x0012e0…001300 72 69 67 68 74 3d 2d 6c 65 66 74 3d 28 31 2c 30 29 3b 0a 0a 25 20 70 61 74 68 20 63 6f 6e 73 74   ┆right=-left=(1,0);  % path const┆
0x001300…001320 61 6e 74 73 0a 70 61 74 68 20 71 75 61 72 74 65 72 63 69 72 63 6c 65 2c 68 61 6c 66 63 69 72 63   ┆ants path quartercircle,halfcirc┆
0x001320…001340 6c 65 2c 66 75 6c 6c 63 69 72 63 6c 65 2c 75 6e 69 74 73 71 75 61 72 65 3b 0a 71 75 61 72 74 65   ┆le,fullcircle,unitsquare; quarte┆
0x001340…001360 72 63 69 72 63 6c 65 3d 28 72 69 67 68 74 7b 75 70 7d 2e 2e 28 72 69 67 68 74 2b 75 70 29 2f 73   ┆rcircle=(right{up}..(right+up)/s┆
0x001360…001380 71 72 74 32 2e 2e 75 70 7b 6c 65 66 74 7d 29 20 73 63 61 6c 65 64 20 2e 35 3b 0a 68 61 6c 66 63   ┆qrt2..up{left}) scaled .5; halfc┆
0x001380…0013a0 69 72 63 6c 65 3d 71 75 61 72 74 65 72 63 69 72 63 6c 65 20 26 20 71 75 61 72 74 65 72 63 69 72   ┆ircle=quartercircle & quartercir┆
0x0013a0…0013c0 63 6c 65 20 72 6f 74 61 74 65 64 20 39 30 3b 0a 66 75 6c 6c 63 69 72 63 6c 65 3d 68 61 6c 66 63   ┆cle rotated 90; fullcircle=halfc┆
0x0013c0…0013e0 69 72 63 6c 65 20 26 20 68 61 6c 66 63 69 72 63 6c 65 20 72 6f 74 61 74 65 64 20 31 38 30 20 26   ┆ircle & halfcircle rotated 180 &┆
0x0013e0…001400 20 63 79 63 6c 65 3b 0a 75 6e 69 74 73 71 75 61 72 65 3d 28 30 2c 30 29 2d 2d 28 31 2c 30 29 2d   ┆ cycle; unitsquare=(0,0)--(1,0)-┆
0x001400…001420 2d 28 31 2c 31 29 2d 2d 28 30 2c 31 29 2d 2d 63 79 63 6c 65 3b 0a 0a 25 20 74 72 61 6e 73 66 6f   ┆-(1,1)--(0,1)--cycle;  % transfo┆
0x001420…001440 72 6d 20 63 6f 6e 73 74 61 6e 74 73 0a 74 72 61 6e 73 66 6f 72 6d 20 69 64 65 6e 74 69 74 79 3b   ┆rm constants transform identity;┆
0x001440…001460 0a 66 6f 72 20 7a 3d 6f 72 69 67 69 6e 2c 72 69 67 68 74 2c 75 70 3a 20 7a 20 74 72 61 6e 73 66   ┆ for z=origin,right,up: z transf┆
0x001460…001480 6f 72 6d 65 64 20 69 64 65 6e 74 69 74 79 20 3d 20 7a 3b 20 65 6e 64 66 6f 72 0a 0a 25 20 70 69   ┆ormed identity = z; endfor  % pi┆
0x001480…0014a0 63 74 75 72 65 20 63 6f 6e 73 74 61 6e 74 73 0a 70 69 63 74 75 72 65 20 62 6c 61 6e 6b 70 69 63   ┆cture constants picture blankpic┆
0x0014a0…0014c0 74 75 72 65 2c 75 6e 69 74 70 69 78 65 6c 3b 0a 62 6c 61 6e 6b 70 69 63 74 75 72 65 3d 6e 75 6c   ┆ture,unitpixel; blankpicture=nul┆
0x0014c0…0014e0 6c 70 69 63 74 75 72 65 3b 20 25 20 60 64 69 73 70 6c 61 79 20 62 6c 61 6e 6b 70 69 63 74 75 72   ┆lpicture; % `display blankpictur┆
0x0014e0…001500 65 2e 2e 2e 27 0a 75 6e 69 74 70 69 78 65 6c 3d 6e 75 6c 6c 70 69 63 74 75 72 65 3b 20 61 64 64   ┆e...' unitpixel=nullpicture; add┆
0x001500…001520 74 6f 20 75 6e 69 74 70 69 78 65 6c 20 63 6f 6e 74 6f 75 72 20 75 6e 69 74 73 71 75 61 72 65 3b   ┆to unitpixel contour unitsquare;┆
0x001520…001540 0a 0a 25 20 73 74 72 69 6e 67 20 63 6f 6e 73 74 61 6e 74 73 0a 73 74 72 69 6e 67 20 64 69 74 74   ┆  % string constants string ditt┆
0x001540…001560 6f 3b 20 64 69 74 74 6f 20 3d 20 63 68 61 72 20 33 34 3b 20 25 20 41 53 43 49 49 20 64 6f 75 62   ┆o; ditto = char 34; % ASCII doub┆
0x001560…001580 6c 65 2d 71 75 6f 74 65 20 6d 61 72 6b 0a 0a 25 20 70 65 6e 20 63 6f 6e 73 74 61 6e 74 73 0a 64   ┆le-quote mark  % pen constants d┆
0x001580…0015a0 65 66 20 63 61 70 73 75 6c 65 5f 64 65 66 28 73 75 66 66 69 78 20 73 29 20 70 72 69 6d 61 72 79   ┆ef capsule_def(suffix s) primary┆
0x0015a0…0015c0 20 75 20 3d 20 64 65 66 20 73 20 3d 20 75 20 65 6e 64 64 65 66 20 65 6e 64 64 65 66 3b 0a 63 61   ┆ u = def s = u enddef enddef; ca┆
0x0015c0…0015e0 70 73 75 6c 65 5f 64 65 66 28 70 65 6e 73 71 75 61 72 65 29 20 6d 61 6b 65 70 65 6e 28 75 6e 69   ┆psule_def(pensquare) makepen(uni┆
0x0015e0…001600 74 73 71 75 61 72 65 20 73 68 69 66 74 65 64 20 2d 28 2e 35 2c 2e 35 29 29 3b 0a 63 61 70 73 75   ┆tsquare shifted -(.5,.5)); capsu┆
0x001600…001620 6c 65 5f 64 65 66 28 70 65 6e 72 61 7a 6f 72 29 20 6d 61 6b 65 70 65 6e 28 28 2d 2e 35 2c 30 29   ┆le_def(penrazor) makepen((-.5,0)┆
0x001620…001640 2d 2d 28 2e 35 2c 30 29 2d 2d 63 79 63 6c 65 29 3b 0a 70 65 6e 20 70 65 6e 73 70 65 63 6b 3b 20   ┆--(.5,0)--cycle); pen penspeck; ┆
0x001640…001660 70 65 6e 73 70 65 63 6b 3d 70 65 6e 73 71 75 61 72 65 20 73 63 61 6c 65 64 20 65 70 73 3b 0a 0a   ┆penspeck=pensquare scaled eps;  ┆
0x001660…001680 25 20 6e 75 6c 6c 61 72 79 20 6f 70 65 72 61 74 6f 72 73 0a 76 61 72 64 65 66 20 77 68 61 74 65   ┆% nullary operators vardef whate┆
0x001680…0016a0 76 65 72 20 3d 20 73 61 76 65 20 3f 3b 20 3f 20 65 6e 64 64 65 66 3b 0a 0a 25 20 75 6e 61 72 79   ┆ver = save ?; ? enddef;  % unary┆
0x0016a0…0016c0 20 6f 70 65 72 61 74 6f 72 73 0a 6c 65 74 20 61 62 73 20 3d 20 6c 65 6e 67 74 68 3b 0a 0a 76 61   ┆ operators let abs = length;  va┆
0x0016c0…0016e0 72 64 65 66 20 72 6f 75 6e 64 20 70 72 69 6d 61 72 79 20 75 20 3d 0a 20 69 66 20 6e 75 6d 65 72   ┆rdef round primary u =  if numer┆
0x0016e0…001700 69 63 20 75 3a 20 66 6c 6f 6f 72 28 75 2b 2e 35 29 0a 20 65 6c 73 65 69 66 20 70 61 69 72 20 75   ┆ic u: floor(u+.5)  elseif pair u┆
0x001700…001720 3a 20 28 68 72 6f 75 6e 64 20 78 70 61 72 74 20 75 2c 20 76 72 6f 75 6e 64 20 79 70 61 72 74 20   ┆: (hround xpart u, vround ypart ┆
0x001720…001740 75 29 0a 20 65 6c 73 65 3a 20 75 20 66 69 20 65 6e 64 64 65 66 3b 0a 0a 76 61 72 64 65 66 20 68   ┆u)  else: u fi enddef;  vardef h┆
0x001740…001760 72 6f 75 6e 64 20 70 72 69 6d 61 72 79 20 78 20 3d 20 66 6c 6f 6f 72 28 78 2b 2e 35 29 20 65 6e   ┆round primary x = floor(x+.5) en┆
0x001760…001780 64 64 65 66 3b 0a 76 61 72 64 65 66 20 76 72 6f 75 6e 64 20 70 72 69 6d 61 72 79 20 79 20 3d 20   ┆ddef; vardef vround primary y = ┆
0x001780…0017a0 66 6c 6f 6f 72 28 79 2e 6f 5f 2b 2e 35 29 5f 6f 5f 20 65 6e 64 64 65 66 3b 0a 0a 76 61 72 64 65   ┆floor(y.o_+.5)_o_ enddef;  varde┆
0x0017a0…0017c0 66 20 63 65 69 6c 69 6e 67 20 70 72 69 6d 61 72 79 20 78 20 3d 20 2d 66 6c 6f 6f 72 28 2d 78 29   ┆f ceiling primary x = -floor(-x)┆
0x0017c0…0017e0 20 65 6e 64 64 65 66 3b 0a 0a 76 61 72 64 65 66 20 62 79 74 65 20 70 72 69 6d 61 72 79 20 73 20   ┆ enddef;  vardef byte primary s ┆
0x0017e0…001800 3d 0a 20 69 66 20 73 74 72 69 6e 67 20 73 3a 20 41 53 43 49 49 20 66 69 20 73 20 65 6e 64 64 65   ┆=  if string s: ASCII fi s endde┆
0x001800…001820 66 3b 0a 0a 76 61 72 64 65 66 20 64 69 72 20 70 72 69 6d 61 72 79 20 64 20 3d 20 72 69 67 68 74   ┆f;  vardef dir primary d = right┆
0x001820…001840 20 72 6f 74 61 74 65 64 20 64 20 65 6e 64 64 65 66 3b 0a 0a 76 61 72 64 65 66 20 75 6e 69 74 76   ┆ rotated d enddef;  vardef unitv┆
0x001840…001860 65 63 74 6f 72 20 70 72 69 6d 61 72 79 20 7a 20 3d 20 7a 2f 61 62 73 20 7a 20 65 6e 64 64 65 66   ┆ector primary z = z/abs z enddef┆
0x001860…001880 3b 0a 0a 76 61 72 64 65 66 20 69 6e 76 65 72 73 65 20 70 72 69 6d 61 72 79 20 54 20 3d 0a 20 74   ┆;  vardef inverse primary T =  t┆
0x001880…0018a0 72 61 6e 73 66 6f 72 6d 20 54 5f 3b 20 54 5f 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 54 20 3d 20   ┆ransform T_; T_ transformed T = ┆
0x0018a0…0018c0 69 64 65 6e 74 69 74 79 3b 20 54 5f 20 65 6e 64 64 65 66 3b 0a 0a 76 61 72 64 65 66 20 63 6f 75   ┆identity; T_ enddef;  vardef cou┆
0x0018c0…0018e0 6e 74 65 72 63 6c 6f 63 6b 77 69 73 65 20 70 72 69 6d 61 72 79 20 63 20 3d 0a 20 69 6e 74 65 72   ┆nterclockwise primary c =  inter┆
0x0018e0…001900 69 6d 20 61 75 74 6f 72 6f 75 6e 64 69 6e 67 3a 3d 30 3b 0a 20 69 66 20 74 75 72 6e 69 6e 67 6e   ┆im autorounding:=0;  if turningn┆
0x001900…001920 75 6d 62 65 72 20 63 20 3c 3d 20 30 3a 20 72 65 76 65 72 73 65 20 66 69 20 63 20 65 6e 64 64 65   ┆umber c <= 0: reverse fi c endde┆
[…truncated at 200 lines…]