[RUS]Русификация проекта панели оператора A-B PanelView

примеры программ
Post Reply
Ryzhij
Posts: 406
Joined: Mon Mar 31, 2008 11:29 am
Location: Ryazan, Russia

[RUS]Русификация проекта панели оператора A-B PanelView

Post by Ryzhij » Mon Jan 31, 2011 2:34 pm

Русификация проекта панели оператора A-B PanelView

Часто заказчик совершенно справедливо требует национального интерфейса оператора на панели.
Иногда приходится решать указанную задачу и в связи с форс-мажорными обстоятельствами.
В моём случае это пришлось делать из-за того, что поставщик вопреки указанной в спецификации панели PV300 keypad, в проекте которой можно было бы использовать кирилический шрифт на карточке флэш-памяти, укомплектовал свой агрегат панелькой PV300micro, в которой такой вариант не проходит.
Остаётся одно - переработать проект.
Можно попытаться убедить заказчика на вариант с транслитерацией, но я оставил это себе как "последнюю линию обороны", и выбрал метод подстановки графических объектов.

Результаты можно посмотреть здесь: http://zalil.ru/30431299

Помимо PanelBuilder-а нам потребуются:
1) Кирилические пиксельные шрифты, коллекцию которых можно скачать здесь http://rupixel.com/pixfonts2.php
2) Графический редактор, например mtPaint http://mtpaint.sourceforge.net/ для создания необходимых BMP-вставок.
3) Просмотровщик и преобразователь графики, например XnView: http://www.xnview.com/ для независимого просмотра полученных BMP-шек и преобразования их глубины цвета до монохромной.

Некоторые "подводные камни".

Как оказалось, несмотря на способность PanelBuilder-а масштабировать и втягивать в проект цветные изображения, результат может оказаться весьма далёким от совершенства.
Именно поэтому, после некоторых разочарований от проб со стандартными Windows-шрифтами я стал искать именно пиксельные шрифты изначально малого размера.
Из-за этого я сначала определял размер требуемого графического объекта в пикселах (нижняя строка PanelBuilder-а), а уж только потом создавал его.
Создав BMP-файл я с удивлением обнаруживал, что глубина цвета, несмотря на черно-белый режим редактора, по-прежнему избыточна и сбивает с толку PanelBuilder.
Тут мне на помощь и пришёл XnView.

Некоторые типы объектов анимации не поддерживают графику, а только текст.
Поэтому в одном из экранов мне пришлось перейти от объекта типа "список", к типу "индикатор с множеством состояний". Это потребовало внесения некоторых изменений в программу контроллера для создания ещё одного тега.

Как ни старайся, а список аварийных сообщений графикой не сделаешь.
Переделывать же вывод всех аварий на отдельный экран с индикатором на ВЕЛИКОЕ множество состояний, откровенно говоря, было лень, и тут я дал слабину - просто воспользовался транслитерацией аварийных сообщений.

Приятные неожиданности.
В самом начале работы у меня были сомнения, а хватит ли памяти в панельке? Оказалось, что при переходе к одно-язЫкому (только русскому) варианту проекта, его объём, несмотря на большое количество импортированных картинок не только не увеличился, а даже уменьшился.

Kirillij
Posts: 37
Joined: Wed Dec 15, 2010 8:49 pm

Re: [RUS]Русификация проекта панели оператора A-B PanelView

Post by Kirillij » Fri Jul 17, 2015 12:55 pm

И вот по прошествии 9-ти лет именно этот текст мне понадобился. Спасибо. (pgood)

Post Reply