Winbox в Wine как исправить кривой шрифт

Я работаю в Linux (KDE Neon) и единственное Windows-приложение, которое мне приходится использовать — это Winbox (утилита для управления оборудованием MikroTik). Раньше я работал в других дистрибутивах Linux и эта проблема присутствовала и в них тоже.

Те, кто работал с Winbox в Linux, а может быть и в MacOS, если там эта проблема также присутствует, не могли не заметить проблемы со шрифтом, которая очень сильно влияет на комфортную работу, не позволяя нормально управлять курсором при редактировании значений полей и при выделении части поля для копирования.

Кривой шрифт Winbox в Wine - проблемы с выделением
Выделен пароль, но размер выделения значительно превышает размер символов
Кривой шрифт Winbox в Wine - проблемы с курсором
При редактировании невозможно определить, где фактически находится курсор

После выхода Wine-5, я надеялся, что эту проблему исправят. Но нет. Пришлось разбираться сначала с причиной этой проблемы, а затем находить способы ее решения.

Причина проблемы

Причина данной проблемы кроется в «кривом» шрифте Tahoma, который поставляется вместе с Wine. Конечно же, можно установить нормальный шрифт Tahoma в систему (либо в окружение пользователя), также можно, используя утилиту winetrix, установить нормальный шрифт прямо внутрь окружения Wine. Судя из документации Wine, шрифты пользователя имеют приоритет над системными, а системные имеют приоритет над шрифтами внутри Wine. Но ожидаемого чуда не произошло — Wine по прежнему использовал «кривой» шрифт Tahoma.

Решение проблемы

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

Я решил зайти с другой стороны и заменил файлы шрифтов по пути из реестра на свои. И это сработало! Теперь у меня наконец-то нормальный Winbox, с которым можно работать!

Возможно, достаточно просто установить нормальные шрифты в Wine (например, используя winetrix), а затем просто удалить «кривые» шрифты. Я так не пробовал. Если у кого-то сработает этот вариант — дайте, пожалуйста, знать.

Что нужно сделать

Скачать нормальные шрифты вручную, или через winetrix или при помощи команды:

cd /tmp && wget https://blog.denisbondar.com/file/tahoma.tar.gz

Удалить «кривые» шрифты

sudo rm /opt/wine-stable/share/wine/fonts/tahoma*

Разархивировать нормальные шрифты и скопировать их на место старых

tar xzf tahoma.tar.gz
sudo mv tahoma/* /opt/wine-stable/share/wine/fonts
rm -rf tahoma*

Результат — удобный Winbox

Теперь Winbox выглядит ровно. Размер выделения соответствует размеру текста, курсор отображается корректно.

Выделен пароль. Размер выделения совпадает с размером текста.
Курсор находится точно в тех позициях, где и должен быть.

Чем явно отличаются шрифты

Явное отличие в начертаниях «кривого» и нормального варианта Tahoma заключается в цифре 9 и в ширине знакомест.

Обычное начертание «кривого» шрифта
Жирное начертание «кривого» шрифта

Обратите внимание, что жирное начертание вовсе не жирное.

Теперь как выглядит нормальный шрифт.

Обычное начертание нормального шрифта
Жирное начертание нормального шрифта

Прокомментировать