Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
Эта настройка ломает не только сторонние скрипты, но и, как минимум, переключение кодовых страниц редактора/просмотра по F8. Наверняка есть и другие глюки с этим связанные.
Last edited by HaRT on Wed 22 Sep, 2021 00:22, edited 2 times in total.
Reason: Улучшен Заголовок Темы
Reason: Улучшен Заголовок Темы
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
Зависит от точки зрения.
Для меня то что кто-то придумал эту витиевато названную настройку не отменяет того,
что в русской локали OEM CP=866, а ANSI CP=1251, как и потребность в быстром переключении на эти страницы.
Для меня то что кто-то придумал эту витиевато названную настройку не отменяет того,
что в русской локали OEM CP=866, а ANSI CP=1251, как и потребность в быстром переключении на эти страницы.
Last edited by 2useven10 on Wed 22 Sep, 2021 03:26, edited 1 time in total.
- buniak_a_h
- Posts: 4259
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
В одном из старых-старых своих скриптов я вместо win.GetACP() написал явно 1251, за что был нещадно бит. Теперь пришлось переделывать на 1251
На самом деле много чего ломает. Попап-меню многих программ (не имеющих отношения к FAR-у) стало нечитабельным.
Ну и странно видеть win.GetACP()=65001, win.GetOEMCP()=65001 (тоже!!!). А смысл в них тогда?
На самом деле много чего ломает. Попап-меню многих программ (не имеющих отношения к FAR-у) стало нечитабельным.
Ну и странно видеть win.GetACP()=65001, win.GetOEMCP()=65001 (тоже!!!). А смысл в них тогда?
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
Про опцию я помню, сделаю когда допечёт (или откажусь от [x] Beta ... совсем).
Но, как мне кажется, потребность будет у многих.
Хотелось бы знать, нет ли способа получать OEM/ANSI (старые настоящие) страницы локали при включенной опции.
Но, как мне кажется, потребность будет у многих.
Хотелось бы знать, нет ли способа получать OEM/ANSI (старые настоящие) страницы локали при включенной опции.
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
А опция делалалсь для тех кто вынужден работать на системах с неродной локалью.
Остальные (большинство) по-умолчанию получали привычное (и удобное) поведение.
Остальные (большинство) по-умолчанию получали привычное (и удобное) поведение.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
Судя по тому, что опция просто меняет ACP, OEMCP, MACCP в HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage на 65001 - вряд ли.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
Положить в дистрибутив Addons\Codepages\<language_code>.farconfig с парами для вышеупомянутой опции не проблема, или речь о чем-то другом?
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
Нет, я имел ввиду добавить что-то вроде Codepage.OEM и CodePage.ANSI в настройки.
А все (может почти все) вызовы GetOEMCP(), GetACP() заменить на wrapper-ы которые будут учитывать эти настройки.
А все (может почти все) вызовы GetOEMCP(), GetACP() заменить на wrapper-ы которые будут учитывать эти настройки.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
Добавить дело не хитрое, тем более что врапперы там уже давно.
Это повлияет на F8, пункты ANSI & OEM в меню кодовых страниц, diz и анси-плагины, вроде все.
Однако, плагины, вызывающие GetACP / GetOEMCP, будут по-прежнему получать 65001 и где-то получится бардак. Что с ними делать - хукать эти импорты у каждой загружаемой dll? А есть еще и CP_ACP / CP_OEMCP, где хукать нечего, но они тоже резолвятся в 65001 внутри ОС. Хукать все API, куда это теоретически можно передать?
Я бы забил. Эта опция наносит больше вреда, чем пользы. Каждый включивший ее ССЗБ рано или поздно задолбается и выключит обратно.
Эти приседания будут иметь смысл, если лет через 10 MS вдруг надумает причинять добро всем и включит ее по умолчанию.
Windows 10: [x] Beta: Use Unicode UTF-8 for worldwide language support
CP_XXX да, придётся изживать, а плагинам расширить API.
Но пока это бэта опция, пожалуй, действительно торопиться с капитальным ремонтом рано.
Но пока это бэта опция, пожалуй, действительно торопиться с капитальным ремонтом рано.