View Issue Details

IDProjectCategoryView StatusLast Update
0001774Far ManagerCodepage Detector (UCD)public2011-10-01 09:59
Reporter2useven10Assigned Tovskirdin 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version3.0 
Target VersionFixed in Version3.0 
Summary0001774: Возможность завести 'черный список' кодовых страниц (codepages) autodetect
DescriptionВ конфиг добавлен текстовый параметр: strNoAutoDetectCP в котором через запятую
можно задавать кодовые страницы которые будут исключены из UCD автодетекта.

перечисленные здесь кодовые страницы будут исключены из детектирования nsUniversalDetectorEx.
автодетект юникодных страниц от этого не зависит, поэтому UTF-8 будет определяться даже если
65001 здесь присутствует. Если UniversalDetector выдаст страницу из этого списка, она будет
заменена на умолчательную ANSI или OEM, в зависимости от настроек.

умолчание: ""
пример: "1250,1252,1253,1255,855,10005,28592,28595,28597,28598,38598,65001"
Additional InformationИзменения для вьювера - часть 3 (хотя конкретно эти изменения относятся к любому использованию автодетекта UCD, например в редакторе)
TagsNo tags attached.
Build2040

Activities

2useven10

2011-05-19 00:21

developer  

vskirdin

2011-05-19 10:31

administrator   bugnote:0006900

Для чего?

2useven10

2011-05-19 11:15

developer   bugnote:0006902

Last edited: 2011-05-19 11:24

View 2 revisions

чтобы убрать автоопределение например гречекого (у меня его не бывает) код-пейджа на 1251 файлах (бывает). На форуме есть пара топиков на эту тему.
Вот например: http://forum.farmanager.com/viewtopic.php?f=3&t=5479

JohnDoe

2011-05-19 12:04

updater   bugnote:0006904

>можно задавать кодовые страницы которые будут исключены из UCD автодетекта.
...
>Если UniversalDetector выдаст страницу из этого списка, она будет заменена на умолчательную ANSI или OEM

Вот если бы исключить их в самом детекторе.

2useven10

2011-05-19 12:13

developer   bugnote:0006905

Last edited: 2011-05-19 12:19

View 2 revisions

с точки зрения производительности выигрыш будет невелик.
а править придется чужой код, который может быть впоследствии изменен...
другое дело, что в этом случае вместо дефолтной могла быть выбрана
другая - более подходящая страница. в любом случае предлагаемое решение гораздо проще в реализации.

max rusov

2011-05-19 13:04

reporter   bugnote:0006907

В FAR'Е есть понятие "любимых" кодировок. Может сделать так, чтобы autodetect выбирал только среди них?

2useven10

2011-05-19 13:37

developer   bugnote:0006911

не знал об этом...
как они задаются?

JohnDoe

2011-05-19 13:48

updater   bugnote:0006913

Last edited: 2011-05-19 13:51

View 2 revisions

>а править придется чужой код, который может быть впоследствии изменен...
Это конечно серьёзный аргумент...

>другое дело, что в этом случае вместо дефолтной могла быть выбрана другая - более подходящая страница
Именно об этом и речь.

>как они задаются?
На нижней рамке есть подсказка.

vskirdin

2011-05-19 14:10

administrator   bugnote:0006916

Ins - добавляет в фавориты (так же см. Ctrl-H)

2useven10

2011-05-19 14:21

developer   bugnote:0006919

можно и так, хотя возни больше. доп параметр (использовать только любимые ?и системные) всё равно нужен + определение 'класса' код пэйджа.

vskirdin

2011-05-19 14:38

administrator   bugnote:0006922

Хотя да... почему именно привязка к фаворитам?
Автодетект он и в Африке...

> Может сделать так, чтобы autodetect выбирал только среди них?
У меня, например, Hungarian не "любимая" кодировка и че? я должен лишаться возможности... :-)

С другой стороны, как мне кажется, этот функционал лишний. Вот если бы в скорости выигрывали на порядок, тогда ЭТО имело бы смысл.

max rusov

2011-05-19 15:09

reporter   bugnote:0006923

Нечего не лишний. Детектить среди всех существующих кодировок - абсурд. Детект постоянно глючит, выбирая всякие левые кодировки, с которыми я не работал никогда в жизни и не буду. Фильтр _очень_ нужен. Раз уже есть фавориты - использовать их вполне логично, IMHO.

2useven10

2011-05-19 15:14

developer   bugnote:0006924

дефолт будет работать как сейчас. а венгерскую можно и вручную задать, даже если исключения включены и она не в фаворитах.

JohnDoe

2011-05-19 15:38

updater   bugnote:0006925

Last edited: 2011-05-19 15:39

View 2 revisions

>а венгерскую можно и вручную задать
Зачем вручную. Просто нужна возможность на лету "деактивировать" ограничения.
Тот же Ctrl-H подойдёт, по совместительству.

2useven10

2011-05-19 15:48

developer   bugnote:0006927

Last edited: 2011-05-19 15:52

View 2 revisions

согласен. так даже доп параметр не нужен и все контролируется уже существующими средствами.
а скорость при детекте оптимизировать нет сысла, не так уж часто он случается (imho).

2useven10

2011-05-19 17:33

developer   bugnote:0006935

есть один минус в фаворитах+системные: там всегда будет присутствовать 65001.
и если UCD её детектирует (скорее всего ошибочно, потому что перед этим идет юникодный детектор, который решил, что 65001 не подходит) отменить это не получится.

2useven10

2011-05-20 11:25

developer  

2useven10

2011-05-20 11:30

developer   bugnote:0006962

итак: если strNoAutoDetectCP
  "" -- никакой фильтрации UCD автодетекта (это умолчание - как сейчас)
  "-1" -- пропускаются только ACP, OEMCP и любимые если Ctrl-H включен (иначе фильтрации нет)
  "cp1,cp2,..." -- не пропускаются перечисленные в списке

каждый может выбрать режим, который ему больше нравится...

vskirdin

2011-05-20 11:49

administrator   bugnote:0006963

> "-1" -- пропускаются только ACP, OEMCP и любимые если Ctrl-H включен (иначе фильтрации нет)
UTF-8 и прочая униходная предесть будет детектиться?

2useven10

2011-05-20 14:14

developer   bugnote:0006968

Last edited: 2011-05-20 14:14

View 2 revisions

будет, но не в UCD. Detect юникодов есть отдельно (до UCD) и на него этот фикс никак не влияет. Поэтому (см. выше) если UCD детектит юникод это чаще всего ошибка.

vskirdin

2011-05-20 15:53

administrator   bugnote:0006971

да, кстати, build 2039

2useven10

2011-05-20 17:24

developer   bugnote:0006976

в 2039 этого нет

vskirdin

2011-05-20 17:54

administrator   bugnote:0006977

ессесенно - не я же один коммитер :-)
теперь это 2040

vskirdin

2011-05-20 18:03

administrator   bugnote:0006978

2040

JohnDoe

2011-05-23 20:10

updater   bugnote:0007013

А в интерфейсе это будет?

P.S.
Сейчас настройки кодовых страниц разделены на настройки редактора и настройки вьювера.
Может стоит объединить их?

2 vskirdin: я ни в коем случае не имею ввиду что это надо делать в рамках данного тикета.

Issue History

Date Modified Username Field Change
2011-05-19 00:21 2useven10 New Issue
2011-05-19 00:21 2useven10 File Added: Autodetect-BlackList.diff
2011-05-19 10:31 vskirdin Note Added: 0006900
2011-05-19 11:15 2useven10 Note Added: 0006902
2011-05-19 11:24 2useven10 Note Edited: 0006902 View Revisions
2011-05-19 12:04 JohnDoe Note Added: 0006904
2011-05-19 12:13 2useven10 Note Added: 0006905
2011-05-19 12:19 2useven10 Note Edited: 0006905 View Revisions
2011-05-19 13:04 max rusov Note Added: 0006907
2011-05-19 13:37 2useven10 Note Added: 0006911
2011-05-19 13:48 JohnDoe Note Added: 0006913
2011-05-19 13:51 JohnDoe Note Edited: 0006913 View Revisions
2011-05-19 14:10 vskirdin Note Added: 0006916
2011-05-19 14:21 2useven10 Note Added: 0006919
2011-05-19 14:38 vskirdin Note Added: 0006922
2011-05-19 15:09 max rusov Note Added: 0006923
2011-05-19 15:14 2useven10 Note Added: 0006924
2011-05-19 15:38 JohnDoe Note Added: 0006925
2011-05-19 15:39 JohnDoe Note Edited: 0006925 View Revisions
2011-05-19 15:48 2useven10 Note Added: 0006927
2011-05-19 15:52 2useven10 Note Edited: 0006927 View Revisions
2011-05-19 17:33 2useven10 Note Added: 0006935
2011-05-20 11:25 2useven10 File Added: BlackList-WithFavorites.diff
2011-05-20 11:30 2useven10 Note Added: 0006962
2011-05-20 11:49 vskirdin Note Added: 0006963
2011-05-20 14:14 2useven10 Note Added: 0006968
2011-05-20 14:14 2useven10 Note Edited: 0006968 View Revisions
2011-05-20 15:53 vskirdin Note Added: 0006971
2011-05-20 15:53 vskirdin Assigned To => vskirdin
2011-05-20 15:53 vskirdin Status new => feedback
2011-05-20 17:24 2useven10 Note Added: 0006976
2011-05-20 17:24 2useven10 Status feedback => assigned
2011-05-20 17:54 vskirdin Note Added: 0006977
2011-05-20 18:03 vskirdin Note Added: 0006978
2011-05-20 18:03 vskirdin Status assigned => feedback
2011-05-23 20:10 JohnDoe Note Added: 0007013
2011-10-01 01:26 2useven10 Status feedback => resolved
2011-10-01 09:59 vskirdin Build => 2040
2011-10-01 09:59 vskirdin Status resolved => closed
2011-10-01 09:59 vskirdin Resolution open => fixed
2011-10-01 09:59 vskirdin Fixed in Version => 3.0