Знакогенератор: различия между версиями
AtH (обсуждение | вклад) (→Ссылки) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
Набор символов [[ЭКВМ]] основан на альтернативной кодировке из ГОСТ 19768-87 и хорошо совместим с кодовой страницей 866 фирмы IBM, которая в свою очередь основана на фундаментальном [https://ru.wikipedia.org/wiki/ASCII американском стандарте ASCII], который используется с 1960-ых годов. | Набор символов [[ЭКВМ]] основан на альтернативной кодировке из ГОСТ 19768-87 и хорошо совместим с кодовой страницей 866 фирмы IBM, которая в свою очередь основана на фундаментальном [https://ru.wikipedia.org/wiki/ASCII американском стандарте ASCII], который используется с 1960-ых годов. | ||
Основное достоинство «альтернативной» кодировки, помимо её широкой распространённости — русские буквы в ней идут в алфавитном порядке, хотя и не всегда последовательно. По историческим причинам<ref>Алфавит строчных русских букв был «разрублен», т.к. возможность читать русские тексты в [https://ru.wikipedia.org/wiki/Norton_Commander зарубежной программе Norton Commander], сохраняя красивые «рамочки» из псевдографики, была неотразимо привлекательной. Псевдографика IBM была заменена в ЭКВМ на спецсимволы ПМК, но для сохранения совместимости с текстами, созданными в эпоху MS-DOS, позиции русских букв остались нетронутыми.</ref> между строчными русскими буквами [[Символ с кодом 175|"п"]] и [[Символ с кодом 224|"р"]] наблюдается гигантский разрыв<ref>Интересно, что хотя формально в Юникоде все русские буквы идут по порядку, такой же разрыв между русскими буквами [[Символ с кодом 175|"п"]] и [[Символ с кодом 224|"р"]] наблюдается в кодировке [https://ru.wikipedia.org/wiki/UTF-8 UTF-8]: [[Символ с кодом 175|"п"]] кодируется D0 BF, а [[Символ с кодом 224|"р"]] уже D1 80.</ref> в 48 символов. Исключением из алфавитного правила стала буква [[Ё|"Ё"]], получившая свой код позднее остальных русских букв. | Основное достоинство «альтернативной» кодировки, помимо её широкой распространённости — [[русские буквы]] в ней идут в алфавитном порядке, хотя и не всегда последовательно. По историческим причинам<ref>Алфавит строчных русских букв был «разрублен», т.к. возможность читать русские тексты в [https://ru.wikipedia.org/wiki/Norton_Commander зарубежной программе Norton Commander], сохраняя красивые «рамочки» из псевдографики, была неотразимо привлекательной. Псевдографика IBM была заменена в ЭКВМ на спецсимволы ПМК, но для сохранения совместимости с текстами, созданными в эпоху MS-DOS, позиции русских букв остались нетронутыми.</ref> между строчными русскими буквами [[Символ с кодом 175|"п"]] и [[Символ с кодом 224|"р"]] наблюдается гигантский разрыв<ref>Интересно, что хотя формально в Юникоде все русские буквы идут по порядку, такой же разрыв между русскими буквами [[Символ с кодом 175|"п"]] и [[Символ с кодом 224|"р"]] наблюдается в кодировке [https://ru.wikipedia.org/wiki/UTF-8 UTF-8]: [[Символ с кодом 175|"п"]] кодируется D0 BF, а [[Символ с кодом 224|"р"]] уже D1 80.</ref> в 48 символов. Исключением из алфавитного правила стала буква [[Ё|"Ё"]], получившая свой код позднее остальных русских букв. | ||
Тексты на русском и английском языках, подготовленные в стандарте операционной системы MS-DOS, могут читаться на ЭКВМ без перекодировки. Тоже самое относится ко всем текстам в популярнейшей кодировке ASCII. Тексты, подготовленные в Юникоде и кодировках других операционных систем (MSX, Windows, Linux, OS X и др.), достаточно перекодировать в «стандарт MS-DOS», то есть кодовую страницу 866. На некоторых текстах можно достичь лучших результатов, если учитывать весь набор символов [[ЭКВМ]]. | Тексты на русском и английском языках, подготовленные в стандарте операционной системы MS-DOS, могут читаться на ЭКВМ без перекодировки. Тоже самое относится ко всем текстам в популярнейшей кодировке ASCII. Тексты, подготовленные в Юникоде и кодировках других операционных систем (MSX, Windows, Linux, OS X и др.), достаточно перекодировать в «стандарт MS-DOS», то есть кодовую страницу 866. На некоторых текстах можно достичь лучших результатов, если учитывать весь набор символов [[ЭКВМ]]. |
Текущая версия от 02:14, 14 января 2020
Набор символов ЭКВМ основан на альтернативной кодировке из ГОСТ 19768-87 и хорошо совместим с кодовой страницей 866 фирмы IBM, которая в свою очередь основана на фундаментальном американском стандарте ASCII, который используется с 1960-ых годов.
Основное достоинство «альтернативной» кодировки, помимо её широкой распространённости — русские буквы в ней идут в алфавитном порядке, хотя и не всегда последовательно. По историческим причинам[1] между строчными русскими буквами "п" и "р" наблюдается гигантский разрыв[2] в 48 символов. Исключением из алфавитного правила стала буква "Ё", получившая свой код позднее остальных русских букв.
Тексты на русском и английском языках, подготовленные в стандарте операционной системы MS-DOS, могут читаться на ЭКВМ без перекодировки. Тоже самое относится ко всем текстам в популярнейшей кодировке ASCII. Тексты, подготовленные в Юникоде и кодировках других операционных систем (MSX, Windows, Linux, OS X и др.), достаточно перекодировать в «стандарт MS-DOS», то есть кодовую страницу 866. На некоторых текстах можно достичь лучших результатов, если учитывать весь набор символов ЭКВМ.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ▌ | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | "\t" | "\n" | (нет) | (нет) | "\r" | (нет) | (нет) |
1 | ► | (нет) | (нет) | || | (нет) | (нет) | (нет) | (нет) | ↑ | ↓ | → | ← | (нет) | (нет) | (нет) | " " |
2 | " " | ! | " | # | $ | % | & | ’ | ( | ) | ∗ | + | , | − | . | / |
3 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5 | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
6 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
7 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | ⌂ |
8 | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П |
9 | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я |
a | а | б | в | г | д | е | ж | з | и | й | к | л | м | н | о | п |
b | ÷ | ≥ | ≠ | × | ↑_ | ⟳ | (нет) | ↔ | (нет) | π | (нет) | (нет) | (нет) | 2 | x | y |
c | ↵ | ↤ | ⇤ | ⇥ | ← | → | ↑ | ↓ | ↖ | ↘ | ↔ | (нет) | (нет) | (нет) | (нет) | (нет) |
d | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) |
e | р | с | т | у | ф | х | ц | ч | ш | щ | ъ | ы | ь | э | ю | я |
f | Ё | ё | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | (нет) | √ | (нет) | (нет) | (нет) | (нет) |
Какие ещё символы хотелось бы видеть в шрифте 0[править]
- Девять нижних индексов (0, 1, 2, 3 и x, y, z, i, =), например f0(a,v) = a1vx + a2vy + a3vz
- Знак куба и четвёртой степени, например 10 м³, y=³√x и x⁴+x²-4=0
- Заглавные греческие «дельта», «омега» и «сигма», например Δt = 3 с, Δm = 65 кг, R = 1 kΩ, Σi=04 aibi = 0; как максимум, возможно размещение остальных заглавных греческих, не имеющих аналогов в латинице и кириллице (тэта, кси, пси); заглавная «лямбда» может быть совмещена с кириллической «Л»
- Для удобства использования в качестве верхних индексов можно также добавить степени 0, 1, + и −, например c0 = a1b1+a2b2 и y−1 = 4; Na+ и Cl−
- Одиннадцать наиболее часто используемых в физике и математике строчных греческих букв: α, β, γ, δ, ε, λ, μ, ρ, σ, φ и ω (как минимум первые три из них; как максимум, можно разместить все строчные греческие, кроме, возможно, «омикрон», которая выглядит так же, как «о», а также «йота» и «ипсилон», которые практически не встречаются в формулах)
- Знак градуса и символ угла, например ∠α = 45° (градус может по совместительству играть роль верхнего индекса «0»)
- Знак номера и параграфа, например № 1, § 8
- Знак плюс/минуса, например L = 10 ± 2 см
- Знак приблизительного равенства, например π ≈ 3,14
- Символ пустого множества, например M = ∅
- Знак умножения в виде точки посередине строки, например, 5·104
- Знак «меньше либо равно», например, x ≤ 0
Всего предлагается добавить в знакогенератор несколько десятков символов, что сделает его значительно более полезным для наглядных математических и расчётных программ. Место в таблице для этого есть. Но при желании его экономить можно перейти на двухбайтовые кодировки (на «Ямахах» первым байтом двухбайтовых символов был символ с кодом 1) или реализовать ограниченную поддержку Юникода. При нехватке памяти в ПЗУ можно загружать расширенный (юникодовский) шрифт со встроенного электронного диска. Главное, чтобы эти символы было легко выводить в строку комментариев и на графический экран, использовать в графическом интерфейсе.
Управляющие символы[править]
Символы с кодами от 0 до 31 традиционно играют роль специальных (служебных, управляющих) символов. Из них ЭКВМ использует в качестве управляющих следующие символы:
- Символ с кодом 0 — символ конца строки
- Символ с кодом 10 — символ перевода строки
- Символ с кодом 13 — символ возврата каретки
Среди оставшихся кодов в служебном диапазоне 0…31 некоторые используются в шрифте 0 для вывода на экран ЭКВМ «стрелок» и других графических изображений.
Ещё один управляющий символ имеет код 255.
Примечание[править]
- ↑ Алфавит строчных русских букв был «разрублен», т.к. возможность читать русские тексты в зарубежной программе Norton Commander, сохраняя красивые «рамочки» из псевдографики, была неотразимо привлекательной. Псевдографика IBM была заменена в ЭКВМ на спецсимволы ПМК, но для сохранения совместимости с текстами, созданными в эпоху MS-DOS, позиции русских букв остались нетронутыми.
- ↑ Интересно, что хотя формально в Юникоде все русские буквы идут по порядку, такой же разрыв между русскими буквами "п" и "р" наблюдается в кодировке UTF-8: "п" кодируется D0 BF, а "р" уже D1 80.
Ссылки[править]
- Описание шрифтов ЭВМ на сайте НПП «СЕМИКО»
- Альтернативная кодировка и кодовая страница 866 на Википедии и в английской Википедии (англ.)
- ASCII на Википедии
- Кодовая страница 866 на сайте MSDN (англ.)
- ASCII на The Jargon File (англ.)
- tinyurl.com/Znak-161 — короткий адрес этой страницы (через зарубежный сайт)