Fonts: Difference between revisions

Jump to navigation Jump to search
1,183 bytes added ,  12:52, 20 January 2023
(3 intermediate revisions by 2 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: ''[https://web.archive.org/web/20161005120746/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 suited for APL, and how to use them.
</ref> This article lists some fonts that are suited for APL, and shows how to use them.
== Monospace ==
== Monospace ==
{|class=wikitable
{|class=wikitable
Line 63: Line 63:
|-
|-
| [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://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://www.jetbrains.com/mono/ JetBrains Mono] || [https://download.jetbrains.com/fonts/JetBrainsMono-2.304.zip JetBrains] || Geometric font optimized for reading vertically. || [[File:JetBrains_Mono.png]]
|-
|-
| [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://codeberg.org/Wezl/fonts poultreMono] || [https://codeberg.org/attachments/042040b4-ca97-4ffe-8401-540d4921e534 Codeberg] || A 5×9 pixel font. || [[File:PoultreMono.png|none]]
Line 115: Line 117:
# The APL code has to be formatted with an appropriate APL font
# The APL code has to be formatted with an appropriate APL font
# The APL font has to be made available for those users that do not have it installed
# The APL font has to be made available for those users that do not have it installed
All these things can be achieved by inserting the following into the <syntaxhighlight lang=html inline><head></syntaxhighlight> element of the page (replace font name and file name with desired font):
All these things can be achieved by inserting the following into the <syntaxhighlight lang=html inline><head></syntaxhighlight> element of the page.
Replace font name and file name with values corresponding to the desired font:
<syntaxhighlight lang=html>
<syntaxhighlight lang=html>
<meta charset="UTF-8">
<meta charset="UTF-8">
<style>
<style>
   @font-face{
   @font-face {
     font-family: APL; src: local("APL385 Unicode"), url(Apl385.ttf)
     font-family: APL;  
    src: local("APL385 Unicode"), url(Apl385.ttf)
   }
   }
   pre, code {
   pre, code {
Line 127: Line 131:
</style>
</style>
</syntaxhighlight>
</syntaxhighlight>
The <syntaxhighlight lang=shell inline>Apl385.ttf</syntaxhighlight> file must then be placed in the same directory as the HTML file, and all APL code must be wrapped in <syntaxhighlight lang=html inline><pre></syntaxhighlight> or <syntaxhighlight lang=html inline><code></syntaxhighlight> elements.
The <syntaxhighlight lang=shell inline>Apl385.ttf</syntaxhighlight> font file must be placed in the same directory as the HTML file, and all APL code must be wrapped in <syntaxhighlight lang=html inline><pre></syntaxhighlight> or <syntaxhighlight lang=html inline><code></syntaxhighlight> elements.
== Bad rendering ==
The [[wikipedia:Blink browser engine]] instructs the [[wikipedia:HarfBuzz]] text shaping engine to prefer fidelity in typeface over fidelity in glyph shape. As a consequence, text using a font that lacks the <syntaxhighlight lang=apl inline>≢</syntaxhighlight> glyph ([[Tally]], [[Not Match]]) often ends up looking like <syntaxhighlight lang=apl inline>≡/</syntaxhighlight> (Match reduction), causing great confusion. The issue affects diverse things like Android WebView, Chromium Embedded Framework, all [[wikipedia:Electron (softwareframework)|Electron]] apps, [[wikipedia:Qt software)|Qt software)]], as well as many popular web browsers, like Amazon Silk, Google Chrome, Microsoft Edge, Brave, Opera, Vivaldi, and the Yandex Browser.
 
In browsers, it is possible to mitigate the problem by overriding the used font, for example using a user style manager, or by setting the browser to override fonts.


== Changing font in Dyalog RIDE ==
== Changing font in Dyalog RIDE ==

Navigation menu