View Issue Details

IDProjectCategoryView StatusLast Update
0003455Far ManagerInterfacepublic2017-10-31 23:02
Reporterantonr Assigned ToDrKnS  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionnot fixable 
Platformx64OSx64 Windows 10 build 15063.483OS Version1703
Product Version3.0 
Summary0003455: Ломается весь интерфейс при наличии старших юникодных символов
DescriptionПодробное описание:
при использовании точечных шрифтов ломается любой (панели, редактор, диалоги) интерфейс Far, если текст на экране содержит старшие символы Unicode (например иероглифы).
Steps To Reproduce1) установить для окна Far точечный шрифт
https://paste.pics/d2ecc48bfcc2ac7193750ec884837f6c
2) открыть в панели папку с иероглифами в названиях файлов
http://paste.pics/643f77420ab5c16f08051d63999239f5
получится вот такое
http://paste.pics/6b06ada5ccf7ef2ca6091e473d601d8a
примерно такое же получается в диалоге при копировании файлов, в редакторе и просмотрщике
Additional InformationПоявилось где-то между 4900 и 4949.
Спасибо
TagsNo tags attached.
Build0

Activities

antonr

2017-07-22 09:27

reporter  

antonr

2017-07-22 09:27

reporter  

antonr

2017-07-22 09:28

reporter   bugnote:0015472

Залил скриншоты.
Баг повторяется в 4991

2useven10

2017-07-22 10:05

developer   bugnote:0015473

Last edited: 2017-07-22 10:05

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

antonr

2017-07-22 17:21

reporter   bugnote:0015474

Спасибо за пояснение.
Жаль, всю жизнь использовал точечные шрифты в Far.

DrKnS

2017-07-22 18:00

administrator   bugnote:0015475

> Появилось где-то между 4900 и 4949.

Вы уверены, что оно не всегда так было?

antonr

2017-07-23 09:42

reporter   bugnote:0015476

Уверен, потому всегда настраивал точечные шрифты для Far сразу как только устанавливал.

Только теперь я не уверен, поломалось ли что-то в Far или это стало появляться после апгрейда Windows с 8.1 на 10 или 10-ки на новую сборку.

antonr

2017-07-23 09:51

reporter   bugnote:0015477

Попробовал на сборке 4787 x64 и x86. На ней эта проблема тоже присутствует. Так что возможно, дело в Windows.

zg

2017-07-23 10:01

developer   bugnote:0015478

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

SEt

2017-07-24 21:46

reporter   bugnote:0015484

Совершенно непонятно, почему проблемы консоли по-прежнему остаются проблемой интерфейса Far'а.
Это как сказать, что в консоли невозможна графика, а поэтому и в Far'е.

DrKnS

2017-07-25 09:11

administrator   bugnote:0015485

> Совершенно непонятно

Если не ошибаюсь, вы забыли прикрепить патч с решением проблемы.

SEt

2017-07-25 17:48

reporter   bugnote:0015486

Нет, ошибаетесь. Преписывать такую сильно интегрированную часть Far'а как отрисовка только для очевидной демонстрации, что так можно, у меня точно нет желания.

На относительно простое решение проблемы я намекнул: рисовать элементы Far'а так же как рисуются сейчас картинки - дочерним окном к консоли. Но делать это должны Far Group, а не кто-то сторонний, ибо никаких гарантий, что такой сторонний патч примут, нет - только опять начнутся холивары.

2useven10

2017-07-25 19:11

developer   bugnote:0015488

Решение относительно простое для отрисовки из самого фара.
Иначе это будет очередной эмулятор консоли.
Один уже есть, вполне работоспособный, и с отрисовкой иероглифов
может и не идеально, но справляется.

zg

2017-07-25 19:44

developer   bugnote:0015489

а как предлагается бороться с тем, что всякие WriteConsoleOutput - асинхронные?

SEt

2017-07-25 20:20

reporter   bugnote:0015490

Я предлагаю такую альтернативную отрисовку только для самого фара. Понятно, что универсально решить все проблемы консоли не получится.

А в чём проблемы с асинхронностью? В самом простом варианте Far внутри себя держит текстовый буфер, который рисуется графическим выводом текста, а не консольным. Лучше, конечно, что-то поинтеллектуальнее, чтобы иероглифы нормально выводились - если их запихать в размеры обычной буквы, то становится совсем плохо с читаемостью.

zg

2017-07-25 20:36

developer   bugnote:0015491

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

DrKnS

2017-07-25 20:52

administrator   bugnote:0015492

> В самом простом варианте Far внутри себя держит текстовый буфер, который рисуется графическим выводом текста

Поддержка внешней отрисовки (подкладываете свою dll, получаете буфер, рисуете его, чем хотите) была добавлена шесть лет назад.

olegyershov

2017-08-08 13:09

reporter   bugnote:0015519

Last edited: 2017-08-08 13:09

Добрый день,
Только что хотел запостить такой же баг-репорт, обнаружил что уже есть...
> Появилось где-то между 4900 и 4949.
Вы уверены, что оно не всегда так было?
Подтверждаю. Всегда использовал растровые шрифты. Раньше такого не было даже в более ранней версии FAR 3.0. Truetype шрифты для консольного приложения какие-то дурацкие, если честно.
Юникодные файлы у меня лежат на компе, еще когда был FAR 2.0. Правда в эту папку не часто залезаю.
Но с truetype ничего не ломается почему-то.

DrKnS

2017-08-08 13:21

administrator   bugnote:0015520

> Раньше такого не было даже в более ранней версии FAR 3.0

Раньше и трава зеленее была, да.

Поясню вопрос.
Если вы сейчас, на этой же ОС, с этими же настройками, с этими же файлами, возьмёте эту "более раннюю версию FAR 3.0" (кстати, какую именно?), результат будет другим?

olegyershov

2017-08-08 13:37

reporter   bugnote:0015521

Уговорили...
Поставил Far 2.0
Растровые шрифты все ломают.

Issue History

Date Modified Username Field Change
2017-07-22 09:18 antonr New Issue
2017-07-22 09:27 antonr File Added: d2ecc48bfcc2ac7193750ec884837f6c.png
2017-07-22 09:27 antonr File Added: 6b06ada5ccf7ef2ca6091e473d601d8a.png
2017-07-22 09:28 antonr Note Added: 0015472
2017-07-22 10:05 2useven10 Note Added: 0015473
2017-07-22 10:05 2useven10 Note Edited: 0015473
2017-07-22 17:21 antonr Note Added: 0015474
2017-07-22 18:00 DrKnS Note Added: 0015475
2017-07-23 09:42 antonr Note Added: 0015476
2017-07-23 09:51 antonr Note Added: 0015477
2017-07-23 10:01 zg Note Added: 0015478
2017-07-24 21:46 SEt Note Added: 0015484
2017-07-25 09:11 DrKnS Note Added: 0015485
2017-07-25 17:48 SEt Note Added: 0015486
2017-07-25 19:11 2useven10 Note Added: 0015488
2017-07-25 19:44 zg Note Added: 0015489
2017-07-25 20:20 SEt Note Added: 0015490
2017-07-25 20:36 zg Note Added: 0015491
2017-07-25 20:52 DrKnS Note Added: 0015492
2017-08-08 13:09 olegyershov Note Added: 0015519
2017-08-08 13:09 olegyershov Note Edited: 0015519
2017-08-08 13:21 DrKnS Note Added: 0015520
2017-08-08 13:37 olegyershov Note Added: 0015521
2017-10-31 23:02 DrKnS Assigned To => DrKnS
2017-10-31 23:02 DrKnS Status new => closed
2017-10-31 23:02 DrKnS Resolution open => not fixable
2017-10-31 23:02 DrKnS Build => 0