Information technology. Computer graphics. Metafile for the storage and transfer of picture description information ГОСТ Р 34.701.1-92 ИСО 8632/1-87 Информационная технология. Машинная графика. Метафайл для хранения и передачи информации об описании изображения / ИТ / 34 701 1 92 8632 1 87

ГОСТ Р 34.701.1-92
(ИСО 8632/1-87)

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ

МАШИННАЯ ГРАФИКА.

МЕТАФАЙЛ ДЛЯ ХРАНЕНИЯ И ПЕРЕДАЧИ
ИНФОРМАЦИИ ОБ ОПИСАНИИ
ИЗОБРАЖЕНИЯ

ГОССТАНДАРТ РОССИИ
Москва

ГОСТ Р 34.701.1-92
(ИСО 8632/1-87)

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ

МАШИННАЯ ГРАФИКА.

МЕТАФАЙЛ ДЛЯ ХРАНЕНИЯ И ПЕРЕДАЧИ
ИНФОРМАЦИИ ОБ ОПИСАНИИ
ИЗОБРАЖЕНИЯ

МОСКВА
1993

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология

МАШИННАЯ ГРАФИКА

МЕТАФАЙЛ ДЛЯ ХРАНЕНИЯ И ПЕРЕДАЧИ
ИНФОРМАЦИИ ОБ ОПИСАНИИ
ИЗОБРАЖЕНИЯ

Information technology.

Computer graphics

Metafile for the storage and transfer of picture description information

ГОСТ P
34.701.1-92

(ИСО 8632/1-87)

Дата введения 01.01.93

Вводная часть

Настоящий стандарт распространяется на графические системы, использующие файлы описания графической информации, и устанавливает:

правила описания функций, при помощи которых базовые графические системы обмениваются графической информацией;

совокупность элементов, необходимую для описания графической информации;

синтаксис символьного кодирования с обеспечением минимизации размера метафайла;

синтаксис чисто текстового кодирования для чтения, редактирования и печати;

синтаксис двоичного кодирования для осуществления оптимизации скорости генерации и интерпретации метафайла.

Настоящий стандарт не распространяется на:

функции описания динамических действий базовых графических систем;

функции описания и взаимодействия трехмерных объектов;

способы генерации и интерпретации метафайла.

Для обеспечения международных правил при хранении и передачи графической информации требования стандарта по описанию функций метафайла должны соответствовать международному стандарту ИСО 8632/1-87.

В приложении к стандарту приведен перевод ИСО 8632/1-87.

ПРИЛОЖЕНИЕ
Справочное

МЕЖДУНАРОДНЫЙ СТАНДАРТ ИСО 8632/1

Информационная технология

МАШИННАЯ ГРАФИКА.

МЕТАФАЙЛ ДЛЯ ПЕРЕДАЧИ И ХРАНЕНИЯ
ИНФОРМАЦИИ ОБ ОПИСАНИИ ИЗОБРАЖЕНИЯ

Часть 1. ФУНКЦИОНАЛЬНОЕ ОПИСАНИЕ

0. Введение

0.1. Назначение

Метафайл Машинной Графики (ММГ) определяет формат файла для хранения и редактирования графической информации. Формат файла состоит из ряда элементов, которые могут быть использованы для описания изображений методом, совместимым с системами различных архитектур и устройствами различных возможностей и назначения.

0.2. Обоснование для данного международного стандарта

Основные цели стандартизации Метафайла Машинной Графики заключаются в необходимости:

а) представления возможности накопления графической информации организованным способом в системе графического программного обеспечения;

б) организации передачи графической информации между различными системами графического программного обеспечения;

в) обеспечения передачи графической информации между графическими устройствами;

г) обеспечения передачи графической информации между различными графическими системами.

0.3. Требования к построению стандарта

Для достижения перечисленных целей был принят ряд требований к построению:

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

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

в) Создание метафайла не должно исключать возможность расширения ИСО 8632 на более поздней стадии для развития средств, не включенных в настоящий стандарт.

г) Метафайл должен предоставлять возможность использования ЯГС (ЯГС - Ядро Графической Системы - ИСО 7942) как с функциями ввода, так и с функциями вывода метафайла.

д) Стандарт ИСО 8632 должен допускать возможность решения различных прикладных задач, что подразумевает изменяющиеся требования к размеру метафайла, скорости генерации и интерпретации, читабельности, редактированию и простоте передачи через различные устройства передачи.

0.4. Принципы построения стандарта

Требования, перечисленные в п. 0.3, учитывались при определении принципов, которые использовались для выбора альтернатив в процессе построения.

а) Полнота

В любой области стандарта ИСО 8632 функциональность, установленная стандартом ИСО 8632, сама по себе полна.

б) Краткость

Следует избегать избыточных элементов или параметров.

в) Согласованность

Следует избегать противоречащих друг другу элементов.

г) Расширяемость

Следует предусмотреть возможность добавления новых элементов и применимость их ко всему стандарту.

д) Достоверность

Минимальные результаты и характеристики элементов должны быть четко определены.

е) Реализуемость

Необходимо, чтобы большинство головных систем и/или аппаратных средств графики эффективно поддерживали любой элемент.

ж) Ортогональность

Элементы должны быть независимы друг от друга или любая зависимость должна быть структурирована и четко определена.

з) Прогнозирование

ИСО 8632 должен быть таким, чтобы рекомендуемое и правильное использование стандартных элементов гарантировало бы результаты использования каждого отдельного элемента.

и) Использование стандарта

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

к) Полезность

Функции должны быть достаточно эффективными для выполнения необходимых задач.

л) Структурируемость

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

0.5. Доступ к метафайлу

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

0.6. Генерация и интерпретация метафайлов

Конкретный механизм генерации и интерпретации метафайла не описан в стандарте ИСО 8632, хотя он и описывает предполагаемый результат такой интерпретации. Основной набор элементов метафайла предусматривает возможность добавления данных прикладных программ, которые не имеют графического смысла и для которых не описывается никаких предназначенных результатов интерпретации.

0.7. Различие между формальной спецификацией и кодированием

Функциональные возможности, предусматриваемые метафайлом, отделяются от спецификации любого конкретного формата кодирования. Стандарт ИСО 8632 предусматривает следующие способы кодирования элементов: стандартный и для личного пользования.

Правила согласования кодирования для личного пользования установлены в приложении Б. Это приложение является необязательной частью стандарта ИСО 8632.

Три стандартных метода кодирования установлены в частях 2, 3 и 4 ИСО 8632. Каждый стандартный метод кодирования вмещает все функциональные возможности, описанные в этой части ИСО 8632. Переход между стандартными методами кодирования возможен без потери информации об изображении, хотя последующий переход в начальное кодирование может не привести в точности к тому же потоку данных из-за различной дискредитации точности в различных методах кодирования.

Символическое кодирование, определенное в ИСО 8632, предусматривает кодирование в минимальном объеме. Оно согласуется с правилами расширенного кодирования, определенного в ИСО 2022, в категории полной системы кодов. Особенно подходящим оно является для передачи по сетям, которые не могут обеспечивать двоичной передачи.

Двоичное кодирование, определенное в ИСО 8632-3, предусматривает кодирование, которое требует наименьших усилий при генерации и интерпретации на многих системах.

Чисто текстовое кодирование, определенное в ИСО 8632/4, предусматривает кодирование, результаты которого могут быть сформированы, просмотрены и отредактированы стандартным редактором текста. Поэтому оно также доступно передаче через сеть, способную передавать только текстовые файлы.

0.8. Связь с другими международными стандартами

Стандарт ИСО 8632 наиболее полно отражает модель графической системы ЯГС (Ядро Графической Системы - ИСО 7942). Дополнительно стандарт ИСО 8632 определяет метафайл, который может быть использован как статический метафайл ЯГС. Один вариант связи между этим стандартом и ЯГС описан в приложении Г (используется подмножество элементов этого стандарта как статистический метафайл обработки изображения посредством ЯГС).

Символическое кодирование, определенное в ИСО 8632/2, согласуется с методами расширения кодов ИСО 2022.

Двоичное кодирование, определенное в ИСО 8632/3, использует механизм представления чисел с плавающей точкой, установленный в ANSI/IEEE 745-86.

Для определенных элементов ММГ устанавливает диапазоны значений, резервируемых для регистрации. Значения и их смысл определяют, используя процедуры (см. п. 4.11), установленные в международном органе регистрации графических записей ИСО. Эти процедуры не применяются к значениям и диапазонам значений, которые резервируются для личного использования. Эти значения и диапазоны не стандартизуются.

0.9. Статус приложений

Приложения не являются неотъемлемой частью стандарта, включаются только для представления дополнительной информации.

1. НАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ

ИСО 8632 определяет формат файла, удобный для хранения и редактирования графической информации. Формат файла состоит из последовательного набора элементов, которые могут быть использованы при описании изображений методом, совместимым с системами различных архитектур и устройствами различных возможностей и конструкций.

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

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

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

Часть 1 стандарта ИСО 8632 описывает формат, используя для этого абстрактный синтаксис. Остальные три части определяют три вида стандартного кодирования, подчиняющегося этому синтаксису. Часть 2 определяет символическое кодирование, подчиняющееся правилам расширения кодов, установленным в ИСО 2022 в категории полной системы кодирования. Часть 3 определяет двоичное кодирование. Часть 4 определяет чисто текстовое кодирование,

2. ССЫЛКИ

ИСО 646 «Обработка информации. Набор 7-битных кодированных символов для обмена информацией ИСО».

ИСО 2022 «Обработка информации. Наборы символов в 7- и 8-битных кодах. Методы расширения кодов».

ИСО 2375 «Обработка данных. Процедуры регистрации последовательностей расширений».

ИСО 7942 «Системы обработки информации. Машинная графика. Функциональное описание Ядра Графической Системы (ЯГС)».

3. ОПРЕДЕЛЕНИЯ И АББРЕВИАТУРА

3.1. Определения

Следующие определения применяются в настоящем стандарте.

Примечание. Насколько возможно, используется устоявшаяся в графике терминология.

3.1.1. Характеристическое отношение: отношение ширины к высоте прямоугольной области, такой, как окно поля вывода. Например, характеристическое отношение 2.0 указывает на область шириной в 2 раза большей высоты.

3.1.2. Флаг Выборки Атрибутов (ФВА): индикатор для выбора определенного атрибута, который может быть индивидуальным или связанным.

3.1.3. Характеристики примитивов: способ изменения вида примитива. Некоторые характеристики задаются неявно атрибутами примитивов, другие - посредством таблиц связок.

3.1.4 Атрибуты элементов элементы метафайла, описывающие вид графических элементов.

3.1.5 Связка: набор атрибутов, связанных с одним из следующих типов графических элементов линия, маркер, текст и заполняемая область.

3.1.6. Индекс связки: индекс элемента в таблице связок для конкретного примитива вывода.

3.1.7. Таблица связок: снабженная индексами таблица, содержащая набор атрибутов для каждого индекса.

3.1.8. Индикатор отсечения индикатор отсечения графических элементов метафайла за пределами ПРЯМОУГОЛЬНИКА ОТСЕЧЕНИЯ.

3.1.9. Прямоугольник отсечения: прямоугольник, определенный в пространстве КВУ, используемый как границы отсечения при отсечении графических элементов метафайла.

3.1.10. Отсечение процесс исключения некоторой части графического изображения, расположенного за пределами установленной границы.

3.1.11. Режим выбора цвета: индикатор (флаг) при выборе цвета, который может быть прямым (определяется значениями RGB) или индексированным (определяется индексом в таблице значений RGB).

3.1.12. Таблица цвета, таблица, используемая для перехода от индекса цвета к соответствующему цвету. Смотри ПРЯМОЙ ЦВЕТ, ИНДЕКСИРОВАННЫЙ ЦВЕТ.

3.1.13. Значение цвета: значения компонентов RGB (красный (red), зеленый (green), голубой (blue)), определяющих цвет.

3.1.14. Интерфейс Машинной Графики (ИМГ) спецификация технических средств интерфейса для диалога с графическими устройствами.

3.1.15. Метафайл Машинной Графики (ММГ) спецификация механизма хранения и передачи графической информации.

3.1.16. Пара Сопряженных Диаметров (ПСД) пара диаметров D, d эллипса, у которого касательная к эллипсу в каждой конечной точке параллельна другому диаметру.

3.1.17. Элементы управления: элементы метафайла, устанавливающие пространство адресов, границы отсечения, пределы изображения и описания форматов элементов метафайла.

3.1.18. Интерфейс данных интерфейс между модулями программного обеспечения или устройствами, включающими один или более пакетов, содержащих коды операций и данные в отличие от интерфейса вызова подпрограммы.

3.1.19. Элементы дескриптора элементы метафайла, описывающие функциональное содержание, формат, условия по умолчанию, идентификацию и характеристики метафайла.

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

3.1.21. Прямой цвет: схема выбора цвета, в которой цвет устанавливается непосредственно, не требуя промежуточного обращения к таблице цвета. Смотри ТАБЛИЦА ЦВЕТА, ИНДЕКСИРОВАННЫЙ ЦВЕТ.

3.1.22. Носитель изображения часть графического устройства, на которую отображаются видимые изображения (например экран дисплея, бумага графопостроителя).

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

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

3.1.25. Шрифт: начертание или вид литер, не зависимый от других атрибутов текста, таких, как размер и вращение. Шрифт отличается от набора литер.

3.1.26. Элементы примитивов вывода: элементы метафайла, описывающие изображения метафайла.

3.1.27. Ядро Графической Системы (ЯГС): стандартизованный интерфейс прикладной программы для графики.

3.1.28. Графическое устройство: устройство (например, дисплей с постоянной генерацией изображения, дисплей с запоминающей трубкой или графопостроитель), на котором могут быть получены изображения.

3.1.29. Вид штриховки: формат заполнения замкнутых фигур. Вид штриховки состоит из одного или более наборов линий, наличие которых выявляет конфигурацию данной фигуры.

3.1.30. Индексированный цвет: схема выбора цвета, в которой индекс используется для определения цвета по таблице. Смотри ТАБЛИЦУ ЦВЕТА, ПРЯМОЙ ЦВЕТ.

3.1.31. Сообщение: Строка литер, используемая для сообщения информации операторам во время интерпретации метафайла.

3.1.32. Метафайл: механизм для хранения и передачи графических данных и управляющей информации. Эта информация содержит независимое от устройств описание одного или более изображений.

3.1.33. Дескриптор Метафайла (ДМ): элемент метафайла, описывающий формат метафайла (но не метод его кодирования) и функциональность, ожидаемые от интерпретатора метафайла.

3.1.34. Элемент метафайла функциональный элемент, который может быть использован при построении изображении или сообщений информации.

3.1.35. Генератор метафайла: процесс или оборудование, создающие Метафайл Машинной Графики (ММГ).

3.1.36. Интерпретатор метафайла: процесс или оборудование, которые читают Метафайл Машинной Графики и интерпретируют его содержание. Интерпретатор необходим для управления Интерфейсом Машинной Графики (ИМГ) или интерфейсом другого устройства для создания изображения, удовлетворяющего требованиям по возможности очень близко.

3.1.37. Нормированные Координаты (НК): координаты, определенные в независимой от устройств системе координат, нормированные в некотором диапазоне (обычно от 0 до 1). Смотри ЭКСТЕНТ КВУ, ДИАПАЗОН КВУ, ПРОСТРАНСТВО КВУ, КООРДИНАТЫ ВИРТУАЛЬНОГО УСТРОЙСТВА.

3.1.38. Вид шаблона: формат заполнения замкнутых фигур шаблонами. Вид шаблона состоит из массива различно окрашенных или заштрихованных ячеек.

3.1.39. Дескриптор Изображения (ДИ): набор элементов метафайла, используемых для определения режимов интерпретации атрибутов для изображения в целом.

3.1.40. Пиксель: наименьший элемент носителя изображения, которому можно независимо приписать цвет.

3.1.41. Реализованная внешняя граница: мнимая граничная линия области заполнения нулевой ширины, если внешняя граница невидима, и граничная линия конечной ширины, если внешняя граница видима.

3.1.42. Реализованное заполнение: в элементе область заполнения, которая простирается до реализованной внешней границы и кончается на ней.

3.1.43. Картинная плоскость: см. носитель изображения.

3.1.44. Виртуальное устройство: идеализированное графическое устройство, представляющее набор графических возможностей для графических программ или систем через Интерфейс Машинной Графики.

3.1.45. Координаты Виртуального Устройства (КВУ): координаты, используемые для определения положения в пространстве КВУ. Они представляют собой двумерные абсолютные координаты. Смотри ПРОСТРАНСТВО КВУ.

3.1.46. Экстент КВУ: рассматриваемая прямоугольная область, содержащаяся внутри диапазона КВУ. Смотри ДИАПАЗОН КВУ, ПРОСТРАНСТВО КВУ.

3.1.47. Диапазон КВУ: прямоугольная область внутри пространства КВУ содержащая набор всех координат, представимых объявленными типом координат точностью и форматом кодирования метафайла. Смотри РАЗМЕРЫ КВУ ПРОСТРАНСТВО КВУ.

3.1.48. Пространство КВУ: двумерное Декартово пространство координат неограниченной точности и размера. Только часть пространства КВУ - диапазон КВУ - реализуема в метафайле. Смотри РАЗМЕРЫ КВУ, ДИАПАЗОН КВУ, КООРДИНАТЫ ВИРТУАЛЬНОГО УСТРОЙСТВА.

3.2. Аббревиатура

Во всех частях настоящего стандарта используются следующие сокращения:

ФВА - Флаг Выборки Атрибутов

ПСД - Пара Сопряженных Диаметров

ИМГ - Интерфейс Машинной Графики

ММГ - Метафайл Машинной Графики

ЯГС - Ядро Графической Системы

ДМ - Дескриптор Метафайла

НК - Нормированные Координаты

ДИ - Дескриптор Изображения

КВУ - Координаты Виртуального Устройства

4. ОБЩИЕ ПОНЯТИЯ

4.1. Введение

Цель Метафайла Машинной Графики (ММГ) - обеспечить описание, хранение и передачу графической информации не зависимым от устройств способом. В дополнение к этому стандарт ИСО 8632 определяет форму (синтаксис) и функциональный режим (семантику) набора элементов, встречающихся в ММГ. Они составляют восемь классов элементов:

элементы ограничения, разграничивающие важные структуры внутри метафайла;

элементы дескриптора метафайла, описывающие функциональное содержание, условия по умолчанию, идентификацию и характеристики ММГ;

элементы дескриптора изображения, устанавливающие режимы интерпретации атрибутов элементов для каждого изображения;

элементы управления, позволяющие модифицировать границы изображения и координаты изображения;

элементы примитивов вывода, описывающие важные компоненты изображения в ММГ;

элементы атрибутов, описывающие вид примитивов вывода;

элемент расширения, описывающий не зависимые от устройств или систем элементы, используемые при построении изображения, однако эти элементы не стандартизованы иначе;

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

ММГ представляет собой часть элементов стандартизованного набора. Элементы НАЧАЛО МЕТАФАЙЛА и КОНЕЦ МЕТАФАЙЛА должны встречаться только однажды в законченном метафайле, тогда как элементы других классов - много или несколько раз, по мере необходимости. Метафайл должен быть интерпретирован для отображения его содержания на графическом устройстве. Элементы дескриптора представляют интерпретатору необходимые данные для интерпретации элементов метафайла и для принятия решения, касающиеся ресурсов, необходимых для изображения.

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

Минимальный правильно построенный метафайл состоит из НАЧАЛА МЕТАФАЙЛА, Дескриптора Метафайла, состоящего из ВЕРСИИ МЕТАФАЙЛА и СПИСКА ЭЛЕМЕНТОВ МЕТАФАЙЛА, и КОНЦА МЕТАФАЙЛА.

4.2. Элементы ограничения

Каждый метафайл начинается элементом НАЧАЛО МЕТАФАЙЛА и заканчивается элементом КОНЕЦ МЕТАФАЙЛА, что позволяет несколько метафайлов хранить и передавать вместе.

Каждое изображение начинается элементом НАЧАЛО ИЗОБРАЖЕНИЯ и заканчивается элементом КОНЕЦ ИЗОБРАЖЕНИЯ. Между этими ограничителями Дескриптор Изображения отделяется от основной части изображения элементом НАЧАЛО ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ.

После того, как Дескриптор Метафайла был прочитан, доступ к отдельным изображениям в противоположность последовательной основе может быть благополучно выполнен, если позволяют кодирование механизм доступа и реализация.

НАЧАЛО МЕТАФАЙЛА и НАЧАЛО ИЗОБРАЖЕНИЯ имеют параметры для имени, которым могут быть идентифицированы метафайл и изображение соответственно.

4.3. Элементы Дескриптора Метафайла

Дескриптор Метафайла (ДМ) представляет собой группу элементов, описывающих функциональные возможности, необходимые при интерпретации ММГ. Этими элементами являются:

ВЕРСИЯ МЕТАФАЙЛА,

ИНДЕКС МАКСИМАЛЬНОГО ЦВЕТА,

ДЕСКРИПТОР МЕТАФАЙЛА,

ДИАПАЗОН ЗНАЧЕНИЙ ЦВЕТА,

ТИП КВУ,

СПИСОК ЭЛЕМЕНТОВ МЕТАФАЙЛА,

ТОЧНОСТЬ ЦЕЛЫХ,

МЕТАФАЙЛ ПО УМОЛЧАНИЮ,

ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ,

ЗАМЕЩЕНИЯ,

ТОЧНОСТЬ ИНДЕКСА,

НАБОР ШРИФТОВ,

ТОЧНОСТЬ ЦВЕТА,

СПИСОК НАБОРА ЛИТЕР,

ТОЧНОСТЬ ИНДЕКСА ЦВЕТА,

ОБЪЯВЛЕНИЯ КОДИРОВАНИЯ ЛИТЕР.

В отдельном метафайле СПИСОК ЭЛЕМЕНТОВ МЕТАФАЙЛА представляет список, по крайней мере, тех стандартизованных элементов, которые встречаются в метафайле. Так, для интерпретатора ММГ предусматриваются возможности, требуемые для успешной интерпретации Метафайла Машинной Графики. ММГ должен включать единственный Дескриптор Метафайла. Дескриптор Метафайла должен следовать сразу за элементом НАЧАЛО МЕТАФАЙЛА в метафайле (с возможным исключением вставленных элементов расширения и внешних элементов)

4.3.1. Идентификация

Идентифицирующая информация включает ИСО 8632 и описательную информацию о происхождении, владельце, дате создания метафайла и т.д.

4.3.2. Функциональные возможности

Содержание Метафайла Машинной Графики определяется элементом СПИСОК ЭЛЕМЕНТОВ МЕТАФАЙЛА. Он включает список элементов управления, элементов примитивов вывода и элементов атрибутов, используемых метафайлом. Также предусмотрены два стенографических имени элементов ММГ для пользования СПИСКОМ ЭЛЕМЕНТОВ МЕТАФАЙЛА. Стенографические имена не должны рассматриваться как макроимена, и не должны ограничивать уровень согласования.

4.3.2.1. Чертежный набор

Чертежный набор включает обязательные элементы ММГ (т.е. те, которые должны появляться при каждом согласовании ММГ) и большинство элементов примитивов вывода и элементов атрибутов. Чертежный набор устанавливается при помощи стенографического имени ЧЕРТЕЖНЫЙ НАБОР.

В чертежный набор включены следующие элементы:

НАЧАЛО МЕТАФАЙЛА;

КОНЕЦ МЕТАФАЙЛА;

НАЧАЛО ИЗОБРАЖЕНИЯ;

НАЧАЛО ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ;

КОНЕЦ ИЗОБРАЖЕНИЯ;

ВЕРСИЯ МЕТАФАЙЛА;

ОПИСАНИЕ МЕТАФАЙЛА;

ТИП КВУ;

СПИСОК ЭЛЕМЕНТОВ МЕТАФАЙЛА;

ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ;

ТРАНСПОРАНТ;

ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ;

ИНДИКАТОР ОТСЕЧЕНИЯ;

РАЗМЕРЫ КВУ;

ЦВЕТ ФОНА;

РЕЖИМ ВЫБОРА ЦВЕТА;

ЛОМАНАЯ;

РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ;

ПОЛИМАРКЕР;

ТЕКСТ;

ОГРАНИЧИВАЕМЫЙ ТЕКСТ;

ПРИСОЕДИНЯЕМЫЙ ТЕКСТ;

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ;

НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ;

МАТРИЦА ЯЧЕЕК;

ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА;

ПРЯМОУГОЛЬНАЯ ОБЛАСТЬ;

КРУГ;

ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ;

ЧАСТЬ КРУГА ПО 3 ТОЧКАМ;

ДУГА ОКРУЖНОСТИ ПО ЦЕНТРУ;

ЧАСТЬ КРУГА ПО ЦЕНТРУ;

ЭЛЛИПТИЧЕСКАЯ ОБЛАСТЬ;

ДУГА ЭЛЛИПСА;

ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ;

ИНДЕКС СВЯЗКИ ЛИНИИ;

ТИП ЛИНИИ;

ТОЛЩИНА ЛИНИИ;

ЦВЕТ ЛИНИИ;

ИНДЕКС СВЯЗКИ МАРКЕРА;

ТИП МАРКЕРА;

РАЗМЕР МАРКЕРА;

ЦВЕТ МАРКЕРА;

ИНДЕКС СВЯЗКИ ТЕКСТА;

ИНДЕКС ШРИФТА ТЕКСТА;

ТОЧНОСТЬ ТЕКСТА;

МАСШТАБ РАСШИРЕНИЯ ЛИТЕР;

МЕЖЛИТЕРНЫИ ПРОСВЕТ;

ЦВЕТ ТЕКСТА;

ВЫСОТА ЛИТЕРЫ;

ОРИЕНТАЦИЯ ЛИТЕРЫ;

НАПРАВЛЕНИЕ ТЕКСТА;

ВЫРАВНИВАНИЕ ТЕКСТА;

ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ;

ВИД ЗАПОЛНЕНИЯ;

ЦВЕТ ЗАПОЛНЕНИЯ;

ИНДЕКС ШТРИХОВКИ;

ИНДЕКС ШАБЛОНА;

ИНДЕКС СВЯЗКИ ВНЕШНЕЙ ГРАНИЦЫ;

ТИП ВНЕШНЕЙ ГРАНИЦЫ;

ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ;

ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ;

ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ;

ОПОРНАЯ ТОЧКА ЗАПОЛНЕНИЯ;

ТАБЛИЦА ШАБЛОНОВ;

РАЗМЕР ШАБЛОНА;

ТАБЛИЦА ЦВЕТА;

ФЛАГИ ВЫБОРКИ АТРИБУТОВ;

РАСШИРЕНИЕ;

СООБЩЕНИЕ;

ПРИКЛАДНЫЕ ДАННЫЕ.

4.3.2.2. Чертежно-управляющий набор

Чертежно-управляющий набор может быть использован для определения всех элементов чертежного набора и добавочных элементов управления, Дескриптора Метафайла, Дескриптора Изображения и элементов атрибутов. Этот набор определяется именем ЧЕРТЕЖНО-УПРАВЛЯЮЩИЙ НАБОР.

Элементы, включенные в чертежно-управляющий набор, представляют собой все элементы чертежного набора и следующие элементы:

ТОЧНОСТЬ ЦЕЛЫХ;

ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ;

ТОЧНОСТЬ ИНДЕКСА;

ТОЧНОСТЬ ЦВЕТА;

ТОЧНОСТЬ ИНДЕКСА ЦВЕТА;

МАКСИМАЛЬНЫЙ ИНДЕКС ЦВЕТА;

ДИАПАЗОН ЗНАЧЕНИЙ ЦВЕТА;

ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ;

СПИСОК ШРИФТОВ;

СПИСОК НАБОРОВ ЛИТЕР;

ОБЪЯВЛЕНИЕ КОДИРОВАНИЯ ЛИТЕР;

ТОЧНОСТЬ ЦЕЛЫХ КВУ;

ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ КВУ;

РЕЖИМ МАСШТАБИРОВАНИЯ;

РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ;

РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА;

РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ;

ИНДЕКС НАБОРА ЛИТЕР;

ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР.

4.3.3. Состояние метафайла по умолчанию

Состояние по умолчанию - это состояние, в которое возвращается интерпретатор в начале каждого изображения. Состояния по умолчанию всех элементов метафайла определяются в разд. 6. Значения по умолчанию могут быть выборочно замещены с использованием элемента ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ. В Дескрипторе Метафайла также устанавливается соотношение между индексами наборов литер и зарегистрированными или личными наборами литер и значение, присвоенное индексом шрифта текста.

4.4. Элементы дескриптора изображения

Элементы дескриптора изображения - это те элементы, которые объявляют режимы параметров других элементов для всего изображения, задают конфигурацию той части координатного пространства, которая представляет интерес в изображении, и устанавливает цвет, которым носитель изображения очищается в начале изображения. Эти элементы РЕЖИМ МАСШТАБИРОВАНИЯ, РЕЖИМ ВЫБОРА ЦВЕТА, РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ, РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА, РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ, РАЗМЕРЫ КВУ и ЦВЕТ ФОНА. Включенные в изображение, они должны встречаться после элемента НАЧАЛО ИЗОБРАЖЕНИЯ и перед элементом НАЧАЛО ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ. В Дескрипторе Изображения допускаются элементы расширения и внешние элементы.

4.4.1. Режим масштабирования

Пространство КВУ может быть как абстрактным пространством произвольного размера на физическом устройстве, так и метрическим пространством, предназначенным для отображения на определенный размер. Выбор используемого режима может быть сделан для отдельного изображения средствами элемента РЕЖИМ МАСШТАБИРОВАНИЯ. Элемент режима масштабирования предусматривает флаг для выбора абстрактного пространства или метрического пространства и масштаб, определяющий число миллиметров на единицу КВУ, при выборе метрического пространства.

4.4.2. Режим выбора цвета

РЕЖИМ ВЫБОРА ЦВЕТА выбирает индексированную или прямую (RGB) спецификацию цвета изображения и описывается затем атрибутами цвета.

4.4.3. Режимы спецификации

Толщина линии, размер маркера и толщина внешней границы могут быть определены несколькими способами. Толщина линий, например, может быть определена либо как масштаб в единицах КВУ, либо как масштаб при обращении к зависимой от устройств наименьшей толщине линии во время интерпретации. Для каждого элемента атрибута, имеющего такие мультирежимы, существует объединенный элемент управления, определяющий режим параметра элемента атрибута.

4.4.4. Размеры КВУ

Существует элемент метафайла для определения размеров КВУ. Размеры устанавливаются набором с элементом РАЗМЕРЫ КВУ, определением адреса (в КВУ) левого нижнего угла и верхнего правого угла этих размеров, рассматриваемых с точки зрения изображения. Спецификация величин за пределами размера КВУ допускается элементами ММГ. Подразумевается, что видимая часть изображения находится внутри размеров КВУ. Так, она представляет собой изображение интересующей области изображения. Значения координат для одного из двух измерений могут быть или увеличивающимися или уменьшающимися от первого ко второму углу. Например, для устройств с верхним левым началом изображение может быть описано координатами, представляющими его непосредственно на устройстве. Эти же значения координат описывают данное изображение на экране устройства с нижним левым началом. Черт. 1 иллюстрирует это.

Так, размеры КВУ устанавливают состояние и ориентацию пространства КВУ (т.е. направления положительной x(+x) и положительной y (+y) осей, а также расположение оси +y под углом 90° по часовой стрелке или под углом 90° против часовой стрелки от оси +x). Важно, что элемент РАЗМЕРЫ КВУ устанавливает направления положительных и отрицательных углов следующим образом: положительный в 90° определяется как правый угол от положительной оси x к положительной оси y (см. черт. 1). Заметим, что некоторые атрибуты, такие как атрибуты текста (например, направления «вверх» или «вниз» векторов-компонентов ОРИЕНТАЦИИ ЛИТЕР и, следовательно, смысл перечисленных значений «вправо», «влево», «вниз», «вверх»), непосредственно связываются с этими определениями.

В разд. 6 устанавливаются размеры КВУ по умолчанию, которые могут быть изменены в ДМ элементом ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ. РАЗМЕРЫ КВУ возвращаются к этому состоянию в начале каждого изображения.

Размеры КВУ устанавливают направления положительных
и отрицательных углов

Черт. 1

4.4.5. Программируемый ММГ

Способность установления диапазона КВУ и размеров КВУ обеспечивает гибкость, позволяющую задавать адресуемость к метафайлу любым желаемым путем. Для максимальной независимости от устройств она может быть задана как абстрактный нормализованный диапазон адресов. Она также может быть задана для имитации адресации данного объектного устройства, чтобы воспользоваться данными характеристиками устройства. Диапазон адресов такого метафайла определенного устройства есть как раз диапазон нормализованных адресов с пределами нормализации, присущими элементу заказываемых КВУ; следовательно, поддерживается независимость от устройств.

Такое программирование координат в метафайле может устранять необходимость преобразования координат во время интерпретации метафайла для объектного устройства. Так, способность установления размеров КВУ позволяет точную регистрацию координат в метафайле с адресацией точек объектного графического устройства.

Использование размеров КВУ для непосредственного кодирования мировых координат большого динамического диапазона или диапазона с очень мелкой степенью разбиения будет, вероятно, оканчиваться наложением штрафов во время интерпретации метафайла и может заканчиваться снижением портативности, если такие размеры КВУ превышают те, которые совместимы с интерпретаторами метафайла с меньшими возможностями.

В дополнение к программируемому ММГ генератор метафайла может ограничивать или программировать функциональное содержание метафайла при использовании конкретных устройств или применений и объявлять такое функциональное программирование через использование СПИСКА ЭЛЕМЕНТОВ МЕТАФАЙЛА.

4.4.6. Цвет фона

Каждое изображение метафайла определяет графическое изображение, независимое от других изображений в метафайле. Цвет фона изображения может быть определен элементом Дескриптора Изображения - ЦВЕТ ФОНА. Если этот элемент не включен в Дескриптор Изображения, цветом фона изображения является цвет фона по умолчанию, как описано в разд. 6 или как определено элементом ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ.

Единственный параметр ЦВЕТ ФОНА имеет всегда значение RGB вне зависимости от текущего значения РЕЖИМА ВЫБОРА ЦВЕТА. Если РЕЖИМ ВЫБОРА ЦВЕТА индексированный, тогда элемент ЦВЕТА ФОНА определяет начальное представление для изображения цвета с индексом 0.

4.5. Элементы управления

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

4.5.1. Пространство и диапазон КВУ

Элементы примитивов вывода метафайла определяют виртуальные изображения. Координаты этих элементов (т.е. адреса точек виртуального изображения) являются абсолютными двумерными координатами виртуального устройства (КВУ). Пространство КВУ - двумерное декартово координатное пространство неограниченной точности и неограниченной протяженности. Реализуется только часть пространства КВУ - диапазон КВУ. Диапазон КВУ включает все координаты, представленные в формате, установленном объявленными элементом ТИП КВУ и (в зависимости от типа) ТОЧНОСТЬ ЦЕЛЫХ КВУ или ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ КВУ.

Диапазон КВУ не устанавливается непосредственно; он полностью определяется элементами ТИП КВУ и ТОЧНОСТЬ ЦЕЛЫХ КВУ или ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ КВУ в метафайле. Эти элементы контролируются: некоторые - динамическими элементами в основной части метафайла, а некоторые статическими элементами в ДМ. Определенный таким образом диапазон КВУ (прямоугольная область в пространстве КВУ) не включает бесконечное число значений, но имеет определенное разбиение. Несмотря на характеристическое отношение диапазона КВУ и степени разбиения внутри диапазона подразумевается, что одна единица адреса x-направления представляет такое же расстояние как одна единица адреса y-направления в пространстве КВУ.

4.5.2. Отсечение

Для того, чтобы предусмотреть отсечение элементов примитивов вывода (особенно таких протяженных элементов, как КРУГ, ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ, ТЕКСТ и т.д.) до интерпретации метафайла, предполагается особое управление отсечением в ММГ. Достигается управление отсечением при определении ПРЯМОУГОЛЬНИКА ОТСЕЧЕНИЯ в пространстве КВУ. Производится ли отсечение при ограничении ПРЯМОУГОЛЬНИКОМ ОТСЕЧЕНИЯ во время интерпретации метафайла зависит от элемента ИНДИКАТОР ОТСЕЧЕНИЯ, который устанавливает режим метафайла «отсечение включено» или «отсечение выключено». В разд. 6 составлен список значений по умолчанию ПРЯМОУГОЛЬНИКА ОТСЕЧЕНИЯ и ИНДИКАТОРА ОТСЕЧЕНИЯ.

4.6. Элементы примитивов вывода

Элементы примитивов вывода - это те элементы, которые описывают визуальные компоненты изображения. Аргументы их координат определяются в единицах КВУ. ММГ предусматривает элементы примитивов вывода:

ЛОМАНАЯ;

РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ;

ПОЛИМАРКЕР;

ТЕКСТ;

ОГРАНИЧИВАЕМЫЙ ТЕКСТ;

ПРИСОЕДИНЯЕМЫЙ ТЕКСТ;

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ;

НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ;

МАТРИЦА ЯЧЕЕК;

ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА (ОПВ);

ПРЯМОУГОЛЬНАЯ ОБЛАСТЬ;

КРУГ;

ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ;

ЧАСТЬ КРУГА ПО 3 ТОЧКАМ;

ДУГА ОКРУЖНОСТИ ПО ЦЕНТРУ;

ЧАСТЬ КРУГА ПО ЦЕНТРУ;

ЭЛЛИПТИЧЕСКАЯ ОБЛАСТЬ;

ДУГА ЭЛЛИПСА;

ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ.

Метафайл обеспечивает доступ к специальным возможностям геометрического вывода устройств и станций через ОПВ. ОПВ имеет список точек в КВУ в качестве параметра. Таким образом, это хорошо подходит для примитивов нестандартизованного вывода, которые имеют положение, форму, размеры и т.д., тогда как РАСШИРЕНИЕ лучше подходит для нестандартизованных функций управления устройствами.

Формальное описание функций ММГ описывает элементы примитивов вывода, которые позиционно независимы, благодаря содержанию неявной позиционной информации внутри каждого определения элемента. Эта модель без понятия текущего положения согласуется с ЯГС и приводит к меньшим нежелательным результатам и проблемам взаимодействия устройств, чем ориентированные на текущее положение графические модели. Преимущества в эффективности часто связываются с ориентированной на текущее положение моделью, которая может быть реализована с использованием кодирования из ИСО 8632.

Элементы ТЕКСТ, ОГРАНИЧИВАЕМЫЙ ТЕКСТ, ПРИСОЕДИНЯЕМЫЙ ТЕКСТ и связанные с ним элементы атрибутов текста определяются в текущем пространстве КВУ. Следовательно, на них оказывает влияние изменение формата Координат Виртуального Устройства.

Пять типов или классов элементов примитивов вывода определяются для ММГ: элементы линии, элемент маркера, элементы текста, элементы области заполнения и элемент матрица ячеек.

Элементы линии:

ЛОМАНАЯ,

РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ,

ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ,

ДУГА ОКРУЖНОСТИ ПО ЦЕНТРУ,

ДУГА ЭЛЛИПСА

Элемент маркера:

ПОЛИМАРКЕР.

Элементы текста:

ТЕКСТ,

ОГРАНИЧИВАЕМЫЙ ТЕКСТ,

ПРИСОЕДИНЯЕМЫЙ ТЕКСТ.

Элементы области заполнения:

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ,

НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ,

ПРЯМОУГОЛЬНАЯ ОБЛАСТЬ,

КРУГ,

ЧАСТЬ КРУГА ПО 3 ТОЧКАМ,

ЧАСТЬ КРУГА ПО ЦЕНТРУ,

ЭЛЛИПТИЧЕСКАЯ ОБЛАСТЬ,

ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ.

Элемент матрицы ячеек:

МАТРИЦА ЯЧЕЕК.

Дополняет эти пять классов элементов ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА - это элемент примитивов вывода, который используется для доступа к определенным примитивам вывода устройств (или реализации), которые недоступны стандартизованным элементам.

4.6.1. Элементы линии

4.6.1.1. Описание

Существуют два основных элемента линии - ЛОМАНАЯ и РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ, и три элемента линии, связанные с окружностями и эллипсами.

ЛОМАНАЯ генерирует набор связанных линий, определенный списком точек, начиная с первой, вычерчивает линии через каждую следующую точку, кончая последней точкой.

РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ генерирует определенный списком пар точек набор несвязанных линий, вычерчиваемых от первой ко второй, от третьей к четвертой и т.д.

ДУГА ОКРУЖНОСТИ ххх генерирует единственную дугу окружности; возможны две параметризации дуги; они описываются в пп. 5.6.13 и 5.6.15.

ДУГА ЭЛЛИПСА генерирует единственную дугу эллипса; параметризация дуги описывается в п. 5.6.18.

4.6.1.2. Атрибуты

Появление всех элементов линии контролируется атрибутами линии, элементами ИНДЕКС СВЯЗКИ ЛИНИИ и ФЛАГИ ВЫБОРКИ АТРИБУТОВ, которые могут быть связаны. Они описываются в п. 4.7.1.

4.6.1.3. Использование элементов линии

ЛОМАНАЯ - один из самых основных примитивов. РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ предназначается для ситуаций, где была бы альтернатива большого числа «двухточечных» элементов ЛОМАНОЙ. ПРИМИТИВЫ ДУГИ обеспечивают сжатие данных по сравнению с ЛОМАНОЙ и позволяют описывать дуги, без знания о конечном носителе изображения.

4.6.2. Элемент маркера

4.6.2.1. Описание

Существует единственный элемент маркера:

ПОЛИМАРКЕР генерирует символы конкретного типа в каждой точке списка.

4.6.2.2. Атрибуты

Появление маркеров контролируется атрибутами маркеров, ИНДЕКСОМ СВЯЗКИ МАРКЕРА и ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, связанных с атрибутами связки маркера. Они описываются в п. 4.7.2.

4.6.2.3. Использование элемента маркера

Маркеры схематически указывают положение определяющих их точек. Следовательно, если ИНДИКАТОР ОТСЕЧЕНИЯ в режиме «вкл.», то маркер видим тогда и только тогда, когда определяющая его точка внутри ПРЯМОУГОЛЬНИКА ОТСЕЧЕНИЯ. Если определяющая его точка находится внутри ПРЯМОУГОЛЬНИКА ОТСЕЧЕНИЯ, а часть маркера лежит снаружи, то действие, которым маркер отсекается (или нет), не стандартизуется.

В ситуациях, когда необходимо сделать видимыми те части маркера, которые расположены внутри ПРЯМОУГОЛЬНИКА ОТСЕЧЕНИЯ, в то время как определяющая позиция маркера за его пределами, более подходящим элементом является элемент ТЕКСТ, используемый с одной литерой в качестве аргумента текста. Для ТЕКСТА определяются три ТОЧНОСТИ, которые контролируют точность отсечения каждого элемента. Точность ДО ШТРИХА производит отсечение даже внутри прямоугольника литеры. Достижение центрирования литеры в определенной позиции возможно элементом ВЫРАВНИВАНИЕ ТЕКСТА.

4.6.3. Элементы текста

4.6.3.1. Описание

Предусматриваются три элемента текста:

ТЕКСТ - генерирует строку текста (или часть строки текста), выравниваемую по особой точке;

ОГРАНИЧИВАЕМЫЙ ТЕКСТ - генерирует строку текста (или часть строки текста), которая размещается внутри заданной области;

ПРИСОЕДИНЯЕМЫЙ ТЕКСТ - генерирует часть строки текста, которая начинается элементом ТЕКСТ или ОГРАНИЧИВАЕМЫЙ ТЕКСТ.

4.6.3.2. Атрибуты

Появление всех элементов текста управляется атрибутами текста, ИНДЕКСОМ СВЯЗКИ ТЕКСТА и ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, связанных с атрибутами связки текста. Они описываются в п. 4.7.3.

Изменение атрибутов текста ИНДЕКС ШРИФТА ТЕКСТА, МАСШТАБ РАСШИРЕНИЯ ЛИТЕР, МЕЖЛИТЕРНЫИ ПРОСВЕТ, ЦВЕТ ТЕКСТА, ВЫСОТА ЛИТЕР, ИНДЕКС НАБОРА ЛИТЕР, ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР, ИНДЕКС СВЯЗКИ ТЕКСТА и элементов управления ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ И ТРАНСПАРАНТ допускаются между элементами незаконченного текста и его продолжением элементом ПРИСОЕДИНЯЕМЫЙ ТЕКСТ.

4.6.3.3. Использование элементов текста

Каждый элемент текста имеет «конечный/неконечный» флаг. Это позволяет начинать строку текста с элемента ТЕКСТ или ОГРАНИЧИВАЕМЫЙ ТЕКСТ и продолжать одним или более элементами ПРИСОЕДИНЯЕМЫЙ ТЕКСТ. Только последний элемент должен иметь установку флага «конечный». Начальным элементом всегда должен быть ТЕКСТ или ОГРАНИЧИВАЕМЫЙ ТЕКСТ; следующим элементом может быть только ПРИСОЕДИНЯЕМЫЙ ТЕКСТ.

Атрибуты, которые могут изменяться внутри связанного набора элементов текста, перечислены в описании ПРИСОЕДИНЯЕМЫЙ ТЕКСТ (п. 5.6.6). Они включают такие атрибуты, которые изменяют наборы шрифтов литер, размер литеры и цвет текста.

Текущая установка ВЫРАВНИВАНИЕ ТЕКСТА используется для выравнивания полной текстовой строки, собранной из отдельных элементов текста.

4.6.4. Элементы заполнения

4.6.4.1. Описание

Существуют два основных элемента заполнения: ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ и НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ. Кроме того, имеются шесть элементов, предусматривающих сжатие данных и позволяющих точно заполнять площади, без знания о разрешающей способности конечного носителя изображения.

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ генерирует площадь и ее внешнюю границу, определенную списком точек; по типу площадь может быть «пусто», «заливка», «по шаблону», «штриховка» или «полость»; видимость и вид внешней границы области зависят от атрибутов внешней границы.

НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ генерирует несколько площадей и внешних границ, определенных списком точек вершин и флагов вершин; набор типов тот же, что и для ПОЛИГОНАЛЬНОЙ ОБЛАСТИ; флаги вершин указывают на различные многоугольники в наборе; флаги вершин и атрибуты внешней границы управляют видимостью и типом отдельных сегментов внешней границы каждого многоугольника,

ПРЯМОУГОЛЬНАЯ ОБЛАСТЬ генерирует вертикальную прямоугольную область; набор типов тот же, что и для ПОЛИГОНАЛЬНОЙ ОБЛАСТИ.

КРУГ генерирует круг; набор типов тот же, что и для ПОЛИГОНАЛЬНОЙ ОБЛАСТИ.

ЧАСТЬ КРУГА ххх генерирует часть круга; возможны дуги типа «центр» и «хорда». Предусматриваются два вида параметризации дуг, они описываются в п.п. 5.6.14 и 5.6.16; набор типов тот же, что и для ПОЛИГОНАЛЬНОЙ ОБЛАСТИ.

ЭЛЛИПТИЧЕСКАЯ ОБЛАСТЬ генерирует элептическую область; параметризация эллипса описана в п. 5.6.17; набор типов тот же, что и для ПОЛИГОНАЛЬНОЙ ОБЛАСТИ.

ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ ххх генерирует часть элептической области; возможны части эллипса типа «центр» и «хорда». Параметризация эллипса описывается в п. 5.6.19; набор типов тот же, что и для ПОЛИГОНАЛЬНОЙ ОБЛАСТИ.

4.6.4.2. Атрибуты

Появление всех элементов заполнения управляется атрибутами заполнения, ИНДЕКСОМ СВЯЗКИ ЗАПОЛНЕНИЯ и ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, связанных с атрибутами связки заполнения. Они описываются в п. 4.7.4.

4.6.4.3. Использование элементов заполнения

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ предусматривает изображение стандартных нерегулярных областей. ПРЯМОУГОЛЬНАЯ ОБЛАСТЬ, поскольку она вертикальная, имеет более эффективную параметризацию, чем ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ, и может быть непосредственно реализована в некоторых системах.

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

НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ позволяет представлять связанный набор полигональных областей. Все атрибуты каждого из многоугольников одни и те же. Спецификация флагов вершин позволяет разделять полигональные области (так же, как тело и точку буквы «i»), отверстия (как в кольце) и перекрывающиеся площади. Точное изображение граничащих областей одного цвета, шаблона или штриховки возможно под управлением, предусмотренным для изображения каждой отдельной грани.

4.6.4.4. Внутренний вид

Внутренний вид элементов заполнения определяется следующим образом. Из данной точки проводится прямая линия, уходящая в бесконечность. Если число пересечений между прямой линией и областью заполнения нечетко, точка находится внутри области заполнения; в противном случае - снаружи. Если прямая касается вершины области заполнения, пересечение не засчитывается. Если точка находится внутри области заполнения, она включается в область, которая будет заполнена по правилам заполнения границ и внешних границ области (см. п. 4.7.8).

4.6.4.5. Отсечение

Если часть элемента заполнения отсечена, тогда границей пересечения заполнения и границей отсечения становится часть границы результирующей отсеченной области для целей изображения границы вида заполнения «заливка». Если внешняя граница видима, она не вычерчивается вдоль нового сегмента границы, образованного отсечением области.

4.6.5. Элемент матрица ячеек

МАТРИЦА. ЯЧЕЕК представляет 2-мерную матрицу значений цвета, которым можно заполнять прямоугольник или параллелограмм.

Значение цвета - это или непосредственные значения цвета, или индексы в ТАБЛИЦЕ ЦВЕТА в зависимости от текущего РЕЖИМА ВЫБОРА ЦВЕТА. Значения цвета даются с точностью, определяемой параметром «локальная точность цвета» в элементе МАТРИЦА ЯЧЕЕК.

МАТРИЦА ЯЧЕЕК не имеет никаких атрибутов.

4.6.6. Элементы части круга

ММГ предусматривает две формы спецификации элементов части круга:

спецификация по центру и радиусу и спецификация по трем точкам. Каждая имеет свои преимущества и недостатки по числовой точности, отношению определяемых данных в диапазоне КВУ и т.д.

При выборе используемой параметризации определяется, где возможная числовая неточность мешала бы меньше всего. Форма по трем точкам точно определяет крайние точки дуги, но может дать в результате неточность вычисления точки центра, тогда как форма центра точно определяет точку центра, но может дать в результате ошибки округления на концах дуги. Так форма 3 точек наиболее целесообразна при плавном соединении дуги и ломаной в одну линию, тогда как форма центра более целесообразна для дуговых диаграмм.

4.6.7. Элементы эллиптической области

4.6.7.1. Геометрические концепции

Эллипсы определяются Парой Сопряженных Диаметров. Пара Сопряженных Диаметров (ПСД) эллипса - это такая пара D, d диаметров эллипса, когда касательная к эллипсу в каждой конечной точке параллельна другому диаметру. Заметим, что четыре касательные к эллипсу в конечных точках ПСД образуют параллелограмм, стороны которого делятся пополам конечными точками диаметров.

Любая ПСД эллипса остается ПСД после любого графического преобразования, которое преобразуется в эллипс. Это демонстрирует черт. 2, где эллипс выполнен в масштабе с коэффициентом 2 только в направлении Y.

Анизотропное масштабирование эллипса

Черт. 2

Так, любая ПСД заданного эллипса может быть использована для определения эллипса. Большая и малая оси эллипса (взаимно перпендикулярные) и любая пара перпендикулярных диаметров окружности являются ПСД, хотя они не обязательно остаются перпендикулярными после преобразования.

Так, для определения эллипса необходимы всего три точки:

центр эллипса,

две конечные точки ПСД (по одной конечной точке с каждого диаметра).

4.6.7.2. Параметризация эллиптических элементов в ММГ

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

4.7. Элементы атрибутов

Элементы атрибутов определяют использование элементов примитивов вывода. Атрибуты классифицируются как индивидуальные или атрибуты, которые могут быть связаны (связанные атрибуты). Состав индивидуальных и связанных атрибутов приведен в табл. 1.

Таблица 1

Состав индивидуальных и связанных атрибутов

Атрибуты

Индивидуальные

Связанные

ВЫСОТА ЛИТЕРЫ

ОРИЕНТАЦИЯ ЛИТЕРЫ

НАПРАВЛЕНИЕ ТЕКСТА

ВЫРАВНИВАНИЕ ТЕКСТА

ИНДЕКС НАБОРА ЛИТЕР

ИНДЕКС НАБОРА АЛЬТЕРНАТИВНЫХ ЛИТЕР

ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ

ОПОРНАЯ ТОЧКА ЗАПОЛНЕНИЯ

РАЗМЕР ШАБЛОНА

ТИП ЛИНИИ

ШИРИНА ЛИНИИ

ЦВЕТ ЛИНИИ

ТИП МАРКЕРА

РАЗМЕР МАРКЕРА

ЦВЕТ МАРКЕРА

ИНДЕКС ШРИФТА ТЕКСТА

ТОЧНОСТЬ ТЕКСТА

МАСШТАБ РАСШИРЕНИЯ ЛИТЕР

МЕЖЛИТЕРНЫЙ ПРОСВЕТ

ЦВЕТ ТЕКСТА

ВИД ЗАПОЛНЕНИЯ ОБЛАСТИ

ЦВЕТ ЗАПОЛНЕНИЯ

ИНДЕКС ШТРИХОВКИ

ИНДЕКС ШАБЛОНА

ТИП ВНЕШНЕЙ ГРАНИЦЫ

ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ

ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ

Выбор связанных атрибутов подразумевает, что применение элементов примитивов вывода может быть различным при различных связках. Метод спецификации атрибутов элемента примитива, которые могут быть связаны с примитивами вывода, может быть выбран отдельно для каждой характеристики. Чтобы указать выбор, следующая группа атрибутов, называемая ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ (ФВА), принимает значения «индивидуальный» или «связанный». Имеется отдельный ФВА для каждой характеристики связки каждого примитива.

Имеется текущее модальное значение для каждого атрибута. Элементы предполагают изменение этих модальных значений, Модальное значение, установленное засылкой атрибута, сохраняется до явного его изменения. Все атрибуты возвращаются к своим значениям по умолчанию, если встречается элемент НАЧАЛО ИЗОБРАЖЕНИЯ.

Имеется, по крайней мере, один индекс связки, связанный с каждым типом элементов примитива вывода: линией, маркером, областью заполнения и текстом. Элементы линии, маркера и текста связаны с единственным индексом связки. Элементы областей заполнения связаны с двумя индексами связки, одним атрибутом вида заполнения и одним атрибутом внешней границы.

Значение каждого атрибута индекса связки формально связывается с последовательностью элементов примитивов вывода соответствующего типа. Конкретные значения индекса связки соответствуют конкретным видам элемента примитива вывода. Для каждого атрибута, который может быть связан, имеется соответствующий ему ФЛАГ ВЫБОРКИ АТРИБУТОВ (ФВА).

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

а) Если ФВА имеет вид «индивидуальный», то используемое значение совпадает с текущим формальным значением (которое устанавливается только индивидуальными элементами установки характеристики);

б) Если ФВА имеет вид «связанный», то используемое значение выбирается из таблицы связок для этого примитива; используется соответствующая компонента связки, указанная индексом связки.

Получаемое действительное изображение зависит от интерпретатора, но цель заключается в том, чтобы интерпретатор воспроизводил конкретные изображения для конкретных значений индекса связки манипуляцией связанных атрибутов. Например, ИНДЕКС СВЯЗКИ ЛИНИИ определяет визуально различные комбинации связанных атрибутов ломаной: ТОЛЩИНУ ЛИНИИ, ТИП ЛИНИИ и ЦВЕТ ЛИНИИ. Табл. 2 представляет список характеристик каждой связки

Таблица 2

Характеристики связок и действующие примитивы

Связка

Вид

Действующие Примитивы

ЛИНИЯ

ТИП ЛИНИИ

ЛОМАНАЯ

ТОЛЩИНА ЛИНИИ

РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ

ЦВЕТ ЛИНИИ

ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ

ДУГА ОКРУЖНОСТИ ПО ЦЕНТРУ

ДУГА ЭЛЛИПСА

МАРКЕР

ТИП МАРКЕРА

ПОЛИМАРКЕР

РАЗМЕР МАРКЕРА

ЦВЕТ МАРКЕРА

ЗАПОЛНЕНИЕ

ВИД ЗАПОЛНЕНИЯ

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ

ЦВЕТ ЗАПОЛНЕНИЯ

НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ

ИНДЕКС ШТРИХОВКИ

ПРЯМОУГОЛЬНАЯ ОБЛАСТЬ

ИНДЕКС ШАБЛОНА

КРУГ

ЧАСТЬ КРУГА ПО 3 ТОЧКАМ

ЧАСТЬ КРУГА ПО ЦЕНТРУ

ЭЛЛИПТИЧЕСКАЯ ОБЛАСТЬ

ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ

ВНЕШНЯЯ ГРАНИЦА

ТИП ВНЕШНЕЙ ГРАНИЦЫ

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ

ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ

НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ

ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ

ПРЯМОУГОЛЬНАЯ ОБЛАСТЬ

КРУГ

ЧАСТЬ КРУГА ПО 3 ТОЧКАМ

ЧАСТЬ КРУГА ПО ЦЕНТРУ

ЭЛЛИПТИЧЕСКАЯ ОБЛАСТЬ

ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ

ТЕКСТ

ИНДЕКС ШРИФТА ТЕКСТА

ТЕКСТ

ТОЧНОСТЬ ТЕКСТА

ОГРАНИЧИВАЕМЫЙ ТЕКСТ

МАСШТАБ

ПРИСОЕДИНЯЕМЫЙ ТЕКСТ

РАСШИРЕНИЯ ЛИТЕР

МЕЖЛИТЕРНЫЙ ПРОСВЕТ ЦВЕТ ТЕКСТА

Так как опрос значений связок обычно невозможен в среде метафайла, выбор значений ФВА «индивидуальный» или «связанный» будет гарантированно определен путем сопоставления этих значений внутри связок в соответствии с вышеизложенными процедурами

4.7.1. Связка линии

ИНДЕКС СВЯЗКИ ЛИНИИ определяет одно поле в таблице значений связанных атрибутов. Следующие атрибуты находятся в этой связке:

а) ТИП ЛИНИИ: определяет тип линии (например «пунктирная», «штриховая» и т.д.), которым изображается ломаная;

б) ТОЛЩИНА ЛИНИИ: определяет толщину линии, с которой вычерчивается ломаная;

в) ЦВЕТ ЛИНИИ: определяет цвет, которым вычерчивается ломаная.

4.7.2. Связка маркера

ИНДЕКС СВЯЗКИ МАРКЕРА определяет одно поле в таблице значений связанных атрибутов. Следующие атрибуты находятся в этой связке

а) ТИП МАРКЕРА: определяет символ, который вычерчивается в позиции маркера (например «точка», «плюс» и т.д.);

б) РАЗМЕР МАРКЕРА: определяет размер символа маркера;

в) ЦВЕТ МАРКЕРА определяет цвет, которым вычерчивается символ маркера.

4.7.3. Связка ТЕКСТА

ИНДЕКС СВЯЗКИ ТЕКСТА определяет одно поле в таблице значений связанных атрибутов. Следующие атрибуты находятся в этой связке:

а) ИНДЕКС ШРИФТА ТЕКСТА: определяет тип графического изображения литер текста;

б) ТОЧНОСТЬ ТЕКСТА: определяет правильность изображения и размещения литер;

в) МАСШТАБ РАСШИРЕНИЯ ЛИТЕР: определяет отклонение соотношения типа ширина/высота литеры от соотношения, установленного конструктором шрифта;

г) МЕЖЛИТЕРНЫЙ ПРОСВЕТ: определяет размеры свободного пространства между литерами в строке;

д) ЦВЕТ ТЕКСТА: определяет цвет, которым вычерчиваются литеры текста.

4.7.4. Связки заполняемых областей

Имеются две связки, связанные с элементами заполнения.

4.7.4.1. Связка ЗАПОЛНЕНИЕ

Связка заполнения связывается с внутренними атрибутами элементов заполняемых областей. ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ определяет одно поле в таблице значений связанных атрибутов. Следующие атрибуты находятся в этой связке:

а) ТИП ЗАПОЛНЕНИЯ ОБЛАСТИ: определяет, какой тип заполнения области («пусто», «заливка», «по шаблону», «штриховка» или «полость») используется при вычерчивании элемента области заполнения;

б) ЦВЕТ ЗАПОЛНЕНИЯ: определяет цвет, которым вычерчивается заполнение примитива вывода. Заполнение используется, если ВИД ЗАПОЛНЕНИЯ ОБЛАСТИ - «полость», «заливка» или «штриховка»;

в) ИНДЕКС ШТРИХОВКИ: определяет тип используемой штриховки, если задан ВИД ЗАПОЛНЕНИЯ ОБЛАСТИ - «штриховка»;

г) ИНДЕКС ШАБЛОНА: определяет нужное поле в таблице шаблона, если задан ВИД ЗАПОЛНЕНИЯ ОБЛАСТИ - «по шаблону».

4.7.4.2. Связка ВНЕШНЯЯ ГРАНИЦА

Связка ВНЕШНЯЯ ГРАНИЦА связывается с атрибутами границы элементов заполнения областей. ИНДЕКС СВЯЗКИ ВНЕШНЕЙ ГРАНИЦЫ определяет одно поле в таблице значений связанных атрибутов. Следующие атрибуты находятся в этой связке:

а) ТИП ВНЕШНЕЙ ГРАНИЦЫ: определяет тип линии, используемой для вычерчивания внешней границы;

б) ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ: определяет толщину внешней границы;

в) ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ: определяет цвет внешней границы.

4.7.5. Режимы спецификаций

ММГ предусматривает конструкцию как «абсолютной», так и «масштабной» спецификаций формальных значений элементов задания размеров ТОЛЩИНА ЛИНИИ, РАЗМЕР МАРКЕРА и ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ. «Абсолютная» спецификация предполагает, что все размеры задаются в единицах КВУ. «Масштабная» спецификация предполагает, что размер определяется масштабом, используемым при интерпретации метафайла к зависимому от устройства номинальному размеру связанного примитива.

4.7.6. Атрибуты ТЕКСТА

Изображение и расположение литер на устройстве управляется элементами атрибутов ИНДЕКС ШРИФТА ТЕКСТА, ИНДЕКС НАБОРА ЛИТЕР, ИНДЕКС НАБОРА АЛЬТЕРНАТИВНЫХ ЛИТЕР, ТОЧНОСТЬ ТЕКСТА, МАСШТАБ РАСШИРЕНИЯ ЛИТЕР, МЕЖЛИТЕРНЫИ ПРОСВЕТ, ЦВЕТ ТЕКСТА и ВЫСОТА ЛИТЕР и управляющими элементами ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ и ТРАНСПАРАНТ. Расположение и ориентация текстовых строк управляется атрибутами ОРИЕНТАЦИЯ ЛИТЕР, НАПРАВЛЕНИЕ ТЕКСТА и ВЫРАВНИВАНИЕ ТЕКСТА. ИНДЕКС СВЯЗКИ ТЕКСТА является индексом в таблице связок текста, каждое поле которой содержит значения связок атрибутов. Хотя расположение и размеры текста могут быть точно определены упомянутыми атрибутами, точность представления зависит от текущей ТОЧНОСТИ ТЕКСТА.

Выбор шрифта текста (т.е. тип изображаемых литер) производится независимо от набора литер. Однако определенный шрифт будет иметь смысл только в том случае, если он связан с используемым набором литер. Римский и готический являются примерами широко используемых шрифтов для базового латинского алфавита.

Атрибуты в выше указанной группе изображения и размещения литер и ИНДЕКС СВЯЗКИ ТЕКСТА могут изменяться внутри строки. Элемент ТЕКСТ или элемент ОГРАНИЧИВАЕМЫЙ ТЕКСТ снабжается признаком, чтобы показать, что он не завершен и дает только первую часть строки. За элементом ТЕКСТ или ОГРАНИЧИВАЕМЫЙ ТЕКСТ могут следовать элемент (элементы) атрибута описываемого текста, а затем элемент ПРИСОЕДИНЯЕМЫЙ ТЕКСТ, который обеспечивает следующую часть строки. Это может повторяться столько раз, сколько необходимо, причем последний ПРИСОЕДИНЯЕМЫЙ ТЕКСТ снабжается признаком, чтобы показать, что строка завершена. Заметим, что интерпретатор метафайла в основном не может отображать на экране любой текст, пока строка не полная, потому что ВЫРАВНИВАНИЕ ТЕКСТА и путь, по которому идут изменения атрибутов, влияют на определение прямоугольника теиста. Текст может быть отображен на экране до того, как строка будет завершена, только в случаях, представленных в табл. 3.

Таблица 3

Направление

Вертикальное выравнивание

Горизонтальное выравнивание

Вправо

обычное вертикальное или по основанию

обычное горизонтальное, левое или продолженное через (0,0)

Влево

обычное вертикальное или по основанию

обычное горизонтальное, правое или продолженное через (1,0)

Вниз

поверху, по заглавной, обычное вертикальное или продолженное через (0,1)

обычное горизонтальное или центральное

Вверх

по основанию, понизу, обычное вертикальное или продолженное через (0,0)

обычное горизонтальное или центральное

Существует несколько методов включения в строку литер из различных наборов. Используемый метод определяется элементом дескриптора метафайла ОБЪЯВЛЕНИЕ КОДИРОВАНИЯ ЛИТЕР. Обычный или принятый по умолчанию метод состоит в том, чтобы использовать элементы ИНДЕКС НАБОРА ЛИТЕР и ограничивать содержимое текстовых строк печатными литерами и пробелами (допускаются коды управления знаками спецификации формата, такие как CR или LF, но их интерпретация зависит от реализации). Другие установки ОБЪЯВЛЕНИЕ КОДИРОВАНИЯ ЛИТЕР или использование элемента ИНДЕКС НАБОРА АЛЬТЕРНАТИВНЫХ ЛИТЕР допускают стандартизованное использование 8-битных символов и управляющих кодов SI, SO и ESC внутри текстовой строки в соответствии с ИСО 2022. Элемент ИНДЕКС НАБОРА АЛЬТЕРНАТИВНЫХ ЛИТЕР используется при выборе набора литер, используемых как набор G1 и как набор G2. Набор G1 используется как для 8-ми битных символов в 10 - 15 колонках таблицы кодов, так и с управляющим кодом SO. Установка значения параметра индекса как ИНДЕКСА НАБОРА ЛИТЕР, так и ИНДЕКСА АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР выполняется элементом Дескриптора Метафайла СПИСОК НАБОРА ЛИТЕР.

Выбор шрифта из таблиц различных шрифтов выполняется элементом ИНДЕКС ШРИФТА ТЕКСТА. Установка значения индексных величин ИНДЕКСА ШРИФТА ТЕКСТА выполняется элементом дескриптора метафайла СПИСОК ШРИФТА.

Система координат шрифта иллюстрируется на черт. 3. Прямоугольник литеры учитывает все вычерчиваемые части (исключая керн) всех литер шрифта (т.е. нет спуска ниже «нижней линии» и нет знака или литеры, превышающей «верхнюю линию»).

Система координат описания шрифта

1 - левая линия;
2 - центральная линия;
3 - правая линия

Черт. 3

Левая и правая грани прямоугольника литеры могут быть определены для каждого элемента на основе согласования переменной ширины каждой литеры и пропорциональных интервалов между литерами. Предполагается, что конструкторы шрифта могут определить некоторые шрифты, имеющие керн литеры, выходящий за пределы прямоугольника литеры. Прямоугольник, превышающий действительную ширину и высоту литеры, обязательно предусматривает достаточные интервалы между литерами, которые делают текст читаемым в разделенным достаточными интервалами, когда прямоугольники соседних литер слиты (т.е., когда МЕЖЛИТЕРНЫЙ ПРОСВЕТ = 0). Прямоугольник литеры, определенный таким образом, позволяет выравнивать многострочный текст без частичных перекрытий в среде метафайла. ВЫСОТА ЛИТЕРЫ устанавливает расстояние в КВУ между верхней линией н линией основания шрифта (см. черт. 3). МАСШТАБ РАСШИРЕНИЯ ЛИТЕР устанавливает отклонение отношения ширины литеры к высоте от отношения, указанного конструктором шрифта (см. черт. 4).

Высота литеры и масштаб расширения литеры

Черт. 4

МЕЖЛИТЕРНЫЙ ПРОСВЕТ определяет, какой дополнительный интервал необходимо оставить между двумя соседними контурами литер (см. черт. 5). Если значение МЕЖЛИТЕРНОГО ПРОСВЕТА равно 0, то прямоугольники литер располагают один за другим в соответствии с НАПРАВЛЕНИЕМ ТЕКСТА только с межлитерными просветами, предусмотренными конструктором шрифта набора. Если значение МЕЖЛИТЕРНОГО ПРОСВЕТА положительно, между прямоугольниками литер предусматриваются дополнительные расстояния. Если значение МЕЖЛИТЕРНОГО ПРОСВЕТА отрицательно, контуры соседних литер частично перекрываются, хотя сами литеры могут не перекрываться. Межлитерный просвет определяется как часть ВЫСОТЫ ЛИТЕР.

Межлитерный просвет

Черт 5

ОРИЕНТАЦИЯ ЛИТЕР определяет вектор высоты литеры и вектор основания, которые фиксируют ориентацию угол наклона и искажение литер, а также определяют направление «вправо», «влево», «вверх» и «вниз» для НАПРАВЛЕНИЯ ТЕКСТА и ВЫРАВНИВАНИЯ ТЕКСТА (см. черт. 6).

Описывается способ, с помощью которого математическое обеспечение перед генерацией метафайла и/или сам генератор метафайла использует ОРИЕНТАЦИЮ ЛИТЕР. При генерации элементов ОРИЕНТАЦИЯ ЛИТЕР и ВЫСОТА ЛИТЕР СОЗДАЮТ вектор, длина которого представляет высоту литеры (от линии основания к линии заглавной), и направление которого совпадает с вектором высоты требуемой литеры. Второй вектор создается такой же длины и с поворотом на минус 90° от вектора высоты литеры. Эта пара векторов может быть преобразована до задания генератору метафайла параметров ОРИЕНТАЦИЯ ЛИТЕР. Длина преобразованного вектора высоты литеры затем используется для генерации элемента ВЫСОТА ЛИТЕР. Если анизотропное преобразование выполняется над генератором метафайла, высота литеры должна быть переопределена генератором метафайла для каждого изменения ориентации (см. черт 7). А ВЫСОТУ ЛИТЕР и ОРИЕНТАЦИЮ ЛИТЕР разделяют, чтобы предусмотреть изменение высоты литеры (но не ориентации) в строке. Так, для интерпретатора метафайла абсолютные длины векторов ОРИЕНТАЦИИ ЛИТЕР несущественны; важны только направления и отношение их длин. Отношение длины вектора толщины к длине вектора высоты используется при определении масштаба МЕЖЛИТЕРНОГО ПРОСВЕТА для направлений текста и масштаба РАСШИРЕНИЯ ЛИТЕРЫ во всех случаях до отображения текста на экран.

Ориентация литеры

Черт. 6

Высота литеры и ориентация литеры
после анизатропного преобразования

Черт. 7

НАПРАВЛЕНИЕ ТЕКСТА имеет возможные значения «вправо», «влево», «вверх» и «вниз». Они определяют направление изображения строки текста.

Вправо - означает в направлении вектора основания литеры.

Влево - означает под углом в 180° от вектора основания литер.

Вверх - означает в направлении вектора высоты литеры.

Вниз - означает под углом в 180° от вектора высоты литеры.

Для направлений текста «вверх» и «вниз» литеры располагаются таким образом, что центры прямоугольников литер размещаются по прямой линии в направлении ВЕКТОРА ОРИЕНТАЦИИ ЛИТЕР. Для направлений текста «влево» и «вправо» литеры располагаются таким образом, что линии основания литер размещаются на прямой линии в направлении вектора основания литер. Эти композиционные правила также считаются верными, когда в строке чередуются литеры различных высот, масштабов расширения или шрифтов посредством изменений атрибутов между неоконченными элементами ТЕКСТ и последующими элементами ПРИСОЕДИНЯЕМЫЙ ТЕКСТ.

Выравнивание текста задается относительно прямоугольника текста, который получается при объединении контуров литер в строку в соответствии с текущим состоянием атрибутов и описанными композиционными правилами. Выравнивание выполняется в соответствии с наивысшей точностью в строке.

Для НАПРАВЛЕНИЕ ТЕКСТА = «влево» или «вправо»:

ВЕРХНЯЯ ЛИНИЯ: самая удаленная верхняя линия от линии основания.

ЛИНИЯ ЗАГЛАВНОЙ: самая удаленная линия заглавной от линии основания.

СРЕДНЯЯ ЛИНИЯ: самая удаленная средняя линия от линии основания.

НИЖНЯЯ ЛИНИЯ: самая удаленная от линии основания нижняя линия.

ЛЕВАЯ ЛИНИЯ: самая левая грань самого левого прямоугольника литеры.

ПРАВАЯ ЛИНИЯ: самая правая грань самого правого прямоугольника литеры.

ЦЕНТРАЛЬНАЯ ЛИНИЯ: средняя линия между левой и правой гранями.

Для НАПРАВЛЕНИЯ ТЕКСТА - «вверх» или «вниз»:

ВЕРХНЯЯ ЛИНИЯ: ВЕРХНЯЯ ЛИНИЯ САМОЙ ВЕРХНЕЙ ЛИТЕРЫ.

ЛИНИЯ ЗАГЛАВНОЙ: линия заглавной самой верхней литеры.

СРЕДНЯЯ ЛИНИЯ: линия равноудаленная от средних линий самой верхней и самой нижней литеры.

ЛИНИЯ ОСНОВАНИЯ: линия основания самой нижней литеры.

НИЖНЯЯ ЛИНИЯ: нижняя линия самой нижней литеры.

ЛЕВАЯ ЛИНИЯ: левая грань, наиболее удаленная от центральной линии.

ПРАВАЯ ЛИНИЯ: правая грань, наиболее удаленная от центральной линии.

Отношения верхней линии к линии заглавной, нижней линии к линии основания и положение средней линии зависят от шрифта (черт. 8), потому что различно обозначенные линии прямоугольника текста не могут быть получены из прямоугольника литеры. Это функция высоты текста, шрифта текста и масштаба расширения литер внутри строки.

Атрибут ВЫРАВНИВАНИЯ ТЕКСТА управляет размещением прямоугольника текста относительно позиции текста (черт. 9).

Горизонтальная составляющая ВЫРАВНИВАНИЕ ТЕКСТА может принимать пять различных значений: «левое», «центральное», «правое», «обычное горизонтальное» и «продолженное горизонтальное», если горизонтальная компонента - «левое», то левая сторона прямоугольника текста проходит через позицию текста. Аналогично, если она принимает значение «правое», то правая сторона прямоугольника текста проходит через позицию текста. Если горизонтальная составляющая - «центральная», то позиция текста располагается в середине между левым и правым полями прямоугольника текста. В этом случае, если НАПРАВЛЕНИЕ ТЕКСТА = ~ «вверх» или «вниз», то прямая линия, проходящая через центральные линии литер, также проходит через позицию текста.

Раздельное выравнивание текста с присоединяемым текстом
и пропорциональными интервалами

Черт. 8

Раздельное выравнивание текста

Черт. 9

Вертикальная составляющая ВЫРАВНИВАНИЯ ТЕКСТА может принимать семь различных значений: «поверху», «по заглавной», «посередине», «по основанию», «понизу», «обычное вертикальное» и «продолженное вертикальное». Значение вертикального выравнивания = «поверху», «по заглавной», «посередине», «по основанию» или «понизу» заставляет сдвигать текст таким образом, что соответствующие линии, ограничивающие прямоугольник текста, проходят через позицию текста.

Для горизонтального и вертикального выравниваний обычные значения во время обработки элементов текста преобразуются в соответствующее значение, приведенное в разд. 5, и согласно этому обрабатываются, как описано выше. Для всех значений ВЫРАВНИВАНИЕ ТЕКСТА значение выравнивания применимо к полной строке текста, которая может состоять из неконечных частичных строк и конечной частичной строки.

Если значение горизонтальной компоненты ВЫРАВНИВАНИЕ ТЕКСТА = ~ «продолженное горизонтальное» = дополнительная величина, то «продолженное горизонтальное выравнивание» (действительное число, нормированное таким образом, что 1.0 соответствует ширине прямоугольника текста), используется как смещение позиции текста к левому полю прямоугольника текста. На черт. 10 иллюстрируется смысл положительных и отрицательных значений «продолженного горизонтального выравнивания».

Если значение вертикальной компоненты ВЫРАВНИВАНИЯ ТЕКСТА - «продолженное вертикальное» дополнительная величина, то «продолженное вертикальное выравнивание» (действительное число, нормированное таким образом, что 1 соответствует высоте прямоугольника текста), используется как смещение позиции текста к нижнему полю прямоугольника текста. На черт. 10 приведены положительные и отрицательные значения «продолженного вертикального выравнивания»

Продолженное выравнивание текста

Черт. 10

Приведенные примеры были даны для случая ортогональных вектора высоты литер и вектора основания литер. Если они не ортогональны, прямоугольник текста становится параллелограммом со сторонами, параллельными двум векторам ориентаций. Центральная линия отклоняется, чтобы оставаться параллельной левой и правой ребрам параллелограмма текста. Высота параллелограмма текста измеряется вдоль отклоняющего ребра (не перпендикулярной к основной линии) и расстояние, на которое будет смещение при выравнивании, задается под углом, образуемым вектором соответствующей ориентации (смотри черт. 11). Вправо - направление вектора основания литер, влево - противоположное направление.

Продолженное выравнивание текста после анизотропного преобразования

Черт. 11

Значение выравнивания «продолженное» позволяет соответственно установить позиции множественных строк и столбцов текста относительно друг друга, используя единственную позицию текста для всех строк и столбцов. Строка может состоять из нескольких горизонтально расположенных наборов литер, изображенных в направлении «вправо». Столбец может состоять из строк вертикально расположенных алфавитно-цифровых символов, изображенных в направлении «вниз».

Такое позиционирование не всегда может быть получено в среде метафайла, так как справки о размере прямоугольника текста не могут быть получены во время генерации метафайла.

В качестве примера набора атрибутов продолженного выравнивания рассмотрим отображение на экране четырех строк текста с левым выравниванием, каждая составляющая его строка определяется единственным элементом ТЕКСТ. Чтобы не допустить частичного наложения строк при подъеме и опускании и, кроме того, чтобы существовал интервал, по крайней мере, в половину максимального размера литеры между перемещениями вниз одной строки с поднимаемыми знаками или литерами больше обычных размеров другой строки, ВЫРАВНИВАНИЕ ТЕКСТА должно быть установлено («влево», «продольное вертикальное»), и «вертикальное выравнивание» = 0.0. Затем вывод первой строки позиции текста начинается в нижнем левом углу строки. Теперь установка «вертикального выравнивания» = 1.5, вывод второй строки с прежней позиции текста. Вторая строка располагается под первой вследствие изменения в выравнивании. Последние две строки выводятся таким же образом с установкой «вертикальное выравнивание» = 3.0 и 4.5, и параметры позиций текста для ТЕКСТА остаются прежними. Величина 1.0 не допускает частичного совпадения строк, величина, большая 1.0, гарантирует дополнительный непропечатываемый интервал.

ТОЧНОСТЬ ТЕКСТА используется, чтобы определить близость представления текста в интерпретации метафайла по отношению к тому определению, которое было задано атрибутами текста и текущим отсечением метафайла.

Определены следующие значения точности:

до строки: генерируется вся строка текста с заданным шрифтом текста и позиционируется при помощи выравнивания строки по данной позиции текста. Высота текста и МАСШТАБ РАСШИРЕНИЯ ЛИТЕР учитывается, насколько позволяет интерпретатор метафайла. Векторы текста НАПРАВЛЕНИЕ ТЕКСТА и ВЫРАВНИВАНИЕ ТЕКСТА не используются. Отсечение производится способом, зависящим от реализации;

до литеры: генерируется вся строка текста с заданным шрифтом текста. Для представления каждой индивидуальной литеры учитывается высота текста, вектор текста, МАСШТАБ РАСШИРЕНИЯ ЛИТЕР, насколько позволяет интерпретатор метафайла. Пробел между прямоугольниками литер учитывается точно; прямоугольник литер для этой цели является идеальным прямоугольником литеры, вычисленным точно из характеристик текста и размерности шрифта. Позиция результирующего параллелограмма текста определяется ВЫРАВНИВАНИЕМ ТЕКСТА и позицией текста. Отсечение производится с точностью до литеры;

до штриха: полная строка текста с заданным шрифтом текста изображается в позиции текста с учетом всех характеристик текста. Строка текста отсекается точно по прямоугольнику отсечения.

Точность «до штриха» не всегда подразумевает векторные штрихи; поскольку представление зависит от правил управления точностью штриха, шрифт может быть реализован в любой форме, например, растровый шрифт.

Атрибуты ТЕКСТА также применимы к примитиву ОГРАНИЧИВАЕМЫЙ ТЕКСТ. Так как определение прямоугольника строки обычно невозможно в среде метафайла, элемент ОГРАНИЧИВАЕМЫЙ ТЕКСТ имеет в качестве параметра размер прямоугольника ограничиваемого текста. Прямоугольник, ограничивающий текст, представляет собой параллелограмм, который определяется этим параметром и текущим значением элементов ОРИЕНТАЦИЯ ЛИТЕРЫ и ВЫРАВНИВАНИЕ ТЕКСТА. Вся указанная строка текста (от элемента ОГРАНИЧИВАЕМЫЙ ТЕКСТ и любых ассоциированных элементов ПРОДОЛЖЕННЫЙ ТЕКСТ) должна находиться внутри прямоугольника, ограничивающего текст, и размеры текста отображаемой строки не должны превышать размера прямоугольника.

Если строка текста, которая изображается с текущими атрибутами текста, будет превышать размеры прямоугольника, тогда значения атрибутов текста МАСШТАБ РАСШИРЕНИЯ ЛИТЕР, МЕЖЛИТЕРНЫИ ПРОСВЕТ, ШРИФТ ТЕКСТА, ТОЧНОСТЬ ТЕКСТА и ВЫСОТА ЛИТЕРЫ, которые используются для изображения этих строк, подгоняются зависящим от реализации способом, чтобы достигнуть требуемых ограничений. Приспособление атрибутов возможно только для ограничиваемых строк, и применяется концептуально к «реализованным» значениям атрибутов, то есть тем значениям, которые используются в настоящее время для изображения строки.

4.7.7. Атрибуты цвета

ММГ использует цветовую модель добавок RGB, применяемую во многих видеоустройствах и в цветном телевидении.

ММГ предусматривает два технических приема выбора цвета: «прямой» и «индексный». При «прямом» выборе цвет определяется предусмотренными нормированными значениями компонентов RGB. При «индексном» выборе цвет определяется индексом в таблице непосредственных значений цвета. Выбор технического приема задается элементом дескриптора каждого изображения.

Для «индексного» выбора цвета предусматривается атрибутный элемент ТАБЛИЦА ЦВЕТА, служащий для изменения содержания таблицы цвета. Этот элемент может появляться повсюду в основной части изображения. Однако эффект изменения в таблице цвета из любого существующего элемента примитива вывода, который использует искусственный индекс, не рассматривается в ИСО 8632.

Для прямой спецификации цвета значениями цвета является тройка значений, имеющих нормированные веса красной, зеленой и голубой компонентов желаемого цвета. Теоретически каждый элемент тройки нормируется в непрерывном диапазоне действительных чисел [0, 1]; нормирование также имеет такое свойство, что любая тройка разрядов с тремя идентичными компонентами (х, х, х) представляет равные веса красного, зеленого, голубого компонента. Для любого данного компонента один конец диапазона показывает, что этот компонент не включен в цвет, другой конец показывает, что максимальная интенсивность этого компонента, включена в цвет, с бесконечным числом значений компонентов между ними. Итак, (0, 0, 0) представляет черный цвет, (1, 1, 1) представляет белый цвет и (х, х, х) с х, находящимся между 0 и 1, представляет серый цвет.

В метафайле абстрактное минимальное значение цвета (0, 0, 0) представляется (min_red, min_green, min_blue) и абстрактное максимальное значение (1, 1, 1) представляется (max_red, max_green, max-blue). Имеется элемент дескриптора метафайла, ДИАПАЗОН ЗНАЧЕНИЙ ЦВЕТА, который позволяет сгенерировать метафайл, чтобы определить минимальное и максимальное значения цвета метафайла.

4.7.8. Атрибуты области заполнения

Предусматривается индивидуальное управление состоянием вида заполнения и внешней границы примитивов областей заполнения.

Атрибут ВИД ЗАПОЛНЕНИЯ выбирается из пяти видов, по которым может быть заполнена внутренняя часть элемента заполнения:

полость: не заполняется, но граница (линия границы) области заполнения вычерчивается с использованием выбранного текущего цвета заполнения (либо через ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ или ЦВЕТ ЗАПОЛНЕНИЯ, в зависимости от соответствующего ФВА ЦВЕТА ЗАПОЛНЕНИЯ). Граница заполняемой области вида «полость» исследуется для представления внутренней области. Граница отличается от внешней границы и вычерчивается только для областей заполнения «полость». Тип линии и ширина линии зависят от реализации;

заливка: заполняется внутренняя область с использованием выбранного текущего цвета заполнения (либо через ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ или ЦВЕТ ЗАПОЛНЕНИЯ, в зависимости от соответствующего ФВА ЦВЕТА ЗАПОЛНЕНИЯ);

по шаблону: заполняется внутренняя область с использованием выбранного текущего индекса шаблона (либо через ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ или ИНДЕКС ШАБЛОНА, в зависимости от соответствующего ФВА ИНДЕКСА ШАБЛОНА) как индекса в таблице шаблонов;

штриховка: заполняется внутренность с использованием выбранного текущего индекса штриховки (либо через ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ или индивидуальные атрибуты ЦВЕТ ЗАПОЛНЕНИЯ и ИНДЕКС ШТРИХОВКИ, в зависимости от соответствующего ФВА);

пусто никакого заполнения не производится и граница не вычерчивается, то есть ничего не делается, чтобы представить внутреннюю область. Единственным потенциально видимым компонентом заполняемой области вида «пусто» является внешняя граница, в зависимости от ВИДИМОСТИ ВНЕШНЕЙ ГРАНИЦЫ и других атрибутов внешней границы.

Внешняя граница может быть как видимой, так и невидимой. Если видимая, то индивидуальный атрибут внешней границы или ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ (согласно значениям внешней границы ФВА) управляет изображением.

Если внешняя граница видима, она вычерчивается сверху внутренней области; внешняя граница будет иметь приоритет перед внутренней областью и будет всегда полностью видима.

Граница, вычерчиваемая для вида заполнения «полость», рассматривается как представление внутренней области. Хотя внешняя граница имеет приоритет, граница также может быть частично видима. Часть внешней границы, которая отсекается, становится невидимой; отсечение внешней границы аналогично отсечению линейных элементов Часть внутренней области, которая отсекается, будет в случае вида заполнения «полость» иметь границу, вычерченную по границе отсечения.

«Реализованная внешняя граница» определяется идеальной граничной линией заполняемого контура нулевой толщины, если внешняя граница невидимая, и отображаемой на экране линией ограниченной толщины, если внешняя граница видимая. Стандарт ИСО 8632 не требует выравнивания реализованной внешней границы конечной толщины по отношению к идеальной внешней границы нулевой толщины (т.е. не устанавливается, будет ли первая центрироваться по последней или выравниваться каким-либо другим образом, например изнутри).

«Реализованная внутренняя область» определяется как область, простирающаяся до внешней границы и заканчивающаяся на ней. Рассмотрение внутренней области при корректировке стандарта ИСО 8632 должно учитывать принадлежность к реализованной внутренней области.

4.8. Элементы расширения

Элементы РАСШИРЕНИЯ описывают зависимые от устройств и систем данные ММГ. РАСШИРЕНИЯ могут быть включены в метафайл по усмотрению пользователя, а прямые и побочные действия пользователя нестандартизованных элементов находятся вне области применения ИСО 8632. ИСО 8632 не налагает ограничений на функциональное содержание или объем данных, передаваемых устройству РАСШИРЕНИЕ.

4.9. Внешние элементы

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

Элемент СООБЩЕНИЕ определяет строку литер, используемую для передачи информации оператором во время интерпретации ММГ. Этот элемент используется для обеспечения специальной зависимой от устройства информации, необходимой при обработке ММГ. Управление расположением и изображением строки литер не предусматривается.

Элемент ПРИКЛАДНЫЕ ДАННЫЕ допускает применения, рассчитанные на хранение и выборку личных данных. Этот элемент не является графическим, и его интерпретация не будет оказывать влияния на изображение, созданное интерпретатором.

Для спецификации нестандартизованных графических действий предусмотрены элементы РАСШИРЕНИЕ и ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА. Эти элементы могут оказывать влияние на изображение, созданное интерпретатором.

4.10. Концептуальная диаграмма состояний

Существует несколько требуемых последовательных взаимоотношений между элементами метафайла, которые определяют, является ли он синтаксически правильным. Например дескриптор метафайла (который является первой последовательностью последовательных элементов, классифицируемых как элементы дескриптора метафайла) должен встречаться после элемента НАЧАЛО МЕТАФАЙЛА и перед любыми другими элементами (без учета внешних элементов и элементов расширения).

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

Для иллюстрации рассматривается абстрактная машина, которая может анализировать структуру данных метафайла от начала до конца н способна идентифицировать или понимать (в противоположность интерпретации, изображению и отображению на экран) элементы метафайла и имеет единственный важный структурный компонент, называемый регистром состояния. Идентификация этой абстрактной машиной различных элементов метафайла в последовательной структуре данных заставляет «регистр состояний» принимать определенные значения. «Состояния» метафайла в сопровождающей диаграмме состояний (см. черт. 12) являются, в таком случае, фактически значениями регистра состояний этой абстрактной машины, анализирующей метафайл.

Это представление состояний метафайла и объяснения в терминах абстрактного интерпретатора предлагается с целью иллюстрации и объяснения правил последовательности элементов метафайла. Оно ничуть не предпочтительнее для утверждения характеристик и структуры актуального генератора и интерпретатора метафайла; стандартизация генерации и интерпретации находится вне сферы действия ИСО 8632.

4.11. Регистрация

Для некоторых элементов метафайл ММГ определяет диапазон значений параметров, резервируемых для регистрации. Значения этих величин будут определены с использованием установленной процедуры Международного органа регистрации графических записей ИСО. Эти процедуры не применяются к значениям и диапазонам значений, определенных как резервируемые для зависимого от реализации или личного использования; эти значения и диапазоны не стандартизуются.

Приложения не должны использовать значения параметров в диапазоне, зарезервированном для зависимого от реализации или личного пользования. Элементами метафайла, которые будут зависеть от регистрации графических записей, являются:

1. ТИП ЛИНИИ.

2. ТИП МАРКЕРА.

3. ТИП ШТРИХОВКИ.

4. ТИП ВНЕШНЕЙ ГРАНИЦЫ.

5. СПИСОК ШРИФТОВ.

6. ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА.

7. РАСШИРЕНИЕ.

Регистрация наборов литер для использования вместе с элементом СПИСОК НАБОРОВ ЛИТЕР производится в соответствии с процедурой, описанной в ИСО 2375.

Черт 12

5. АБСТРАКТНАЯ СПЕЦИФИКАЦИЯ ЭЛЕМЕНТОВ

5.1. Введение

В разд. 5 рассматриваются элементы метафайла.

Элементы ограничения (см. п. 5.2) разграничивают значащие структуры метафайла.

Элементы дескриптора метафайла (см. п. 5.3) описывают функциональное содержание, условия по умолчанию, идентификацию и характеристики ММГ.

Элементы дескриптора изображения (см. п. 5.4) устанавливают экстент пространства КВУ и объявляют характеристики параметров элементов атрибутов для изображения в целом.

Элементы управления (см. п. 5.5) устанавливают размер и точность пространства координат и описания форматов элементов ММГ.

Элементы примитивов вывода (см. п. 5.6) описывают геометрические объекты в ММГ.

Элементы атрибутов (см. п. 5.7) описывают изображение элементов примитивов вывода.

Элементы расширения ММГ (см. п. 5.8) описывают зависимые от устройства и системы элементы, используемые при построении изображения.

Внешние элементы (см. п. 5.9) передают информацию, не связанную непосредственно с генерацией графического изображения.

Формат, используемый в этом разделе для определения набора элементов метафайла, предназначается для отделения функциональности от кодирования. Каждому элементу присваивается имя, описываются параметры, перечисляются типы данных, и добавляются описания неявных связей для внесения ясности, как элемент входит в систему.

Таблица 4

Определение типов данных и их сокращенные имена

Типы данных

Смысловые значения

ИЦ

Индекс цвета

Неотрицательный указатель в таблице значений цвета

ПЦ

Прямой цвет

Тройки неотрицательных значений красного, зеленого и голубого цветов

П

Перечисляемый

Набор стандартизованных величин. Набор определяется перечислением идентификаторов, обозначающих величины

Ц

Целый

Число без дробной части (мантиссы)

Ин

Индекс

Целый указатель в таблице значений или целое, используемое при выборе из набора перечисляемых значений

Т

Точка

Два значения КВУ, представляющие координаты x и y точки в пространстве КВУ

В

Вещественный

Число с целой и дробной частью, одна из которых обязательно существует

С

Строка

Последовательность литер

КВУ

Значение КВУ

Одиночные вещественные или целые значения (в зависимости от ТИПА КВУ) в пространстве КВУ

З

Запись данных

Определенная пользователем или иначе нестандартизованная запись данных, которая сопровождает такие элементы, как ПРИКЛАДНЫЕ ДАННЫЕ, РАСШИРЕНИЕ и ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА

Параметры типа Ин (табл. 4), используемые как переключатели перечня некоторых элементов, имеют фиксированное число величин с определенными н стандартизованными значениями и имеют другие величины, доступные для зависимого от реализации определения и использования. Ожидается, что стандартизованные величины будут расширены в следующих версиях ММГ. Во избежание возможного конфликта с определенными пользователем величинами стандартизованные и доступные пользователю величины относятся к разным диапазонам параметра Ин. Отрицательные значения Ин предусматриваются для величин, определяемых пользователем, а неотрицательные значения резервируются для дальнейшей стандартизации.

Параметры типа П расширяемы также для личных значений, но метод спецификации личных величин-функция кодирования.

Комбинации простых типов могут быть использованы также там, где n - неспецифицированное число (например nТ или 2В, 2Ц). Также может быть определен список типов (например Ц, П, В, П).

Как эти типы данных представляются в данном кодировании ММГ, определяется в последующих частях ИСО 8632.

ИСО 8632 определяет синтаксис и семантику элементов, которые могут быть в метафайле. Характеристики генератора и интерпретатора метафайла не стандартизируются. Следовательно, не определено, как интерпретатор метафайла должен обрабатывать ошибки в содержании метафайла.

Для того, чтобы интерпретаторы метафайла получали одинаковый результат, идентифицированы три категории ошибок и вырожденных ситуаций в содержании метафайла. Приложение Г определяет некоторые из этих случаев и содержит предложения по приемлемой реакции.

Имеются три категории ошибок и вырожденных ситуаций и способов обработки их в ИСО 8632.

а). Синтаксис: синтаксические ошибки включают такие случаи, как ошибка в количестве данных для элемента или отрицательные значения параметра, допустимое значение которого не отрицательно. Хотя в этом случае обычно значения элементов параметров имеют силу, попытка перенумеровать отсутствующие параметры не делается. Приложение Г содержит основное обсуждение с некоторыми примерами такого вырождения. Не содержится поэлементного рассмотрения таких случаев.

б). Геометрические вырождения: геометрические вырождения включают элементы, которые соответственно определены синтаксически и математически, но для которых определенные данные дают вырожденный результат. Принципиальным классом геометрических вырождений являются примитивы с нулевой длиной и нулевой площадью. Примером таких ситуаций являются все совпадающие точки в ломаной и все совпадающие сегменты в полигональной областях.

ИСО 8632 не определяет, должен ли в таких вырожденных ситуациях появляться видимый результат или нет. Аналогично как и в случае синтаксических ошибок, этот пункт не содержит определения особенностей вырождений в описании индивидуальных элементов. В приложении Г имеются основные рекомендации для реализаторов, которые хотят, чтобы в случае таких вырождений появлялся видимый результат.

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

5.2. Элементы ограничения

5.2.1. НАЧАЛО МЕТАФАЙЛА

Параметры:

идентификатор (С)

Описание:

Это первый элемент метафайла. Он отмечает начало Дескриптора Метафайла. НАЧАЛО МЕТАФАЙЛА должно встречаться только один раз в метафайле. Параметр идентификатора, определяется для использования генераторами и интерпретаторами метафайла способом, который далее не стандартизуется.

Примечание. Если кодируется более чем один ММГ в одной и той же среде вывода, каждый метафайл должен начинаться элементом НАЧАЛО МЕТАФАЙЛА.

Этот элемент вызывает состояние передачи в диаграмме состояний на черт. 12, в состояние ОПИСАНИЕ МЕТАФАЙЛА.

Ссылки:

п. 4.2.

5.2.2. КОНЕЦ МЕТАФАЙЛА

Параметры:

нет

Описание:

это последний элемент метафайла.

Примечание. Этот элемент вызывает состояние передачи в диаграмме состояний на черт. 12, в состояние МЕТАФАЙЛ ЗАКРЫТ.

Ссылки:

п. 4.2.

5.2.3. НАЧАЛО ИЗОБРАЖЕНИЯ

Параметры:

идентификатор (С)

Описание:

это первый элемент изображения. Он отмечает начало дескриптора изображения. Он возвращает всем элементам значения по умолчанию. Параметр идентификатора определяется для использования генераторами и интерпретаторами метафайла способом, который далее не стандартизуется. Для совместимости с описанием и введением управлений ИСО 2022, которые могут встречаться внутри параметров строки элементов ТЕКСТ, ПРИСОЕДИНЯЕМЫЙ ТЕКСТ, ОГРАНИЧИВАЕМЫЙ ТЕКСТ и ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА. Способ, которым НАЧАЛО ИЗОБРАЖЕНИЯ возвращает набор литер в состояние по умолчанию следующий:

НАЧАЛО ИЗОБРАЖЕНИЯ заставляет набор литер, выбранный значением по умолчанию из ИНДЕКСА НАБОРА ЛИТЕР, быть определенным как текущий набор GO и включает в позиции с 2/1 по 7/14 коды 7-битных и 8-битных литер;

НАЧАЛО ИЗОБРАЖЕНИЯ описывает также набор литер, выбранный значением по умолчанию из ИНДЕКСА АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР как текущий набор G1и как текущий набор G2;

в 8-битной среде НАЧАЛО ИЗОБРАЖЕНИЯ вводит в значение по умолчанию набора литер G1 позиции кодов литер с 10/1 по 15/14 (или с 10/0 по 15/15, если набор G1 должен быть 96-литерным набором).

Здесь термины «определять», «вводить», «набор G0», «набор G1» и «набор G2» имеют значения, определенные в международном стандарте ИСО 2022.

Примечание. НАЧАЛО ИЗОБРАЖЕНИЯ и КОНЕЦ ИЗОБРАЖЕНИЯ ограничивают набор элементов одного изображения в ММГ. Каждое изображение в метафайле абсолютно не зависит от любого другого изображения и всегда начинается с НАЧАЛА ИЗОБРАЖЕНИЯ. Эта независимость достигается возвращением формальным величинам всех элементов их стандартных значений в начале формирования изображения.

Этот элемент вызывает состояние передачи в диаграмме состояний на черт. 12, в состояние ОПИСАНИЕ ИЗОБРАЖЕНИЯ.

Ссылки.

п. 4.2.

5.2.4. НАЧАЛО ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ

Параметры:

нет

Описание:

этот элемент разделяет конец Дескриптора Изображения и начало основной пасти изображений. Так, он передает информацию интерпретатору метафайла для перехода от Дескриптора Изображения к примитивам вывода, атрибутам и управляющим элементам, которые определяют изображения.

Если новое изображение начинается с очищенным носителем изображения, начальный цвет носителя изображения определяется цветом элемента ЦВЕТ ФОНА, если этот элемент присутствует в Дескрипторе Изображения, или цветом фона по умолчанию, если этот элемент ЦВЕТ ФОНА не присутствует в Дескрипторе Изображения.

Каждое изображение определяет графическое изображение, не зависимое от других изображений. Как предполагается в приложении Г, представление каждого изображения на очищенном носителе изображения является наиболее ожидаемым действием. Так как очистка изображения не стандартизована, интерпретатор имеет свободу в формировании результата пересекающихся изображений.

Примечание. Этот элемент вызывает состояние передачи в диаграмме состояний на черт. 12 в состояние ОТКРЫТОЕ ИЗОБРАЖЕНИЕ.

Ссылки:

пп. 4.2; Г.4.1.

5.2.5. КОНЕЦ ИЗОБРАЖЕНИЯ

Параметры:

нет

Описание:

это последний элемент изображения.

Только внешние элементы и элементы расширения могут встречаться между элементами КОНЕЦ ИЗОБРАЖЕНИЯ и НАЧАЛО ИЗОБРАЖЕНИЯ или между элементами КОНЕЦ ИЗОБРАЖЕНИЯ и КОНЕЦ МЕТАФАЙЛА.

Примечание. При встрече с этим элементом никаких явных действий не определяется.

Этот элемент вызывает состояние передачи в диаграмме состояний на черт. 12 в состояние ИЗОБРАЖЕНИЕ ЗАКРЫТО.

Ссылки:

пп. 4.2; Г.4.1.

5.3. Элементы дескриптора метафайла

5.3.1. ВЕРСИЯ МЕТАФАЙЛА

Параметры:

версия (Ц)

Описание:

Метафайл соответствует определенной версии стандарта ММГ. Этот элемент должен встречаться в дескрипторе метафайла каждого метафайла.

Настоящая версия стандарта ММГ является версией один (1). Следующие версии стандарта ММГ будут использовать более высокую нумерацию версий.

Ссылки:

п. 4.3.1.

5.3.2. ОПИСАНИЕ МЕТАФАЙЛА

Параметры.

описание (С).

Описание:

содержание метафайла в этом элементе описывается нестандартизованным образом.

Примечание. Этот элемент позволяет идентифицировать ММГ описательным текстом, таким как текст автора, ссылка на первоисточник и т.д.

Ссылки:

п. 4.3.1.

5.3.3. ТИП КВУ

Параметры:

тип КВУ (один из: целый, вещественный) (П).

Описание:

Единственный параметр является перечисляемым значением, которое объявляет тип данных КВУ, целые или вещественные реальные.

Ссылки:

п. 4.3.

5.3.4. ТОЧНОСТЬ ЦЕЛЫХ

Параметры:

точная форма параметра зависит от конкретного кодирования.

Описание:

Точность операндов целого тина (Ц) данных устанавливается для последующих данных типа Ц. Точность определяется как ширина поля, измеряемая в единицах, соответствующих конкретному кодированию.

Ссылки:

п. 4.3.

5.3.5. ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ

Параметры:

точная форма параметра (параметров) зависит от конкретного кодирования.

Описание:

Точность операндов вещественного типа (В) данных определяется для последующих данных типа В. Точность устанавливается как ширина поля, измеряемая в единицах, соответствующих конкретному кодированию. Точность может включать параметры, определяющие подполя данных типа В.

Ссылки:

п. 4.3.

5.3.6. ТОЧНОСТЬ ИНДЕКСА

Параметры:

точная форма параметров зависит от конкретного кодирования.

Описание:

Точность операндов индексного типа (Ин) данных определяется для последующих данных типа Ин. Точность устанавливается как ширина поля, измеряемая в единицах, соответствующих конкретному кодированию.

Ссылки:

п. 4.3.

5.3.7. ТОЧНОСТЬ ЦВЕТА

Параметры:

точная форма параметра зависит от конкретного кодирования.

Описание:

Точность операндов данных типа прямого цвета (ПЦ) определяется для последующих данных типа ПЦ. Точность устанавливается как ширина поля, измеряемая в единицах, соответствующих конкретному кодированию. Хотя форма параметра зависит от кодирования, параметр является единой спецификацией, которая применяется к каждому из трех компонентов (красный, зеленый, синий) параметра типа ПЦ. Точность индивидуальных компонентов не является независимой и отдельно определяемой в этом элементе.

Ссылки:

п. 4.3.

5.3.8. ТОЧНОСТЬ ИНДЕКСА ЦВЕТА

Параметры:

точная форма параметра зависит от конкретного кодирования.

Описание:

Точность операндов данных типа индекса цвета (ИЦ) определяется для последующих данных типа ИЦ. Точность устанавливается как ширина поля, измеряемая в единицах, соответствующих конкретному кодированию.

Ссылки:

п. 4.3.

5.3.9. МАКСИМАЛЬНЫЙ ИНДЕКС ЦВЕТА

Параметры:

максимальный индекс цвета (ИЦ).

Описание:

Параметр представляет верхнюю границу (не обязательно наименьшую верхнюю границу) значений индекса цвета, встречающихся в метафайле.

Ссылки:

п. 4.3.

5.3.10. ДИАПАЗОН ЗНАЧЕНИЙ ЦВЕТА

Параметры:

минимальное значение цвета (ПЦ);

максимальное значение цвета (ПЦ).

Описание:

Параметры представляют диапазон, который ограничивает значения прямого цвета, встречающийся в метафайле. Нет необходимости представлять точный диапазон значений цвета, содержащийся в метафайле.

«Минимальное значение цвета» соответствует абстрактному определению RGB (0, 0, 0), что означает нулевую интенсивность каждого из компонентов RGB и представляется черным цветом. Максимальное значение цвета соответствует абстрактному определению RGB (1, 1, 1), что означает максимальную интенсивность каждого из компонентов RGB и представляется белым цветом.

Ссылки:

п. 4.7.7.

5.3.11. СПИСОК ЭЛЕМЕНТОВ МЕТАФАЙЛА

Параметры:

форма параметров зависит от кодирования.

Описание:

составляется список всех элементов, встречающихся в метафайле и не являющихся обязательными. (Обязательные элементы - это те элементы, которые должны входить в каждый синтаксически правильный ММГ). СПИСОК ЭЛЕМЕНТОВ МЕТАФАЙЛА должен встречаться в Дескрипторе Метафайла каждого метафайла. Список представляет собой верхнюю границу функциональных возможностей. Граница не обязательно наименьшая верхняя. Каждый элемент ММГ должен входить в список, но список может включать элементы, не использованные в ММГ.

Для работы со списком элементов ММГ предусмотрено два сокращенных имени. Эти имена могут использоваться вместе с именами индивидуальных элементов в списке элементов. Эти имена: ЧЕРТЕЖНЫЙ НАБОР и ЧЕРТЕЖНЫЙ + УПРАВЛЯЮЩИЙ НАБОР. В п. 4.3.2 составлены списки элементов, включенных в каждый из этих наборов.

Примечание. Эта информация может использоваться интерпретаторами для определения максимальных возможностей, необходимых для интерпретации метафайла.

Ссылки

п. 4.3.2.

5.3.12. ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ

Параметры:

список элементов управления, дескриптора изображения и атрибутов.

Описание:

каждый элемент в списке элементов будет иметь такие же формат, значение и типы данных параметров, что и при появлении вне элемента ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ. В разд. 6 приводятся значения по умолчанию элементов ММГ, для которых отсутствие этих значений становится ощутимым. Значения подстановки или замены по умолчанию могут определяться ЗАМЕНОЙ ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ. Может быть включена любая подгруппа элементов, задающих значения по умолчанию в разд. 6. Каждое изображение в этом метафайле допускает, что за НАЧАЛОМ ИЗОБРАЖЕНИЯ формальные величины всех элементов принимают значения по умолчанию, если значения по умолчанию принимают значения, установленные в разд. 6, или устанавливаются этим элементом.

Параметры в списке замещений значений по умолчанию зависят от порядка. Когда элементы перечисляются в списке замещений значений по умолчанию, значения замещают текущие значения по умолчанию для элемента. Если элемент встречается более одного раза в списке замещений значений по умолчанию, значение, определенное последним, является значением по умолчанию, которое используется элементом НАЧАЛО ИЗОБРАЖЕНИЯ.

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

Если значение имеет более одного режима спецификации, настоящий стандарт определяет их значения по умолчанию для каждого режима. Элемент, который устанавливает значение по умолчанию в списке замен значений по умолчанию, должен устанавливать значение в текущем режиме спецификации. Текущий режим спецификации при обработке списка является либо режимом по умолчанию, определенным в ИСО 8632, либо режимом, установленным последним элементом в списке. Этот список может содержать элемент, который устанавливает значения более чем для одного режима.

Элементы в списке обрабатываются последовательно. Если значение определяется более одного раза в списке, значение по умолчанию, которое действительно вступает в силу, является последним значением из списка.

Ссылки:

п. 4.3.3.

5.3.13. СПИСОК ШРИФТОВ

Параметры:

имена шрифтов (nС).

Описание:

Этот элемент допускает выбор названных шрифтов через ИНДЕКС ШРИФТА ТЕКСТА. Первый шрифт, указанный в списке шрифтов, определяется индексом 1. Второй - индексом 2 и т.д.

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

Шрифты регистрируются в Международном Регистре Графических Записей ИСО, который ведется Органом Регистрации. Когда шрифт будет утвержден Рабочей Группой Машинной Графики, имя шрифта будет зарегистрировано Органом Регистрации.

Ссылки:

п. 4.7.6.

5.3.14. СПИСОК НАБОРОВ ЛИТЕР

Параметры:

список из:

типа набора литер- (один из:

94-литерный G-набор,

96-литерный G-набор,

94-литерный многобайтный G-набор,

96-литерный многобайтный G-набор,

полный код) (П);

очереди назначенных последовательностей (С).

Описание:

элемент СПИСОК НАБОРА ЛИТЕР описывает наборы литер, на которые могут ссылаться последующие элементы ИНДЕКС НАБОРА ЛИТЕР и ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР, и устанавливает значение индекса набора литер, которое соответствует одному из этих наборов литер.

Описание первого набора литер в этом списке указывает на набор литер, значение индекса набора литер которого равно 1. Аналогично описания второго, третьего, четвертого и т.д. набора литер указывают на наборы литер со значениями индекса, равными 2, 3, 4 и т.д.

Описание каждого набора литер состоит из двух частей: параметр перечисления и параметр короткой строки. Параметр перечисления определяет, какой тип набора литер будет описан (то есть, какой тип описания набора расширений ИСО 2022 связуется с этим набором литер). Строка состоит из литер, которые имеют вид «метки конца» такой назначенной последовательности расширений для набора литер.

Примечание. Имеется пять типов наборов литер: 94-литерный G-набор, 96-литерный G-набор, 94-литерный многобайтный G-набор, 96-литерный многобайтный G-набор и набор литер, обозначенный как «полный код».

94-ЛИТЕРНЫЕ G-НАБОРЫ. Эти наборы литер определяются последовательностями расширений ИСО 2022 формы <ESC> <I1> <I> (0) <F>. Здесь, <11> - один из 2/8, 2/9, 2/10 или 2/11; <I> (0) представляет ноль или больше промежуточных литер из колонки 2 таблицы кодов; <F> - последняя литера из колонок 3 - 7 таблицы кодов. Если <F> - из колонки 3 таблицы кодов, набор кодов является «личным» набором литер. Если <F> - из колонок 4 - 7 таблицы кодов, набор кодов является «стандартным» набором литер, в том смысле, что он и его назначенная последовательность расширений регистрируется в Международном Журнале Кодированных Наборов Литер, которые должны использоваться с Последовательностями Расширений.

Для 94-литерных G-наборов описание набора литер состоит из 94 литер, за которыми следует строка, содержащая все литеры назначенной последовательности расширений ИСО 2022, за исключением первых двух литер <ESC> 11.

Например, G-набор английских национальных 7-битных литер регистрируется в Международном Журнале Кодированных Наборов Литер, которые должны использоваться с Последовательностями Расширений. Эти назначенные последовательности расширений следующие:

<ESC> 2/8 4/1 (рассматривать как G0),

<ESC> 2/9 4/1 (рассматривать как G1),

<ESC> 2/10 4/1 (рассматривать как G2),

<ESC> 2/11 4/1 (рассматривать как G3),

Кроме того, в Международном Журнале Кодированных Наборов Литер, которые должны использоваться с Последовательностями Расширений, регистрируется французский набор литер (версия 1982 от версии 1982 AFNOR NF Z 62-010). Эти назначенные последовательности расширений следующие:

<ESC> 2/8 6/6 (рассматривать как G0),

<ESC> 2/9 6/6 (рассматривать как G1),

<ESC> 2/10 6/6 (рассматривать как G2),

<ESC> 2/11 6/6 (рассматривать как G3),

Следовательно, элемент СПИСОК НАБОРА ЛИТЕР может определить, что английский набор литер получается обращением к индексу набора литер 1, а французский набор литер - к индексу набора литер 2 следующим образом:

<СПИСОК-НАБОРА-ЛИТЕР: английский., французский>

«94-литерный G-набор» 4/1;

«94-литерный G-набор» 6/6.

96-ЛИТЕРНЫЕ G-НАБОРЫ. Эти наборы литер подобны 94-литерным G-наборам, но включают позиции кодов 2/0 и 7/15, которые исключаются из 94 литерных G-наборов. Введенные последовательности расширений ИСО 2022 для них принимают форму <ESC> I1 I (0) <F>, где первая промежуточная литера <I1> или 2/13, 2/14 или 2/15. Остальная часть последовательности расширений подобна последовательностям расширений 94-литерных G-наборов: 0 и более промежуточных литер из колонки 2 таблицы кодов и конечная литера из колонок 3 - 7 таблицы кодов.

Для 96-литерных G-наборов описание набора литер состоит из «96-литерного G-набора», за которым следует строка, содержащая все литеры в введенной последовательности расширений ИСО 2022, за исключением первых двух литер <ESC> I1.

До сих пор ни один 96-литерный G-набор графических литер не зарегистрирован в Международном Журнале Кодированных Наборов Литер, которые должны использоваться с последовательностями расширений. Однако для обменивающихся сторон возможно согласование относительно личного 96-литерного G-набора, назначенных последовательностей расширений, которые оканчиваются литерой из колонки 3 таблицы кодирования литер. Например, личные последовательности расширений могут определять такой G-набор:

<ESC> 2/13 3/0 (рассматривать как G1),

<ESC> 2/14 3/0 (рассматривать как G2),

<ESC> 2/15 3/0 (рассматривать его как G3).

(96-литерные G-наборы не могут быть определены как G0-наборы.)

Например, следующий элемент СПИСОК НАБОРА ЛИТЕР устанавливает английский 94-литерный G-набор, французский 94-литерный набор и личный 96-литерный набор как наборы литер, отмеченные индексами набора литер 1, 2 и 3 соответственно:

<СПИСОК-НАБОРА-ЛИТЕР: U.K., французский, личный 96-литерный-набор>

’94-литерный G-набор’ 4/1;

’94-литерный G-набор’ 6/6;

’96-литерный G-набор’ 3/0.

94-ЛИТЕРНЫЕ МНОГОБАЙТОВЫЕ G-НАБОРЫ. 94-литерный многобайтовый G-набор может включать 94 в N-й степени литер, каждый закодирован как последовательность N байт из колонок 2 - 8 включительно таблицы кодов литер, не включая байты 2/0 и 7/15, исключенные из 94-литерных G-наборов. Например, 94-литерный двухбайтный G-набор может содержать 8836 литер.

Назначенные последовательности расширений ИСО 2022 для 94-литерных многобайтовых G-наборов принимают следующие формы:

<ESC> 2/4 <F> (рассматривать как G0),

<ESC> 2/4 2/9 <F> (рассматривать как G1),

<ESC> 2/4 2/10 <F> (рассматривать как G2),

<ESC> 2/4 2/11 <F> (рассматривать как G3)

Для 94-литерных многобайтовых G-наборов описание набора литер состоит из «94-литерных многобайтовых G-наборов», за которым следует строка, содержащая только конечную литеру назначенной последовательности расширений ИСО 2022.

Например, японский двухбайтовый набор графических литер 6802 зарегистрирован в Международном Журнале Кодированных Наборов Литер, которые должны использоваться с Последовательностями Расширений, и его назначенная последовательность расширений имеет форму, описанную выше, с конечной литерой <F>, в виде 4/0. Так, следующий элемент СПИСОК НАБОРА ЛИТЕР может быть использован для определения того, что к этому двухбайтовому японскому набору литер будут обращаться по индексу набора литер 2:

<СПИСОК-НАБОРА-ЛИТЕР: японский-2-байтовый-литерный-набор>;

«94-литерный-многобайтовый G-набор» 4/0.

96-ЛИТЕРНЫЕ МНОГОБАЙТОВЫЕ G-НАБОРЫ ГРАФИЧЕСКИХ ЛИТЕР. 96-литерный многобайтовый G-набор подобен 94-литерному многобайтовому G-набору, исключая то, что он может включать 2/0 и 7/15 байты. Так, 96-литерный двухбайтовый G-набор мог иметь 96 раз по 96 (или 9216) двухбайтовых кодов литер.

Назначенные последовательности расширений ИСО 2022 96-литерных многобайтовых G-наборов принимают следующие формы:

<ESC> 2/4 2/13 <F> (назначить как G1),

<BSC> 2/4 2/14 <F> (назначить как G2.),

<ESC> 2/4 2/15 <F> (назначить как G3).

Невозможно определить 96-литерный многобайтовый G-набор как G0-набор.

Описание набора литер для 96-литерного многобайтового G-набора, за которым следует строка, содержащая только одну конечную литеру <F> в наборе литер назначенной последовательности расширений ИСО 2022.

До сих пор 96-литерные многобайтовые G-наборы не зарегистрированы в Международном Журнале Кодированных Наборов Литер, которые должны использоваться с последовательностями расширений.

НАБОРЫ ЛИТЕР, СОЗДАВАЕМЫЕ КАК ПОЛНЫЕ КОДЫ. Другие наборы литер могут не соответствовать структуре «G-набора» ИСО 2022. ИСО 2022 предусматривает формат последовательности расширений для вызова систем кодирования, отличных от ИСО 2022. Последовательности расширений сложных кодов принимают следующую форму:

<ESC> 2/5 <I>0<F>,

где <I>0 означает: 0 или более литер из 2-го столбца таблицы кодов, а <F> - конечная литера из колонок 3 - 7 таблицы кодов литер. Если <F> находится в колонке 3, то это личная система кодирования. Если <F> находится в колонках 4 - 7, то это код, для которого назначенные последовательности расширений и обращений зарегистрированы в Международном Журнале Кодированных Наборов Литер, которые должны использоваться с последовательностями расширений.

Описание набора литер для набора литер, который может быть вызван как система кодирования, отличная от ИСО 2022, состоит из «сложного кода», за которым следует строка, содержащая только те литеры назначенной последовательности расширений ИСО 2022, которые следуют за первыми двумя литерами <ESC> 2/5.

Наряду с использованием зарегистрированного полного кода, может использоваться личное кодирование. Например, предполагается, что по согласованию личное 8-битное кодирование вызывается следующей последовательностью расширений:

<ESC> 2/5 2/0 3/0.

Следующий элемент СПИСОК НАБОРА ЛИТЕР описывает французский набор литер с индексом набора 1 и 8-битное личное кодирование с индексом набора литер 2:

СПИСОК-НАБОРА-ЛИТЕР: французский, система-личного-кодирования>;

«96-литерный G-набор» 6/6;

<полный код> 2/0 3/0.

Информация о параметре очереди введенных последовательностей может быть найдена в Международном Журнале Кодированных Наборов Литер, которые должны использоваться с последовательностями расширений. Регистрация производится для ИСО 2375 органом регистрации, которым является Европейская ассоциация производителей вычислительных машин (ECMA), Рю дю Рон 114 CH-1204, Женева, Швейцария.

Ссылки:

п. 4.7.6.

5.3.15. ОБЪЯВЛЕНИЕ КОДИРОВАНИЯ ЛИТЕР

Параметры:

метод кодирования (П).

Описание;

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

«Метод кодирования» определяет метод и среду расширения, допускаемые генератором метафайла. Эти возможности расширения кодов применяются только для строки параметров элементов ТЕКСТ, ОГРАНИЧИВАЕМЫЙ ТЕКСТ, ПРИСОЕДИНЯЕМЫЙ ТЕКСТ и, возможно, для элемента ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА (ОПВ). Применим ли «метод кодирования» к строке параметров внутри записи данных конкретного ОПВ, зависит от определения данного ОПВ. Стандартные значения:

ОСНОВНОЙ 7-БИТНЫЙ

Наборы литер переключаются, используя ИНДЕКС НАБОРА ЛИТЕР, определяющий набор в G0.

Если в СПИСКЕ ЭЛЕМЕНТОВ МЕТАФАЙЛА встречается АЛЬТЕРНАТИВНЫИ НАБОР ЛИТЕР, то он сигнализирует о том, что допускается набор G1, используя SI/SO, как описано в ИСО 2022.

ОСНОВНОЙ 8-БИТНЫЙ

Переключение наборов литер осуществляется с использованием ИНДЕКСА НАБОРА ЛИТЕР и ИНДЕКСА АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР.

Набор G1 может быть доступен литерам из колонок 10 - 15 таблицы 8-битного кодирования литеры включительно. В строке текста не используется никакой блокировки или одиночного сдвига.

РАСШИРЕННЫЙ 7-БИТНЫЙ

Наборы G0, G1, G2 и G3 могут быть вызваны, используя 7-битное кодирование некоторых блокировочных сдвигов или одиночных сдвигов в соответствии с ИСО 2022. ИНДЕКС НАБОРА ЛИТЕР выбирает G0 и ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР выбирает сразу G1 и G2. Назначение G2 и G3 дается в строках текста в соответствии с ИСО 2022. (Назначение G0 и G1 не может быть сделано таким образам).

РАСШИРЕННЫЙ 8-БИТНЫЙ

Наборы G0, G1, G2 и G3 вызываются, используя 8-битное кодирование некоторых блокировочных сдвигов или одиночных сдвигов в соответствии с ИСО 2022. ИНДЕКС НАБОРА ЛИТЕР выбирает G0, и ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР выбирает сразу G1 и G2. Определение G2 и G3 дается в строках текста в соответствии с ИСО 2022. (Назначение G0 и G1 не может быть сделано таким образом).

Если строки текста кодируются другим методом, то он объявляется личным значением.

Примечание. Эти элементы связаны с «объявленными» последовательностями ИСО 2022.

Ссылки:

п. 4.7.6.

5.4. Элементы дескриптора изображения

5.4.1. РЕЖИМ МАСШТАБИРОВАНИЯ

Параметры:

режим масштабирования (один из: абстрактный, метрический) (П);

метрический масштаб (В).

Описание:

Параметр режима масштабирования определяет значение КВУ. Если задан режим «абстрактный», то пространство КВУ безразмерно, и изображение правильно воспроизводится при любом размере; параметр метрического масштаба игнорируется. Если режим - «метрический», то пространство КВУ подразумевает масштаб метрический, который определяет расстояние в миллиметрах на носителе изображения в одной единице КВУ. Одна единица КВУ представляет один миллиметр, умноженный на метрический масштаб. В этом случае изображение правильно отображается только в указанном размере. Если используется РЕЖИМ МАСШТАБИРОВАНИЯ, то он должен находиться в Дескрипторе Изображения после элемента НАЧАЛО ИЗОБРАЖЕНИЯ и перед элементом НАЧАЛО ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ.

Ссылки:

п. 4.4.1.

5.4.2. РЕЖИМ ВЫБОРА ЦВЕТА

Параметры:

режим выбора цвета (один из: индексный, прямой) (П).

Описание:

Предусматриваются два метода выбора цвета: полями таблицы цвета («индексный») или значениями цвета: красный, зеленый и голубой («прямой»).

Только один режим цвета можно использовать внутри изображения. Режим может быть по умолчанию или явно задаваться элементом РЕЖИМ ВЫБОРА ЦВЕТА. Все встречающиеся элементы установки цвета (ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ, ЦВЕТ ЛИНИИ, ЦВЕТ МАРКЕРА, ЦВЕТ ЗАПОЛНЕНИЯ, ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ, ЦВЕТ ТЕКСТА), а также списки цветов МАТРИЦА ЯЧЕЕК и ТАБЛИЦЫ ШАБЛОНОВ должны соответствовать текущему режиму. РЕЖИМ ВЫБОРА ЦВЕТА должен находиться в Дескрипторе Изображения после НАЧАЛА ИЗОБРАЖЕНИЯ и перед НАЧАЛОМ ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ.

Ссылки:

п. 4.4.2.

5.4.3. РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ

Параметры:

режим спецификации толщины линии (один из: абсолютный, масштабный) (П).

Описание:

Поддерживаются два метода, непосредственно определяющих толщину линии: абсолютное измерение в КВУ («абсолютный») или масштаб, применяемый к зависимой от устройства номинальной толщине линии во время интерпретации метафайла.

Только один режим толщины линии может быть использован внутри изображения. Режим может быть стандартным или может быть задан явно элементом РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ. Если используется РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ, то он должен быть в Дескрипторе Изображения после элемента НАЧАЛО ИЗОБРАЖЕНИЯ и перед НАЧАЛОМ ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ. Все встречающиеся элементы толщины линии должны иметь параметры в текущем режиме.

Ссылки:

п. 4.4.3.

5.4.4. РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА

Параметры:

режим спецификации размера маркера (один из: абсолютный, масштабный) (П).

Описание:

Поддерживаются два метода, непосредственно определяющих размер маркера: абсолютное измерение в КВУ («абсолютный») или масштабный, применяемый к зависимому от устройства номинальному размеру маркера во время интерпретации метафайла.

Только один режим размера маркера может быть использован внутри изображения. Режим может быть стандартным или может быть задан явно элементом РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА. Если используется РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА, то он должен быть в Дескрипторе Изображения после элемента НАЧАЛО ИЗОБРАЖЕНИЯ и перед НАЧАЛОМ ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ. Все встречающиеся элементы размера маркера должны иметь параметры в текущем режиме.

Ссылки:

п. 4.4.3.

5.4.5. РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ

Параметры:

режим спецификации толщины внешней границы;

(один из: абсолютный, масштабный) (П).

Описание:

Поддерживаются два метода, непосредственно определяющих толщину внешней границы: абсолютное измерение в КВУ «абсолютный» или масштабный, применяемый к зависимой от устройства номинальной толщине внешней границы, во время интерпретации метафайла.

Только один режим толщины внешней границы может быть использован внутри изображения. Режим может быть стандартным или может быть задан явно элементом РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ. Если используется РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ, то он должен быть в Дескрипторе Изображения после элемента НАЧАЛО ИЗОБРАЖЕНИЯ и перед НАЧАЛОМ ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ. Все встречающиеся элементы толщины внешней границы должны быть в текущем режиме.

Ссылки:

п. 4.4.3.

5.4.6. РАЗМЕРЫ КВУ

Параметры:

первый угол (Т),

второй угол (Т).

Описание:

Два угла определяют размеры прямоугольника в пространстве КВУ, представляющего «полезную область» для последующих элементов ММГ.

Первый угол представляет нижний левый угол изображения, а второй угол представляет верхний правый угол изображения, наблюдаемые при рассмотрении изображения. Значения координат для всех измерений могут увеличиваться или уменьшаться от первого угла ко второму. Например, для устройств с верхним левым началом отсчета изображение может быть описано в координатах этого конкретного устройства, тем не менее рисунок может быть изображен правильно и на устройстве с нижним левым началом отсчета.

Таким образом, РАЗМЕРЫ КВУ устанавливают значение и ориентацию пространства КВУ (то есть направление положительной оси x (+x) и положительной оси y (+y) и будет ли ось +y под углом 90° по часовой стрелке или под углом 90° против часовой стрелки относительно оси +x). См. п. 4.4.4 и черт. 1.

В частности, РАЗМЕРЫ КВУ устанавливают направление положительных и отрицательных углов следующим образом: положительный угол в 90° определяется правым углом от положительной оси x к положительной оси y.

Заметим, что такие атрибуты, как атрибуты текста (например направления компонент вектора высоты и вектора основания ОРИЕНТАЦИИ ЛИТЕРЫ и, следовательно, значения перечисляемых величин «вправо», «влево», «вверх», «вниз»), тесно связаны с этими определениями.

Примечание. В элементах ММГ допускается спецификация величии вне РАЗМЕРОВ КВУ. РАЗМЕРЫ КВУ устанавливают границы полезной области изображения; видимая часть изображения содержится внутри РАЗМЕРОВ КВУ.

Ссылки:

пп. 4.4.4; 4.4.5.

5.4.7. ЦВЕТ ФОНА

Параметры:

значение цвета (ПЦ).

Описание:

значение цвета определяет цвет фона для изображения, которое начнется со следующего элемента ОСНОВНАЯ ЧАСТЬ ИЗОБРАЖЕНИЯ.

Единственный параметр элемента ЦВЕТ ФОНА всегда имеет значение RGB, безотносительно к текущему значению РЕЖИМ ВЫБОРА ЦВЕТА. Если текущее значение РЕЖИМА ВЫБОРА ЦВЕТА индексный, элемент ЦВЕТ ФОНА определяет представление цвета с индексом 0 для изображения, а также цвета изображаемого фона.

Ссылки:

п. 4.4.6.

«5.5. Элементы Управления

5.5.1. ТОЧНОСТЬ ЦЕЛЫХ КВУ

Параметры:

форма параметра зависит от конкретного кодирования.

Описание:

Указываемая точность для операндов данных типа точка (Т) и операндов данных типа значение КВУ (КВУ) определяется для последующих данных типа Т и типа КВУ, если тип КВУ - «целые». Точность определяется как ширина поля, измеряемая в единицах, применяемых в конкретном кодировании. Точность может включать параметры, определяющие подполя данных типа Т и КВУ, если ТИП КВУ - «вещественные».

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

Ссылки:

п. 4.5.1.

5.5.2. ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ КВУ

Параметры:

форма параметра зависит от конкретного кодирования.

Описание:

указываемая точность для операндов данных типа точка (Т) и операндов данных типа значение КВУ (КВУ) определяется для последующих данных типа Т и типа КВУ. Точность определяется как ширина поля, измеряемая в единицах, применяемых в конкретном кодировании. Точность может включать параметры, определяющие подполя данных типа Т и КВУ.

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

Ссылки:

п. 4.5.1.

5.5.3. ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ

Параметры:

указатель вспомогательного цвета;

если режим выбора цвета - «индексный»,

индекс вспомогательного цвета (ИЦ):

если режим выбора цвета - ’прямой’,

значение вспомогательного цвета (ПЦ).

Описание:

Индекс или значение вспомогательного цвета устанавливается в соответствии с определением параметра.

Вспомогательный цвет применяется для вычерчивания примитивов вывода, как описано в элементе ТРАНСПАРАНТ, когда ТРАНСПАРАНТ «выключен». Интерпретация этого элемента зависит от реализации. Некоторые рекомендации приводятся в приложении Г.

Ссылки:

п. D.4.4.

5.5.4. ТРАНСПАРАНТ

Параметры:

индикатор транспаранта (один из: выключен, включен) (П).

Описание:

Индикатор транспаранта устанавливается по параметру. ТРАНСПАРАНТ управляет применением ВСПОМОГАТЕЛЬНОГО ЦВЕТА для вычерчивания последующих примитивов.

Если ТРАНСПАРАНТ - «выключен», следующие примитивы действуют, как описано:

а) элементы линии: если ТИП ЛИНИИ - не сплошная, то тире и точки вычерчиваются, как обычно, в текущем ЦВЕТЕ ЛИНИИ, а пространство между ними закрашивается ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ;

б) ПОЛИМАРКЕР: для устройств, отображающих маркеры в растровых элементах, пикселы, которые не являются частью определения маркера, отображаются во ВСПОМОГАТЕЛЬНОМ ЦВЕТЕ;

в) элементы текста: для устройств, отображающих ТЕКСТ в растровых элементах, пикселы, которые не являются частью определения литеры, отображаются во ВСПОМОГАТЕЛЬНОМ ЦВЕТЕ;

г) элементы заполнения: если ВИД ЗАПОЛНЕНИЯ - штриховка, пиксели заполнения области, которые не являются линиями штриховки, отображаются во ВСПОМОГАТЕЛЬНОМ ЦВЕТЕ; если ТИП ВНЕШНЕЙ ГРАНИЦЫ - не сплошная, то штрихи и точки вычерчиваются в текущем ЦВЕТЕ ВНЕШНЕЙ ГРАНИЦЫ как обычно, и пробелы между ними вычерчиваются во ВСПОМОГАТЕЛЬНОМ ЦВЕТЕ.

Если ТРАНСПАРАНТ - «включен», части вышеописанных примитивов должны быть вычерчены во ВСПОМОГАТЕЛЬНОМ ЦВЕТЕ, если ТРАНСПАРАНТ - «выключен», выдаются в режиме ТРАНСПАРАНТА, то есть никакие из этих частей примитивов не вычерчиваются при вычерчивании примитивов.

Интерпретация этого элемента зависит от реализации. Некоторые рекомендации приводятся в приложении Г.

Ссылки:

нет.

5.5.5. ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ

Параметры:

первый угол (Т),

второй угол (Т).

Описание:

две угловые точки определяют прямоугольник отсечения в пространстве КВУ.

Когда ИНДИКАТОР ОТСЕЧЕНИЯ «включен», вычерчиваются части только внутри или на границе прямоугольника отсечения.

Ссылки:

пп. 4.5.2; Г.4.4.

5.5.6. ИНДИКАТОР ОТСЕЧЕНИЯ

Параметры:

индикатор отсечения (один из: включен, выключен).

Описание:

когда ИНДИКАТОР ОТСЕЧЕНИЯ «выключен», не требуется отсечения элементов примитивов вывода.

Когда ИНДИКАТОР ОТСЕЧЕНИЯ - «включен», вычерчиваются только части графических элементов внутри или на границе прямоугольника отсечения.

Примечание. Отсекать или не отсекать по некоторому ограничению, такому как РАЗМЕРЫ КВУ или границы носителя изображения, если индикатор отсечения выключен, зависит от реализации и интерпретатора. Эти действия не обуславливаются ИСО 8632 и могут быть осуществлены в интерпретаторе в соответствии с нуждами данной реализации и устройства.

Ссылки:

п. 4.5.2.

5.6. Элементы примитивов вывода

5.6.1. ЛОМАНАЯ

Параметры:

список точек (nТ).

Описание:

Линия вычерчивается от первой точки списка параметров ко второй точке, от второй точки к следующей, ..., и от предпоследней к последней.

Ссылки:

пп. 4.6; 4.6.1.

5.6.2. РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ

Параметры:

список точек (nТ).

Описание:

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

Появление РАСЧЛЕНЯЕМОЙ ЛОМАНОЙ управляется всеми атрибутами элементов линий.

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

Ссылки:

пп. 4.6; 4.6.1; 4.7.1.

5.6.3. ПОЛИМАРКЕР

Параметры:

список точек (nТ).

Описание:

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

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

Ссылки:

Пп. 4.6, 4.6.2; 4.7.2.

5.6.4. ТЕКСТ

Параметры:

точка (Т);

флаг (один из: конечный, неконечный) (П);

строка (С).

Описание:

Заданные в строке коды литер интерпретируются для получения связанных литер из выбранного текущим набора литер. Литеры отображаются на носитель изображения в соответствии с определенными атрибутами текста. Литеры управления установкой формата (такие, как CR, LF, BS, HT, VT и FF) допускаются в строке, но их интерпретация зависит от реализации. Управляющие литеры, используемые для вызова и назначения набора литер (SI, SO, ESC, SS2 и SS3), допускаются в соответствии с установленным ОБЪЯВЛЕНИЕМ КОДИРОВАНИЯ ЛИТЕР.

Литерам придаются нужные размеры в соответствии с ВЫСОТОЙ ЛИТЕРЫ и МАСШТАБОМ РАСШИРЕНИЯ ЛИТЕРЫ и ориентация в соответствии с ОРИЕНТАЦИЕЙ ЛИТЕРЫ. Управление расположением литер в строке согласно ОРИЕНТАЦИИ ЛИТЕРЫ осуществляется в соответствии с НАПРАВЛЕНИЕМ ТЕКСТА.

Параметр флага используется для возможного изменения следующих атрибутов текста в строке, которая будет выравнена как единый блок: ИНДЕКС ШРИФТА ТЕКСТА, ТОЧНОСТЬ ТЕКСТА, МАСШТАБ РАСШИРЕНИЯ ЛИТЕР, МЕЖЛИТЕРНЫИ ПРОСВЕТ, ЦВЕТ ТЕКСТА, ВЫСОТА ЛИТЕРЫ, ИНДЕКС НАБОРА ЛИТЕР, ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР, ИНДЕКС СВЯЗКИ ТЕКСТА, ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ или ТРАНСПАРАНТ.

Если флаг устанавливается в состояние «неконечный», коды литер в параметре строки накапливаются в соответствии с текущими установками атрибутов. В этом случае только элементы установки атрибутов, регистрируемые выше, допускаются между этим элементом и элементом ПРИСОЕДИНЯЕМЫЙ ТЕКСТ. За исключением элемента РАСШИРЕНИЕ, никакие другие элементы метафайла любого типа не допускаются. РАСШИРЕНИЕ разрешено, но обладает нестандартизованным действием.

Если флаг устанавливается в состояние «конечный», то параметр строки выводит всю отображаемую на экран строку. Позиция строки относительно параметра точки текста находится в соответствии с ВЫРАВНИВАНИЕМ ТЕКСТА. Элементы текста с параметром несуществующей строки являются допустимыми и следуют за разрешенными атрибутами текста и ПРИСОЕДИНЯЕМЫМ ТЕКСТОМ, как описано выше.

Примечание. Если флаг «неконечный», этот элемент вызывает состояние передачи в диаграмме состояний на черт. 12 в состояние ПОРЦИОННЫЙ ТЕКСТ.

Ссылки:

пп. 4.6; 4.6.3; 4.7.3; 4.7.6.

5.6.5. ОГРАНИЧИВАЕМЫЙ ТЕКСТ

Параметры:

размеры: дельта ширины, дельта высоты (2КВУ);

точка (Т);

флаг (один из: конечный, неконечный) (П);

строка (С).

Описание:

ОГРАНИЧИВАЕМЫЙ ТЕКСТ функционирует как ТЕКСТ, за исключением того, что текст необходимо располагать внутри параллелограмма, определенного параметром «размеры», позицией и атрибутами текста.

Определенные в строке коды литер интерпретируются для получения связанных литер из выбранного текущим набора литер. Литеры отображаются на носитель изображения как определенные атрибутами текста. Литеры управления установкой формата (такие, как CR, LF, BS, HT, VT и FF) допускаются в строке, но их интерпретация зависит от реализации. Литеры управления, используемые для вызова набора литер и назначения (SI, SO, ESC; SS2 и SS3), допускаются в соответствии с установкой ОБЪЯВЛЕНИЙ КОДИРОВАНИЯ ЛИТЕР.

Литерам придаются нужные размеры в соответствии с ВЫСОТОЙ ЛИТЕРЫ и МАСШТАБОМ РАСШИРЕНИЯ ЛИТЕР и ориентации в соответствии с ОРИЕНТАЦИЕЙ ЛИТЕР. Управление расположением литеры в строке относительно ОРИЕНТАЦИИ ЛИТЕРЫ осуществляется в соответствии с НАПРАВЛЕНИЕМ ТЕКСТА.

Первый компонент параметра «размеры» определяет параллель к вектору основания ОРИЕНТАЦИИ ЛИТЕР, а второй компонент определяет параллель к вектору высоты. Создается параллелограмм со сторонами, параллельными векторам, и с длинами, как в параметре «размеры». Параллелограмм размещается с точки позиции и выравнивается согласно текущему ВЫРАВНИВАНИЮ ТЕКСТА.

Весь текст строки отображается на экране внутри полученного после размещения параллелограмма. Атрибуты текста: ВЫСОТА ЛИТЕР, МАСШТАБ РАСШИРЕНИЯ ЛИТЕР, МЕЖЛИТЕРНЫЙ ПРОСВЕТ, ТОЧНОСТЬ ТЕКСТА и ИНДЕКС НАБОРА ШРИФТА, которые используются для отображения этой строки, изменяются, если необходимо достичь ограничения размеров. Для изображения одной строки, которая изменяется, используются только реализованные значения атрибутов. Метод изменения атрибутов зависит от реализации.

Параметр флага используется для возможного изменения следующих атрибутов текста в строке, которая будет выравнена как единый блок: ИНДЕКС ШРИФТА ТЕКСТА, ТОЧНОСТЬ ТЕКСТА, МАСШТАБ РАСШИРЕНИЯ ЛИТЕР, МЕЖЛИТЕРНЫЙ ПРОСВЕТ, ЦВЕТ ТЕКСТА, ВЫСОТА ЛИТЕРЫ, ИНДЕКС НАБОРА ЛИТЕР, ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР, ИНДЕКС СВЯЗКИ ТЕКСТА ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ или ТРАНСПАРАНТ.

Если флаг устанавливается в состояние «неконечный», коды литер в параметре строки накапливаются в соответствии с текущими установками атрибутов. В этом случае только элементы установки атрибутов, перечисленные выше, допускаются между этим элементом и элементом ПРИСОЕДИНЯЕМЫЙ ТЕКСТ. За исключением элемента РАСШИРЕНИЕ, никакие другие элементы любого типа не допускаются. РАСШИРЕНИЕ разрешено, но оказывает нестандартизованное действие.

Если флаг устанавливается в состояние «конечный», то параметр строки выводит отображаемую на экран целую строку. Позиция строки относительно параметра точки текста находится в соответствии с ВЫРАВНИВАНИЕМ ТЕКСТА. Элементы текста с параметром нулевой строки являются допустимыми и могут сопровождаться разрешенными атрибутами текста и ПРИСОЕДИНЯЕМЫМ ТЕКСТОМ, как описано выше.

Примечание. ТОЧНОСТЬ ТЕКСТА включается в атрибуты, которые могут быть изменены для достижения ограничения текста, так как ТОЧНОСТЬ ТЕКСТА управляет связью между текущими установленными значениями атрибутов текста и текущими значениями, использованными для изображения строки (значения «реализовано»). Реализация ограничений текста, требуемых элементом ОГРАНИЧЕННЫЙ ТЕКСТ, может вызвать другое преобразование ограничения, чтобы реализовать значения атрибутов, которые должны быть установлены текущей ТОЧНОСТЬЮ ТЕКСТА. Следовательно, требования текущей ТОЧНОСТИ ТЕКСТА могут игнорироваться для получения свойства изображения элемента ОГРАНИЧЕННЫЙ ТЕКСТ.

Если флаг «неконечный», этот элемент вызывает состояние передачи в диаграмме состояний на черт. 12 в состояние ПОРЦИОННЫЙ ТЕКСТ.

Ссылки:

пп. 4.6; 4.6.3; 4.7.3; 4.7.6; Г.4.5

5.6.6. ПРИСОЕДИНЯЕМЫЙ ТЕКСТ

Параметры:

флаг (один из: конечный, неконечный) (П);

строка (С).

Описание:

определенные в строке коды литер прилагаются к строке, определенной предшествующими неоконченными элементами ТЕКСТ, ОГРАНИЧИВАЕМЫЙ ТЕКСТ и ПРИСОЕДИНЯЕМЫЙ ТЕКСТ. Коды интерпретируются для получения связанных литер из текущего набора литер. Литеры отображаются на носитель изображения как определенные атрибутами текста. Литеры управления установкой формата (такие, как CR, LF, BS, HT, VT и FF) допускаются в строке, но их интерпретация зависит от реализации. Литеры управления, используемые для вызова набора литер и назначения (SI, SO, ESC, SS2 и SS3), допускаются в соответствии с установкой ОБЪЯВЛЕНИЯ КОДИРОВАНИЯ ЛИТЕР.

Литерам придаются нужные размеры в соответствии с ВЫСОТОЙ ЛИТЕРЫ и МАСШТАБОМ РАСШИРЕНИЯ ЛИТЕР и ориентация в соответствии с ОРИЕНТАЦИЕЙ ЛИТЕРЫ. Управление расположением литер в строке относительно ОРИЕНТАЦИИ ЛИТЕРЫ осуществляется в соответствии с НАПРАВЛЕНИЕМ ТЕКСТА.

Параметр флага используется для возможного изменения следующих атрибутов текста в строке, которая будет выравнена как единый блок: ИНДЕКС ШРИФТА ТЕКСТА, ТОЧНОСТЬ ТЕКСТА, МАСШТАБ РАСШИРЕНИЯ ЛИТЕР, МЕЖЛИТЕРНЫЙ ПРОСВЕТ, ЦВЕТ ТЕКСТА, ВЫСОТА ЛИТЕРЫ, ИНДЕКС НАБОРА ЛИТЕР, ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР, ИНДЕКС СВЯЗКИ ТЕКСТА, ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ или ТРАНСПАРАНТ.

Если флаг устанавливается в состояние «неконечный», то коды литер в параметре строки накапливаются в соответствии с текущими установками атрибутов. В этом случае только элементы установки атрибутов, перечисленные выше допускаются между этим элементом и элементом ПРИСОЕДИНЯЕМЫЙ ТЕКСТ. За исключением внешнего элемента РАСШИРЕНИЕ, никакие другие элементы метафайла любого типа не допускаются.

Если флаг устанавливается в состояние «конечный», параметр накапливаемой строки выводит отображаемую на экран целую строку. Элементы ПРИСОЕДИНЯЕМОГО TFKCTA с параметром нулевой строки допустимы и следуют за разрешенными атрибутами текста и дальнейшими элементами ПРИСОЕДИНЯЕМОГО ТЕКСТА, как описано выше.

Примечание. Если флаг «конечный», этот элемент вызывает состояние передачи в диаграмме состояний на черт. 12 в состояние ИЗОБРАЖЕНИЕ ОТКРЫТО.

Ссылки:

пп. 4.6; 4.6.3; 4.7.3; 4.7.6.

5.6.7. ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ

Параметры:

список точек (nТ).

Описание:

Граница полигональной области определяется соединением каждой вершины со следующей в упорядоченном списке точек прямыми ребрами и соединением последней вершины с первой. Полигональная область может быть неэлементарной. Например, допускаются пересечения ребер. В этом случае создаются подплощади. Вид заполнения ПОЛИГОНАЛЬНОЙ ОБЛАСТИ описан в пп. 4.6.4.4.

Невырожденная полигональная область (с тремя и более, не все из которых лежат на одной линии вершинами) отображается на экран с видом заполнения, определенным ИНДЕКСОМ СВЯЗКИ ЗАПОЛНЕНИЯ, ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, атрибутами вида заполнения, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и ТРАНСПАРАНТОМ. Изображение границы управляется атрибутами внешней границы ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и ТРАНСПАРАНТОМ.

Ссылки:

пп. 4.6; 4.6.4; 4.7.4; 4.7.8.

5.6.8. НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ

Параметры:

точка (Т);

флаг внешней границы (одно из: невидимая, видимая, замкнутая-невидимая, замкнутая-видимая) (П).

Описание:

набор замкнутых полигональных областей вычерчивается (в соответствии с флагом видимости внешней границы и текущими атрибутами внешней границы) и заполняется (в соответствии с текущими атрибутами заполняемой области).

Список точек и флагов обрабатывается последовательно. Первая точка является началом первой полигональной области набора, точка начала каждой полигональной области кодируется как текущая замыкающая точка. Каждая точка списка соединяется с последующей точкой списка или текущей замыкающей точкой (но не сразу с обеими) прямой линией внешней границы.

Параметр внешняя граница вне флага, связанный с каждой точкой в списке, определяет, как генерируется внешняя граница, выходящая из этой точки. Перечисления флага означают:

невидимая: внешняя граница от точки n к точке n + 1 определяет границу заполнения и не вычерчивается;

видимая: внешняя граница от точки n к точке n + 1 определяет границу заполнения и вычерчивается;

замкнутая невидимая: ребро от точки n к текущей замыкающей точке определяет границу заполнения и не вычерчивается. Следующая точка списка (если таковая имеется) задает начало новой полигональной области: она запоминается как новая текущая точка замыкания, и она не соединяется ни с одной из предшествующих точек (т.е. не вычерчивается линия к ней от предыдущей точки и внешняя граница не является границей заполнения);

замкнутая видимая: как замкнутая невидимая, но вычерчивается добавляемая замыкающая внешняя граница.

Если внешняя граница вне флага последней точки в списке - «видимая», то она создается как «замкнутая видимая»; если флаг - «невидимая», то она создается как «замкнутая невидимая».

Внутренняя область набора полигональных областей (см. п. 4.6.4.4) заполняется в соответствии с текущими атрибутами заполняемого контура. Набор полигональных областей заполняется в соответствии с алгоритмом паритета (нечетный/четный), описанным элементом ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ, за исключением того, что переход от вершины, маркированной как «замкнутая видимая» или «замкнутая невидимая», к следующей точке списка точек не составляет границу алгоритма заполнения.

Отдельные полигональные области набора не заполняются индивидуально. Многоугольники в наборе могут быть разделены (как «точка» и тело в букве «i»), могут создать «отверстия» (как в сферическом торе) или могут перекрываться.

Видимая внешняя граница вычерчивается, используя текущие атрибуты внешней границы. Внешняя граница может быть вычерчена, только если она сгенерирована с флагом «видимая» или «замкнутая видимая», и ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ установлена в режим ВКЛЮЧЕНА. ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ действует как преобладающая над видимостью границ, определенных набором полигональных областей, при этом она может исключать границы, определенные как «видимые», но не может включать внешние границы, определенные как «невидимые».

Пример НАБОРА ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ приведен на черт. 13.

Пример набора полигональных областей

1 - видимая, 2 - невидимая; 3 - замкнутая видимая;
4 - видимая; 5 - видимая; 6 - замкнутая видимая

Черт. 13

Примечание. Способность сочетать видимые и невидимые внешние границы обеспечивается для согласования отсечения полигональных областей перед размещением их в ММГ; отсеченные границы обычно невидимые.

Ссылки:

пп. 4.6.4; 4.7.8; Г.4.5.

Изображение на чертеже генерируется последовательностью n точек, где n - символическое изображение координаты, соответствующей обведенной точке n изображения.

5.6.9. Указатель области

«Параметры»:

3 угловые точки: P, Q и R (3Т);

nx, ny (2Ц);

локальная точность цвета (форма зависит от особенностей кодирования);

локальная точность цвета ячейки:

если режим выбора цвета - «индексный», то

индексы цвета (nx * nyИЦ)

или

если режим выбора цвета - «прямой», то

значения цвета (nx * nyИЦ).

Описание:

В общем случае P, Q, R определяют границы произвольного параллелограмма P и Q являются конечными точками диагонали параллелограмма, a R определяет третий угол.

В простейшем случае три угловые точки: Р, Q, R определяют прямоугольную область пространства КВУ. Эта область подразделяется на смежные прямоугольники nx + ny следующим образом. Грань от P к R делится на nx равных интервалов, а ребро от R к Q делится на ny равных интервалов. Подразумеваемая сетка состоит из nx на ny одинаковых ячеек. Список цветов состоит из nx на ny спецификаций цвета, схематически матрица размерности nx и ny представляется соответственно размерности столбцов и строк. Элемент матрицы (1,1) отображается ячейкой угловой точки P. Элемент матрицы (nx, 1) отображается ячейкой угловой точки R. Элемент матрицы (nx, 1) отображается ячейкой угловой точки Q. Следовательно, элементы цвета отображаются столбцами, пробегая от P к R, и строками, увеличивающимися от R к Q.

Параметр «локальная точность цвета» определяет точность «указателей цвета ячеек». Точность задается или для индексированного, или для прямого цвета в соответствии с РЕЖИМОМ ВЫБОРА ЦВЕТА изображения. Как и для элементов ТОЧНОСТЬ ИНДЕКСА ЦВЕТА и ТОЧНОСТЬ ЦВЕТА, форма параметра зависит от кодирования. Если изображение использует индексный выбор цвета, тогда форма параметра такая же, как и для ТОЧНОСТИ ИНДЕКСА ЦВЕТА. Если изображение использует прямой выбор цвета, тогда форма параметра такая же, как для ТОЧНОСТИ ЦВЕТА.

Допустимые значения «локальной точности цвета» включают допустимые значения ТОЧНОСТИ (ИНДЕКСА) ЦВЕТА. Кроме того, каждое кодирование определяет специальную величину, «признак точности цвета по умолчанию», в качестве индикатора того, что спецификаторы цвета элемента должны кодироваться в ТОЧНОСТИ (ИНДЕКСА) ЦВЕТА метафайла, то есть указывать что «локальная точность цвета по умолчанию» устанавливается ТОЧНОСТЬЮ (ИНДЕКСА) ЦВЕТА.

Рекомендации по интерпретации матрицы ячеек для устройств, которые не могут отобразить на экран матрицы ячеек, даются в приложении Г.

Примечание. Черт. 14 иллюстрирует матрицу ячеек, в котором последовательность отображения ячеек на носитель изображения согласовывается с распространенной для многих устройств последовательностью развертки изображения слева направо, сверху вниз.

Ссылки:

пп. 4.6; 4.6.5; Г.4.5.

nx на ny прямоугольника отображается на носитель изображения. Линии указывают положения матрицы ячеек.

Черт. 14

5.6.10. ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА (ОПВ)

Параметры:

идентификатор (Ц);

список точек (nТ);

запись данных (З).

Описание:

Обобщенный Примитив Вывода (ОПВ) определяется идентификатором, данными из списка точек и записью данных.

Неотрицательные значения идентификатора резервируются для регистрации и дальнейшей стандартизации, а отрицательные значения доступны для личного пользования.

Появление ОПВ определяется 0 и более наборами атрибутов стандартизованных элементов примитива вывода в зависимости от особенностей ОПВ. Параметры ОПВ интерпретируются и используются в зависимости от интерпретатора.

Примечание. ОПВ обеспечивает удобный доступ к нестандартизованным примитивам вывода, поддерживаемым устройством. ОПВ подобен РАСШИРЕНИЮ в этом смысле, но ОПВ предусматривает механизм обращения с координатными данными, тогда как РАСШИРЕНИЕ этого не предусматривает. Так, ОПВ предпочтителен для генерации графического вывода, а РАСШИРЕНИЕ более подходит для таких использований как нестандартизованные функции управления.

При регистрации могут быть зарегистрированы ОПВ, которые соответствуют некоторым стандартизованным элементам примитивов вывода метафайла, например КРУГ.

Идентификаторы ОПВ регистрируются в Международном журнале графических записей ИСО, который ведется организацией регистрации. В случае одобрения идентификатора ОПВ рабочей группой по машинной графике значение идентификатора ОПВ будет занесено организацией регистрации в журнал.

Ссылки:

п. 4.6.

5.6.11. ПРЯМОУГОЛЬНИК

Параметры:

две точки (2Т).

Описание:

Две установленные точки представляют диагонально противоположные углы прямоугольника, ориентированного параллельно осям КВУ. Определенный таким образом прямоугольник отображается на экран с внутренней областью, определенной ИНДЕКСОМ СВЯЗКИ ЗАПОЛНЕНИЯ, ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и атрибутами вида внутренней области. Изображение границы управляется атрибутами внешней границы ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и ТРАНСПАРАНТОМ.

Ссылки:

пп. 4.6; 4.6.4; 4.7.4; 4.7.8.

5.6.12. КРУГ

Параметры:

точка (Т);

радиус (КВУ).

Описание:

Круг определенного радиуса в установленной позиции КВУ отображается на экран с видом заполнения (см. п. 4.6.4.4), определенным ИНДЕКСОМ СВЯЗКИ ЗАПОЛНЕНИЯ, ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ, ТРАНСПАРАНТОМ и атрибутами вида заполнения. Изображение внешней границы управляется атрибутами внешней границы, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и ТРАНСПАРАНТОМ.

Допустимыми значениями радиуса являются неотрицательные значения КВУ.

Ссылки:

пп. 4.6; 4.6.4; 4.7.4; 4.7.8.

5.6.13. ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ

Параметры:

начальная точка промежуточная точка, конечная точка (3Т).

Описание:

Дуга окружности отображается на экран от начальной точки через установленную промежуточную точку к установленной конечной точке.

Определение примитива считается невырожденным, если три координаты точек при его определении не лежат на одной прямой.

Если три заданные координаты лежат на одной прямой, определение является математически вырожденным и интерпретация этого элемента зависит от реализации. (См. также приложение Г).

Ссылки:

пп. 4.6; 4.6.1; 4.6.6; 4.7.1; Г.4.5.

5.6.14. ЧАСТЬ КРУГА ПО 3 ТОЧКАМ

Параметры:

начальная точка промежуточная точка, конечная точка (3Т).

тип замыкания (один из: центр, хорда) (П).

Описание:

Заполняемая часть круга отображается на экран от установленной точки через установленную промежуточную точку к установленной конечной точке.

Типы замыкания иллюстрируются на черт. 15.

Спецификации замкнутой части круга по 3 точкам с
параметра ми «центр» н «хорда»

Черт. 15

Если тип замыкания - «хорда», сегмент, определяемый дугой и хордой от начальной точки к конечной точке, отображается на экран с видом заполнения (см. п. 4.6.4.4), определенным ИНДЕКСОМ СВЯЗКИ ЗАПОЛНЕНИЯ, ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ, ТРАНСПАРАНТОМ и атрибутами вида заполнения. Изображение внешней границы управляется атрибутами внешней границы, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и ТРАНСПАРАНТОМ.

Если тип замыкания - «центр», центральный сектор, определенный вычисленным центром дуги, установленной начальной и конечной точками, отображается на экран с видом заполнения (см. п. 4.6.4.4), определенным ИНДЕКСОМ СВЯЗКИ ЗАПОЛНЕНИЯ, ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ, ТРАНСПАРАНТОМ и атрибутами вида заполнения. Изображение внешней границы управляется атрибутами внешней границы, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и ТРАНСПАРАНТОМ.

Определение примитива считается невырожденным, если три координаты точек при его определении не лежат на одной прямой.

Если три заданные координаты лежат на одной прямой, определение является математически вырожденным и интерпретация этого элемента зависит от реализации. (См. также приложение Г).

Ссылки:

пп. 4.6; 4.6.4; 4.6.6; 4.7.4; 4.7.8; Г.4.5.

5.6.15. ДУГА ОКРУЖНОСТИ ПО ЦЕНТРУ

Параметры:

центр (Т);

DX-начало, DY-начало, DX-конец, DY-конец (4КВУ);

радиус (КВУ).

Описание:

Вычерчивается дуга окружности, определенная следующим образом:

DX-начало и DY-начало определяют начальный вектор, а DX-конец и DY- конец определяют конечный вектор. Концы этих векторов располагаются в центральной точке. Начальный и конечный лучи являются полубесконечными линиями из центральной точки в направлении начального и конечного векторов соответственно.

Заданные радиус и центральная точка определяют окружность. Дуга вычерчивается в положительном угловом направлении (определяемом РАЗМЕРАМИ КВУ) от точки пересечения окружности и начального вектора (полученного при отмеривании расстояния, заданного радиусом, вдоль начального вектора от центральной точки) до пересечения окружности и конечного луча.

Дуга отображается на экран с текущими атрибутами элемента линии.

Допустимыми значениями компонентов вектора являются такие, которые создают вектор с ненулевой длиной.

Допустимым значением радиуса является неотрицательное значение КВУ.

Если начальный и конечный лучи совпадают, это вырождение, которое определяет дугу от 0 до 360° центрального угла. (См. также приложение Г).

Ссылки:

пп. 4.6; 4.6.1; 4.6.6; 4.7.1; Г.4.5.

5.6.16. ЧАСТЬ КРУГА ПО ЦЕНТРУ

Параметры:

центр (Т);

DX-начало, DY-начало, DX-конец, DY-конец (4КВУ);

радиус (КВУ);

тип замыкания (один из: центр, хорда) (П).

Описание: Вычерчиваемый дуговой сегмент определяется следующим образом:

DX-начало и DY-начало определяют начальный вектор, а DX-конец и DY-конец определяют конечный вектор. Концы этих векторов располагаются в центральной точке. Начальный и конечный лучи являются полубесконечными линиями из центральной точки в направлении начального и конечного векторов соответственно.

Заданные радиус и центральная точка определяют окружность. Дуга вычерчивается в положительном угловом направлении (определяемом РАЗМЕРАМИ КВУ) от точки пересечения окружности и начального вектора (полученного при отмеривании расстояния, заданного радиусом, вдоль начального вектора от центральной точки) до пересечения окружности и конечного луча.

Если ТИП ЗАМЫКАНИЯ - «хорда», на экране отображается сегмент, определенный дугой и хордой от начальной точки к конечной точке дуги.

Если ТИП ЗАМЫКАНИЯ - «центр», на экран отображается сектор, определенный дугой и установленной точкой центра.

Примитив отображается на экран с видом заполнения (см. п. 4.6.4.4), определенным ИНДЕКСОМ СВЯЗКИ ЗАПОЛНЕНИЯ, ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ, ТРАНСПАРАНТОМ и атрибутами вида заполнения. Изображение внешней границы управляется атрибутами внешней границы, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и ТРАНСПАРАНТОМ.

Допустимыми значениями компонентов вектора являются такие, которые создают вектор с ненулевой длиной.

Допустимыми значениями радиуса являются неотрицательные значения КВУ.

Если начальный и конечный лучи совпадают, это вырождение, которое определяет дугу от 0 до 360° центрального угла. (См. также приложение Г).

Ссылки:

пп. 4.6; 4.6.4; 4.6.6; 4.7.4; 4.7.8; Г.4.5.

5.6.17. ЭЛЛИПТИЧЕСКАЯ ОБЛАСТЬ

Параметры:

точка центра (Т);

первая конечная точка ПСД (Т);

вторая конечная точка ПСД (Т).

Описание:

Центральная точка определяет центр эллипса. Конечные точки ПСД включают по одной точке из каждого сопряженного диаметра; вместе с точкой центра они определяют два сопряженных диаметра эллипса.

Определенный таким образом эллипс отображается на экран с видом заполнения (см. п. 4.6.4.4), определенным ИНДЕКСОМ СВЯЗКИ ЗАПОЛНЕНИЯ, ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ, ТРАНСПАРАНТОМ и атрибутами вида заполнения. Изображение внешней границы управляется атрибутами внешней границы, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и ТРАНСПАРАНТОМ.

Допустимыми значениями трех заданных точек эллипса являются такие, которые дают три отличные точки. Заданный эллипс не является вырожденным тогда и только тогда, когда три точки не лежат на одной прямой.

Ссылки:

пп. 4.6; 4.6.4; 4.6.7; 4.7.4; 4.7.8; Г.4.5.

5.6.18. ДУГА ЭЛЛИПСА

Параметры:

точка центра (Т);

первая конечная точка ПСД (Т);

вторая конечная точка ПСД (Т);

DX-начало, DY-начало, DX-конец, DY-конец (4КВУ).

Описание:

Часть эллипса вычерчивается в соответствии со следующим определением.

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

DX-начало и DY-начало определяют начальный вектор, а DX-конец и DY-конец определяют конечный вектор. Концы этих векторов располагаются в центральной точке. Начальный и конечный лучи являются полубесконечными линиями из центральной точки в направлении начального и конечного векторов соответственно.

Определяемая дуга начинается в точке пересечения эллипса и начального луча и следует до пересечения эллипса и конечного луча в направлении, определенном следующим образом: «сопряженный радиус» определяется как половина сопряженного диаметра. Пометим центральную точку буквой М, первую конечную точку ПСД-Р1, вторую конечную точку ПСД-Р2, тогда отрезки линий М-Р1 и М-Р2 определяют сопряженные радиусы, первый сопряженный радиус и второй сопряженный радиус соответственно. Сопряженные радиусы начинаются в точке М и определяют два угла: в сумме два угла составляют 360°, один угол меньше 180° и другой угол больше 180°. Направление вычерчивания эллиптической дуги является направлением от первого сопряженного радиуса ко второму сопряженному радиусу через меньший из этих углов.

Дуга эллипса вычерчивается с текущими атрибутами линии.

Допустимыми значениями трех заданных точек эллипса являются такие, которые дают три отличные точки. Заданный эллипс не является вырожденным тогда и только тогда, когда три точки не лежат на одной прямой.

Допустимыми значениями компонентов вектора являются такие, которые создают вектор с ненулевой длиной. Если начальный и конечный лучи совпадают, это вырождение, которое определяет нулевую дугу (дугу с длиной, равной нулю) или пустой эллипс (см. также приложение Г).

Ссылки:

пп. 4.6; 4.6.1; 4.6.7; 4.7.1; Г.4.5.

5.6.19. ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ

Параметры:

точка центра (Т);

первая конечная точка ПСД (Т);

вторая конечная точка ПСД (Т);

DX-начало, DY-начало, DX-конец, DY-конец (4КВУ);

тип замыкания (один из: центр, хорда) (П).

Описание:

часть эллипса вычерчивается в соответствии со следующим определением.

Центральная точка определяет центр эллипса. Конечные точки ПСД включают по одной точке из каждого сопряженного диаметра; вместе с точкой центра они определяют два сопряженных диаметра эллипса.

DX-начало и DY-начало определяют начальный вектор, а DX-конец и DY-конец определяют конечный вектор. Концы этих векторов располагаются в центральной точке ЦЕНТР. Начальный и конечный лучи являются полубесконечными линиями из центральной точки в направлении начального и конечного векторов соответственно.

Определяемая дуга начинается в точке пересечения эллипса и начального луча («начальная точка») и следует до пересечения эллипса и конечного луча («конечная точка») в направлении, определенном следующим образом: «сопряженный радиус» определяется как половина сопряженного диаметра. Пометим центральную точку буквой М, первую конечную точку ПСД-Р1, вторую конечную точку ПСД-Р2, тогда отрезки линий М-P1 и М-Р2 определяют сопряженные радиусы, первый сопряженный радиус и второй сопряженный радиус соответственно. Сопряженные радиусы начинаются в точке М и определяют два угла: в сумме два угла составляют 360°, один угол меньше 180° и другой угол больше 180°. Направление вычерчивания эллиптической дуги является направлением от первого сопряженного радиуса ко второму сопряженному радиусу через меньший из этих углов.

Если тип замыкания - «хорда», эллиптический сегмент, определяемый дугой н хордой от начальной точки к конечной точке, отображается на экран с видом заполнения (см. п. 4.6.4.4), определенным ИНДЕКСОМ СВЯЗКИ ЗАПОЛНЕНИЯ, ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ, ТРАНСПАРАНТОМ и атрибутами вида заполнения. Изображение внешней границы управляется атрибутами внешней границы, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и ТРАНСПАРАНТОМ.

Если тип замыкания - «центр», эллиптический центральный сектор, определенный вычисленным центром дуги, установленной начальной точкой и конечной точкой, отображается на экран с видом заполнения (см. п. 4.6.4.4), определенным ИНДЕКСОМ СВЯЗКИ ЗАПОЛНЕНИЯ, ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ, ТРАНСПАРАНТОМ и атрибутами вида заполнения. Изображение внешней границы управляется атрибутами внешней границы, ВСПОМОГАТЕЛЬНЫМ ЦВЕТОМ и ТРАНСПАРАНТОМ.

Допустимыми значениями трех заданных точек эллипса являются такие, которые дают три отличные точки. Заданный эллипс не является вырожденным тогда и только тогда, когда три точки не лежат на одной прямой.

Допустимыми значениями компонентов вектора являются такие, которые создают вектор с ненулевой длиной. Если начальный и конечный лучи совпадают, это вырождение, которое определяет нулевую дугу (дугу с длиной, равной нулю) или пустой эллипс (см. также приложение Г).

Ссылки:

пп. 4.6; 4.6.4; 4.6.7; 4.7.4; 4.7.8; Г.4.5.

5.7. Элементы атрибутов

5.7.1. ИНДЕКС СВЯЗКИ ЛИНИИ

Параметры:

индекс связки линии (Ин).

Описание:

Индекс связки линии принимает значение, установленное параметром. Для следующих элементов линии значения ТИП ЛИНИИ, ТОЛЩИНА ЛИНИИ и ЦВЕТ ЛИНИИ берутся из соответствующих компонентов индексов связки, если ФВА этих атрибутов относятся к «связанным». Смотри в п. 4.6 перечень элементов линии.

Если ФВА данного атрибута - «индивидуальный», этот элемент не влияет на значение, используемое этим атрибутом, пока ФВА не возвратится к «связанному».

Допустимыми значениями являются положительные целые.

Ссылки:

пп. 4.6.1; 4.7.1; Г.3.6.

5.7.2. ТИП ЛИНИИ

Параметры:

индикатор типа линии (Ин).

Описание:

Индикатор типа линии принимает значение, установленное параметром.

Если ФВА ТИПА ЛИНИИ - «индивидуальный», последующие элементы линии отображаются на экран с учетом этого типа линии. Смотри в п. 4.6 перечень элементов линии.

Если ТИП ЛИНИИ - «связанный», этот элемент не оказывает влияния на отображение на экране последующих элементов линии, пока ФВА не возвратится к «индивидуальному».

Допускаются следующие типы линий:

1 - сплошная;

2 - штриховая;

3 - пунктирная;

4 - штрих-пунктирная;

5 - штрих-пунктир-пунктирная.

5 типов линий резервируются для регистрации и дальнейшей стандартизации, а отрицательные значения доступны пользователю для реализации.

Примечание. В идеальном случае тип линии сохраняется непрерывно между соседними вершинами отдельного элемента ЛОМАНАЯ (см. приложение Г).

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

Поддерживается или нет тип линии непрерывно на всех отрезках РАСЧЛЕНЯЕМОЙ ЛОМАНОЙ, в ИСО 8632 не рассматривается.

Значение индикатора типа линии регистрируется в Международном журнале графических записей ИСО, который ведется организацией регистрации. В случае одобрения значения индикатора типа линии рабочей группой по машинной графике значение идентификатора ОПВ будет занесено организацией регистрации в журнал.

Ссылки:

пп. 4.6.1; 4.7.1; Г.4.6.

5.7.3. ТОЛЩИНА ЛИНИИ

Параметры:

указатель толщины линии:

если режим спецификации толщины линии - «абсолютный», абсолютная толщина линии (КВУ);

если режим спецификации толщины линии - «масштабируемый», масштаб толщины линии (В).

Описание:

Абсолютная толщина линии или масштаб линии принимает значение, установленное параметром.

Если ФВА ТОЛЩИНЫ ЛИНИИ - «индивидуальный», следующие элементы линии отображаются на экран в соответствии со спецификацией размера этого элемента. Смотри в п. 4.6 список элементов линии.

Если ФВА ТОЛЩИНЫ ЛИНИИ - «связанный», этот элемент не оказывает влияния на последующие элементы линии, пока ФВА не возвратится к значению «индивидуальный».

Допустимыми значениями «указателя толщины линии» являются неотрицательные КВУ, если РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ - «абсолютный», и неотрицательные вещественные, если РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ - «масштабируемый».

Примечание. Толщина линии измеряется перпендикулярно к линии определения (т.е. она не зависит от ориентации линии определения). Толщина линии выравнивается по идеальной линии определения нулевой толщины, такой, что расстояние между линией определения и любой гранью равно половине толщины линии.

Изображение линий в конечных точках и вершин или углов внутри области (т.е. где они скашиваются, закругляются и т.д.) не рассматривается ИСО 8632.

Ссылки:

пп. 4.4.3, 4.6.1; 4.7.1, 4.7.5, Г.4.6.

5.7.4. ЦВЕТ ЛИНИИ

Параметры:

указатель цвета линии:

если режим выбора цвета - «индексированный», индекс цвета линии (ИЦ);

если режим выбора цвета - «прямой», значение цвета линии (ПЦ).

Описание:

Индекс цвета линии или значение цвета линии принимает значение, установленное параметром (параметрами).

Если ФВА ЦВЕТА ЛИНИИ - «индивидуальный», следующие элементы линии вычерчиваются этим цветом линии. См. в п. 4.6 перечень элементов линии.

Если ФВА ЦВЕТА ЛИНИИ - «связанный», этот элемент не оказывает влияния на интерпретацию последующих элементов линии, пока ФВА не возвратится к «индивидуальному».

Ссылки:

пп. 4.6.1; 4.7.1; 4.7.7; Г.3.2.

5.7.5. ИНДЕКС СВЯЗКИ МАРКЕРА

Параметры:

индекс связки маркера (Ин).

Описание.

Индекс связки маркера принимает значение, установленное параметром. Для следующих элементов маркера значения ТИП МАРКЕРА, РАЗМЕР МАРКЕРА и ЦВЕТ МАРКЕРА берутся из соответствующих компонентов индексов связки, если ФВА «и для этих атрибутов - «связанные».

Если ФВА для данного атрибута - «индивидуальный», этот элемент не оказывает влияния на значение, используемое этим атрибутом, пока его ФВА не возвратится к «связанному».

Допускаемые значения ИНДЕКСА СВЯЗКИ МАРКЕРА - целые положительные.

Ссылки:

пп. 4.6.2; 4.7.2; Г.4.6.

5.7.6. ТИП МАРКЕРА

Параметры:

тип маркера (Ин).

Описание:

Тип маркера принимает значение, установленное параметром.

Если ФВА ТИПА МАРКЕРА - «индивидуальный», последующие элементы маркера отображаются на экран с этим типом маркера.

Если ФВА ТИПА МАРКЕРА - «связанный», этот элемент не оказывает влияния на отображение на экран последующих элементов маркера, пока ФВА не возвратится к «индивидуальному».

Назначаются следующие типы маркеров:

1 - точка (.);

2 - плюс (+);

3 - звездочка (*);

4 - окружность (о);

5 - крестик (×).

Тип маркера «точка» всегда подразумевает отображение видимой точки минимального размера на носителе изображения во время интерпретации. Подразумевается его использование как многоточечного элемента.

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

Примечание. Значения типов маркеров регистрируются в Международном Регистре Графических Записей ИСО, который ведется органом регистрации. Когда тип маркера будет утвержден рабочей группой машинной графики, он будет зарегистрирован органом регистрации.

Ссылки:

пп. 4.6.2; 4.7.2; Г.3.6.

5.7.7. РАЗМЕР МАРКЕРА

Параметры:

указатель размера маркера:

если режим спецификации размера маркера - «абсолютный», то абсолютный размер маркера (КВУ),

если режим спецификации размера маркера - «масштабный», то масштаб маркера (В).

Описание:

Абсолютный размер маркера или масштаб маркера принимает значение, установленное параметром. Установленный абсолютный размер определяет максимальный размер маркера.

Если ФВА РАЗМЕРА МАРКЕРА - «индивидуальный», следующие элементы маркера отображаются на экран в соответствии со спецификацией размера этого элемента. Если ФВА РАЗМЕРА МАРКЕРА - «связанный», то этот элемент не оказывает влияния на отображение на экране следующих элементов маркера, пока ФВА не возвратится к «индивидуальному».

Допустимыми значениями «указатель размера маркера» являются неотрицательные КВУ, если РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА - «абсолютный», и неотрицательные вещественные, если РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА - «масштабный».

Ссылки:

пп. 4.4.3; 4.6.2; 4.7.2; 4.7.5; Г.4.6.

5.7.8. ЦВЕТ МАРКЕРА

Параметры:

указатель цвета маркера:

если режим выбора цвета - «индексный»,

индекс цвета маркера (ИЦ);

если режим выбора цвета - «прямой»,

значение цвета маркера (ПЦ).

Описание:

Индекс цвета маркера или значение цвета маркера принимает значение, установленное параметром (параметрами).

Если ФВА ЦВЕТА МАРКЕРА - «индивидуальный», то следующие элементы отображаются на экран с этим цветом маркера.

Если ФВА ЦВЕТА МАРКЕРА - «связанный», то этот элемент не оказывает влияния на отображение на экран следующих элементов маркера, пока ФВА не возвратится к «индивидуальному».

Ссылки:

пп. 4.6.2; 4.7.2; 4.7.7; Г.3.2.

5.7.9. ИНДЕКС СВЯЗКИ ТЕКСТА

Параметры:

индекс связки текста (Ин).

Описание:

Индекс связки текста принимает значение, установленное параметром. Для последующих элементов текста значения ИНДЕКСА ШРИФТА ТЕКСТА, ТОЧНОСТИ ТЕКСТА, МАСШТАБА РАСШИРЕНИЯ ЛИТЕР, МЕЖЛИТЕРНОГО ПРОСВЕТА и ЦВЕТА ТЕКСТА берутся из соответствующих компонентов индексированной связки, если ФВА для этих атрибутов - «связанные». См. п. 4.6, перечень элементов текста.

Если ФВА заданного атрибута - «индивидуальный», этот элемент не оказывает влияние на значение, используемое этим атрибутам, пока ФВА не возвратится к «связанному».

Допустимые значения параметра индекса связки текста целые положительные.

Ссылки:

пп. 4.6.3; 4.7.3; 4.7.6; Г.4.6.

5.7.10. ИНДЕКС ШРИФТА ТЕКСТА

Параметры:

индекс шрифта (Ин).

Описание:

Индекс шрифта принимает значение, установленное параметром. Индекс шрифта используется для того, чтобы выбрать шрифт из таблицы шрифтов, определенной в Дескрипторе Метафайла (или списке шрифтов по умолчанию, если никакой не задан).

Если ФВА ИНДЕКСА ШРИФТА - «индивидуальный», то последующие элементы текста отображаются на экран с этим же индексом шрифта, см. п. 4.6, перечень элементов текста.

Если ФВА ИНДЕКСА ШРИФТА - «связанный», то этот элемент не оказывает влияния на отображение последующих элементов текста, пока ФВА не возвратится к «индивидуальному».

Допустимые значения параметра индекса шрифта целые положительные.

Примечание. Генераторы метафайла должны обеспечивать совместимость выбранного набора литер и шрифта текста.

В приложении Г даны рекомендации для интерпретаторов в случае, если выбранный текущим набор литер не может быть представлен указанным шрифтом текста.

Ссылки:

пп. 4.6.3; 4.7.3; 4.7.6; Г.3.6.

5.7.11. ТОЧНОСТЬ ТЕКСТА

Параметры:

точность цвета (одна из: до строки, до литеры, до штриха) (П).

Описание:

Точность текста принимает значение, установленное параметром.

Если ФВА ТОЧНОСТИ ТЕКСТА - «индивидуальная», то последующие элементы текста отображаются на экран с этой точностью текста. См. п. 4.6, перечень элементов текста.

Если ФВА ТОЧНОСТИ ТЕКСТА - «связанная», то этот элемент не оказывает влияния на отображение на экран последующих элементов текста, пока ФВА не возвратится к «индивидуальной».

Точность выполнения атрибутов ТЕКСТА управляется одним из трех значений.

Если устанавливается точность «до строки», необходимо гарантировать только начальное позиционирование последующих строк текста, а способ отсечения строки определяется при реализации.

Если устанавливается точность «до литеры», то интерпретатор метафайла должен гарантировать то, что начальная позиция каждой литеры удовлетворяет соответствующим атрибутам текста, таким как обеспечивающие ориентацию и положение строки; однако наклон, ориентация и размер каждой литеры не гарантируются. Все литеры строки, расположенные внутри или за пределами области отсечения, отсекаются, как и требуется, но результат отсечения литеры, пересекаемой границей отсечения, зависит от реализации.

Если устанавливается точность «до штриха», то интерпретатор метафайла должен гарантировать, что расположение, наклон, ориентация и размер литеры удовлетворяют стандартизованным атрибутам текста. Литеры отсекаются с геометрической точностью устройства.

Ссылки:

пп. 4.6.3; 4.7.3; 4.7.6; Г.4.6.

5.7.12. МАСШТАБ РАСШИРЕНИЯ ЛИТЕР

Параметры:

масштаб расширения литеры (В).

Описание:

Масштаб расширения литеры принимает значение, установленное параметром.

Если ФВА МАСШТАБА РАСШИРЕНИЯ ЛИТЕР - «индивидуальный», то следующие элементы текста отображаются на экран с этим масштабом расширения литеры. См. п. 4.6, перечень элементов текста.

Если ФВА МАСШТАБА РАСШИРЕНИЯ ЛИТЕР - «связанный», этот элемент не оказывает влияния на отображение на экране последующих элементов текста, пока ФВА не возвратится к «индивидуальному».

Масштаб расширения литер устанавливает отклонение отношения ширина/высота литер от отношения, заданного разработчиком шрифта.

Допустимыми значениями масштаба расширения литер являются неотрицательные вещественные числа.

Примечание. Масштаб расширения литер - скалярная величина. Получаемая ширина литер - ВЫСОТА ЛИТЕР, умноженная на отношение ширина/высота (особенность каждого шрифта и величина, которая может менять значение от литеры к литере) для литер, умноженных на МАСШТАБ РАСШИРЕНИЯ ЛИТЕР. Получаемая таким образом ширина литер масштабируется далее умножением ее на отношение длины вектора основания литеры к длине вектора высоты литеры.

Ссылки:

пп. 4.6.3; 4.7.3; 4.7.6; Г.4.6.

5.7.13. МЕЖЛИТЕРНЫИ ПРОСВЕТ

Параметры:

межлитерный просвет (В).

Описание:

Межлитерный просвет принимает значение, установленное параметром.

Если ФВА МЕЖЛИТЕРНОГО ПРОСВЕТА - «индивидуальный», то следующие элементы текста отображаются на экран с этим межлитерным просветом. См. п. 4.6, перечень элементов текста.

Если ФВА МЕЖЛИТЕРНОГО ПРОСВЕТА - «связанный», то этот элемент не оказывает влияния на отображение на экране последующих элементов текста, пока ФВА не возвратится к «индивидуальному».

Параметр представляет требуемый интервал, оставляемый между контурами литер строки текста, которая, кроме того, обладает межлитерным просветом, предусмотренным шрифтом для контура литеры. Он устанавливается как часть текущего атрибута ВЫСОТА ЛИТЕРЫ. Интервал добавляется вдоль направления текста. Отрицательные значения подразумевают то, что литеры могут перекрываться.

Если НАПРАВЛЕНИЕ ТЕКСТА - правое или левое, то межлитерный просвет масштабируется отношением длины вектора основания литер к длине вектора высоты литер.

Ссылки:

пп. 4.6.3; 4.7.3; 4.7.6; Г.4.6.

5.7.14. ЦВЕТ ТЕКСТА

Параметры:

указатель цвета текста;

если режим выбора цвета - «индексный», индекс цвета текста (ИЦ);

если режим выбора цвета - «прямой», значение цвета текста (ПЦ).

Описание:

Индекс цвета текста или значение цвета текста принимает значение, установленное параметром (параметрами).

Если ФВА ЦВЕТА ТЕКСТА - «индивидуальный», то следующие элементы текста отображаются на экран этим же цветом. См. п. 4.6, перечень элементов текста.

Если ФВА ЦВЕТА ТЕКСТА - «связанный», то этот элемент не оказывает влияния на следующие элементы текста, пока ФВА не возвратится к «индивидуальному».

Индекс цвета текста представляет собой указатель в таблице цвета.

Ссылки:

пп. 4.6.3; 4.7.3; 4.7.6; 4.7.7; Г.3.2.

5.7.15. ВЫСОТА ЛИТЕРЫ

Параметры:

высота литеры (КВУ).

Описание:

Высота литеры принимает значение, установленное параметром. Следующие элементы текста отображаются на экран с этой высоты литеры. См. п. 4.6, перечень элементов текста.

Параметр представляет требуемую высоту контура литеры от линии основания к линии заглавной в единицах КВУ, которая должна быть положительным числом. Высота измеряется вдоль вектора высоты литеры. Если векторы ориентации литеры не ортогональны, то высота не будет расстоянием перпендикуляра между линией основания и заглавной линией.

Ссылки:

пп. 4.6.3; 4.7.6; Г.4.6.

5.7.16. ОРИЕНТАЦИЯ ЛИТЕРЫ

Параметры:

x-компонента высоты литеры (КВУ);

y-компонента высоты литеры (КВУ);

x-компонента основания литеры (КВУ);

y-компонента основания литеры (КВУ).

Описание:

Два вектора определяют ориентацию и наклон контура литеры последующих элементов текста. См. п. 4.6, перечень элементов текста. При работе с выравниванием и направлением «вверх» направление «вверх» совпадает с направлением вектора высоты литеры, а «вправо» совпадает с направлением вектора основания литеры. Отношение длины вектора основания к длине вектора высоты используется в качестве масштаба для элементов МАСШТАБ РАСШИРЕНИЯ ЛИТЕР И МЕЖЛИТЕРНЫЙ ИНТЕРВАЛ.

Допустимыми значениями векторов являются любые значения, имеющие неотрицательную длину и не коллинеарные.

Примечание. Способ, при помощи которого матобеспечение, которое находится над генератором метафайла, и/или генератор метафайла предусматривает использование этого элемента следующим образом. Создается вектор с длиной, равной высоте литеры (от линии основания к линии заглавной), и направлением, совпадающим с вектором высоты требуемой литеры. Второй вектор создается той же длины под углом 90° в отрицательном направлении от вектора высоты. Эта пара векторов может быть преобразована до задания генератору метафайла в качестве параметров ОРИЕНТАЦИИ ЛИТЕР. Если полученные векторы не ортогональны, то прямоугольник текста становится параллелограммом, а литеры располагаются под углом. Если векторы различной длины, характеристическое отношение выводится из конструкции шрифта, и атрибут расширения литеры изменяется. Если положительный угол между вектором высоты и вектором основания меньше 180°, происходят следующие действия: литеры зеркально отображаются, и «интуитивные» понятия правого и левого направлений (применяемых к НАПРАВЛЕНИЮ ТЕКСТА И ВЫРАВНИВАНИЮ ТЕКСТА) меняются местами, как описано в п. 4.7.6.

Ссылки:

пп. 4.6.3; 4.7.6; Г.4.6.

5.7.17. НАПРАВЛЕНИЕ ТЕКСТА

Параметры:

направление текста (одно из: вправо, влево, вверх, вниз) (П).

Описание:

Направление текста принимает значение, установленное параметром. Следующие элементы текста отображаются на экран с этим направлением текста. См. п. 4.6, перечень элементов текста.

Эта функция принимает значения атрибута направления текста, устанавливающего направление написания строки текста относительно вектора основания литеры и вектора высоты литеры. «Вправо» означает совпадение с направлением вектора основания литеры. «Влево» означает направление под углом 180° от вектора основания. «Вверх» означает совпадение с направлением вектора высоты литеры. «Вниз» означает направление под углом 180° от вектора высоты литеры.

Ссылки:

пп. 4.6.3; 4.7.6; Г.4.6.

5.7.18. ВЫРАВНИВАНИЕ ТЕКСТА

Параметры:

горизонтальное выравнивание (одно из:

обычное горизонтальное, левое, центральное, правое, продолженное горизонтальное) (П);

вертикальное выравнивание (одно из:

обычное вертикальное, поверху, по заглавной, посередине, по основанию, понизу, продолженное вертикальное) (П);

продолженное горизонтальное выравнивание (В);

продолженное вертикальное выравнивание (В).

Описание:

Выравнивание текста принимает значение, установленное параметрами. Следующие строки текста отображаются на экран с этим выравниванием текста.

Параметр типа горизонтального выравнивания - перечисляемый тип данных с возможными значениями, описанными выше. Если устанавливается значение «продолженное горизонтальное», то параметр продолженного горизонтального выравнивания (который содержит сторону прямоугольника текста, перпендикулярную вектору высоты) становится важным.

Параметр типа вертикального выравнивания - перечисляемый тип данных с возможными значениями, описанными выше. Если устанавливается значение «продолженное вертикальное», параметр продолженного выравнивания (которое содержит сторону прямоугольника текста, параллельную вектору высоты) становится важным.

«Обычные» параметры зависят от направления текста во время работы элементов текста. См. п. 4.6, перечень элементов текста.

НАПРАВЛЕНИЕ

ОБЫЧНОЕ ГОРИЗОНТАЛЬНОЕ

ОБЫЧНОЕ ВЕРТИКАЛЬНОЕ

ВПРАВО

ВЛЕВО

ПО ОСНОВАНИЮ

ВЛЕВО

ВПРАВО

ПО ОСНОВАНИЮ

ВВЕРХ

ПО ЦЕНТРУ

ПО ОСНОВАНИЮ

ВНИЗ

ПО ЦЕНТРУ

ПОВЕРХУ

Параметры непрерывного горизонтального или вертикального выравнивания могут превышать диапазон от 0.0 до 1.0 при выравнивании строки с координатами, выходящими за пределы прямоугольника текста.

Ссылки:

пп. 4.6.3; 4.7.6; Г.4.6.

5.7.19. ИНДЕКС НАБОРА ЛИТЕР

Параметры:

индекс набора литер (Ин).

Описание:

Определенный набор литер из таблицы, установленной элементом дескриптора СПИСОК НАБОРА ЛИТЕР, становится назначенным текущим набором GO. Т.к. НАЧАЛО ИЗОБРАЖЕНИЯ вызывает набор GO из позиций с 2/1 по 7/14 7-битного или 8-битного кодирования литер, набор литер, определенный ИНДЕКСОМ НАБОРА ЛИТЕР, используется при отображении на экран текста в элементах текста. См. п. 4.5, перечень элементов текста. Набор литер используется для последующего преобразования кодов литер в литеры.

Допустимые значения параметра индекса набора литер - целые положительные.

Примечание. Единственное использование этого элемента заключается в переключении наборов литер для различных языков.

Ссылки:

пп. 4.6.3; 4.7.6.

5.7.20. ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР

Параметры:

индекс альтернативного набора литер (Ин).

Описание:

Определенный набор литер из таблицы, установленной элементом дескриптора СПИСОК НАБОРА ЛИТЕР, становится назначенным текущим набором G1 и также назначенным текущим набором G2. Т.к. НАЧАЛО ИЗОБРАЖЕНИЯ вызывает набор G1 из позиций с 10/1 по 15/14 (или с 10/0 по 15/15, если набор G1 - с 96-литерный набор), набор литер, определенный ИНДЕКСОМ АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР, используется для отображения 8-битных байтов, самый старший бит которых устанавливается, когда эти байты встречаются среди параметров строки элементов текста. Набор литер используется для последующего преобразования кодов литер в литеры.

Допустимые значения параметра индекса альтернативного набора литер - целые положительные. Если выбрано соответствующее ОБЪЯВЛЕНИЕ КОДИРОВАНИЯ ЛИТЕР, то управляющие литеры SO и SI и последовательность расширений ИСО 2022 могут быть вставлены внутри параметров строки элементов текста. Если они вставлены, литеры, встречающиеся после SO и перед SI, отображаются на экране, используя набор литер G1: это набор литер, определяемый ИНДЕКСОМ АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР.

Ссылки:

пп. 4.6.3; 4.7.6.

5.7.21. ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ

Параметры:

индекс связки заполнения (Ин).

Описание:

Индекс связки заполнения принимает значение, установленное параметром. Для последующих элементов области заполнения значения ВИД ЗАПОЛНЕНИЯ, ЦВЕТ ЗАПОЛНЕНИЯ, ИНДЕКС ШТРИХОВКИ и ИНДЕКС ШАБЛОНА берутся из соответствующих компонентов индексов связки, если ФВА этих атрибутов принимают значения «связанный». См. п. 4.6, перечень элементов областей заполнения. Если ФВА для заданного атрибута - «индивидуальный», этот элемент не оказывает влияния на значение, используемое этим атрибутом, пока его ФВА не возвратится к «связанному».

Допустимые значения ИНДЕКСА СВЯЗКИ ЗАПОЛНЕНИЯ - целые положительные.

Ссылки:

пп. 4.6.4; 4.7.4; 4.7.8; Г.4.6.

5.7.22. ВИД ЗАПОЛНЕНИЯ

Параметры:

вид заполнения (один из: полость, заливка, по шаблону, штриховка, пусто) (П).

Описание:

Вид заполнения элементов областей заполнения принимает значение, установленное параметром. См. п. 4.6, перечень элементов областей заполнения.

Если используются другие нестандартизованные значения вида заполнения, им должны даваться личные значения.

Если ФВА ВИДА ЗАПОЛНЕНИЯ - «связанная», этот элемент не оказывает влияния на отображение на экран элементов области заполнения, пока ФВА не возвратится к «индивидуальной».

Вид заполнения используется для определения, каким видом будет заполнена область (См. п. 4.7.8 для установления видов заполнения, размеров внутренней области и связи вида заполнения с внешней границей).

Ссылки:

пп. 4.6.4; 4.7.4; 4.7.8; Г.4.6.

5.7.23. ЦВЕТ ЗАПОЛНЕНИЯ

Параметры:

указатель цвета заполнения:

если режим выбора цвета - «индексированный»;

индекс цвета заполнения (ИЦ);

если режим выбора цвета - «прямой»,

значение цвета заполнения (ПЦ).

Описание:

Индекс цвета заполнения или значение цвета заполнения принимает значение, установленное параметром (параметрами).

Если ФВА ЦВЕТА ЗАПОЛНЕНИЯ - «индивидуальный», то следующие элементы, текста отображаются на экран этим же цветом. См. п. 4.6, перечень элементов областей заполнения.

Если ФВА ЦВЕТА ЗАПОЛНЕНИЯ - «связанный», то этот элемент не оказывает влияния на следующие элементы текста, пока ФВА не возвратится к «индивидуальному»

Индекс цвета заполнения - указатель в таблице цвета. Атрибут цвета заполнения важен только в том случае, если ВИД ЗАПОЛНЕНИЯ - «полость», «заливка» или «штриховка».

Ссылки:

пп. 4.6.4; 4.7.4; 4.7.7; 4.7.8; Г.4.6.

5.7.24. ИНДЕКС ШТРИХОВКИ

Параметры:

индекс штриховки (Ин).

Описание:

Индекс штриховки принимает значение, установленное параметром.

Допускаются следующие индексы штриховки:

1 - горизонтальные параллельные линии через равные промежутки;

2 - вертикальные параллельные линии через равные промежутки;

3 - параллельные линии с положительным наклоном через равные промежутки;

4 - параллельные линии отрицательного наклона через равные промежутки;

5 - горизонтальная/вертикальная штриховка перекрестными штрихами;

6 - штриховка перекрестными штрихами с положительным/отрицательным наклоном.

Идеальный угол положительного наклона штриховки - +45°, а идеальный угол отрицательного наклона штриховки +135° (См. также приложение Г).

Если ФВА ИНДЕКСА ШТРИХОВКИ - «индивидуальный» и вид заполнения области - «штриховка», последующие элементы области заполнения отображаются на экран, используя при этом индекс штриховки. См. п. 4.6, перечень элементов области заполнения.

Если ФВА ИНДЕКСА ШТРИХОВКИ - «связанный», этот элемент не оказывает влияния на отображение на экране последующих элементов области заполнения, пока ФВА не возвратится к «индивидуальному».

Атрибут цвета заполнения определяет цвет линий штриховки.

Значения более 6 резервируются для регистрации и дальнейшей стандартизации, а отрицательные значения доступны для зависимого от реализации использования.

Примечание. Значения индексов штриховки регистрируются в Международном Регистре Графических Записей ИСО, который ведется органом регистрации. Когда индекс штриховки будет утвержден рабочей группой машинной графики, значение индекса штриховки будет зарегистрировано органом регистрации.

Ссылки:

пп. 4.6.4; 4.7.4; 4.7.8; Г.4.6.

5.7.25. ИНДЕКС ШАБЛОНА

Параметры:

индекс шаблона (Ин).

Описание:

Индекс шаблона принимает значение, установленное параметром.

Если ФВА ИНДЕКСА ШАБЛОНА - «индивидуальный» и вид заполнения области - «заполнение по шаблону», последующие элементы области заполнения отображаются на экране, используя этот индекс шаблона. См. п. 4.6, перечень элементов области заполнения.

Если ФВА ИНДЕКСА ШАБЛОНА - «связанный», этот элемент не оказывает влияния на отображение на экран элементов области заполнения, пока ФВА не возвратится к «индивидуальному».

Индекс шаблона - это указатель в таблице шаблона.

Допустимые значения ИНДЕКСА ШАБЛОНА - целые положительные.

Ссылки:

пп. 4.6.4; 4.7.4; 4.7.8.

5.7.26. Индекс связки внешней границы

Параметры:

индекс связки внешней границы (Ин).

Описание:

Индекс связки внешней границы принимает значение, установленное параметром. Для последующих элементов области заполнения значения ТИП ВНЕШНЕЙ ГРАНИЦЫ, ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ и ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ берутся из соответствующих компонентов индексов связки, если ФВА этих атрибутов принимают значения «связанный». См. п. 4.6, перечень элементов областей заполнения. Если ФВА для заданного атрибута - «индивидуальный», этот элемент не оказывает влияния на значение, используемое этим атрибутом, пока его ФВА не возвратится к «связанному».

Допустимые значения ИНДЕКСА СВЯЗКИ ВНЕШНЕЙ ГРАНИЦЫ - целые положительные.

Ссылки:

пп. 4.6.4; 4.7.4; 4.7.8; Г.4.6.

5.7.27. ТИП ВНЕШНЕЙ ГРАНИЦЫ

Параметры:

указатель типа внешней границы (Ин).

Описание:

Указатель типа внешней границы принимает значение, установленное параметром.

Если ФВА ТИПА ВНЕШНЕЙ ГРАНИЦЫ - «индивидуальный», а ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ - «включена», внешние границы элементов областей заполнения отображаются на экране этим типом линии внешней границы. См. п. 4.6, перечень элементов области заполнения.

Если ФВА ТИПА ВНЕШНЕЙ ГРАНИЦЫ - «связанный», этот элемент не оказывает влияния на отображение на экран последующих элементов областей заполнения, пока ФВА не возвратится к «индивидуальной».

Указатель типа внешней границы устанавливает такое же соответствие между типом (например 4) и представлением (например штрих-пунктир), как указатель типа линии. Допускаются следующие типы внешних границ:

1 - сплошная;

2 - штриховая;

3 - пунктирная;

4 - штрих-пунктирная;

5 - точка-штрих-пунктирная.

Неотрицательные значения индекса предусматриваются для стандартных типов внешних границ, а отрицательные значения доступны для использования в зависимости от реализации.

Примечание. В идеале тип внешней границы непрерывно поддерживается между соседними отрезками отдельного элемента области заполнения. Целостность внешней границы, части которой могут быть отсечены или объявлены невидимыми (в случае НАБОРА ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ), не рассматривается ИСО 8632.

Значения типов внешних границ регистрируются в Международном Регистре Графических Записей ИСО, который ведется органом регистрации. Когда тип внешней границы будет утвержден рабочей группой машинной графики ИСО, значение типа будет зарегистрировано органом регистрации.

Ссылки:

пп. 4.6.4; 4.7.4; 4.7.8; Г.4.6.

5.7.28. ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ

Параметры:

указатель толщины внешней границы:

если режим спецификации толщины внешней границы - «абсолютный», то абсолютная толщина внешней границы (КВУ);

если режим спецификации толщины внешней границы - «масштабный», то масштаб толщины внешней границы (В).

Описание:

Абсолютная толщина внешней границы или масштаб толщины внешней границы принимает значение, установленное параметром.

Если ФВА ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ - «индивидуальная» и ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ - «включена», внешняя граница элементов области заполнения отображается на экран этой же толщины. См. п. 4.6, перечень элементов области заполнения.

Если ФВА ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ - «связанная», этот элемент не оказывает влияния на отображение на экран последующих элементов областей заполнения, пока ФВА не возвратится к «индивидуальной».

Допустимыми значениями «указателя внешней границы» являются неотрицательные КВУ, если РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ - «абсолютный» и неотрицательные вещественные, если РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ - «масштабированный».

Примечание. При отображении на экран линии внешней границы толщина внешней границы измеряется перпендикулярно к линии определения (т.е. она не зависит от ориентации линии определения). Особое выравнивание отображаемой внешней границы определенной толщины по линии определения нулевой толщины (т.е. центральное выравнивание или некоторое другое) не устанавливается ИСО 8632. См. приложение Г при обсуждении альтернатив.

Ссылки:

пп. 4.4.3; 4.6.4; 4.7.4; 4.7.5; 4.7.8; Г.4.6.

5.7.29. ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ

Параметры:

указатель цвета внешней границы:

если режим выбора цвета - «индексированный», то индекс цвета внешней границы (ИЦ);

если режим выбора цвета - «прямой», то значение цвета внешней границы (ПЦ).

Описание:

Индекс цвета внешней границы или значение цвета внешней границы принимает значение, установленное параметром (параметрами).

Если ФВА ЦВЕТА ВНЕШНЕЙ ГРАНИЦЫ - «индивидуальный», и ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ - «включена», внешняя граница элементов области заполнения отображается на экране этим цветом. См. п. 4.6, перечень элементов области заполнения.

Если ФВА ЦВЕТА ВНЕШНЕЙ ГРАНИЦЫ - «связанный», этот элемент не оказывает влияния на интерпретацию последующих элементов областей заполнения, пока ФВА не возвратится к «индивидуальному».

Ссылки:

пп. 4.6.4; 4.7.4; 4.7.7; 4.7.8; Г.3.2.

5.7.30. ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ

Параметры:

видимость внешней границы (один из: выключена, включена) (П).

Описание:

ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ устанавливает, как внешняя граница элемента области заполнения отображается на экране. Это отображение не зависит от границы, которая образуется при ВИДЕ ЗАПОЛНЕНИЯ «пусто». См. п. 4.7.8 для установления разницы между внешней границей и границей элемента области заполнения. См. п. 4.6, перечень элементов областей заполнения.

Внешняя граница не может быть отображена на экране, если текущее значение режима - «выключено». Если текущее значение режима - «включено», внешняя граница отображается на экране для всех примитивов, за исключением НАБОРА ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ. Для набора полигональных областей отдельные ребра отображаются на экран только в том случае, если текущее значение ВИДИМОСТИ ВНЕШНЕЙ ГРАНИЦЫ в режиме «включено» и флаг ребра устанавливает, что ребро видимое.

Ссылки:

пп. 4.6.4; 4.7.8.

5.7.31. ОПОРНАЯ ТОЧКА ЗАПОЛНЕНИЯ

Параметры:

опорная точка (Т).

Описание:

Опорная точка заполнения принимает значение, установленное параметром.

Если выбранный текущим вид заполнения - «по шаблону», это значение используется вместе с размером шаблона для отображаемых примитивов области заполнения.

Если выбранный текущим вид заполнения - «штриховка», опорная точка заполнения дает общее начало для штриховки всех следующих областей заполнения.

Начальная позиция шаблона или штриховки определяется опорной точкой заполнения. Шаблон наносится на область заполнения, схематически повторяя определенный шаблон в направлениях, параллельных сторонам образца шаблона, пока не заполнится внутренняя область всей области заполнения контура.

Общее начало для всех заштрихованных областей заполнения означает, что отдельные области заполнения имеют одинаковый индекс штриховки, и разрез имеет визуально непрерывный вид штриховки для всех областей заполнения.

Ссылки:

пп. 4.6.4; 4.7.8.

5.7.32. ТАБЛИЦА ШАБЛОНА

Параметры:

индекс в таблице шаблона (Ин);

nx, ny (2Ц);

локальная точность цвета (форма зависит от специфики кодирования);

указатель цвета шаблона;

если режим выбора цвета - «индексированный»,

список индексов цвета (nx×ny ИЦ);

если режим выбора цвета - «прямой»,

список значений цвета - (nx×ny ПЦ).

Описание:

Определяется представление таблицы индексов заданных шаблонов. Представление состоит из матрицы цветов размера n×n. Если вид заполнения «по шаблону», шаблон отображается во внутренней области элемента заполнения, как указано при описании элемента РАЗМЕР ШАБЛОНА.

Допустимые значения параметра индекса таблицы шаблона - целые положительные.

Параметр «локальная точность цвета» описывает точность указателя цвета шаблона. Точность указывается либо для индексированного, либо для прямого цвета согласно РЕЖИМУ ВЫБОРА ЦВЕТА изображения. Как и в элементах ТОЧНОСТЬ ИНДЕКСА ЦВЕТА и ТОЧНОСТЬ ЦВЕТА, форма параметра зависит от кодирования. Если изображение использует выбор индексированного цвета, тогда форма параметра такая же, как и в ТОЧНОСТИ ИНДЕКСА ЦВЕТА. Если изображение использует выбор прямого цвета, тогда форма параметра такая же, как и в ТОЧНОСТИ ЦВЕТА.

Допустимые значения параметра «локальная точность цвета» включает допустимые значения ТОЧНОСТИ (ИНДЕКСА) ЦВЕТА. Кроме того, каждое кодирование определяет специальное значение, «значение по умолчанию индикатора точности цвета», как индикатор того, что указатель цвета элемента закодирован в ТОЧНОСТИ (ИНДЕКСА) ЦВЕТА метафайла, то есть, чтобы показать, что значение по умолчанию «локальной точности цвета» соответствует ТОЧНОСТИ (ИНДЕКСА) ЦВЕТА.

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

Ссылки:

пп. 4.6.4; 4.7.7; 4.7.8.

5.7.33. РАЗМЕР ШАБЛОНА

Параметры:

вектор высоты шаблона, Х-компонента (КВУ);

вектор высоты шаблона, Y-компонента (КВУ);

вектор ширины шаблона, Х-компонента (КВУ);

вектор ширины шаблона, Y-компонента (КВУ).

Описание:

Размер шаблона принимает значение, установленное параметрами.

Если ВИД ЗАПОЛНЕНИЯ - «по шаблону», последующие элементы области заполнения отображаются на экране с шаблоном этого же размера. См. п. 4.6, перечень элементов области заполнения.

Размер шаблона состоит из двух векторов: вектора высоты и вектора ширины. В общем случае область шаблона в параллелограмме в значениях КВУ определяется вектором размера шаблона и ОПОРНОЙ ТОЧКОЙ ЗАПОЛНЕНИЯ. Эта область шаблона разбивается на ячейки, nx в направлении вектора ширины и ny в направлении вектора высоты, где nx и ny - размерности матрицы цвета поля таблицы шаблона, выбранного текущим индексом шаблона.

Матрица из цветов текущего шаблона отображается следующим образом в матрицу из ячеек. Элемент (1 ny) матрицы цвета отображается в ячейку области шаблона, которая помещена в ОПОРНОЙ ТОЧКЕ ЗАПОЛНЕНИЯ. Элементы матрицы цвета с увеличивающейся первой размерностью связываются с последовательными ячейками в направлении вектора ширины, а элементы матрицы цвета с уменьшающейся второй размерностью связываются с последовательными ячейками в направлении вектора высоты. Таким образом, каждый элемент матрицы цвета n*x и n*y связывается с одной ячейкой nx*ny из области шаблона.

Концептуально определенная таким образом область шаблона повторяется в направлениях, параллельных векторам элемента РАЗМЕР ШАБЛОНА, пока внутренняя область элемента заполнения, к которой применяется шаблон, не покрывается полностью. Соответствие изображаемого шаблона и внутренней области, к которой он применяется, определяет тип внутренней области для элемента области заполнения при конкретном изображении.

Ссылки:

пп. 4.6.4; 4.7.8; Г.4.6.

5.7.34. ТАБЛИЦА ЦВЕТА

Параметры:

начальный индекс (ИЦ);

список цвета (nПЦ).

Описание:

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

Допустимые значения индекса цвета - целые неотрицательные.

Ссылки:

пп. 4.7.7; Г.3.2.

5.7.35. ФЛАГИ ВЫБОРКИ АТРИБУТОВ

Параметры:

список из пар типа ФВА, значения ФВА (один из: индивидуальный, связанный) n [П, П].

Описание:

Назначенные Флаги Выборки Атрибутов (ФВА) принимают значения, установленные параметром. Допускаются следующие типы ФВА:

ФВА типа линии;

ФВА толщины линии;

ФВА цвета линии;

ФВА типа маркера;

ФВА размера маркера;

ФВА цвета маркера;

ФВА индекса шрифта текста;

ФВА точности текста;

ФВА масштаба расширения литер;

ФВА межлитерного просвета;

ФВА цвета текста;

ФВА вида заполнения;

ФВА цвета заполнения;

ФВА индекса штриховки;

ФВА индекса шаблона;

ФВА типа внешней границы;

ФВА толщины внешней границы;

ФВА цвета внешней границы.

Флаги Выборки Атрибутов определяют значения атрибутов, которые будут ограничивать примитив. Если ФВА отдельных данных примитива - «индивидуальный», используется значение соответствующего индивидуально установленного атрибута примитива. Если ФВА - «связанный», используемое значение - значение соответствующих данных связки, указанного текущим индексом примитива.

ФВА участвуют в формировании примитивов вместе с другими атрибутами примитивов. Изменения значений ФВА внутри изображения не будут осуществлять обратного влияния на предыдущие элементы примитивов вывода.

Ссылки:

пп. 4.7; Г.4.6.

5.8. Элементы расширения

5.8.1. РАСШИРЕНИЕ

Параметры:

идентификатор функции (Ц);

запись данных (З).

Описание:

РАСШИРЕНИЕ предоставляет доступ к возможностям, не определенным в ИСО 8632. Параметр идентификатора функции определяет данную функцию расширения. Неотрицательные значения резервируются для регистрации и будущей стандартизации, отрицательные значения отводятся для зависимого от реализации использования.

Примечание. Этот элемент умышленно недоопределен. Программное обеспечение, позволяющее использовать элемент РАСШИРЕНИЕ, является менее мобильным.

РАСШИРЕНИЕ более гибко для доступа к средствам нестандартизованного управления графических устройств в противоположность нестандартизованным примитивам вывода. Элемент ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА предусматривается для спецификации нестандартизованных примитивов.

Идентификаторы функций регистрируются в Международном Регистре Графических Записей ИСО, который ведется органом регистрации. Когда идентификатор функции будет утвержден рабочей группой машинной графики ИСО, значение идентификатора функции будет зарегистрировано органом регистрации.

Ссылки:

п. 4.8.

5.9. Внешние элементы

5.9.1. СООБЩЕНИЕ

Параметры:

флаг назначаемого действия (один из: есть действие, нет действия) (П);

текст (С).

Описание:

Элемент СООБЩЕНИЕ определяет строку литер, предназначенную для передачи информации оператором во время интерпретации метафайла иным путем, чем нормальный графический вывод.

Если флаг назначаемого действия принимает значение «есть действие», интерпретатор метафайла нуждается в останове при ожидании ответа оператора. Так как сообщение и сопровождающая пауза могут быть адресованы разным устройствам, только интерпретатор может определить соответствующую паузу. Выбор набора литер для СООБЩЕНИЯ не зависит от набора литер для элемента примитива вывода ТЕКСТ и не устанавливается этим стандартом.

Ссылки:

п. 4.9.

5.9.2. ПРИКЛАДНЫЕ ДАННЫЕ

Параметры: идентификатор (С);

запись данных (Д).

Описание:

Элемент заносит информацию в метафайл зависящим от приложения способом. Он не оказывает влияния на изображение при интерпретации метафайла и на состояния интерпретатора и генератора метафайла

Содержание параметров идентификатора и записи данных не стандартизовано.

Примечание. Содержание записи данных может содержать такую информацию, как история связи данных с изображением, описание использованного алгоритма и т.д.

Ссылки:

п. 4.9.

6. МЕТАФАЙЛ ПО УМОЛЧАНИЮ

Этот раздел включает значения метафайла по умолчанию, используемые для значений по умолчанию, не установленных явно элементом ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ. Значения по умолчанию некоторых элементов зависят от значений других элементов (например, значение по умолчанию ВЫСОТЫ ЛИТЕРЫ зависит от РАЗМЕРОВ КВУ). В этих случаях значение по умолчанию зависимого элемента связано со значением по умолчанию другого элемента, или последнее определяется нижеследующей таблицей или устанавливается элементами ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ. Значение зависимого элемента, однако, не меняется, когда значение элемента, от которого он зависит, явно изменяется элементом метафайла. Скорее значение зависимого элемента остается неизменным в состоянии по умолчанию, пока не будет явно изменено элементом. (Дальнейшее обсуждение значений по умолчанию элементов и функционирования ЗАМЕНЫ ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ см. п. 5.3.11).

ТИП КВУ:

Целые:

ТОЧНОСТЬ ЦЕЛЫХ

- зависит от кодирования;

ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ

- зависит от кодирования;

ТОЧНОСТЬ ИНДЕКСА

- зависит от кодирования;

ТОЧНОСТЬ ЦВЕТА

- зависит от кодирования;

ТОЧНОСТЬ ИНДЕКСА ЦВЕТА

- зависит от кодирования;

МАКСИМАЛЬНЫЙ ИНДЕКС ЦВЕТА

- зависит от кодирования;

СПИСОК ЭЛЕМЕНТОВ МЕТАФАЙЛА

- не имеется;

ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ

- не имеется;

СПИСОК ШРИФТОВ

- для индекса 1 - любой шрифт, который может представлять национальнонезависимое подмножество ИСО 646, которое является значением по умолчанию для СПИСКА НАБОРОВ ЛИТЕР, описанного ниже;

СПИСОК НАБОРОВ ЛИТЕР

- для индекса 1 - любой набор литер, который включает национальнонезависимое подмножество ИСО 646, способом, описанным в ИСО 646;

ОБЪЯВЛЕНИЕ КОДИРОВАНИЯ ЛИТЕР

основное 7-битное;

РЕЖИМ МАСШТАБИРОВАНИЯ

- абстрактный; метрический масштаб не имеется;

РЕЖИМ ВЫБОРА ЦВЕТА

- индексированный;

РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ

- масштабируемый;

РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА

- масштабируемый;

РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ

- масштабируемый;

РАЗМЕРЫ КВУ

- если ТИП КВУ - целый, то левый нижний (0,0), правый верхний (32767, 32767); если ТИП КВУ - вещественный, то левый нижний (0., 0), правый верхний (1.0, 1.0);

ЦВЕТ ФОНА

- зависимый от устройства цвет фона;

ТОЧНОСТЬ ЦЕЛЫХ КВУ

- зависит от кодирования;

ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ КВУ

- зависит от кодирования;

ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ

- если РЕЖИМ ВЫБОРА ЦВЕТА - «индексированный», то 0; если РЕЖИМ ВЫБОРА ЦВЕТА - «прямой», то зависимый от устройства цвет фона;

ТРАНСПАРАНТ

- включен;

ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ

- РАЗМЕРЫ КВУ;

ИНДИКАТОР ОТСЕЧЕНИЯ

- включен;

ИНДЕКС СВЯЗКИ ЛИНИИ

- 1;

ТИП ЛИНИИ

- 1 (сплошная);

ТОЛЩИНА ЛИНИИ

- если РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ - «абсолютный», то 1/1000 максимальной длины самой длинной стороны прямоугольника, определенного экстентом КВУ; если РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ - «масштабированный», то 1.0;

ЦВЕТ ЛИНИИ

- если РЕЖИМ ВЫБОРА ЦВЕТА - «индексированный», то 1; если РЕЖИМ ВЫБОРА ЦВЕТА - «прямой», то зависимый от устройства основной цвет;

ИНДЕКС СВЯЗКИ МАРКЕРА

- 1;

ТИП МАРКЕРА

- 3 (звездочка);

РАЗМЕР МАРКЕРА

- если РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА - абсолютный, то 1/100 максимальной длины самой длинной стороны прямоугольника, определенного экстентом КВУ; если РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА - масштабированный, то 1.0;

ЦВЕТ МАРКЕРА

- если РЕЖИМ ВЫБОРА ЦВЕТА - «индексированный», то 1; если РЕЖИМ ВЫБОРА ЦВЕТА - «прямой», то зависимый от устройства основной цвет;

ИНДЕКС СВЯЗКИ ТЕКСТА

- 1;

ИНДЕКС ШРИФТА ТЕКСТА

- 1;

ТОЧНОСТЬ ТЕКСТА

- до строки;

МАСШТАБ РАСШИРЕНИЯ ЛИТЕР

- 1.0;

МЕЖЛИТЕРНЫЙ ПРОСВЕТ

- 0.0;

ЦВЕТ ТЕКСТА

- если РЕЖИМ ВЫБОРА ЦВЕТА - «индексированный», то 1; если РЕЖИМ ВЫБОРА ЦВЕТА - «прямой», то зависимый от устройства основной цвет;

ВЫСОТА ЛИТЕРЫ

- 1/100 максимальной длины самой длинной стороны прямоугольника, определенного экстентом КВУ;

ОРИЕНТАЦИЯ ЛИТЕРЫ

- 0, 1, 1, 0;

НАПРАВЛЕНИЕ ТЕКСТА

- вправо;

ВЫРАВНИВАНИЕ ТЕКСТА

- обычное горизонтальное, обычное вертикальное;

ИНДЕКС НАБОРА ЛИТЕР

- 1;

 

ИНДЕКС НАБОРА АЛЬТЕРНАТИВНЫХ ЛИТЕР

- 1;

 

ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ

- 1

 

ТИП ВНУТРЕННЕЙ ОБЛАСТИ

- полость;

 

ЦВЕТ ЗАПОЛНЕНИЯ

- если РЕЖИМ ВЫБОРА ЦВЕТА - «индексированный», то 1; если РЕЖИМ ВЫБОРА ЦВЕТА - «прямой», то зависимый от устройства основной цвет;

 

ИНДЕКС ШТРИХОВКИ

- 1;

 

ИНДЕКС ШАБЛОНА

- 1;

 

ТИП ВНЕШНЕЙ ГРАНИЦЫ

- 1 (сплошная);

 

ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ

- если РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ - «абсолютный», то 1/1000 максимальной длины самой длинной стороны прямоугольника, определенного экстентом КВУ; если РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ - «масштабированный», то 1.0;

 

ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ

- если РЕЖИМ ВЫБОРА ЦВЕТА - «индексированный», то 1; если РЕЖИМ ВЫБОРА ЦВЕТА - «прямой», то зависимый от устройства основной цвет;

 

ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ

- выключена;

 

ОПОРНАЯ ТОЧКА ЗАПОЛНЕНИЯ

- точка левого нижнего угла значения по умолчанию экстента КВУ;

 

ТАБЛИЦА ШАБЛОНА

- 1;

nx = ny = 1;

локальная точность цвета (зависящий от устройства) «индикатор точности цвета по умолчанию»; если РЕЖИМ ВЫБОРА ЦВЕТА «индексированный», то 1; если РЕЖИМ ВЫБОРА ЦВЕТА - «прямой», то зависимый от устройства основной цвет;

 

РАЗМЕР ШАБЛОНА

- 0, dy, dx, 0, где dx и dy соответственно высота и ширина экстента КВУ по умолчанию;

 

ТАБЛИЦА ЦВЕТА

- зависимый от устройства цвет фона для индекса = 0; зависимый от устройства основной цвет для индекса больше чем 0;

 

ФЛАГИ ВЫБОРКИ АТРИБУТОВ

- все индивидуальные

 

7. СОГЛАСОВАНИЕ

7.1. Формы согласования

ИСО 8632 устанавливает функциональность и метод кодирования Метафайлов Машинной Графики; но не устанавливает операции или требуемые возможности генераторов метафайла иди интерпретаторов метафайла. Однако основные указания, приводящие к единообразию результатов даны, в приложении Г.

Метафайл может согласовываться с ИСО 8632 по одному из двух путей. Полное согласование имеет место, когда метафайл согласовывается с одним из методов кодирования, установленных ИСО 8632. Функциональное согласование имеет место, когда содержание метафайла точно соответствует описанию функций, приведенному в разд. 1 ИСО 8632, но используется личное кодирование. Эти правила подробно изложены в следующих подразделах.

7.2. Функциональное согласование метафайла

Метафайл называется в вышеупомянутом смысле функционально согласованным с ИСО 8632, если удовлетворяет следующим условиям:

а) все графические элементы, содержащиеся здесь, соответствуют функциональности соответствующих элементов по ИСО 8632;

б) последовательность элементов метафайла согласовывается с отношениями, установленными этим документом, создающим структуру, назначенную ИСО 8632. Например, метафайл должен начинаться с НАЧАЛА МЕТАФАЙЛА и оканчиваться КОНЦОМ МЕТАФАЙЛА, включая только один дескриптор метафайла в начале, содержащем, по крайней мере, все требуемые элементы, установленные ИСО 8632;

в) в метафайле не встречаются элементы, не установленные ИСО 8632. Все нестандартизованные элементы кодируются, используя элемент РАСШИРЕНИЕ или внешние элементы ПРИКЛАДНЫЕ ДАННЫЕ и СООБЩЕНИЕ.

7.3. Полное согласование метафайла

Метафайл называется в вышеупомянутом смысле согласованным с ИСО 8632, если удовлетворяет следующим условиям:

а) метафайл - функционально согласованный, как определено выше;

б) метафайл кодируется в соответствии с одним из стандартизованных методов кодирования, установленных ИСО 8632.

7.4. Согласование других методов кодирования

Функционально согласованный метафайл может использовать личное кодирование. Несмотря на то, что это вне компетенции ИСО 8632, при стандартизации правил для личного кодирования приложение В предлагает минимальный критерий, используемый при организации личных методов кодирования.

ПРИЛОЖЕНИЕ А
Справочное

Формальная грамматика функционального описания

А.1. Введение

Эта грамматика - формальное описание синтаксиса стандарта ММГ. Зависимые и независимые от метода кодирования наименования продукции разделяются, и существуют подразделы, отражающие синтаксис каждого стандартизированного метода кодирования. Подробности кодирования терминальных символов описываются в разделах ИСО 8632, рассматривающих вопрос отдельных методов кодирования.

А.2. Используемая совокупность условных знаков

<символ>

- нетерминальный;

<СИМВОЛ>

- терминальный;

< символ>

- встречается 0 и более раз;

< символ> +

- встречается 1 или более раз;

<символ> Ο

- встречается 0 или 1 раз;

<символ> (n)

- встречается точно n раз, n =2, 3, ...;

<символ-1> : : = <символ-2>

- символ-1 имеет синтаксис символа-2;

<символ-1> | <символ-2>

- символ-1 или альтернативно символ-2;

<символ: значение>

- символ с установленным значением;

{комментарий}

- пояснение символа или продукции.

А.3. Подробная грамматика

А.3.1. Структура метафайла

<метафайл>

: : = <НАЧАЛО МЕТАФАИЛА>

 

<идентификатор метафайла>

 

<дескриптор метафайла>

 

<содержание метафайла>

 

<КОНЕЦ МЕТАФАИЛА>.

<идентификатор метафайла>

: : = <строка>.

<содержание метафайла>

: : = <добавочный элемент>

 

| <изображение>

 

| < внешний элемент > .

<изображение>

: : = <НАЧАЛО ИЗОБРАЖЕНИЯ>

 

<идентификатор изображения>

 

<элемент дескриптора изображения>

 

<НАЧАЛО ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ>

 

<элемент изображения>

 

<КОНЕЦ ИЗОБРАЖЕНИЯ>.

<идентификатор изображения>

: : = <строка>.

<элемент изображения>

:: = <элемент управления>

 

| <графический элемент>

 

| <элемент атрибута>

 

| <элемент расширения>

 

| <внешний элемент>.

А.3.2. Элементы дескриптора метафайла

<дескриптор метафайла>

: : = <идентификация>

 

<режимы>.

<идентификация>

: : = <ВЕРСИЯ МЕТАФАИЛА>

 

<целое>

 

<описание метафайла>.

<описание метафайла>

: : = <ОПИСАНИЕ МЕТАФАИЛА>

 

< строка >.

<режимы>

: : = <список элементов>

 

<необязательный элемент описания> .

<список элементов>

: : = < СПИСОК ЭЛЕМЕНТОВ МЕТАФАЙЛА>

 

<имя элемента>.

<необязательный элемент описания>

: : = <ТИП КВУ>

 

<тип кву>

 

| <МАКСИМАЛЬНЫЙ ИНДЕКС ЦВЕТА>

 

<индекс цвета>

 

| <РАЗМЕРЫ ЗНАЧЕНИЙ ЦВЕТА>

 

<красный зеленый голубой> (2)

 

| <ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ>

 

<стандартный элемент> +

 

| <СПИСОК ШРИФТОВ>

 

<имя шрифта> +

 

| <СПИСОК НАБОРОВ ЛИТЕР>

 

<описание набора литер> +

 

| <ОБЪЯВЛЕНИЕ КОДИРОВАНИЯ ЛИТЕР>

 

<перечисляемые методы кодирования>

 

| <скалярная точность>

 

| <элемент расширения>

 

| <внешний элемент>.

<тип кву>

: : = <ЦЕЛОЕ>

 

| < РЕАЛЬНОЕ >.

<стандартный элемент>

: := <элемент управления>

 

| <элемент дескриптора изображения>

 

| <элемент атрибута>

 

| <элемент расширения>.

<имя набора шрифта>

: : = <строка>.

<описание набора литер>

: : = <перечисляемый набор литер>

 

<последовательность назначений>.

<индекс>

: : = <значение индекса по умолчанию>

 

| < личное значение индекса >.

<значение индекса по умолчанию>

: : = <неотрицательное целое>.

<неотрицательное целое>

: : = <целое> {большее или равное 0}.

<целое положительное>

: : = <целое> {больше 0}.

<частное значение индекса>

: : = <целое отрицательное>.

<целое отрицательное>

: : = <целое> {меньше 0}.

<положительный индекс>

: : = <целое положительное>.

<перечисляемый набор литер>

: : = <94-ЛИТЕРНЫЙ>

 

| <96-ЛИТЕРНЫЙ>

 

| <МНОГОБАЙТОВЫЙ 94-ЛИТЕРНЫЙ>

 

| <МНОГОБАЙТОВЫЙ 96-ЛИТЕРНЫЙ>

 

| <СЛОЖНЫЙ КОД>.

<перечисляемые методы кодирования>

: : = <ОСНОВНОЙ 7-БИТОВЫЙ>

 

| < ОСНОВНОЙ 8-БИТОВЫЙ>

 

| < РАСШИРЯЕМЫЙ 7-БИТНЫЙ>

 

| <РАСШИРЯЕМЫЙ 8-БИТНЫЙ>.

<последовательность назначений>

: : = <строка>.

<скалярная точность>

: := <ТОЧНОСТЬ ЦЕЛЫХ>

 

<значение точности целых>

 

| <ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ>

 

<значение точности вещественных>

 

| <ТОЧНОСТЬ ИНДЕКСА>

 

<значение точности индекса>

 

| <ТОЧНОСТЬ ЦВЕТА>

 

<значение точности цвета>

 

| <ТОЧНОСТЬ ИНДЕКСА ЦВЕТА>

 

<значение точности индекса цвета>

 

{эти элементы закодированы}

 

{зависимые параметры}.

А.3.3. Элементы описания изображения

<элемент описания изображения>

: : = <РЕЖИМ МАСШТАБИРОВАНИЯ>

<режим спецификации масштабирования>

<метрический масштаб>

| <РЕЖИМ ВЫБОРА ЦВЕТА>

<режим выбора цвета>

| < РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ>

<режим спецификации>

| <РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА>

<режим спецификации>

| <РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ>

<режим спецификации>

| <РАЗМЕРЫ КВУ>

<точка> (2)

| <ЦВЕТ ФОНА>

<красный зеленый голубой>

| <элемент расширения>

| <внешний элемент>

<режим выбора цвета>

: := <ИНДЕКСНЫЙ>

|<ПРЯМОЙ>.

<режим спецификации масштабирования>

: : = <АБСТРАКТНЫЙ>

| <МЕТРИЧЕСКИЙ>.

<метрический масштаб>

: : = <вещественный>.

<режим спецификации>

: : = <АБСОЛЮТНЫИ>

| <МАСШТАБИРОВАННЫИ>.

А.3.4. Элементы управления

<элемент управления>

: : = <точность кву>

| <ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ>

<цвет>

| <ТРАНСПАРАНТ>

<перечисляемый индикатор включен-выключен>.

| <ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ>

<точка> (2)

| <ИНДИКАТОР ОТСЕЧЕНИЯ>

<перечисляемый индикатор включен-выключен>.

<перечисляемый индикатор включен-выключен>

: : = < ВКЛЮЧЕН>

< ВЫКЛЮЧЕН>.

<точность координат>

: : = <ТОЧНОСТЬ ЦЕЛЫХ КВУ>

<значения точности целых КВУ>

<ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ КВУ>

<значения точности вещественных кву>

{эти элементы закодированы}

{зависимые параметры}.

А.3.5. Элементы примитивов вывода

<примитив вывода>

: : = <многоточечный элемент>

| <элемент текста>

| <элемент ячейки>

| <элемент опв>

| <элемент прямоугольника>

| <элемент круга>

| <эллиптический элемент>.

<многоточечный элемент>

: : = <ЛОМАНАЯ>

<пара точек>

<список точек>

| <РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ>

<пара точек>

<список пар точек>

| <ПОСЛЕДОВАТЕЛЬНОСТЬ МАРКЕРОВ>

<точка>

<список точек>

| <ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ>

<точка > (3)

<список точек>

| <НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ>

<точка внешней границы> (3)

<список точек внешней границы>.

<список точек>

: : = <точка> .

<список пар точек>

: : = <пара точек> .

<пара точек>

: : = <точка> (2).

<пара точек внешней границы>

: : = <точка> <флаг внешней границы>.

<список пар точек внешней границы>

: : = <пара точек внешней границы> .

<флаг внешней границы>

: : = <НЕВИДИМАЯ>

| <ВИДИМАЯ>

| <ЗАМКНУТАЯ НЕВИДИМАЯ>

| <ЗАМКНУТАЯ ВИДИМАЯ>.

<элемент текста>

: : = <ТЕКСТ>

<точка>

<точка >

<запись данных>.

<идентификатор опв>

: : = <целое>.

<идентификатор метафайла>

: : = <целое>.

<элемент прямоугольника>

: : = <ПРЯМОУГОЛЬНИК>

<пара точек>.

<элементы круга>

: : = <КРУГ>

<точка>

<радиус>

| <ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ>

<точка > (3)

| <ЧАСТЬ КРУГА ПО 3 ТОЧКАМ>

<точка > (3)

<тип замыкания>

| <ДУГА ОКРУЖНОСТИ ПО ЦЕНТРУ>

<точка>

<значение кву> (4)

<радиус>

| <ЧАСТЬ КРУГА ПО ЦЕНТРУ>

<точка>

<значение кву> (4)

<радиус>

<тип замыкания>.

<радиус>

: : = <неотрицательное значение кву>

<конец текста>

| <ограничиваемый элемент текста>.

<ограничиваемый элемент текста>

: : = <ОГРАНИЧИВАЕМЫЙ ТЕКСТ>

<размеры>

<точка>

<конец текста>.

<размеры>

: : = <значение кву> (2).

<конец текста>

: : = <список конечных литер>

| <список неконечных литер>.

<список конечных литер>

: : = <КОНЕЦ>

<строка>.

<список неконечных литер>

: : = <НЕ КОНЕЦ>

<строка>

<элемент атрибута литер>

<охватываемый текст>.

<охватываемый текст>

: : = <ПРИСОЕДИНЯЕМЫЙ ТЕКСТ>

<конец текста>.

<элемент ячейки>

: := <МАТРИЦА ЯЧЕЕК>

<точка> (3)

<целое> (2)

<локальная точность цвета>

<цвет> (целое 1 целое 2).

<элемент опв>

: : = <ОПВ>

<идентификатор опв>

<неотрицательное значение кву>

: : = <значение кву> {больше или равно 0}.

<тип замыкания>

: : = <ЦЕНТР>

| <ХОРДА>.

<эллиптический элемент>

: : = <ЭЛЛИПТИЧЕСКАЯ ОБЛАСТЬ>

<точка> (3)

<значение кву> (4)

| <ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ>

<точка> (3)

<значение кву> (4)

| <ЗАМКНУТАЯ ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ>

<точка> (3)

<значение кву> (4)

<тип замыкания>.

А.3.6. Элементы атрибутов

<элемент атрибута>

: : = <элемент атрибута линии>

| <элемент атрибута маркера>

| <элемент атрибута текста>

| <элемент атрибута области заполнения>

| <элемент таблицы цвета>

| <флаги выборки атрибутов>.

<элемент атрибута линии>

: : = <ИНДЕКС СВЯЗКИ ЛИНИИ>

<положительный индекс>

| <ТИП ЛИНИИ>

<индекс>

| <ТОЛЩИНА ЛИНИИ>

<значение масштабам>

| <ЦВЕТ ЛИНИИ>

<цвет>.

<значение масштаба>

: : = <неотрицательное значение кву>

| <неотрицательное вещественное>.

<неотрицательное вещественное>

: : = <вещественное>

{больше или равно 0}.

<элемент атрибута маркера>

: : = <ИНДЕКС СВЯЗКИ МАРКЕРА>

<положительный индекс>

| <ТИП МАРКЕРА>

<индекс>

| < РАЗМЕР МАРКЕРА>

<значение масштаба>

| <ЦВЕТ МАРКЕРА>

<цвет>.

<элемент атрибута текста>

: : = элемент атрибута литер>

| <элемент атрибута строки>.

<элемент атрибута литер>

: : = < ИНДЕКС СВЯЗКИ ТЕКСТА>

<положительный индекс>

| <ИНДЕКС ШРИФТА ТЕКСТА>

<положительный индекс>

| <МАСШТАБ РАСШИРЕНИЯ ЛИТЕР>

<вещественное>

| <МЕЖЛИТЕРНЫЙ ПРОСВЕТ>

<вещественное>

|<ЦВЕТ ТЕКСТА>

<цвет>

| < ВЫСОТА ЛИТЕР>

<неотрицательное значение кву>

| <ОРИЕНТАЦИЯ ЛИТЕР>

<значение кву> (4)

| <ИНДЕКС НАБОРА ЛИТЕР>

<положительный индекс>

| <ИНДЕКС НАБОРА АЛЬТЕРНАТИВНЫХ ЛИТЕР>

<положительный индекс>.

<элемент атрибута строки>

: : = <НАПРАВЛЕНИЕ ТЕКСТА>

<перечисляемое направление>

| <ТОЧНОСТЬ ТЕКСТА>

<перечисляемая точность текста>

| <ВЫРАВНИВАНИЕ ТЕКСТА>

<перечисляемое горизонтальное выравнивание>

<перечисляемое вертикальное выравнивание>

<значение непрерывного выравнивания> (2).

<перечисляемое направление>

: : = <ВПРАВО>

| <ВЛЕВО>

| <ВВЕРХ>

| <ВНИЗ>.

<перечисляемая точность текста>

: :=<ДО СТРОКИ>

| <ДО ЛИТЕРЫ>

| <ДО ШТРИХА>.

<перечисляемое горизонтальное выравнивание>

: : = <ОБЫЧНОЕ ГОРИЗОНТАЛЬНОЕ>

| <ЛЕВОЕ>

| <ЦЕНТРАЛЬНОЕ>

| <ПРАВОЕ>

| <ПРОДОЛЖЕННОЕ ГОРИЗОНТАЛЬНОЕ>.

<перечисляемое вертикальное выравнивание>

: : =  <ОБЫЧНОЕ ВЕРТИКАЛЬНОЕ>

| <ПО ВЕРХУ>

| <ПО ЗАГЛАВНОЙ>

| <ПОСЕРЕДИНЕ>

| <ПО ОСНОВАНИЮ>

| <ПОНИЗУ>

| <ПРОДОЛЖЕННОЕ ВЕРТИКАЛЬНОЕ>.

<значение непрерывного выравнивания>

: : = <вещественное>.

<элемент атрибута заполняемого контура>

: : = <ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ>

<положительный индекс>

| <ВИД ЗАПОЛНЕНИЯ>

<перечисляемая внутренняя область>

| <ЦВЕТ ЗАПОЛНЕНИЯ>

<цвет>

| <ИНДЕКС ШТРИХОВКИ>

<индекс>

| < ИНДЕКС ШАБЛОНА>

| <ИНДЕКС ВНЕШНЕЙ ГРАНИЦЫ>

<положительный индекс>

| <ТИП ВНЕШНЕЙ ГРАНИЦЫ>

<индекс>

| <ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ>

<значение масштаба>

| <ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ>

<цвет>

| <ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦ>

<перечисляемый выключатель вкл-выкл>

| <ОПОРНАЯ ТОЧКА ЗАПОЛНЕНИЯ>

<точка>

| <ТАБЛИЦА ШАБЛОНА>

<положительный индекс>

<целое> (2)

<локальная точность цвета>

<цвет> (целое 1 ´ целое 2)

{этот элемент закодирован}

{зависимый параметр}

| <РАЗМЕР ШАБЛОНА>

<значение кву> (4).

<перечисляемая внутренняя область>

: : = <ПОЛОСТЬ>

| <ЗАЛИВКА>

| <ШТРИХОВКА>

| <ПО ШАБЛОНУ>

| < ПУСТО >.

<элемент таблицы цвета>

: : = <ТАБЛИЦА ЦВЕТА>

<начальный индекс>

<красный зеленый голубой > +.

<начальный индекс>

: : =< индекс цвета >.

<флаги выборки атрибутов>

: : = <ФЛАГИ ВЫБОРКИ АТРИБУТОВ>

<пара фва> +.

<пара фва>

: := <тип фва>

<вид фва>.

<тип фва>

: : = <ФВА ТИПА ЛИНИИ>

| <ФВА ТОЛЩИНЫ ЛИНИИ>

| <ФВА ЦВЕТА ЛИНИИ>

| <ФВА ТИПА МАРКЕРА>

| <ФВА РАЗМЕРА МАРКЕРА>

| <ФВА ЦВЕТА МАРКЕРА>

| <ФВА ВИДА ЗАПОЛНЕНИЯ>

| <ФВА ИНДЕКСА ШТРИХОВКИ>

| <ФВА ИНДЕКСА ШАБЛОНА>

| <ФВА ЦВЕТА ЗАПОЛНЕНИЯ>

| <ФВА ТИПА ВНЕШНЕЙ ГРАНИЦЫ>

| <ФВА ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ>

| <ФВА ЦВЕТА ВНЕШНЕЙ ГРАНИЦЫ>

| <ФВА ШРИФТА ТЕКСТА>

| <ФВА ТОЧНОСТИ ТЕКСТА>

| <ФВА МАСШТАБА РАСШИРЕНИЯ ЛИТЕР>

| <ФВА МЕЖЛИТЕРНОГО ПРОСВЕТА>

| <ФВА ЦВЕТА ТЕКСТА>.

<вид фва>

: : = <ИНДИВИДУАЛЬНЫЙ>

| <СВЯЗАННЫЙ>.

А.3.7. Элементы расширения

<элемент расширения>

: : = <РАСШИРЕНИЕ>

<идентификатор>

<запись данных>.

<идентификатор>

: : = <целое>.

А.3.8. Внешние элементы

<внешний элемент>

: : = <СООБЩЕНИЕ>

<требуемый флаг>

<строка>

| <ДАННЫЕ ПОЛЬЗОВАТЕЛЯ>

<идентификатор>

<запись данных>.

<требуемый флаг>

: : = <ДА>

| <НЕТ>.

А.4. Терминальные символы

Следующие ниже символы являются терминальными символами грамматики. Изображение их определяется используемым методом кодирования. В приложении А следующих разделов этого стандарта описываются эти зависимые от метода кодирования символы:

<точка>;

<целое>;

<вещественное>;

<значение кву>;

<строка>;

<индекс цвета>;

<красный зеленый голубой>;

<значение точности целых>;

<значение точности вещественных>;

<значение точности индекса>;

<значение точности цвета>;

<значение точности индекса цвета>;

<значение точности целых кву>;

<значение точности вещественных кву>;

<список цветов>;

<запись данных>.

Коды операций CGM зависят от методов кодирования. Полный список смотри ниже в описании <перечисляемого имени элемента>.

Перечисляемые типы:

<ЦЕЛЫЙ>;

<ВЕЩЕСТВЕННЫЙ>;

<ВКЛ>;

<ВЫКЛ>;

<ИНДЕКСНЫЙ>;

<ПРЯМОЙ>;

<АБСТРАКТНЫЙ>;

</МЕТРИЧЕСКИЙ>;

<АБСОЛЮТНЫИ>;

<МАСШТАБИРОВАННЫЙ>;

<94-ЛИТЕРНЫЙ>;

<96-ЛИТЕРНЫЙ>;

<МНОГОБАЙТОВЫЙ 94-ЛИТЕРНЫЙ>;

<МНОГОБАЙТОВЫЙ 96-ЛИТЕРНЫЙ>;

<СЛОЖНЫЙ КОД>;

<ОСНОВНОЙ 7-БИТНЫЙ>;

<ОСНОВНОЙ 8-БИТНЫЙ>;

<РАСШИРЕННЫЙ 7-БИТНЫЙ>;

<РАСШИРЕННЫЙ 8-БИТНЫЙ>;

<ЦЕНТР>;

<ХОРДА>,

<КОНЕЧНЫЙ>,

<НЕ КОНЕЧНЫЙ>;

<ИНДИВИДУАЛЬНЫЙ>;

<СВЯЗАННЫЙ>;

<ПОЛОСТЬ>;

<ЗАЛИВКА>;

<ШТРИХОВКА>;

<ПО ШАБЛОНУ>;

<ПУСТО>;

<ДО СТРОКИ>;

<ДО ЛИТЕРЫ>;

<ДО ШТРИХА>;

<ВПРАВО>;

<ВЛЕВО>;

<ВВЕРХ>;

<ВНИЗ>;

<ОБЫЧНОЕ ГОРИЗОНТАЛЬНОЕ>;

<ЦЕНТРАЛЬНОЕ>;

<ПРОДОЛЖЕННОЕ ГОРИЗОНТАЛЬНОЕ>;

<ОБЫЧНОЕ ВЕРТИКАЛЬНОЕ>;

<ПОВЕРХУ>;

<ПО ЗАГЛАВНОЙ>;

<ПОСЕРЕДИНЕ>;

<ПО ОСНОВАНИЮ>;

<ПОНИЗУ>;

<ПРОДОЛЖЕННОЕ ВЕРТИКАЛЬНОЕ>;

<ДА>;

<НЕТ>;

<ФВА ТИПА ЛИНИИ>;

<ФВА ТОЛЩИНЫ ЛИНИИ>;

<ФВА ЦВЕТА ЛИНИИ>;

<ФВА ТИПА МАРКЕРА>;

<ФВА РАЗМЕРА МАРКЕРА>;

<ФВА ЦВЕТА МАРКЕРА>;

<ФВА ШРИФТА ТЕКСТА>;

<ФВА ТОЧНОСТИ ТЕКСТА>;

<ФВА МАСШТАБА РАСШИРЕНИЯ ЛИТЕР>;

<ФВА МЕЖЛИТЕРНОГО ПРОСВЕТА>;

<ФВА ЦВЕТА ТЕКСТА>;

<ФВА ВИДА ЗАПОЛНЕНИЯ>;

<ФВА ИНДЕКСА ШТРИХОВКИ>;

<ФВА ИНДЕКСА ШАБЛОНА>;

<ФВА ЦВЕТА ЗАПОЛНЕНИЯ>;

<ФВА ТИПА ВНЕШНЕЙ ГРАНИЦЫ>;

<ФВА ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ>;

<ФВА ЦВЕТА ВНЕШНЕЙ ГРАНИЦЫ>.

<перечисляемое имя элемента>

: : = <НАЧАЛО МЕТАФАЙЛА>

| <КОНЕЦ МЕТАФАЙЛА>

| <НАЧАЛО ИЗОБРАЖЕНИЯ>

| <НАЧАЛО ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ>

| <КОНЕЦ ИЗОБРАЖЕНИЯ>

| <ВЕРСИЯ МЕТАФАЙЛА>

| <ОПИСАНИЕ МЕТАФАЙЛА>

| <ТИП КВУ>

| <ТОЧНОСТЬ ЦЕЛЫХ>

| <ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ>

| <ТОЧНОСТЬ ИНДЕКСА>

| <ТОЧНОСТЬ ЦВЕТА>

| <ТОЧНОСТЬ ИНДЕКСА ЦВЕТА>

| <МАКСИМАЛЬНЫЙ ИНДЕКС ЦВЕТА>

| <СПИСОК ЭЛЕМЕНТОВ МЕТАФАЙЛА>

| <ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ>

| <СПИСОК ШРИФТОВ>

| <СПИСОК НАБОРОВ ЛИТЕР>

| <ОБЪЯВЛЕНИЕ КОДИРОВАНИЯ ЛИТЕР>

| <РЕЖИМ МАСШТАБИРОВАНИЯ>

| <РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ЛИНИИ>

| <РЕЖИМ СПЕЦИФИКАЦИИ РАЗМЕРА МАРКЕРА>

| <РЕЖИМ СПЕЦИФИКАЦИИ ТОЛЩИНЫ ВНЕШНЕЙ ГРАНИЦЫ>

| <ТОЧНОСТЬ ЦЕЛЫХ КВУ>

| <ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ КВУ>

| <ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ>

| <ТРАНСПАРАНТ>

| <ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ>

| <ИНДИКАТОР ОТСЕЧЕНИЯ>

| <РАЗМЕРЫ КВУ>

| <ЛОМАНАЯ>

| <РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ>

| <ПОЛИМАРКЕР>

| <ТЕКСТ>

| <ОГРАНИЧИВАЕМЫЙ ТЕКСТ>

| <ПРИСОЕДИНЯЕМЫЙ ТЕКСТ>

| <ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ>

| <НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ>

| <МАТРИЦА ЯЧЕЕК>

| <ОПВ>

| <ПРЯМОУГОЛЬНАЯ ОБЛАСТЬ>

| <КРУГ>

| <ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ>

| <ЧАСТЬ КРУГА ПО 3 ТОЧКАМ>

| <ДУГА ОКРУЖНОСТИ ПО ЦЕНТРУ>

| <ЧАСТЬ КРУГА ПО ЦЕНТРУ>

| <ЭЛЛИПТИЧЕСКАЯ ОБЛАСТЬ>

| <ДУГА ЭЛЛИПСА>

| <ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ>

| <ИНДЕКС СВЯЗКИ ЛИНИИ>

| <ТИП ЛИНИИ>

| <ТОЛЩИНА ЛИНИИ>

| <ЦВЕТ ЛИНИИ>

| <ИНДЕКС СВЯЗКИ МАРКЕРА>

| <ТИП МАРКЕРА>

| <РАЗМЕР МАРКЕРА>

| <ЦВЕТ МАРКЕРА>

| <ИНДЕКС СВЯЗКИ ТЕКСТА>

| <ИНДЕКС ШРИФТА>

| <ТОЧНОСТЬ ТЕКСТА>

| <МАСШТАБ РАСШИРЕНИЯ ЛИТЕР>

| <МЕЖЛИТЕРНЫИ ПРОСВЕТ>

| <ЦВЕТ ТЕКСТА>

| <ВЫСОТА ЛИТЕР>

| <ОРИЕНТАЦИЯ ЛИТЕР>

| <НАПРАВЛЕНИЕ ТЕКСТА>

| <ВЫРАВНИВАНИЕ ТЕКСТА>

| <ИНДЕКС НАБОРА ЛИТЕР>

| <ИНДЕКС НАБОРА АЛЬТЕРНАТИВНЫХ ЛИТЕР>

| <ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ>

| <ВИД ЗАПОЛНЕНИЯ>

| <ЦВЕТ ЗАПОЛНЕНИЯ>

| <ИНДЕКС ШТРИХОВКИ>

| <ИНДЕКС ШАБЛОНА>

| <ТИП ВНЕШНЕЙ ГРАНИЦЫ>

| <ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ>

| <ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ>

| <ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ>

| <ОПОРНАЯ ТОЧКА ЗАПОЛНЕНИЯ>

| <ТАБЛИЦА ШАБЛОНА>

| <РАЗМЕР ШАБЛОНА>

| <ТАБЛИЦА ЦВЕТА>

| <ФЛАГИ ВЫБОРКИ АТРИБУТОВ>

| <СООБЩЕНИЕ>

| <ДАННЫЕ ПОЛЬЗОВАТЕЛЯ>

| <ЧЕРТЕЖНЫЙ НАБОР>

| <ЧЕРТЕЖНЫЙ + УПРАВЛЯЮЩИИ НАБОР>.

ПРИЛОЖЕНИЕ Б
Справочное

Указания для личного кодирования

Функционально согласованный метафайл (п. 7.2) может использовать нестандартизованное (личное) кодирование. Для такого кодирования, чтобы быть кандидатом для стандартизации, оно должно подчиняться следующим условиям:

а) Все элементы ММГ должны подвергаться установленному методу кодирования, за исключением команд точности, которые не поддаются отдельному методу кодирования. Элемент, устанавливающий режим интерпретации других элементов, подразумевается командами, действия которых противопоставляются методу кодирования отдельного элемента. (Например процедурный метод кодирования должен включать отдельные вызовы для УПРАВЛЕНИЯ ЦВЕТОМ ЛИНИИ (R, G, B) и ИНДЕКСА ЦВЕТА ЛИНИИ (Ц) и не включать РЕЖИМ ВЫБОРА ЦВЕТА.).

б) Вся функциональность ММГ должна быть реализуема (например вместе целые и вещественные координаты), исключая указанное выше в п. а)

в) Кодирование должно располагать достаточной для согласования списка минимальных допустимых возможностей точностью (приложение Г.5). Например, представление индексов связки должно представлять диапазон 1 ... 5, включительно.

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

Эти требования должны быть рассмотрены как рекомендации при проектировании нестандартизованных кодирований. Кроме того, настоятельно рекомендуется, чтобы кодирование поддерживало диапазон точности координатных данных, стандартизованных в ИСО 8632/3.

ПРИЛОЖЕНИЕ В
Справочное

Модели взаимосвязей

ММГ проектируется, чтобы быть удобным и полезным для широкого диапазона применений, графических систем и устройств или станций. Рисунки в этом приложении (диаграммы связи) отражают связь ММГ с другими компонентами графических систем. Они не предназначены для детальных спецификаций интерфейсов и процедур, а скорее для схематических иллюстраций связей.

В приложении Д представлена детальная модель связей ММГ и ИСО 7942.

ММГ независимая графическая система. Черт. 16 представляет ММГ как независимую от устройств графическую систему. Генератор метафайла описан ниже и вызывается на промежуточном этапе (вызове), доступном прикладной программе, на уровне устройства или драйвера станции. Генератор метафайла фиксирует независимые от устройства описания изображения схематически параллельно с представлением изображений на текущих устройствах.

Связь ММГ с традиционным графическим пакетом

Черт. 16

По проекту ММГ может интерпретироваться специальным процессом, не затрагивающим возможностей высокого уровня графической системы общего назначения (черт. 17), или может интерпретироваться, используя доступный прикладной программе сервис независимого от устройств графического пакета (черт. 18). Черт. 17 отражает, например, сценарий, в котором ММГ доступен определенному применению и оборудованию устройств. Он отражает целевые графические устройства, имеющие набор элементов ММГ в аппаратной части или программируемом оборудовании. Черт. 18 отражает доступные и удобные ссылки к графическому содержанию метафайла, в большинстве случаев независимо от устройств и применений.

Интерпретация метафайла без графического пакета

Черт. 17

Интерпретация метафайла с использованием традиционного графического пакета

Черт. 18

В контексте этой программы реализация ЯГС должна быть не зависящей от устройства графической системы. Стандарт ЯГС, однако, определяет связь ЯГС с метафайлом более детально, чем изображено на этой диаграмме (см. также приложение Д).

ПРИЛОЖЕНИЕ Г
Справочное

Указания для генераторов и интерпретаторов метафайла

Г.1. Введение

ММГ стандартизует содержание, синтаксис и семантику набора элементов ММГ. Он не стандартизует интерпретатор метафайла. В некоторых ситуациях невозможно интерпретатору метафайла точно обработать содержание метафайла. Такие ситуации включают случаи, когда интерпретатору не хватает функциональности, чтобы обработать правильно определенные элементы в метафайле, так же как случаи, где содержание метафайла определено несоответствующим образом (ошибки и вырождения в данных метафайла).

В некоторых замкнутых средах, например генерация и интерпретация метафайла системой ЯГС, среда сама может диктовать, что делать в некоторых или всех этих ситуациях. В других средах не может быть никаких правил и указаний, которым должны следовать реализаторы. Для предсказуемости и унификации результата полезно предложить общий подход к ситуациям, в которых интерпретатор метафайла не может точно обработать содержание метафайла, и в которых нужны другие критерии разумных решений.

В п. Г.2 рассмотрены ошибки и вырождения на общем уровне. Пп. Г.3 и Г.4 включают рекомендуемые аппроксимации при интерпретации элементов ММГ, в которых не существует взаимно однозначного преобразования между элементами ММГ и возможностями устройств. Этот пункт также рассматривает некоторые частные математические неопределенности и неоднозначности. П. Г.5 содержит список минимальных допустимых возможностей интерпретаторов ММГ.

Г.2. Ошибки и вырождения

Как описано в п. 5.1, три категории вырождений фигурируют в определении элементов метафайла:

а) синтаксические ошибки;

б) геометрически вырожденные примитивы;

в) математические вырождения и неопределенности.

Последовательность пунктов этого приложения содержит некоторые рекомендации для разработчиков при реализации интерпретаторов, которые встречаются с такими ожидаемыми условиями в содержании метафайла. Безотносительно к стратегии, выбранной разработчиком реализации, рекомендуется, чтобы она была документирована для пользователей интерпретатора метафайла.

Г.2.1. Синтаксические ошибки

Основная рекомендация при интерпретации синтаксических ошибок сообщать настолько много информации о синтаксических ошибках, насколько это возможно, и, если имеется разумная интерпретация элемента (особенно в случае примитивов), генерировать некоторый видимый вывод: «делать лучше, насколько возможно».

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

Другие типы синтаксических ошибок менее суровые, в которых интерпретатор способен продолжать разбор метафайла. В некоторых случаях предположения могут быть сделаны и некоторый вывод обычно генерируется. В противном случае (например ошибочные значения в элементах установки атрибутов) может быть бесконечный ряд одинаковых возможностей и никаких рекомендаций относительно их, и тогда предполагается, что элемент будет игнорироваться.

Примеры:

РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ

Если ряд точек нечетный и больше единицы, предполагается, что интерпретатор рассматривает последнюю точку как нечетную точку, и изображает примитив, отбрасывая последнюю точку.

МАТРИЦА ЯЧЕЕК,

Если nx или ny равны 0 в спецификации матрицы ячеек, предполагается, что никакой вывод не может быть сгенерирован интерпретатором метафайла.

Г.2.2. Геометрические вырожденные примитивы

Определения нулевой длины или нулевой площади составляют основную часть таких вырождений. Типичным примером таких вырождений является элемент ЛОМАНАЯ, где все числовые точки совпадают (нулевая длина), элемент полигональной области, где все числовые точки находятся между двумя разными точками (нулевая площадь), или элемент круга с нулевым радиусом (нулевая площадь).

Иногда рекомендуется, чтобы некоторый видимый вывод был сгенерировав для геометрически вырожденных примитивов. В некоторых случаях применения может иметь место обработка вырождения определенным способом. Могут быть случаи, в которых обычно ограничивают появление геометрически вырожденных примитивов. Если в применении нет указаний на обработку вырождений, то предполагается следование вышеуказанным рекомендациям.

Г.2.2.1. Нулевая длина

Вырождения нулевой длины встречаются в элементах линии (см. в п. 4.6 список элементов линии). Если определение элементов линии вырождается в нулевую длину, рекомендуется, чтобы интерпретатор изображал точку текущим цветом линии и с текущей шириной линии. См. пп. Г.3 и Г.4 для интерпретации ошибки в случае, когда эти атрибуты не могут быть точно определены.

Г.2.2.2. Нулевая площадь

Вырождения нулевой площади встречаются в элементах областей заполнения (см. в п. 4.6 список элементов областей заполнения). Распознаются две категории: вырождение примитивов в точку или вырождение примитивов в линию. Рекомендуется, чтобы точка или линия изображалась ЦВЕТОМ ЗАПОЛНЕНИЯ, если ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ - «выключена», если ВИД ЗАПОЛНЕНИЯ не «пусто». Если ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ «включена», точка или линия изображается с атрибутами внешней границы.

Элемент МАТРИЦА ЯЧЕЕК, три точки которого определяют параллелограмм с нулевой площадью, попадает также в эту категорию, за исключением того, что он всегда рассматривается, как если бы ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ была «включена».

Г.3. Общие указания

Г.3.1. Индексы

За исключением цвета, индекс вне диапазона в элементе индексированного выбора подразумевает выбор стандартного значения индекса; индекс вне диапазона у элемента определения индекса (например ТАБЛИЦА ЦВЕТА) игнорируется.

Г.3.2. Модель цвета

Существуют два ключевых подхода к созданию прямой и индексной спецификаций цвета:

а) Графическим устройствам многих ЭВМ свойственно индексирование при выборе атрибутов цвета. Эти устройства включают следующие:

1) отображение на экране карты битов буфера системы (индекс есть значение элемента отображения);

2) перьевые плоттеры (индекс является идентификатором пера);

3) устройства ввода последовательностей позиций (индекс есть аналог напряжения для обеспечения интенсивности или лучевой проницаемости).

б) Все эти устройства распределяют установленные индексы для атрибутов видимого отображения через карту. Эти карты загружаются под управлением программы (тип 1, описанный выше), управлением оператора (2) или вводятся программным оборудованием (3) при кодировании математического обеспечения этого уровня.

Так, самое прямое управление аппаратной части этими устройствами - выбор цвета через индекс. Прямое управление аппаратной части (управление индексом) допускает, что математическое обеспечение должно располагать достаточными данными доступного аппаратной части диапазона для удобного управления устройствами.

Используя прямую спецификацию цвета (если по предположению а) устройства обеспечивают реализацию индексированных указателей), необходимо менять карту, отмеченную присвоением б).

Элемент «полного совпадения» между прямо установленным цветом и входами таблицы может базироваться на нескольких алгоритмах. Например:

1. Минимальное пространственное расстояние, вычисляемое кубом цвета RGB.

2. Сравнение компоненты с компонентой по минимальному значению XORing. В фиксированных таблицах цвет имеет тенденцию к равномерному распределению по всему пространству цвета или, по крайней мере, по плоскости пространства. Это способствует решению проблемы полного совпадения, потому что налицо вероятность получения требуемого цвета.

Загружаемые таблицы неопределенной длины рекомендуется заполнять значениями цвета различных точек пространства цвета до исчерпания таблицы выбора цвета.

Только элемент ТАБЛИЦА ЦВЕТА и элемент ЦВЕТ ФОНА может менять карту цвета (если она существует). Прямая спецификация требует, чтобы полное совпадение было использовано для защиты статических атрибутов на носителе изображения, которая для портативности должна быть стандартной.

Г.3.2.1. Вычерчивание однотонного изображения

В американских цветных телевизионных системах (кодирование NTSC) сигналы цвета транслируются гаммой серого цвета для получения однотонного изображения, используя следующее уравнение:

Y = 0.30 * R + 0 59 * G + 0.11 * B,

где R, G и B - значения интенсивности красной, зеленой и голубой компонент, а Y - результирующее значение яркости. Такое вычерчивание предполагается для интерпретаторов метафайла.

Вычерчивание с целыми значениями этого уравнения приближенно будет иметь вид:

Y´ = 3 * R + 6 * G + 1 * B.

Г.3.2.2. Реализованная точность цвета установленной версии

Вероятно, что точность спецификации компонент цвета RGB метафайла (как определено элементом ДИАПАЗОН ЗНАЧЕНИИ ЦВЕТА) будет отличаться от доступной устройству точности. Если метафайл сгенерирован с диапазоном компонент, отличным от имеющегося на устройстве, компоненты метафайла преобразуются в компоненты устройства линейным преобразованием диапазона компонент метафайла в диапазон компонент устройства.

Черт. 19 дает пример такого преобразования. Генератор метафайла объявляет ТОЧНОСТЬ ЦВЕТА 3 бита и ДИАПАЗОН ЗНАЧЕНИЙ ЦВЕТА ИЗ (0, 0, 0), (7, 7, 7). Устройство предусматривает 4 бита точности в каждой компоненте цвета и диапазон компонентов из 0 - 15. В примере показывается отображение только красной компоненты цвета, зеленая и голубая реализуются точно так же. ДИАПАЗОН ЗНАЧЕНИЙ ЦВЕТА метафайла эффективно показывает, что существует восемь уровней возможного красного цвета с равномерно распределенными интервалами от пустой до заполненной красным компоненты.

Преобразование спецификации прямого цвета с метафайла на устройство

1 - диапазон значений цвета; 2 - точность цвета устройства

Черт. 19

Точность устройства из четырех битов говорит о существовании 16 уровней, обеспечиваемых устройством. Отображение должно предполагать полную и нулевую интенсивности компонент. Заметим, что обсуждение прямой спецификации цвета также касается прямых значений цвета, используемых для установки входов таблицы цвета.

Г.4. Указания для классов элементов

Г.4.1. Элементы ограничения

Подразумевается, что элемент НАЧАЛО ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ очищает носитель изображения. Это необходимо, если изображения произвольно доступны. Если читающий метафайл формирует изображение из множества изображений ММГ, интерпретатор будет очищать носитель изображения только перед первым изображением чертежа.

НАЧАЛО ОСНОВНОЙ ЧАСТИ ИЗОБРАЖЕНИЯ

Обычно элемент вызывает очищение носителя изображения и установление цвета фона, который определен элементом ЦВЕТ ФОНА, если он присутствует в Дескрипторе Изображения, или цветом фона по умолчанию, если не присутствует.

КОНЕЦ ИЗОБРАЖЕНИЯ

Предполагается, что интерпретация элемента КОНЕЦ ИЗОБРАЖЕНИЯ гарантирует, что изображение реализует отображение всех элементов в основной части изображения

Г.4.2. Элементы дескриптора метафайла

Нет указаний интерпретатору ни для каких элементов дескриптора метафайла.

Г.4.3. Элементы дескриптора изображения

Нет указаний интерпретатору ни для каких Элементов Дескриптора Изображения.

Г.4.4. Элементы управления

ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ

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

ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ

Если некоторая часть ПРЯМОУГОЛЬНИКА ОТСЕЧЕНИЯ за пределами РАЗМЕРОВ КВУ, отсечение может произойти на пересечении ПРЯМОУГОЛЬНИКА ОТСЕЧЕНИЯ и РАЗМЕРОВ КВУ.

Г.4.5. Элементы примитивов вывода

ПРИСОЕДИНЯЕМЫЙ ТЕКСТ

Может быть сложно в реализации сгладить изменения в атрибутах текста, которые возможны между элементами частей текста. Предлагаемые действия для интерпретатора: допустить изменение атрибутов; накопить и объединить порции строк; выровнить и изобразить полную строку текста с набором атрибутов, действующих во время, когда строка полная (ПРОДОЛЖЕННЫЙ ТЕКСТ с флагом «конечный»).

ОГРАНИЧИВАЕМЫЙ ТЕКСТ

Некоторые шрифты могут иметь керны, находящиеся вне прямоугольника литеры, либо в горизонтальном, либо в вертикальном направлении. Площадь ОГРАНИЧИВАЕМОГО ТЕКСТА, которая требуется для размещения видимой части литер, заключается в параллелограмм, определенный по параметрам элементов текста. Такие керны могут быть вычерчены двумя способами:

1) при вычерчивании кернов рассматривают параллелограмм текста, как границу отсечения;

2) параметры параллелограмма рассматривают из наихудшего случая по размеру шрифта, определяя строку текста с учетом дополнительных полпробела или пробела по краю строки, чтобы допустить вычерчивание керна. Этот способ дает уверенность, что все части текста вычертятся внутри параллелограмма.

МАТРИЦА ЯЧЕЕК

Предполагают, что устройство, не способное отобразить на экране элемент МАТРИЦА ЯЧЕЕК, вычерчивает параллелограмм установленной площади. Параллелограмм вычерчивается согласно атрибутам внешней границы области заполнения, за исключением того, что ВИДИМОСТЬ ВНЕШНЕЙ ГРАНИЦЫ игнорируется.

Если три точки, определяющие МАТРИЦУ ЯЧЕЕК, образуют параллелограмм, и МАТРИЦА ЯЧЕЕК не может быть отображена на экран как параллелограмм, то в зависимости от реализации вычерчивается определенный параллелограмм или отображается на экран МАТРИЦА ЯЧЕЕК без искажений.

ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ

Для дуги окружности только с одной единственной отличной точкой вычерчивается точка.

Если элемент имеет только две различные точки:

если средняя точка совпадает с начальной точкой, то линия вычерчивается между начальной и конечной точками;

если средняя точка совпадает с конечной точкой, линия вычерчивается между начальной и конечной точками;

если начальная точка совпадает с конечной точкой, круг вычерчивается так, что линия от начальной точки к средней точке является диаметром круга.

Если элемент имеет три коллинеарные координаты:

если средняя точка лежит между начальной и конечной точками на линии через эти две точки, тогда отрезок линии вычерчивается между начальной и конечной точками;

если средняя точка не лежит между начальной и конечной точками, но лежит на линии через эти две точки, тогда две полубесконечные линии вычерчиваются: одна начинается в начальной точке и простирается в направлении вектора от конечной точки к начальной точке; другая начинается в конечной точке и простирается в направлении вектора от начальной точки к конечной точке.

ЧАСТЬ КРУГА ПО 3 ТОЧКАМ

В случае, когда начальная и конечная точки совпадают и средняя точка отлична, внутренность определяемого круга (см. ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ) обрабатывается согласно атрибутам заполнения областей и внешняя граница обрабатывается согласно атрибутам внешней границы. Кроме того, если имеет место «замкнутый тип» и «центр», то вместе с заполнением круга должен быть вычерчен и радиус с текущими атрибутами внешней границы.

Во всех других случаях (см. ДУГА ОКРУЖНОСТИ по 3 ТОЧКАМ) определяемая часть круга не имеет единственный конечный центр, и площадь (т.е. полуплоскость) не может быть определена единственным образом. Тем не менее граница/внешняя граница генерируется, как определено для каждого отдельного случая, описанного выше, в указаниях для элемента ДУГА ОКРУЖНОСТИ ПО 3 ТОЧКАМ. Предложения для обработки границы и/или внешней границы примитивов с нулевой площадью (см. п. Г.2) должны быть применены для вычерчивания определенных линий в этом случае.

ДУГА ОКРУЖНОСТИ ПО ЦЕНТРУ

Если начальный и конечный лучи совпадают, рекомендуется, чтобы интерпретатор вычерчивал полную окружность.

ЧАСТЬ КРУГА ПО ЦЕНТРУ

Если начальный и конечный лучи совпадают, рекомендуется, чтобы интерпретатор вычерчивал полный круг. Если в дополнение «замкнутый тип» - «центр», вместе с заполнением круга, то должен быть также вычерчен и радиус с текущими атрибутами внешней границы.

Эллиптические элементы (методы обработки)

В ИСО 8632 имеется ряд методов для обработки эллипса, заданного параметрически. Один из таких методов включает использование пары уравнений с единственным параметром (t), коэффициент при нем может быть выведен из сопряженных диаметров. Одно уравнение генерирует x-координату, другое уравнение генерирует y-координату, как зависимое от t. Этот метод и его использование включен в заявку на патент, который поддержан Конографической корпорацией и который применяется многими комитетами - членами ИСО; при публикации ИСО 8632 никакая позиция не выдвигалась по отношению к действию этой заявки или любого патентного права в этой связи.

Эллиптические элементы (сопутствующая информация)

Для поддержки определений эллиптических элементов в разд. 4 и 5 ИСО 8632/1 дано математическое определение эллипса.

Эллипс параметризуется центральной точкой и конечными точками диаметров любой ПСД. Следующее уравнение определяет эллипс в терминах этих данных. Для простоты уравнение представляется для эллипса с центром в начале координат. Пусть p1 = (x1, y1) и p2 = (x2, y2) - две конечные точки ПСД. Уравнение эллипса следующее:

yz = yc + d · sinγ;

xv = xc + d · cosγ;

yv = yc - d · cosγ;

Обобщение на эллипс с произвольным расположением центральной точки M = (Xm, Ym) является очевидным.

ДУГА ЭЛЛИПСА

Если начальный и конечный лучи совпадают, рекомендуется, чтобы интерпретатор вычерчивал полный эллипс.

ЧАСТЬ ЭЛЛИПТИЧЕСКОЙ ОБЛАСТИ

Если начальный и конечный лучи совпадают, рекомендуется, чтобы интерпретатор вычерчивал полную эллиптическую область. Если в дополнение «замкнутый тип» - «центр» вместе с заполнением эллипса должен быть также вычерчен и радиус с текущими атрибутами внешней границы.

Г.4.6. Элементы атрибутов

СВЯЗКИ

Разд. 4 описывает атрибуты компонентов, включая различные связки атрибутов. Ожидается, что дальнейший пересмотр ИСО 8632 будет включать устанавливаемые связки. Во избежание возможного конфликта с дальнейшим пересмотренным ИСО 8632 настоятельно рекомендуется, чтобы интерпретаторы использовали только эти компоненты для достижения различимости и не использовали другие, ранее принятые нестандартизованные атрибуты. Если, однако, невозможно для интерпретатора придерживаться этой рекомендации, то использование зависимых устройств, нестандартизованных атрибутов (например мерцание или световой эффект) определяется приемлемым выбором.

ТИП ЛИНИИ

Если установленный зависимый от реализации тип линии недоступен, используется «сплошная линия».

Если тип линии не поддерживается всеми вершинами внутренней области отдельного элемента ломаной, то повторение шаблона линии для каждой вершины внутренней области определяется рекомендуемыми действиями.

ТОЛЩИНА ЛИНИИ

Если устройство не вырабатывает линию точно установленной толщины, выбирается самая близкая возможная толщина.

ТИП МАРКЕРА

Если установленный зависимый от реализации тип маркера недоступен, используется маркер типа «звездочка».

РАЗМЕР МАРКЕРА

Размер маркера принимается наиболее близким к доступному размеру маркера устройства. Влияние РАЗМЕРА МАРКЕРА на зависимые от реализации маркеры определяется при реализации.

ТОЧНОСТЬ ТЕКСТА

Если установленная точность текста недоступна, выбирается следующая бо́льшая точность реализации текста. Если такое значение (более точное) недоступно, оно интерпретируется в зависимости от (1) используемого следующего более низкого значения или (2) шрифта подстановки, временно необходимого для обеспечения требуемой точности текста. Заметим, что шрифт всегда может быть временным обращением для обеспечения набора литер, не подразумеваемого текущим ИНДЕКСОМ ШРИФТА ТЕКСТА (см. в этом приложении ИНДЕКС НАБОРА ЛИТЕР).

МАСШТАБ РАСШИРЕНИЯ ЛИТЕР

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

МЕЖЛИТЕРНЫЙ ПРОСВЕТ

Выбирается следующее возможное значение, меньшее или равное установленному значению. Если такое значение недоступно, выбирается следующее большее значение.

ВЫСОТА ЛИТЕР

Выбирается следующее возможное значение, меньшее или равное установленному значению. Если такое значение недоступно, выбирается следующее большее значение.

ОРИЕНТАЦИЯ ЛИТЕР

Если установленный вектор высоты литер недоступен, выбирается самый близкий возможный вектор. Если два вектора одинаково близки, выбирается вектор в положительном угловом направлении. Если вектор высоты и вектор основания литеры расположены не в правом углу и используемый текст аппаратной части без наклона, то вектор основания используется для определения ориентации литеры. Если направление литеры - «влево» или «вправо», то вектор основания литеры определяет начальное положение литер; если направление - «вверх» или «вниз», то вектор высоты литер определяет начальное положение литеры.

НАПРАВЛЕНИЕ ТЕКСТА

Для направления литеры «влево» значение отступа принимается «вправо», а для направления литеры «вверх» значение отступа принимается «вниз» и наоборот. Если рекомендуемое выше направление отступления недоступно, то выбирается значение «вправо».

ВЫРАВНИВАНИЕ ТЕКСТА

Если значение выравнивания недоступно, для элемента ТЕКСТ используется самое близкое возможное значение. Для ОГРАНИЧИВАЕМОГО ТЕКСТА интерпретатор выполняет выравнивание как раз для определения положения параллелограмма текста. В случае, если сложная точность определяется внутри составной строки, интерпретатор может, при необходимости, использовать точность ниже, чем самая высокая из перекрывающихся точностей для целей выравнивания.

ИНДЕКС НАБОРА ЛИТЕР

Если выбранный литер не имеется в выбранном шрифте во время исполнения элементов ТЕКСТ, ПРИСОЕДИНЯЕМЫЙ ТЕКСТ или ОГРАНИЧИВАЕМЫЙ ТЕКСТ, то шрифт может быть временно заменен на шрифт, который может представить выбранный набор литер.

КОНСТРУКЦИЯ ШРИФТА и СИСТЕМА КООРДИНАТ ШРИФТА

При установлении предельных контуров литер допускается оставлять достаточные пробелы между литерами шрифта, чтобы не возникало пересечений или совпадений контуров. Это условие допускает стандартизованное использование параметра непрерывного выравнивания при выравнивании ТЕКСТА и поддерживает интервалы и МЕЖЛИТЕРНЫЙ ПРОСВЕТ = 0.0.

ВИД ЗАПОЛНЕНИЯ

Если необходимый вид заполнения не разрешен, используется «пусто».

ИНДЕКС ШТРИХОВКИ

Идеальное значение «положительного наклона» - положительный угол в 45° а «отрицательного наклона» - положительный угол в 135° (отрицательный в 45°). Если интерпретатор не может представлять линии с такими наклонами, то могут быть использованы линии с подобными наклонами. Углы в 30 - 60° и 120 - 150° - приемлемые аппроксимации соответственно для «положительного» и «отрицательного» наклонов.

ТИП ВНЕШНЕЙ ГРАНИЦЫ

Если установленный зависимый от реализации тип внешней границы не разрешен, то используется «сплошная» внешняя граница.

Если тип внешней границы не распространяется на все вершины внутренней области отдельного элемента ЛОМАНАЯ, то повторение шаблона линии для каждой вершины внутренней области определяется рекомендуемым действием.

ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ

Если устройство не воспроизводит внешнюю границу точно установленной толщины, то выбирается самая близкая реализуемая толщина.

ИСО 8632 не настаивает на выравнивании (т.е. центрировании) реализованной внешней границы определенной толщины и идеальной внешней границы нулевой толщины элемента заполняемого контура. Допускается одно из двух выравниваний в соответствии с необходимостью использования:

1. Реализуемая внешняя граница центрируется по идеальной внешней границе. Это выравнивание самое простое для выполнения, но имеет недостатки, такие, что элемент сформированного отображаемого на экран заполняемого контура оказывается за пределами идеальной внешней границы.

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

РАЗМЕР ШАБЛОНА

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

ФЛАГИ ВЫБОРКИ АТРИБУТОВ

Если начальные ФВА не изменяются, то ожидаемым режимом интерпретатора является:

а) при начальных значениях всех ФВА равным «связанные» отдельные спецификации связанных атрибутов не рассматриваются признаком системы;

б) при начальных значениях всех ФВА равным «индивидуальные» комплекс спецификаций связанных атрибутов не рассматривается признаком системы.

Г.4.7. Элементы расширения

Не существует указаний интерпретатору для элементов расширения.

Г.4.8. Внешние элементы

Не существует указаний интерпретатору для внешних элементов.

Г.5. Список минимальных допустимых возможностей

Для единообразия результатов при интерпретации элемента допускается, чтобы интерпретаторы ММГ имели, по крайней мере, возможности, показанные в табл. 5.

Таблица 5

Минимальные доступные возможности

Возможности

Поддержка минимально допустимого интерпретатора

ОБЪЯВЛЕНИЕ КОДИРОВАНИЯ ЛИТЕР

Основной 7-битный

СПИСОК ШРИФТОВ

По крайней мере, один шрифт, способный отображать набор литер, описанный ниже (см. СПИСОК НАБОРОВ ЛИТЕР)

СПИСОК НАБОРОВ ЛИТЕР

По крайней мере, один набор литер, который включает национально-независимое подмножество ИСО 646 в позиции, определенной в ИСО 646

ЦВЕТ ФОНА

1, зависит от интерпретатора

ВСПОМОГАТЕЛЬНЫЙ ЦВЕТ

По транспаранту

ТРАНСПАРАНТ

Включен

Размер строки ТЕКСТА при выравнивании

80 литер

Вершины ПОЛИГОНАЛЬНОЙ ОБЛАСТИ или  НАБОРА ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ

128

ИНДЕКС СВЯЗКИ ЛИНИИ

5

ТИП ЛИНИИ

Сплошная, штриховая, пунктирная, штрих-пунктирная, штрих-пунктир-пунктирная

ТОЛЩИНА ЛИНИИ

1, зависит от интерпретатора

ЦВЕТ ЛИНИИ

1, зависит от интерпретатора

ИНДЕКС СВЯЗКИ МАРКЕРА

5

ТИП МАРКЕРА

Точка, плюс, звездочка, окружность, пересечение

РАЗМЕР МАРКЕРА

1, зависит от интерпретатора

ЦВЕТ МАРКЕРА

1, зависит от интерпретатора

ИНДЕКС СВЯЗКИ ТЕКСТА

2

ИНДЕКС ШРИФТА

1

ТОЧНОСТЬ ТЕКСТА

До строки, до литеры

МАСШТАБ РАСШИРЕНИЯ ЛИТЕР

1, зависит от интерпретатора

МЕЖЛИТЕРНЫЙ ПРОСВЕТ

1, зависит от интерпретатора

ЦВЕТ ТЕКСТА

1, зависит от интерпретатора

ВЫСОТА ЛИТЕР

1, зависит от интерпретатора

ОРИЕНТАЦИЯ ЛИТЕРЫ

Вдоль осей пространства КВУ

НАПРАВЛЕНИЕ ТЕКСТА

Вверх, вниз, влево, вправо

ВЫРАВНИВАНИЕ ТЕКСТА

Обычное вертикальное, по верху, по низу, по основанию, обычное горизонтальное, левое, центральное, правое

ИНДЕКС НАБОРА ЛИТЕР

1

ИНДЕКС НАБОРА АЛЬТЕРНАТИВНЫХ ЛИТЕР

1

ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ

5

ВИД ЗАПОЛНЕНИЯ

Полость, заливка, по шаблону, штриховка, пусто

ЦВЕТ ЗАПОЛНЕНИЯ

1, зависит от интерпретатора

ИНДЕКС ШТРИХОВКИ

1, зависит от интерпретатора

ИНДЕКС ШАБЛОНА

1, зависит от интерпретатора

ЦВЕТ ВНЕШНЕЙ ГРАНИЦЫ

Аналогично ЦВЕТУ ЛИНИЙ

ТИП ВНЕШНЕЙ ГРАНИЦЫ

Аналогично ТИПУ ЛИНИИ

ТОЛЩИНА ВНЕШНЕЙ ГРАНИЦЫ

Аналогично ТОЛЩИНЕ ЛИНИИ

РАЗМЕР ШАБЛОНА

1, зависит от интерпретатора

ПРИЛОЖЕНИЕ Д
Справочное

Связь ММГ и ЯГС

Д.1. Введение

Стандарт ЯГС (ИСО 7942) включает понятия станций ввода и вывода метафайла, а также функций доступа и интерпретации метафайла. Однако метафайл не является частью стандарта. Приложение Е стандарта содержит определение «Метафайла ЯГС» (МЯГС). Предлагаемый МЯГС основывается в основном на сеансе кодирования на станции, связанной с функциями ЯГС, и включает всю динамическую информацию, первоначально имеющуюся в потоке вывода в процессе интерактивного графического взаимодействия.

Международный стандарт определяет метафайл для обработки статически определенных изображений. Характерно, что он включает адекватную функциональность для обслуживания механизма обработки изображения в среде ЯГС. Так как использование ММГ не ограничивается средой ЯГС, не имеется взаимооднозначного соответствия между функциями двух стандартов (ММГ аналогично некоторым возможностям ЯГС, хотя некоторые функции ММГ не имеются в ЯГС). Из-за этого возникают некоторые вопросы относительно генерации и интерпретации ММГ в среде ЯГС.

Поскольку не только ММГ, но и ЯГС стандартизует связь двух графических систем через метафайл, не имеется единственной связи между двумя системами. Настоящее приложение предлагает одну связь для определенных сред ММГ и ЯГС.

Д.2. Сфера действия

Хотя ММГ может обрабатывать статически определенные изображения любого уровня ЯГС, связь элементов ММГ с функциями ЯГС наиболее прямая на уровне 0 ЯГС. При использовании в приложениях динамических функций уровней 1 и 2 ЯГС стратегия создания соответствующей конструкции изображения является сложной и многоступенчатой. Лучшая стратегия использования данной среды определяется реализацией и требованиями применений. Следовательно, настоящее приложение представляет точное преобразование функций РГС в элементы ММГ только для функций уровня 0 ЯГС.

Сфера действия этого приложения далее ограничивается генерацией метафайла при помощи ЯГС и интерпретацией при помощи ЯГС-генератора возможностей ЯГС. Имеется ряд других возможностей для генерации и интерпретации из ММГ, таких как интерпретация посредством ЯГС метафайла несгенерированного ЯГС и интерпретация не ЯГС-процессом сгенерированного по ЯГС метафайла. Эти возможности не рассматриваются в приложении. Приложение С представляет контекстную модель, рассматривающую такие случаи.

Д.3. Перечисление различий между ЯГС и ММГ

Хотя ММГ поддерживает всю основную выходную функциональность ЯГС, взаимное однозначное преобразование между ЯГС и ММГ невозможно в ряде случаев:

а) некоторые функции ЯГС не имеют аналогов в элементах ММГ:

1) элементы для установки и изменения преобразования станции;

2) функции ЗАДАТЬ ПРЕДСТАВЛЕНИЕ ххх (ххх - ЛОМАНАЯ, ПОЛИМАРКЕР, ТЕКСТ, ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ) для установки атрибутов станции в соответствующей связывающей таблице;

3) все функции, работающие с сегментами;

б) некоторые элементы ММГ не имеют аналогов в функциях ЯГС:

1) Вновь введенные основные примитивы вывода, такие как РАСЧЛЕНЯЕМАЯ ЛОМАНАЯ и НАБОР ПОЛИГОНАЛЬНЫХ ОБЛАСТЕЙ;

2) примитивы вывода высокого уровня, такие как КРУГ, ПРЯМОУГОЛЬНАЯ ОБЛАСТЬ, ЭЛЛИПТИЧЕСКАЯ ОБЛАСТЬ;

3) расширение возможностей в области обработки текста, таких как наименование шрифтов, изменение набора литер, присоединяемый текст и ограничиваемый текст;

4) атрибуты управления, такие как дополнительный цвет и прямой выбор цвета;

5) свойства усиления для изменения и управления интерпретацией метафайла, таких как режим масштабирования, управление точностью различных записей и управление значениями по умолчанию.

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

Д.4. Понятия преобразования

Табл. 6, 7, 8 и 9 представляют преобразования между функциями ЯГС и элементами ММГ. Этот подкласс описывает понятия, используемые для вывода преобразования.

Д.4.1. Принципы

Следующие принципы являются основными в модели ЯГС/ММГ и, собственно, в функциях преобразования:

а) концептуальная совместимость с ЯГС;

б) совместимость с принципами построения ММГ;

в) совместимость с Интерфейсом Машинной Графики (ИМГ), в тех функциях, которые являются подмножеством ММГ;

г) расширяемость ММГ до МЯГС - подобного метафайла.

Д.4.2. Станции

ММГ генерируется в этой модели на станции типа МВЫВОД. Поведение станции в частности в ответ на динамические функции ЯГС может быть проиллюстрировано на аналогии: в большинстве случаев станции МВЫВОД/ММГ уровня ЯГС могут быть реализованы в виде, аналогичном станциям категории ВЫВОД (то есть графопостроитель), набор команд устройств которого соотносится с элементами ММГ. Стратегия правильной установки инструкций устройства такого реального устройства является аналогичной генерации свойств элементов в метафайле. ММГ читается станцией категории МВЫВОД. Некоторые элементы, такие как Дескриптор метафайла и элементы установки точности, рассматриваются как директивы станции МВЫВОД собственно, так чтобы можно было правильно читать содержимое метафайла.

Д.4.3. Генерация изображений

Метафайл состоит из набора взаимонезависимых изображений. ЯГС не имеет понятия «изображение», как определено в ММГ, однако, сформировано понятие свойств носителя изображения.

Действия ЯГС, которые вызывают очищение носителя изображения, такие как ОЧИСТИТЬ СТАНЦИЮ, определяются, чтобы ограничить изображение метафайла.

Имеется другой механизм, который ведет к генерации изображений в модели связи ЯГС/ММГ. ЯГС содержит функции, которые имеют потенциально динамический эффект на непустом носителе изображения. Концепция построения ММГ исключают динамическую модификацию изображения. В уровне 0 ЯГС эффект динамических функций на носителе изображения зависит от станции, и невозможно в приложениях определить этот эффект. Эффект может упорядочить очистку носителя изображения для динамической модификации изображения. Рассматриваемый эффект определяется для станции МВЫВОД в этой модели - новое изображение начинается по отношению к любым функциям ЯГС, которые заключают в себе динамическое изменение непустого носителя изображения.

Д.4.4. Координаты и отсечение

Координатное пространство метафайла, КВУ, определяется как идентичное к НК пространство ЯГС. НК является действительным числом в единичном интервале. Согласно этому ТИП КВУ устанавливается вещественным в метафайле (по умолчанию целый).

Модель отсечения ММГ в среде ЯГС аналогична связи, определенной в приложении Е ЯГС. Отсечение, которое является значением по умолчанию элемента ИНДИКАТОР ОТСЕЧЕНИЯ, (должен быть описан в метафайле), всегда «включено» в метафайле. Элемент ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ в ММГ имеет либо значение из «прямоугольника отсечения» таблицы состояний ЯГС, либо единицы квадрата КВУ, определенного в совокупности со значением «отсекать» или «не отсекать» поля «индикатор отсечения» из таблицы состояний ЯГС. Так как элемент ЭКСТЕНТ КВУ всегда имеет значение окна станции ЯГС, интерпретация метафайла имеет полную информацию об архиве отсечения ЯГС.

Д.4.5. Преобразования станции

Преобразования станции определены в ЯГС установкой окна станции в независимых от устройства НК и полем вывода станции в зависимости от устройства КУ. Окно станции описывается в метафайле при помощи элемента ЭКСТЕНТ КВУ. ММГ не имеет возможности определить положение изображения. Следовательно, поле вывода станции ЯГС отбрасывается.

Д.4.6. Таблица цвета

ММГ допускает появление элемента ТАБЛИЦЫ ЦВЕТА внутри изображения, что устраняет необходимость собирать все определения индексов цвета вместе для изображения перед выдачей первого примитива из изображения. ММГ не дает, тем не менее, прямой адрес эффекта динамического изменения представления индекса цвета, с помощью которого строятся видимые примитивы. Любые реализации, которые связаны с элементом ТАБЛИЦА ЦВЕТА, получают такой динамический эффект внутри изображения с помощью информации, которая не входит в ИСО 8632.

Д.4.7. Более высокие уровни

ММГ может быть использована для обработки изображения в реализации ЯГС выше уровня 0. Требуемые расширения модели обработки изображения значительно более сложные, чем определенные модели уровня 0. Они не определены детально в этом приложении, но некоторая концептуальная основная линия дается. Во всех отношениях расширения уровней 1 и 2 станции МВЫВОД/ММГ могут быть реализованы способом, аналогичным реализации этих функций на нединамической станции категории ВЫВОД.

Д.4.7.1. Динамические аффекты

Как описано в п. Д.4.2, динамические изменения изображения вызывают генерацию нового изображения метафайла. Так как в ММГ отсутствует сегментация, все ранее выделенные примитивы теряются на уровне 0.

Сегментация имеется в наличии на уровне 1. Динамические изменения могут быть получены для примитивов в сегментах, если начинается реализация нового изображения и переписываются примитивы всех видимых сегментов в метафайле. Эффект интерпретации метафайла проявляется также как прямая регенерация изображения. Этот подход может быть использован для реализации динамических эффектов модификации всех функций изменения атрибутов сегментов, аналогично как и эффект функций УСТАНОВИТЬ ПРЕДСТАВЛЕНИЕ ххх.

Д.4.7.2. Функции атрибутов сегментов

Так как в ММГ отсутствуют любые функции сегментации, все функции атрибутов сегментов должны быть пересчитаны перед генерацией метафайла, то есть перед записью сегментированных примитивов в метафайл. Например, преобразования сегментов НК в НК применяется ко всем сегментированным примитивам перед записью их в метафайл.

Д.4.7.3. Функции УСТАНОВИТЬ ПРЕДСТАВЛЕНИЕ ххх.

ТАБЛИЦА ЦВЕТА и элементы ТАБЛИЦЫ ШАБЛОНОВ могут быть использованы для связи представления (но не динамического) соответствующей части ЯГС с метафайлом. Для всех других значений ххх необходимы различные подходы. В момент формирования примитивов при изменении представления индекса связок соответствующие представления могут быть определены установкой ФВА ММГ - «индивидуально» и установкой индивидуальных атрибутов из таблицы состояния ЯГС представления связки, согласно ФВА ЯГС.

Д.5. Генерация метафайла

Включение функций в приведенные ниже таблицы является частью ряда преобразований функций уровня 0 ЯГС в элементы ММГ. Этот ряд преобразований может быть выполнен не единственным образом, но представленное преобразование является пригодным и удобным для реализации генератора ММГ в среде ЯГС. Понятия преобразований из п. Д.4 допускаются.

Д.5.1. Функции управления

Таблица 6

Преобразование функций управления

Функции ЯГС

Элементы ММГ

Примечание

ОТКРЫТЬ СТАНЦИЮ

НАЧАЛО МЕТАФАЙЛА;

(1)

(Дескриптор изображения);

(2)

НАЧАЛО ИЗОБРАЖЕНИЯ;

(3)

НАЧАЛО ТЕЛА ИЗОБРАЖЕНИЯ

ЗАКРЫТЬ СТАНЦИЮ

КОНЕЦ ИЗОБРАЖЕНИЯ,

КОНЕЦ МЕТАФАЙЛА

 

АКТИВИРОВАТЬ СТАНЦИЮ

Установка атрибутов;

(4)

ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ;

(5)

Возможность вывода в метафайл;

 

ДЕАКТИВИРОВАТЬ СТАНЦИЮ

Невозможность вывода в метафайл;

 

ОЧИСТИТЬ СТАНЦИЮ

Никаких действий или

(6)

КОНЕЦ ИЗОБРАЖЕНИЯ;

НАЧАЛО ИЗОБРАЖЕНИЯ;

 

ЭКСТЕНТ КВУ;

(7)

ЦВЕТ ФОНА;

(8)

НАЧАЛО ТЕЛА ИЗОБРАЖЕНИЯ;

Установка атрибутов;

(4)

ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ;

(5)

ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ

Никаких действий;

(9)

РАСШИРЕНИЕ

РАСШИРЕНИЕ

Примечания:

1. Использование параметра «идентификатор» элемента НАЧАЛО МЕТАФАЙЛА зависит от реализации.

2. См. п. Д.5.5.

3. Использование параметра «идентификатор» элемента НАЧАЛО ИЗОБРАЖЕНИЯ зависит от реализации.

4. Установка атрибутов обеспечивает атрибуты метафайла в действии, когда элемент первого примитива вывода изображения наталкивается на соответствующий текущий атрибут ЯГС.

5. При активации станции или при создании нового изображения элемент ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ записывается в метафайл с значениями (0., 0., 1., 1.), если «индикатор отсечения» входит в таблицу состояний ЯГС с значением «не отсекать» или с значением «прямоугольник отсечения» из таблицы состояния ЯГС, если «индикатор отсечения» входит в таблицу состояний ЯГС с значением «отсекать». Элемент ИНДИКАТОР ОТСЕЧЕНИЯ метафайла всегда выключен, как установлено по умолчанию.

6. Действие ОЧИСТИТЬ СТАНЦИЮ зависит от флага управления. Если флаг управления имеет значение УСЛОВНО, действия производятся, только если поле «заполненность носителя изображения» имеет значение НЕ ПУСТ на станции. Если флаг управления имеет значение ВСЕГДА, тогда указанные элементы всегда генерируются.

7. Экстент КВУ включается и устанавливается по текущему значению ОКНА СТАНЦИИ ЯГС, если его значение отлично от (0., 0., 1., 1.).

8. Если индекс цвета - 0 будет прямо установлен из функции ЯГС ЗАДАТЬ ПРЕДСТАВЛЕНИЕ ЦВЕТА, тогда элемент ЦВЕТ ФОНА должен быть включен (он может быть опущен только, если соответствующее представление по умолчанию ММГ находится в том же положении).

9. ОБНОВИТЬ - не имеет графического эффекта и не имеет эффекта в содержании метафайла. Станция МВЫВОД может, однако, синхронизировать содержание метафайла с состоянием приложения посредством любой буфферизации вывода в этой точке.

Д.5.2. Функции вывода

Таблица 7

Преобразование функций вывода

Функции ЯГС

Элементы ММГ

Примечание

ЛОМАНАЯ

ЛОМАНАЯ

 

ПОЛИМАРКЕР

ПОЛИМАРКЕР

 

ТЕКСТ

ТЕКСТ

(1)

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ

 

МАТРИЦА ЯЧЕЕК

МАТРИЦА ЯЧЕЕК

 

ОПВ

ОПВ

(2)

Примечания:

1. Флаг ТЕКСТА устанавливается «конечный».

2. Если ОПВ зарегистрирован как соответствующий примитив вывода ММГ, то примитив ММГ используется перед ОПВ.

Д.5.3. Атрибуты

Таблица 8

Преобразование атрибутов функций

Функция ЯГС

Элементы ММГ

Примечание

ЗАДАТЬ ИНДЕКС ЛОМАНОЙ

ИНДЕКС СВЯЗКИ ЛИНИИ

 

ЗАДАТЬ ТИП ЛИНИЙ

ТИП ЛИНИИ

 

ЗАДАТЬ МАСШТАБ ТОЛЩИНЫ ЛИНИИ

ТОЛЩИНА ЛИНИИ

 

ЗАДАТЬ ИНДЕКС ЦВЕТА ЛОМАНОЙ

ЦВЕТ ЛИНИИ

 

ЗАДАТЬ ИНДЕКС ПОЛИМАРКЕРА

ИНДЕКС СВЯЗКИ МАРКЕРА

 

ЗАДАТЪ ТИП МАРКЕРА

ТИП МАРКЕРА

 

ЗАДАТЬ МАСШТАБ МАРКЕРА

РАЗМЕР МАРКЕРА

 

ЗАДАТЬ ИНДЕКС ЦВЕТА ПОЛИМАРКЕРА

ЦВЕТ МАРКЕРА

 

ЗАДАТЬ ИНДЕКС ТЕКСТА

ИНДЕКС СВЯЗКИ ТЕКСТА

 

ЗАДАТЬ ШРИФТ И ТОЧНОСТЬ ТЕКСТА

ИНДЕКС НАБОРА ЛИТЕР

(1)

ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОРА ЛИТЕР

 

ИНДЕКС ШРИФТА ТЕКСТА

 

ТОЧНОСТЬ ТЕКСТА

 

ЗАДАТЬ МАСШТАБ РАСШИРЕНИЯ ЛИТЕРЫ

МАСШТАБ РАСШИРЕНИЯ ЛИТЕРЫ

 

ЗАДАТЬ МЕЖЛИТЕРНЫЙ ПРОСВЕТ

МЕЖЛИТЕРНЫИ ПРОСВЕТ

 

ЗАДАТЬ ИНДЕКС ЦВЕТА ТЕКСТА

ЦВЕТ ТЕКСТА

 

ЗАДАТЬ ВЫСОТУ ЛИТЕРЫ

ВЫСОТА ЛИТЕРЫ

 

ЗАДАТЬ ВЕРТИКАЛЬ ЛИТЕРЫ

ОРИЕНТАЦИЯ ЛИТЕРЫ

 

ЗАДАТЬ НАПРАВЛЕНИЕ ТЕКСТА

НАПРАВЛЕНИЕ ТЕКСТА

 

ЗАДАТЬ ВЫРАВНИВАНИЕ ТЕКСТА

ВЫРАВНИВАНИЕ ТЕКСТА

 

ЗАДАТЬ ИНДЕКС ПОЛИГОНАЛЬНОЙ ОБЛАСТИ

ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ

 

ЗАДАТЬ ВИД ЗАПОЛНЕНИЯ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ

ТИП ВИДА ЗАПОЛНЕНИЯ ОБЛАСТИ

 

ЗАДАТЬ ИНДЕКС ЗАПОЛНЕНИЯ ПОЛИГОНАЛЬ НОЙ ОБЛАСТИ

ИНДЕКС ШТРИХОВКИ

(2)

ИНДЕКС ШАБЛОНА

(2)

ЗАДАТЬ ИНДЕКС ЦВЕТА ПОЛИГОНАЛЬНОЙ ОБЛАСТИ

ЦВЕТ ЗАПОЛНЕНИЯ

 

ЗАДАТЬ РАЗМЕР ШАБЛОНА

РАЗМЕР ШАБЛОНА

 

ЗАДАТЬ ТОЧКУ ПРИВЯЗКИ ШАБЛОНА

НАЧАЛЬНАЯ ТОЧКА ЗАПОЛНЕНИЯ

 

ЗАДАТЬ ФЛАГИ ВЫБОРКИ АТРИБУТОВ

ФЛАГИ ВЫБОРКИ АТРИБУТОВ

 

ЗАДАТЬ ПРЕДСТАВЛЕНИЕ ЦВЕТА

ТАБЛИЦА ЦВЕТА

 

Примечания:

1. ЯГС включает нотацию набора литер внутри «шрифта», в ММГ это отдельные две концепции. Когда значение поля «шрифт» меняется в таблице состояний ЯГС, элементы ИНДЕКС ШРИФТА, ИНДЕКС НАБОРА ЛИТЕР и АЛЬТЕРНАТИВНЫЙ ИНДЕКС НАБОРА ЛИТЕР записываются в метафайл, каждый с значением «шрифт», входящим в таблицу состояний ЯГС.

2. Допустимое значение ЯГС «индекс вида заполнения полигональной области», отличающееся от текущего вида заполнения, есть «штриховка» и «по шаблону». Однако отрицательный индекс вида заполнения ЯГС приводит только к генерации элемента ИНДЕКС ШТРИХОВКИ, и положительное значение приводит к генерации как элемента ИНДЕКС ШТРИХОВКИ так и элемента ИНДЕКС ШАБЛОНА.

Д.5.4. Функции преобразования

Таблица 9

Преобразование функций преобразования

Функции ЯГС

Элементы ММГ

Примечание

ЗАДАТЬ ОКНО

ВЫСОТА ЛИТЕРЫ;

 

(для текущего выбранного преобразования нормирования)

ОРИЕНТАЦИЯ ЛИТЕРЫ;

 

РАЗМЕР ШАБЛОНА;

 

НАЧАЛЬНАЯ ТОЧКА ЗАПОЛНЕНИЯ;

 

ЗАДАТЬ ПОЛЕ ВЫВОДА

(для текущего выбранного преобразования нормирования)

ВЫСОТА ЛИТЕРЫ;

 

ОРИЕНТАЦИЯ ЛИТЕРЫ;

 

РАЗМЕР ШАБЛОНА;

 

НАЧАЛЬНАЯ ТОЧКА ЗАПОЛНЕНИЯ;

 

ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ

(1)

ВЫБРАТЬ ПРЕОБРАЗОВАНИЕ НОРМИРОВАНИЯ

ВЫСОТА ЛИТЕРЫ;

 

ОРИЕНТАЦИЯ ЛИТЕРЫ;

 

РАЗМЕР ШАБЛОНА;

 

НАЧАЛЬНАЯ ТОЧКА ЗАПОЛНЕНИЯ;

ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ

(1)

ЗАДАТЬ ИНДИКАТОР ОТСЕЧЕНИЯ

ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ

(2)

ЗАДАТЬ ОКНО СТАНЦИИ

КОНЕЦ ИЗОБРАЖЕНИЯ;

(3)

НАЧАЛО ИЗОБРАЖЕНИЯ;

ЭКСТЕНТ КВУ;

 

ЦВЕТ ФОНА;

 

НАЧАЛО ТЕЛА ИЗОБРАЖЕНИЯ;

 

Установка атрибутов;

ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ

(4)

ЗАДАТЬ ПОЛЕ ВЫВОДА СТАНЦИИ

Также как ОКНО СТАНЦИИ

(3)

Примечания:

1. Если поле «прямоугольник отсечения» таблицы состояний ЯГС изменяется, элемент ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ записывается в метафайл. Элемент записывается в метафайл с значениями (0., 0., 1., 1.), если «индикатор отсечения» входит в таблицу состояний ЯГС с значением «не отсекать» или с значением «прямоугольник отсечения» из таблицы состояния ЯГС, если поле «индикатор отсечения» в таблице состояний ЯГС имеет значение «отсекать».

2. Если поле «прямоугольник отсечения» таблицы состояний ЯГС изменяется, элемент ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ записывается в метафайл. Элемент записывается в метафайл с значениями (0., 0., 1., 1.), если поле «индикатор отсечения» таблицы состояний ЯГС изменяется на «не отсекать», или с значением «прямоугольник отсечения» из таблицы состояния ЯГС, если поле «индикатор отсечения» в таблице состояний ЯГС изменяется на «отсекать».

3. Определенные действия должны быть выполнены, если носитель изображения не пуст и функции ЯГС производят динамическое изменение изображения.

4. При активации станции или, когда начинается новое изображение, элемент ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ записывается в метафайл с значениями (0., 0., 1., 1.), если «индикатор отсечения» входит в таблицу состояний ЯГС с значением «не отсекать», или с значением «прямоугольник отсечения» из таблицы состояния ЯГС, если поле «индикатор отсечения» в таблице состояний ЯГС имеет значение «отсекать».

Д.5.5. Описание метафайла

В заголовке метафайла находится ряд элементов Дескриптора Метафайла. Полезно для обозрения эти элементы объединить в Таблицу Описания Метафайла (так же, как в ЯГС и в таблице Описания Станции ЯГС).

В контексте ЯГС табл. 10 должна быть описана в начале метафайла. Для элементов, которые обозначены как «э. р.», эти зависимые от реализации значения включаются в элементы и в таблицу.

Таблица 10

Содержание дескриптора метафайла в среде ЯГС

Элемент дескриптора

Значение элемента

СПИСОК ЭЛЕМЕНТОВ МЕТАФАЙЛА

Элементы, перечисленные в пп. Д.5.1 - Д.5.5, или их подмножество

ВЕРСИЯ МЕТАФАЙЛА

1

ТИП КВУ

Вещественный

ЗАМЕНА ЗНАЧЕНИЙ МЕТАФАЙЛА ПО УМОЛЧАНИЮ

З. р.

ДЕСКРИПТОР МЕТАФАЙЛА

З. р.

ТОЧНОСТЬ ЦЕЛЫХ

З. р.

ТОЧНОСТЬ ВЕЩЕСТВЕННЫХ

З. р.

ТОЧНОСТЬ ИНДЕКСА

З. р.

ТОЧНОСТЬ ЦВЕТА

З. р.

ТОЧНОСТЬ ИНДЕКСА ЦВЕТА

З. р.

ИНДЕКС МАКСИМАЛЬНОГО ЦВЕТА

З. р.

ДИАПАЗОН ЗНАЧЕНИЙ ЦВЕТА

З. р.

НАБОР ШРИФТОВ

З. р.

СПИСОК НАБОРА ЛИТЕР

З. р.

ОБЪЯВЛЕНИЯ КОДИРОВАНИЯ ЛИТЕР

З. р.

Примечание. З. р. - зависит от реализации.

Элементы Описания Метафайла обсуждаются в п. 5.3 ВЕРСИЯ МЕТАФАЙЛА и СПИСОК 'ЭЛЕМЕНТОВ МЕТАФАЙЛА имеют место. Включается ТИП КВУ для объявления действительных координат, как показано в обсуждении систем координат в п. Д.4. За исключением ТИПА КВУ, все значения метафайла по умолчанию удовлетворяются. Включение элемента ЗАМЕЩЕНИЕ СТАНДАРТНОГО МЕТАФАЙЛА, чтобы изменить любое управление, описание изображения и значения атрибутов по умолчанию не обязательно и зависит от реализации. Так же зависят от реализации включенные в генератор ММГ любые другие элементы ДМ, такие как элемент установки точности.

Д.6. Интерпретация ММГ при помощи ЯГС

Этот подкласс дополняет обсуждаемое выше описание, как элементы метафайла, сгенерированные программой ЯГС согласно описанных правил преобразования, последовательно интерпретируются функцией ИНТЕРПРЕТИРОВАТЬ ЗАПИСЬ ЯГС и/или станцией МВВОД.

Ряд определенных ниже элементов, вызывающих изменения в установленных полях таблицы состояний ЯГС и имеющих параметры, определенные в КВУ (которые изменяются аналогично НК ЯГС). Поля таблицы состояний ЯГС выражены в МК. КВУ (НК) преобразовываются инверсией текущего преобразования нормирования перед записью в таблицу состояний ЯГС.

ОТКРЫТЬ МЕТАФАЙЛ

Первая запись интерпретируется. Таблица описания метафайла следует непосредственно. Эти элементы информируют станцию МВВОД, как читать метафайл.

ЗАКРЫТЬ МЕТАФАЙЛ

Ни одна дальнейшая запись не может быть считана.

ОТКРЫТЬ ИЗОБРАЖЕНИЕ

Соответствующие значения таблицы описания состояний ЯГС устанавливаются в соответствии с значениями по умолчанию ММГ. Соответствующие значения таблицы состояний станции на активированных станциях ВЫВОДА и ВВОДА/ВЫВОДА устанавливаются в соответствии с значениями по умолчанию ММГ. Не предполагается, что эти действия или интерпретация любого элемента дескриптора изображения вызывает любые немедленные динамические изменения на носителе изображения, который очищается элементом НАЧАЛО ТЕЛА ИЗОБРАЖЕНИЯ - реализация может желать сгладить эти действия, чтобы подавить такие изменения, если они нежелательны. Только элемент дескриптор изображения может быть интерпретирован до НАЧАЛА ТЕЛА ИЗОБРАЖЕНИЯ.

НАЧАЛО ТЕЛА ИЗОБРАЖЕНИЯ

Вызывает функцию ОЧИСТИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ на всех активных станциях.

РАЗМЕРЫ КВУ

Вызывает окно станции на всех активных станциях, чтобы установить прямоугольник, определенный элементом.

ЦВЕТ ФОНА

Переустанавливает цвет индекса 0 соответственно на всех активных станциях.

ПРЯМОУГОЛЬНИК ОТСЕЧЕНИЯ

Устанавливается поле «прямоугольник отсечения» в таблицу состояний ЯГС по прямоугольнику, определенному элементом метафайла.

ЛОМАНАЯ

Генерируется примитив ломаной ЯГС.

ПОЛИМАРКЕР

Генерируется примитив полимаркера ЯГС.

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ

Генерируется примитив полигональной области ЯГС.

ТЕКСТ

Генерируется примитив текста ЯГС.

МАТРИЦА ЯЧЕЕК

Генерируется примитив матрицы ячеек ЯГС.

ОПВ

Генерируется примитив ОПВ ЯГС.

Другие примитивы вывода ММГ (например КРУГ).

Преобразуются и генерируются соответствующие ОПВ ЯГС, если имеются в реализации.

ФЛАГИ ВЫБОРКИ АТРИБУТОВ

ИНДЕКС СВЯЗКИ ЛИНИИ

ТИП ЛИНИИ

ТОЛЩИНА ЛИНИИ

ЦВЕТ ЛИНИИ

ИНДЕКС СВЯЗКИ МАРКЕРА

ТИП МАРКЕРА

РАЗМЕР МАРКЕРА

ЦВЕТ МАРКЕРА

ИНДЕКС СВЯЗКИ ЗАПОЛНЕНИЯ

ТИП ВИДА ЗАПОЛНЕНИЯ ОБЛАСТИ

ЦВЕТ ЗАПОЛНЕНИЯ

ИНДЕКС СВЯЗКИ ТЕКСТА

МАСШТАБ РАСШИРЕНИЯ ЛИТЕР

МЕЖЛИТЕРНЫЙ ПРОСВЕТ

ЦВЕТ ТЕКСТА

НАПРАВЛЕНИЕ ТЕКСТА

ВЫРАВНИВАНИЕ ТЕКСТА

Перечисленные атрибуты элементов преобразуются один в один с атрибутами ЯГС. Они изменяют соответствующие поля, установленные в таблице состояний ЯГС.

ИНДЕКС ШТРИХОВКИ

ИНДЕКС ШАБЛОНА

Оба эти элемента изменяют поле «индекс заполнения полигональной области», установленный соответственно в таблице состояний ЯГС.

ТОЧКА НАЧАЛА ЗАПОЛНЕНИЯ

Устанавливает поле «точка привязки шаблона» в таблице состояний ЯГС.

РАЗМЕР ШАБЛОНА

Устанавливает поле «вектора размера шаблона» в таблице состояний ЯГС.

ИНДЕКС НАБОРА ЛИТЕР

ИНДЕКС АЛЬТЕРНАТИВНОГО НАБОР ЛИТЕР

Изменяют поле «шрифт и точность текста» в таблице состояний ЯГС.

ИНДЕКС ШРИФТА ТЕКСТА

ТОЧНОСТЬ ТЕКСТА

Устанавливают поле «шрифт и точность текста» в таблице состояний ЯГС.

ВЫСОТА ЛИТЕРЫ

Устанавливает поле «высота литеры» и вычисляет и устанавливает поле «ширина литеры» в таблице состояний ЯГС.

ОРИЕНТАЦИЯ ЛИТЕРЫ

Устанавливает поля «вертикаль литеры» и «горизонталь литеры» в таблице состояний ЯГС.

ТАБЛИЦА ЦВЕТА

Устанавливает соответствующие поля в таблице представления цвета таблицы описания станции на всех активных станциях.

РАСШИРЕНИЕ

Вызывает для генерации соответствующие функции РАСШИРЕНИЯ.

ИНФОРМАЦИОННЫЕ ДАННЫЕ

1. ПОДГОТОВЛЕН И ВНЕСЕН Секретариатом ТК 22 «Информационная технология»

2. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного Комитета Российской Федерации по стандартизации, метрологии и сертификации от 12.08.98 № 949

Настоящий стандарт подготовлен методом прямого применения международного стандарта ИСО 8632/1-87 «Системы обработки информации. Машинная графика. Метафайл для хранения и передачи информации об описании изображения» и полностью ему соответствует

3. Срок проверки 1998 г., периодичность проверки - 5 лет

4. ВВЕДЕН ВПЕРВЫЕ

5. ССЫЛОЧНЫЕ НОРМАТИВНО ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ

Обозначение отечественного НТД, на который дана ссылка

Обозначение соответствующего международного стандарта

Номер пункта, приложения

ГОСТ 27463-87

ИСО 646-83

6, Г.5

ГОСТ 27466-87

ИСО 2022-86

0.8, 4.7.6, 5.2.3, 5.3.14, 5.3.15, 5.7.20

ГОСТ 27817-88

ИСО 7942-85

0.8, Д.1

-

ИСО 2375-88*

4.11, 5.3.14

-

ИСО 8632/2-87*

0.7, 0.8

-

ИСО 8632/3-87*

0.7, 0.8, Б

-

ИСО 8632/4-87*

0.7

__________

* До прямого применения данного документа в качестве государственного стандарта, распространение его осуществляет секретариат ТК 22 «Информационная технология».

СОДЕРЖАНИЕ

Вводная часть. 1

Приложение. Часть 1. ФУНКЦИОНАЛЬНОЕ ОПИСАНИЕ.. 2

0. Введение. 2

0.1. Назначение. 2

0.2. Обоснования для данного международного стандарта. 2

0.3. Требования к построению стандарта. 2

0.4. Принципы построения стандарта. 3

0.5. Доступ к метафайлу. 3

0.6. Генерация и интерпретация метафайлов. 3

0.7. Различие между формальной спецификацией и кодированием.. 4

0.8. Связь с другими международными стандартами. 4

0.9. Статус приложений. 4

1. Назначение и область применения. 4

2. Ссылки. 5

3. Определения и аббревиатура. 5

3.1. Определения. 5

3.2. Аббревиатура. 8

4. Общие понятия. 8

4.1. Введение. 8

4.2. Элементы ограничения. 9

4.3. Элементы Дескриптора Метафайла. 9

4.3.1. Идентификация. 9

4.3.2. Функциональные возможности. 9

4.3.2.1. Чертежный набор. 10

4.3.2.2. Чертежно-управляющий набор. 11

4.3.3. Состояние метафайла по умолчанию.. 12

4.4. Элементы дескриптора изображения. 12

4.4.1. Режим масштабирования. 12

4.4.2. Режим выбора цвета. 12

4.4.3. Режимы спецификации. 12

4.4.4. Размеры КВУ.. 12

4.4.5. Программируемый ММГ. 13

4.4.6. Цвет фона. 14

4.5. Элементы управления. 14

4.5.1. Пространство и диапазон КВУ.. 14

4.5.2. Отсечение. 15

4.6. Элементы примитивов вывода. 15

4.6.1. Элементы линии. 16

4.6.1.1. Описание. 16

4.6.1.2. Атрибуты.. 16

4.6.1.3. Использование элементов линии. 16

4.6.2. Элемент маркера. 17

4.6.2.1. Описание. 17

4.6.2.2. Атрибуты.. 17

4.6.2.3. Использование элемента маркера. 17

4.6.3. Элементы текста. 17

4.6.3.1. Описание. 17

4.6.3.2. Атрибуты.. 17

4.6.3.3. Использование элементов текста. 17

4.6.4. Элементы заполнения. 18

4.6.4.1. Описание. 18

4.6.4.2. Атрибуты.. 18

4.6.4.3. Использование элементов заполнения. 18

4.6.4.4. Внутренний вид. 19

4.6.4.5. Отсечение. 19

4.6.5. Элемент матрица ячеек. 19

4.6.6. Элементы части круга. 19

4.6.7. Элементы эллиптической области. 19

4.6.7.1. Геометрические концепции. 19

4.6.7.2. Параметризация эллиптических элементов в ММГ. 20

4.7. Элементы атрибутов. 20

4.7.1. Связка линии. 22

4.7.2. Связка маркера. 22

4.7.3. Связка ТЕКСТА.. 22

4.7.4. Связки заполняемых областей. 22

4.7.4.1. Связка ЗАПОЛНЕНИЕ.. 22

4.7.4.2. Связка ВНЕШНЯЯ ГРАНИЦА.. 23

4.7.5. Режимы спецификаций. 23

4.7.6. Атрибуты ТЕКСТА.. 23

4.7.7. Атрибуты цвета. 33

4.7.8. Атрибуты области заполнения. 34

4.8. Элементы расширения. 35

4.9. Внешние элементы.. 35

4.10. Концептуальная диаграмма состояний. 35

4.11. Регистрация. 36

5. Абстрактная спецификация элементов. 37

5.1. Введение. 37

5.2. Элементы ограничения. 39

5.2.1. Начало метафайла. 39

5.2.2. Конец метафайла. 39

5.2.3. Начало изображения. 39

5.2.4. Начало основной части изображения. 40

5.2.5. Конец изображения. 41

5.3. Элементы дескриптора метафайла. 41

5.3.1. Версия метафайла. 41

5.3.2. Описание метафайла. 41

5.3.3. Тип кву. 41

5.3.4. Точность целых. 41

5.3.5. Точность вещественных. 42

5.3.6. Точность индекса. 42

5.3.7. Точность цвета. 42

5.3.8. Точность индекса цвета. 42

5.3.9. Максимальный индекс цвета. 42

5.3.10. Диапазон значений цвета. 43

5.3.11. Список элементов метафайла. 43

5.3.12. Замена значений метафайла по умолчанию.. 43

5.3.13. Список шрифтов. 44

5.3.14. Список наборов литер. 44

5.3.15. Объявление кодирования литер. 48

5.4. Элементы дескриптора изображения. 48

5.4.1. Режим масштабирования. 48

5.4.2. Режим выбора цвета. 49

5.4.3. Режим спецификации толщины линии. 49

5.4.4. Режим спецификации размера маркера. 49

5.4.5. Режим спецификации толщины внешней границы.. 50

5.4.6. Размеры КВУ.. 50

5.4.7. Цвет фона. 51

5.5. Элементы управления. 51

5.5.1. Точность целых КВУ.. 51

5.5.2. Точность вещественных КВУ.. 51

5.5.3. Вспомогательный цвет. 52

5.5.4. Транспарант. 52

5.5.5. Прямоугольник отсечения. 53

5.5.6. Индикатор отсечения. 53

5.6. Элементы примитивов вывода. 53

5.6.1. Ломаная. 53

5.6.2. Расчленяемая ломаная. 53

5.6.3. Полимаркер. 54

5.6.4. Текст. 54

5.6.5. Ограничиваемый текст. 55

5.6.6. Присоединяемый текст. 56

5.6.7. Полигональная область. 57

5.6.8. Набор полигональных областей. 57

5.6.9. Указатель области. 58

5.6.10. Обобщенный примитив вывода (ОПВ) 60

5.6.11. Прямоугольник. 61

5.6.12. Круг. 61

5.6.13. Дуга окружности по 3 точкам.. 61

5.6.14. Часть круга по 3 точкам.. 61

5.6.15. Дуга окружности по центру. 62

5.6.16. Часть круга по центру. 63

5.6.17. Эллиптическая область. 63

5.6.18. Дуга эллипса. 64

5.6.19. Часть эллиптической области. 64

5.7. Элементы атрибутов. 65

5.7.1. Индекс связки линии. 65

5.7.2. Тип линии. 66

5.7.3. Толщина линии. 66

5.7.4. Цвет линии. 67

5.7.5. Индекс связки маркера. 67

5.7.6. Тип маркера. 67

5.7.7. Размер маркера. 68

5.7.8. Цвет маркера. 68

5.7.9. Индекс связки текста. 69

5.7.10. Индекс шрифта текста. 69

5.7.11. Точность текста. 69

5.7.12. Масштаб расширения литер. 70

5.7.13. Межлитерныи просвет. 70

5.7.14. Цвет текста. 71

5.7.15. Высота литеры.. 71

5.7.16. Ориентация литеры.. 71

5.7.17. Направление текста. 72

5.7.18. Выравнивание текста. 72

5.7.19. Индекс набора литер. 73

5.7.20. Индекс альтернативного набора литер. 73

5.7.21. Индекс связки заполнения. 74

5.7.22. Вид заполнения. 74

5.7.23. Цвет заполнения. 74

5.7.24. Индекс штриховки. 75

5.7.25. Индекс шаблона. 75

5.7.26. Индекс связки внешней границы.. 76

5.7.27. Тип внешней границы.. 76

5.7.28. Толщина внешней границы.. 77

5.7.29. Цвет внешней границы.. 77

5.7.30. Видимость внешней границы.. 78

5.7.31. Опорная точка заполнения. 78

5.7.32. Таблица шаблона. 78

5.7.33. Размер шаблона. 79

5.7.34. Таблица цвета. 80

5.7.35. Флаги выборки атрибутов. 80

5.8. Элементы расширения. 81

5.8.1. Расширение. 81

5.9. Внешние элементы.. 81

5.9.1. Сообщение. 81

5.9.2. Прикладные данные. 81

6. Метафайл по умолчанию.. 82

7. Согласование. 84

7.1. Формы согласования. 84

7.2. Функциональное согласование метафайла. 85

7.3. Полное согласование метафайла. 85

7.4. Согласование других методов кодирования. 85

А. Формальная грамматика функционального описания. 85

А.1. Введение. 85

А.2. Используемая совокупность условных знаков. 85

А.3. Подробная грамматика. 86

А.3.1. Структура метафайла. 86

А.3.2. Элементы дескриптора метафайла. 86

А.3.3. Элементы описания изображения. 88

А.3.4. Элементы управления. 88

А.3.5. Элементы примитивов вывода. 89

А.3.6. Элементы атрибутов. 90

А.3.7. Элементы расширения. 93

А.3.8. Внешние элементы.. 93

А.4. Терминальные символы.. 93

Б. Указания для личного кодирования. 97

В. Модели взаимосвязей. 98

Г. Указания для генераторов и интерпретаторов метафайла. 99

Г.1. Введение. 99

Г.2. Ошибки и вырождения. 100

Г.2.1. Синтаксические ошибки. 100

Г.2.2. Геометрические вырожденные примитивы.. 100

Г.2.2.1. Нулевая длина. 101

Г.2.2.2. Нулевая площадь. 101

Г.3. Общие указания. 101

Г.3.1. Индексы.. 101

Г.3.2. Модель цвета. 101

Г.3.2.1. Вычерчивание однотонного изображения. 102

Г.3.2.2. Реализованная точность цвета установленной версии. 102

Г.4. Указания для классов элементов. 103

Г.4.1. Элементы ограничения. 103

Г.4.2. Элементы дескриптора метафайла. 103

Г.4.3. Элементы дескриптора изображения. 103

Г.4.4. Элементы управления. 103

Г.4.5. Элементы примитивов вывода. 104

Г.4.6. Элементы атрибутов. 106

Г.4.7. Элементы расширения. 108

Г.4.8. Внешние элементы.. 108

Г.5. Список минимальных допустимых возможностей. 108

Д. Связь ММГ и ЯГС.. 109

Д.1. Введение. 109

Д.2. Сфера действия. 110

Д.3. Перечисление различий между ЯГС и ММГ. 110

Д.4. Понятия преобразования. 111

Д.4.1. Принципы.. 111

Д.4.2. Станции. 111

Д.4.3. Генерация изображений. 111

Д.4.4. Координаты и отсечение. 111

Д.4.5. Преобразования станции. 112

Д.4.6. Таблица цвета. 112

Д.4.7. Более высокие уровни. 112

Д.4.7.1. Динамические аффекты.. 112

Д.4.7.2. Функции атрибутов сегментов. 112

Д.4.7.3. Функции УСТАНОВИТЬ ПРЕДСТАВЛЕНИЕ ххх. 112

Д.5. Генерация метафайла. 113

Д.5.1. Функции управления. 113

Д.5.2. Функции вывода. 114

Д.5.3. Атрибуты.. 114

Д.5.4. Функции преобразования. 115

Д.5.5. Описание метафайла. 116

Д.6. Интерпретация ММГ при помощи ЯГС.. 116