Знакогенератор: различия между версиями
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) Нет описания правки |
||
(не показано 48 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
Набор символов [[ЭКВМ]] основан на альтернативной кодировке из ГОСТ 19768-87 и хорошо совместим с кодовой страницей 866 фирмы IBM, которая в свою очередь основана на фундаментальном американском стандарте ASCII. | Набор символов [[ЭКВМ]] основан на альтернативной кодировке из ГОСТ 19768-87 и хорошо совместим с кодовой страницей 866 фирмы IBM, которая в свою очередь основана на фундаментальном [https://ru.wikipedia.org/wiki/ASCII американском стандарте ASCII], который используется с 1960-ых годов. | ||
Основное достоинство «альтернативной» кодировки, помимо её широкой распространённости — русские буквы в ней идут в алфавитном порядке, хотя и не всегда последовательно. По историческим причинам<ref>Алфавит строчных русских букв был «разрублен», т.к. возможность читать русские тексты в [ | Основное достоинство «альтернативной» кодировки, помимо её широкой распространённости — [[русские буквы]] в ней идут в алфавитном порядке, хотя и не всегда последовательно. По историческим причинам<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. На некоторых текстах можно достичь лучших результатов, если учитывать весь набор символов [[ЭКВМ]]. | ||
Строка 61: | Строка 61: | ||
| [[Символ с кодом 37| %]] | | [[Символ с кодом 37| %]] | ||
| [[Символ с кодом 38| &]] | | [[Символ с кодом 38| &]] | ||
| [[Символ с кодом 39| | | [[Символ с кодом 39| ’]] | ||
| [[Символ с кодом 40| (]] | | [[Символ с кодом 40| (]] | ||
| [[Символ с кодом 41| )]] | | [[Символ с кодом 41| )]] | ||
| [[Символ с кодом 42| | | [[Символ с кодом 42| ∗]] | ||
| [[Символ с кодом 43| +]] | | [[Символ с кодом 43| +]] | ||
| [[Символ с кодом 44| ,]] | | [[Символ с кодом 44| ,]] | ||
| [[Символ с кодом 45| | | [[Символ с кодом 45| −]] | ||
| [[Символ с кодом 46| .]] | | [[Символ с кодом 46| .]] | ||
| [[Символ с кодом 47| /]] | | [[Символ с кодом 47| /]] | ||
Строка 307: | Строка 307: | ||
== Какие ещё символы хотелось бы видеть в шрифте 0 == | == Какие ещё символы хотелось бы видеть в шрифте 0 == | ||
* | [[Файл:Font0.png|thumb|right|256px|Существующий набор символов шрифта 0]] | ||
* | [[Файл:Проект дополнения шрифта 0.png|thumb|right|256px|Один из возможных вариантов дополнения шрифта 0]] | ||
* Знак градуса и символ угла, например ∠α = | * Девять нижних индексов (0, 1, 2, 3 и x, y, z, i, =), например f<sub>0</sub>(a,v) = a<sub>1</sub>v<sub>x</sub> + a<sub>2</sub>v<sub>y</sub> + a<sub>3</sub>v<sub>z</sub> | ||
* Знак куба и четвёртой степени, например 10 м³, y=³√x и x⁴+x²-4=0 | |||
* Заглавные греческие «дельта», «омега» и «сигма», например Δt = 3 с, Δm = 65 кг, R = 1 kΩ, Σ<sub>i=0</sub><sup>4</sup> a<sub>i</sub>b<sub>i</sub> = 0; как максимум, возможно размещение остальных заглавных греческих, не имеющих аналогов в латинице и кириллице (тэта, кси, пси); заглавная «лямбда» может быть совмещена с кириллической «Л» | |||
* Для удобства использования в качестве верхних индексов можно также добавить степени 0, 1, + и −, например c<sup>0</sup> = a<sup>1</sup>b<sub>1</sub>+a<sup>2</sup>b<sub>2</sub> и y<sup>−1</sup> = 4; Na<sup>+</sup> и Cl<sup>−</sup> | |||
* Одиннадцать наиболее часто используемых в физике и математике строчных греческих букв: α, β, γ, δ, ε, λ, μ, ρ, σ, φ и ω (как минимум первые три из них; как максимум, можно разместить все строчные греческие, кроме, возможно, «омикрон», которая выглядит так же, как «о», а также «йота» и «ипсилон», которые практически не встречаются в формулах) | |||
* Знак градуса и символ угла, например ∠α = 45° (градус может по совместительству играть роль верхнего индекса «0») | |||
* Знак номера и параграфа, например № 1, § 8 | * Знак номера и параграфа, например № 1, § 8 | ||
* Знак плюс/минуса, например 10 ± 2 см | * Знак плюс/минуса, например L = 10 ± 2 см | ||
* Знак приблизительного равенства, например π ≈ 3,14 | * Знак приблизительного равенства, например π ≈ 3,14 | ||
* | * Символ пустого множества, например M = ∅ | ||
* | * Знак умножения в виде точки посередине строки, например, 5·10<sup>4<sup> | ||
Всего предлагается добавить в знакогенератор | * Знак «меньше либо равно», например, x ≤ 0 | ||
Всего предлагается добавить в знакогенератор несколько десятков символов, что сделает его значительно более полезным для наглядных математических и расчётных программ. Место в таблице для этого есть. Но при желании его экономить можно перейти на двухбайтовые кодировки (на «Ямахах» первым байтом двухбайтовых символов был [[символ с кодом 1]]) или реализовать ограниченную поддержку Юникода. При нехватке памяти в ПЗУ можно загружать расширенный (юникодовский) шрифт со встроенного электронного диска. Главное, чтобы эти символы было легко выводить в [[строка комментариев|строку комментариев]] и на [[графический экран]], использовать в [[Графический интерфейс пользователя|графическом интерфейсе]]. | |||
== Управляющие символы == | == Управляющие символы == | ||
Строка 331: | Строка 336: | ||
== Ссылки == | == Ссылки == | ||
{{Документация|d1_pra.htm|Описание шрифтов ЭВМ на сайте НПП «СЕМИКО»}} | |||
* [ | * [https://ru.wikipedia.org/wiki/CP866 Альтернативная кодировка и кодовая страница 866 на Википедии] и [https://en.wikipedia.org/wiki/Code_page_866 в английской Википедии] ''(англ.)'' | ||
* [ | * [https://ru.wikipedia.org/wiki/ASCII ASCII на Википедии] | ||
* [ | * [https://msdn.microsoft.com/en-us/library/cc195074.aspx Кодовая страница 866 на сайте MSDN] ''(англ.)'' | ||
* [http:// | * [http://www.catb.org/~esr/jargon/html/A/ASCII.html ASCII на The Jargon File] ''(англ.)'' | ||
* [http://tinyurl.com/Znak-161 tinyurl.com/Znak-161] — короткий адрес этой страницы (через зарубежный сайт) | |||
[[Категория:Символы]] | |||
[[Категория:Шрифт]] |
Текущая версия от 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 — короткий адрес этой страницы (через зарубежный сайт)