Языки и шрифты в Kolibri 0.5.2
-
Прочитал об операционнке, стало интересно перевести её на турецкий язык (я учусь в турецком лицее). Читал статью парня из узбекистана и увидел, что нужно поменять файлы char.mt и char2.mt. Но в колибри они совершенно другие! Что нужно сделать, чтобы перевести на турецкий язык?
В 0530 сборке в исходниках в папке boot лежит файл RU.INC в нем находится вторая половина таблицы шрифтов. В нем и можешь поменять на нужные символы.
xGibrit
Для этого нужно заставить Халявина выложить наконец-то где-нибудь программу для конвертации шрифтов
Андрей: Если она отличается от моей CONVERT.COM только тем, что в CHAR2.MT добавлен байт ширины для каждого символа, то я могу переделать свою. С другой стороны, если твоя имеет графический интерфейс - почему бы не выложить её...
Для этого нужно заставить Халявина выложить наконец-то где-нибудь программу для конвертации шрифтов
Андрей: Если она отличается от моей CONVERT.COM только тем, что в CHAR2.MT добавлен байт ширины для каждого символа, то я могу переделать свою. С другой стороны, если твоя имеет графический интерфейс - почему бы не выложить её...
Только тем, что добавлен байт ширины для каждого символа.
Кажется я как раз твой convert.com и изменял для конвертации (куда его у себя сохранил - не помню) .
Кажется я как раз твой convert.com и изменял для конвертации (куда его у себя сохранил - не помню) .
А как менять? Там одни 0x?? написаны, что с ними делать?В 0530 сборке в исходниках в папке boot лежит файл RU.INC в нем находится вторая половина таблицы шрифтов. В нем и можешь поменять на нужные символы.
Представь себе, что каждый символ представляется набором бит. Приведу пример, в RU.INC написано:Это шестнадцатеричные числа, на каждую букву - 16 чисел. Представим их в двоичном виде и вынесем каждое число в новую строку:Eсли приглядеться, то можно распознать букву "А". Надеюсь, идея ясна
Code: Select all
db 0x00, 0x00, 0x1E, 0x36, 0x66, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
Code: Select all
00000000
00000000
00011110 oooo
00110110 oo oo
01100110 oo oo
11000110 oo oo
11111110 ooooooo
11000110 oo oo
11000110 oo oo
11000110 oo oo
11000110 oo oo
00000000
00000000
00000000
00000000
Всё понял. Спасибо.
Следующая проблема ...
Многие буквы расположенны на клавишах цифр. Что нужно изменить в ru.inc чтобы вместо цифр выводились буквы, а когда нажимаешь alt, выводились цифры?
Многие буквы расположенны на клавишах цифр. Что нужно изменить в ru.inc чтобы вместо цифр выводились буквы, а когда нажимаешь alt, выводились цифры?
РАЗРАБОТЧИКИ, ПОЖАЛУЙСТА, ОТВЕТЬЕ НА МОЙ ВЫШЕ ЗАДАННЫЙ ВОПРОС!!!
если не ошибаюсь то в файле ru.inc хранятся только русские буквы остальные хранятся где-то в другом месте (скорее всего в знакогенераторе)
xGibrit
В ru.inc находятся шрифты, которые выводятся в синем загрузочном экране. К твоей проблеме, по-моему, это отношение совсем не имеет.
Alt в текущем варианте системы заблокирован для функции 2. Он используется для приложения @PANEL для обрабатывания горячих комбинаций. А отключение для функции 2 я сделал, для того, чтобы в текстовом редакторе или другом приложении не выводился мусор при нажатии горячих комбинаций.
В текущем варианте имеются следующие горячие комбинации:
Ctrl+Alt+Del <- работает на уровне ядра.
Остальные работают за счет @PANEL
Сtrl+Shift <-переключение раскладки клавиатуры
Shif+Shift <- переключение языка системы
Alt+Win - запуск приложения MENU
Alt+Ctrl+F12 - запуск приложения END
Alt+F4 - завершение активного приложения.
Для изменения кодирования клавиш тебе нужно изменить кодировку символов в приложении SETUP.
alt_general:
; db ' ',27
; db ' @ $ {[]}\ ',8,9
; db ' ',13
; db ' ',0,' ',0,'4',0,' '
; db ' ',180,178,184,'6',176,'7'
; db 179,'8',181,177,183,185,182
; db 'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ'
; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
en_keymap:
db '6',27
db '1234567890-=',8,9
db 'qwertyuiop[]',13
db '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
en_keymap_shift:
db '6',27
db '!@#$%^&*()_+',8,9
db 'QWERTYUIOP{}',13
db '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fr_keymap:
db '6',27
db '&О"',39,'(-Н_УР)=',8,9
db 'azertyuiop^$',13
db '~qsdfghjklmТ',0,0,'*wxcvbn,;:!',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fr_keymap_shift:
db '6',27
db '1234567890+',8,9
db 'AZERTYUIOPХФ',13
db '~QSDFGHJKLM%',0,'ЦWXCVBN?./',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fr_keymap_alt_gr:
db '6',27
db 28,'~#{[|Ш\^@]}',8,9
db 'azertyuiop^$',13
db '~qsdfghjklmТ',0,0,'*wxcvbn,;:!',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fi_keymap:
db '6',27
db '1234567890+[',8,9
db 'qwertyuiop',192,'~',13
db '~asdfghjkl',194,193,'1',0,39,'zxcvbnm,.-',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fi_keymap_shift:
db '6',27
db '!"#П%&/()=?]',8,9
db 'QWERTYUIOP',200,'~',13
db '~ASDFGHJKL',202,201,'1',0,'*ZXCVBNM;:_',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ge_keymap:
db '6',27
db '1234567890?[',8,9
db 'qwertzuiop',203,'~',13
db '~asdfghjkl',194,193,'1',0,39,'yxcvbnm,.-',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ge_keymap_shift:
db '6',27
db '!"#$%&/()=',197,']',8,9
db 'QWERTZUIOP',195,'~',13
db '~ASDFGHJKL',202,201,'1',0,'*YXCVBNM;:_',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ru_keymap:
db '6',27
db '1234567890-=',8,9
db 'йцукенгшщзхъ',13
db 0,"фывапролджэ"
db 0xf1, '-/'
db "ячсмитьбю",'.-','45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ru_keymap_shift:
db '6',27
db '!"N;%:?*()_+',8,0
db "ЙЦУКЕНГШЩЗХЪ",13
db 0,"ФЫВАПРОЛДЖЭ"
db 0xf0, '-\'
db "ЯЧСМИТЬБЮ",',-','45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
Как видишь, Alt я приравнял к обычной раскладке, закомментировав его данные.
Но это не все как я уже описывал выше, в самом ядре заблокирован вывод комбинаций с Alt для функции 2.
Вместо таких комбинаций выдается 0.
Конечно, это не лучший выход, но я не разработчик Тинипадов и нужен был какой то выход для борьбы с мусором. А игнорировать 0 значение гораздо проще, чем отлавливать все комбинации с Alt.
Вот такие дела. Возможно, для тебя есть выход сделать две раскладки, переключая которые можно вводить недостающие символы. Но опять же могут возникнуть проблемы.
В ru.inc находятся шрифты, которые выводятся в синем загрузочном экране. К твоей проблеме, по-моему, это отношение совсем не имеет.
Alt в текущем варианте системы заблокирован для функции 2. Он используется для приложения @PANEL для обрабатывания горячих комбинаций. А отключение для функции 2 я сделал, для того, чтобы в текстовом редакторе или другом приложении не выводился мусор при нажатии горячих комбинаций.
В текущем варианте имеются следующие горячие комбинации:
Ctrl+Alt+Del <- работает на уровне ядра.
Остальные работают за счет @PANEL
Сtrl+Shift <-переключение раскладки клавиатуры
Shif+Shift <- переключение языка системы
Alt+Win - запуск приложения MENU
Alt+Ctrl+F12 - запуск приложения END
Alt+F4 - завершение активного приложения.
Для изменения кодирования клавиш тебе нужно изменить кодировку символов в приложении SETUP.
alt_general:
; db ' ',27
; db ' @ $ {[]}\ ',8,9
; db ' ',13
; db ' ',0,' ',0,'4',0,' '
; db ' ',180,178,184,'6',176,'7'
; db 179,'8',181,177,183,185,182
; db 'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ'
; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
; db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
en_keymap:
db '6',27
db '1234567890-=',8,9
db 'qwertyuiop[]',13
db '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
en_keymap_shift:
db '6',27
db '!@#$%^&*()_+',8,9
db 'QWERTYUIOP{}',13
db '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fr_keymap:
db '6',27
db '&О"',39,'(-Н_УР)=',8,9
db 'azertyuiop^$',13
db '~qsdfghjklmТ',0,0,'*wxcvbn,;:!',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fr_keymap_shift:
db '6',27
db '1234567890+',8,9
db 'AZERTYUIOPХФ',13
db '~QSDFGHJKLM%',0,'ЦWXCVBN?./',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fr_keymap_alt_gr:
db '6',27
db 28,'~#{[|Ш\^@]}',8,9
db 'azertyuiop^$',13
db '~qsdfghjklmТ',0,0,'*wxcvbn,;:!',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fi_keymap:
db '6',27
db '1234567890+[',8,9
db 'qwertyuiop',192,'~',13
db '~asdfghjkl',194,193,'1',0,39,'zxcvbnm,.-',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fi_keymap_shift:
db '6',27
db '!"#П%&/()=?]',8,9
db 'QWERTYUIOP',200,'~',13
db '~ASDFGHJKL',202,201,'1',0,'*ZXCVBNM;:_',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ge_keymap:
db '6',27
db '1234567890?[',8,9
db 'qwertzuiop',203,'~',13
db '~asdfghjkl',194,193,'1',0,39,'yxcvbnm,.-',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ge_keymap_shift:
db '6',27
db '!"#$%&/()=',197,']',8,9
db 'QWERTZUIOP',195,'~',13
db '~ASDFGHJKL',202,201,'1',0,'*YXCVBNM;:_',0,'45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ru_keymap:
db '6',27
db '1234567890-=',8,9
db 'йцукенгшщзхъ',13
db 0,"фывапролджэ"
db 0xf1, '-/'
db "ячсмитьбю",'.-','45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ru_keymap_shift:
db '6',27
db '!"N;%:?*()_+',8,0
db "ЙЦУКЕНГШЩЗХЪ",13
db 0,"ФЫВАПРОЛДЖЭ"
db 0xf0, '-\'
db "ЯЧСМИТЬБЮ",',-','45 '
db '@234567890123',180,178,184,'6',176,'7'
db 179,'8',181,177,183,185,182
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
Как видишь, Alt я приравнял к обычной раскладке, закомментировав его данные.
Но это не все как я уже описывал выше, в самом ядре заблокирован вывод комбинаций с Alt для функции 2.
Вместо таких комбинаций выдается 0.
Конечно, это не лучший выход, но я не разработчик Тинипадов и нужен был какой то выход для борьбы с мусором. А игнорировать 0 значение гораздо проще, чем отлавливать все комбинации с Alt.
Вот такие дела. Возможно, для тебя есть выход сделать две раскладки, переключая которые можно вводить недостающие символы. Но опять же могут возникнуть проблемы.
Mario79
Жалко, что alt не работает ... Ну ладно, сделаю 2 рескладки.
Другая проблема, в ru.inc не использовано 16 символов, т.е. с 80 до 96 символа там храняться нули. Если я их изменю, то нужно сделать, чтобы использовать их? Причём вместо "1" пишет, к примеру символ "Х".
Жалко, что alt не работает ... Ну ладно, сделаю 2 рескладки.
Другая проблема, в ru.inc не использовано 16 символов, т.е. с 80 до 96 символа там храняться нули. Если я их изменю, то нужно сделать, чтобы использовать их? Причём вместо "1" пишет, к примеру символ "Х".
xGibrit
На данный вопрос я тебе не могу ответить. Экспериментируй, может чего и получиться.
На данный вопрос я тебе не могу ответить. Экспериментируй, может чего и получиться.
Mario79
ru.inc - это шрифты для реального режима. А где храняться шрифты для защищённого?
ru.inc - это шрифты для реального режима. А где храняться шрифты для защищённого?
char*.mt
Who is online
Users browsing this forum: No registered users and 19 guests