fbpx
Wikipedia

Digital encoding of APL symbols

The programming language APL uses a number of symbols, rather than words from natural language, to identify operations, similarly to mathematical symbols. Prior to the wide adoption of Unicode, a number of special-purpose EBCDIC and non-EBCDIC code pages were used to represent the symbols required for writing APL.

Character sets edit

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.

Character repertoire edit

IBM assigns the following character IDs (GCGIDs) to APL syntax, which are used in the definitions of its code pages.[1][2][3]

"SL" (APL functional symbol) series GCGIDs
GCGID[2] IBM name[1][3] Unicode Notes and other mappings
SL010000 Up Stile (APL) U+2308 LEFT CEILING
SL020000 Down Stile (APL) U+230A LEFT FLOOR
SL030000 Del (APL) U+2207 NABLA
SL040000 Del Tilde (APL) U+236B APL FUNCTIONAL SYMBOL DEL TILDE
SL050000 Del Stile (APL) U+2352 APL FUNCTIONAL SYMBOL DEL STILE
SL060000 Delta (APL) U+2206 INCREMENT
SL070000 Delta Stile (APL) U+234B APL FUNCTIONAL SYMBOL DELTA STILE
SL080000 Circle (APL) U+25CB WHITE CIRCLE[4][5][6][7] This is SM750000 in a non-APL context, for example, in the C0 replacement graphics from code page 437,[8] 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.[9][10][11] 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 area scheme.[12] Compare SL590000 through SL620000 below.
SL090000 Circle Stile (APL) U+233D APL FUNCTIONAL SYMBOL CIRCLE STILE
SL100000 Circle Slope (APL) U+2349 APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
SL110000 Circle Star (APL) U+235F APL FUNCTIONAL SYMBOL CIRCLE STAR
SL120000 Circle Bar U+2296 CIRCLED MINUS
SL130000 Quad Quote (APL) U+235E APL FUNCTIONAL SYMBOL QUOTE QUAD
SL140000 Quad Divide (APL) U+2339 APL FUNCTIONAL SYMBOL QUAD DIVIDE
SL150000 Slash Bar (APL) U+233F APL FUNCTIONAL SYMBOL SLASH BAR
SL160000 Slope Bar (APL) U+2340 APL FUNCTIONAL SYMBOL BACKSLASH BAR
SL170000 Up Caret Tilde (APL) U+2372 APL FUNCTIONAL SYMBOL UP CARET TILDE
SL180000 Down Caret Tilde (APL) U+2371 APL FUNCTIONAL SYMBOL DOWN CARET TILDE
SL190000 Down Tack Jot (APL)[a] U+234E APL FUNCTIONAL SYMBOL DOWN TACK JOT[a]
SL200000 Up Tack Jot (APL)[a] U+2355 APL FUNCTIONAL SYMBOL UP TACK JOT[a]
SL210000 Up Shoe Null (APL) U+235D APL FUNCTIONAL SYMBOL UP SHOE JOT
SL220000 Up Tack (APL)[a] U+22A4 DOWN TACK[a]
SL230000 Down Tack (APL)[a] U+22A5 UP TACK[a]
SL240000 Down Tack Up Tack (APL) U+2336 APL FUNCTIONAL SYMBOL I-BEAM
SL250000 Jot (APL) U+2218 RING OPERATOR
SL260000 Left Bracket Right Bracket (APL) U+2337 APL FUNCTIONAL SYMBOL SQUISH QUAD
SL270000 Quad Jot (APL) U+233B APL FUNCTIONAL SYMBOL QUAD JOT
SL280000 Quad Slope (APL) U+2342 APL FUNCTIONAL SYMBOL QUAD BACKSLASH
SL290000 Ampersand Underbar[3] Not used in any documented code page. Can be represented in Unicode with the sequence U+0026 U+0332
SL300000 Equal Underbar (APL) U+2261 IDENTICAL TO
SL310000 OUT Symbol (APL)[3] Not used in any documented code page. Reference glyph resembles oblique underlined forms of the letters O, U and T overstruck in the same character position.
SL320000 Diaeresis Dot (APL) U+2235 BECAUSE
SL330000 Delta Underbar (APL) U+2359 APL FUNCTIONAL SYMBOL DELTA UNDERBAR
SL340000 Left Tack (APL)[a] U+22A2 RIGHT TACK[a]
SL350000 Right Tack (APL)[a] U+22A3 LEFT TACK[a]
SL360000 Quad (APL) U+2395 APL FUNCTIONAL SYMBOL QUAD[4][5] U+25AF WHITE VERTICAL RECTANGLE[3]
SL370000 Less Greater (APL) U+22C4 DIAMOND OPERATOR[4][5] U+25CA LOZENGE,[3] U+25C6 BLACK DIAMOND[6][15]
SL380000 Stile (APL) U+2223 DIVIDES[4][5] U+2502 BOX DRAWINGS LIGHT VERTICAL,[6][15] U+007C | VERTICAL LINE[7]
SL400000 Up Shoe (APL) U+2229 INTERSECTION[4][5][7] U+22C2 N-ARY INTERSECTION[15][6]
SL410000 Down Shoe (APL) U+222A UNION[4][5][7] U+22C3 N-ARY UNION[15][6]
SL420000 Left Shoe (APL) U+2282 SUBSET OF
SL430000 Right Shoe (APL) U+2283 SUPERSET OF
SL440000 Underbar (APL) U+005F _ LOW LINE
SL450000 Diaeresis (APL) U+00A8 ¨ DIAERESIS
SL460000 Tilde (APL) U+223C TILDE OPERATOR[4][5] U+F88F in IBM's private use area scheme.[12] Also mapped to U+007E ~ TILDE,[15][6][7] although SD190000 (U+007E in a non-APL context) co-occurs at 0xA1 (while SL460000 is at 0x80) in code page 213.[16]
SL480000 Circle Plus U+2295 CIRCLED PLUS
SL490000 Circle x U+2297 CIRCLED TIMES
SL500000 Down Caret (APL) U+2228 LOGICAL OR[15][6][4][5][3][7]
SL510000 Up Caret (APL) U+2227 LOGICAL AND[4][5][7] U+22C0 N-ARY LOGICAL AND[15][6]
SL520000 Less (APL) U+003C < LESS-THAN SIGN
SL530000 Greater (APL) U+003E > GREATER-THAN SIGN
SL540000 Divide (APL) U+00F7 ÷ DIVISION SIGN
SL550000 Times (APL) U+00D7 × MULTIPLICATION SIGN
SL560000 Not Greater (APL) U+2264 LESS-THAN OR EQUAL TO
SL570000 Not Less (APL) U+2265 GREATER-THAN OR EQUAL TO
SL580000 Quote Dot (APL) U+0021 ! EXCLAMATION MARK[15][6][5][7] U+F88E in IBM's private use area scheme.[12] SP020000 (U+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).[16] Tachyonsoft lists U+01C3 ǃ LATIN LETTER RETROFLEX CLICK for SL580000.[4]
SL590000 Left Arrow (APL) U+2190 LEFTWARDS ARROW[4][5][6] These arrows are SM300000, SM310000, SM320000 and SM330000 respectively in a non-APL context, for example, in the C0 replacement graphics from code page 437,[8] 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.[12]

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.[9][10][11]

Compare SL080000 above. Duplicating C0 replacement graphics outside of the C0 area is not an uncommon practice in DOS code pages: compare, for example, the pilcrow and section sign in code page 850.

SL600000 Right Arrow (APL) U+2192 RIGHTWARDS ARROW[4][5][6]
SL610000 Up Arrow (APL) U+2191 UPWARDS ARROW[4][5][6][7]
SL620000 Down Arrow (APL) U+2193 DOWNWARDS ARROW[4][5][6][7]
SL630000 Overbar (APL) U+203E OVERLINE
SL640000 Slope (APL) U+005C \ REVERSE SOLIDUS[15][6][5][7] U+F889 in IBM's private use area scheme.[12] Also mapped to U+2216 SET MINUS.[4] SM070000 (U+005C \ REVERSE SOLIDUS in a non-APL context) co-occurs at 0x5A (while SL640000 is at 0xB7) in code page 293.[16]
SL650000 Star (APL) U+22C6 STAR OPERATOR[5] U+002A * ASTERISK[17][7]
SL660000 Quote (APL) U+0027 ' APOSTROPHE
SL670000 Left Parenthesis (APL) U+0028 ( LEFT PARENTHESIS
SL680000 Right Parenthesis (APL) U+0029 ) RIGHT PARENTHESIS
SL690000 Bar (APL) U+002D - HYPHEN-MINUS[17][5][6][7] U+2212 MINUS SIGN
SL700000 Query (APL) U+003F ? QUESTION MARK U+F888 in IBM's private use area scheme.[12]
SL710000 Alpha (APL) U+237A APL FUNCTIONAL SYMBOL ALPHA[4][5] U+03B1 α GREEK SMALL LETTER ALPHA[15][6]
SL720000 Epsilon (APL) U+220A SMALL ELEMENT OF[5][3][7] U+03B5 ε GREEK SMALL LETTER EPSILON,[15][6] U+2208 ELEMENT OF[4]
SL730000 Iota (APL) U+2373 APL FUNCTIONAL SYMBOL IOTA[4][5] U+03B9 ι GREEK SMALL LETTER IOTA[15][6]
SL740000 Rho (APL) U+2374 APL FUNCTIONAL SYMBOL RHO[4][5] U+03C1 ρ GREEK SMALL LETTER RHO[15][6]
SL750000 Omega (APL) U+2375 APL FUNCTIONAL SYMBOL OMEGA[4][5] U+03C9 ω GREEK SMALL LETTER OMEGA[15][6]
SL760000 Slash (APL) U+002F / SOLIDUS
SL770000 Left Bracket (APL) U+005B [ LEFT SQUARE BRACKET
SL780000 Right Bracket (APL) U+005D ] RIGHT SQUARE BRACKET
SL790000 Plus (APL) U+002B + PLUS SIGN
SL800000 Semicolon (APL) U+003B ; SEMICOLON
SL810000 Equal (APL) U+003D = EQUALS SIGN
SL820000 Not Equal (APL) U+2260 NOT EQUAL TO
SL830000 Colon (APL) U+003A : COLON[6][5] Form with fullwidth attribute set (SL830080) is used for 0xA1C3 (i.e. U+2236 RATIO) in EUC-CN.[18]
SL840000 Dot (APL) U+002E . FULL STOP
SL850000 Comma (APL) U+002C , COMMA
SL860000 Iota Underbar (APL) U+2378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR
SL870000 Epsilon Underbar (APL) U+2377 APL FUNCTIONAL SYMBOL EPSILON UNDERBAR

EBCDIC code pages edit

Code page 293 edit

Code page 293 (CCSID 293),[19] called "APL (USA)", is an EBCDIC code page which includes APL symbols, in addition to preserving the basic Latin letters and Western Arabic numerals at their usual EBCDIC locations.[16][17]

Code page 293[20][16][17]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH STX ETX SEL  HT  RNL DEL  GE  SPS RPT  VT   FF   CR   SO   SI  
1x DLE DC1 DC2 DC3 RES/
ENP
 NL    BS  POC CAN  EM  UBS CU1  IFS  IGS  IRS IUS/
ITB
2x  DS  SOS  FS  WUS BYP/
INP
 LF  ETB ESC  SA  SFE  SM/
SW
CSP MFA ENQ ACK BEL
3x SYN   IR   PP  TRN NBS EOT SBS   IT  RFF CU3 DC4 NAK SUB
4x  SP  𝐴̲ 𝐵̲ 𝐶̲ 𝐷̲ 𝐸̲ 𝐹̲ 𝐺̲ 𝐻̲ 𝐼̲ ¢ . < ( + |
5x & 𝐽̲ 𝐾̲ 𝐿̲ 𝑀̲ 𝑁̲ 𝑂̲ 𝑃̲ 𝑄̲ 𝑅̲ ! $ ⋆/* ) ; ¬
6x -/− / 𝑆̲ 𝑇̲ 𝑈̲ 𝑉̲ 𝑊̲ 𝑋̲ 𝑌̲ 𝑍̲ ¦ , % _ > ?
7x ⋄/◊/◆ ∧/⋀ ¨ ` :/∶ # @ ' = "
8x ∼/~ a b c d e f g h i
9x j k l m n o p q r
Ax ~ s t u v w x y z ∩/⋂ ∪/⋃ [
Bx ⍺/α ∊/ε/∈ ⍳/ι ⍴/ρ ⍵/ω × \/∖ ÷ ] ∣/│
Cx { A B C D E F G H I
Dx } J K L M N O P Q R !/ǃ
Ex \ S T U V W X Y Z
Fx 0 1 2 3 4 5 6 7 8 9  EO 
  Differences from Code page 37

Code page 310 edit

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.[21][4] It is used alongside Code page 37-2,[22] with the Code page 310 codes being prefixed by the Graphic Escape (EBCDIC 0x08)[23] control character.[6][24]

Code page 310 (prefixed with 0x08)[25][21][4][6][b]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x
1x
2x
3x
4x  SP  𝐴̲ 𝐵̲ 𝐶̲ 𝐷̲ 𝐸̲ 𝐹̲ 𝐺̲ 𝐻̲ 𝐼̲
5x 𝐽̲ 𝐾̲ 𝐿̲ 𝑀̲ 𝑁̲ 𝑂̲ 𝑃̲ 𝑄̲ 𝑅̲
6x 𝑆̲ 𝑇̲ 𝑈̲ 𝑉̲ 𝑊̲ 𝑋̲ 𝑌̲ 𝑍̲
7x ◊/⋄/◆ ∧/⋀ ¨
8x ∼/~ │/⎥
9x █/■ ⌑/¤ ±
Ax ¯/‾ ° ∙/• ∩/⋂ ∪/⋃ [
Bx ⍺/α ∊/∈/ε ⍳/ι ⍴/ρ ⍵/ω × ∖/\ ÷ ] ∣/│
Cx { ⁺/+ ■/∎ §
Dx } ⁻/- ǃ/!
Ex [c] [c] [c] [c]
Fx ¹ ² ³

Code page 351 edit

Code page 351 ("GDDM Default (USA)")[26] contains most of the characters of Code page 293 and Code page 310 (except , epsilon with underline) in addition to the letters and digits, by replacing several control characters with symbols.

Code page 351[26]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL {  HT   FF   CR 
1x  NL    BS 
2x }  LF  §
3x ¹ ² ³
4x  SP  𝐴̲ 𝐵̲ 𝐶̲ 𝐷̲ 𝐸̲ 𝐹̲ 𝐺̲ 𝐻̲ 𝐼̲ ¢ . < ( + |
5x & 𝐽̲ 𝐾̲ 𝐿̲ 𝑀̲ 𝑁̲ 𝑂̲ 𝑃̲ 𝑄̲ 𝑅̲ ! $ * ) ; ¬
6x - / 𝑆̲ 𝑇̲ 𝑈̲ 𝑉̲ 𝑊̲ 𝑋̲ 𝑌̲ 𝑍̲ ¦ , % _ > ?
7x ¨ ° ` : # @ ' = "
8x a b c d e f g h i
9x j k l m n o p q r ±
Ax ¯ ~ s t u v w x y z [
Bx ∈/∊ × ∖ / \ ÷ ]
Cx { A B C D E F G H I
Dx } J K L M N O P Q R ǃ/!
Ex \ S T U V W X Y Z
Fx 0 1 2 3 4 5 6 7 8 9

7-bit modified ASCII edit

Code page 371 (IR-68) edit

Code page 371,[27] registered for use with ISO/IEC 2022 as ISO-IR-68,[28][5] 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 BS (backspace, 0x08) control code.[28][5]

8-bit modified and/or extended ASCII edit

Code page 907 edit

Code page 907 is used by the IBM 3812, like code page 906.

Code page 907[9]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x
1x §
2x  SP  !/ǃ " # $ % & ' ( ) ⋆/* + , -/− . /
3x 0 1 2 3 4 5 6 7 8 9 :/∶ ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \/∖ ] ∧/⋀ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { ∣/│ } ∼/~
8x 𝐴̲ 𝐵̲ 𝐶̲ 𝐷̲ 𝐸̲ 𝐹̲ 𝐺̲ 𝐻̲ 𝐼̲ 𝐽̲ 𝐾̲ 𝐿̲ 𝑀̲ 𝑁̲ 𝑂̲ 𝑃̲
9x 𝑄̲ 𝑅̲ 𝑆̲ 𝑇̲ 𝑈̲ 𝑉̲ 𝑊̲ ¢ 𝑋̲
Ax 𝑌̲ 𝑍̲ ¬ ∪/⋃
Bx
Cx
Dx
Ex ⍺/α ß ⍴/ρ ⍳/ι ∊/ε/∈ ∩/⋂
Fx × ÷ ⍵/ω ¨ NBSP
  Differences from code page 437

Code page 909 edit

Code page 909 is another encoding for APL, differing from code page 907 in not including the underlined characters, assigning different codes to the APL characters which fall in the 0xB0–DF range, and replacing some of the C0 replacement graphics from code page 437 with alternative encodings for certain APL symbols.

Code page 909[10]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x
1x §
2x  SP  !/ǃ " # $ % & ' ( ) ⋆/* + , -/− . /
3x 0 1 2 3 4 5 6 7 8 9 :/∶ ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \/∖ ] ∧/⋀ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { ∣/│ } ∼/~
8x Ç ü é â ä à å ç ê ë è ï î ì Ä Å
9x ô ö ò û ù Ö Ü £
Ax á í ó ú ñ Ñ ª º ¿ ¬ ∪/⋃ ¡
Bx
Cx
Dx ⋄/◊/◆
Ex ⍺/α ß ⍴/ρ ⍳/ι ∊/ε/∈ ∩/⋂
Fx × ÷ ⍵/ω ¨ NBSP
  Differences from code page 437

Code page 910 edit

Code page 910 is similar to code page 909, but with fewer duplicate horizontal arrows, using the same C0 graphics as code page 437, and including some additional characters.

Code page 910[11]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x
1x §
2x  SP  !/ǃ " # $ % & ' ( ) ⋆/* + , -/− . /
3x 0 1 2 3 4 5 6 7 8 9 :/∶ ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \/∖ ] ∧/⋀ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { ∣/│ } ∼/~
8x Ç ü é â ä à å ç ê ë è ï î ì Ä Å
9x ô ö ò û ù Ö Ü ø £
Ax á í ó ú ñ Ñ ª º ¿ ¬ ½ ∪/⋃ ¡
Bx
Cx
Dx ⋄/◊/◆ ¦ Ì
Ex ⍺/α ß ⍴/ρ ⍳/ι ∊/ε/∈ ∩/⋂
Fx × ÷ ⍵/ω ¨ NBSP
  Differences from code page 437

Unicode edit

Most APL symbols are present in Unicode, in the Miscellaneous Technical range,[29] 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.

Underscored alphabetic characters edit

Missing from Unicode are the traditional 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.[4]

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.[1] 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 ´, LA110000 for the lowercase á, and LA120000 for the uppercase Á.[30] They are included in IBM's private use area scheme, encoded in reverse‑alphabetical order in the odd-numbered code points from U+F8BF to U+F8F1.[12]

Homologous uses of 47 include the "SD" (diacritic) series GCGID SD470000 for "Line Below/Discontinuous Underscore"[31]—i.e. macron below, distinct from the ASCII underscore which is SP090000 ("Underline/Continuous Underscore")[30]—and the "A" (Arabic letter) series GCGID AD470009 for the ḏāl,[32] 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):

  • U+1E06 LATIN CAPITAL LETTER B WITH LINE BELOW
  • U+1E0E LATIN CAPITAL LETTER D WITH LINE BELOW
  • U+1E34 LATIN CAPITAL LETTER K WITH LINE BELOW
  • U+1E3A LATIN CAPITAL LETTER L WITH LINE BELOW
  • U+1E48 LATIN CAPITAL LETTER N WITH LINE BELOW
  • U+1E5E LATIN CAPITAL LETTER R WITH LINE BELOW
  • U+1E6E LATIN CAPITAL LETTER T WITH LINE BELOW
  • U+1E94 LATIN CAPITAL LETTER Z WITH LINE BELOW

However, this does not cover the entire ISO basic Latin alphabet, and IBM's reference glyphs for the APL characters show them both underlined and oblique,[2] and tables simulating them with markup may follow suit.[4] Unicode's Mathematical Alphanumeric Symbols block includes italic characters for use in notations where they are contrastive with non-italic characters. Unicode also includes combining forms of the macron below and underscore in the Combining Diacritical Marks block; the characters above canonically decompose with the former:

  • U+0331 ◌̱ COMBINING MACRON BELOW
  • U+0332 ◌̲ COMBINING LOW LINE

Keyboard layout edit

Note the mnemonics associating an APL character with a letter: ? (question mark) on Q, (power) on P, ρ (rho) on R, (base value) on B, (eNcode) on N, (modulus) on 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.

 
APL keyboard layout.[33]

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 ⇧ Shift+P with ⇧ Shift+O. 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 edit

Footnotes edit

  1. ^ a b c d e f g h i j k l There are two naming conventions (which way around "up" and "down" are, and which way around "left" and "right" are) for tack characters, the "London" and "Bosworth" conventions.[13] Which convention is used differs between IBM and Unicode. Naming also differs between composite Unicode characters intended solely for APL (which match IBM naming and use the Bosworth convention) versus plain tacks also intended for other applications (which use the London convention).[13][14] APL specifications subsequently adopted the London convention.[14] 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,[13] runs contrary to convention in the APL community.[7]
  2. ^ Documented mappings vary.[4][6][25][15]
  3. ^ a b c d Sharp extension.[6]

References edit

  1. ^ a b c "Graphic Escape APL2/TN - 138". IBM. GCSGID 00963.
  2. ^ a b c "Graphic Escape APL2/TN - 138 (chart)" (PDF). IBM. GCSGID 00963.
  3. ^ a b c d e f g h . IBM. Archived from the original on 2016-01-22.
  4. ^ a b c d e f g h i j k l m n o p q r s t u v w x y Tachyon Software (2007-07-31). Code Page 00310: 3270 APL Graphic Escape.
  5. ^ a b c d e f g h i j k l m n o p q r s t u v w x y Cowan, John (2004-06-29). "ISO-IR-68 to Unicode". Unicode.org. Unicode, Inc. Retrieved 19 June 2017.
  6. ^ a b c d e f g h i j k l m n o p q r s t u v w x y . x3270 Documentation. Archived from the original on 2018-11-10.
  7. ^ a b c d e f g h i j k l m n o "Dyalog Nomenclature: Functions and Operators" (PDF). Dyalog - Documentation Centre. Dyalog APL.
  8. ^ a b "Personal Computer". IBM. CPGID 00437.
  9. ^ a b c IBM. (PDF). Archived from the original (PDF) on 2017-08-03.
  10. ^ a b c IBM. (PDF). Archived from the original (PDF) on 2015-07-08.
  11. ^ a b c IBM. (PDF). Archived from the original (PDF) on 2015-07-08.
  12. ^ a b c d e f g IBM (1997). unicode.nam: Allow the Unicode characters to be specified using either the IBM or PostScript like names. (Included with Borgendale, Ken, OS/2 Codepage and Keyboard Display Tools)
  13. ^ a b c Dickey, Leroy J. "The Naming of Tack Symbols". University of Waterloo.
  14. ^ a b Freytag, Asmus; McGowan, Rick; Whistler, Ken (2021-06-14). "Known Anomalies in Unicode Character Names". Unicode Consortium. UTN #27.
  15. ^ a b c d e f g h i j k l m n o . Archived from the original on 2016-08-27.
  16. ^ a b c d e IBM (1996) [1984]. "Code Page (CPGID) 00293: APL (USA)". REGISTRY, Graphic Character Sets and Code Pages.
  17. ^ a b c d Tachyon Software (2007-07-31). Code Page 00293: EBCDIC APL.
  18. ^ "IBM Simplified Chinese Graphic Character Set for Extended UNIX Code (EUC)" (PDF). IBM. 1994. C-H 3-3220-132 1994-06.
  19. ^ . Archived from the original on 2016-03-27.
  20. ^ Code Page CPGID 00293 (pdf) (PDF), IBM
  21. ^ a b IBM (1987). "Code Page (CPGID) 00310: Graphic Escape APL/TN". REGISTRY, Graphic Character Sets and Code Pages.
  22. ^ xlate - Transliterate Contents of Records, IBM Corporation, 2010 [1986], from the original on 2019-06-16, retrieved 2016-10-18
  23. ^ IBM. . IBM Globalization. Archived from the original on 2018-09-11.
  24. ^ "Chapter 5. 3270 Display Station and Printer Code Page Charts (§ APL/APL2 Text Feature Code Page)" (PDF). 3174 Establishment Controller Character Set Reference (3rd ed.). IBM. 1990 [1988]. p. 5·6. GA27-3831-02.
  25. ^ a b Code Page CPGID 00310 (pdf) (PDF), IBM
  26. ^ a b Tachyon Software (2007-07-31). Code Page 00351: GDDM Default (USA).
  27. ^ (PDF). IBM. Archived from the original (PDF) on 2015-07-08.
  28. ^ a b Standards Council of Canada (1983-06-01). APL Character Set for Workspace Interchange (PDF). ITSCJ/IPSJ. ISO-IR-68.
  29. ^ "The Unicode Standard 5.1 Code Charts: Technical Symbols U+2300-U+23FF" (PDF). Unicode Standard 5.1. Unicode Consortium. (PDF) from the original on 2 October 2008. Retrieved October 12, 2008.
  30. ^ a b "Windows, Latin 1". IBM. CPGID 01252.
  31. ^ "OCR B". IBM. GCSGID 00969.
  32. ^ "Windows, Arabic (PDF)" (PDF). IBM. CPGID 01256.
  33. ^ 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 March 10, 2012, at the Wayback Machine, actual photo + diagram here April 3, 2015, at the Wayback Machine and NARS2000 APL keyboard layout here.

External links edit

  • 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

digital, encoding, symbols, programming, language, uses, number, symbols, rather, than, words, from, natural, language, identify, operations, similarly, mathematical, symbols, prior, wide, adoption, unicode, number, special, purpose, ebcdic, ebcdic, code, page. The programming language APL uses a number of symbols rather than words from natural language to identify operations similarly to mathematical symbols Prior to the wide adoption of Unicode a number of special purpose EBCDIC and non EBCDIC code pages were used to represent the symbols required for writing APL Contents 1 Character sets 1 1 Character repertoire 1 2 EBCDIC code pages 1 2 1 Code page 293 1 2 2 Code page 310 1 2 3 Code page 351 1 3 7 bit modified ASCII 1 3 1 Code page 371 IR 68 1 4 8 bit modified and or extended ASCII 1 4 1 Code page 907 1 4 2 Code page 909 1 4 3 Code page 910 1 5 Unicode 1 6 Underscored alphabetic characters 2 Keyboard layout 3 See also 4 Footnotes 5 References 6 External linksCharacter sets editDue 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 Character repertoire edit IBM assigns the following character IDs GCGIDs to APL syntax which are used in the definitions of its code pages 1 2 3 SL APL functional symbol series GCGIDs GCGID 2 IBM name 1 3 Unicode Notes and other mappings SL010000 Up Stile APL U 2308 LEFT CEILING SL020000 Down Stile APL U 230A LEFT FLOOR SL030000 Del APL U 2207 NABLA SL040000 Del Tilde APL U 236B APL FUNCTIONAL SYMBOL DEL TILDE SL050000 Del Stile APL U 2352 APL FUNCTIONAL SYMBOL DEL STILE SL060000 Delta APL U 2206 INCREMENT SL070000 Delta Stile APL U 234B APL FUNCTIONAL SYMBOL DELTA STILE SL080000 Circle APL U 25CB WHITE CIRCLE 4 5 6 7 This is SM750000 in a non APL context for example in the C0 replacement graphics from code page 437 8 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 9 10 11 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 area scheme 12 Compare SL590000 through SL620000 below SL090000 Circle Stile APL U 233D APL FUNCTIONAL SYMBOL CIRCLE STILE SL100000 Circle Slope APL U 2349 APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH SL110000 Circle Star APL U 235F APL FUNCTIONAL SYMBOL CIRCLE STAR SL120000 Circle Bar U 2296 CIRCLED MINUS SL130000 Quad Quote APL U 235E APL FUNCTIONAL SYMBOL QUOTE QUAD SL140000 Quad Divide APL U 2339 APL FUNCTIONAL SYMBOL QUAD DIVIDE SL150000 Slash Bar APL U 233F APL FUNCTIONAL SYMBOL SLASH BAR SL160000 Slope Bar APL U 2340 APL FUNCTIONAL SYMBOL BACKSLASH BAR SL170000 Up Caret Tilde APL U 2372 APL FUNCTIONAL SYMBOL UP CARET TILDE SL180000 Down Caret Tilde APL U 2371 APL FUNCTIONAL SYMBOL DOWN CARET TILDE SL190000 Down Tack Jot APL a U 234E APL FUNCTIONAL SYMBOL DOWN TACK JOT a SL200000 Up Tack Jot APL a U 2355 APL FUNCTIONAL SYMBOL UP TACK JOT a SL210000 Up Shoe Null APL U 235D APL FUNCTIONAL SYMBOL UP SHOE JOT SL220000 Up Tack APL a U 22A4 DOWN TACK a SL230000 Down Tack APL a U 22A5 UP TACK a SL240000 Down Tack Up Tack APL U 2336 APL FUNCTIONAL SYMBOL I BEAM SL250000 Jot APL U 2218 RING OPERATOR SL260000 Left Bracket Right Bracket APL U 2337 APL FUNCTIONAL SYMBOL SQUISH QUAD SL270000 Quad Jot APL U 233B APL FUNCTIONAL SYMBOL QUAD JOT SL280000 Quad Slope APL U 2342 APL FUNCTIONAL SYMBOL QUAD BACKSLASH SL290000 Ampersand Underbar 3 Not used in any documented code page Can be represented in Unicode with the sequence U 0026 U 0332 amp SL300000 Equal Underbar APL U 2261 IDENTICAL TO SL310000 OUT Symbol APL 3 Not used in any documented code page Reference glyph resembles oblique underlined forms of the letters O U and T overstruck in the same character position SL320000 Diaeresis Dot APL U 2235 BECAUSE SL330000 Delta Underbar APL U 2359 APL FUNCTIONAL SYMBOL DELTA UNDERBAR SL340000 Left Tack APL a U 22A2 RIGHT TACK a SL350000 Right Tack APL a U 22A3 LEFT TACK a SL360000 Quad APL U 2395 APL FUNCTIONAL SYMBOL QUAD 4 5 U 25AF WHITE VERTICAL RECTANGLE 3 SL370000 Less Greater APL U 22C4 DIAMOND OPERATOR 4 5 U 25CA LOZENGE 3 U 25C6 BLACK DIAMOND 6 15 SL380000 Stile APL U 2223 DIVIDES 4 5 U 2502 BOX DRAWINGS LIGHT VERTICAL 6 15 U 007C VERTICAL LINE 7 SL400000 Up Shoe APL U 2229 INTERSECTION 4 5 7 U 22C2 N ARY INTERSECTION 15 6 SL410000 Down Shoe APL U 222A UNION 4 5 7 U 22C3 N ARY UNION 15 6 SL420000 Left Shoe APL U 2282 SUBSET OF SL430000 Right Shoe APL U 2283 SUPERSET OF SL440000 Underbar APL U 005F LOW LINE SL450000 Diaeresis APL U 00A8 DIAERESIS SL460000 Tilde APL U 223C TILDE OPERATOR 4 5 U F88F in IBM s private use area scheme 12 Also mapped to U 007E TILDE 15 6 7 although SD190000 U 007E in a non APL context co occurs at 0xA1 while SL460000 is at 0x80 in code page 213 16 SL480000 Circle Plus U 2295 CIRCLED PLUS SL490000 Circle x U 2297 CIRCLED TIMES SL500000 Down Caret APL U 2228 LOGICAL OR 15 6 4 5 3 7 SL510000 Up Caret APL U 2227 LOGICAL AND 4 5 7 U 22C0 N ARY LOGICAL AND 15 6 SL520000 Less APL U 003C lt LESS THAN SIGN SL530000 Greater APL U 003E gt GREATER THAN SIGN SL540000 Divide APL U 00F7 DIVISION SIGN SL550000 Times APL U 00D7 MULTIPLICATION SIGN SL560000 Not Greater APL U 2264 LESS THAN OR EQUAL TO SL570000 Not Less APL U 2265 GREATER THAN OR EQUAL TO SL580000 Quote Dot APL U 0021 EXCLAMATION MARK 15 6 5 7 U F88E in IBM s private use area scheme 12 SP020000 U 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 16 Tachyonsoft lists U 01C3 ǃ LATIN LETTER RETROFLEX CLICK for SL580000 4 SL590000 Left Arrow APL U 2190 LEFTWARDS ARROW 4 5 6 These arrows are SM300000 SM310000 SM320000 and SM330000 respectively in a non APL context for example in the C0 replacement graphics from code page 437 8 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 12 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 9 10 11 Compare SL080000 above Duplicating C0 replacement graphics outside of the C0 area is not an uncommon practice in DOS code pages compare for example the pilcrow and section sign in code page 850 SL600000 Right Arrow APL U 2192 RIGHTWARDS ARROW 4 5 6 SL610000 Up Arrow APL U 2191 UPWARDS ARROW 4 5 6 7 SL620000 Down Arrow APL U 2193 DOWNWARDS ARROW 4 5 6 7 SL630000 Overbar APL U 203E OVERLINE SL640000 Slope APL U 005C REVERSE SOLIDUS 15 6 5 7 U F889 in IBM s private use area scheme 12 Also mapped to U 2216 SET MINUS 4 SM070000 U 005C REVERSE SOLIDUS in a non APL context co occurs at 0x5A while SL640000 is at 0xB7 in code page 293 16 SL650000 Star APL U 22C6 STAR OPERATOR 5 U 002A ASTERISK 17 7 SL660000 Quote APL U 0027 APOSTROPHE SL670000 Left Parenthesis APL U 0028 LEFT PARENTHESIS SL680000 Right Parenthesis APL U 0029 RIGHT PARENTHESIS SL690000 Bar APL U 002D HYPHEN MINUS 17 5 6 7 U 2212 MINUS SIGN SL700000 Query APL U 003F QUESTION MARK U F888 in IBM s private use area scheme 12 SL710000 Alpha APL U 237A APL FUNCTIONAL SYMBOL ALPHA 4 5 U 03B1 a GREEK SMALL LETTER ALPHA 15 6 SL720000 Epsilon APL U 220A SMALL ELEMENT OF 5 3 7 U 03B5 e GREEK SMALL LETTER EPSILON 15 6 U 2208 ELEMENT OF 4 SL730000 Iota APL U 2373 APL FUNCTIONAL SYMBOL IOTA 4 5 U 03B9 i GREEK SMALL LETTER IOTA 15 6 SL740000 Rho APL U 2374 APL FUNCTIONAL SYMBOL RHO 4 5 U 03C1 r GREEK SMALL LETTER RHO 15 6 SL750000 Omega APL U 2375 APL FUNCTIONAL SYMBOL OMEGA 4 5 U 03C9 w GREEK SMALL LETTER OMEGA 15 6 SL760000 Slash APL U 002F SOLIDUS SL770000 Left Bracket APL U 005B LEFT SQUARE BRACKET SL780000 Right Bracket APL U 005D RIGHT SQUARE BRACKET SL790000 Plus APL U 002B PLUS SIGN SL800000 Semicolon APL U 003B SEMICOLON SL810000 Equal APL U 003D EQUALS SIGN SL820000 Not Equal APL U 2260 NOT EQUAL TO SL830000 Colon APL U 003A COLON 6 5 Form with fullwidth attribute set SL830080 is used for 0xA1C3 i e U 2236 RATIO in EUC CN 18 SL840000 Dot APL U 002E FULL STOP SL850000 Comma APL U 002C COMMA SL860000 Iota Underbar APL U 2378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR SL870000 Epsilon Underbar APL U 2377 APL FUNCTIONAL SYMBOL EPSILON UNDERBAR EBCDIC code pages edit Code page 293 edit Code page 293 CCSID 293 19 called APL USA is an EBCDIC code page which includes APL symbols in addition to preserving the basic Latin letters and Western Arabic numerals at their usual EBCDIC locations 16 17 Code page 293 20 16 17 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x NUL SOH STX ETX SEL HT RNL DEL GE SPS RPT VT FF CR SO SI 1x DLE DC1 DC2 DC3 RES ENP NL BS POC CAN EM UBS CU1 IFS IGS IRS IUS ITB 2x DS SOS FS WUS BYP INP LF ETB ESC SA SFE SM SW CSP MFA ENQ ACK BEL 3x SYN IR PP TRN NBS EOT SBS IT RFF CU3 DC4 NAK SUB 4x SP 𝐴 𝐵 𝐶 𝐷 𝐸 𝐹 𝐺 𝐻 𝐼 lt 5x amp 𝐽 𝐾 𝐿 𝑀 𝑁 𝑂 𝑃 𝑄 𝑅 6x 𝑆 𝑇 𝑈 𝑉 𝑊 𝑋 𝑌 𝑍 gt 7x 8x a b c d e f g h i 9x j k l m n o p q r Ax s t u v w x y z Bx a e i r w Cx A B C D E F G H I Dx J K L M N O P Q R ǃ Ex S T U V W X Y Z Fx 0 1 2 3 4 5 6 7 8 9 EO Differences from Code page 37 Code page 310 edit 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 21 4 It is used alongside Code page 37 2 22 with the Code page 310 codes being prefixed by the Graphic Escape EBCDIC 0x08 23 control character 6 24 Code page 310 prefixed with 0x08 25 21 4 6 b 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x 1x 2x 3x 4x SP 𝐴 𝐵 𝐶 𝐷 𝐸 𝐹 𝐺 𝐻 𝐼 5x 𝐽 𝐾 𝐿 𝑀 𝑁 𝑂 𝑃 𝑄 𝑅 6x 𝑆 𝑇 𝑈 𝑉 𝑊 𝑋 𝑌 𝑍 7x 8x 9x Ax ₙ Bx a e i r w Cx Dx ǃ Ex c c c c Fx Code page 351 edit Code page 351 GDDM Default USA 26 contains most of the characters of Code page 293 and Code page 310 except epsilon with underline in addition to the letters and digits by replacing several control characters with symbols Code page 351 26 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x NUL HT FF CR 1x NL BS 2x LF 3x 4x SP 𝐴 𝐵 𝐶 𝐷 𝐸 𝐹 𝐺 𝐻 𝐼 lt 5x amp 𝐽 𝐾 𝐿 𝑀 𝑁 𝑂 𝑃 𝑄 𝑅 6x 𝑆 𝑇 𝑈 𝑉 𝑊 𝑋 𝑌 𝑍 gt 7x ₙ 8x a b c d e f g h i 9x j k l m n o p q r Ax s t u v w x y z Bx Cx A B C D E F G H I Dx J K L M N O P Q R ǃ Ex S T U V W X Y Z Fx 0 1 2 3 4 5 6 7 8 9 7 bit modified ASCII edit Code page 371 IR 68 edit Main article ISO IR 68 Code page 371 27 registered for use with ISO IEC 2022 as ISO IR 68 28 5 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 BS backspace 0x08 control code 28 5 8 bit modified and or extended ASCII edit Code page 907 edit Code page 907 is used by the IBM 3812 like code page 906 Code page 907 9 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x 1x 2x SP ǃ amp 3x 0 1 2 3 4 5 6 7 8 9 lt gt 4x A B C D E F G H I J K L M N O 5x P Q R S T U V W X Y Z 6x a b c d e f g h i j k l m n o 7x p q r s t u v w x y z 8x 𝐴 𝐵 𝐶 𝐷 𝐸 𝐹 𝐺 𝐻 𝐼 𝐽 𝐾 𝐿 𝑀 𝑁 𝑂 𝑃 9x 𝑄 𝑅 𝑆 𝑇 𝑈 𝑉 𝑊 𝑋 Ax 𝑌 𝑍 Bx Cx Dx Ex a ss r i e Fx w NBSP Differences from code page 437 Code page 909 edit Code page 909 is another encoding for APL differing from code page 907 in not including the underlined characters assigning different codes to the APL characters which fall in the 0xB0 DF range and replacing some of the C0 replacement graphics from code page 437 with alternative encodings for certain APL symbols Code page 909 10 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x 1x 2x SP ǃ amp 3x 0 1 2 3 4 5 6 7 8 9 lt gt 4x A B C D E F G H I J K L M N O 5x P Q R S T U V W X Y Z 6x a b c d e f g h i j k l m n o 7x p q r s t u v w x y z 8x C u e a a a a c e e e i i i A A 9x o o o u u O U Ax a i o u n N ª º Bx Cx Dx Ex a ss r i e Fx w NBSP Differences from code page 437 Code page 910 edit Code page 910 is similar to code page 909 but with fewer duplicate horizontal arrows using the same C0 graphics as code page 437 and including some additional characters Code page 910 11 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x 1x 2x SP ǃ amp 3x 0 1 2 3 4 5 6 7 8 9 lt gt 4x A B C D E F G H I J K L M N O 5x P Q R S T U V W X Y Z 6x a b c d e f g h i j k l m n o 7x p q r s t u v w x y z 8x C u e a a a a c e e e i i i A A 9x o o o u u O U o Ax a i o u n N ª º Bx Cx Dx I Ex a ss r i e Fx w NBSP Differences from code page 437 Unicode edit Most APL symbols are present in Unicode in the Miscellaneous Technical range 29 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 Underscored alphabetic characters edit Missing from Unicode are the traditional 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 4 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 1 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 LA110000 for the lowercase a and LA120000 for the uppercase A 30 They are included in IBM s private use area scheme encoded in reverse alphabetical order in the odd numbered code points from U F8BF to U F8F1 12 Homologous uses of 47 include the SD diacritic series GCGID SD470000 for Line Below Discontinuous Underscore 31 i e macron below distinct from the ASCII underscore which is SP090000 Underline Continuous Underscore 30 and the A Arabic letter series GCGID AD470009 for the ḏal 32 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 U 1E06 Ḇ LATIN CAPITAL LETTER B WITH LINE BELOW U 1E0E Ḏ LATIN CAPITAL LETTER D WITH LINE BELOW U 1E34 Ḵ LATIN CAPITAL LETTER K WITH LINE BELOW U 1E3A Ḻ LATIN CAPITAL LETTER L WITH LINE BELOW U 1E48 Ṉ LATIN CAPITAL LETTER N WITH LINE BELOW U 1E5E Ṟ LATIN CAPITAL LETTER R WITH LINE BELOW U 1E6E Ṯ LATIN CAPITAL LETTER T WITH LINE BELOW U 1E94 Ẕ LATIN CAPITAL LETTER Z WITH LINE BELOW However this does not cover the entire ISO basic Latin alphabet and IBM s reference glyphs for the APL characters show them both underlined and oblique 2 and tables simulating them with markup may follow suit 4 Unicode s Mathematical Alphanumeric Symbols block includes italic characters for use in notations where they are contrastive with non italic characters Unicode also includes combining forms of the macron below and underscore in the Combining Diacritical Marks block the characters above canonically decompose with the former U 0331 COMBINING MACRON BELOW U 0332 COMBINING LOW LINEKeyboard layout editNote the mnemonics associating an APL character with a letter question mark on Q power on P r rho on R base value on B eNcode on N modulus on 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 nbsp APL keyboard layout 33 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 Shift P with Shift O 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 editAPL syntax and symbols ISO IR 68Footnotes edit a b c d e f g h i j k l There are two naming conventions which way around up and down are and which way around left and right are for tack characters the London and Bosworth conventions 13 Which convention is used differs between IBM and Unicode Naming also differs between composite Unicode characters intended solely for APL which match IBM naming and use the Bosworth convention versus plain tacks also intended for other applications which use the London convention 13 14 APL specifications subsequently adopted the London convention 14 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 13 runs contrary to convention in the APL community 7 Documented mappings vary 4 6 25 15 a b c d Sharp extension 6 References edit a b c Graphic Escape APL2 TN 138 IBM GCSGID 00963 a b c Graphic Escape APL2 TN 138 chart PDF IBM GCSGID 00963 a b c d e f g h Graphic character identifiers Specials APL symbols IBM Archived from the original on 2016 01 22 a b c d e f g h i j k l m n o p q r s t u v w x y Tachyon Software 2007 07 31 Code Page 00310 3270 APL Graphic Escape a b c d e f g h i j k l m n o p q r s t u v w x y Cowan John 2004 06 29 ISO IR 68 to Unicode Unicode org Unicode Inc Retrieved 19 June 2017 a b c d e f g h i j k l m n o p q r s t u v w x y x3270 Character Set x3270 Documentation Archived from the original on 2018 11 10 a b c d e f g h i j k l m n o Dyalog Nomenclature Functions and Operators PDF Dyalog Documentation Centre Dyalog APL a b Personal Computer IBM CPGID 00437 a b c IBM Code Page 00907 PDF Archived from the original PDF on 2017 08 03 a b c IBM Code Page 00909 PDF Archived from the original PDF on 2015 07 08 a b c IBM Code Page 00910 PDF Archived from the original PDF on 2015 07 08 a b c d e f g IBM 1997 unicode nam Allow the Unicode characters to be specified using either the IBM or PostScript like names Included with Borgendale Ken OS 2 Codepage and Keyboard Display Tools a b c Dickey Leroy J The Naming of Tack Symbols University of Waterloo a b Freytag Asmus McGowan Rick Whistler Ken 2021 06 14 Known Anomalies in Unicode Character Names Unicode Consortium UTN 27 a b c d e f g h i j k l m n o EBCDIC and ASCII Tables Archived from the original on 2016 08 27 a b c d e IBM 1996 1984 Code Page CPGID 00293 APL USA REGISTRY Graphic Character Sets and Code Pages a b c d Tachyon Software 2007 07 31 Code Page 00293 EBCDIC APL IBM Simplified Chinese Graphic Character Set for Extended UNIX Code EUC PDF IBM 1994 C H 3 3220 132 1994 06 CCSID 293 information document Archived from the original on 2016 03 27 Code Page CPGID 00293 pdf PDF IBM a b IBM 1987 Code Page CPGID 00310 Graphic Escape APL TN REGISTRY Graphic Character Sets and Code Pages xlate Transliterate Contents of Records IBM Corporation 2010 1986 archived from the original on 2019 06 16 retrieved 2016 10 18 IBM Appendix G 1 EBCDIC control character definitions IBM Globalization Archived from the original on 2018 09 11 Chapter 5 3270 Display Station and Printer Code Page Charts APL APL2 Text Feature Code Page PDF 3174 Establishment Controller Character Set Reference 3rd ed IBM 1990 1988 p 5 6 GA27 3831 02 a b Code Page CPGID 00310 pdf PDF IBM a b Tachyon Software 2007 07 31 Code Page 00351 GDDM Default USA Code Page 00371 PDF IBM Archived from the original PDF on 2015 07 08 a b Standards Council of Canada 1983 06 01 APL Character Set for Workspace Interchange PDF ITSCJ IPSJ ISO IR 68 The Unicode Standard 5 1 Code Charts Technical Symbols U 2300 U 23FF PDF Unicode Standard 5 1 Unicode Consortium Archived PDF from the original on 2 October 2008 Retrieved October 12 2008 a b Windows Latin 1 IBM CPGID 01252 OCR B IBM GCSGID 00969 Windows Arabic PDF PDF IBM CPGID 01256 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 Archived March 10 2012 at the Wayback Machine actual photo diagram here Archived April 3 2015 at the Wayback Machine and NARS2000 APL keyboard layout here External links editIBM 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 Retrieved from https en wikipedia org w index php title Digital encoding of APL symbols amp oldid 1181818897 Code page 351, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.