четверг, 2 марта 2017 г.

Странности с рендерингом изображений в текстовых документах LibreOffice

В последнее время обратил внимание, что втсавленные в текстовый документ картинки как-то странно выглядят, как будто им специально ухудшили качество. (Все картинки из статьи нужно смотреть щелкая по ним, чтобы было видно, о чем я говорю).
Вот пример:
Обратите внимание на текст внутри скриншота, вставленного в текст. Нет сглаживания и сам шрифт как будто пообкусывали.
Та же самая картинка, но уже после экспорта в пдф:
Разница есть, согласитесь. И еще это говорит о том, что это не картинка сама плохого качества, а что отображается она во Writer в плохом качестве. Зачем - это вопрос.
Вот увеличенная картинка:
Сразу оговорюсь, может эти многочисленные скриншоты со скриншотов и не передают всю глубину проблемы...
Вчера я внезапно обнаружил, что у меня включен OpenGL в портативной версии LibreOffice, в которой я работаю, и я его отключил. Картинки стали гладкие и прекрасные! На виндовс. Я порадовался, так как к багам со стороны OpenGL отношусь, как к неизбежному злу. Хорошего в них ничего нет, однако и сделать я ничего не могу (и разработчики тоже судя по всему, хотя и стараются изо всех сил).
И вишенка, тот же документ в ОС Linux в LibreOffice БЕЗ OpenGL:
OpenGL отключен, а проблема осталась =(
При этом мне намного больше нравится работать с документом в LibreOffice под Linux, как-то там все выглядит аккуратнее, и интерфейс и сам документ рендерятся корректно и красиво все.

PS: морали никакой не будет, если я соберусь с силами, то напишу багу в багзиллу, пусть даже это будет дубликатом.
PPS: Mike, если будешь писать комментарии, то пожалуйста озвучь причину такого поведения LibreOffice ;)

5 комментариев:

  1. Картинка в либреофисе не хуже, просто в ней отключено сглаживание. И похоже на мониторе у вас нестандартный dpi стоит (не 96, а 125% или 150 от него), поэтому шрифты такие кучерявые немного на скриншоте, а может просто хинтинг у винды такой. Предполагаю это из-за нового движка ренеринга.

    ОтветитьУдалить
    Ответы
    1. Да шрифт в настройках ОС увеличен до 125%. Однако это не отменяет того факта, что после отключения OpenGL картинка становится нормальной (на винде).

      Удалить
    2. Заведите багу о том что нет сглаживания) я так понимаю винить надо новый hardbuzz

      Удалить
    3. О... :) рождение мифов в действии.

      HarfBuzz занимается определением, где на канве (в каких координатах) и с какими преобразованиями (размер, сдвиг, поворот, ...) будет находиться какой символ текста. Он даже отрисовкой текста не занимается, только определением где и как. А уж про рендеринг растровых изображений он вообще ни сном ни духом...

      Удалить
  2. Бага оказалась известной разработчикам и даже уже пофиксена (что требует проверки). Трабла в OpenGL была, чему я не удивлен ни разу

    ОтветитьУдалить