Для внедрения нестандартных символов в некоторый TrueType-шрифт используется векторный графический редактор CorelDraw! В нем имеется возможность экспорта изображений в виде символов. При этом можно дорабатывать стандартные шрифты:
· Подбирается базовый TTF-фонт (две буквы Т на иконке - только такой, а не OPEN_TTF с иконкой О!). Шрифт должен быть без засечек, желательно семейства ARIAL - именно тот, который будет непосредственно встроен в динамические текстовые поля. В нем обязательно должна быть кириллица! В нашем случае это Arial.Ttf.
· Файл шрифта копируется в доступное место, например, на Рабочий стол.
· В CorelDraw! создается новый файл с размерами поля 720х720.
· Новые символы рисуются кривыми Безье или обрисовываются по контуру подставленной jpg-картинки-образца. Таким образом, в кривых или прямых линиях формируется контур нового символа; заливать контур цветом не надо!
· Контур растягивается до максимального размера в пределах поля 720х720.
Естественно, для новых символов в модифицируемом шрифте нужно пожертвовать какими-то ненужными знаками: на идиш, арабском, шведском языках. Правда, их с нашей клавиатуры не введешь. Но есть возможность заменить их кодовыми сочетаниями (эскейп-последовательностями), например © - это знак копирайта.
ВНИМАНИЕ!!! В этом сочетании точка с запятой – не разделитель, а обязательный элемент кода!
Если такой эскейп-код вставить в текст атрибута xml, то FLASH CS** опознает его как копирайт, и выведет на его позиции спецсимвол.
Для распознавания эскейп-последовательности FLASH CS** должен думать, что читает html, для этого в текстовом инспекторе динамического поля должна быть нажата кнопка рендер html или в скрипте задана команда text.html. С другой стороны, известно из литературы и проверено на практике, что html извне в скомпилированный swf не вводится, его туда можно вставить только до компиляции исходного текста fla. Поэтому <тэги html>, экспортируемые извне, отключают текст в динамическом поле. Но, если тэгов не вставлять, а рендер html все же включить, то эскейп-последовательность благополучно срабатывает…
· Новый символ экспортируется в базовую копию TTF-шрифта на Рабочем столе. Экспорт сразу в WINDOWS/Fonts запрещен. В копию последовательно вводится каждый новый символ. Здесь важно, что все остальные символы этого шрифта сохраняются, значит, не нужно создавать их полный набор.
· Для экспорта символ выделяется в окне CorelDraw!, нажимается Ctrl+E. В появившемся окне Export нужно установить формат шрифтового файла TTF, поставить галочку Selected only и указать путь к файлу корректируемого шрифта (на Рабочем столе).


В верхнем правом окне формы True Type Export выбирается Блок символов. По умолчанию предлагается Основной латинский, но его трогать нельзя, нужно опуститься в выпадающем списке на одну позицию и выбрать Добавленный латинский 1. Далее выбрать, какой знак будет заменен на новый символ. Можно пожертвовать греческими или скандинавскими буквами, реально не нужными в нашем случае. Главное, чтобы они входили в стандартную кодировку ASCII.
Для выбранных неактуальных символов, нужно записать для памяти их номера (Character number) и нажать ОК.
Эти действия необходимо проделать с каждым корректируемым символом!
При разработке эскейп-кодов для 23 спецсимволов ВИРУ был выбран диапазон кодов 192-214 – какие-то скандинавские подобия А, Е, I и т.п. Получился такой xml:
<text text2="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ" >
</text>
Скорректированный шрифт копируется с Рабочего стола в папку Windows/Fonts. Если там есть одноименный шрифт, его нужно предварительно удалить. Теперь скорректированный шрифт будет виден в списке доступных шрифтов FLASH CS5.5.
Во FLASH CS5.5 новый шрифт встраивается в нужное динамическое текстовое поле. При этом в списке эмбед-шрифтов нужно обязательно (!!!) поставить птичку в строках: Базовый Латинский, Пунктуация, Цифры, Кириллица и Добавленный латинский 1.
После компиляции swf с новым шрифтом, можно для проверки удалить наш новый фонт из папки WINDOWS/Fonts, - и все, тем не менее, должно работать. Созданный шрифт и векторные файлы cdr для каждого нового символа следует сохранить в надежном месте! Именно их нужно будет при необходимости корректировать и вновь вставлять в WINDOWS/Fonts.
В завершение работы нужно сформировать таблицу соответствий пиктограмм и эскейп-кодов, - инструкцию для составителей xml.
Для отображения спецсимволов адаптированы следующие динамические текстовые поля, и могут использоваться соответствующие xml-атрибуты:
нижнее поле комментариев - **_XML/MAIN.xml: full_name;
поле Примечаний и Предупреждений - **_XML/MAIN.xml: text3
поле Краткого описания действий - **_XML/MAIN.xml: text2.
23 графических символа ВИРУ вводятся в текст путем подстановки в xml-атрибут эскейп-кодов:
Таблица _
Знак
| Фраза
| Эскейп-код
|
| Против часовой стрелки до упора
| À
|
| По часовой стрелке до упора
| Á
|
| По часовой стрелке
| Â
|
| Против часовой стрелки
| Ã
|
| Транспарант меняет состояние при выдаче команды
| Ä
|
| Транспарант мигает
| Å
|
| Транспарант не горит (гаснет)
| Æ
|
| Транспарант горит (загорается)
| Ç
|
| Нажать на клавишу (кнопку) с фиксацией
| È
|
| Нажать на клавишу (кнопку) без фиксации
| É
|
| тмб Вкл (вверх)
| Ê
|
| тмб Откл (вниз)
| Ë
|
| Расстыковать, отстыковать (в командном виде)
| Ì
|
| Подстыковать, состыковать (в командном виде)
| Í
|
| Привести в указанное состояние
| Î
|
| Проверить ладонью
| Ï
|
| Проверить на слух
| Ð
|
| Проверить однократно (визуальный контроль)
| Ñ
|
| Дважды щелкнуть левой кнопкой мыши
| Ò
|
| Щелкнуть правой кнопкой мыши
| Ó
|
| Щелкнуть левой кнопкой мыши
| Ô
|
| Проверить. В случае несовпадения предпринять действия для достижения совпадения (однократно)
| Õ
|
| Отжать клавишу (кнопку)
| Ö
|
| Разъем
| ¿
|
| Режим съемки
| ¾
|
| СВД питания
| ½
|
ЗАКЛЮЧЕНИЕ
В настоящем отчете приведено описание комплекса программных средств, новой версии модуля для представления членам экипажа Российского сегмента МКС виртуальных руководств по проведению космических экспериментов. Использование созданного комплекса в бортовых условиях позволяет существенно повысить удобство, оперативность, надежность доступа персонала к инструктивным материалам, существенно расширяет функциональные возможности бортовой информационной среды, обеспечивает повышение производительности работ в сложных условиях.