Примечание - Такое положение в определении профиля ФСВТ является необязательным.
Таблица 6 - Параметр ФСВТ "выделение"
Параметр | Значение |
Выделение ОО | Каждый экземпляр имеет тип "печатная строка" АСН.1 |
18.3 Третичный параметр ФСВТ
Необязательный параметр ФСВТ "назначение шрифта" приведен в таблице 7. Могут быть определены несколько экземпляров этого третичного параметра ФСВТ. Его появления управляются параметрами "возможность репертуара" и "возможность шрифта". Значение параметра "возможность репертуара" подразумевает список репертуаров, как определено в 18.1 и 18.2.4. Каждому из этих репертуаров поставлен в соответствие экземпляр параметра "возможность шрифта", как определено в таблице 4. Каждый такой экземпляр включает в себя упорядоченный список значений параметра ФСВТ "назначение шрифта", в котором шрифты идентифицируются своим положением в этом списке. Не всем включенным элементам этого списка должны даваться явные назначения. Сами эти списки находятся в списке, упорядоченном как список назначений репертуаров. Как конкретные элементы списка, так и полные списки могут заменяться "нулевым" значением, которое играет роль метки-заполнителя, если не требуется явное значение.
Таблица 7 - Параметр ФСВТ "назначение шрифта"
Параметр | Значение |
Назначение шрифта | Каждый экземпляр соответствует одному назначению шрифта; экземпляры образуют упорядоченный список, как определено в 18.2 (умолчание = "зависит от устройства" для случая, когда параметр "возможность шрифтов" = 1) |
Значение для экземпляра параметра ФСВТ "назначение шрифта" состоит из двух компонент; они не рассматриваются как различные параметры ФСВТ и не показаны на рисунке 7. Этими компонентами являются "тип назначения шрифта" и "значение назначения шрифта".
Компонент "тип назначения шрифта" определяет способ, используемый для обозначения шрифта, и форму компонента "значение назначения шрифта". Этот компонент является необязательным и, если присутствует, имеет тип "идентификатор объекта" АСН.1.
Значение компонента "тип назначения шрифта" применяется к любым последующим экземплярам компонента "значение назначения шрифта", не имеющих явного компонента "тип назначения шрифта" (это исключает необходимость дублирования этого компонента в списках одинакового типа). Это модальное действие прекращается в конце упорядоченного списка экземпляров этого параметра ФСВТ.
В настоящем стандарте не определен стандартный способ обозначения шрифта. Для компонента "тип назначения шрифта" в нем определено единственное значение {vt-b-font-adhoc} (см. С.2), которое позволяет пользователям ВТ предлагать имя шрифта в форме типа "печатная строка" АСН.1. Этот тип используется по умолчанию, если отсутствует явный тип.
Примечание - Для значения по умолчанию "зависит от устройства" в устройстве может использоваться любой доступный шрифт (см. В.14).
19 Операции над объектами отображения
19.1 Операции адресации
19.1.1 Операции адресации с простым указателем отображения
19.1.1.1 Неявная адресация с простым указателем отображения.
При записи значения в первичный атрибут элемента массива, значение координаты х простого указателя отображения примитива автоматически увеличивается на 1. Этот механизм автоматически блокируется, когда значение координаты х достигнет значения, на единицу превышающего значение границы размерности X. В 19.2 определены ограничения на использование операций обновления в том случае, когда указатель отображения достигает такого значения. Этот механизм может быть возобновлен явным установлением координаты х указателя отображения в меньшее значение. Этот механизм никогда не блокируется, если размерность Х неограничена.
19.1.1.2 Явная адресация с простым указателем отображения
Операции предоставляются для явного изменения значения указателя отображения примитива.
Операция явной адресации является неверной, если какой-либо из ее явных или неявных аргументов противоречит ограничениям, задаваемым значениями "d-граница", "d-адресация" и "d-абсолютная" параметров ФСВТ для каждой используемой размерности d (d = х, у или z), см. 18.2.3.
Использование этих операций не может повлиять на значение содержимого ранее существовавшего элемента массива и образовать новые элементы массива. Обновление элемента массива не инициирует автоматически никакую из этих операций явной адресации.
19.1.1.2.1 Простые операции - эти операции позволяют изменять значение указателя отображения на любое значение, допустимое для всех заданных размерностей. Они не зависят от границ окна обновления.
a) АБСОЛЮТНЫЙ УКАЗАТЕЛЬ целевой адрес, где "целевой адрес" имеет или
- явное значение указателя отображения (х, у, z), где каждая координата является необязательной, и допустимо, только если определена соответствующая размерность; если координата отсутствует, то для этой размерности сохраняется текущее значение, или
- одно из следующих специальных значений, определенных в 19.1.1.4: "начало", "начало-у", "начало-х", "конец", "конец-у", "конец- х".
Операция устанавливает указатель отображения в значение "целевой адрес".
b) ОТНОСИТЕЛЬНЫЙ УКАЗАТЕЛЬ p, q, r,
где p, q, r - целые со знаком, задающие требуемое изменение координат х, у и z указателя отображения; каждое из этих значений является необязательным (умолчание = 0, не изменяет) и допустимо, только если допустима соответствующая размерность. Операция устанавливает указатель отображения следующим образом:
х:=х+p; y:=y+q; z'=z+r.
19.1.1.2.2 Макрооперации - следующие макрооперации не имеют аргументов и могут быть использованы только в форме:
1) СЛЕДУЮЩИЙ МАССИВ X (y:=y+1; );
2) ПРЕДЫДУЩИЙ МАССИВ X (у:= у - 1; );
3) СЛЕДУЮЩИЙ МАССИВ Y (z:=z+1; ; );
4) ПРЕДЫДУЩИЙ МАССИВ Y {z:=z-1; ; ),
где - нижние границы окна обновления для обозначения массива Х и массива Y назначения соответственно.
Примечание - Чтобы обеспечить правильную операцию, для макроопераций обязательно должен соблюдаться порядок слева направо, т.к. является функцией от y и z, a - от z (см. 19.1.1.3).
19.1.1.3 Окно обновления
Каждая заданная размерность ОО имеет соответствующий параметр ФСВТ "d-окно" (см. 18.2.3), который позволяет пользователям ВТ налагать ограничения на обновление помимо тех, которые зависят от границ размерностей или возможностей перемещения указателя отображения. Каждый из массивов размерности в различных значениях координат размерностей более высокого порядка имеет независимое окно обновления, которое может перемещаться во время операций обновления ОО. В В.3 обсуждается использование окна обновления в реализациях.
Окно обновления указывает нижние границы ячеек, которые могут быть обновлены операциями ТЕКСТ, ПОВТОРИТЬ ТЕКСТ, АТРИБУТ и СТЕРЕТЬ над ОО. Тем не менее, окно обновления не ограничивает верхний предел для операций ТЕКСТ, которые могут привести к перемещению окна обновления для того, чтобы в него попало множество координат с большими значениями. Действие операции ПОВТОРИТЬ ТЕКСТ описано в 19.2.1.2.
Явное значение параметра "размер окна обновления" может быть независимо согласовано для каждой заданной размерности массива (см. В.3).
Для ограниченной размерности параметр "размер окна обновления" может иметь значения, определяемые параметром "d-окно" и границами массива следующим образом:
О =< размер окна обновления =< граница массива для размерности, где значение по умолчанию равно границе массива; для неограниченной размерности не существует верхний предел параметра "размер окна обновления" со значением О по умолчанию.
Для любой размерности нижняя граница окна обновления обозначается как значение С координаты, где
C=МАХ (В-размер окна обновления+1, 1),
где В (верхняя граница окна обновления) - наивысшее значение координаты, в которой операцией ТЕКСТ может быть выполнено обновление. Элемент массива может быть обновлен операцией ТЕКСТ, если его адрес >= С. Если адрес элемента > В, обновление операцией ТЕКСТ приводит к мгновенному перемещению верхних и нижних границ окна обновления. Описание операции ПОВТОРИТЬ ТЕКСТ см. в 19.2.1.2.
Окно обновления не ограничивает значение указателя отображения.
В особом случае ограниченной размерности, для которой размер окна обновления явно или по умолчанию равняется границе размерности, окно обновления всегда позиционируется с нижней границей в координате 1 и с верхней границей в границе размерности таким образом, что все значения размерности находятся внутри окна обновления. Таким образом, термин "внутри границ окна обновления", используемый в различных операциях определений, включает все значения координат от 1 до границы.
В общем случае существует независимая нижняя граница окна обновления для каждого массива X; нижняя граница окна обновления есть функция от значений координат y и z.
Аналогично, нижняя граница окна обновления для массива Y есть функция от значения координаты z.
Операции СТЕРЕТЬ не выполняются вне ранее обновленных элементов массива и, следовательно, не могут привести к перемещению границ окна обновления (см. 19.2.1.4).