Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
2useven10
Posts: 5498
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by 2useven10 »

Latest post of the previous page:

Т.е. раньше из детекта возвращались не все возможные страницы и 950 страница была в исключённых.
Теперь там все возможные, а алгоритм такой что на 950 падает слишком много.
Раньше обижали китайцев, теперь всем остальным надо отключать 950 руками.
2useven10
Posts: 5498
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by 2useven10 »

2useven10 wrote: Sun 04 Jan, 2026 08:38 на 950 падает слишком много
950 это двухбайтовые коды Big5, там практически любая последовательность байт из старшей половины (>128) является валидной.
2useven10
Posts: 5498
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by 2useven10 »

Невалидными должны быть пары (>128),(<128).
Чем больше в тексте пробелов и знаков пунктуации тем больше должна быть вероятность фильтрации 950 страницы.
Поэтому самыми проблемными должны быть короткие фрагменты текста без пунктуации и пробелов.
2useven10
Posts: 5498
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by 2useven10 »

2useven10 wrote: Sun 04 Jan, 2026 07:51 И в UCD 950 кодовая страница точно также вылезает из всех щелей.
ЕМНИП, раньше она выкидывалась из детекта комментированием кода в UCD.
Сначала 950 и прочий CJK безальтернативно отбрасывались в UCD детекте.
Потом CJK страницы разрешены для CJK локалей -- diff
И наконец CJK разрешены безусловно -- diff
2useven10
Posts: 5498
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by 2useven10 »

IMHO, правильным было бы сделать использование CJK настраиваемым, с умолчательным отключением (ну или по локали).
Настройку применять и для UCD и для IMultiLanguage2.
Last edited by 2useven10 on Sun 04 Jan, 2026 13:37, edited 1 time in total.
2useven10
Posts: 5498
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by 2useven10 »

Попробовал.
В принципе работает, но чтобы не падало пришлось править
thirdparty\uchardet\nsUniversalDetector.cpp и thirdparty\uchardet\nsMBCSGroupProber.cpp
потому как NS_FILTER_... там используется странно, я бы сказал криво.
2useven10
Posts: 5498
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by 2useven10 »

Я бы вообще отключил там nsMBCSGroupProber.cpp -- полезность его сомнительна.
User avatar
Taciturn
Posts: 645
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 101 times
Been thanked: 36 times
Contact:

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by Taciturn »

2useven10, может как-то можно сделать плагин, который бы улучшал автоопределение до уровня «до улучшения Far'а»?
User avatar
zg
zero-gravity
Posts: 6207
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 206 times
Contact:

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by zg »

Taciturn wrote: Mon 05 Jan, 2026 00:14сделать плагин
какое приемущество у плагина по сравнению с * CodePages.NoAutoDetectCP │string │950?
User avatar
Taciturn
Posts: 645
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 101 times
Been thanked: 36 times
Contact:

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by Taciturn »

zg, достаточно просто скопировать в каталог и будет работать. Нет никакого удобного способа править настройки Far'а для многих пользователей за компьютером — Default.farconfig работает только для тех, под чьим профилем Far не запускался. Был бы какой-нибудь Update-<BuildNumber>.farconfig можно было бы легко справляться с улучшениями новых версий, а сейчас приходится городить костыльные скрипты с «Far.exe -import».
Last edited by Taciturn on Mon 05 Jan, 2026 01:48, edited 1 time in total.
2useven10
Posts: 5498
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by 2useven10 »

Taciturn, пробуйте
w17 2026-01-04 21:12:17+03:00 - build 6625 1. Experimantal -- far:config CodePages.NoAutoDetectCJK = true
Это умолчательное значение.
2useven10
Posts: 5498
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by 2useven10 »

Есть польза от цитирования - опечатки видны :)
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by HaRT »

2useven10 wrote: Mon 05 Jan, 2026 03:31
1. Experimantal -- far:config CodePages.NoAutoDetectCJK = true
Это умолчательное значение.
Т.е. вы отказались от идеи сделать значение по умолчанию зависящим от локали (чтобы в локалях, использующих CJK, было по умолчанию false)?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS
2useven10
Posts: 5498
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by 2useven10 »

HaRT wrote: Mon 05 Jan, 2026 03:57 Т.е. вы отказались от идеи сделать значение по умолчанию зависящим от локали
Если будет потребность, можно позже сделать переключатель трехпозиционным (третье состояние - определять по локали).
Пользователей которым нужны CJK кодировки у нас не думаю что много, и конкретно эта проблема для них вряд ли будет основной.
Ну и надёжность определения именно в двухбайтных кодировках оставляет сомнения.
User avatar
Taciturn
Posts: 645
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 101 times
Been thanked: 36 times
Contact:

Как бы убрать некоторые таблицы из автоопределения в редакторе/вьюере?

Post by Taciturn »

2useven10, пробую. На первый взгляд стало гораздо лучше.
Post Reply

Return to “Нужна помощь”