Программирование в машинных кодах и на языке ассемблера 1993 г.

Русификация - русификация заменой генератора. Русификация "под принтер" и "под пишущую машинку".


6.2 Русификация заменой генератора.

С использованием графики пользователя русский текст набирать очень утомительно. Этот метод следует использовать, если текст имеет достаточно малый удельный вес в Вашей программе -до нескольких десятков слов. В том же случае, если работа с большими массивами текста - Ваша специальность, то следует провести замену знакогенератора. О том, как это сделать, мы неоднократно писали в своих ранних работах и это знают, по-видимому, почти все.

Перед Вами стоит выбор - "какого стандарта придерживаться?". Здесь возможны два варианта. Во-первых, работая с большими объемами текста, Вы по-видимому, планируете выводить его на принтер. Тогда можно провести русификацию так, чтобы принтер правильно понимал коды русских букв. Во-вторых, если Вы имеете богатый опыт работы с пишущей машинкой, то можно русификацию провести под стандартную клавиатуру русской пишущей машинки, а привязку к принтеру осуществить уже программным путем. Тогда код, перед тем, как отправляться на печать, должен конвертироваться в стандарт, поддерживаемый принтером.

6.2.1. Русификация "под принтер".

Мы уже установили, что на "Спектруме" Вы можете изменять только нижнюю половину кодовой таблицы. Разместить там и английский и русский шрифты одновременно невозможно, поэтому их надо переключать, изменяя содержимое системной переменной CHARS по мере необходимости. Точно так же подачей управляющего кода на принтер его можно переключать то на латинский, то на русский шрифт (см. инструкцию к принтеру). Таким образом, если воспользоваться принтером, у которого русский шрифт тоже размещен в нижней половине кодовой таблицы (а именно так и есть у большинства наиболее распространенных у нас в стране дешевых принтеров ROBOTRON, D-100 и т.п.), то коды должны соответствовать стандарту КОИ-7 (см. табл. 6.2 - символы до 63-го в ней не показаны, т. к. знаки препинания и цифры совпадают).

Если Ваш принтер - EPSON или IBM - совместимый, то у него русский шрифт лежит в верхней половине кодовой таблицы, т. е. символы имеют такие коды, которые "Спектрум" для символов не использует. В этом случае Вам придется написать программу перекодировки кода символа перед выдачей его на принтер. Зато здесь не надо переключать принтер с русского набора на латинский, и наоборот, с помощью управляющих кодов. В таблице 6.3 показаны коды русских букв для EPSON и для IBM-совместимых принтеров (кодировка ГОСТ-альтернативная).

Код КОИ-7

Код

Англ.

Рус.

Код

Англ.

Рус.

64

@

ю

96

фунт ст.

Ю

65

A

а

97

a

А

66

B

б

98

b

Б

67

C

ц

99

c

Ц

68

D

д

100

d

Д

69

E

е

101

e

Е

70

F

ф

102

f

Ф

71

G

г

103

g

Г

72

H

х

104

h

Х

73

I

и

105

i

И

74

J

й

106

j

Й

75

K

к

107

k

К

76

L

л

108

l

Л

77

M

м

109

m

М

78

N

н

110

n

Н

79

O

о

111

o

О

80

P

п

112

P

П

81

Q

я

113

q

Я

82

R

р

114

r

Р

83

S

с

115

s

С

84

T

т

116

t

Т

85

U

у

117

u

У

86

V

ж

118

v

Ж

87

W

в

119

w

В

88

X

ь

120

x

Ь

89

Y

ы

121

y

Ы

90

Z

з

122

z

З

91

[

ш

123

{

Ш

92

э

124

I

Э

93

]

щ

125

}

Щ

94

ч

126

Ч

95

ъ

127

"копирайт"

Таблица 6.3.

Кодировка русских символов ГОСТ-альтернативная.

Код

Символ

Код

Символ

Код

Символ

128

А

151

Ч

174

о

129

Б

152

Ш

175

п

130

В

153

Щ

176

131

Г

154

Ъ

псевдо-

132

Д

155

Ы

.

гра

133

Е

156

Ь

.

фика

134

Ж

157

Э

224

р

135

З

158

Ю

225

с

136

И

159

Я

226

т

137

Й

160

а

227

у

138

К

161

б

228

ф

139

Л

162

в

229

х

140

М

163

г

230

ц

141

Н

164

д

231

ч

142

О

165

е

232

ш

143

П

166

ж

233

щ

144

Р

167

з

234

ъ

145

С

168

и

235

ы

146

Т

169

й

236

ь

147

У

170

к

237

э

148

Ф

171

л

238

ю

149

Х

172

м

239

я

150

Ц

173

н

6.2.2. Русификация "под пишущую машинку".

Те, кто хорошо знают клавиатуру русской пишущей машинки, могут предпочесть провести русификацию так, чтобы раскладка клавиатуры "Спектрума" более или менее соответствовала бы раскладке пишущей машинки. В этом случае Вам безусловно придется конвертировать коды перед выдачей их на принтер, независимо от того, какой у Вас принтер - ROBOTRON или EPSON и в какой половине кодовой таблицы он содержит русский шрифт - в нижней или в верхней.

Соответствие клавиш "Спектрума" и русских букв, закрепляемых за ними (как прописных, так и строчных), показано в табл. 6.4.

Таблица 6.4.

Q/Й

W/Ц

E/У

R/ К

T/Е

Y/ Н

U/ Г

I/Ш

O/Щ

P/З

A/Ф

S/Ы

D/В

F/А

G/П

H/ Р

J/О

К/ Л

L/Д

Z/Я

X/ Ч

C/С

V/ М

B/И

N/ Т

M/ Ь

В результате такой "привязки" нескольким буквам не хватило места. Это буквы: Б, б, Ж,ж,Х,х,Ъ,ъ,Э,э, Ю, ю. Их придется "привязать" к символам, набираемым с нажатой клавишей SYMBOL SHIFT. Выберите те символы, которые редко используются и привяжите эти буквы к ним, например, @,#,$,%,&,<=,<>,>=,<,>,"фунт","А".




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Новости - Мини интервью со Славой Медноноговым: Черный ворон дело близиткся к концу.
Железо - распайка разъема пк "Байт", не Всех подряд контактов, а только необходимых для подключения платы C-DOS модема.
Бук - Похождения Штиpлица и дpугие пpиключения Боpмана.
Новости - судьба такого маститого музыканта, как Mast/FTL, вопрос о выходе обещанного проекта ClickMania, Судьба проекта "Awaken" от Минской группы Rage.
Юмор - Сцeнoвые анeкдоты.

В этот день...   21 ноября