В общем случае верхняя граница области представления литер для шрифта совпадает или очень близка к линии заглавной или к линии верхней границы выносного элемента, а нижняя граница — к линии нижней границы выносного элемента. В промежутке меж­ду верхней линией и линией заглавной, если он существует, может располагаться дополнительный знак, размещаемый над литерой, например знак ударения. Эти и другие детали определяются раз­работчиком шрифта. При горизонтальном размещении литер в вертикальном направлении должны исключаться наложения верх-:. них и нижних выносных элементов соседних литер (соответствует типографскому термину «плотный набор»).

  1. Значения атрибутов ВЫСОТА ЛИТЕРЫ и ВЕРТИ­КАЛЬ ЛИТЕРЫ задаются в мировых координатах, в то же вре­мя сами литеры генерируются на станции в координатах устрой­ства, используя зависящие от станции шрифт и точность. Поэтому геометрические атрибуты должны быть преобразованы так, что­бы станция имела возможность приемлемо создавать литеры. Вместе с кодами литер передаются значения вектора высоты ли­теры, параллельного вектору ВЕРТИКАЛЬ ЛИТЕРЫ и имеющего длину, равную значению атрибута ВЫСОТА ЛИТЕРЫ, и векто­ра ширины, параллельного вектору ГОРИЗОНТАЛЬ ЛИТЕРЫ и имеющего длину, равную значению атрибута ШИРИНА ЛИТЕРЫ. Эти векторы подвергаются преобразованию нормирования, пре­образованию сегмента, если текст входит в состав сегмента, и преобразованию станции. Они также запоминаются в сегментах. Затем векторы могут быть использованы генератором литер на станции. Таким образом форма отдельных литер может быть искажена преобразованием нормирования с различными коэффи­циентами по осям X и Y и преобразованием сегментов.

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

Граничный параллелограмм текста затем располагается в со­ответствии со значением атрибута ВЫРАВНИВАНИЕ ТЕКСТА и позиции текста, содержащейся в задании примитива ТЕКСТ.

На черт. 4—7 приведены примеры действия различных значе­ний атрибутов текста. На черт. 8 показаны примеры, иллюстри­рующие воздействия различных преобразований нормирования на вид изображаемого текста.

  1. Атрибуты примитива ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ

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

ВЫСОТА ЛИТЕРЫ=1, ВЕРТИКАЛЬ ЛИТЕРЫ=(0,1), НАПРАВЛЕНИЕ ТЕКСТА-ВПРАВО, ВЫРАВНИВАНИЕ ТЕКСТА—(ОБЫЧНОЕ, ОБЫЧНОЕ)


ВЫСОТА ЛИТЕРЫ=0,5, ВЕРТИКАЛЬ ЛИТЕРЫ=(0,1), НАПРАВЛЕНИЕ ТЕКСТА-ВПРАВО, ВЫРАВНИВАНИЕ ТЕКСТА-(ОБЫЧНОЕ, ОБЫЧНОЕ)


ВЫСОТА ЛИТЕРЫ=1, ВЕРТИКАЛЬ ЛИТЕРЫ=(0,1), НАПРАВЛЕНИЕ ТЕКСТА=ВПРАВО, ВЫРАВНИВАНИЕ ТЕКСТА-(ПРАВОЕ, ПОВЕРХУ)


ВЫСОТА ЛИТЕРЫ=1, ВЕРТИКАЛЬ ЛИТЕРЫ=(0,1), НАПРАВЛЕНИЕ ТЕКСТА—ВНИЗ, ВЫРАВНИВАНИЕ ТЕКСТА—(ОБЫЧНОЕ, ОБЫЧНОЕ)

ВЫСОТА ЛИТЕРЬМ,

ВЕРТИКАЛЬ ЛИТЕРЫ=(1,0),

НАПРАВЛЕНИЕ ТЕКСТА-ВПРАВО, ВЫРАВНИВАНИЕ ТЕКСТА-(ОБЫЧНОЕ, ОБЫЧНОЕ)

Обозначения:

X — позиция текста - базовая линия или центральная линия — граничный прямоугольник

текста (указанный для НАПРАВЛЕНИЕ—ВНИЗ)


Примечания:


  1. В показанных примерах текст имеет точность ДО ШТРИХА, коэффи­циент расширения литеры ревен 1 и межлитерный просвет равен 0.

  2. В этих примерах линия заглавной совпадает с верхней линией.

  3. Измененные атрибуты подчеркнуты
























Влияние’изменений негеометрических ’ атрибутов текста


МАСШТАБ РАСШИРЕНИЯ ЛИТЕРЫ=1 )

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


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















МАСШТАБ РАСШИРЕНИЯ ЛИТЕРЫ= МЕЖЛИТЕРНЫЙ ПРОСВЕТА,3

Примечания;

  1. В показанных примерах значения геометрических атрибутов приняты по умолчанию, а точность представления текста ДО ШТРИХА.

  2. Измененные атрибуты подчеркнуты

Черт.

5



Влияние комбинированных изменений атрибутов текста

М АСШТАБ РАСШИРЕНИЯ ЛИТЕРЫ»! МЕЖЛИТЕРНЫЙ ПРОСВЕТА ВЫСОТА ЛИТЕРЫ=!,414

ВЕРТИКАЛЬ ГИТЕРЫ=(-1,1)

НАПРАВЛЕНИЕ ТЕКСТА—ВПРАВО ВЫРАВНИВАНИЕ ТЕКСТА- (ОБЫЧНОЕ, ОБЫЧНОЕ!

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

МЕЖЛИТЕРНЫЙ ПРОСВЕТ»—0,3

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

ВЕРТИКАЛЬ ЛИТЕРЫ=(0,1)

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

ВЫРАВНИВАНИЕ ТЕКСТА-(ОБЫЧНОЕ, ОБЫЧНОЕ)

МАСШТАБ РАСШИРЕНИЯ ЛИТЕРЫ»! МЕЖЛИТЕРНЫЙ ПРОСВЕТА ВЫСОТА ЛИТЕРЫ»!

ВЕРТИКАЛЬ ЛИТЕРЫ=(-1,0)

НАПРАВЛЕНИЕ ТЕКСТА-ВПРАВО ВЫРАВНИВАНИЕ ТЕКСТА-(ПОСЕРЕДИ-

М

НЕ, ПО 8ЄРХУ)


АСШТАБ РАСШИРЕНИЯ ЛИТЕРЫ»! МЕЖЛИТЕРНЫЙ ПРОСВЕТА ВЫСОТА ЛИТЕРЫ»!

ВЕРТИКАЛЬ ЛИТЕРЫ=(О.!} НАПРАВЛЕНИЕ ТЕКСТА-ВНИЗ

В

Примечания:

1. Подчеркнуты на черт. 4 й 5.

ЫРАВНИВАНИЕ ТЕКСТА=(ЛЕВОЕ, ПОСЕРЕДИНЕ)

и зменения относительно верхнего примера, показанного

2. В последнем примере показаны средняя линия и все прямоугольники литерВлияние нескольких изменений в атрибутах текста

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

ВЫРАВНИВАНИЕ ТЕКСТА-(ЦЕНТРАЛЬНОЕ, ПО НИЗУ)



Примечание

Подчеркнуты изменения относительно верхнего примера черт. 4 и 5

Черт. 7

Влияние различных преобразований нормирования на текст точности до ШТРИХА


Вид текста после преобразования нормирования с равными коэффициентами по осям X и У


Вид текста после преобразования нормирования с коэффициентом маштабирования по оси X в 3 раза большим, чем по оси У



















Черт. 8

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

  1. Б.2. Представлением полигональной области на графиче­ской станции управляет ИНДЕКС ПОЛИГОНАЛЬНОЙ ОБЛАС­ТИ или набор индивидуально задаваемых атрибутов полиго­нальной области (ВИД ЗАПОЛНЕНИЯ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ, ИНДЕКС ЗАПОЛНИТЕЛЯ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ и ИНДЕКС ЦВЕТА ПОЛИГОНАЛЬНОЙ ОБЛАСТИ или некоторая комбинация этих двух способов в зависимости от значений ФВА для вида заполнения индекса заполнителя и индек­са цвета полигональной области.

ИНДЕКС ПОЛИГОНАЛЬНОЙ ОБЛАСТИ является указате­лем в таблице связок полигональной области, каждая запись ко­торой содержит значения вида заполнения, индекса заполнителя и индекса цвета полигональной области.

  1. Вид заполнения полигональной области используется для определения способа заполнения области. Он может иметь следующие значения:

ПУСТО — область не заполняется, а только вычерчивается граничная ломаная цветом, задаваемым индексом цвета поли­гональной области, который выбран либо через связку полиго­нальной области, или индивидуально в зависимости от значения соответствующего ФВА. Тип линии и толщина линии зависят от реализации.

ЗАЛИВКА ЦВЕТОМ — внутренность многоугольника запол­няется одним цветом, задаваемым индексом цвета полигональной; области, который выбран либо через связку полигональной облас­ти, либо индивидуально в зависимости от значения соответствую­щего ФВА.

ПО ШАБЛОНУ — внутренность многоугольника заполняется с использованием индекса заполнителя полигональной области, который выбран через связку полигональной области, или инди­видуально в зависимости от значения соответствующего ФВА. В этом контексте индекс вида заполнителя может рассматриваться как индекс шаблона.

ШТРИХОВКА — внутренность многоугольника заполняется с использованием индекса цвета полигональной области и индек­са заполнителя полигональной области, которые выбраны через связку полигональной области или индивидуально в зависимости от значения соответствующего ФВА. Индекс заполнителя поли­гональной области используется как показатель в списке видов штриховки; в этом случае он иногда рассматривается как индекс штриховки.

  1. Для вида заполнения ПО ШАБЛОНУ шаблон опреде­ляется представлением шаблона, которое задается матрицей индексов цвета размером (NXXNY), являющихся указателями в таблице цвета. Размер и позиция начала шаблона определяются полем шаблона. Поле шаблона, представляющее собой паралле­лограмм, задается атрибутами ГОРИЗОНТАЛЬ ШАБЛОНА и ВЕРТИКАЛЬ ШАБЛОНА, определяемыми относительно атри­бута ТОЧКА ПРИВЯЗКИ ШАБЛОНА. Концептуально поле шаб­лона подразделяется на сетку ячеек размером (NXXNY). Матри­ца индексов цвета связывается с ячейками следующим образом: элемент (1, NY) связывается с ячейкой, один из углов которой определяется значением атрибута ТОЧКА ПРИВЯЗКИ ШАБЛО­НА; элементы с возрастающим первым индексом связываются с последовательными ячейками в направлении, указываемом ат­рибутом ГОРИЗОНТАЛЬ ШАБЛОНА; элементы с убывающим вторым индексом связываются с последовательными ячейками в направлении, указываемом атрибутом ВЕРТИКАЛЬ ШАБЛОНА. Атрибуты, определяющие поле шаблона, подвергаются всем преобразованиям, которые формируют преобразованное поле шаблона. Шаблон отражается на многоугольник путем много­кратного повторения преобразованного поля шаблона в направ­лениях, параллельных его сторонам, до заполнения всего много­угольника.

  2. Отображение преобразованных ячеек шаблона на пиксели растрового дисплея выполняется по следующим прави­лам:

если центр пикселя лежит внутри параллелограмма, опреде­ляемого ячейкой, то ему приписывается цвет этой ячейки;

пикселю присваивается цвет ячейки, соответствующий цент­ру пикселя.

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

  1. Для вида заполнения ШТРИХОВКА индекс штриховки выбирается из видов штриховки. Виды штриховки больше нуля резервируются для будущей стандартизации; виды штриховки меньше нуля зависят от станции.

Будет ли штриховка подвергаться преобразованиям или нет зависит от станции.

  1. Вид заполнения ПУСТО должен быть реализован на каждой станции вывода или ввода-вывода. Реализация остальных видов заполнения ЗАЛИВКА ЦВЕТОМ, ПО ШАБЛОНУ и ШТРИ­ХОВКА зависит от конкретной станции.

  2. Атрибуты примитива МАТРИЦА ЯЧЕЕК

2А.ТЛ. Матрица ячеек не имеет атрибутов, кроме ИДЕНТИ­ФИКАТОРА УКАЗАНИЯ. При этом матрица индексов цвета, которые являются указателями в таблице цвета, является частью задания матрицы ячеек.

  1. Атрибуты примитива ОБОБЩЕННЫЙ ПРИМИТИВ ВЫ­ВОДА

  1. Обобщенный примитив вывода (ОПВ) не имеет явно задаваемых метрических атрибутов. Подобная информация мо­жет быть задана в блоке данных ОПВ. Представлением ОПВ на станции управляют наборы атрибутов ломаной, полимаркера, • текста, полигональной области, но это представление может и не зависеть ни от одного из этих наборов. Будут ли при этом исполь­зованы индексы связок или индивидуально задаваемые атрибуты, зависит от значений соответствующих ФВА. Наборы атрибутов, наиболее подходящие для заданной функции ОПВ, включаются в состав ОПВ как часть его задания и записываются в таблицу опи­сания станции. Например, если ОПВ является матрицей ячеек, то матрица индексов цвета должна присутствовать в блоке дан­ных этого ОПВ.

  1. Цвет

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

  2. Размер таблицы цвета зависит от станции, но записи с номерами ноль и единица обязательны. Запись с номером ноль соответствует цвету фона. Цвет фона — это цвет поверхности ви­зуализации после того, как она очищена. Запись с номером еди­ница является цветом накладываемого изображения, принимае­мым по умолчанию, а записи с номерами больше единицы, отно­сятся к альтернативным цветам накладываемого изображения. Записи в таблице могут быть установлены функцией ЗАДАТЬ ПРЕДСТАВЛЕНИЕ ЦВЕТА, которая определяет цвет как ком­бинацию интенсивностей красного, зеленого и синего компонен­тов. Заданный цвет преобразуется в ближайший доступный цвет, поддерживаемый станцией. На некоторых станциях может ока­заться невозможным изменить цвет фона, в этом случае преобра­зование заданного цвета в ближайший доступный цвет для фо­на может отличаться от аналогичного преобразования того же цвета, но когда он является цветом накладываемого изображения.

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