Сначала Unicode-имена, потом всё остальное
Posted: Mon 05 Oct, 2009 12:48
Пользуюсь Фаром 1.7x. Может быть мои пожелания уже реализованы в следующих версиях, но в Far 1.7x очень сильно не хватает поддержки файлов с Unicode-именами. Если моя текущая кодовая страница для программ, не понимающих Unicode, выставлена русской, то Far не видит файлы с именами, содержащими умлауты и расширенную латиницу, греческие буквы, вообще всё, что отлично от символов текущей кодовой страницы. Ну и, соответственно, если текущая кодовая страница центральноевропейская, он не видит русских имён.
Точнее сказать - в файловой панели можно видеть имена файлов с порезанными умлаутами, но при попытке открыть файл для просмотра или редактирования, скопировать его или сравнить, Far считает, что такого файла нет, ибо ищет по порезанному имени.
Итого: все операции с именами файлов внутри Far (в.т.ч. список файлов в объектах панелей) должны производиться в Unicode, и лишь для вывода их на экран допустимо резать национальные символы, т.к. консоль сама по себе не поддерживает Unicode.
Обязательное условие: встретив имя файла в Unicode, Far не просто должен уметь работать с таким файлом, но и не портить его имя при совершении любых операций над ним.
При переименовании такого файла нужно выдавать предупреждение, что его имя отображается не так, как на самом деле пишется.
Точнее сказать - в файловой панели можно видеть имена файлов с порезанными умлаутами, но при попытке открыть файл для просмотра или редактирования, скопировать его или сравнить, Far считает, что такого файла нет, ибо ищет по порезанному имени.
Итого: все операции с именами файлов внутри Far (в.т.ч. список файлов в объектах панелей) должны производиться в Unicode, и лишь для вывода их на экран допустимо резать национальные символы, т.к. консоль сама по себе не поддерживает Unicode.
Обязательное условие: встретив имя файла в Unicode, Far не просто должен уметь работать с таким файлом, но и не портить его имя при совершении любых операций над ним.
При переименовании такого файла нужно выдавать предупреждение, что его имя отображается не так, как на самом деле пишется.