DEC APL Character Set

March 4, 2025 · View on GitHub

_0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F
2_¨÷ׯ
3_
4_𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀
5_𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍
6_
7_

This is the 7-bit character set which is embedded in the fonts which DEC included with APL for the VAX circa 1990 as documented in the Users Guide.

Note that this differs from both the character set APL uses internally and from the older chart in DEC STD 107 (1980). It can be used as an 8-bit charset by setting GR to G1 (see [Composite APL Character Set] below).

To display an APL character, send its GL/ASCII character after LS1 (0x0E) and before LS0 (0x0F).

CharacterGLASCIICommon NameDEC VAX APL nameTTY
input
GR
(8-bit)
¨21!DieresisDouble Dots.DDa1
22"Less than or Equal toLess than or Equal.LEa2
23#OrOr.ORa3
24$AndAnd&a4
29)AlphaAlpha.ALa9
2a*Up TackBase (Decode).DEaa
2b+IntersectionDown U [sic].DUab
2c,DownstileFloor.FLac
2d-Element ofEpsilon.EPad
2e.DelDel.DLae
2f/DeltaLower Del.LDaf
300IotaIota.IOb0
311JotJot (Small O).SOb1
322QuadBox.BXb2
333Down TackRepresent (Encode).ENb3
344CircleCircle (Large O).LOb4
355RhoRho.ROb5
366UpstileCeiling.CEb6
377DropDown Arrow.DAb7
388UnionUp U.UUb8
399OmegaOmega.OMb9
3a:Right ShoeRight U.RUba
3b;Left ShoeLeft U.LUbb
3c<GetsLeft arrow_bc
3d=Right TackLeft Tack [sic].LKbd
3e>GotoRight arrow (Go to).GObe
3f?Greater than or Equal toGreater than or Equal.GEbf
40@DiamondDiamond.DMc0
41ALeft TackRight Tack [sic].RKc1
42BDelta UnderbarUnderscored Delta.UDc2
𝐴43CUnderlined CAPITAL AUnderscored A.ZAc3
𝐵44DUnderlined CAPITAL BUnderscored B.ZBc4
𝐶45EUnderlined CAPITAL CUnderscored C.ZCc5
𝐷46FUnderlined CAPITAL DUnderscored D.ZDc6
𝐸47GUnderlined CAPITAL EUnderscored E.ZEc7
𝐹48HUnderlined CAPITAL FUnderscored F.ZFc8
𝐺49IUnderlined CAPITAL GUnderscored G.ZGc9
𝐻4aJUnderlined CAPITAL HUnderscored H.ZHca
𝐼4bKUnderlined CAPITAL IUnderscored I.ZIcb
𝐽4cLUnderlined CAPITAL JUnderscored J.ZJcc
𝐾4dMUnderlined CAPITAL KUnderscored K.ZKcd
𝐿4eNUnderlined CAPITAL LUnderscored L.ZLce
𝑀4fOUnderlined CAPITAL MUnderscored M.ZMcf
𝑁50PUnderlined CAPITAL NUnderscored N.ZNd0
𝑂51QUnderlined CAPITAL OUnderscored O.ZOd1
𝑃52RUnderlined CAPITAL PUnderscored P.ZPd2
𝑄53SUnderlined CAPITAL QUnderscored Q.ZQd3
𝑅54TUnderlined CAPITAL RUnderscored R.ZRd4
𝑆55UUnderlined CAPITAL SUnderscored S.ZSd5
𝑇56VUnderlined CAPITAL TUnderscored T.ZTd6
𝑈57WUnderlined CAPITAL UUnderscored U.ZUd7
𝑉58XUnderlined CAPITAL VUnderscored V.ZVd8
𝑊59YUnderlined CAPITAL WUnderscored W.ZWd9
𝑋5aZUnderlined CAPITAL XUnderscored X.ZXda
𝑌5b[Underlined CAPITAL YUnderscored Y.ZYdb
𝑍5c\Underlined CAPITAL ZUnderscored Z.ZZdc
5d]LampLamp (Comment)"dd
5e^I-BeamI-Beam.IBde
5f_HydrantHydrant (Execute).XQdf
60`ThornThorn (Format).FMe0
61aDominoDivide Quad.DQe1
62bQuad Left ArrowInput Quad.IQe2
63cQuad Right ArrowOutput Quad.OQe3
64dQuote QuadQuote Quad.QQe4
65eQuad Down CaretQuad Del.QDe5
66fGrade UpGrade Up.GUe6
67gGrade DownGrade Down.GDe7
68hDel TildeProtected Del.PDe8
69iNorNor.NRe9
6ajNandNand.NNea
6bkLogLogarithm.LGeb
6clCircle BarColumn Reverse.CRec
6dmTransposeTranspose.TRed
6enCircle StileReverse.RVee
6foComma BarColumn Comma.CCef
70pSlash BarColumn Slash.CSf0
71qSlope BarColumn Backslash.CBf1
72rLeft Shoe UnderbarSubset.SSf2
73sRight Shoe UnderbarContains.COf3
74tEqual UnderbarMatch.MTf4
75uUp ArrowUp Arrow^f5
76vSquadSquish Quad.SQf6
77wSquadf7
78xSquadf8
79ySquadf9
7azSquadfa
7b{Squadfb
7c|Squadfc
OUT7d}OUT [See note 2][Unused]fd
7e~SquadSquish Quad.SQfe

Note 1: The left/right tack convention changed around the turn of the century. See "London Convention" versus "Bosworth Convention".

Note 2: The "OUT" character is not present in Unicode nor is it mentioned in the VAX APL manual. However it is in the font and discussed online in the APL forums. Normally, the representation is actually of the letters O, U, T overstruck atop each other, and that is the case for the VT220 version of the font, however the VT340 version has the letters written in small, non-overlapping, letters at a diagonal, similar to the graphic ␛ for Escape.

Composite APL Character Set

When running VAX APL, the VT340 and other terminals capable of loading the APL font used what DEC called the "Composite APL Character Set". The setup is:

ActiveSetMapping
GLG07-bit ASCII
GRG1APL Character Set
G2Latin-1 (DEC Supplemental)
G3DEC Special Graphics

Escape codes to set up Composite APL

The VMS APL User's Guide describes Composite Character Set in Table 1-16, which shows that bytes with the high-bit set display the APL glyphs. While this would be more convenient compared to constantly sending shifts (LS0, LS1), this technique would not work in a modern UTF-8 terminal.

Hackerb9's guess for how to replicate the Composite APL setup: first load the APL font (by catting it to the screen) which names the font Dscs &0 and maps it to G1 (ESC ) & 0). Then send these escape codes:

SetMappingEscape sequence
G0ASCIIESC ( B
G1APLESC ) & 0
G2Latin-1 or MCSESC . A or ESC ( <
G3Special GraphicsESC + 0
GLG00x0F
GRG1ESC ~

To return to normal, remap GR to point to G2: ESC }.

Composite APL table

Based on table 1-16 in the VMS APL User's Guide.

_0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F
0_
1_
2_!"#$%&'()*+,-./
3_0123456789:;<=>?
4_@ABCDEFGHIJKLMNO
5_PQRSTUVWXYZ[\]^_
6_`abcdefghijklmno
7_pqrstuvwxyz{|}~
8_INDNELSSAESAHTSHTJVTSPLDPLURISS2SS3
9_DCSPU1PU2STSCCHMWSPAEPACSISTOSCPMAPC
A_¨÷ׯ
B_
C_𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀
D_𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍
E_
F_
_0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F

Note 1: ␢ represents characters that are unused.

Note 2: "OUT" is at 0xFD in the font but not shown in the user guide.

Note 3: The font does not define 0xFF although the table shows it as a Squish Quad.