Название: SLickEdit и русский текст Отправлено: Steven_Orko от Сентября 30, 2006, 23:09 В общем, думаю, проблемма с вводом русского языка известна всем. Так вот, я придумал некоторое решение на основе не рабочего макроса из инета. Если на соответствующую команду повесить горячей клавишей F7, то с помощью нее можно включать русский и выключать его.
Макрос приведен ниже. Сохраните его, где хотите, обзовите, как хотите, но только его необходимо загрузить в слике. Да, еще создал 4 мастера по два к Qt 3 и Qt 4 соответсвенно для создания проекта приложения. Тот визард, что выкладывал раньше, имел большЫе ошибки. Хотя новые тоже далеки от совершенства. Выложу их, как только привезу с работы. Вот макрос для включения русского языка в слике. Может, кто лучше предложит - буду рад: Цитировать // Visual SlickEdit KOI8-R input module. // Version 1.0 // Copyright (C) 2006 Steven Orko // Bind command `enabled_koi8r_input` to any key or key sequence // Use this binding to activete KOI8-R and F7 to deactivate // Known problems: while KOI8-R input is active any mouse operations restricted #include "slick.sh" _str koi8r:[]= { '`'=>'1', '1'=>'1','2'=>'2','3'=>'3','4'=>'4','5'=>'5','6'=>'6','7'=>'7','8'=>'8', '9'=>'9', '0'=>'0','q'=>'К','w'=>'Г','e'=>'Х','r'=>'Л','t'=>'Е','y'=>'О','u'=>'З', 'i'=>'Ы', 'o'=>'Э','p'=>'Ъ','['=>'И',']'=>'Я','a'=>'Ж','s'=>'Щ','d'=>'Ч','f'=>'Б', 'g'=>'Р','h'=>'Т','j'=>'П','k'=>'М','l'=>'Д',';'=>'Ц','z'=>'С','x'=>'Ю','c'=>'У', 'v'=>'Н','b'=>'Й','n'=>'Ф','m'=>'Ш',','=>'В','.'=>'А','/'=>'.','~'=>'і','!'=>'!', '@'=>'"','#'=>'#','$'=>';','%'=>'%','^'=>':','&'=>'?','*'=>'*','('=>'(',')'=>')', 'Q'=>'к','W'=>'г','E'=>'х','R'=>'л','T'=>'е','Y'=>'о','U'=>'з','I'=>'ы','O'=>'э', 'P'=>'ъ','{'=>'и','}'=>'я','A'=>'ж','S'=>'щ','D'=>'ч','F'=>'б','G'=>'р','H'=>'т', 'J'=>'п','K'=>'м','L'=>'д',':'=>'ц','"'=>'ь','Z'=>'с','X'=>'ю','C'=>'у','V'=>'н', 'B'=>'й','N'=>'ф','M'=>'ш','<'=>'в','>'=>'а','?'=>',' }; definit() { message('Russian KOI8-R input module! Bind "enable_koi8r_input" and enjoy! Copyright (C) 2006 Steven Orko '); koi8r:['`'] =_UTF8Chr(1105); koi8r:['q'] =_UTF8Chr(1081); koi8r:['w'] =_UTF8Chr(1094); koi8r:['e'] =_UTF8Chr(1091); koi8r:['r'] =_UTF8Chr(1082); koi8r:['t'] =_UTF8Chr(1077); koi8r:['y'] =_UTF8Chr(1085); koi8r:['u'] =_UTF8Chr(1075); koi8r:['i'] =_UTF8Chr(1096); koi8r:['o'] =_UTF8Chr(1097); koi8r:['p'] =_UTF8Chr(1079); koi8r:['['] =_UTF8Chr(1093); koi8r:[']'] =_UTF8Chr(1098); koi8r:['a'] =_UTF8Chr(1092); koi8r:['s'] =_UTF8Chr(1099); koi8r:['d'] =_UTF8Chr(1074); koi8r:['f'] =_UTF8Chr(1072); koi8r:['g'] =_UTF8Chr(1087); koi8r:['h'] =_UTF8Chr(1088); koi8r:['j'] =_UTF8Chr(1086); koi8r:['k'] =_UTF8Chr(1083); koi8r:['l'] =_UTF8Chr(1076); koi8r:[';'] =_UTF8Chr(1078); koi8r:['"'] = _UTF8Chr(1101); koi8r:['z'] =_UTF8Chr(1103); koi8r:['x'] =_UTF8Chr(1095); koi8r:['c'] =_UTF8Chr(1089); koi8r:['v'] =_UTF8Chr(1084); koi8r:['b'] =_UTF8Chr(1080); koi8r:['n'] =_UTF8Chr(1090); koi8r:['m'] =_UTF8Chr(1100); koi8r:[','] =_UTF8Chr(1073); koi8r:['.'] =_UTF8Chr(1102); koi8r:['~'] =_UTF8Chr(1025); koi8r:['Q'] =_UTF8Chr(1049); koi8r:['W'] =_UTF8Chr(1062); koi8r:['E'] =_UTF8Chr(1059); koi8r:['R'] =_UTF8Chr(1050); koi8r:['T'] =_UTF8Chr(1045); koi8r:['Y'] =_UTF8Chr(1053); koi8r:['U'] =_UTF8Chr(1043); koi8r:['I'] =_UTF8Chr(1064); koi8r:['O'] =_UTF8Chr(1065); koi8r:['P'] =_UTF8Chr(1047); koi8r:['{'] =_UTF8Chr(1061); koi8r:['}'] =_UTF8Chr(1066); koi8r:['A'] =_UTF8Chr(1060); koi8r:['S'] =_UTF8Chr(1067); koi8r:['D'] =_UTF8Chr(1042); koi8r:['F'] =_UTF8Chr(1040); koi8r:['G'] =_UTF8Chr(1055); koi8r:['H'] =_UTF8Chr(1056); koi8r:['J'] =_UTF8Chr(1057); koi8r:['K'] =_UTF8Chr(1051); koi8r:['L'] =_UTF8Chr(1044); koi8r:[':'] =_UTF8Chr(1046); koi8r:['"'] =_UTF8Chr(1069); koi8r:['Z'] =_UTF8Chr(1071); koi8r:['X'] =_UTF8Chr(1063); koi8r:['C'] =_UTF8Chr(1054); koi8r:['V'] =_UTF8Chr(1052); koi8r:['B'] =_UTF8Chr(1048); koi8r:['N'] =_UTF8Chr(1058); koi8r:['M'] =_UTF8Chr(1068); koi8r:['<'] =_UTF8Chr(1041); koi8r:['>'] =_UTF8Chr(1070); } defload() { message('Russian KOI8-R input module! Bind "enable_koi8r_input" and enjoy! Copyright (C) 2006 Steven Orko '); } _command void enable_koi8r_input() { while(1) { message('Russian KOI8-R input activated. Press "ESC" to disable it!'); key = get_event('K'); // message(event2name(key)); if(event2name(key)=='F7') { message('Russian KOI8-R input disabled.'); break; }; if(event2name(key)=="\'") { _insert_text(_UTF8Chr(1101)); }else if(koi8r._indexin(event2name(key))) { _insert_text(koi8r:[event2name(key)]); }else { call_key(key); }; } ; /* for (i = 1040; i < 1106; ++i) { _insert_text(_UTF8Chr(i)" - "i" \n "); } */ }; Название: SLickEdit и русский текст Отправлено: Tonal от Октября 02, 2006, 08:46 Круть! ;-)
А не проще сликовские функции перекодирования заюзать? koi8 он вроде знает, так же как и dos866 и win1251. Название: SLickEdit и русский текст Отправлено: Steven_Orko от Октября 03, 2006, 00:20 Я пробывал, только фигня в том, что несмотря на заданную кодировку кои8-р, слик отображал у меня текст все равно в юникоде. Просто он переводил файл из кои8 в юникод перед отображением, потому при вводе русских букв получалось, что вводятся они иероглифам, хотя при сохранении файла и открытии его заново все нормально видится. Потому пришлось именно так сделать, чтобы можно было печатать текст прямо в слике во время редактирования текста.
Название: Re: SLickEdit и русский текст Отправлено: Enabled от Августа 04, 2011, 14:05 В общем, думаю, проблемма с вводом русского языка известна всем. Так вот, я придумал некоторое решение на основе не рабочего макроса из инета. Если на соответствующую команду повесить горячей клавишей F7, то с помощью нее можно включать русский и выключать его. Макрос приведен ниже. Сохраните его, где хотите, обзовите, как хотите, но только его необходимо загрузить в слике. Да, еще создал 4 мастера по два к Qt 3 и Qt 4 соответсвенно для создания проекта приложения. Тот визард, что выкладывал раньше, имел большЫе ошибки. Хотя новые тоже далеки от совершенства. Выложу их, как только привезу с работы. Вот макрос для включения русского языка в слике. Может, кто лучше предложит - буду рад: Цитировать // Visual SlickEdit KOI8-R input module. // Version 1.0 // Copyright (C) 2006 Steven Orko // Bind command `enabled_koi8r_input` to any key or key sequence // Use this binding to activete KOI8-R and F7 to deactivate // Known problems: while KOI8-R input is active any mouse operations restricted #include "slick.sh" ... Когда я выкладывал этот макрос в июне 2006 (http://www.linux.org.ru/news/opensource/1431442) он прекрасно у всех работал. У вас в октябре 2006 он перестал работать? И начал работать только после того как мои "Copyright (C) 2006 Ivan Kulkov" изменились на "Copyright (C) 2006 Steven Orko"? Зачем было мой копирайт убирать? Просто дописал бы свой и всё, мне не жалко. |