Внедрение спецсимволов в xml-текст
Для внедрения нестандартных символов в некоторый 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-атрибут эскейп-кодов:
Таблица _
Знак | Фраза | Эскейп-код |
Против часовой стрелки до упора | À | |
По часовой стрелке до упора | Á | |
По часовой стрелке | Â | |
Против часовой стрелки | Ã | |
Транспарант меняет состояние при выдаче команды | Ä | |
Транспарант мигает | Å | |
Транспарант не горит (гаснет) | Æ | |
Транспарант горит (загорается) | Ç | |
Нажать на клавишу (кнопку) с фиксацией | È | |
Нажать на клавишу (кнопку) без фиксации | É | |
тмб Вкл (вверх) | Ê | |
тмб Откл (вниз) | Ë | |
Расстыковать, отстыковать (в командном виде) | Ì | |
Подстыковать, состыковать (в командном виде) | Í | |
Привести в указанное состояние | Î | |
Проверить ладонью | Ï | |
Проверить на слух | Ð | |
Проверить однократно (визуальный контроль) | Ñ | |
Дважды щелкнуть левой кнопкой мыши | Ò | |
Щелкнуть правой кнопкой мыши | Ó | |
Щелкнуть левой кнопкой мыши | Ô | |
Проверить. В случае несовпадения предпринять действия для достижения совпадения (однократно) | Õ | |
Отжать клавишу (кнопку) | Ö | |
Разъем | ¿ | |
Режим съемки | ¾ | |
СВД питания | ½ |
ЗАКЛЮЧЕНИЕ
В настоящем отчете приведено описание комплекса программных средств, новой версии модуля для представления членам экипажа Российского сегмента МКС виртуальных руководств по проведению космических экспериментов. Использование созданного комплекса в бортовых условиях позволяет существенно повысить удобство, оперативность, надежность доступа персонала к инструктивным материалам, существенно расширяет функциональные возможности бортовой информационной среды, обеспечивает повышение производительности работ в сложных условиях.