APL Font: Difference between revisions
No edit summary |
|||
(49 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
==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) [https://abrudz.github.io/APL386/APL386.ttf|'''APL386 Unicode'''], [https://apl385.com/fonts/apl385.zip|'''APL385 Unicode'''], '''SImPL medium'''(Unicode based), or '''SImPL'''. | |||
If | If the APL characters in the articles don't display correctly, you may obtain a copy of the [https://abrudz.github.io/APL386/APL386.ttf|'''APL386 Unicode'''] and '''SImPL medium''' font by downloading the current [http://www.nars2000.org/download/Download.html NARS2000 binary], or the '''APL385 Unicode''' font from [http://archive.vector.org.uk/resource/apl385.ttf here], or the '''SImPL''' font from [http://archive.vector.org.uk/resource/simpl02.zip 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 '''[http://www.sudleyplace.com/APL/Keyboard.ahtml 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 <u>printed keyboard reference</u> is good to <u>keep</u> however, if only for some of the lesser used APL symbols. Several frequently used APL symbols are <u>very easily keyboard-memorized</u>: '''∊ (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|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: <u>A</u> <u>B</u> <u>C</u> <u>D</u> <u>E</u> <u>F</u> <u>G</u> <u>H</u> <u>I</u> <u>J</u> <u>K</u> <u>L</u> <u>M</u> <u>N</u> <u>O</u> <u>P</u> <u>Q</u> <u>R</u> <u>S</u> <u>T</u> <u>U</u> <u>V</u> <u>W</u> <u>X</u> <u>Y</u> <u>Z</u>. 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 | |||
{| border="0" summary="" cellspacing="0" | |||
! style="border-bottom: solid black 1px;" |Name | |||
! style="border-bottom: solid black 1px;" |Symbol | |||
! style="border-bottom: solid black 1px;" |Unicode<br />Code Point | |||
! style="border-bottom: solid black 1px;" |Keystroke | |||
! style="border-bottom: solid black 1px;" |Description | |||
|- | |||
||Section | |||
| align="center" |<apll>§</apll> | |||
| align="center" | 167 or U+00A7 | |||
| align="center" |'''Alt-t''' | |||
| [[Multisets#Missing_Function|Multiset Symmetric Difference]] | |||
|- | |||
||Plus-or-Minus | |||
| align="center" |<apll>±</apll> | |||
| align="center" | 177 or U+00B1 | |||
| align="center" |'''Alt-q''' | |||
|| [[Ball Arithmetic]] | |||
|- | |||
||Pi | |||
| align="center"|<apll>π</apll> | |||
| align="center"| 960 or U+03C0 | |||
| align="center"|'''Alt-p''' | |||
|| [[Primes|Prime Decomposition and Number-theoretic]] | |||
|- | |||
||Chi | |||
| align="center"|<apll>χ</apll> | |||
| align="center"| 967 or U+03C7 | |||
| align="center"|'''Alt-C''' | |||
|| [[Anonymous Functions/Operators/Hyperators#Axis_Operator|Anonymous Functions/Operators/Hyperators]] | |||
|- | |||
||Double-Shriek | |||
| align="center"|<apll>‼</apll> | |||
| align="center"|8252 or U+203C | |||
| align="center"|'''Alt-k''' | |||
|| [[Combinatorial|Combinatorial Operator]] | |||
|- | |||
||Derivative | |||
| align="center"|<apll>∂</apll> | |||
| align="center"|8706 or U+2202 | |||
| align="center"|'''Alt-D''' | |||
| [[Derivative]] | |||
|- | |||
||NaN | |||
| align="center"|<apll>{nan}</apll> | |||
| align="center"|8709 or U+2205 | |||
| align="center"|'''Alt-5''' | |||
||[[NaN|NaN]] | |||
|- | |||
||Root | |||
| align="center"|<apll>√</apll> | |||
| align="center"|8730 or U+221A | |||
| align="center"|'''Alt-R''' | |||
|| [[Root|Square Root and Nth Root]] | |||
|- | |||
||Infinity | |||
| align="center"|<apll>∞</apll> | |||
| align="center"|8734 or U+221E | |||
| align="center"|'''Alt-f''' | |||
|| [[Infinity]] | |||
|- | |||
||Integral | |||
| align="center"|<apll><_sg/></apll> | |||
| align="center"|8747 or U+222B | |||
| align="center"|'''Alt-S''' | |||
|| [[Integral]] | |||
|- | |||
||Double-Tilde | |||
| align="center"|<apll>≈</apll> | |||
| align="center"|8776 or U+2248 | |||
| align="center"|'''Alt-Q''' | |||
|| [[Ball Arithmetic]] | |||
|- | |||
|| Mismatch | |||
| align="center"|<apll>≢</apll> | |||
| align="center"|8802 or U+2262 | |||
| align="center"|'''Alt-@''' | |||
|| [[Mismatch]] | |||
|- | |||
||Left-shoe-underbar | |||
| align="center"|<apll>⊆</apll> | |||
| align="center"|8838 or U+2286 | |||
| align="center"|'''Alt-Z''' | |||
|| [[Sets|Subset of]] | |||
|- | |||
|| Right-shoe-underbar | |||
| align="center"|<apll>⊇</apll> | |||
| align="center"|8839 or U+2287 | |||
| align="center"|'''Alt-X''' | |||
|| [[Sets|Superset of]] | |||
|- | |||
||Circle-middle-dot | |||
| align="center"|<apll>⊙</apll> | |||
| align="center"|8857 or U+2299 | |||
| align="center"|'''Alt-?''' | |||
|| [[Null|Null operator]] | |||
|- | |||
||Quad-jot | |||
| align="center"|<apll>⌻</apll> | |||
| align="center"|9019 or U+233B | |||
| align="center"|'''Alt-F''' | |||
|| [[Matrix|Matrix Operator]] | |||
|- | |||
||Downtack-overbar | |||
| align="center"|<apll>⍑</apll> | |||
| align="center"|9041 or U+2351 | |||
| align="center"|'''Alt-B''' | |||
|| [https://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform Operator] | |||
|- | |||
||Quad-colon | |||
| align="center"|<apll>⍠</apll> | |||
| align="center"|9056 or U+2360 | |||
| align="center"|'''Alt-_''' | |||
|| [[Variant|Variant operator]] | |||
|- | |||
||Dieresis-downtack | |||
| align="center"|<apll>⍡</apll> | |||
| align="center"|9057 or U+2361 | |||
| align="center"|'''Alt-N''' | |||
|| [[Convolution|Convolution operator]] | |||
|- | |||
||Dieresis-del | |||
| align="center"|<apll>⍢</apll> | |||
| align="center"|9058 or U+2362 | |||
| align="center"|'''Alt-G''' | |||
|| [[Dual|Dual operator<b>]]†</b> | |||
|- | |||
||Dieresis-star | |||
| align="center"|<apll>⍣</apll> | |||
| align="center"|9059 or U+2363 | |||
| align="center"|'''Alt-P''' | |||
|| [[Power|Power operator]] | |||
|- | |||
||Dieresis-jot | |||
| align="center"|<apll>⍤</apll> | |||
| align="center"|9060 or U+2364 | |||
| align="center"|'''Alt-J''' | |||
|| [[Rank|Rank/Atop operator]] | |||
|- | |||
||Dieresis-circle | |||
| align="center"|<apll>⍥</apll> | |||
| align="center"|9061 or U+2365 | |||
| align="center"|'''Alt-O''' | |||
|| [[Composition|Composition operator]] | |||
|- | |||
||Down-shoe-stile | |||
| align="center"|<apll>⍦</apll> | |||
| align="center"|9062 or U+2366 | |||
| align="center"|'''Alt-m''' | |||
|| [[Multisets|Multiset operator]] | |||
|- | |||
||Dieresis-tilde | |||
| align="center"|<apll>⍨</apll> | |||
| align="center"|9064 or U+2368 | |||
| align="center"|'''Alt-T''' | |||
|| [[Commute-Duplicate|Commute/Duplicate operator]] | |||
|- | |||
|| Del-tilde | |||
| align="center"|<apll>⍫</apll> | |||
| align="center"|9067 or U+236B | |||
| align="center"|'''Alt-K''' | |||
|| [[Commutator|Commutator operator]]<b>†</b> | |||
|- | |||
|| Zilde | |||
| align="center"|<apll>⍬</apll> | |||
| align="center"|9068 or U+236C | |||
| align="center"|'''Alt-}''' | |||
|| Empty simple numeric vector | |||
|- | |||
|| Stile-tilde | |||
| align="center"|<apll>⍭</apll> | |||
| align="center"|9069 or U+236D | |||
| align="center"|'''Alt-M''' | |||
|| [[Partition|Partition operator]]<b>†</b> | |||
|- | |||
|| Line Continuation | |||
| align="center"|<apll>➥</apll> | |||
| align="center"|10149 or U+27A5 | |||
| align="center"| '''Shift-Enter''' | |||
|| [[Session_Manager_Editing|Line Continuation Marker]] | |||
|} | |||
<b>†</b> = Not currently implemented. | |||
<p>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'''.</p> | |||
<p>All of the above symbols may be found in '''APL386 Unicode'''.</p> |
Latest revision as of 16:11, 8 January 2024
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.