+- Maybe make the t an ascender in the default font, making it higher by one
+ pixel. Currently, because variants like "wideserif" and "widecurved" also
+ alter "t" and must stick to a common default, new aliases also allow to
+ switch between high and low t forms: "athight" and "atlowt".
+- Maybe enlarge punctuation like () [] {} in the "even" at2 font?
+ Otherwise some characters really protrude downwards, like y...
+ Actually, this would look strange with digits or uppercase characters,
+ unless they are also higher.
+- -I does not appear to behave as expected when in vim, where the cursor
+ appears to reset to "off" by default instead of not resetting at input.
+ Interestingly, this does not happen with the shell prompt.
+ atcurnodisable does not affect the situation. It is possible that it is due
+ to a cursor change command vim issues that also causes its state to be
+ reset. To investigate.
+- Some terminals reset the cursor to off instead of to on at user input.
+ Maybe support this. A "cursor reset type" feature may be better to be able
+ to use the same option to control cursor options.
+ 0 - No reset
+ 1 - Reset at input
+ 2 - Reset at output
+ 3 - Reset at input and output
+ Then reset to on or off... Or, bits, so that a number can represent any of
+ wanted options. Or the equivalent with special letters/chars?
+- Maybe add special escape sequences to control cursor reset features.
- Maybe add non-ASCII characters to the PET20 font, including PETSCII
where/if supported by Unicode.
- Maybe add non-ASCII characters for the videoterm and ultraterm.
--- /dev/null
+# Variant for the A and Y uppercase characters that can be loaded on top of
+# the default AT2 font. It is difficult to get all characters to look optimal
+# at such font sizes and compromises are always necessary.
+# In the original AT2 font, the A is like the Sygnetics/Apple ][ and IBM 3270
+# ones, pointy at top. For it to look properly, its center horizontal bar
+# is misaligned, down by one pixel. This variant aligns the bar and uses a
+# rounded square top, like for the "nosquare" font variant.
+# In the original AT2 font, the Y is also like the Sygnetics and 3270, with
+# a long vertical bar and a shortened top, which actually forks at the proper
+# alignment point but still can look unbalanced. This variant compromises
+# with a shorter vertical bar and a larger top. It still looks imbalanced.
+
+65
+.......
+..OOO..
+.O...O.
+.O...O.
+.OOOOO.
+.O...O.
+.O...O.
+.O...O.
+.......
+.......
+.......
+
+89
+.......
+.O...O.
+.O...O.
+.O...O.
+..O.O..
+...O...
+...O...
+...O...
+.......
+.......
+.......
--- /dev/null
+# More visible common punctuation characters.
+# Can optionally be loaded on top of another font.
+
+33
+.......
+...O...
+..OOO..
+..OOO..
+...O...
+...O...
+.......
+...O...
+.......
+.......
+.......
+
+34
+.......
+.OO.OO.
+.OO.OO.
+..O..O.
+.O..O..
+.......
+.......
+.......
+.......
+.......
+.......
+
+39
+.......
+...OO..
+...OO..
+....O..
+...O...
+.......
+.......
+.......
+.......
+.......
+.......
+
+44
+.......
+.......
+.......
+.......
+.......
+.......
+..OO...
+..OO...
+...O...
+..O....
+.......
+
+46
+.......
+.......
+.......
+.......
+.......
+.......
+..OO...
+..OO...
+.......
+.......
+.......
+
+58
+.......
+.......
+..OO...
+..OO...
+.......
+.......
+..OO...
+..OO...
+.......
+.......
+.......
+
+59
+.......
+.......
+..OO...
+..OO...
+.......
+.......
+..OO...
+..OO...
+...O...
+..O....
+.......
+
+96
+.......
+..OO...
+..OO...
+..O....
+...O...
+.......
+.......
+.......
+.......
+.......
+.......
+
+8220
+.......
+.OO.OO.
+.OO.OO.
+.O..O..
+..O..O.
+.......
+.......
+.......
+.......
+.......
+.......
+
+8221
+.......
+.OO.OO.
+.OO.OO.
+..O..O.
+.O..O..
+.......
+.......
+.......
+.......
+.......
+.......
--- /dev/null
+# Restore an Apple ][/Signetics like dashed-zero.
+# May be loaded on top of other fonts of compatible size.
+
+48
+.......
+..OOO..
+.O...O.
+.O..OO.
+.O.O.O.
+.OO..O.
+.O...O.
+..OOO..
+.......
+.......
+.......
--- /dev/null
+# This "f" has a more natural shape, with a lower bar, that no longer aligns
+# with the horizontal bar of "t" and with the top of lowercase characters,
+# with a less even result.
+
+102
+.......
+...OOO.
+..O....
+..O....
+.OOOO..
+..O....
+..O....
+..O....
+.......
+.......
+.......
--- /dev/null
+# Wide variants that fill more evenly.
+# Also see the "wideserif" variant.
+# For this to be complete, accented variants would also need to be
+# implemented.
+
+49
+.......
+...O...
+..OO...
+.O.O...
+...O...
+...O...
+...O...
+.OOOOO.
+.......
+.......
+.......
+
+73
+.......
+.OOOOO.
+...O...
+...O...
+...O...
+...O...
+...O...
+.OOOOO.
+.......
+.......
+.......
+
+74
+.......
+...OOO.
+.....O.
+.....O.
+.....O.
+.....O.
+.O...O.
+..OOO..
+.......
+.......
+.......
+
+105
+.......
+...O...
+.......
+..OO...
+...O...
+...O...
+...O...
+....OO.
+.......
+.......
+.......
+
+106
+.......
+....O..
+.......
+..OOO..
+....O..
+....O..
+....O..
+....O..
+.O..O..
+..OO...
+.......
+
+108
+.......
+.OOO...
+...O...
+...O...
+...O...
+...O...
+...O...
+....OO.
+.......
+.......
+.......
+
+# More compatible with l and i.
+116
+.......
+.......
+...O...
+.OOOOO.
+...O...
+...O...
+...O...
+....OO.
+.......
+.......
+.......
--- /dev/null
+# Wide variants that fill more evenly.
+# For this to be complete, accented variants would also need to be
+# implemented.
+# Also see the "widecurved" variant.
+
+49
+.......
+...O...
+..OO...
+.O.O...
+...O...
+...O...
+...O...
+.OOOOO.
+.......
+.......
+.......
+
+73
+.......
+.OOOOO.
+...O...
+...O...
+...O...
+...O...
+...O...
+.OOOOO.
+.......
+.......
+.......
+
+74
+.......
+...OOO.
+.....O.
+.....O.
+.....O.
+.....O.
+.O...O.
+..OOO..
+.......
+.......
+.......
+
+105
+.......
+...O...
+.......
+.OOO...
+...O...
+...O...
+...O...
+.OOOOO.
+.......
+.......
+.......
+
+106
+.......
+....O..
+.......
+..OOO..
+....O..
+....O..
+....O..
+....O..
+.O..O..
+..OO...
+.......
+
+# This l is very nice but can easily be confused with a 1.
+#108
+#.......
+#.OOO...
+#...O...
+#...O...
+#...O...
+#...O...
+#...O...
+#.OOOOO.
+#.......
+#.......
+#.......
+#
+# This compromise looks less like an 1 while still being wide.
+108
+.......
+.OOO...
+...O...
+...O...
+...O...
+...O...
+...O...
+....OO.
+.......
+.......
+.......
+
+# Slightly wider at the bottom.
+116
+.......
+.......
+...O...
+.OOOOO.
+...O...
+...O...
+...O...
+...OOO.
+.......
+.......
+.......
!st->cursor_disabled && st->cursor_y == row &&
st->cursor_x == col &&
(! ((draw_cursor_blink_state && sc->focus) &&
- cursor_waitnext == 0))) {
+ cursor_waitnext == 0))) { /* XXX == 0 vs > 0 ?? */
if (cursor_waitnext > 0 &&
state->cursor_blink) {
if (cursor_laststate !=
" [?658467;65543[;<n>]h and [?658467;65544h respectively,\n"
" where the optional <n> specifies the number of vertical\n"
" pixels to jump per frame (1-4).\n"
- " -I - If the cursor is blinking, do not reset its state to \"on\""
- " at user input.\n"
+ " -I - If the cursor is blinking, do not reset its state to\n"
+ " \"on\" at user input.\n"
" -P - If the cursor is blinking, reset its timer for printing.\n"
" By default, it is only reset \"on\" by user input.\n"
" -m - Set default cursor style (0 = block, 1 = line, 2 = bar).\n"
const int32_t *ucptr = uc, *uceptr = &ucptr[1];
uc[0] = (int32_t)c;
+ uc[1] = 0;
if (utf8_encode(&utfptr, utfeptr, &ucptr, uceptr) ==
UTF8_CHARS_ARRAY_EMPTY)
return write(fd, utf, utfptr - utf);
# Font
alias atdashedzero="printf '\033[?658467;65540;48;0;0h\033[?658467;65540;48;1;28h\033[?658467;65540;48;2;34h\033[?658467;65540;48;3;38h\033[?658467;65540;48;4;42h\033[?658467;65540;48;5;50h\033[?658467;65540;48;6;34h\033[?658467;65540;48;7;28h\033[?658467;65540;48;8;0h'"
+alias athight="printf '\033[?658467;65540;116;1;8h'"
+alias atlowt="printf '\033[?658467;65540;116;1;0h'"
alias atfontreset="printf '\033[?658467;65540h'"
alias atfontblank="printf '\033[?658467;65540;0h'"