LINUX.ORG.RU

Pepper Flash и его работа с внешними шрифтами на Ubuntu 12.04

 


0

1

Привет всем. На форуме я новенький, очень сильно нужен совет местных ветеранов, хорошо понимающих работу Flash плагина в связке Pepper Flash - Chrome - Ubuntu (Linux).

Используя платформу Flash мы делаем под заказ копию системы, где очень важно соблюдать точность шрифтов. В основном используются два шрифта Arial и ComicSan, с установками сглаживания «шрифты устройства». С такими установками flash использует внешние шрифты, это очень важно, только так получаем нужный нам шрифт. Раньше мы работали на старой версии браузера Chromium 28 версии со стандартным плагином Flash 11.2 и было все замечательно. Но теперь нам нужно аппаратное ускорение Flash, которое появляется только с Chrome 45 версии с Pepper Flash 20 и обновленной средой Ubuntu 12.04.5 server новое ядро, иксы, и Mesa 3D.

И вот здесь мы уперлись в шрифты. При загрузки ролика под Pepper Flash шрифты Arial совсем не те, то есть они те, но с другим сглаживанием, а вот ComicSan отображается правильно. Сделал дополнительный опыт, откатился до Chrome 30 версии и поставил два плагина, стандартный Flash Player 11.2 и Pepper Flash 11.6. На странице браузера Plugin переключаю плагины по очереди, на стандартном Flash Player 11.2 шрифты все отображаются верно, включаю Pepper Flash 11.6 и он сразу совсем делает другой Arial. Вот такая делема, вроде разработчик один, а похоже плагины тянут шрифты по разному, кстати под виндовс 7 все четко. Для приближения шрифта установил из репозитория fontconfig-infinality, очень интересный конфиг, поставил сглаживание под WinXP и максимально приблизился к тому что нужно, но все равно результат не тот. Помогите разобраться, обещаю за совет личную благодарность.

Ответ на: комментарий от Sorcerer

Разработано было в 2013 году, это обычная поддержка продукта.

Max-Payn
() автор топика

При загрузки ролика под Pepper Flash шрифты Arial совсем не те, то есть они те, но с другим сглаживанием, а вот ComicSan отображается правильно.

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

Помогите разобраться, обещаю за совет личную благодарность.

В чем разобраться? Как пропатчить новый флешплагин, чтобы там шрифт сглаживался так же, как и в старом? Это стоит денег

SZT ★★★★★
()

Кстати, как там будет работать сглаживание, если в вайне запускать флешплеер виндовый?

SZT ★★★★★
()
Ответ на: комментарий от SZT

Через WINE не пробовал, можно попробовать, а какой толк в этом? Старую версию плагина я не могу использовать на новом Chrome, думаю вам про это не надо рассказывать. Что старый Pepper, что новый, одинаково работают с шрифтами, конечно я могу управлять сглаживанием через конфиг infinality, но хочется чтобы без ручек и чтобы четко выезжал шрифт сам по себе как на родной 11.2. На счет пропатчить, о каких деньгах мы говорим?

Max-Payn
() автор топика
Ответ на: комментарий от Max-Payn

https://code.google.com/p/chromium/issues/detail?id=308632 нашел такой багрепорт. Проверил в разных флешах эту страницу http://betterstatistics.org/bugs/chrome/flash/fonts/

И действительно, сглаживание отличается. Сравнил в плагине фаерфокса, плагине хрома и gnash - везде разное. Там даже Comic sans по-разному выглядит https://i.imgur.com/jOoU4hn.png (проверял в Ubuntu 14.04.3) хотя вы утверждали:

а вот ComicSan отображается правильно.

Кстати, какой именно вариант сглаживания самый правильный?


https://bugbase.adobe.com/index.cfm?event=bug&id=3653532 баг на адобовском сайте подтвержден, но не пофикшен(хотя там вообще идет речь о определении размера шрифта, а не о различиях сглаживания, но не суть).

На счет пропатчить, о каких деньгах мы говорим?

Зависит от способа решения.

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

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

Еще один вариант - попробовать пропихнуть в флеш сам рендерер шрифтов, например попробовать скомпилировать FreeType в флеш. Библиотека рендеринга шрифтов FreeType написана на Си, а у адобы есть какой-то компилятор из Си в флеш https://adobe-flash.github.io/crossbridge/ который она когда-то развивала и забросила. Есть форк https://github.com/crossbridge-community/crossbridge

Не берусь оценивать стоимость всего этого. Цена явно зависит от способа решения проблемы и от того, кто будет этим заниматься. Я знаком с actionscript только в контексте разбора эксплоита, который утек у Hacking Team. Я вижу основную проблему в использовании флеша, и советую уходить с него побыстрее, переписав код на другой язык программирования/платформу, где поведение рендерера шрифтов более предсказуемое

SZT ★★★★★
()

К тому же ни в одном протестрированном флеше я не увидел субпиксельного сглаживания. Может я что-то не так делаю. Хотелось бы посмотреть на те примеры, где шрифт Arial ведет себя по-разному, а Comic Sans одинаково на обеих флешах. Судя по моим тестам, оба шрифта ведут себя по-разному в зависимости от флеш-плагина. А gnash сглаживает таким же образом, как и хромовый флеш-плагин. Может я что-то в настройках не указал. Жду примера swf где будет разница в шрифте Arial и не будет в шрифте Comic Sans

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 1)

http://www.joelonsoftware.com/items/2007/06/12.html кроме того, не существует единого правильного способа сглаживать шрифты

У вас там какая-то программа для предпечатной подготовки, или как?

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 1)
Ответ на: комментарий от SZT

Спасибо вам за раскрытый ответ. Вы оказались правы,Comic Sans так же страдает, не досмотрел. На счет бага, в зависимости от сглаживания, могут меняться пропорции и размеры шрифта, это факт на примере. Но как я понимаю это вопрос только если использовать во флеше метод сглаживание «шрифты устройств», так как если встраить во флеш шрифты со своим родным сглаживанием, то вроде как проблем нет. На счет дебажить плагин это конечно вариант, но не хочется в нем чего то ломать, сам плагин и так шаткий, и еще внешние вмешательства, ой не знаю. Попробуем проект так отдать, посмотрим на ответ заказчика. Вот мои пример, шрифты устройства Arial и Comic San.

font.jpg

Max-Payn
() автор топика
Ответ на: комментарий от SZT

я не вижу как можно вести на этом портале личную переписку, напишите мне на Max-Payn@ukr.net, мы с вами земляки.

Max-Payn
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.