Знакогенератор

Материал из ПМК вики
Перейти к навигации Перейти к поиску

Набор символов ЭКВМ основан на альтернативной кодировке из ГОСТ 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.

Ссылки[править]