Digital encoding of APL symbols: Difference between revisions

Content deleted Content added
Character sets: tag jargon: "on the wire". My best guess is it means "in transmission", but that doesn't really make sense.
 
(33 intermediate revisions by 16 users not shown)
Line 3:
 
==Character sets==
Due to its origins on [[IBM]] [[IBM Selectric typewriter|Selectric]]-based [[teleprinter]]s, APL symbols have traditionally been represented on the wire{{jargon inline|date=August 2025}} 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.
 
===Character repertoire===
IBM assigns the following character IDs (GCGIDs) to APL syntax, which are used in the definitions of its code pages.<ref name="cs963"/><ref name="cs963pdf"/><ref name="slgcgidchart"/>
{|class="wikitable collapsible"
|+"SL" (APL functional symbol) series GCGIDs
!GCGID<ref name="cs963pdf">{{cite web |url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CS00963.pdf |title=Graphic Escape APL2/TN - 138 (chart) |id=GCSGID 00963 |publisher=[[IBM]]}}</ref> !! IBM name<ref name="cs963">{{cite web |url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CS00963.txt |title=Graphic Escape APL2/TN - 138 |id=GCSGID 00963 |publisher=[[IBM]]}}</ref><ref name="slgcgidchart">{{cite web |url=http://www-01.ibm.com/software/globalization/gcgid/aplsym.html |url-status=dead |archive-url=https://web.archive.org/web/20160122051352/http://www-01.ibm.com/software/globalization/gcgid/aplsym.html |archive-date=2016-01-22 |title=Graphic character identifiers: Specials, APL symbols |publisher=[[IBM]]}}</ref> !! Unicode !! Notes and other mappings
|-
|SL010000 || Up Stile (APL) || {{unichar|2308|LEFT CEILING}} ||
Line 25:
|SL070000 || Delta Stile (APL) || {{unichar|234B|APL FUNCTIONAL SYMBOL DELTA STILE}} ||
|-
|SL080000 || Circle (APL) || {{unichar|25CB|WHITE CIRCLE}}<ref name="tachyon310"/><ref name="consortiumir68"/><ref name="x3270"/><ref name="dyalogsheet">{{cite web |url=https://docs.dyalog.com/17.0/CheatSheet%20-%20Nomenclature%20-%20Functions%20and%20Operators.pdf |title=Dyalog Nomenclature: Functions and Operators |website=Dyalog - Documentation Centre |publisher=Dyalog APL}}</ref> || This is SM750000 in a non-APL context, for example, in the [[C0 control codes|C0]] replacement graphics from [[code page 437]],<ref name="cpgid437">{{cite web |url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CP00437.txt |title=Personal Computer |id=CPGID 00437 |publisher=[[IBM]]}}</ref> which code pages 907, 909 and 910 inherit some or all of, retaining SM750000 in the C0 area and also including SL080000 outside of it.<ref name="cpgid907"/><ref name="cpgid909"/><ref name="cpgid910"/> Both map to U+25CB when APL is represented using Unicode characters, although SL080000 can be mapped to U+F890 in IBM's [[Private Use Areas|private use area]] scheme.<ref name="unicodenam">{{citation|mode=cs1 |title=unicode.nam: Allow the Unicode characters to be specified using either the IBM or PostScript like names. |author=IBM |author-link=IBM |date=1997}} (Included with {{citation|mode=cs2 |title=OS/2 Codepage and Keyboard Display Tools |last=Borgendale |first=Ken |url=http://www.borgendale.com/tools/tools.htm}})</ref> Compare SL590000 through SL620000 below.
|-
|SL090000 || Circle Stile (APL) || {{unichar|233D|APL FUNCTIONAL SYMBOL CIRCLE STILE}} ||
Line 47:
|SL180000 || Down Caret Tilde (APL) || {{unichar|2371|APL FUNCTIONAL SYMBOL DOWN CARET TILDE}} ||
|-
|SL190000 || Down Tack Jot (APL){{efn |name=tacks}} || {{unichar|234E|APL FUNCTIONAL SYMBOL DOWN TACK JOT}}{{efn |name=tacks}} ||
|-
|SL200000 || Up Tack Jot (APL){{efn |name=tacks}} || {{unichar|2355|APL FUNCTIONAL SYMBOL UP TACK JOT}}{{efn |name=tacks}} ||
|-
|SL210000 || Up Shoe Null (APL) || {{unichar|235D|APL FUNCTIONAL SYMBOL UP SHOE JOT}} ||
|-
|SL220000 || Up Tack (APL){{efn |name=tacks}} || {{unichar|22A4|DOWN TACK}}{{efn |NamingThere conventionare two naming conventions (which way around "up" and "down" are, and which way around "left" and "right" are) offor tack characters, the "London" and "Bosworth" conventions.<ref name="dickey">{{cite web |url=https://www.math.uwaterloo.ca/~ljdickey/apl-rep/tables/note1.html |last=Dickey |first=Leroy J. |title=The Naming of Tack Symbols |website=University of Waterloo}}</ref> Which convention is used differs between IBM and Unicode,. andNaming also differs between composite Unicode characters intended solely for APL (which match IBM naming and use the Bosworth convention) versus thoseplain tacks also intended for other applications (which use the London convention).<ref name="dickey"/><ref name="utn27">{{cite web |url=https://www.unicode.org/notes/tn27/ |title=Known Anomalies in Unicode Character Names |date=2021-06-14 |first1=Asmus |last1=Freytag |first2=Rick |last2=McGowan |first3=Ken |last3=Whistler |publisher=[[Unicode Consortium]] |id=UTN #27}}</ref> APL specifications subsequently adopted the London convention.<ref name="utn27"/> The documentation for Dyalog APL notes that the Unicode naming for composite tacks (and thus the IBM naming for all tacks), which follows the lesser-used "Bosworth" convention,<ref name="dickey"/> runs contrary to convention in the APL community.{{refn|name=dyalogsheet}} |name=tacks}} ||
|-
|SL230000 || Down Tack (APL){{efn |name=tacks}} || {{unichar|22A5|UP TACK}}{{efn |name=tacks}} ||
|-
|SL240000 || Down Tack Up Tack (APL) || {{unichar|2336|APL FUNCTIONAL SYMBOL I-BEAM}} ||
Line 67:
|SL280000 || Quad Slope (APL) || {{unichar|2342|APL FUNCTIONAL SYMBOL QUAD BACKSLASH}} ||
|-
|SL290000 || Ampersand Underbar<ref name="slgcgidchart"/> || || Not used in any documented code page. Can be represented in Unicode with the sequence {{mono|U+0026}} {{mono|U+0332}} &̲
|-
|SL300000 || Equal Underbar (APL) || {{unichar|2261|IDENTICAL TO}} ||
|-
|SL310000 || OUT Symbol (APL)<ref name="slgcgidchart"/> || none{{efn|Unicode 1.0 had the "APL out" character at U+2301, but it was removed in Unicode 1.0.1.<ref>{{cite web|url=https://www.unicode.org/versions/Unicode1.0.0/Notice.pdf|title=Unicode 1.0.1 Addendum|work=The Unicode Standard|date=1992-11-03|accessdate=2024-09-21}}</ref>}} || Not used in any IBM-documented code page. IBM's reference glyph resembles oblique underlined forms of the letters O, U and T overstruck in the same character position.
|SL310000 || OUT Symbol (APL)<ref name="slgcgidchart"/> || || Not used in any documented code page.
|-
|SL320000 || Diaeresis Dot (APL) || {{unichar|2235|BECAUSE}} ||
Line 77:
|SL330000 || Delta Underbar (APL) || {{unichar|2359|APL FUNCTIONAL SYMBOL DELTA UNDERBAR}} ||
|-
|SL340000 || Left Tack (APL){{efn |name=tacks}} || {{unichar|22A2|RIGHT TACK}}{{efn |name=tacks}} ||
|-
|SL350000 || Right Tack (APL){{efn |name=tacks}} || {{unichar|22A3|LEFT TACK}}{{efn |name=tacks}} ||
|-
|SL360000 || Quad (APL) || {{unichar|2395|APL FUNCTIONAL SYMBOL QUAD}}<ref name="tachyon310"/><ref name="consortiumir68"/> || {{unichar|25AF|WHITE VERTICAL RECTANGLE}}<ref name="slgcgidchart"/>
|-
|SL370000 || Less Greater (APL) || {{unichar|22C4|DIAMOND OPERATOR}}<ref name="tachyon310"/><ref name="consortiumir68"/> || {{unichar|25CA|LOZENGE}},<ref name="slgcgidchart"/> {{unichar|25C6|BLACK DIAMOND}}<ref name="x3270"/><ref name="mainframew"/>
|-
|SL380000 || Stile (APL) || {{unichar|2223|DIVIDES}}<ref name="tachyon310"/><ref name="consortiumir68"/> || {{unichar|2502|BOX DRAWINGS LIGHT VERTICAL}},<ref name="x3270"/><ref name="mainframew"/> {{unichar|007C|VERTICAL LINE}}<ref name="dyalogsheet"/>
|-
|SL400000 || Up Shoe (APL) || {{unichar|2229|INTERSECTION}}<ref name="tachyon310"/><ref name="consortiumir68"/><ref name="dyalogsheet"/> || {{unichar|22C2|N-ARY INTERSECTION}}<ref name="mainframew"/><ref name="x3270"/>
|-
|SL410000 || Down Shoe (APL) || {{unichar|222A|UNION}}<ref name="tachyon310"/><ref name="consortiumir68"/><ref name="dyalogsheet"/> || {{unichar|22C3|N-ARY UNION}}<ref name="mainframew"/><ref name="x3270"/>
|-
|SL420000 || Left Shoe (APL) || {{unichar|2282|SUBSET OF}} ||
Line 99:
|SL450000 || Diaeresis (APL) || {{unichar|00A8|DIAERESIS}} ||
|-
|SL460000 || Tilde (APL) || {{unichar|223C|TILDE OPERATOR}}<ref name="tachyon310"/><ref name="consortiumir68"/> || U+F88F in IBM's private use area scheme.<ref name="unicodenam"/> Also mapped to {{unichar|007E|TILDE}},<ref name="mainframew"/><ref name="x3270"/><ref name="dyalogsheet"/> although SD190000 (U+007E in a non-APL context) co-occurs at 0xA1 (while SL460000 is at 0x80) in code page 213.<ref name="cp293txt"/>
|-
|SL480000 || Circle Plus || {{unichar|2295|CIRCLED PLUS}} ||
|SL500000 || Down Caret (APL) || {{unichar|2228|LOGICAL OR}}<ref name="mainframew"/><ref name="x3270"/><ref name="tachyon310"/><ref name="consortiumir68"/><ref name="slgcgidchart"/> ||
|-
|SL490000 || Circle x || {{unichar|2297|CIRCLED TIMES}} ||
|SL510000 || Up Caret (APL) || {{unichar|2227|LOGICAL AND}}<ref name="tachyon310"/><ref name="consortiumir68"/> || {{unichar|22C0|N-ARY LOGICAL AND}}<ref name="mainframew"/><ref name="x3270"/>
|-
|SL500000 || Down Caret (APL) || {{unichar|2228|LOGICAL OR}}<ref name="mainframew"/><ref name="x3270"/><ref name="tachyon310"/><ref name="consortiumir68"/><ref name="slgcgidchart"/><ref name="dyalogsheet"/> ||
|-
|SL510000 || Up Caret (APL) || {{unichar|2227|LOGICAL AND}}<ref name="tachyon310"/><ref name="consortiumir68"/><ref name="dyalogsheet"/> || {{unichar|22C0|N-ARY LOGICAL AND}}<ref name="mainframew"/><ref name="x3270"/>
|-
|SL520000 || Less (APL) || {{unichar|003C|LESS-THAN SIGN}} ||
Line 117 ⟶ 121:
|SL570000 || Not Less (APL) || {{unichar|2265|GREATER-THAN OR EQUAL TO}} ||
|-
|SL580000 || Quote Dot (APL) || {{unichar|0021|EXCLAMATION MARK}}<ref name="mainframew"/><ref name="x3270"/><ref name="consortiumir68"/><ref name="dyalogsheet"/> || U+F88E in IBM's private use area scheme.<ref name="unicodenam"/> SP020000 ({{unichar|0021|EXCLAMATION MARK}} in a non-APL context) co-occurs at 0x5A in code page 293 (SL580000 is at 0xDB in code pages 293 and 310).<ref name="cp293txt"/> Tachyonsoft lists {{unichar|01C3|LATIN LETTER RETROFLEX CLICK}} for SL580000.<ref name="tachyon310"/>
|-
|SL590000 || Left Arrow (APL) || {{unichar|2190|LEFTWARDS ARROW}}<ref name="tachyon310"/><ref name="consortiumir68"/><ref name="x3270"/> ||rowspan=4| These arrows are SM300000, SM310000, SM320000 and SM330000 respectively in a non-APL context, for example, in the [[C0 control codes|C0]] replacement graphics from [[code page 437]],<ref name="cpgid437">{{cite web |url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CP00437.txt |title=Personal Computer |id=CPGID 00437 |publisher=[[IBM]]}}</ref> which code pages 907, 909 and 910 inherit some or all of. Their APL GCGIDs can be mapped to U+F88D, U+F88C, U+F88B and U+F88A respectively in IBM's private use area scheme.<ref name="unicodenam"/>
 
Code pages 907 and 910 keep the non-APL GCGIDs for the C0 replacements but use the APL GCGIDs where the arrows appear outside of the C0 area, while code page 909 uses the APL GCGIDs multiple times, both for the C0 replacements and for between one and two occurrences of each of these arrows outside of the C0 area.<ref name="cpgid907"/><ref name="cpgid909"/><ref name="cpgid910"/>
Line 127 ⟶ 131:
|SL600000 || Right Arrow (APL) || {{unichar|2192|RIGHTWARDS ARROW}}<ref name="tachyon310"/><ref name="consortiumir68"/><ref name="x3270"/>
|-
|SL610000 || Up Arrow (APL) || {{unichar|2191|UPWARDS ARROW}}<ref name="tachyon310"/><ref name="consortiumir68"/><ref name="x3270"/><ref name="dyalogsheet"/>
|-
|SL620000 || Down Arrow (APL) || {{unichar|2193|DOWNWARDS ARROW}}<ref name="tachyon310"/><ref name="consortiumir68"/><ref name="x3270"/><ref name="dyalogsheet"/>
|-
|SL630000 || Overbar (APL) || {{unichar|203E|OVERLINE}} ||
|-
|SL640000 || Slope (APL) || {{unichar|005C|REVERSE SOLIDUS}}<ref name="mainframew"/><ref name="x3270"/><ref name="consortiumir68"/><ref name="dyalogsheet"/> || U+F889 in IBM's private use area scheme.<ref name="unicodenam"/> Also mapped to {{unichar|2216|SET MINUS}}.<ref name="tachyon310"/> SM070000 ({{unichar|005C|REVERSE SOLIDUS}} in a non-APL context) co-occurs at 0x5A (while SL640000 is at 0xB7) in code page 293.<ref name="cp293txt"/>
|-
|SL650000 || Star (APL) || {{unichar|22C6|STAR OPERATOR}}<ref name="consortiumir68"/> || {{unichar|002A|ASTERISK}}<ref name="tachyon293"/><ref name="dyalogsheet"/>
|-
|SL660000 || Quote (APL) || {{unichar|0027|APOSTROPHE}} ||
Line 143 ⟶ 147:
|SL680000 || Right Parenthesis (APL) || {{unichar|0029|RIGHT PARENTHESIS}} ||
|-
|SL690000 || Bar (APL) || {{unichar|002D|HYPHEN-MINUS}}<ref name="tachyon293"/><ref name="consortiumir68"/><ref name="x3270"/><ref name="dyalogsheet"/> || {{unichar|2212|MINUS SIGN}}
|-
|SL700000 || Query (APL) || {{unichar|003F|QUESTION MARK}} || U+F888 in IBM's private use area scheme.<ref name="unicodenam"/>
|-
|SL710000 || Alpha (APL) || {{unichar|237A|APL FUNCTIONAL SYMBOL ALPHA}}<ref name="tachyon310"/><ref name="consortiumir68"/> || {{unichar|03B1|GREEK SMALL LETTER ALPHA}}<ref name="mainframew"/><ref name="x3270"/>
|-
|SL720000 || Epsilon (APL) || {{unichar|220A|SMALL ELEMENT OF}}<ref name="consortiumir68"/><ref name="slgcgidchart"/><ref name="dyalogsheet"/> || {{unichar|03B5|GREEK SMALL LETTER EPSILON}},<ref name="mainframew"/><ref name="x3270"/> {{unichar|2208|ELEMENT OF}}<ref name="tachyon310"/>
|-
|SL730000 || Iota (APL) || {{unichar|2373|APL FUNCTIONAL SYMBOL IOTA}}<ref name="tachyon310"/><ref name="consortiumir68"/> || {{unichar|03B9|GREEK SMALL LETTER IOTA}}<ref name="mainframew"/><ref name="x3270"/>
Line 184 ⟶ 188:
===EBCDIC code pages===
====Code page 293====
'''Code page 293''' ([[CCSID]] 293),<ref>{{cite web|title=CCSID 293 information document|archive-url=https://web.archive.org/web/20160327100212/http://www-01.ibm.com/software/globalization/ccsid/ccsid293.html|archive-date=2016-03-27|url=http://www-01.ibm.com/software/globalization/ccsid/ccsid293.html}}</ref> called "APL (USA)", is an EBCDIC code page which includes APL symbols, in addition to preserving the [[ISO basic Latin alphabet|basic Latin]] letters and [[Western Arabic numerals]] at their usual EBCDIC locations.<ref name="cp293txt">{{cite web |url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CP00293.txt |title=Code Page (CPGID) 00293: APL (USA) |work=REGISTRY, Graphic Character Sets and Code Pages |date=1996 |orig-year=1984 |author=IBM |author-link=IBM}}</ref><ref name="tachyon293">{{citation|mode=cs1 |url=http://www.tachyonsoft.com/cp00293.htm |title=Code Page 00293: EBCDIC APL |date=2007-07-31 |author=Tachyon Software}}</ref>
 
{|{{chset-table-header1|Code page 293<ref>{{Citation|title=Code Page CPGID 00293 (pdf)|url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CP00293.pdf|publisher=IBM}}</ref><ref name="cp293txt"/><ref name="tachyon293"/>}}
|-
|{{chset-left1|0x}}
Line 405 ⟶ 409:
|-
|{{chset-left1|Cx}}
|{{chset-cell1|U+007B LEFT CURLY BRACKET|{{(}}}}
|{{chset-cell1|U+0041 LATIN CAPITAL LETTER A|A}}
|{{chset-cell1|U+0042 LATIN CAPITAL LETTER B|B}}
Line 423 ⟶ 427:
|-
|{{chset-left1|Dx}}
|{{chset-cell1|U+007D RIGHT CURLY BRACKET|{{)}}}}
|{{chset-cell1|U+004A LATIN CAPITAL LETTER J|J}}
|{{chset-cell1|U+004B LATIN CAPITAL LETTER K|K}}
Line 476 ⟶ 480:
|{{chset-ctrl1||&nbsp;{{control code link|EO}}&nbsp;}}
|}
{{legend|#FFD|Differences from [[Code page 37]]}}
 
====Code page 310====
'''Code page 310''' ("Graphic Escape APL/TN") includes a larger gamut of symbols, but does not itself include the basic Latin letters or the basic digits.<ref name="ibm">{{citation|mode=cs1 |url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CP00310.txt |title=Code Page (CPGID) 00310: Graphic Escape APL/TN |date=1987 |work=REGISTRY, Graphic Character Sets and Code Pages |author=IBM |author-link=IBM}}</ref><ref name="tachyon310">{{citation|mode=cs1 |url=http://www.tachyonsoft.com/cp00310.htm |title=Code Page 00310: 3270 APL Graphic Escape |date=2007-07-31 |author=Tachyon Software}}</ref> It is used alongside [[Code page 37#37-2|Code page 37-2]],<ref name="IBM_2010">{{citation |title=xlate - Transliterate Contents of Records |publisher=[[IBM Corporation]] |orig-year=1986 |date=2010 |url=http://vm.marist.edu/%7Epipeline/bhelp/ACH0275.html |access-date=2016-10-18 |archive-date=2019-06-16 |archive-url=https://web.archive.org/web/20190616013546/http://vm.marist.edu/~pipeline/bhelp/ACH0275.html |url-status=live }}</ref> with the Code page 310 codes being prefixed by the Graphic Escape (EBCDIC 0x08)<ref>{{cite web |archive-url=https://web.archive.org/web/20180911044845/https://www-01.ibm.com/software/globalization/cdra/appendix_g1.html |archive-date=2018-09-11 |url=https://www-01.ibm.com/software/globalization/cdra/appendix_g1.html |title=Appendix G-1. EBCDIC control character definitions. |work=IBM Globalization |author=IBM |author-link=IBM}}</ref> control character.<ref name="x3270">{{cite web |url=http://x3270.bgp.nu/Charset.html |title=x3270 Character Set |work=x3270 Documentation |archive-url=https://web.archive.org/web/20181110212110/http://x3270.bgp.nu/Charset.html |archive-date=2018-11-10}}</ref><ref name="ibm3174">{{cite web |url=http://www.bitsavers.org/pdf/ibm/3174/GA27-3831-02_3174_Character_Set_Reference_199003.pdf#page=147 |title=Chapter 5. 3270 Display Station and Printer Code Page Charts (§ APL/APL2 Text Feature Code Page) |work=3174 Establishment Controller Character Set Reference |id=GA27-3831-02 |year=1990 |orig-year=1988 |edition=3rd |publisher=[[IBM]] |page=5·6}}</ref>
 
{|{{chset-table-header1|Code page 310 (prefixed with 0x08)<ref name="ibmpdf">{{Citation|title=Code Page CPGID 00310 (pdf)|url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CP00310.pdf|publisher=IBM}}</ref><ref name="ibm"/><ref name="tachyon310"/><ref name="x3270"/>{{efn|Documented mappings vary.<ref name="tachyon310"/><ref name="x3270"/><ref name="ibmpdf"/><ref name="mainframew">{{cite web |archive-url=https://web.archive.org/web/20160827044130/http://mainframe.wiki/ebcdicTbl.php |archive-date=2016-08-27 |url=http://mainframe.wiki/ebcdicTbl.php |title=EBCDIC and ASCII Tables}}</ref>|name=different}}}}}}
|-
|{{chset-left1|0x}}
Line 677 ⟶ 681:
|{{chset-cell1|U+222A UNION / U+22C3 N-ARY UNION|∪/⋃}}
|{{chset-cell1|U+22A5 UP TACK|⊥}}
|{{chset-cell1|U+005B LEFT SQUARE BRACKET|&#91lsqb;}}
|{{chset-cell1|U+2265 GREATER-THAN OR EQUAL TO|≥}}
|{{chset-cell1|U+2218 RING OPERATOR|∘}}
Line 695 ⟶ 699:
|{{chset-cell1|U+2206 INCREMENT|∆}}
|{{chset-cell1|U+22A4 DOWN TACK|⊤}}
|{{chset-cell1|U+005D RIGHT SQUARE BRACKET|&#93rsqb;}}
|{{chset-cell1|U+2260 NOT EQUAL TO|≠}}
|{{chset-cell1|U+2223 DIVIDES / U+2502 BOX DRAWINGS LIGHT VERTICAL|∣/│}}
|-
|{{chset-left1|Cx}}
|{{chset-cell1|U+007B LEFT CURLY BRACKET|{{(}}}}
|{{chset-cell1|U+207D SUPERSCRIPT LEFT PARENTHESIS|⁽}}
|{{chset-cell1|U+207A SUPERSCRIPT PLUS SIGN / U+002B PLUS SIGN|⁺/+}}
Line 718 ⟶ 722:
|-
|{{chset-left1|Dx}}
|{{chset-cell1|U+007D RIGHT CURLY BRACKET|{{)}}}}
|{{chset-cell1|U+207E SUPERSCRIPT RIGHT PARENTHESIS|⁾}}
|{{chset-cell1|U+207B SUPERSCRIPT MINUS / U+002D HYPHEN-MINUS|⁻/[[Hyphen-minus|-]]}}
Line 782 ⟶ 786:
|{{chset-cell1|||style=background:#DDD}}
|{{chset-cell1|||style=background:#DDD}}
|{{chset-cell1|U+007B LEFT CURLY BRACKET|{{(}}}}
|{{chset-ctrl1|U+0009 CHARACTER TABULATION|&nbsp;{{Control code link|HT}}&nbsp;}}
|{{chset-cell1|||style=background:#DDD}}
Line 818 ⟶ 822:
|{{chset-cell1|U+207A SUPERSCRIPT PLUS SIGN|⁺}}
|{{chset-cell1|U+207B SUPERSCRIPT MINUS|⁻}}
|{{chset-cell1|U+007D RIGHT CURLY BRACKET|{{)}}}}
|{{chset-ctrl1|U+000A LINE FEED (LF)|&nbsp;{{Control code link|LF}}&nbsp;}}
|{{chset-cell1|U+2378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR|⍸}}
Line 918 ⟶ 922:
|{{chset-cell1|U+0040 COMMERCIAL AT|@}}
|{{chset-cell1|U+0027 APOSTROPHE|'}}
|{{chset-cell1|U+003D EQUALS SIGN|{{=}}}}
|{{chset-cell1|U+0022 QUOTATION MARK|"}}
|-
Line 989 ⟶ 993:
|{{chset-cell1|U+2206 INCREMENT|∆}}
|{{chset-cell1|U+22A4 DOWN TACK|⊤}}
|{{chset-cell1|U+005D RIGHT SQUARE BRACKET|&#93rsqb;}}
|{{chset-cell1|U+2260 NOT EQUAL TO|≠}}
|{{chset-cell1|U+2223 DIVIDES|∣}}
|-
|{{chset-left1|Cx}}
|{{chset-cell1|U+007B LEFT CURLY BRACKET|{{(}}}}
|{{chset-cell1|U+0041 LATIN CAPITAL LETTER A|A}}
|{{chset-cell1|U+0042 LATIN CAPITAL LETTER B|B}}
Line 1,012 ⟶ 1,016:
|-
|{{chset-left1|Dx}}
|{{chset-cell1|U+007D RIGHT CURLY BRACKET|{{)}}}}
|{{chset-cell1|U+004A LATIN CAPITAL LETTER J|J}}
|{{chset-cell1|U+004B LATIN CAPITAL LETTER K|K}}
Line 1,069 ⟶ 1,073:
====Code page 371 (IR-68)====
{{main|ISO-IR-68}}
Code page 371,<ref>{{cite web |url=http://www-03.ibm.com/systems/resources/systems_i_software_globalization_pdf_cp00371z.pdf |archive-url=https://web.archive.org/web/20150708042225/http://www-03.ibm.com/systems/resources/systems_i_software_globalization_pdf_cp00371z.pdf |url-status=dead |archive-date=2015-07-08 |title=Code Page 00371 |publisher=[[IBM]]}}</ref> registered for use with [[ISO/IEC 2022]] as [[ISO-IR-68]],<ref name="ir68">{{citation|mode=cs1cite |url=https://www.itscj.ipsj.or.jp/iso-ir/068.pdf |number=68 |title=APL Character Set for Workspace Interchange |date=1983-06-01 |id=ISO-IR-68 |publisher=ITSCJ/[[Information Processing Society of Japan|IPSJ]] |authorsponsor=Standards Council of Canada |authorsponsor-link=Standards Council of Canada}}</ref><ref name="consortiumir68">{{cite web |website=Unicode.org |access-date=19 June 2017 |url=https://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/APL-ISO-IR-68.TXT |title=ISO-IR-68 to Unicode |last=Cowan |first=John |date=2004-06-29 |publisher=[[Unicode Consortium|Unicode, Inc]]}}</ref> is a 7-bit heavily modified ASCII, designed by the APL Working Group of the [[Canadian Standards Association]], intended for use with APL in an environment allowing overstriking of characters using the {{ctrl|BS}} (backspace, 0x08) control code.<ref name="ir68" /><ref name="consortiumir68" />
 
===8-bit modified and/or extended ASCII===
 
====Code page 907====
'''Code page 907''' is used by the IBM 3812, like [[code page 906]].
 
{|{{chset-table-header1|Code page 907<ref name="cpgid907">{{citation|mode=cs1 |archive-url=https://web.archive.org/web/20170803005351/http://www-03.ibm.com/systems/resources/systems_i_software_globalization_pdf_cp00907z.pdf |archive-date=2017-08-03 |url=http://www-03.ibm.com/systems/resources/systems_i_software_globalization_pdf_cp00907z.pdf |title=Code Page 00907 |author=IBM |author-link=IBM}}</ref>}}
Line 1,216 ⟶ 1,220:
|{{chset-cell1|U+0079 LATIN SMALL LETTER Y|y}}
|{{chset-cell1|U+007A LATIN SMALL LETTER Z|z}}
|{{chset-cell1|U+007B LEFT CURLY BRACKET|{{(}}}}
|{{chset-cell1|U+2223 DIVIDES / U+2502 BOX DRAWINGS LIGHT VERTICAL|∣/│|style=background:#FFD}}
|{{chset-cell1|U+007D RIGHT CURLY BRACKET|{{)}}}}
|{{chset-cell1|U+223C TILDE OPERATOR / U+007E TILDE|∼/~|style=background:#FFD}}
|{{chset-cell1|U+2302 HOUSE|⌂}}
Line 1,511 ⟶ 1,515:
|{{chset-cell1|U+0079 LATIN SMALL LETTER Y|y}}
|{{chset-cell1|U+007A LATIN SMALL LETTER Z|z}}
|{{chset-cell1|U+007B LEFT CURLY BRACKET|{{(}}}}
|{{chset-cell1|U+2223 DIVIDES / U+2502 BOX DRAWINGS LIGHT VERTICAL|∣/│|style=background:#FFD}}
|{{chset-cell1|U+007D RIGHT CURLY BRACKET|{{)}}}}
|{{chset-cell1|U+223C TILDE OPERATOR / U+007E TILDE|∼/~|style=background:#FFD}}
|{{chset-cell1|U+2302 HOUSE|⌂}}
Line 1,806 ⟶ 1,810:
|{{chset-cell1|U+0079 LATIN SMALL LETTER Y|y}}
|{{chset-cell1|U+007A LATIN SMALL LETTER Z|z}}
|{{chset-cell1|U+007B LEFT CURLY BRACKET|{{(}}}}
|{{chset-cell1|U+2223 DIVIDES / U+2502 BOX DRAWINGS LIGHT VERTICAL|∣/│|style=background:#FFD}}
|{{chset-cell1|U+007D RIGHT CURLY BRACKET|{{)}}}}
|{{chset-cell1|U+223C TILDE OPERATOR / U+007E TILDE|∼/~|style=background:#FFD}}
|{{chset-cell1|U+2302 HOUSE|⌂}}
Line 1,959 ⟶ 1,963:
 
===Unicode===
Most APL symbols are present in Unicode, in the [[Miscellaneous Technical]] range,<ref>{{cite web |url=http://unicode.org/charts/PDF/U2300.pdf |format=PDF|title=The Unicode Standard 5.1 Code Charts: Technical Symbols U+2300-U+23FF |access-date=October 12, 2008 |work=Unicode Standard 5.1 |publisher=[[Unicode Consortium]] |archive-url= https://web.archive.org/web/20081002004650/http://www.unicode.org/charts/PDF/U2300.pdf |archive-date= 2 October 2008 |url-status= live}}</ref> although some APL products may not yet feature Unicode, and some APL symbols may be unused or unavailable in a given vendor's implementation.
 
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.
Line 1,967 ⟶ 1,971:
Missing from Unicode are the traditional [[underlining|underscored]] alphabetic characters included in some of the APL code pages; their usage has been eliminated or deprecated in most APL implementations. These were produced on APL printing terminals by over-striking a straight capital letter with an underscore character. Some tables show them simulated with underlined and italic markup, not listing Unicode mappings.<ref name="tachyon310"/>
 
IBM assigns them GCGIDs as "LA480000" (which they name "A Line Below Capital/A Underscore (APL)"), "LB480000" ("B Line Below Capital/B Underscore (APL)") and so forth, under the "L" series used for Latin letters.<ref name="cs963" /> The use of an even number (48) rather than an odd number (47) is due to being uppercase: compare the use of SD110000 for a lone acute accent {{code|´}}, LA110000 for the lowercase {{code|á}}, and LA120000 for the uppercase {{code|Á}}.<ref name="cp1252">{{cite web |url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CP01252.txt |title=Windows, Latin 1 |id=CPGID 01252 |publisher=[[IBM]]}}</ref> They are included in IBM's [[Private Use Areas|private use area]] scheme, encoded in reverse‑alphabetical order in the odd-numbered code points from U+F8BF to U+F8F1.<ref name="unicodenam"/>
 
Homologous uses of 47 include the "SD" (diacritic) series GCGID SD470000 for "Line Below/DiscontinousDiscontinuous Underscore"<ref name="cs969">{{cite web |url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CS00969.txt |title=OCR B |id=GCSGID 00969 |publisher=[[IBM]]}}</ref>—i.e. [[macron below]], distinct from the ASCII underscore which is SP090000 ("Underline/Continuous Underscore")<ref name="cp1252"/>—and the "A" ([[Arabic script|Arabic letter]]) series GCGID AD470009 for the [[ḏāl]],<ref name="cp1256pdf">{{cite web |url=ftphttps://ftppublic.softwaredhe.ibm.com/software/globalization/gcoc/attachments/CP01256.pdf |title=Windows, Arabic (PDF) |id=CPGID 01256 |publisher=[[IBM]]}}</ref> for example. Unicode's [[Latin Extended Additional]] block includes the following capital "Line Below" characters with the macron below diacritic, for Semitic transcription (it includes a pre-composed ẖ only in lowercase):
 
* {{unichar|1E06|LATIN CAPITAL LETTER B WITH LINE BELOW}}
Line 1,986 ⟶ 1,990:
 
==Keyboard layout==
NoteThere theare mnemonics associating an APL character with a letter: {{keypress|?}} (''question mark'') on {{keypress|Q}}, {{keypress|⋆}} (''power'') on {{keypress|P}}, {{keypress|ρ}} (''rho'') on {{keypress|R}}, {{keypress|⊥}} (''base value'') on {{keypress|B}}, {{keypress|⊤}} (''eNcode'') on {{keypress|N}}, {{keypress|∣}} (''modulus'') on {{keypress|M}} 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.
[[Image:APL-keybd2.svg|600px|thumb|center|APL keyboard layout.<ref>
A more up-to-date keyboard diagram, applicable for APL2 and other modern implementations, is available at WikensOnline '''[http://www.wickensonline.co.uk/apl/union-large.png Union APL large keyboard layout for Windows] {{webarchive |url=https://web.archive.org/web/20120310113525/http://www.wickensonline.co.uk/apl/union-large.png |date=March 10, 2012 }}''', '''[http://www.wickensonline.co.uk/apl-unicomp.html actual photo + diagram here] {{webarchive |url=https://web.archive.org/web/20150403042056/http://www.wickensonline.co.uk/apl-unicomp.html |date=April 3, 2015 }}''' and '''[http://www.sudleyplace.com/APL/Keyboard.ahtml NARS2000 APL keyboard layout here]'''.</ref>]]
Line 2,011 ⟶ 2,015:
==External links==
*[http://www-01.ibm.com/software/globalization/cp/cp00293.html IBM code page 293] a.k.a. the APL code page on [[mainframe computer]]s
*[https://web.archive.org/web/20110605162417/http://www-03.ibm.com/systems/resources/systems_i_software_globalization_pdf_cp00907z.pdf IBM code page 907] a.k.a. the APL ASCII code page
 
{{Character encoding}}