APL (codepage)

The APL code page is an EBCDIC-based code page used specifically to write programs written in the programming language APL.

## Contents

* 1 Character set
* 2 Keyboard layout
* 3 See also
* 4 References
* 5 External links

## Character set

Due to its origins on IBM Selectric-based teleprinters, APL symbols have traditionally been represented on the wire using a unique, non-standard character set. In the 1960s and 1970s, few terminal devices existed which could reproduce them, the most popular ones being the IBM 2741 and IBM 1050 fitted with a specific APL print head. Over time, with the universal use of high-quality graphic display, printing devices and Unicode support, the APL character font problem has largely been eliminated.

Most APL symbols are present in Unicode, in the Miscellaneous Technical range,[1] although some APL products may not yet feature Unicode, and some APL symbols may be unused or unavailable in a given vendor's implementation. Missing from Unicode are the traditional underscored alphabetic characters; their usage has been eliminated or deprecated in most APL implementations.

As of 2010, Unicode allows APL to be stored in text files, published in print and on the web, and shared through email and instant messaging. Entering APL characters still requires the use of either a specific input method editor or keyboard mapping, or of a specific touch interface. APL keyboard mappings are available for free for the most common operating systems, or can be obtained by adding the Unicode APL symbols to existing keyboard map.

## Keyboard layout

Note the mnemonics associating an APL character with a letter: (question mark) on , (power) on , (rho) on , (base value) on , (eNcode) on , (modulus) on and so on. This makes it easier for an English-language speaker to type APL on a non-APL keyboard, providing one has visual feedback on one's screen. Also, decals have been produced for attachment to standard keyboards, either on the front of the keys or on the top of them.

APL keyboard layout.[2]

Later IBM terminals, notably the IBM 3270 display stations, had an alternate keyboard arrangement which is the basis for some of the modern APL keyboard layouts in use today.

Further APL characters were available by overstriking one character with another. For example, the log symbol(⍟) was formed by overstriking with . This extended the graphic abilities of the earlier teleprinters, but made it more complex to correct errors and edit program lines.

New overstrikes were introduced by vendors as they produced versions of APL tailored to specific hardware, system features, file systems, and so on. Further, printing terminals and early APL cathode-ray terminals were able to display arbitrary overstrikes, but as personal computers rapidly replaced terminals as a data-entry device, APL character support became provided as an APL Character Generator ROM or a soft character set rendered by the display device. With the advent of the modern PC, APL characters were defined in specific fonts, eliminating the distinction between overstruck characters and standard characters.

Finally, the symbols were ratified in Unicode and given specific code points, with unambiguous interpretations, independently of the graphic font.

## See also

* APL syntax and symbols
* ISO IR-68

## References

1. ↑ "The Unicode Standard 5.1 Code Charts: Technical Symbols U+2300-U+23FF" (PDF). Unicode Standard 5.1. Unicode Consortium. http://unicode.org/charts/PDF/U2300.pdf.
2. ↑ A more up-to-date keyboard diagram, applicable for APL2 and other modern implementations, is available at WikensOnline Union APL large keyboard layout for Windows , actual photo + diagram here and NARS2000 APL keyboard layout here.

## External links

* IBM code page 293 a.k.a. the APL code page on mainframe computers
* IBM code page 907 a.k.a. the APL ASCII code page

* v
* t
* e

Character encodings

Early telecommunications|

* ASCII
* ISO/IEC 646
* ISO/IEC 6937 / ITU T.51
* ITU T.61
* BCDIC
* Baudot code
* Morse code
* Telegraph code
* Wabun code
* Special telegraphy codes
* Non-Latin
* Chinese
* Cyrillic
* Needle telegraph codes

ISO/IEC 8859|

* Approved
* -1
* -2
* -3
* -4
* -5
* -6
* -7
* -8
* -9
* -10
* -11
* -13
* -14
* -15
* -16
* Abandoned
* -12
* Adaptations
* ISO-IR-182
* ISO-IR-200
* ISO-IR-201
* Proposed but not approved
* ISO-IR-111
* ISO-IR-197
* French/Dutch/Turkish draft

Bibliographic use|

* ANSEL
* ISO 5426 / 5426-2 / 5427 / 5428 / 6438 / 6861 / 6862 / 10585 / 10586 / 10754 / 11822
* MARC-8

National standards|

* ArmSCII
* BraSCII
* CNS 11643
* ELOT 927
* GOST 10859
* GB 18030
* HKSCS
* I.S. 434
* ISCII
* JIS X 0201
* JIS X 0208
* JIS X 0212
* JIS X 0213
* KOI-7
* KPS 9566
* KS X 1001
* PASCII
* SI 960
* TIS-620
* TSCII
* VISCII
* VSCII
* YUSCII

ISO/IEC 2022|

* 7-bit
* CN
* CN-EXT
* JP
* JP-EXT
* JP-1
* JP-2
* JP-3
* KR
* ISO/IEC 4873
* ISO/IEC 8859
* ISO/IEC 10367
* Extended Unix Code / EUC
* CN
* KR
* JP
* TW
* CCCII

MacOS code pages
("scripts")|

* Armenian
* Arabic
* Barents Cyrillic
* Celtic
* CentEuro
* ChineseSimp / EUC-CN
* ChineseTrad / Big5
* Croatian
* Cyrillic
* Devanagari
* Dingbats
* Farsi (Persian)
* Gaelic
* Georgian
* Greek
* Gujarati
* Gurmukhi
* Hebrew
* Iceland
* Inuit
* Japanese / ShiftJIS
* Keyboard
* Korean / EUC-KR
* Latin (Kermit)
* Maltese/Esperanto
* Ogham / I.S. 434
* Roman
* Romanian
* Sámi
* Symbol
* Thai / TIS-620
* Turkish
* Turkic Cyrillic
* Ukrainian
* VT100

DOS code pages|

* 100
* 111
* 112
* 113
* 151
* 152
* 161
* 162
* 163
* 164
* 165
* 166
* 210
* 220
* 301
* 437
* 449
* 489
* 620
* 667
* 668
* 707
* 708
* 709
* 710
* 711
* 714
* 715
* 720
* 721
* 737
* 768
* 770
* 771
* 772
* 773
* 774
* 775
* 776
* 777
* 778
* 790
* 850
* 851
* 852
* 853
* 854
* 855/872
* 856
* 857
* 858
* 859
* 860
* 861
* 862
* 863
* 864/17248
* 865
* 866/808
* 867
* 868
* 869
* 874/1161/1162
* 876
* 877
* 878
* 881
* 882
* 883
* 884
* 885
* 891
* 895
* 896
* 897
* 898
* 899
* 900
* 903
* 904
* 906
* 907
* 909
* 910
* 911
* 926
* 927
* 928
* 929
* 932
* 934
* 936
* 938
* 941
* 942
* 943
* 944
* 946
* 947
* 948
* 949
* 950/1370
* 951
* 966
* 991
* 1034
* 1039
* 1040
* 1041
* 1042
* 1043
* 1044
* 1046
* 1086
* 1088
* 1092
* 1093
* 1098
* 1108
* 1109
* 1114
* 1115
* 1116
* 1117
* 1118
* 1119
* 1125/848
* 1126
* 1127
* 1131/849
* 1139
* 1167
* 1168
* 1300
* 1351
* 1361
* 1362
* 1363
* 1372
* 1373
* 1374
* 1375
* 1380
* 1381
* 1385
* 1386
* 1391
* 1392
* 1393
* 1394
* 57781
* 58152
* 58210
* 58335
* 59234
* 59829
* 60258
* 60853
* 61282
* 62306
* CS Indic
* CSX Indic
* CSX+ Indic
* CWI-2
* Iran System
* Kamenický
* KOI8
* Mazovia
* MIK

IBM AIX code pages|

* 367
* 371
* 806
* 813
* 819
* 895
* 896
* 912
* 913
* 914
* 915
* 916
* 919
* 920
* 921/901
* 922/902
* 923
* 952
* 953
* 954
* 955
* 956
* 957
* 958
* 959
* 960
* 961
* 963
* 964
* 965
* 970
* 971
* 1004
* 1006
* 1008
* 1009
* 1010
* 1011
* 1012
* 1013
* 1014
* 1015
* 1016
* 1017
* 1018
* 1019
* 1029
* 1036
* 1089
* 1111
* 1124
* 1129/1163
* 1133
* 1350
* 1382
* 1383

IBM Apple MacIntosh
emulations|

* 1275
* 1280
* 1281
* 1282
* 1283
* 1284
* 1285
* 1286

IBM Adobe emulations|

* 1038
* 1276
* 1277

IBM DEC emulations|

* 1020
* 1021
* 1023
* 1090
* 1100
* 1101
* 1102
* 1103
* 1104
* 1105
* 1106
* 1107
* 1287
* 1288

IBM HP emulations|

* 1050
* 1051
* 1052
* 1053
* 1054
* 1055
* 1056
* 1057
* 1058

Windows code pages|

* CER-GS
* 874/1162 (TIS-620)
* 932/943 (Shift JIS)
* 936/1386 (GBK)
* 950/1370 (Big5)
* 949/1363 (EUC-KR)
* 1169
* 1174
* Extended Latin-8
* 1200 (UTF-16LE)
* 1201 (UTF-16BE)
* 1250
* 1251
* 1252
* 1253
* 1254
* 1255
* 1256
* 1257
* 1258
* 1261
* 1270
* 54936 (GB18030)
* 65001 (UTF-8)

EBCDIC EBCDIC code pages|

* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
* 18
* 19
* 20
* 21
* 22
* 23
* 24
* 25
* 26
* 27
* 28
* 29
* 30
* 31
* 32
* 33
* 34
* 35
* 36
* 37/1140
* 37-2
* 38
* 39
* 40
* 251
* 252
* 254
* 256
* 257
* 258
* 259
* 260
* 264
* 273/1141
* 274
* 275
* 276
* 277/1142
* 278/1143
* 279
* 280/1144
* 281
* 282
* 283
* 284/1145
* 285/1146
* 286
* 287
* 288
* 289
* 290
* 293
* 297/1147
* 298
* 300
* 310
* 320
* 321
* 322
* 330
* 351
* 352
* 353
* 355
* 357
* 358
* 359
* 360
* 361
* 363
* 382
* 383
* 384
* 385
* 386
* 387
* 388
* 389
* 390
* 391
* 392
* 393
* 394
* 395
* 410
* 420/16804
* 421
* 423
* 424/8616/12712
* 425
* 435
* 500/1148
* 803
* 829
* 833
* 834
* 835
* 836
* 837
* 838/1160
* 839
* 870/1110/1153
* 871/1149
* 875/4971/9067
* 880
* 881
* 882
* 883
* 884
* 885
* 886
* 887
* 888
* 889
* 890
* 892
* 893
* 905
* 918
* 924
* 930/1390
* 931
* 933/1364
* 935/1388
* 937/1371
* 939/1399
* 1001
* 1002
* 1003
* 1005
* 1007
* 1024
* 1025/1154
* 1026/1155
* 1027
* 1028
* 1030
* 1031
* 1032
* 1033
* 1037
* 1047
* 1068
* 1069
* 1070
* 1071
* 1073
* 1074
* 1075
* 1076
* 1077
* 1078
* 1079
* 1080
* 1081
* 1082
* 1083
* 1084
* 1085
* 1087
* 1091
* 1097
* 1112/1156
* 1113
* 1122/1157
* 1123/1158
* 1130/1164
* 1132
* 1136
* 1137
* 1150
* 1151
* 1152
* 1159
* 1165
* 1166
* 1278
* 1279
* 1303
* 1364
* 1376
* 1377
* JEF
* KEIS

DEC terminals (VTx)|

* Multinational (MCS)
* National Replacement (NRCS)
* French Canadian
* Swiss
* Spanish
* United Kingdom
* Dutch
* Finnish
* French
* Norwegian and Danish
* Swedish
* Norwegian and Danish (alternative)
* 8-bit Greek
* 8-bit Turkish
* 7-bit Hebrew
* 8-bit Hebrew
* Special Graphics
* Technical (TCS)

Platform specific|

* Acorn
* Adobe Standard
* Adobe Latin 1
* Amstrad CPC
* Apple I
* Apple II
* Apple III
* ATASCII
* Atari ST
* BICS
* Casio calculators
* CDC
* Compucolor II
* DEC Radix-50
* DEC MCS/NRCS
* DG International
* ELWRO-Junior
* FIELDATA
* GEM
* GEOS
* GSM 03.38
* HP Roman Extension
* HP Roman-8
* HP Roman-9
* HP FOCAL
* HP RPL
* LICS
* LMBCS
* Mattel Aquarius
* Minitel
* MSX
* NEC APC
* NeXT
* OricSCII
* PCW
* PETSCII
* Sega SC-3000
* Sharp calculators
* Sharp MZ
* Sinclair QL
* Teletext
* TI calculators
* TRS-80
* Ventura International
* Ventura Symbol
* Videotex
* WISCII
* XCCS
* ZX80
* ZX81
* ZX Spectrum

Unicode / ISO/IEC 10646|

* UTF-1
* UTF-7
* UTF-8
* UTF-16 (UTF-16LE/UTF-16BE) / UCS-2
* UTF-32 (UTF-32LE/UTF-32BE) / UCS-4
* UTF-EBCDIC
* GB 18030
* BOCU-1
* CESU-8
* SCSU

TeX typesetting system|

* Cork
* LGR
* LY1
* OML
* OMS
* OMX
* OT1
* OT2
* OT3
* OT4
* T2A
* T2B
* T2C
* T2D
* T3
* T4
* T5
* TS1
* TS3
* U
* X2

Miscellaneous code pages|

* ABICOMP
* APL
* 293
* 310 (Graphic Escape)
* 351 (GDDM)
* 907 (OEM)
* ISO-IR-68
* ARIB STD-B24
* HZ
* IEC-P27-1
* INIS
* 7-bit
* 8-bit
* Cyrillic
* ISO-IR-169
* ISO 2033
* Johab
* SEASCII
* Stanford/ITS
* TACE16
* TRON
* UTF-5
* UTF-6
* WTF-8

Related topics|

* Code page
* Control character (C0 C1)
* CCSID
* Character encodings in HTML
* Charset detection
* Han unification
* Hardware
* ISO 6429/IEC 6429/ANSI X3.64
* Mojibake

Character sets

* v
* t
* e

APL programming language

Features|

* APL syntax and symbols
* Direct function (dfn)
* EBCDIC code page
* Iverson bracket
* Rank
* Shared Variables

Implementations|

| Major|

* Dyalog APL
* IBM APL2
* APL2000
* SHARP APL
* APLX
* NARS2000

|

Dialects|

* A+
* APLNext
* ELI
* GNU APL
* J
* K, Q; kdb+
* LYaPAS
* Polymorphic Programming Language (PPL)

Community|

| Professional
associations|

* Association for Computing Machinery: SIGAPL
* British APL Association

|

Organizations|

* Analogic Corporation
* Carnegie Mellon University (CMU)
* CompuServe
* The Computer Company (TCC)
* Digital Equipment Corporation (DEC)
* DNA Systems
* Dyalog Ltd.
* IBM
* I. P. Sharp Associates
* Kx Systems
* Manugistics Group
* Micro Computer Machines (MCM)
* Science Research Associates
* Scientific Time Sharing Corporation (STSC)
* Soliton Incorporated
* Telecompute Integrated Systems, Inc.
* Time Sharing Resources (TSR)
* University of Maryland

People|

* Phil Abrams
* Bob Bernecky
* Larry Breed
* Charles Brenner
* Fred Brooks
* Jim Brown
* Adin Falkoff
* Patrick E. Hagerty
* Herbert Hellerman
* Roger Hui
* Kenneth E. Iverson
* Dick Lathwell
* Eugene McDonnell
* Robert Metzger
* Roger Moore
* Alan Perlis
* John Scholes
* J. Henri Schueler
* Bob Smith
* Edward H. Sussenguth Jr.
* Arthur Whitney
* William Yerazunis
* Rodnay Zaks

Other|

* Iverson Award

* Category
* Commons

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=APL_(codepage)&oldid=249394"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template