Знакогенератор: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
(не показано 20 промежуточных версий 3 участников)
Строка 1: Строка 1:
Набор символов [[ЭКВМ]] основан на альтернативной кодировке из ГОСТ 19768-87 и хорошо совместим с кодовой страницей 866 фирмы IBM, которая в свою очередь основана на фундаментальном американском стандарте ASCII, который используется с 1960-ых годов.
Набор символов [[ЭКВМ]] основан на альтернативной кодировке из ГОСТ 19768-87 и хорошо совместим с кодовой страницей 866 фирмы IBM, которая в свою очередь основана на фундаментальном [https://ru.wikipedia.org/wiki/ASCII американском стандарте ASCII], который используется с 1960-ых годов.


Основное достоинство «альтернативной» кодировки, помимо её широкой распространённости — русские буквы в ней идут в алфавитном порядке, хотя и не всегда последовательно.  По историческим причинам<ref>Алфавит строчных русских букв был «разрублен», т.к. возможность читать русские тексты в [http://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.  На некоторых текстах можно достичь лучших результатов, если учитывать весь набор символов [[ЭКВМ]].
Строка 61: Строка 61:
| [[Символ с кодом 37| %]]
| [[Символ с кодом 37| %]]
| [[Символ с кодом 38| &]]
| [[Символ с кодом 38| &]]
| [[Символ с кодом 39| ']]
| [[Символ с кодом 39| ]]
| [[Символ с кодом 40| (]]
| [[Символ с кодом 40| (]]
| [[Символ с кодом 41| )]]
| [[Символ с кодом 41| )]]
| [[Символ с кодом 42| *]]
| [[Символ с кодом 42| ]]
| [[Символ с кодом 43| +]]
| [[Символ с кодом 43| +]]
| [[Символ с кодом 44| ,]]
| [[Символ с кодом 44| ,]]
| [[Символ с кодом 45| -]]
| [[Символ с кодом 45| ]]
| [[Символ с кодом 46| .]]
| [[Символ с кодом 46| .]]
| [[Символ с кодом 47| /]]
| [[Символ с кодом 47| /]]
Строка 309: Строка 309:
[[Файл:Font0.png|thumb|right|256px|Существующий набор символов шрифта 0]]
[[Файл:Font0.png|thumb|right|256px|Существующий набор символов шрифта 0]]
[[Файл:Проект дополнения шрифта 0.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>
* Девять нижних индексов (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
* Знак куба и четвёртой степени, например 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; как максимум, возможно размещение остальных заглавных греческих, не имеющих аналогов в латинице и кириллице (тэта, кси, пси); заглавная «лямбда» может быть совмещена с кириллической «Л»
* Заглавные греческие «дельта», «омега» и «сигма», например Δt = 3 с, Δm = 65 кг, R = 1 kΩ, Σ<sub>i=0</sub><sup>4</sup> a<sub>i</sub>b<sub>i</sub> = 0; как максимум, возможно размещение остальных заглавных греческих, не имеющих аналогов в латинице и кириллице (тэта, кси, пси); заглавная «лямбда» может быть совмещена с кириллической «Л»
Строка 336: Строка 336:


== Ссылки ==
== Ссылки ==
* [http://mk.semico.ru/d1_pra.htm Описание шрифтов ЭВМ на сайте НПП «СЕМИКО»]
{{Документация|d1_pra.htm|Описание шрифтов ЭВМ на сайте НПП «СЕМИКО»}}
* [http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D1%8C%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F_%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0 Альтернативная кодировка на Википедии]
* [https://ru.wikipedia.org/wiki/CP866 Альтернативная кодировка и кодовая страница 866 на Википедии] и [https://en.wikipedia.org/wiki/Code_page_866 в английской Википедии] ''(англ.)''
* [http://ru.wikipedia.org/wiki/ASCII ASCII на Википедии]
* [https://ru.wikipedia.org/wiki/ASCII ASCII на Википедии]
* [http://en.wikipedia.org/wiki/Code_page_866 Кодовая страница 866 на английской Википедии] ''(англ.)''
* [https://msdn.microsoft.com/en-us/library/cc195074.aspx Кодовая страница 866 на сайте MSDN] ''(англ.)''
* [http://msdn.microsoft.com/en-us/library/cc195074.aspx Кодовая страница 866 на сайте MSDN] ''(англ.)''
* [http://www.catb.org/~esr/jargon/html/A/ASCII.html ASCII на The Jargon File] ''(англ.)''
* [http://www.catb.org/~esr/jargon/html/A/ASCII.html ASCII на The Jargon File] ''(англ.)''
* [http://tinyurl.com/Znak-161 tinyurl.com/Znak-161] — короткий адрес этой страницы (через зарубежный сайт)


[[Категория:Символы]]
[[Категория:Символы]]
[[Категория:Шрифт]]
[[Категория:Шрифт]]

Версия от 08:14, 20 апреля 2019

Набор символов ЭКВМ основан на альтернативной кодировке из ГОСТ 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
Один из возможных вариантов дополнения шрифта 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…31 некоторые используются в шрифте 0 для вывода на экран ЭКВМ «стрелок» и других графических изображений.

Ещё один управляющий символ имеет код 255.

Примечание

  1. Алфавит строчных русских букв был «разрублен», т.к. возможность читать русские тексты в зарубежной программе Norton Commander, сохраняя красивые «рамочки» из псевдографики, была неотразимо привлекательной. Псевдографика IBM была заменена в ЭКВМ на спецсимволы ПМК, но для сохранения совместимости с текстами, созданными в эпоху MS-DOS, позиции русских букв остались нетронутыми.
  2. Интересно, что хотя формально в Юникоде все русские буквы идут по порядку, такой же разрыв между русскими буквами "п" и "р" наблюдается в кодировке UTF-8: "п" кодируется D0 BF, а "р" уже D1 80.

Ссылки