Page 1 of 2

Языки

Posted: Tue Jul 05, 2005 9:56 pm
by Guest
Как написаны драйвера русского языка? И как написать драйвера для других языков, к примеру - узбекский?

Posted: Wed Jul 06, 2005 8:07 am
by halyavin
Нужно изменить шрифт в файле ru.inc, создать файл bootuzb.inc с загрузочными надписями на узбекском и включить его вместо bootru.inc. Еще может понадобится изменить таблицы соотвествия клавиш, находящиеся в конце kernel.asm (если русская раскладка клавиатуры не соотвествует узбекской).
Ну а переводить все программы придется в ручную.

Posted: Wed Jul 06, 2005 11:48 am
by halyavin
Еще нужно изменить char.mt и char2.mt - системные шрифты.

Posted: Wed Jul 06, 2005 6:23 pm
by german
ООО я вижу ребята из Узбекистана подтягиваются - кульно

Posted: Wed Jul 06, 2005 9:48 pm
by Guest
halyavin wrote:Ну а переводить все программы придется в ручную.
Их так же писать, как и на русском языке?
Пример:
label_t:
db 'Пример №1'

"Пример №1" написать на узбекском языке?

Posted: Thu Jul 07, 2005 8:52 am
by halyavin
Ага, и в узбекской кодировке, если она от русской отличается.

Posted: Thu Jul 07, 2005 12:23 pm
by DoomEd Archangel
halyavin
а я чё то не нашёл русской кодировки в конце исходника ядра, тока саксная

Гость, german
какие буквы меняются в узбекской кодировке? например в казахской меняются "2347890-=" - для них надо назначать спец. символы, а 1,5,6 - это ",.

вот...

Posted: Thu Jul 07, 2005 6:16 pm
by german
DoomEd Archangel

сейчас узбекский алфавит основан на латинской графике,
так что ничего менять не надо.

Н-р:
Пример №1 - Misol #1 (перевод)

Posted: Thu Jul 07, 2005 8:45 pm
by Guest
А что менять надо в файлах char.mt и char2.mt?

Posted: Fri Jul 08, 2005 6:30 pm
by halyavin
Если особые буквы не нужны, то ничего менять не нужно.

Posted: Fri Jul 08, 2005 7:14 pm
by german
halyavin

особые буквы не нужны

Posted: Fri Jul 08, 2005 7:25 pm
by Гость 2
А если нужны. К примеру вместо цифр другие символы нужны, то что делать?

Posted: Fri Jul 08, 2005 7:26 pm
by Гость 2
А вообще, в чём разница м/у char.mt char2.mt?

Posted: Fri Jul 08, 2005 7:37 pm
by ipr
Один больше, другой меньше

Posted: Sat Jul 09, 2005 8:06 am
by halyavin
char.mt - шрифт фиксированной ширины 6x9.
char2.mt - шрифт переменной ширины (1-9) высотой 9.
Файл шрифта представляет собой массив из 256 символов, каждый символ занимает 9 байт.
Каждый байт кодирует строку в символе. Младший бит соотвествует самому левому пикселю.

Для изменения файла шрифта придется написать кодировщик-декодировщик этого формата в более понятный человеку (например рисовать буквы из символов 'o' в текстовом режиме).

На счет цифр - а как ты собираешься после этого цифры вводить? На сколько я понимаю нужно переопределить комбинации клавиш alt+цифра, ctrl+цифра или shift+цифра. В этом случае нужно приписать соотвествующим символам (если их нет в шрифте под какими-нибудь извращенными номерами)новые коды (которые используются в windows например) и нарисовать в соотвествующем месте в шрифте. После этого нужно сказать системе о новых символах. Для этого нужно исправить таблицы keymap, keymap_shift или keymap_alt в kernel.asm. Как именно исправлять не знаю, но думаю после небольшого числа экспериментов нужный результат будет получен.