PDA

Просмотр полной версии : Шрифты



Александр Приходько
15.05.2016, 23:08
Здравствуйте, уважаемые форумчане!
Хочу сделать небольшой анонс новых прошивок.

Думаю, что все кто работали с СПК неоднократно сталкивались с проблемой, что текст, написанный с среде программирования, отличается от того, что реально выводится на экран. И зачастую это приводило к лишним танцам с бубном и оптимизации визуализации.

Почему так происходит?
Когда мы создаем проект в среде CODESYS, то делаем мы это в ОС WINDOWS. И среда использует все шрифты, которые установлены в системе. Проект, который запускается в СПК уже использует шрифты которые есть в контроллере. А как вы уже можете догадаться в СПК используется операционная система Linux. И если шрифт, который был применен в проекте в СПК нет, то LINUX будет сам подбирать шрифт, который нужно применить. Отсюда вытекает разница в начертаниях на ПК и на СПК.

Продвинутый пользователь может сразу сказать, ну и в чем проблема? Положите в СПК шрифты из ОС WINDOWS и будет счастье.
Но не все так просто. Я постараюсь сразу указать те ограничения, с которыми ми столкнулись при решении данной задачи:
1. В разных редакциях WINDOWS многие встроенные шрифты сильно различаются визуально и версионно. Ярким примером является ARIAL. Но проблема усложняется, тем, что WINDOWS не дает перезаписывать системные шрифты. Соответственно многие системные шрифты мы не можем использовать в СПК, т.к. если мы сделаем клиентский инсталлятор шрифтов, то при установке они не перезапишутся. И опять будет различие между начертанием на ПК и СПК.
2. В текущих прошивках СПК 3.9хх в LINUX организована поддержка шрифтов TTF. Соответственно другие шрифты применять нельзя.
3. При настройке визуализации мы ставим галку использовать UNICODE. Это означает, что используемые шрифты должны поддерживать отображение символов UNICODE и более того шрифты должны содержать подгруппы символов русского языка. Многие шрифты, которые мы хотели использовать изначально такой поддержки не имеют.
4. Те кто хоть как то сталкивались с мощными графическими редакторами или программами для подготовки типографии знают, что у шрифтов может быть огромное количество начертаний. Думаю что большинству станет понятно, если я скажу, что под начертанием имеется ввиду - курсив, обычный, жирный. Но у современных шрифтов есть и множество дополнительных начертаний, как ультра жирный, сжатый, сверхтонкий и другие. Linux зачастую эти дополнительные начертания не понимает.

Мы долго подбирали разные шрифты и решили остановиться на следующих пяти:

DS Cristal
PF Agora Serif Pro
PF DinDisplay Pro
Tahoma
Times New Roman


Поддержка шрифтов будет осуществлена в СПК207[М02], СПК207[М04] в прошивках 3.955. Прошивки уже собраны, перед выкладкой на сайт проходят полное тестирование. Релиз сделаем в течении недели.
Также шрифты будут поддержаны в новых экспериментальных прошивках с версии 4.001. Версия появится 10 июня.
В СПК1хх поддержку осуществим в течении месяца, из за высокой загруженности.

В течении недели мы обновим документ по визуализации, в нем будет подробно описаны способы работы со шрифтами:

Применение в проекте
Создание своих стилей визуализации



Что еще планируем сделать (только в прошивках 4.ххх):

Ограничить список шрифтов в TARGET файле
Реализовать возможность в СПК поддержки клиентских шрифтов
Поддержка типов шрифтов OTF, и др.


Ну и напоследок небольшое видео (проект, тестирующий все поддержанные шрифты и начертания, и обновленный конфигуратор с шрифтом PF DinDisplay Pro):

http://www.youtube.com/watch?v=yAmYhx3zSkg

capzap
16.05.2016, 07:17
Что то мне подсказывает, что в этом списке не хватает Droid Sans Fallback

Александр Приходько
16.05.2016, 11:23
Что то мне подсказывает, что в этом списке не хватает Droid Sans Fallback
Capzap, вы не единственный, кто захочет поддержку других шрифтов. В связи с этим я анонсировал, что в прошивках 4.xxx мы постараемся добавить поддержку пользовательских шрифтов. Пока будет 5 шрифтов. В большинстве случаев их более чем достаточно.

Александр Приходько
01.06.2016, 22:59
Релиз немного затягивается, в связи с началом сезона отпусков. Сроки переносятся до 10 июня.

Александр Бакин
18.06.2016, 17:31
Добрый день. Вопрос со теме.
панель СПК107 вер.3.947, компилятор Codesys v 3.5.7.0
проблема следующая. Файл приложен. текст на экране отображается в виде иероглифов. причем только в таблице. В остальных элементах "Метка", "кнопка" отображается нормально. шрифт одинаковый везде Tahoma. пробовал менять на arial - безрезультатно
25013

Евгений Кислов
18.06.2016, 17:34
Добрый день. Вопрос со теме.
панель СПК107 вер.3.947, компилятор Codesys v 3.5.7.0
проблема следующая. Файл приложен. текст на экране отображается в виде иероглифов. причем только в таблице. В остальных элементах "Метка", "кнопка" отображается нормально. шрифт одинаковый везде Tahoma. пробовал менять на arial - безрезультатно
25013

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

Эдуард_Н
29.10.2016, 04:40
Выложите пожалуйста выбранные Вами шрифты, не у всех они есть изначально.

Евгений Кислов
29.10.2016, 10:31
Выложите пожалуйста выбранные Вами шрифты, не у всех они есть изначально.

https://yadi.sk/d/rRhdCmYqmJpD9/04%20%D0%A8%D1%80%D0%B8%D1%84%D1%82%D1%8B

Сема
02.11.2016, 17:33
Добрый день, а почему например, сразу не выделить и ограничить в Codesys 3.5 шрифты необходимые для Линукса?

Эдуард_Н
02.11.2016, 17:57
Добрый день, а почему например, сразу не выделить и ограничить в Codesys 3.5 шрифты необходимые для Линукса?

Это и будет в новом таргете.

Эдуард_Н
15.11.2016, 10:23
У этого шрифта •DS Cristal создатель похоже не того. Или к "7-е" хвостик надо приделать или у "1" его отнять.
Вот переделанные и так и так.

Александр Приходько
14.12.2016, 01:43
Обещанный функционал реализован в ПО из данной ветки: http://www.owen.ru/forum/showthread.php?t=25756.
Тему закрываем.