APL Font

From NARS2000
Revision as of 17:11, 8 January 2024 by WikiSysop (talk | contribs) (→‎Extra APL Glyphs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Default Font

The default APL font for NARS2000 (its APL Interpreter session, function editing, screen display and printing purposes) and this wiki is (in order of preference) APL386 Unicode, APL385 Unicode, SImPL medium(Unicode based), or SImPL.

If the APL characters in the articles don't display correctly, you may obtain a copy of the APL386 Unicode and SImPL medium font by downloading the current NARS2000 binary, or the APL385 Unicode font from here, or the SImPL font from here. Normally these fonts may be found in your downloaded NARS2000 program folder, e.g. C:\Program Files (x86)\NARS2000 (for the 32-bit program) or C:\Program Files\NARS2000 (for the 64-bit version).

Default Keyboard Layout

NARS2000 default APL keyboard layout, based on the SImPL medium font, is found here, on SudleyPlace.com. Printing the keyboard layout and keeping it in front of you while using NARS2000 - provides a handy reference. Just as typists eventually memorize the QWERTY (oe AZERTY, etc.) keyboard layout, most APL'ers quickly memorize APL keyboard layouts. A printed keyboard reference is good to keep however, if only for some of the lesser used APL symbols. Several frequently used APL symbols are very easily keyboard-memorized: ∊ (epsilon = Alt-e), ⍴ (rho = Alt-r), ∼ (tilde = Alt-t) and ⍳ (iota = Alt-i) since the beginning letter of the symbol is same-placed as its qwerty letter equivalent in the alphabet. Also, all of the APL symbols may be found (and copied to the current session or function being edited) from the Language Bar at the top of the APL session window. Cross ref. wiki page Keyboard and Language bar.

Font Issues

Even if you have an APL font installed, that may not be the end of the story. Each font designer decides what glyphs to display and for which characters. Also, some implementations of supposedly Unicode fonts don't always display the same glyphs in the same places or in the same way. The SimPL Medium font, which comes with NARS2000, will display some characters with different glyphs than are displayed by the font APL385 Unicode. For example, these are the underlined letters A to Z, which are valid identifiers in APL: 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 Z. Now, to display these characters in APL385 Unicode, the characters use code positions 9398 through 9423, or 0x24B6 through 0x24CF, which show up as Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ, which, while not the same, is very close. When copying underlined APL characters to the clipboard, you may convert them to lowercase by first setting the user preference "Underbar alphabet converted to lowercase".

The standard Arial font doesn't even have a built-in set of underlined characters, nor does SimPL. (Yet note some glyphs, as shown below, that are used by NARS2000, are not present in APL385.)

Also, the settings for Unicode for APL symbols, which are listed as being 0x2300 - 0x23F3, do not necessarily appear - or appear the same - in all APL fonts.

Extra APL Glyphs

While any Unicode APL font will display all of the standard APL glyphs, NARS2000 uses (or has plans to use) some extra glyphs not found in all Unicode APL fonts such as

Name Symbol Unicode
Code Point
Keystroke Description
Section §  167 or U+00A7 Alt-t Multiset Symmetric Difference
Plus-or-Minus ±  177 or U+00B1 Alt-q Ball Arithmetic
Pi π  960 or U+03C0 Alt-p Prime Decomposition and Number-theoretic
Chi χ  967 or U+03C7 Alt-C Anonymous Functions/Operators/Hyperators
Double-Shriek 8252 or U+203C Alt-k Combinatorial Operator
Derivative 8706 or U+2202 Alt-D Derivative
NaN 8709 or U+2205 Alt-5 NaN
Root 8730 or U+221A Alt-R Square Root and Nth Root
Infinity 8734 or U+221E Alt-f Infinity
Integral 8747 or U+222B Alt-S Integral
Double-Tilde 8776 or U+2248 Alt-Q Ball Arithmetic
Mismatch 8802 or U+2262 Alt-@ Mismatch
Left-shoe-underbar 8838 or U+2286 Alt-Z Subset of
Right-shoe-underbar 8839 or U+2287 Alt-X Superset of
Circle-middle-dot 8857 or U+2299 Alt-? Null operator
Quad-jot 9019 or U+233B Alt-F Matrix Operator
Downtack-overbar 9041 or U+2351 Alt-B Transform Operator
Quad-colon 9056 or U+2360 Alt-_ Variant operator
Dieresis-downtack 9057 or U+2361 Alt-N Convolution operator
Dieresis-del 9058 or U+2362 Alt-G Dual operator
Dieresis-star 9059 or U+2363 Alt-P Power operator
Dieresis-jot 9060 or U+2364 Alt-J Rank/Atop operator
Dieresis-circle 9061 or U+2365 Alt-O Composition operator
Down-shoe-stile 9062 or U+2366 Alt-m Multiset operator
Dieresis-tilde 9064 or U+2368 Alt-T Commute/Duplicate operator
Del-tilde 9067 or U+236B Alt-K Commutator operator
Zilde 9068 or U+236C Alt-} Empty simple numeric vector
Stile-tilde 9069 or U+236D Alt-M Partition operator
Line Continuation 10149 or U+27A5    Shift-Enter    Line Continuation Marker

= Not currently implemented.

All but the Integral and Line Continuation symbols may be found in SImPL medium and all but the NaN, Derivative, Null, and Line Continuation symbols in APL385 Unicode.

All of the above symbols may be found in APL386 Unicode.