Overstrike: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
No edit summary
m (Text replacement - "</source>" to "</syntaxhighlight>")
Tags: Mobile edit Mobile web edit
Line 1: Line 1:
[[File:APL-keybd2.svg|thumb]]An '''overstrike''' refers to the practice of [[typing glyphs]] on top of each other to form a more complex [[glyph]]. This was the normal way of typing many APL characters in the early typewriter terminal days of APL. Only a single shift state was available (which would switch from numbers and uppercase letters to APL glyphs), so for example <source lang=apl inline>⍟</source> which is today typed using <kbd>APL</kbd>+<kbd>Shift</kbd>+<kbd>8</kbd> would instead be typed using <kbd>APL</kbd>+<kbd>O</kbd> for <source lang=apl inline>○</source> followed by <kbd>⟵ Backspace</kbd> and then  <kbd>APL</kbd>+<kbd>P</kbd> for <source lang=apl inline>*</source>.
[[File:APL-keybd2.svg|thumb]]An '''overstrike''' refers to the practice of [[typing glyphs]] on top of each other to form a more complex [[glyph]]. This was the normal way of typing many APL characters in the early typewriter terminal days of APL. Only a single shift state was available (which would switch from numbers and uppercase letters to APL glyphs), so for example <source lang=apl inline>⍟</syntaxhighlight> which is today typed using <kbd>APL</kbd>+<kbd>Shift</kbd>+<kbd>8</kbd> would instead be typed using <kbd>APL</kbd>+<kbd>O</kbd> for <source lang=apl inline>○</syntaxhighlight> followed by <kbd>⟵ Backspace</kbd> and then  <kbd>APL</kbd>+<kbd>P</kbd> for <source lang=apl inline>*</syntaxhighlight>.


== Support ==
== Support ==
Support for various overstrikes vary.
Support for various overstrikes vary.
=== APL\360 ===
=== APL\360 ===
[[APL\360]] supported many overstrikes, and these were the only way to type composite glyphs. Since typewriters couldn't remove typed characters, editing could be cumbersome, and so some innovative overstrikes were allowed for the odd case where one was correcting a typographical error. For example, <source lang=apl inline>F</source> and <source lang=apl inline>L</source> would form <source lang=apl inline>E</source>.
[[APL\360]] supported many overstrikes, and these were the only way to type composite glyphs. Since typewriters couldn't remove typed characters, editing could be cumbersome, and so some innovative overstrikes were allowed for the odd case where one was correcting a typographical error. For example, <source lang=apl inline>F</syntaxhighlight> and <source lang=apl inline>L</syntaxhighlight> would form <source lang=apl inline>E</syntaxhighlight>.
=== Dyalog APL ===
=== Dyalog APL ===
<div class="toccolours mw-collapsible mw-collapsed" style="background:none">[[Dyalog APL]] supports the following overstrikes in any order of input:<div class="mw-collapsible-content">
<div class="toccolours mw-collapsible mw-collapsed" style="background:none">[[Dyalog APL]] supports the following overstrikes in any order of input:<div class="mw-collapsible-content">
Line 10: Line 10:
! First !! Second !! Result
! First !! Second !! Result
|-
|-
|<source lang=apl inline>'</source>||<source lang=apl inline>.</source>||<source lang=apl inline>!</source>
|<source lang=apl inline>'</syntaxhighlight>||<source lang=apl inline>.</syntaxhighlight>||<source lang=apl inline>!</syntaxhighlight>
|-
|-
|<source lang=apl inline>'</source>||<source lang=apl inline>⎕</source>||<source lang=apl inline>⍞</source>
|<source lang=apl inline>'</syntaxhighlight>||<source lang=apl inline>⎕</syntaxhighlight>||<source lang=apl inline>⍞</syntaxhighlight>
|-
|-
|<source lang=apl inline>(</source>||<source lang=apl inline>-</source>||<source lang=apl inline>⊢</source>
|<source lang=apl inline>(</syntaxhighlight>||<source lang=apl inline>-</syntaxhighlight>||<source lang=apl inline>⊢</syntaxhighlight>
|-
|-
|<source lang=apl inline>)</source>||<source lang=apl inline>-</source>||<source lang=apl inline>⊣</source>
|<source lang=apl inline>)</syntaxhighlight>||<source lang=apl inline>-</syntaxhighlight>||<source lang=apl inline>⊣</syntaxhighlight>
|-
|-
|<source lang=apl inline>*</source>||<source lang=apl inline>¨</source>||<source lang=apl inline>⍣</source>
|<source lang=apl inline>*</syntaxhighlight>||<source lang=apl inline>¨</syntaxhighlight>||<source lang=apl inline>⍣</syntaxhighlight>
|-
|-
|<source lang=apl inline>*</source>||<source lang=apl inline>○</source>||<source lang=apl inline>⍟</source>
|<source lang=apl inline>*</syntaxhighlight>||<source lang=apl inline>○</syntaxhighlight>||<source lang=apl inline>⍟</syntaxhighlight>
|-
|-
|<source lang=apl inline>,</source>||<source lang=apl inline>-</source>||<source lang=apl inline>⍪</source>
|<source lang=apl inline>,</syntaxhighlight>||<source lang=apl inline>-</syntaxhighlight>||<source lang=apl inline>⍪</syntaxhighlight>
|-
|-
|<source lang=apl inline>-</source>||<source lang=apl inline>/</source>||<source lang=apl inline>⌿</source>
|<source lang=apl inline>-</syntaxhighlight>||<source lang=apl inline>/</syntaxhighlight>||<source lang=apl inline>⌿</syntaxhighlight>
|-
|-
|<source lang=apl inline>-</source>||<source lang=apl inline>E</source>||<source lang=apl inline>€</source>
|<source lang=apl inline>-</syntaxhighlight>||<source lang=apl inline>E</syntaxhighlight>||<source lang=apl inline>€</syntaxhighlight>
|-
|-
|<source lang=apl inline>-</source>||<source lang=apl inline>L</source>||<source lang=apl inline>£</source>
|<source lang=apl inline>-</syntaxhighlight>||<source lang=apl inline>L</syntaxhighlight>||<source lang=apl inline>£</syntaxhighlight>
|-
|-
|<source lang=apl inline>-</source>||<source lang=apl inline>\</source>||<source lang=apl inline>⍀</source>
|<source lang=apl inline>-</syntaxhighlight>||<source lang=apl inline>\</syntaxhighlight>||<source lang=apl inline>⍀</syntaxhighlight>
|-
|-
|<source lang=apl inline>-</source>||<source lang=apl inline>|</source>||<source lang=apl inline>ɫ</source>
|<source lang=apl inline>-</syntaxhighlight>||<source lang=apl inline>|</syntaxhighlight>||<source lang=apl inline>ɫ</syntaxhighlight>
|-
|-
|<source lang=apl inline>-</source>||<source lang=apl inline>○</source>||<source lang=apl inline>⊖</source>
|<source lang=apl inline>-</syntaxhighlight>||<source lang=apl inline>○</syntaxhighlight>||<source lang=apl inline>⊖</syntaxhighlight>
|-
|-
|<source lang=apl inline>0</source>||<source lang=apl inline>~</source>||<source lang=apl inline>⍬</source>
|<source lang=apl inline>0</syntaxhighlight>||<source lang=apl inline>~</syntaxhighlight>||<source lang=apl inline>⍬</syntaxhighlight>
|-
|-
|<source lang=apl inline>:</source>||<source lang=apl inline>⎕</source>||<source lang=apl inline>⍠</source>
|<source lang=apl inline>:</syntaxhighlight>||<source lang=apl inline>⎕</syntaxhighlight>||<source lang=apl inline>⍠</syntaxhighlight>
|-
|-
|<source lang=apl inline><</source>||<source lang=apl inline>></source>||<source lang=apl inline>⋄</source>
|<source lang=apl inline><</syntaxhighlight>||<source lang=apl inline>></syntaxhighlight>||<source lang=apl inline>⋄</syntaxhighlight>
|-
|-
|<source lang=apl inline>=</source>||<source lang=apl inline>_</source>||<source lang=apl inline>≡</source>
|<source lang=apl inline>=</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>≡</syntaxhighlight>
|-
|-
|<source lang=apl inline>=</source>||<source lang=apl inline>⎕</source>||<source lang=apl inline>⌸</source>
|<source lang=apl inline>=</syntaxhighlight>||<source lang=apl inline>⎕</syntaxhighlight>||<source lang=apl inline>⌸</syntaxhighlight>
|-
|-
|<source lang=apl inline>A</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓐ</source>
|<source lang=apl inline>A</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓐ</syntaxhighlight>
|-
|-
|<source lang=apl inline>B</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓑ</source>
|<source lang=apl inline>B</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓑ</syntaxhighlight>
|-
|-
|<source lang=apl inline>C</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓒ</source>
|<source lang=apl inline>C</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓒ</syntaxhighlight>
|-
|-
|<source lang=apl inline>D</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓓ</source>
|<source lang=apl inline>D</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓓ</syntaxhighlight>
|-
|-
|<source lang=apl inline>E</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓔ</source>
|<source lang=apl inline>E</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓔ</syntaxhighlight>
|-
|-
|<source lang=apl inline>F</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓕ</source>
|<source lang=apl inline>F</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓕ</syntaxhighlight>
|-
|-
|<source lang=apl inline>G</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓖ</source>
|<source lang=apl inline>G</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓖ</syntaxhighlight>
|-
|-
|<source lang=apl inline>H</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓗ</source>
|<source lang=apl inline>H</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓗ</syntaxhighlight>
|-
|-
|<source lang=apl inline>I</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓘ</source>
|<source lang=apl inline>I</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓘ</syntaxhighlight>
|-
|-
|<source lang=apl inline>J</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓙ</source>
|<source lang=apl inline>J</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓙ</syntaxhighlight>
|-
|-
|<source lang=apl inline>K</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓚ</source>
|<source lang=apl inline>K</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓚ</syntaxhighlight>
|-
|-
|<source lang=apl inline>L</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓛ</source>
|<source lang=apl inline>L</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓛ</syntaxhighlight>
|-
|-
|<source lang=apl inline>M</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓜ</source>
|<source lang=apl inline>M</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓜ</syntaxhighlight>
|-
|-
|<source lang=apl inline>N</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓝ</source>
|<source lang=apl inline>N</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓝ</syntaxhighlight>
|-
|-
|<source lang=apl inline>O</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓞ</source>
|<source lang=apl inline>O</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓞ</syntaxhighlight>
|-
|-
|<source lang=apl inline>P</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓟ</source>
|<source lang=apl inline>P</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓟ</syntaxhighlight>
|-
|-
|<source lang=apl inline>Q</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓠ</source>
|<source lang=apl inline>Q</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓠ</syntaxhighlight>
|-
|-
|<source lang=apl inline>R</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓡ</source>
|<source lang=apl inline>R</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓡ</syntaxhighlight>
|-
|-
|<source lang=apl inline>S</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓢ</source>
|<source lang=apl inline>S</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓢ</syntaxhighlight>
|-
|-
|<source lang=apl inline>S</source>||<source lang=apl inline>|</source>||<source lang=apl inline>$</source>
|<source lang=apl inline>S</syntaxhighlight>||<source lang=apl inline>|</syntaxhighlight>||<source lang=apl inline>$</syntaxhighlight>
|-
|-
|<source lang=apl inline>T</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓣ</source>
|<source lang=apl inline>T</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓣ</syntaxhighlight>
|-
|-
|<source lang=apl inline>U</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓤ</source>
|<source lang=apl inline>U</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓤ</syntaxhighlight>
|-
|-
|<source lang=apl inline>V</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓥ</source>
|<source lang=apl inline>V</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓥ</syntaxhighlight>
|-
|-
|<source lang=apl inline>W</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓦ</source>
|<source lang=apl inline>W</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓦ</syntaxhighlight>
|-
|-
|<source lang=apl inline>X</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓧ</source>
|<source lang=apl inline>X</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓧ</syntaxhighlight>
|-
|-
|<source lang=apl inline>Y</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓨ</source>
|<source lang=apl inline>Y</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓨ</syntaxhighlight>
|-
|-
|<source lang=apl inline>Z</source>||<source lang=apl inline>_</source>||<source lang=apl inline>Ⓩ</source>
|<source lang=apl inline>Z</syntaxhighlight>||<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>Ⓩ</syntaxhighlight>
|-
|-
|<source lang=apl inline>[</source>||<source lang=apl inline>]</source>||<source lang=apl inline>⌷</source>
|<source lang=apl inline>[</syntaxhighlight>||<source lang=apl inline>]</syntaxhighlight>||<source lang=apl inline>⌷</syntaxhighlight>
|-
|-
|<source lang=apl inline>[</source>||<source lang=apl inline>∘</source>||<source lang=apl inline>{</source>
|<source lang=apl inline>[</syntaxhighlight>||<source lang=apl inline>∘</syntaxhighlight>||<source lang=apl inline>{</syntaxhighlight>
|-
|-
|<source lang=apl inline>\</source>||<source lang=apl inline>○</source>||<source lang=apl inline>⍉</source>
|<source lang=apl inline>\</syntaxhighlight>||<source lang=apl inline>○</syntaxhighlight>||<source lang=apl inline>⍉</syntaxhighlight>
|-
|-
|<source lang=apl inline>]</source>||<source lang=apl inline>∘</source>||<source lang=apl inline>}</source>
|<source lang=apl inline>]</syntaxhighlight>||<source lang=apl inline>∘</syntaxhighlight>||<source lang=apl inline>}</syntaxhighlight>
|-
|-
|<source lang=apl inline>_</source>||<source lang=apl inline>∆</source>||<source lang=apl inline>⍙</source>
|<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>∆</syntaxhighlight>||<source lang=apl inline>⍙</syntaxhighlight>
|-
|-
|<source lang=apl inline>_</source>||<source lang=apl inline>∊</source>||<source lang=apl inline>⍷</source>
|<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>∊</syntaxhighlight>||<source lang=apl inline>⍷</syntaxhighlight>
|-
|-
|<source lang=apl inline>_</source>||<source lang=apl inline>≠</source>||<source lang=apl inline>≢</source>
|<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>≠</syntaxhighlight>||<source lang=apl inline>≢</syntaxhighlight>
|-
|-
|<source lang=apl inline>_</source>||<source lang=apl inline>⊂</source>||<source lang=apl inline>⊆</source>
|<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>⊂</syntaxhighlight>||<source lang=apl inline>⊆</syntaxhighlight>
|-
|-
|<source lang=apl inline>_</source>||<source lang=apl inline>⍳</source>||<source lang=apl inline>⍸</source>
|<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>⍳</syntaxhighlight>||<source lang=apl inline>⍸</syntaxhighlight>
|-
|-
|<source lang=apl inline>_</source>||<source lang=apl inline>⍵</source>||<source lang=apl inline>⍹</source>
|<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>⍵</syntaxhighlight>||<source lang=apl inline>⍹</syntaxhighlight>
|-
|-
|<source lang=apl inline>_</source>||<source lang=apl inline>⍺</source>||<source lang=apl inline>⍶</source>
|<source lang=apl inline>_</syntaxhighlight>||<source lang=apl inline>⍺</syntaxhighlight>||<source lang=apl inline>⍶</syntaxhighlight>
|-
|-
|<source lang=apl inline>|</source>||<source lang=apl inline>∆</source>||<source lang=apl inline>⍋</source>
|<source lang=apl inline>|</syntaxhighlight>||<source lang=apl inline>∆</syntaxhighlight>||<source lang=apl inline>⍋</syntaxhighlight>
|-
|-
|<source lang=apl inline>|</source>||<source lang=apl inline>∇</source>||<source lang=apl inline>⍒</source>
|<source lang=apl inline>|</syntaxhighlight>||<source lang=apl inline>∇</syntaxhighlight>||<source lang=apl inline>⍒</syntaxhighlight>
|-
|-
|<source lang=apl inline>|</source>||<source lang=apl inline>⊂</source>||<source lang=apl inline>¢</source>
|<source lang=apl inline>|</syntaxhighlight>||<source lang=apl inline>⊂</syntaxhighlight>||<source lang=apl inline>¢</syntaxhighlight>
|-
|-
|<source lang=apl inline>|</source>||<source lang=apl inline>○</source>||<source lang=apl inline>⌽</source>
|<source lang=apl inline>|</syntaxhighlight>||<source lang=apl inline>○</syntaxhighlight>||<source lang=apl inline>⌽</syntaxhighlight>
|-
|-
|<source lang=apl inline>~</source>||<source lang=apl inline>¨</source>||<source lang=apl inline>⍨</source>
|<source lang=apl inline>~</syntaxhighlight>||<source lang=apl inline>¨</syntaxhighlight>||<source lang=apl inline>⍨</syntaxhighlight>
|-
|-
|<source lang=apl inline>~</source>||<source lang=apl inline>∇</source>||<source lang=apl inline>⍫</source>
|<source lang=apl inline>~</syntaxhighlight>||<source lang=apl inline>∇</syntaxhighlight>||<source lang=apl inline>⍫</syntaxhighlight>
|-
|-
|<source lang=apl inline>~</source>||<source lang=apl inline>∧</source>||<source lang=apl inline>⍲</source>
|<source lang=apl inline>~</syntaxhighlight>||<source lang=apl inline>∧</syntaxhighlight>||<source lang=apl inline>⍲</syntaxhighlight>
|-
|-
|<source lang=apl inline>~</source>||<source lang=apl inline>∨</source>||<source lang=apl inline>⍱</source>
|<source lang=apl inline>~</syntaxhighlight>||<source lang=apl inline>∨</syntaxhighlight>||<source lang=apl inline>⍱</syntaxhighlight>
|-
|-
|<source lang=apl inline>¨</source>||<source lang=apl inline>∇</source>||<source lang=apl inline>⍢</source>
|<source lang=apl inline>¨</syntaxhighlight>||<source lang=apl inline>∇</syntaxhighlight>||<source lang=apl inline>⍢</syntaxhighlight>
|-
|-
|<source lang=apl inline>¨</source>||<source lang=apl inline>∘</source>||<source lang=apl inline>⍤</source>
|<source lang=apl inline>¨</syntaxhighlight>||<source lang=apl inline>∘</syntaxhighlight>||<source lang=apl inline>⍤</syntaxhighlight>
|-
|-
|<source lang=apl inline>¨</source>||<source lang=apl inline>○</source>||<source lang=apl inline>⍥</source>
|<source lang=apl inline>¨</syntaxhighlight>||<source lang=apl inline>○</syntaxhighlight>||<source lang=apl inline>⍥</syntaxhighlight>
|-
|-
|<source lang=apl inline>÷</source>||<source lang=apl inline>⎕</source>||<source lang=apl inline>⌹</source>
|<source lang=apl inline>÷</syntaxhighlight>||<source lang=apl inline>⎕</syntaxhighlight>||<source lang=apl inline>⌹</syntaxhighlight>
|-
|-
|<source lang=apl inline>∘</source>||<source lang=apl inline>∩</source>||<source lang=apl inline>⍝</source>
|<source lang=apl inline>∘</syntaxhighlight>||<source lang=apl inline>∩</syntaxhighlight>||<source lang=apl inline>⍝</syntaxhighlight>
|-
|-
|<source lang=apl inline>∘</source>||<source lang=apl inline>⊤</source>||<source lang=apl inline>⍕</source>
|<source lang=apl inline>∘</syntaxhighlight>||<source lang=apl inline>⊤</syntaxhighlight>||<source lang=apl inline>⍕</syntaxhighlight>
|-
|-
|<source lang=apl inline>∘</source>||<source lang=apl inline>⊥</source>||<source lang=apl inline>⍎</source>
|<source lang=apl inline>∘</syntaxhighlight>||<source lang=apl inline>⊥</syntaxhighlight>||<source lang=apl inline>⍎</syntaxhighlight>
|-
|-
|<source lang=apl inline>∧</source>||<source lang=apl inline>∨</source>||<source lang=apl inline>⋄</source>
|<source lang=apl inline>∧</syntaxhighlight>||<source lang=apl inline>∨</syntaxhighlight>||<source lang=apl inline>⋄</syntaxhighlight>
|-
|-
|<source lang=apl inline>⊤</source>||<source lang=apl inline>⊥</source>||<source lang=apl inline>⌶</source>
|<source lang=apl inline>⊤</syntaxhighlight>||<source lang=apl inline>⊥</syntaxhighlight>||<source lang=apl inline>⌶</syntaxhighlight>
|-
|-
|<source lang=apl inline>⋄</source>||<source lang=apl inline>⎕</source>||<source lang=apl inline>⌺</source>
|<source lang=apl inline>⋄</syntaxhighlight>||<source lang=apl inline>⎕</syntaxhighlight>||<source lang=apl inline>⌺</syntaxhighlight>
|-
|-
|}
|}

Revision as of 21:03, 10 September 2022

APL-keybd2.svg

An overstrike refers to the practice of typing glyphs on top of each other to form a more complex glyph. This was the normal way of typing many APL characters in the early typewriter terminal days of APL. Only a single shift state was available (which would switch from numbers and uppercase letters to APL glyphs), so for example <source lang=apl inline>⍟</syntaxhighlight> which is today typed using APL+Shift+8 would instead be typed using APL+O for <source lang=apl inline>○</syntaxhighlight> followed by ⟵ Backspace and then APL+P for <source lang=apl inline>*</syntaxhighlight>.

Support

Support for various overstrikes vary.

APL\360

APL\360 supported many overstrikes, and these were the only way to type composite glyphs. Since typewriters couldn't remove typed characters, editing could be cumbersome, and so some innovative overstrikes were allowed for the odd case where one was correcting a typographical error. For example, <source lang=apl inline>F</syntaxhighlight> and <source lang=apl inline>L</syntaxhighlight> would form <source lang=apl inline>E</syntaxhighlight>.

Dyalog APL

Dyalog APL supports the following overstrikes in any order of input:
First Second Result
<source lang=apl inline>'</syntaxhighlight> <source lang=apl inline>.</syntaxhighlight> <source lang=apl inline>!</syntaxhighlight>
<source lang=apl inline>'</syntaxhighlight> <source lang=apl inline>⎕</syntaxhighlight> <source lang=apl inline>⍞</syntaxhighlight>
<source lang=apl inline>(</syntaxhighlight> <source lang=apl inline>-</syntaxhighlight> <source lang=apl inline>⊢</syntaxhighlight>
<source lang=apl inline>)</syntaxhighlight> <source lang=apl inline>-</syntaxhighlight> <source lang=apl inline>⊣</syntaxhighlight>
<source lang=apl inline>*</syntaxhighlight> <source lang=apl inline>¨</syntaxhighlight> <source lang=apl inline>⍣</syntaxhighlight>
<source lang=apl inline>*</syntaxhighlight> <source lang=apl inline>○</syntaxhighlight> <source lang=apl inline>⍟</syntaxhighlight>
<source lang=apl inline>,</syntaxhighlight> <source lang=apl inline>-</syntaxhighlight> <source lang=apl inline>⍪</syntaxhighlight>
<source lang=apl inline>-</syntaxhighlight> <source lang=apl inline>/</syntaxhighlight> <source lang=apl inline>⌿</syntaxhighlight>
<source lang=apl inline>-</syntaxhighlight> <source lang=apl inline>E</syntaxhighlight> <source lang=apl inline>€</syntaxhighlight>
<source lang=apl inline>-</syntaxhighlight> <source lang=apl inline>L</syntaxhighlight> <source lang=apl inline>£</syntaxhighlight>
<source lang=apl inline>-</syntaxhighlight> <source lang=apl inline>\</syntaxhighlight> <source lang=apl inline>⍀</syntaxhighlight>
<source lang=apl inline>-</syntaxhighlight> </syntaxhighlight> <source lang=apl inline>ɫ</syntaxhighlight>
<source lang=apl inline>-</syntaxhighlight> <source lang=apl inline>○</syntaxhighlight> <source lang=apl inline>⊖</syntaxhighlight>
<source lang=apl inline>0</syntaxhighlight> <source lang=apl inline>~</syntaxhighlight> <source lang=apl inline>⍬</syntaxhighlight>
<source lang=apl inline>:</syntaxhighlight> <source lang=apl inline>⎕</syntaxhighlight> <source lang=apl inline>⍠</syntaxhighlight>
<source lang=apl inline><</syntaxhighlight> <source lang=apl inline>></syntaxhighlight> <source lang=apl inline>⋄</syntaxhighlight>
<source lang=apl inline>=</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>≡</syntaxhighlight>
<source lang=apl inline>=</syntaxhighlight> <source lang=apl inline>⎕</syntaxhighlight> <source lang=apl inline>⌸</syntaxhighlight>
<source lang=apl inline>A</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓐ</syntaxhighlight>
<source lang=apl inline>B</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓑ</syntaxhighlight>
<source lang=apl inline>C</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓒ</syntaxhighlight>
<source lang=apl inline>D</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓓ</syntaxhighlight>
<source lang=apl inline>E</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓔ</syntaxhighlight>
<source lang=apl inline>F</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓕ</syntaxhighlight>
<source lang=apl inline>G</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓖ</syntaxhighlight>
<source lang=apl inline>H</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓗ</syntaxhighlight>
<source lang=apl inline>I</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓘ</syntaxhighlight>
<source lang=apl inline>J</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓙ</syntaxhighlight>
<source lang=apl inline>K</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓚ</syntaxhighlight>
<source lang=apl inline>L</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓛ</syntaxhighlight>
<source lang=apl inline>M</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓜ</syntaxhighlight>
<source lang=apl inline>N</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓝ</syntaxhighlight>
<source lang=apl inline>O</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓞ</syntaxhighlight>
<source lang=apl inline>P</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓟ</syntaxhighlight>
<source lang=apl inline>Q</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓠ</syntaxhighlight>
<source lang=apl inline>R</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓡ</syntaxhighlight>
<source lang=apl inline>S</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓢ</syntaxhighlight>
<source lang=apl inline>S</syntaxhighlight> </syntaxhighlight> <source lang=apl inline>$</syntaxhighlight>
<source lang=apl inline>T</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓣ</syntaxhighlight>
<source lang=apl inline>U</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓤ</syntaxhighlight>
<source lang=apl inline>V</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓥ</syntaxhighlight>
<source lang=apl inline>W</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓦ</syntaxhighlight>
<source lang=apl inline>X</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓧ</syntaxhighlight>
<source lang=apl inline>Y</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓨ</syntaxhighlight>
<source lang=apl inline>Z</syntaxhighlight> <source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>Ⓩ</syntaxhighlight>
<source lang=apl inline>[</syntaxhighlight> <source lang=apl inline>]</syntaxhighlight> <source lang=apl inline>⌷</syntaxhighlight>
<source lang=apl inline>[</syntaxhighlight> <source lang=apl inline>∘</syntaxhighlight> <source lang=apl inline>{</syntaxhighlight>
<source lang=apl inline>\</syntaxhighlight> <source lang=apl inline>○</syntaxhighlight> <source lang=apl inline>⍉</syntaxhighlight>
<source lang=apl inline>]</syntaxhighlight> <source lang=apl inline>∘</syntaxhighlight> <source lang=apl inline>}</syntaxhighlight>
<source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>∆</syntaxhighlight> <source lang=apl inline>⍙</syntaxhighlight>
<source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>∊</syntaxhighlight> <source lang=apl inline>⍷</syntaxhighlight>
<source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>≠</syntaxhighlight> <source lang=apl inline>≢</syntaxhighlight>
<source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>⊂</syntaxhighlight> <source lang=apl inline>⊆</syntaxhighlight>
<source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>⍳</syntaxhighlight> <source lang=apl inline>⍸</syntaxhighlight>
<source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>⍵</syntaxhighlight> <source lang=apl inline>⍹</syntaxhighlight>
<source lang=apl inline>_</syntaxhighlight> <source lang=apl inline>⍺</syntaxhighlight> <source lang=apl inline>⍶</syntaxhighlight>
</syntaxhighlight> <source lang=apl inline>∆</syntaxhighlight> <source lang=apl inline>⍋</syntaxhighlight>
</syntaxhighlight> <source lang=apl inline>∇</syntaxhighlight> <source lang=apl inline>⍒</syntaxhighlight>
</syntaxhighlight> <source lang=apl inline>⊂</syntaxhighlight> <source lang=apl inline>¢</syntaxhighlight>
</syntaxhighlight> <source lang=apl inline>○</syntaxhighlight> <source lang=apl inline>⌽</syntaxhighlight>
<source lang=apl inline>~</syntaxhighlight> <source lang=apl inline>¨</syntaxhighlight> <source lang=apl inline>⍨</syntaxhighlight>
<source lang=apl inline>~</syntaxhighlight> <source lang=apl inline>∇</syntaxhighlight> <source lang=apl inline>⍫</syntaxhighlight>
<source lang=apl inline>~</syntaxhighlight> <source lang=apl inline>∧</syntaxhighlight> <source lang=apl inline>⍲</syntaxhighlight>
<source lang=apl inline>~</syntaxhighlight> <source lang=apl inline>∨</syntaxhighlight> <source lang=apl inline>⍱</syntaxhighlight>
<source lang=apl inline>¨</syntaxhighlight> <source lang=apl inline>∇</syntaxhighlight> <source lang=apl inline>⍢</syntaxhighlight>
<source lang=apl inline>¨</syntaxhighlight> <source lang=apl inline>∘</syntaxhighlight> <source lang=apl inline>⍤</syntaxhighlight>
<source lang=apl inline>¨</syntaxhighlight> <source lang=apl inline>○</syntaxhighlight> <source lang=apl inline>⍥</syntaxhighlight>
<source lang=apl inline>÷</syntaxhighlight> <source lang=apl inline>⎕</syntaxhighlight> <source lang=apl inline>⌹</syntaxhighlight>
<source lang=apl inline>∘</syntaxhighlight> <source lang=apl inline>∩</syntaxhighlight> <source lang=apl inline>⍝</syntaxhighlight>
<source lang=apl inline>∘</syntaxhighlight> <source lang=apl inline>⊤</syntaxhighlight> <source lang=apl inline>⍕</syntaxhighlight>
<source lang=apl inline>∘</syntaxhighlight> <source lang=apl inline>⊥</syntaxhighlight> <source lang=apl inline>⍎</syntaxhighlight>
<source lang=apl inline>∧</syntaxhighlight> <source lang=apl inline>∨</syntaxhighlight> <source lang=apl inline>⋄</syntaxhighlight>
<source lang=apl inline>⊤</syntaxhighlight> <source lang=apl inline>⊥</syntaxhighlight> <source lang=apl inline>⌶</syntaxhighlight>
<source lang=apl inline>⋄</syntaxhighlight> <source lang=apl inline>⎕</syntaxhighlight> <source lang=apl inline>⌺</syntaxhighlight>
APL glyphs [edit]
Information GlyphTyping glyphs (on Linux) ∙ UnicodeFontsMnemonicsOverstrikesMigration level
Individual glyphs Jot () ∙ Right Shoe () ∙ Up Arrow () ∙ Zilde () ∙ High minus (¯) ∙ Dot (.) ∙ Del ()