├── APLSource ├── CFS │ ├── ECHO.aplf │ ├── ERROR.aplf │ ├── OFF.aplf │ ├── ñSQAPL.aplf │ ├── SQAApl2Scar.aplf │ ├── SQAScar2Apl.aplf │ ├── Connected.aplf │ ├── ñSQAWCALL.aplf │ ├── Close.aplf │ ├── Exit.aplf │ ├── Send.aplf │ ├── Start.aplf │ ├── GetCmdArg.aplf │ ├── MakeForm.aplf │ ├── Accept.aplf │ ├── Log.aplf │ ├── LX.aplf │ ├── ReadBytes.aplf │ ├── SQAInit.aplf │ ├── InitGlobals.aplf │ ├── ñSQAParse.aplf │ ├── Connect.aplf │ ├── SQAClose.aplf │ ├── Read.aplf │ ├── LOWERCASE.aplf │ ├── APLFtoA2K.aplf │ └── A2KtoAPLF.aplf ├── CFC │ ├── Close.aplf │ ├── FromA2K.aplf │ ├── ToScar.aplf │ ├── ToA2K.aplf │ ├── FromScar.aplf │ ├── Init.aplf │ ├── Start.aplf │ ├── ∆AV.apla │ ├── Connect.aplf │ ├── RPC.aplo │ └── Test.aplf └── Archive │ └── A2KFileServer │ ├── ñSQAPL.aplf │ ├── SQAApl2Scar.aplf │ ├── SQAScar2Apl.aplf │ ├── Connected.aplf │ ├── Close.aplf │ ├── ñSQAWCALL.aplf │ ├── regaplunicd.reg │ ├── Start.aplf │ ├── Accept.aplf │ ├── regaplunicd.txt │ ├── SQAInit.aplf │ ├── Read.aplf │ ├── ñSQAParse.aplf │ ├── SQAClose.aplf │ └── aplunicd.ini ├── README.md └── LICENSE /APLSource/CFS/ECHO.aplf: -------------------------------------------------------------------------------- 1 | R←ECHO R 2 | R←R -------------------------------------------------------------------------------- /APLSource/CFS/ERROR.aplf: -------------------------------------------------------------------------------- 1 | R←ERROR X 2 | 1÷0 -------------------------------------------------------------------------------- /APLSource/CFC/Close.aplf: -------------------------------------------------------------------------------- 1 | Close con 2 | ic.Close con 3 | -------------------------------------------------------------------------------- /APLSource/CFS/OFF.aplf: -------------------------------------------------------------------------------- 1 | OFF dummy 2 | Exit 'Shutting down' -------------------------------------------------------------------------------- /APLSource/CFS/ñSQAPL.aplf: -------------------------------------------------------------------------------- 1 | r←⍙SQAPL y 2 | r←⎕WCALL 'SQAPLCall' y -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/ñSQAPL.aplf: -------------------------------------------------------------------------------- 1 | r←⍙SQAPL y r←⎕WCALL 'SQAPLCall' y -------------------------------------------------------------------------------- /APLSource/CFS/SQAApl2Scar.aplf: -------------------------------------------------------------------------------- 1 | r←SQAApl2Scar y 2 | 3 | 4 | r←⍙SQAPL'ToScar'y -------------------------------------------------------------------------------- /APLSource/CFS/SQAScar2Apl.aplf: -------------------------------------------------------------------------------- 1 | r←SQAScar2Apl y 2 | 3 | r←⍙SQAPL'FromScar'y -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/SQAApl2Scar.aplf: -------------------------------------------------------------------------------- 1 | r←SQAApl2Scar y r←⍙SQAPL'ToScar'y -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/SQAScar2Apl.aplf: -------------------------------------------------------------------------------- 1 | r←SQAScar2Apl y r←⍙SQAPL'FromScar'y -------------------------------------------------------------------------------- /APLSource/CFS/Connected.aplf: -------------------------------------------------------------------------------- 1 | Connected sock 2 | ⎕←'we have a new connection on socket ',⍕sock -------------------------------------------------------------------------------- /APLSource/CFC/FromA2K.aplf: -------------------------------------------------------------------------------- 1 | FromA2K←{⎕IO←0 2 | 326=⎕DR ⍵:∇¨⍵ 3 | 80=⎕DR ⍵:∆AV[⎕UCS ⍵] 4 | ⍵} 5 | -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/Connected.aplf: -------------------------------------------------------------------------------- 1 | Connected sock ⎕←'we have a ew connection on socket ',⍕sock -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/Close.aplf: -------------------------------------------------------------------------------- 1 | Close sock ⎕←'Connection has passed away ',⍕sock sock ⎕ni 'Close' -------------------------------------------------------------------------------- /APLSource/CFS/ñSQAWCALL.aplf: -------------------------------------------------------------------------------- 1 | r←⍙SQAWCALL y 2 | ⍝ Add source (1) when in error 3 | 4 | r←((0≠1⊃,r)/1),r←,⎕WCALL y -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/ñSQAWCALL.aplf: -------------------------------------------------------------------------------- 1 | r←⍙SQAWCALL y ⍝ Add source (1) when in error r←((0≠1⊃,r)/1),r←,⎕WCALL y -------------------------------------------------------------------------------- /APLSource/CFS/Close.aplf: -------------------------------------------------------------------------------- 1 | Close;sock;z 2 | 3 | sock←⎕NSELF 4 | 'I' Log 'Socket closed ',⍕sock 5 | z←sock ⎕ni 'Close' -------------------------------------------------------------------------------- /APLSource/CFS/Exit.aplf: -------------------------------------------------------------------------------- 1 | Exit msg 2 | 'E' Log msg 3 | 'E' Log 'Close form to exit' 4 | 'fmAFS' ⎕WI 'Wait' 5 | ... 6 | ⎕SA←'OFF' -------------------------------------------------------------------------------- /APLSource/CFS/Send.aplf: -------------------------------------------------------------------------------- 1 | r←sock Send payload;size 2 | size←⎕av[⎕IO+,(4/256)⊤4+⍴payload] 3 | r←sock ⎕ni 'Send' (size,payload) 'char' -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/regaplunicd.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dyalog/aplwincfs/main/APLSource/Archive/A2KFileServer/regaplunicd.reg -------------------------------------------------------------------------------- /APLSource/CFC/ToScar.aplf: -------------------------------------------------------------------------------- 1 | scar←ToScar apl;r 2 | r←#.SQA.Apl2Scar apl 0 3 | :If 0=⊃r 4 | scar←2⊃r 5 | :Else 6 | ⎕SIGNAL 6 7 | :EndIf 8 | -------------------------------------------------------------------------------- /APLSource/CFC/ToA2K.aplf: -------------------------------------------------------------------------------- 1 | ToA2K←{⎕IO←0 2 | 326=⎕DR ⍵:∇¨⍵ 3 | 0≠10|⎕DR ⍵:⍵ 4 | z←⎕SIGNAL (256∊r←∆AV⍳⍵)/92 ⍝ Translation Error 5 | ⎕UCS r 6 | ⍵} 7 | -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/Start.aplf: -------------------------------------------------------------------------------- 1 | Start port sock←3⊃⎕ni 'Socket' sock ⎕ni 'Bind' port sock ⎕ni 'Listen' 5 sock ⎕ni 'onAcceptNotify' ('Accept ',⍕sock) -------------------------------------------------------------------------------- /APLSource/CFC/FromScar.aplf: -------------------------------------------------------------------------------- 1 | apl←FromScar scar;r 2 | r←#.SQA.Scar2Apl ⎕UCS scar 3 | :If 0=⊃r 4 | apl←2⊃r 5 | :Else 6 | ⎕←r 7 | ∘∘∘ 8 | :EndIf 9 | -------------------------------------------------------------------------------- /APLSource/CFS/Start.aplf: -------------------------------------------------------------------------------- 1 | Start port 2 | sock←3⊃⎕ni 'Socket' 3 | 4 | sock ⎕ni 'Bind' port 5 | 6 | sock ⎕ni 'Listen' 5 7 | 8 | sock ⎕ni 'onAcceptNotify' ('Accept ',⍕sock) 9 | 10 | -------------------------------------------------------------------------------- /APLSource/CFS/GetCmdArg.aplf: -------------------------------------------------------------------------------- 1 | r←GetCmdArg name;cmdargs 2 | :If 0≠⍴r←LOWERCASE 3⊃⎕WCALL 'W_Init' 3 | :AndIf 0≠⍴r←(+\r∊' =')⊂r 4 | r←(1+r⍳⊂' ',LOWERCASE name)⊃r,⊂'' 5 | r←('='=1↑r)↓r 6 | :EndIf -------------------------------------------------------------------------------- /APLSource/CFS/MakeForm.aplf: -------------------------------------------------------------------------------- 1 | MakeForm;z 2 | z←'fmAFS' ⎕WI 'Delete' 3 | z←'fmAFS' ⎕wi 'New' 'Form' ('where' 2 2 16 80) ('caption' 'APL+Win File Server') 4 | z←'fmAFS.output' ⎕WI 'New' 'Label' ('where' 0 1 15 78)('caption' '') -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # aplwincfs 2 | The APL+Win Component File Server allows Dyalog APL clients to create, read and write 3 | APL+Win component files. 4 | 5 | This is currently very much "WIP", expected completion by the end of Q1 2025. 6 | -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/Accept.aplf: -------------------------------------------------------------------------------- 1 | Accept sock ; new new ←3⊃ sock ⎕ni 'Accept' 'New Connection received ',⍕new new ⎕ni 'Set' ('onConnectNotify' ('Connected ',⍕new)) ('onCloseNotify' ('Close ',⍕new)) ('onReadNotify' ('Read ',⍕new)) -------------------------------------------------------------------------------- /APLSource/CFS/Accept.aplf: -------------------------------------------------------------------------------- 1 | Accept sock ; new 2 | new ←3⊃ sock ⎕ni 'Accept' 3 | 'New Connection received ',⍕new 4 | 5 | new ⎕ni 'Set' ('onConnectNotify' ('Connected ',⍕new)) ('onCloseNotify' ('Close ',⍕new)) ('onReadNotify' ('Read ',⍕new)) 6 | -------------------------------------------------------------------------------- /APLSource/CFC/Init.aplf: -------------------------------------------------------------------------------- 1 | r←Init;z;p 2 | :If 0=#.⎕NC'Conga' 3 | 'Conga'#.⎕CY'conga' 4 | :EndIf 5 | 6 | :If 0=#.⎕NC'Sqapl' 7 | 'SQA'#.⎕CY'sqapl' 8 | #.SQA.Init'' 9 | :EndIf 10 | 11 | :If 0=⎕NC 'IC' 12 | IC←#.Conga.Init'' 13 | IC.SetProp'.' 'EventMode' 1 14 | :EndIf 15 | -------------------------------------------------------------------------------- /APLSource/CFC/Start.aplf: -------------------------------------------------------------------------------- 1 | r←Start;z;p;rc;event;data;done 2 | Init 3 | :If 0=⊃z←IC.Srv '' '127.0.0.1' 0 ('Protocol' 'IPv4') ('Mode' 'BlkRaw') ('BufferSize' 1E7) 4 | SRV←2⊃z 5 | :AndIf 0=⊃p←IC.GetProp SRV 'LocalAddr' 6 | PORT←2⊃p 7 | :Else 8 | →0 ⊣ r←1 'Failed to create listener' 9 | :EndIf 10 | 11 | r←Connect 12 | -------------------------------------------------------------------------------- /APLSource/CFC/∆AV.apla: -------------------------------------------------------------------------------- 1 | (⎕UCS 0 65533),'€⍷⋄¨←',(⎕UCS 7 8 9 10),'⊂',(⎕UCS 12 13),'⊃⍟åæì⍫ùò⍬⍵↑↓→',(⎕UCS 27),'⊣⊢⍋⍒ !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{¦}~≢Çüéâäà≠çêëèïî⌈Ä⌊É∆×ôö⎕û⍞⌹ÖÜ¢£¥⍪⍨áíóúñÑ⍝⍀¿⌷õøý¡«»─│┌┐└┘├┤┬┴┼╭╮╯╰…ÀÁÂÃ¶ÅÆƒÈ™ÊËÌÍÎÏ©®ÒÓÔÕ≈≊ØÙÚÛ≅Ý≣ÿ⍺ß⍳⍤ã⍱⊥⊤⌽⊖⍲⌿∇⍉∊∩≡⍙≥≤⍕⍎÷„∘○∨⍴∪¯∣ ' 2 | -------------------------------------------------------------------------------- /APLSource/CFS/Log.aplf: -------------------------------------------------------------------------------- 1 | r←mode Log message;ts;i;maxrows 2 | r←0 0⍴0 ⍝ Allow chaining 3 | →(mode∊LOGMODES)↓0 4 | ts←,'ZI2,<:>,ZI2,<:>,ZI2' ⎕FMT 1 3⍴3↓⎕TS 5 | LOGTEXT←LOGTEXT,⎕TCNL,ts,' ',mode,' ',message 6 | maxrows←3⊃'fmAFS.output' ⎕WI 'where' 7 | i←(+\⎕TCNL=⌽LOGTEXT)⍳maxrows 8 | LOGTEXT←(-i)↑LOGTEXT 9 | 'fmAFS.output' ⎕wi 'Set' ('caption' LOGTEXT) -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/regaplunicd.txt: -------------------------------------------------------------------------------- 1 | ~Windows Registry Editor Version 5.00 2 | 3 | [HKEY_CURRENT_USER\SOFTWARE\Insight\Sqapl] 4 | "APL_UNICODE"="c:\\apps\\dyalog182u32\\aplunicd.ini" 5 | 6 | -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/SQAInit.aplf: -------------------------------------------------------------------------------- 1 | r←SQAInit a;z ⍝ Initialize APL Link Pro 6.0 for APL+Win r←⎕EX '⍙SQASets' r←⎕FX ⊃'r←⍙SQAPL y' 'r←⎕WCALL ''SQAPLCall'' y' r←⎕WCALL 'SQAPLInit' a (2048⍴' ') (2⊃r)←(-+/∧\' '=⌽2⊃r)↓2⊃r :Select 1⊃r :Case 0 ⋄ r←0 '' :Case 10091 ⋄ r←¯1,r z←SQASetXlate SQADefaultXlate :case 10052 r←0,r :Else ⋄ r←1,r :EndSelect -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/Read.aplf: -------------------------------------------------------------------------------- 1 | Read sock;r;slen;len;apl;res;resscar;rres ⎕←'data available on ',⍕sock r←sock ⎕ni 'Recv' 'char' '' 4 slen←3⊃r len←¯4+(4/256)⊥ ¯1+⎕av⍳ slen r←sock ⎕ni 'Recv' 'char' '' len apl←2⊃SQAScar2Apl 3⊃r res←'Mange tak' (⍳10) resscar←2⊃SQAApl2Scar res 0 rres← ⎕av[ 1+(4/256)⊤4+⍴resscar],resscar sock ⎕ni 'Send' rres 'char' -------------------------------------------------------------------------------- /APLSource/CFS/LX.aplf: -------------------------------------------------------------------------------- 1 | LX;cmdargs;port 2 | InitGlobals 3 | MakeForm 4 | 5 | :If 0=port←↑⎕FI GetCmdArg 'CFSPORT' 6 | Exit 'CFSPORT not found on command line' 7 | :EndIf 8 | 9 | 'I' Log 'AFS Starting up' 10 | 11 | :If 0≠↑z←SQAInit '' 12 | Exit 'Unable to initialise SQAPL: ',⍕z 13 | :EndIf 14 | 15 | :If 0=SOCK←Connect port 16 | Exit 'Unable to connect' 17 | :EndIf -------------------------------------------------------------------------------- /APLSource/CFS/ReadBytes.aplf: -------------------------------------------------------------------------------- 1 | r←buf ReadBytes args;z;sock;minimum;data 2 | (sock minimum)←args 3 | :While minimum>⍴buf 4 | z←sock ⎕ni 'Recv' 'char' '' 0 5 | :If 0 ∨.≠ 2↑z 6 | ⎕←'Recv:' z 7 | ∘∘∘ 8 | :EndIf 9 | data←3⊃z 10 | 'I' Log 'Received ',(⍕⍴data),' bytes ...' 11 | buf←buf,data 12 | :EndWhile 13 | 14 | r←(minimum↑buf)(minimum↓buf) -------------------------------------------------------------------------------- /APLSource/CFS/SQAInit.aplf: -------------------------------------------------------------------------------- 1 | r←SQAInit a;z 2 | ⍝ Initialize APL Link Pro 6.0 for APL+Win 3 | 4 | r←⎕EX '⍙SQASets' 5 | r←⎕FX ⊃'r←⍙SQAPL y' 'r←⎕WCALL ''SQAPLCall'' y' 6 | r←⎕WCALL 'SQAPLInit' a (2048⍴' ') 7 | (2⊃r)←(-+/∧\' '=⌽2⊃r)↓2⊃r 8 | 9 | :Select 1⊃r 10 | :Case 0 ⋄ r←0 '' 11 | :Case 10091 ⋄ r←¯1,r 12 | z←SQASetXlate SQADefaultXlate 13 | :case 10052 14 | r←0,r 15 | :Else ⋄ r←1,r 16 | :EndSelect -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/ñSQAParse.aplf: -------------------------------------------------------------------------------- 1 | r←ctl ⍙SQAParse data;n;names;defaults;m;i ⍝ Parse argument to an SQA APL model function ⍝ data is argument given by user/application n←1⊃ctl ⋄ names←2⊃ctl ⋄ defaults←3⊃ctl ⍝ n is number of positional ⍝ names is names of optional parameters ⍝ defaults is r←(n↑data),defaults ⋄ data←n↓data →(∨/m←∼(⊂,2)≡¨⍴¨data)⍴e0 →(0=⍴data)⍴l0 →(∨/m←(⍴names)cont] 26 | ⎕NUNTIE tn 27 | :EndFor 28 | -------------------------------------------------------------------------------- /APLSource/CFS/A2KtoAPLF.aplf: -------------------------------------------------------------------------------- 1 | r←fns A2KtoAPLF path;fn;cont;tn;i;name;av;⎕IO 2 | ⎕IO←0 3 | av←,0 (239 191 189)(226 130 172)(226 141 183)(226 139 132)(194 168) (226 134 144)7 8 9 10 (226 138 130)12 10 (226 138 131)(226 141 159) 4 | av,←(195 165) (195 166) (195 172) (226 141 171)(195 185) (195 178) (226 141 172)(226 141 181)(226 134 145)(226 134 147)(226 134 146)27 (226 138 163)(226 138 162)(226 141 139)(226 141 146) 5 | av,←32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 6 | av,←48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 7 | av,←64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 8 | av,←80 81 82 83 84 85 86 87 88 89 90 91 92 93 (226 136 167)95 9 | av,←96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 10 | av,←112 113 114 115 116 117 118 119 120 121 122 123 (194 166) 125 126 127 11 | av,←(195 135) (195 188) (195 169) (195 162) (195 164) (195 160) (226 137 160)(195 167) (195 170) (195 171) (195 168) (195 175) (195 174) (226 140 136)(195 132) (226 140 138) 12 | av,←(195 137) (226 136 134)(195 151) (195 180) (195 182) (226 142 149)(195 187) (226 141 158)(226 140 185)(195 150) (195 156) (194 162) (194 163) (194 165) (226 141 170)(226 141 168) 13 | av,←(195 161) (195 173) (195 179) (195 186) (195 177) (195 145) (226 141 157)(226 141 128)(194 191) (226 140 183)(195 181) (195 184) (195 189) (194 161) (194 171) (194 187) 14 | av,←(226 148 128)(226 148 130)(226 148 140)(226 148 144)(226 148 148)(226 148 152)(226 148 156)(226 148 164)(226 148 172)(226 148 180)(226 148 188)(226 149 173)(226 149 174)(226 149 175)(226 149 176)(226 128 166) 15 | av,←(195 128) (195 129) (195 130) (195 131) (194 182) (195 133) (195 134) (198 146) (195 136) (226 132 162)(195 138) (195 139) (195 140) (195 141) (195 142) (195 143) 16 | av,←(194 169) (194 174) (195 146) (195 147) (195 148) (195 149) (226 137 136)(226 137 138)(195 152) (195 153) (195 154) (195 155) (226 137 133)(195 157) (226 137 163)(195 191) 17 | av,←(226 141 186)(195 159) (226 141 179)(226 141 164)(195 163) (226 141 177)(226 138 165)(226 138 164)(226 140 189)(226 138 150)(226 141 178)(226 140 191)(226 136 135)(226 141 137)(226 136 138)(226 136 169) 18 | av,←(226 137 161)(226 141 153)(226 137 165)(226 137 164)(226 141 149)(226 141 142)(195 183) (226 128 158)(226 136 152)(226 151 139)(226 136 168)(226 141 180)(226 136 170)(194 175) (226 136 163)(194 160) 19 | :If 0=⎕NC'fns' 20 | fns←0 ⎕NL 3 21 | :EndIf 22 | :If 2=⍴⍴fns 23 | fns←⎕CN fns 24 | :EndIf 25 | :If 1≥≡fns 26 | fns←,⊂fns 27 | :EndIf 28 | path,←'/'↓⍨'/\'∊⍨¯1↑path 29 | :Try 30 | ⎕MKDIR path 31 | :CatchAll 32 | :Endtry 33 | :For fn :In fns 34 | tn←¯1+⌊/¯1,⎕xnnums 35 | name←path,fn,'.aplf' 36 | :Try 37 | retry: name ⎕XNCREATE tn 38 | :CatchAll 39 | name ⎕XNTIE tn 40 | name ⎕XNERASE tn 41 | :GoTo retry 42 | :EndTry 43 | cont←⎕AV[∊av[⎕AV⍳⎕CV 0 ⎕CR fn]] 44 | cont ⎕NAPPEND tn 45 | ⎕NUNTIE tn 46 | :EndFor 47 | -------------------------------------------------------------------------------- /APLSource/Archive/A2KFileServer/aplunicd.ini: -------------------------------------------------------------------------------- 1 | [Charsets] 2 | APL2=IBMA 3 | APLIII=MAN3 4 | APLWIN=MAN3 5 | APLUNX=MAN3 6 | DYALOG=DYA_IN 7 | UNICOD=ASCII 8 | SAXAPL=SAX_US 9 | HOST=ASCII 10 | 11 | [DYA_IN] 12 | ;Dyalog APL International (V8 & V7.2) 13 | DefaultChar=0 14 | 0= 0 8 10 13 32 0 0 0 15 | 8= 0 9 9014 0 37 39 9082 9077 16 | 16= 95 97 98 99 100 101 102 103 17 | 24= 104 105 106 107 108 109 110 111 18 | 32= 112 113 114 115 116 117 118 119 19 | 40= 120 121 122 0 0 175 46 9068 20 | 48= 48 49 50 51 52 53 54 55 21 | 56= 56 57 0 164 165 36 163 162 22 | 64= 8710 65 66 67 68 69 70 71 23 | 72= 72 73 74 75 76 77 78 79 24 | 80= 80 81 82 83 84 85 86 87 25 | 88= 88 89 90 0 0 0 0 0 26 | 96= 9049 193 194 195 199 200 202 203 27 | 104= 204 205 206 207 208 210 211 212 28 | 112= 213 217 218 219 221 222 227 236 29 | 120= 240 242 245 123 8866 125 8867 9015 30 | 128= 168 192 196 197 198 9064 201 209 31 | 136= 214 216 220 223 224 225 226 228 32 | 144= 229 230 231 232 233 234 235 237 33 | 152= 238 239 241 91 47 9023 92 9024 34 | 160= 60 8804 61 8805 62 8800 8744 8743 35 | 168= 45 43 247 215 63 8714 9076 126 36 | 176= 8593 8595 9075 9675 42 8968 8970 8711 37 | 184= 8728 40 8834 8835 8745 8746 8868 8869 38 | 192= 8739 59 44 9073 9074 9042 9035 9033 39 | 200= 9021 8854 9055 9017 33 9045 9038 9067 40 | 208= 9066 8801 8802 243 244 246 248 34 41 | 216= 35 0 38 180 9496 9488 9484 9492 42 | 224= 9532 9472 9500 9508 9524 9516 9474 64 43 | 232= 249 250 251 94 252 96 124 182 44 | 240= 58 9079 191 161 8900 8592 8594 9053 45 | 248= 41 93 0 0 167 9647 9054 255 46 | 47 | [DYA_DK] 48 | ;Dyalog APL for Windows - with Danish Character Set 49 | DefaultChar=0 50 | 0= 0 8 10 13 32 0 0 0 51 | 8= 0 9 9014 0 37 39 9082 9077 52 | 16= 95 97 98 99 100 101 102 103 53 | 24= 104 105 106 107 108 109 110 111 54 | 32= 112 113 114 115 116 117 118 119 55 | 40= 120 121 122 0 0 175 46 9068 56 | 48= 48 49 50 51 52 53 54 55 57 | 56= 56 57 0 0 0 36 163 9063 58 | 64= 8710 65 66 67 68 69 70 71 59 | 72= 72 73 74 75 76 77 78 79 60 | 80= 80 81 82 83 84 85 86 87 61 | 88= 88 89 90 0 0 0 0 0 62 | 96= 9049 97 98 99 100 101 102 103 63 | 104= 104 105 106 107 108 109 110 111 64 | 112= 112 113 114 115 116 117 118 119 65 | 120= 120 121 122 123 8866 125 8867 9015 66 | 128= 168 0 0 0 0 9064 230 198 67 | 136= 248 216 229 197 228 196 246 214 68 | 144= 252 220 223 233 201 189 167 164 69 | 152= 224 0 0 91 47 9023 92 9024 70 | 160= 60 8804 61 8805 62 8800 8744 8743 71 | 168= 45 43 247 215 63 8714 9076 8764 72 | 176= 8593 8595 9075 9675 42 8968 8970 8711 73 | 184= 8728 40 8834 8835 8745 8746 8868 8869 74 | 192= 8739 59 44 9073 9074 9042 9035 9033 75 | 200= 9021 8854 9055 9017 33 9045 9038 9067 76 | 208= 9066 8801 8802 0 0 0 0 34 77 | 216= 35 0 38 180 9496 9488 9484 9492 78 | 224= 9532 9472 9500 9508 9524 9516 9474 64 79 | 232= 0 0 0 94 0 96 124 0 80 | 240= 58 0 0 0 8900 8592 8594 9053 81 | 248= 41 93 0 0 0 9647 9054 0 82 | 83 | [DYA_UK] 84 | DefaultChar=0 85 | 0= 0 8 10 13 32 0 0 0 86 | 8= 0 9 9014 0 37 39 9082 9077 87 | 16= 95 97 98 99 100 101 102 103 88 | 24= 104 105 106 107 108 109 110 111 89 | 32= 112 113 114 115 116 117 118 119 90 | 40= 120 121 122 0 0 175 46 9068 91 | 48= 48 49 50 51 52 53 54 55 92 | 56= 56 57 0 0 0 36 163 124 93 | 64= 8710 65 66 67 68 69 70 71 94 | 72= 72 73 74 75 76 77 78 79 95 | 80= 80 81 82 83 84 85 86 87 96 | 88= 88 89 90 0 0 0 0 0 97 | 96= 9049 97 98 99 100 101 102 103 98 | 104= 104 105 106 107 108 109 110 111 99 | 112= 112 113 114 115 116 117 118 119 100 | 120= 120 121 122 123 8866 125 8867 9015 101 | 128= 168 0 0 0 0 9064 0 0 102 | 136= 0 0 0 0 0 0 9060 9061 103 | 144= 0 0 0 0 0 0 0 0 104 | 152= 0 0 0 91 47 9023 92 9024 105 | 160= 60 8804 61 8805 62 8800 8744 8743 106 | 168= 45 43 247 215 63 8714 9076 8764 107 | 176= 8593 8595 9075 9675 42 8968 8970 8711 108 | 184= 8728 40 8834 8835 8745 8746 8868 8869 109 | 192= 8739 59 44 9073 9074 9042 9035 9033 110 | 200= 9021 8854 9055 9017 33 9045 9038 9067 111 | 208= 9066 8801 8802 0 0 0 0 34 112 | 216= 35 0 38 180 9496 9488 9484 9492 113 | 224= 9532 9472 9500 9508 9524 9516 9474 64 114 | 232= 0 0 0 94 0 96 124 0 115 | 240= 58 0 0 0 8900 8592 8594 9053 116 | 248= 41 93 0 0 0 9647 9054 0 117 | 118 | [IBMA] 119 | DefaultChar=0 120 | 0= 0 1 2 3 4 5 6 7 121 | 8= 8 9 10 11 12 13 14 15 122 | 16= 16 17 18 19 20 21 22 23 123 | 24= 24 25 26 27 28 29 30 31 124 | 32= 32 33 34 35 36 37 38 39 125 | 40= 40 41 42 43 44 45 46 47 126 | 48= 48 49 50 51 52 53 54 55 127 | 56= 56 57 58 59 60 61 62 63 128 | 64= 64 65 66 67 68 69 70 71 129 | 72= 72 73 74 75 76 77 78 79 130 | 80= 80 81 82 83 84 85 86 87 131 | 88= 88 89 90 91 92 93 94 95 132 | 96= 96 97 98 99 100 101 102 103 133 | 104= 104 105 106 107 108 109 110 111 134 | 112= 112 113 114 115 116 117 118 119 135 | 120= 120 121 122 123 124 125 126 127 136 | 128= 199 252 233 226 228 224 229 231 137 | 136= 234 235 232 239 238 236 196 197 138 | 144= 9647 9054 9017 244 246 242 251 249 139 | 152= 8869 214 220 248 163 8868 8359 9014 140 | 160= 225 237 243 250 241 209 170 186 141 | 168= 191 8968 172 189 8746 161 9045 9038 142 | 176= 9617 9618 9619 9474 9508 9055 8710 8711 143 | 184= 8594 9571 9553 9559 9565 8592 8970 9488 144 | 192= 9492 9524 9516 9500 9472 9532 8593 8595 145 | 200= 9562 9556 9577 9574 9568 9552 9580 8801 146 | 208= 9080 9079 8757 9015 9026 9019 8866 8867 147 | 216= 8900 9496 9484 9608 9604 166 204 9600 148 | 224= 9082 223 8834 8835 9053 9074 9076 9073 149 | 232= 9021 8854 9675 8744 9075 9033 8714 8745 150 | 240= 9023 9024 8805 8804 8800 215 247 9049 151 | 248= 8728 9077 9067 9035 9042 175 168 160 152 | 153 | [MAN3] 154 | DefaultChar=0 155 | 0= 0 0 0 9079 8900 168 8592 7 156 | 8= 8 9 10 8834 12 13 8835 9055 157 | 16= 0 0 0 9067 249 0 9068 9077 158 | 24= 8593 8595 8594 27 8867 8866 9035 9042 159 | 32= 32 33 34 35 36 37 38 39 160 | 40= 40 41 42 43 44 45 46 47 161 | 48= 48 49 50 51 52 53 54 55 162 | 56= 56 57 58 59 60 61 62 63 163 | 64= 64 65 66 67 68 69 70 71 164 | 72= 72 73 74 75 76 77 78 79 165 | 80= 80 81 82 83 84 85 86 87 166 | 88= 88 89 90 91 92 93 94 95 167 | 96= 96 97 98 99 100 101 102 103 168 | 104= 104 105 106 107 108 109 110 111 169 | 112= 112 113 114 115 116 117 118 119 170 | 120= 120 121 122 123 124 125 126 127 171 | 128= 199 252 233 226 228 224 8800 231 172 | 136= 234 235 232 239 238 8968 196 8970 173 | 144= 201 8710 215 212 246 9647 251 9054 174 | 152= 9017 214 220 9063 163 165 9066 9064 175 | 160= 225 237 243 250 241 209 9053 9024 176 | 168= 191 9015 0 0 0 161 171 187 177 | 176= 0 0 0 0 0 0 0 0 178 | 184= 0 0 0 0 0 0 0 0 179 | 192= 0 0 0 0 0 0 0 0 180 | 200= 0 0 0 0 0 0 0 0 181 | 208= 0 0 0 0 0 0 0 0 182 | 216= 0 0 0 0 0 0 0 0 183 | 224= 9082 223 9075 9060 0 9073 8868 8869 184 | 232= 9021 8854 9074 9023 8711 9033 8714 8745 185 | 240= 8801 9049 8805 8804 9045 9038 247 0 186 | 248= 8728 9675 8744 9076 8746 175 8739 0 187 | 188 | [SAX_US] 189 | DefaultChar=0 190 | 0= 0 0 0 0 0 0 0 7 191 | 8= 8 9 10 11 12 13 0 0 192 | 16= 9484 9516 9488 9500 9532 9508 9492 9524 193 | 24= 9496 9474 9472 0 0 0 0 0 194 | 32= 32 33 34 35 36 37 38 39 195 | 40= 40 41 42 43 44 45 46 47 196 | 48= 48 49 50 51 52 53 54 55 197 | 56= 56 57 58 59 60 61 62 63 198 | 64= 64 65 66 67 68 69 70 71 199 | 72= 72 73 74 75 76 77 78 79 200 | 80= 80 81 82 83 84 85 86 87 201 | 88= 88 89 90 91 92 93 94 95 202 | 96= 96 97 98 99 100 101 102 103 203 | 104= 104 105 106 107 108 109 110 111 204 | 112= 112 113 114 115 116 117 118 119 205 | 120= 120 121 122 123 124 125 126 0 206 | 128= 0 0 0 0 0 0 0 0 207 | 136= 0 0 0 0 0 0 0 0 208 | 144= 0 0 0 0 0 0 0 0 209 | 152= 0 0 0 0 0 0 0 0 210 | 160= 0 168 175 0 8804 0 8805 0 211 | 168= 8800 8744 0 215 9066 9017 8757 9023 212 | 176= 9074 161 0 163 165 0 172 0 213 | 184= 0 9073 0 9019 9026 8801 9015 191 214 | 192= 0 9082 8868 8745 8970 8714 0 8711 215 | 200= 8710 9075 8728 0 9647 8739 8869 9675 216 | 208= 0 0 9076 8968 0 8595 8746 9077 217 | 216= 8835 8593 8834 8866 9024 8867 0 247 218 | 224= 9014 8854 9038 9053 0 9079 9067 9042 219 | 232= 9035 9080 9060 0 9054 0 9045 9061 220 | 240= 9055 0 0 0 9033 0 0 9021 221 | 248= 0 0 9063 8592 9049 8594 8900 0 222 | 223 | [ASCII] 224 | DefaultChar=0 225 | 0= 0 1 2 3 4 5 6 7 226 | 8= 8 9 10 11 12 13 14 15 227 | 16= 16 17 18 19 20 21 22 23 228 | 24= 24 25 26 27 28 29 30 31 229 | 32= 32 33 34 35 36 37 38 39 230 | 40= 40 41 42 43 44 45 46 47 231 | 48= 48 49 50 51 52 53 54 55 232 | 56= 56 57 58 59 60 61 62 63 233 | 64= 64 65 66 67 68 69 70 71 234 | 72= 72 73 74 75 76 77 78 79 235 | 80= 80 81 82 83 84 85 86 87 236 | 88= 88 89 90 91 92 93 94 95 237 | 96= 96 97 98 99 100 101 102 103 238 | 104= 104 105 106 107 108 109 110 111 239 | 112= 112 113 114 115 116 117 118 119 240 | 120= 120 121 122 123 124 125 126 127 241 | 128= 128 129 130 131 132 133 134 135 242 | 136= 136 137 138 139 140 141 142 143 243 | 144= 144 145 146 147 148 149 150 151 244 | 152= 152 153 154 155 156 157 158 159 245 | 160= 160 161 162 163 164 165 166 167 246 | 168= 168 169 170 171 172 173 174 175 247 | 176= 176 177 178 179 180 181 182 183 248 | 184= 184 185 186 187 188 189 190 191 249 | 192= 192 193 194 195 196 197 198 199 250 | 200= 200 201 202 203 204 205 206 207 251 | 208= 208 209 210 211 212 213 214 215 252 | 216= 216 217 218 219 220 221 222 223 253 | 224= 224 225 226 227 228 229 230 231 254 | 232= 232 233 234 235 236 237 238 239 255 | 240= 240 241 242 243 244 245 246 247 256 | 248= 248 249 250 251 252 253 254 255 257 | 258 | --------------------------------------------------------------------------------