View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Mar 05, 2010 23:39 Post subject: Перекодировка пользовательского меню wcmd_ext_rus.mnu |
|
|
Боюсь, что ответ будет не в мою пользу, но на всякий случай поинтересуюсь. Вопрос к людям, работающим с кодировкой: насколько реально включить в режим отображения пользовательского меню(возможно не только ТС) нестандартных символов, не включённых в основную кодовую страницу, сохранив файл с кириллицей из редактора, в котором отображаются подобные символы, скажем в формате UTF8, используя юникодные шрифты типа "Arialuni.ttf"?
Почему я разуверовался в таком вопросе, ну, видимо, по причине того, что ни в одном меню из огромного многообразия программ я подобного применения не встречал. Попытки самостоятельной перекодировки файла меню и установки шрифтов с западным набором символов, следуя из постановки вопроса, не увенчались успехом.
Хотелось бы более детального объяснения причин, почему это нельзя осуществить, если оно так.
Жду компетентных ответов. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2585 Location: Большая деревня Москва
|
(Separately) Posted: Fri Mar 05, 2010 23:50 Post subject: |
|
|
Детально не возьмусь, разве что на пальцах.
Меню Тотала (как и подавляющее число других меню) - текстовый файл. Под ДОС хватало 256 символов (8 бит, 1 байт), с тех пор мало что изменилось. Вот и все.
(Хочется спросить, нафига писать меню Тотала нестандартными символами, но воздержусь). _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 06, 2010 00:18 Post subject: |
|
|
Вахмурка wrote: | Меню Тотала (как и подавляющее число других меню) - текстовый файл. Под ДОС хватало 256 символов (8 бит, 1 байт), с тех пор мало что изменилось. Вот и все. | Тем не менее сам файл сохранить с нужной символикой можно и отображаться она будут в определённых редакторах, но для меню, как оказалось, не применимы. Поэтому объяснения типа - это текстовый файл и там может быть не более 256 символов - слишком очевиден, но хотелось бы более вразумительного и разжёванного технически толкования.
Вахмурка wrote: | (Хочется спросить, нафига писать меню Тотала нестандартными символами, но воздержусь). | Хотел пояснить в первом посте, но тоже передумал. Нестандартная символика очень многообразна. Скажем, можно использовать её вместо библиотечных иконок, с применением которых есть один важный недостаток, они не могут быть включены в заглавия пунктов самого меню, в котором как раз мне и нужно включить всего лишь несколько символов с подстановкой команд или командных интерпритаторов, что могло бы во-первых сократить toolbar, упразднив оттуда часть кнопок, и, соответственно, расширить свободное пространство за счёт ёмкости(толщины) пользователького меню, при условии что оно будет занимать только одну полосу. Есть ещё одна причина, но о ней чуть позже.
Last edited by Flasher on Sat Mar 06, 2010 00:48; edited 1 time in total |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Sat Mar 06, 2010 00:47 Post subject: |
|
|
Вообще, ТК теперь поддерживает Юникод, а это многое упрощает. Насколько я понимаю, если программа поддерживает Юникод, наименования пунктов меню тоже в Юникоде, а значит, любые символы, имеющиеся в шрифте, который используется в меню, можно отобразить. Но здесь мы подходим к тому, что файл описания меню в ТК имеет простую кодировку. Могу предложить попробовать конвертировать файл в Юникод (не UTF-8, а именно Юникод) и проверить, будет ли ТК его обрабатывать. Конфигурационные файлы ТК в Юникоде поддерживает (хотя вполне возможно, что исключительно благодаря поддержке таковых стандартными системныем функциями для работы с INI). _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2585 Location: Большая деревня Москва
|
(Separately) Posted: Sat Mar 06, 2010 01:01 Post subject: |
|
|
Quote: | текстовый файл и там может быть не более 256 символов | ...а не то кто-то подумает, что в текстовом файле может быть не более 256 символов. Ты хотел сказать - один символ (позиция) может иметь не более 256 начертаний (строго говоря, меньше, но это частности).
А попробуй подключить языковые файлы французского, испанского, итальянского, немецкого, чешского языков. В них есть диакритические знаки, следовательно, стандартная ASCII-таблица для них "тесновата". Будут нормально отображаться символы в меню (желательно данным языком, хотя бы на школьном уровне, владеть). Если да, изучи языковый файл на степень юникодности. Далее см. пост MVV _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Sat Mar 06, 2010 01:07 Post subject: |
|
|
Мои опыты:
пересохранил с помощью notepad'а wcmd_rus.mnu в utf-8, намусорил там латиницей с диакритикой, потом удалил unicode метку (первые три символа файла)
в wcmd_rus.lng прописал
codepage=65001
у меня работает
можно попробовать и с Unicode (1200) и Unicode-Big Endian (1201), но уже лень |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 06, 2010 01:11 Post subject: |
|
|
MVV wrote: | Вообще, ТК теперь поддерживает Юникод, а это многое упрощает. Насколько я понимаю, если программа поддерживает Юникод, наименования пунктов меню тоже в Юникоде, а значит, любые символы, имеющиеся в шрифте, который используется в меню, можно отобразить. | Если бы всё так было прозаично я сюда бы не писал.
MVV wrote: | Могу предложить попробовать конвертировать файл в Юникод (не UTF-8, а именно Юникод) и проверить, будет ли ТК его обрабатывать | Да, собственно, я с него и начинал. С кириллицей работать не хочет, кроме меню Запуск не имеющего отношения к менюшному файлу MNU.
Вахмурка wrote: | ..а не то кто-то подумает, что в текстовом файле может быть не более 256 символов. Ты хотел сказать - один символ (позиция) может иметь не более 256 начертаний (строго говоря, меньше, но это частности). | Спасибо за правку. Описался.. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 06, 2010 01:14 Post subject: |
|
|
Lev wrote: | у меня работает | Опа-на, а файлик можно?
Lev wrote: | можно попробовать и с Unicode (1200) и Unicode-Big Endian (1201), но уже лень | Вроде пробывал раньше, не жуёт. |
|
Back to top |
|
|
Rodny
Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
(Separately) Posted: Sat Mar 06, 2010 01:16 Post subject: |
|
|
Из любопытства конвертировал меню.
UTF-8 что с BOM, что без BOM загружается в виде "Полный набор русификации для"
С UTF-16BE/LE тотал просто не запускается.
Добавлено
Ага, спасибо Lev'у, дополню:
Файл wcmd_rus.lng тоже нужно конвертировать в UTF-8 без BOM, ну и "codepage=65001" |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Sat Mar 06, 2010 01:25 Post subject: |
|
|
Можно, НО, тк я не пользуюсь русским интерфейсом, то взял первый попавшийся древний wcmd_rus.mnu, Вам он не понравится :), но если надо, кину
Rodny в wcmd_rus.lng прописали codepage=65001 ?
----
пока писал, Вы ответили :)
wcmd_rus.lng - у меня всего из пяти-шести строк (ради имени в заголовке), поэтому не обратил на него внимания. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 06, 2010 01:32 Post subject: |
|
|
Lev wrote: | Можно, НО, тк я не пользуюсь русским интерфейсом, то взял первый попавшийся древний wcmd_rus.mnu, Вам он не понравится , но если надо, кину | Это вообще не имеет значения. mnu+lng на rghost.ru или zalil.ru если не трудно.
А какой шрифт использовался для основного окна? arialuni.ttf годиться? |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Sat Mar 06, 2010 01:42 Post subject: |
|
|
Меня всегда устраивал стандартный Microsoft Sans Serif, но не вижу причин почему бы не работать Вашему.
Last edited by Lev on Sat Mar 06, 2010 02:12; edited 1 time in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 06, 2010 02:10 Post subject: |
|
|
Lev
Установил. эх.. Не хотят вставать нужные символы.. квадраты сплошные. Может можно в lng файле прописать для них восьмиричные коды или что-то вроде этого? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 06, 2010 02:55 Post subject: |
|
|
Я так понял, те символы, предложенные Lev, как раз взяты из первой кодовой страницы. Я же в первом посте поставил обратную задачу. Чтобы не возникло вопросов, какого рода должны быть символы:
|
|
Back to top |
|
|
Rodny
Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
(Separately) Posted: Sat Mar 06, 2010 03:41 Post subject: |
|
|
Flasher
Нужно ещё в системных настройках для строки меню выбрать шрифт с Юникодом, настроек TC не хватает.
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|