Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылочная ссылка утилит Unicode платформы CoreServices

Опции
Развертывание Target:

На этой странице

Спецификация для 'uchr'

Формат ресурса раскладки клавиатуры Unicode

'uchr' формат состоит из раздела информации заголовка и пяти ключевых разделов данных отображения, как показано на рисунке a-1.

Рисунок A-1Overview 'uchr' ресурса image: ../art/resourcelayout.eps

Раздел заголовка скомпилированного 'uchr' ресурс содержит структуру типа UCKeyboardLayout и дополнительная структура типа UCKeyLayoutFeatureInfo. Видьте иллюстрацию этого раздела.

Рисунок A-2'uchr' заголовок ресурса image: ../art/resourceheader.eps

Элементы в разделе заголовка a 'uchr' ресурс

  • формат заголовка ресурса

  • версия данных в этом ресурсе

  • смещение к a UCKeyLayoutFeatureInfo структура, если любой

  • количество UCKeyboardTypeHeader следующие структуры

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

    • первый тип клавиатуры в этой записи

    • последний тип клавиатуры в этой записи

    • смещение к UCKeyModifiersToTableNum структура (требуется)

    • смещение к UCKeyToCharTableIndex структура (требуется)

    • смещение к UCKeyStateRecordsIndex структура (дополнительный, может быть 0, если нет никакой таблицы),

    • смещение к UCKeyStateTerminators структура (дополнительный, может быть 0, если нет никакой таблицы),

    • смещение к UCKeySequenceDataIndex структура (дополнительный, может быть 0, если нет никакой таблицы),

  • формат UCKeyLayoutFeatureInfo структура

  • зарезервированное поле

  • значение типа UniCharCount, указание самой долгой выводимой строки, которая будет произведена этим 'uchr' ресурс

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

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

Рисунок A-3'uchr' комбинация модификатора к ключевому коду к карте числа таблицы символов image: ../art/modifiercombination.eps

Элементы в первом ключевом разделе отображения a 'uchr' ресурс

  • формат UCKeyModifiersToTableNum структура

  • табличное число для комбинаций модификатора, которые являются за пределами диапазона tableNum массив поля; т.е. значение по умолчанию (нейтрализация) табличное число

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

  • n массив индексов в ключевой код к смещениям таблицы символов, содержавшимся в UCKeyToCharTableIndex структура в следующем разделе

  • байты выравнивания (к 4-байтовой границе)

Второй ключевой раздел отображения содержит структуру типа UCKeyToCharTableIndex; список ключевого кода к таблицам символов, каждая из которых отображает код виртуальной клавиши на 16-разрядное UCKeyOutput значение; и байты выравнивания. Могут быть многократные экземпляры этого всего ключевого раздела отображения. Посмотрите рисунок a-4 для иллюстрации этого раздела.

Рисунок A-4'uchr' ключ кодирует к таблицам символов image: ../art/keycode.eps

Элементы во втором ключевом разделе отображения a 'uchr' ресурс

  • формат UCKeyToCharTableIndex структура

  • число кодов виртуальной клавиши поддерживается этим ресурсом

  • количество ключевого кода к таблицам символов

  • массив смещений с начала ресурса к каждому ключевому коду к таблицам символов

  • массив ключевого кода к таблицам символов, содержащим значения типа UCKeyOutput

  • байты выравнивания (к 4-байтовой границе)

Третий ключевой раздел отображения является картой к записям состояния мертвой клавиши. Это содержит структуру типа UCKeyStateRecordsIndex, который является индексом к UCKeyStateRecord структуры; переменное число мертвой клавиши утверждает записи типа UCKeyStateRecord; и байты выравнивания. Могут быть многократные экземпляры этого всего ключевого раздела отображения (или 0; этот раздел не должен присутствовать если нет UCKeyOutput значение относится к записи состояния мертвой клавиши). Посмотрите рисунок a-5 для иллюстрации этого раздела.

Рисунок A-5'uchr' мертвая клавиша утверждает записи image: ../art/deadkeyrecords.eps

Элементы в третьем ключевом разделе отображения a 'uchr' ресурс

  • формат UCKeyStateRecordsIndex структура

  • количество мертвой клавиши утверждает записи для следования

  • массив смещений с начала ресурса к каждому из UCKeyStateRecord значения после

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

  • значение типа UCKeyCharSeq указание символа (ов), произведенного входным кодом клавиши, когда никакое состояние мертвой клавиши не в настоящее время в действительности

  • значение, указывающее состояние мертвой клавиши, произведенное входным кодом клавиши, когда никакое состояние мертвой клавиши не в настоящее время в действительности

  • количество элементов в stateEntryData массив поля

  • формат данных в stateEntryData массив поля

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

  • байты выравнивания (к 4-байтовой границе)

Четвертый ключевой раздел отображения содержит структуру типа UCKeyStateTerminators и байты выравнивания. Это - дополнительный список разделителей по умолчанию (символы или последовательности) для каждого состояния; если эта таблица не присутствует или не расширяется достаточно далеко для имения разделителя для состояния, ничто не выводится, когда завершается состояние. Там может быть многократным (или 0) экземпляры этого всего ключевого раздела отображения. Посмотрите рисунок a-6 для иллюстрации этого раздела.

Рисунок A-6'uchr' мертвая клавиша по умолчанию утверждает разделители image: ../art/deadkeyterminators.eps

Элементы в четвертом ключевом разделе отображения a 'uchr' ресурс

  • формат UCKeyStateTerminators структура

  • количество мертвой клавиши по умолчанию утверждает разделители, содержавшиеся в keyStateTerminators массив поля

  • массив мертвой клавиши по умолчанию утверждает разделители, описанные как значения типа UCKeyCharSeq

  • байты выравнивания (к 4-байтовой границе)

Пятый ключевой раздел отображения ресурса является дополнительным списком последовательностей символов; это содержит структуру типа UCKeySequenceDataIndex и последовательности символов Unicode. Это разрешает единственному нажатию клавиши генерировать последовательность символов или генерировать отдельный символ вне диапазона, который может быть представлен непосредственно a UCKeyOutput или UCKeyCharSeq значение. Там может быть многократным (или 0) экземпляры этого всего ключевого раздела отображения. Посмотрите рисунок a-7 для иллюстрации этого раздела.

Рисунок A-7'uchr' последовательности клавиши символа image: ../art/charactersequences.eps

Элементы в пятом ключевом разделе отображения a 'uchr' ресурс

  • формат UCKeySequenceDataIndex структура

  • количество последовательностей символов Unicode, следующих UCKeySequenceDataIndex структура

  • массив смещений с начала UCKeySequenceDataIndex структура к последовательностям символов Unicode, следующим за ним

  • массив последовательностей символов Unicode

  • байты выравнивания (к 4-байтовой границе)