Fonts: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
(30 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
With the prevalence of [[Unicode]], many systems render APL legibly out-of-the-box. However, for a uniform appearance, the font should be designed with APL in mind.<ref>Phil Chastney: ''[http://www.chastney.com/~philip/SImPL/APL_fonts_are_different.pdf APL fonts are different]'' | With the prevalence of [[Unicode]], many systems render APL legibly out-of-the-box. However, for a uniform appearance, the font should be designed with APL in mind.<ref>Phil Chastney: ''[https://web.archive.org/web/20161005120746/http://www.chastney.com/~philip/SImPL/APL_fonts_are_different.pdf APL fonts are different]'' | ||
</ref> This article lists some fonts that are | </ref> This article lists some fonts that are suited for APL. | ||
== Monospace == | |||
{|class=wikitable | {|class=wikitable | ||
!Name<br>(website) !! Source<br>(download) !! Description !! Sample | !Name<br>(website) !! Source<br>(download) !! Description !! Sample | ||
Line 8: | Line 8: | ||
[[File:APL2 Unicode.png|none]] | [[File:APL2 Unicode.png|none]] | ||
|- | |- | ||
|[http://apl385.com/fonts/index.htm APL385 Unicode]||[http://apl385.com/fonts/apl385.zip Adrian Smith]||Inspired by Comic Sans Serif.|| | |||
| | [[File:APL385 Unicode.png|none]] | ||
|- | |- | ||
|[ | |[https://abrudz.github.io/APL386/ APL386 Unicode]||[https://github.com/abrudz/APL386/raw/master/APL386.ttf GitHub]||APL385 Unicode with fewer issues and more accented characters.|| | ||
[[File: | [[File:APL386 Unicode.png|none]] | ||
|- | |- | ||
|[https:// | |[https://github.com/dzaima/BQN386 BQN386 Unicode]||[https://github.com/dzaima/BQN386/blob/master/BQN386.ttf?raw=true GitHub]||Re-hinted APL386 Unicode with harmonised glyphs and support for [[BQN]].|| | ||
[[File:APL386 Unicode.png|none]] | [[File:APL386 Unicode.png|none]] | ||
|- | |- | ||
| [http://www. | | [http://www.microapl.com/apl/learn_apl.html APLX Upright] || [http://www.microapl.co.uk/download/aplx_unicode.ttf MicroAPL] || A monospaced grotesque font, reminiscent of Akzidenz-Grotesk.|| | ||
[[File:APLX Upright.png|none]] | [[File:APLX Upright.png|none]] | ||
|- | |- | ||
| [https://www.ibm.com/us-en/marketplace/apl2 Courier APL2 Unicode] || [https://www.ibm.com/account/reg/us-en/signup?formid=urx-32206 IBM] || The classic Courier typewriter font, extended with APL symbols.|| | | [https://www.ibm.com/us-en/marketplace/apl2 Courier APL2 Unicode] || [https://www.ibm.com/account/reg/us-en/signup?formid=urx-32206 IBM] || The classic Courier typewriter font, extended with APL symbols.|| | ||
[[File:Courier APL2 Unicode.png|none]] | [[File:Courier APL2 Unicode.png|none]] | ||
|- | |||
|[https://mlochbaum.github.io/BQN/fonts.html DejaVu BQN Sans Mono]||[https://github.com/mlochbaum/BQN/blob/master/docs/DejaVuBQNSansMono.ttf?raw=true GitHub]||DejaVu Sans Mono with support for [[BQN]].|| | |||
[[File:DejaVu Sans Mono.png|none]] | |||
|- | |- | ||
|[https://dejavu-fonts.github.io/ DejaVu Sans Mono]||[https://github.com/senotrusov/dejavu-fonts-ttf/raw/master/ttf/DejaVuSansMono.ttf GitHub]||Wide range of characters with original look and feel of Vera.|| | |[https://dejavu-fonts.github.io/ DejaVu Sans Mono]||[https://github.com/senotrusov/dejavu-fonts-ttf/raw/master/ttf/DejaVuSansMono.ttf GitHub]||Wide range of characters with original look and feel of Vera.|| | ||
Line 33: | Line 34: | ||
|[https://www.nerdfonts.com/ DejaVu Sans Mono Nerd]||[https://raw.githubusercontent.com/ryanoasis/nerd-fonts/v2.0.0/patched-fonts/DejaVuSansMono/Regular/complete/DejaVu%20Sans%20Mono%20Nerd%20Font%20Complete%20Mono.ttf AUR]|| DejaVu Sans Mono patched with a high number of extra glyphs.||[[File:DejaVu Sans Mono.png|none]] | |[https://www.nerdfonts.com/ DejaVu Sans Mono Nerd]||[https://raw.githubusercontent.com/ryanoasis/nerd-fonts/v2.0.0/patched-fonts/DejaVuSansMono/Regular/complete/DejaVu%20Sans%20Mono%20Nerd%20Font%20Complete%20Mono.ttf AUR]|| DejaVu Sans Mono patched with a high number of extra glyphs.||[[File:DejaVu Sans Mono.png|none]] | ||
|- | |- | ||
| [https://www. | | [https://www.evertype.com/emono/ Everson Mono] || [https://www.evertype.com/emono/evermono-beta.zip Evertype] (shareware) || A simple font, quite legible at sizes as small as 4 points. || [[File:Everson Mono.png|none]] | ||
|- | |- | ||
| [https://www.kreativekorp.com/software/fonts/fairfax.shtml Fairfax | | [https://www.kreativekorp.com/software/fonts/fairfax.shtml Fairfax] || rowspan=2|[https://www.kreativekorp.com/swdownload/fonts/relaybm/fairfax.zip KreativeKorp] || Regular/Bold/Italic 6×12 bitmap font supporting many characters. || [[File:Fairfax.png|none]] | ||
|- | |- | ||
| [https://www.kreativekorp.com/software/fonts/fairfax.shtml Fairfax Serif] || Serif 6×12 bitmap font supporting many characters. || [[File:Fairfax_Serif.png|none]] | | [https://www.kreativekorp.com/software/fonts/fairfax.shtml Fairfax Serif] || Serif 6×12 bitmap font supporting many characters. || [[File:Fairfax_Serif.png|none]] | ||
|- | |- | ||
| [https://www.kreativekorp.com/software/fonts/ | | [https://www.kreativekorp.com/software/fonts/fairfaxhd.shtml Fairfax HD] || [https://www.kreativekorp.com/swdownload/fonts/core/fairfaxhd.zip KreativeKorp] || Plotter-like font supporting many characters. || [[File:Fairfax HD.png|none]] | ||
|- | |- | ||
| [https:// | | [https://github.com/rbanffy/3270font IBM 3270] || [https://github.com/rbanffy/3270font/releases/download/v2.2.1/3270_fonts_70de9c7.zip GitHub] || Modern version of a classic [[IBM]] terminal font. || [[File:IBM 3270.png|none|500px]] | ||
|- | |- | ||
| [https:// | | [https://typeof.net/Iosevka/ Iosevka] Anonymous Pro Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss02-10.1.1.zip GitHub]||rowspan=7|A slender, highly customisable monospace sans-serif and slab-serif typeface inspired by Pragmata Pro, M+ and PF DIN Mono. This list includes seven ready-made versions, but it is easy to build one's own version too. When compiling, it is possible to configure character variants with <code>apl-form = 'enable'</code> to prioritise harmonising APL glyphs. ||[[File:Iosevka Anonymous Pro.png|none]] | ||
|- | |- | ||
| [https://typeof.net/Iosevka/ Iosevka | | [https://typeof.net/Iosevka/ Iosevka] Fira Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss05-10.1.1.zip GitHub] || [[File:Iosevka Fira Mono.png|none]] | ||
[[File:Iosevka | |||
|- | |- | ||
| [https://typeof.net/Iosevka/ Iosevka Pragmata Pro | | [https://typeof.net/Iosevka/ Iosevka] Pragmata Pro Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss08-10.1.1.zip GitHub] || [[File:Iosevka Pragmata Pro.png|none]] | ||
[[File:Iosevka Pragmata Pro.png|none]] | |||
|- | |- | ||
| [https://typeof.net/Iosevka/ Iosevka Source Code Pro | | [https://typeof.net/Iosevka/ Iosevka] Source Code Pro Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss09-10.1.1.zip GitHub] || [[File:Iosevka Source Code Pro.png|none]] | ||
[[File:Iosevka Source Code Pro.png|none]] | |||
|- | |- | ||
| [https:// | | [https://typeof.net/Iosevka/ Iosevka] JetBrains Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss14-10.1.1.zip GitHub] || [[File:Iosevka JetBrains Mono.png|none]] | ||
|- | |- | ||
| [https://www.fsd.it/shop/fonts/pragmatapro/ PragmataPro] || (commercial) || A condensed font optimized for coding, | | [https://typeof.net/Iosevka/ Iosevka] IBM Plex Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss15-10.1.1.zip GitHub] || [[File:Iosevka IBM Plex Mono.png|none]] | ||
|- | |||
| [https://typeof.net/Iosevka/ Iosevka] Recursive Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v10.1.1/ttf-iosevka-fixed-ss17-10.1.1.zip GitHub] || [[File:Iosevka Recursive Mono.png|none]] | |||
|- | |||
| [https://codeberg.org/Wezl/fonts poultreMono] || [https://codeberg.org/attachments/042040b4-ca97-4ffe-8401-540d4921e534 Codeberg] || A 5×9 pixel font. || [[File:PoultreMono.png|none]] | |||
|- | |||
| [https://www.fsd.it/shop/fonts/pragmatapro/ PragmataPro] || (commercial) || A condensed font optimized for coding, mathematics and engineering.|| | |||
[[File:PragmataPro.png|none]] | [[File:PragmataPro.png|none]] | ||
|- | |- | ||
Line 65: | Line 69: | ||
[[File:SImPL.png|none]] | [[File:SImPL.png|none]] | ||
|- | |- | ||
|[https://www.stixfonts.org/ Stix Two Math]||[https://github.com/stipub/stixfonts/archive/v2.0.2.zip GitHub]|| | |[https://unifoundry.com/unifont/index.html Unifont] || [https://unifoundry.com/pub/unifont/unifont-13.0.06/font-builds/unifont-13.0.06.ttf Unifoundry] || Low-resolution bitmap fall-back font || [[File:Unifont.png|none]] | ||
|} | |||
== Proportional == | |||
{|class=wikitable | |||
!Name<br>(website) !! Source<br>(download) !! Description !! Sample | |||
|- | |||
|[http://apl385.com/fonts/index.htm APL333]|| [http://apl385.com/fonts/apl333.zip Adrian Smith] || Proportionally spaced version of APL385 Unicode|| | |||
[[File:APL333.png|none]] | |||
|- | |||
| [https://en.wikipedia.org/wiki/Code2000 Code2000] || [https://www.fontspace.com/code2000-font-f13284 FontSpace] || Wedge-serif pan-Unicode font. || | |||
[[File:Code2000.png|none]] | |||
|- | |||
| [https://typeof.net/Iosevka/ Iosevka Aile] || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-aile-5.0.4.zip GitHub]|| Proportionally spaced version of Iosevka. || | |||
[[File:Iosevka Aile.png|none]] | |||
|- | |||
| [https://typeof.net/Iosevka/ Iosevka Etoile] || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-fixed-ss02-5.0.4.zip GitHub]|| Proportionally spaced slab-serif version of Iosevka. || | |||
[[File:Iosevka Etoile.png|none]] | |||
|- | |||
| [http://www.quivira-font.com/ Quivira] || [http://www.quivira-font.com/files/Quivira.otf Website] || Serif font supporting many symbols, similar to Garamond. || | |||
[[File:Quivira.png|none]] | |||
|- | |||
| [https://www.fonts.com/font/microsoft-corporation/segoe-ui-symbol Segoe UI Symbol] || (commercial) || Microsoft's humanist interface and corporate font. || [[File:Segoe UI Symbol.png|none]] | |||
|- | |||
|[https://www.stixfonts.org/ Stix Two Math]||[https://github.com/stipub/stixfonts/archive/v2.0.2.zip GitHub]|| Serif font, broadly compatible with Times New Roman.|| | |||
[[File:Stix Two Math.png|none]] | [[File:Stix Two Math.png|none]] | ||
|- | |||
|[https://dn-works.com/ufas/ Symbola] || [https://dn-works.com/wp-content/uploads/2020/UFAS-Fonts/Symbola.zip UFAS] (free for personal non-commercial use only) || Supporting many scripts and symbols, similar to Computer Modern. || [[File:Screenshot 2021-03-19 Screenshot.png|none]] | |||
|} | |} | ||
[[File:APLTypeBall.jpg|thumb|right|The APL typeball]] | [[File:APLTypeBall.jpg|thumb|right|The APL typeball]] | ||
== Historical anecdote == | == Historical anecdote == | ||
Using [[IBM]]'s [[APL\360]] required the use of the [[wikipedia:IBM_2741#APL\360|IBM 2741]] or [[wikipedia:IBM 1050|IBM 1050]] printing terminal with an APL [[wikipedia:type ball|type ball]]. The APL2741 font is based directly on this type ball. | Using [[IBM]]'s [[APL\360]] required the use of the [[wikipedia:IBM_2741#APL\360|IBM 2741]] or [[wikipedia:IBM 1050|IBM 1050]] printing terminal with an APL [[wikipedia:type ball|type ball]]. The APL2741 font is based directly on this type ball. | ||
== Changing font in Dyalog RIDE == | |||
[[Dyalog Ltd]]'s cross-platform RIDE interface, which is the default GUI interface on all non-Windows platforms, does not expose a font setting. However, it is trivial to change font: | |||
* Open ride-base.css[[#loc|*]] | |||
* Find the line that says <source lang=css inline>src: url('./fonts/Apl385.woff') format('woff'), url('./fonts/Apl385.ttf') format('truetype');</source> | |||
* Insert <source lang=css inline>local('font name'),</source> immediately after <source lang=css inline>src:</source>, for example <source lang=css inline>src: local('SAX2'), url('./fonts/Apl385.woff') format('woff'), url('./fonts/Apl385.ttf') format('truetype');</source> | |||
* Restart RIDE | |||
<span id=loc>[[#Changing font in Dyalog RIDE|*]]</span> The full path to ride-base.css varies (examples for RIDE 4.4 and Dyalog 18.2): | |||
:* Stand-alone installation: | |||
:** Windows: %LOCALAPPDATA%\Programs\Dyalog\Ride-4.4\resources\app\style\ride-base.css | |||
:** Linux: /opt/ride-4.4/resources/app/style/ride-base.css | |||
:** macOS: /Applications/Ride-4.4.app/resources/app/style/ride-base.css | |||
:* Zero-footprint RIDE (served by the interpreter and normally accessed through a browser): | |||
:** Linux or AIX: /opt/mdyalog/18.2/64/unicode/Contents/Resources/Dyalog/RIDEapp/resources/app/style/ride-base.css | |||
:** macOS: /Applications/Dyalog-18.2.app/Contents/Resources/Dyalog/RIDEapp/resources/app/style/ride-base.css | |||
== References == | == References == | ||
<references/> | <references/> | ||
{{APL development}}[[Category:APL character set]] | {{APL development}}[[Category:APL character set]][[Category:Lists]] |
Revision as of 15:27, 25 April 2022
With the prevalence of Unicode, many systems render APL legibly out-of-the-box. However, for a uniform appearance, the font should be designed with APL in mind.[1] This article lists some fonts that are suited for APL.
Monospace
Name (website) |
Source (download) |
Description | Sample |
---|---|---|---|
APL2 Unicode | IBM | Straight from IBM typewriter terminals with oblique letters. | |
APL385 Unicode | Adrian Smith | Inspired by Comic Sans Serif. | |
APL386 Unicode | GitHub | APL385 Unicode with fewer issues and more accented characters. | |
BQN386 Unicode | GitHub | Re-hinted APL386 Unicode with harmonised glyphs and support for BQN. | |
APLX Upright | MicroAPL | A monospaced grotesque font, reminiscent of Akzidenz-Grotesk. | |
Courier APL2 Unicode | IBM | The classic Courier typewriter font, extended with APL symbols. | |
DejaVu BQN Sans Mono | GitHub | DejaVu Sans Mono with support for BQN. | |
DejaVu Sans Mono | GitHub | Wide range of characters with original look and feel of Vera. | |
DejaVu Sans Mono Bront | GitHub | DejaVu Sans Mono tweaked to be better geared for programming. | |
DejaVu Sans Mono Nerd | AUR | DejaVu Sans Mono patched with a high number of extra glyphs. | |
Everson Mono | Evertype (shareware) | A simple font, quite legible at sizes as small as 4 points. | |
Fairfax | KreativeKorp | Regular/Bold/Italic 6×12 bitmap font supporting many characters. | |
Fairfax Serif | Serif 6×12 bitmap font supporting many characters. | ||
Fairfax HD | KreativeKorp | Plotter-like font supporting many characters. | |
IBM 3270 | GitHub | Modern version of a classic IBM terminal font. | |
Iosevka Anonymous Pro Style | GitHub | A slender, highly customisable monospace sans-serif and slab-serif typeface inspired by Pragmata Pro, M+ and PF DIN Mono. This list includes seven ready-made versions, but it is easy to build one's own version too. When compiling, it is possible to configure character variants with apl-form = 'enable' to prioritise harmonising APL glyphs. |
|
Iosevka Fira Mono Style | GitHub | ||
Iosevka Pragmata Pro Style | GitHub | ||
Iosevka Source Code Pro Style | GitHub | ||
Iosevka JetBrains Mono Style | GitHub | ||
Iosevka IBM Plex Mono Style | GitHub | ||
Iosevka Recursive Mono Style | GitHub | ||
poultreMono | Codeberg | A 5×9 pixel font. | |
PragmataPro | (commercial) | A condensed font optimized for coding, mathematics and engineering. | |
SAX2 | GitHub | Curly font with italic letters, based on Sharp APL for Unix. | |
SImPL | Vector | Courier-based, but thicker. | |
Unifont | Unifoundry | Low-resolution bitmap fall-back font |
Proportional
Name (website) |
Source (download) |
Description | Sample |
---|---|---|---|
APL333 | Adrian Smith | Proportionally spaced version of APL385 Unicode | |
Code2000 | FontSpace | Wedge-serif pan-Unicode font. | |
Iosevka Aile | GitHub | Proportionally spaced version of Iosevka. | |
Iosevka Etoile | GitHub | Proportionally spaced slab-serif version of Iosevka. | |
Quivira | Website | Serif font supporting many symbols, similar to Garamond. | |
Segoe UI Symbol | (commercial) | Microsoft's humanist interface and corporate font. | |
Stix Two Math | GitHub | Serif font, broadly compatible with Times New Roman. | |
Symbola | UFAS (free for personal non-commercial use only) | Supporting many scripts and symbols, similar to Computer Modern. |
Historical anecdote
Using IBM's APL\360 required the use of the IBM 2741 or IBM 1050 printing terminal with an APL type ball. The APL2741 font is based directly on this type ball.
Changing font in Dyalog RIDE
Dyalog Ltd's cross-platform RIDE interface, which is the default GUI interface on all non-Windows platforms, does not expose a font setting. However, it is trivial to change font:
- Open ride-base.css*
- Find the line that says
src: url('./fonts/Apl385.woff') format('woff'), url('./fonts/Apl385.ttf') format('truetype');
- Insert
local('font name'),
immediately aftersrc:
, for examplesrc: local('SAX2'), url('./fonts/Apl385.woff') format('woff'), url('./fonts/Apl385.ttf') format('truetype');
- Restart RIDE
* The full path to ride-base.css varies (examples for RIDE 4.4 and Dyalog 18.2):
- Stand-alone installation:
- Windows: %LOCALAPPDATA%\Programs\Dyalog\Ride-4.4\resources\app\style\ride-base.css
- Linux: /opt/ride-4.4/resources/app/style/ride-base.css
- macOS: /Applications/Ride-4.4.app/resources/app/style/ride-base.css
- Zero-footprint RIDE (served by the interpreter and normally accessed through a browser):
- Linux or AIX: /opt/mdyalog/18.2/64/unicode/Contents/Resources/Dyalog/RIDEapp/resources/app/style/ride-base.css
- macOS: /Applications/Dyalog-18.2.app/Contents/Resources/Dyalog/RIDEapp/resources/app/style/ride-base.css
- Stand-alone installation:
References
- ↑ Phil Chastney: APL fonts are different
APL development [edit] | |
---|---|
Interface | Session ∙ Typing glyphs (on Linux) ∙ Fonts ∙ Text editors |
Publications | Introductions ∙ Learning resources ∙ Simple examples ∙ Advanced examples ∙ Mnemonics ∙ ISO 8485:1989 ∙ ISO/IEC 13751:2001 ∙ A Dictionary of APL ∙ Case studies ∙ Documentation suites ∙ Books ∙ Papers ∙ Videos ∙ APL Quote Quad ∙ Vector journal ∙ Terminology (Chinese, German) ∙ Neural networks ∙ Error trapping with Dyalog APL (in forms) |
Sharing code | Backwards compatibility ∙ APLcart ∙ APLTree ∙ APL-Cation ∙ Dfns workspace ∙ Tatin ∙ Cider |
Implementation | Resources ∙ Open-source ∙ Magic function ∙ Performance ∙ APL hardware |
Developers | Timeline of corporations ∙ APL2000 ∙ Dyalog ∙ IBM ∙ IPSA ∙ STSC |