From 863a969b4e2927818db8030ea1a26c7678c821b8 Mon Sep 17 00:00:00 2001 From: Matthew Mondor Date: Fri, 3 May 2024 04:43:34 +0000 Subject: [PATCH] AnalogTerm2: Add an Osborne 1 font. --- mmsoftware/analogterm2/README.txt | 4 + .../fonts/7x11/at2-even-boldpunctuation.txt | 27 + .../analogterm2/fonts/8x10/osborne1-ansi.txt.gz | Bin 0 -> 3181 bytes mmsoftware/analogterm2/fonts/8x10/osborne1.txt | 1157 ++++++++++++++++++++ mmsoftware/analogterm2/fonts/8x11/videoterm.txt | 24 + mmsoftware/analogterm2/tests/common-latin.txt | 3 + mmsoftware/analogterm2/tests/cp1252-ucs4.c | 56 + 7 files changed, 1271 insertions(+) create mode 100644 mmsoftware/analogterm2/fonts/8x10/osborne1-ansi.txt.gz create mode 100644 mmsoftware/analogterm2/fonts/8x10/osborne1.txt create mode 100644 mmsoftware/analogterm2/tests/common-latin.txt create mode 100644 mmsoftware/analogterm2/tests/cp1252-ucs4.c diff --git a/mmsoftware/analogterm2/README.txt b/mmsoftware/analogterm2/README.txt index 20b9268..a9965d0 100644 --- a/mmsoftware/analogterm2/README.txt +++ b/mmsoftware/analogterm2/README.txt @@ -228,6 +228,10 @@ sourced in interactive shell startup scripts like ~/.shrc or ~/.bashrc using: . /usr/local/share/analogterm2/at2-aliases.sh +Among the many aliases are atreverse/atnoreverse along with +atintreverse, allowing to set and configure a reverse-video mode, +were the text is dark on a light background. + The author likes to on a whim change terminal parameters and fonts on the fly, depending on mood, lighting conditions, the task at hand, etc. diff --git a/mmsoftware/analogterm2/fonts/7x11/at2-even-boldpunctuation.txt b/mmsoftware/analogterm2/fonts/7x11/at2-even-boldpunctuation.txt index 461d109..97456bb 100644 --- a/mmsoftware/analogterm2/fonts/7x11/at2-even-boldpunctuation.txt +++ b/mmsoftware/analogterm2/fonts/7x11/at2-even-boldpunctuation.txt @@ -1,5 +1,6 @@ # More visible common punctuation characters. # Can optionally be loaded on top of another font. +# XXX Verify that it really works for ‘test’ 33 ....... @@ -105,6 +106,32 @@ ....... ....... +8216 +....... +..OO... +..OO... +..O.... +...O... +....... +....... +....... +....... +....... +....... + +8217 +....... +...OO.. +...OO.. +....O.. +...O... +....... +....... +....... +....... +....... +....... + 8220 ....... .OO.OO. diff --git a/mmsoftware/analogterm2/fonts/8x10/osborne1-ansi.txt.gz b/mmsoftware/analogterm2/fonts/8x10/osborne1-ansi.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..ef1a5f385f7a23425f79da6c80a10656f0bde6ba GIT binary patch literal 3181 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 literal 0 HcmV?d00001 diff --git a/mmsoftware/analogterm2/fonts/8x10/osborne1.txt b/mmsoftware/analogterm2/fonts/8x10/osborne1.txt new file mode 100644 index 0000000..fc77769 --- /dev/null +++ b/mmsoftware/analogterm2/fonts/8x10/osborne1.txt @@ -0,0 +1,1157 @@ +# Osborne 1 +# Extracted from the ROM image osbchr.bin for the MAME project: +# https://www.planetemu.net/rom/mess-roms/osborne-1 +# The graphics characters were ignored and the set was left-aligned to better +# function with AnalogTerm ]['s bold implementation. + +32 +........ +........ +........ +........ +........ +........ +........ +........ +........ +........ + +33 +........ +..OO.... +.OOOO... +.OOOO... +..OO.... +..OO.... +........ +..OO.... +........ +........ + +34 +........ +OO..OO.. +OO..OO.. +........ +........ +........ +........ +........ +........ +........ + +35 +........ +.O..O... +.O..O... +OOOOOO.. +.O..O... +OOOOOO.. +.O..O... +.O..O... +........ +........ + +36 +........ +..OO.... +.OOOOO.. +O.OO.... +.OOO.... +..OO.O.. +OOOOO... +..OO.... +........ +........ + +37 +........ +.O..OO.. +OOO.OO.. +.O.OO... +..OO.... +.OO.O... +OO.OOO.. +OO..O... +........ +........ + +38 +........ +.OOO.... +OO.OO... +OO.OO... +.OOO.... +OO.OO.O. +OO..OO.. +.OOOOOO. +.....OO. +........ + +39 +........ +....OO.. +....O... +...O.... +........ +........ +........ +........ +........ +........ + +40 +........ +...OO... +..OO.... +.OO..... +.OO..... +.OO..... +..OO.... +...OO... +........ +........ + +41 +........ +.OO..... +..OO.... +...OO... +...OO... +...OO... +..OO.... +.OO..... +........ +........ + +42 +........ +..O..... +O.O.O... +.OOO.... +OOOOO... +.OOO.... +O.O.O... +..O..... +........ +........ + +43 +........ +........ +........ +..OO.... +..OO.... +OOOOOO.. +..OO.... +..OO.... +........ +........ + +44 +........ +........ +........ +........ +........ +........ +..OO.... +..OO.... +...O.... +..O..... + +45 +........ +........ +........ +........ +OOOOOO.. +OOOOOO.. +........ +........ +........ +........ + +46 +........ +........ +........ +........ +........ +........ +..OO.... +..OO.... +........ +........ + +47 +........ +.....O.. +....OO.. +...OO... +..OO.... +.OO..... +OO...... +O....... +........ +........ + +48 +........ +.OOOO... +OO..OO.. +OO..OO.. +OO.OOO.. +OOO.OO.. +OO..OO.. +.OOOO... +........ +........ + +49 +........ +..OO.... +.OOO.... +..OO.... +..OO.... +..OO.... +..OO.... +.OOOO... +........ +........ + +50 +........ +.OOOO... +OO..OO.. +...OO... +.OOO.... +OO...... +OO...... +OOOOOO.. +........ +........ + +51 +........ +.OOOO... +OO..OO.. +....OO.. +..OOO... +....OO.. +OO..OO.. +.OOOO... +........ +........ + +52 +........ +...OO... +OO.OO... +OO.OO... +OO.OO... +OOOOOO.. +...OO... +...OO... +........ +........ + +53 +........ +OOOOOO.. +OO...... +OO...... +OOOOO... +....OO.. +OO..OO.. +.OOOO... +........ +........ + +54 +........ +.OOOO... +OO..OO.. +OO...... +OOOOO... +OO..OO.. +OO..OO.. +.OOOO... +........ +........ + +55 +........ +OOOOOO.. +....OO.. +...OO... +..OO.... +.OO..... +.OO..... +.OO..... +........ +........ + +56 +........ +.OOOO... +OO..OO.. +OO..OO.. +.OOOO... +OO..OO.. +OO..OO.. +.OOOO... +........ +........ + +57 +........ +.OOOO... +OO..OO.. +OO..OO.. +.OOOOO.. +....OO.. +OO..OO.. +.OOOO... +........ +........ + +58 +........ +........ +..OO.... +..OO.... +........ +........ +..OO.... +..OO.... +........ +........ + +59 +........ +........ +..OO.... +..OO.... +........ +........ +..OO.... +..OO.... +...O.... +..O..... + +60 +........ +...OO... +..OO.... +.OO..... +OO...... +.OO..... +..OO.... +...OO... +........ +........ + +61 +........ +........ +........ +........ +OOOOOO.. +........ +OOOOOO.. +........ +........ +........ + +62 +........ +.OO..... +..OO.... +...OO... +....OO.. +...OO... +..OO.... +.OO..... +........ +........ + +63 +........ +.OOOO... +OO..OO.. +....OO.. +...OO... +..OO.... +........ +..OO.... +........ +........ + +64 +........ +.OOOO... +O....O.. +O..OOO.. +O.O.OO.. +O.OOO... +O....... +.OOOO... +........ +........ + +65 +........ +.OOOO... +OO..OO.. +OO..OO.. +OOOOOO.. +OO..OO.. +OO..OO.. +OO..OO.. +........ +........ + +66 +........ +OOOOO... +OO..OO.. +OO..OO.. +OOOOO... +OO..OO.. +OO..OO.. +OOOOO... +........ +........ + +67 +........ +.OOOO... +OO..OO.. +OO...... +OO...... +OO...... +OO..OO.. +.OOOO... +........ +........ + +68 +........ +OOOOO... +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +OOOOO... +........ +........ + +69 +........ +OOOOOO.. +OO...... +OO...... +OOOO.... +OO...... +OO...... +OOOOOO.. +........ +........ + +70 +........ +OOOOOO.. +OO...... +OO...... +OOOO.... +OO...... +OO...... +OO...... +........ +........ + +71 +........ +.OOOO... +OO..OO.. +OO...... +OO.OOO.. +OO..OO.. +OO..OO.. +.OOOO... +........ +........ + +72 +........ +OO..OO.. +OO..OO.. +OO..OO.. +OOOOOO.. +OO..OO.. +OO..OO.. +OO..OO.. +........ +........ + +73 +........ +.OOOO... +..OO.... +..OO.... +..OO.... +..OO.... +..OO.... +.OOOO... +........ +........ + +74 +........ +....OO.. +....OO.. +....OO.. +....OO.. +....OO.. +OO..OO.. +.OOOO... +........ +........ + +75 +........ +OO..OO.. +OO.OO... +OOOO.... +OOO..... +OOOO.... +OO.OO... +OO..OO.. +........ +........ + +76 +........ +OO...... +OO...... +OO...... +OO...... +OO...... +OO...... +OOOOOO.. +........ +........ + +77 +........ +OO...OO. +OOO.OOO. +OOOOOOO. +OO.O.OO. +OO.O.OO. +OO...OO. +OO...OO. +........ +........ + +78 +........ +OO..OO.. +OO..OO.. +OOO.OO.. +OOOOOO.. +OO.OOO.. +OO..OO.. +OO..OO.. +........ +........ + +79 +........ +.OOOO... +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +.OOOO... +........ +........ + +80 +........ +OOOOO... +OO..OO.. +OO..OO.. +OOOOO... +OO...... +OO...... +OO...... +........ +........ + +81 +........ +.OOOO... +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +OOO.OO.. +.OOOO... +...OO... +....OO.. + +82 +........ +OOOOO... +OO..OO.. +OO..OO.. +OOOOO... +OO..OO.. +OO..OO.. +OO..OO.. +........ +........ + +83 +........ +.OOOO... +OO..OO.. +OO...... +.OOOO... +....OO.. +OO..OO.. +.OOOO... +........ +........ + +84 +........ +OOOOOO.. +..OO.... +..OO.... +..OO.... +..OO.... +..OO.... +..OO.... +........ +........ + +85 +........ +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +.OOOO... +........ +........ + +86 +........ +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +.OOOO... +.OOOO... +..OO.... +........ +........ + +87 +........ +OO...OO. +OO...OO. +OO.O.OO. +OO.O.OO. +OOOOOOO. +OOOOOOO. +.OO.OO.. +........ +........ + +88 +........ +OO..OO.. +OO..OO.. +.OOOO... +..OO.... +.OOOO... +OO..OO.. +OO..OO.. +........ +........ + +89 +........ +OO..OO.. +OO..OO.. +OO..OO.. +.OOOO... +..OO.... +..OO.... +..OO.... +........ +........ + +90 +........ +OOOOOO.. +O...OO.. +...OO... +..OO.... +.OO..... +OO...O.. +OOOOOO.. +........ +........ + +91 +........ +.OOOOO.. +.OO..... +.OO..... +.OO..... +.OO..... +.OO..... +.OOOOO.. +........ +........ + +92 +........ +O....... +OO...... +.OO..... +..OO.... +...OO... +....OO.. +.....O.. +........ +........ + +93 +........ +.OOOOO.. +....OO.. +....OO.. +....OO.. +....OO.. +....OO.. +.OOOOO.. +........ +........ + +94 +........ +..OO.... +.OOOO... +OO..OO.. +O....O.. +........ +........ +........ +........ +........ + +95 +........ +........ +........ +........ +........ +........ +........ +OOOOOOO. +........ +........ + +96 +........ +..OO.... +...O.... +....O... +........ +........ +........ +........ +........ +........ + +97 +........ +........ +........ +.OOOO... +....OO.. +.OOOOO.. +OO..OO.. +.OOOO... +........ +........ + +98 +........ +OO...... +OO...... +OOOOO... +OO..OO.. +OO..OO.. +OO..OO.. +OOOOO... +........ +........ + +99 +........ +........ +........ +.OOOO... +OO..OO.. +OO...... +OO..OO.. +.OOOO... +........ +........ + +100 +........ +....OO.. +....OO.. +.OOOOO.. +OO..OO.. +OO..OO.. +OO..OO.. +.OOOOO.. +........ +........ + +101 +........ +........ +........ +.OOOO... +OO..OO.. +OOOOOO.. +OO...... +.OOOO... +........ +........ + +102 +........ +..OOOO.. +.OO..... +OOOOO... +.OO..... +.OO..... +.OO..... +.OO..... +........ +........ + +103 +........ +........ +........ +.OOOO... +OO..OO.. +OO..OO.. +OO..OO.. +.OOOOO.. +....OO.. +.OOOO... + +104 +........ +OO...... +OO...... +OOOOO... +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +........ +........ + +105 +........ +........ +..OO.... +........ +..OO.... +..OO.... +..OO.... +.OOOO... +........ +........ + +106 +........ +........ +...OO... +........ +...OO... +...OO... +...OO... +...OO... +OO.OO... +.OOO.... + +107 +........ +OO...... +OO...... +OO..OO.. +OO.OO... +OOOO.... +OO.OO... +OO..OO.. +........ +........ + +108 +........ +.OO..... +..OO.... +..OO.... +..OO.... +..OO.... +..OO.... +...OO... +........ +........ + +109 +........ +........ +........ +OO...OO. +OOO.OOO. +OO.O.OO. +OO...OO. +OO...OO. +........ +........ + +110 +........ +........ +........ +O.OOO... +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +........ +........ + +111 +........ +........ +........ +.OOOO... +OO..OO.. +OO..OO.. +OO..OO.. +.OOOO... +........ +........ + +112 +........ +........ +........ +.OOOO... +OO..OO.. +OO..OO.. +OO..OO.. +OOOOO... +OO...... +OO...... + +113 +........ +........ +........ +.OOOO... +OO..OO.. +OO..OO.. +OO..OO.. +.OOOOO.. +....OO.. +....OOO. + +114 +........ +........ +........ +O.OOO... +OO..OO.. +OO...... +OO...... +OO...... +........ +........ + +115 +........ +........ +........ +.OOOO... +OO...... +.OOOO... +....OO.. +.OOOO... +........ +........ + +116 +........ +.OO..... +.OO..... +OOOO.... +.OO..... +.OO..... +.OO.O... +..OOO... +........ +........ + +117 +........ +........ +........ +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +.OOO.O.. +........ +........ + +118 +........ +........ +........ +OO..OO.. +OO..OO.. +OO..OO.. +.OOOO... +..OO.... +........ +........ + +119 +........ +........ +........ +OO...OO. +OO...OO. +OO.O.OO. +.OOOOO.. +.OO.OO.. +........ +........ + +120 +........ +........ +........ +OO..OO.. +.O.OO... +..OO.... +.OO.O... +OO..OO.. +........ +........ + +121 +........ +........ +........ +OO..OO.. +OO..OO.. +OO..OO.. +OO..OO.. +.OOOOO.. +....OO.. +.OOOO... + +122 +........ +........ +........ +OOOOOO.. +....OO.. +..OO.... +OO...... +OOOOOO.. +........ +........ + +123 +........ +..OOOO.. +.OO..... +.OO..... +OO...... +.OO..... +.OO..... +..OOOO.. +........ +........ + +124 +........ +..OO.... +..OO.... +..OO.... +........ +..OO.... +..OO.... +..OO.... +........ +........ + +125 +........ +OOO..... +..OO.... +..OO.... +...OOO.. +..OO.... +..OO.... +OOO..... +........ +........ + +126 +........ +........ +.OO..... +O.OO.O.. +...OO... +........ +........ +........ +........ +........ + +127 +........ +.O.O.O.. +O.O.O.O. +.O.O.O.. +O.O.O.O. +.O.O.O.. +O.O.O.O. +.O.O.O.. +O.O.O.O. +.O.O.O.. diff --git a/mmsoftware/analogterm2/fonts/8x11/videoterm.txt b/mmsoftware/analogterm2/fonts/8x11/videoterm.txt index 4ad8468..b150f26 100644 --- a/mmsoftware/analogterm2/fonts/8x11/videoterm.txt +++ b/mmsoftware/analogterm2/fonts/8x11/videoterm.txt @@ -11,6 +11,30 @@ # support graphical characters and have more leading for clarity, 8x11 was # used. # +# Clones commonly use the 6845 or 6545 CRTC (character generator). The manual +# says "2716 EPROM Character Generator" and MCM6571A Character Generator". +# I find claims that the matrix was # 8x9, 8x10 or 8x12, configurable. +# Other sources say 7x9, # in 18 or 24 lines of 80 columns. +# +# The 1980 manual says: +# "When properly adjusted, the interface card clearly displays upper and lower +# case characters using a 7 by 9 character dot matrix size (the full matrix is +# actuall 9 by 9). An optional 7 by 12 matrix size (full size is 9 by 12) is +# also available. You may select for 18 or 24 lines each containing 80 +# characters. Special characters may be defined by the user and preprogrammed +# EPROM chips are available that offer various character fonts." It later +# mentions that the 18 lines mode is for the 7x12 matrix and that this is a +# specific EPROM option. And that in the default 80x24, 7x9 is used (within +# 8x10 cell to allow a border between characters). It later says that +# internally the character generator processes 8x16 cells (corresponding to +# the ROM format described above), mapping them into a 9x9 cell (9x12 with the +# optional character set). +# +# From experience, using AnalogTerm2 with this font works nicely with -g9x12 +# or -g9x13 with extra leading, but graphics characters may not display +# properly. For the ratio, -W should not be used, but even then, the original +# display was more elongated/narrow. +# # The ROM supported various Latin-1 characters as well as single-line # graphics, but only the ASCII set was imported for now. For a more fancy # experience, it is possible to use -g8x11 and to first load the 7x11 at2-even diff --git a/mmsoftware/analogterm2/tests/common-latin.txt b/mmsoftware/analogterm2/tests/common-latin.txt new file mode 100644 index 0000000..5721349 --- /dev/null +++ b/mmsoftware/analogterm2/tests/common-latin.txt @@ -0,0 +1,3 @@ + !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ +¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ +ŒœŸŽž diff --git a/mmsoftware/analogterm2/tests/cp1252-ucs4.c b/mmsoftware/analogterm2/tests/cp1252-ucs4.c new file mode 100644 index 0000000..09da366 --- /dev/null +++ b/mmsoftware/analogterm2/tests/cp1252-ucs4.c @@ -0,0 +1,56 @@ +/* + * Convert a Code Page 1252 font file to Unicode. + * MMondor 2024 + */ + +#include +#include +#include +#include + + +#define LBUFSIZE 255 + +int main(void); + + +static const uint32_t cp1252_ucs4[256] = { + /* Standard control characters */ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + /* Standard ASCII range */ + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + /* Latin-1 */ + 0x20AC, 129, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 141, 0x017D, 143, + 144, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 157, 0x017E, 0x0178, + 160, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 173, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF +}; + + +int +main(void) +{ + char buf[LBUFSIZE]; + + while (fgets(buf, LBUFSIZE - 1, stdin) != NULL) { + int n; + + if ((n = atoi(buf)) != 0 && n < 256) { + n = (int)cp1252_ucs4[(int)n]; + (void)printf("%d\n", n); + } else + (void)fwrite(buf, 1, strlen(buf), stdout); + } + + exit(EXIT_SUCCESS); +} -- 2.9.0