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

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

Разработчик

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

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

На этой странице
Язык:

Ссылка утилит Unicode

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

Углерод полностью поддерживает Утилиты Unicode.

Функции

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

    Объявление

    Swift

    func UCKeyTranslate(_ keyLayoutPtr: UnsafePointer<UCKeyboardLayout>, _ virtualKeyCode: UInt16, _ keyAction: UInt16, _ modifierKeyState: UInt32, _ keyboardType: UInt32, _ keyTranslateOptions: OptionBits, _ deadKeyState: UnsafeMutablePointer<UInt32>, _ maxStringLength: UniCharCount, _ actualStringLength: UnsafeMutablePointer<UniCharCount>, _ unicodeString: UnsafeMutablePointer<UniChar>) -> OSStatus

    Objective C

    OSStatus UCKeyTranslate ( const UCKeyboardLayout *keyLayoutPtr, UInt16 virtualKeyCode, UInt16 keyAction, UInt32 modifierKeyState, UInt32 keyboardType, OptionBits keyTranslateOptions, UInt32 *deadKeyState, UniCharCount maxStringLength, UniCharCount *actualStringLength, UniChar unicodeString[] );

    Параметры

    keyLayoutPtr

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

    virtualKeyCode

    16-разрядное целое число без знака. Передайте значение, указывающее код виртуальной клавиши, который должен быть переведен. Для клавиатур ADB коды виртуальной клавиши находятся в диапазоне от 0 до 127.

    keyAction

    16-разрядное целое число без знака. Передайте значение, указывающее текущее ключевое действие. Посмотрите Ключевые Действия для описаний возможных значений.

    modifierKeyState

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

    • modifierKeyState = ((EventRecord.modifiers) >> 8) & 0xFF;
    keyboardType

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

    keyTranslateOptions

    Немного маски опций для управления UCKeyTranslate функция. Посмотрите Ключевой Флаг Опций Перевода и Ключевую Маску Опций Перевода для описаний возможных значений.

    deadKeyState

    Указатель на 32-разрядное значение без знака, инициализированное для обнуления. UCKeyTranslate функционируйте использует это значение, чтобы хранить частную информацию о текущем состоянии мертвой клавиши.

    maxStringLength

    Значение типа UniCharCount. Передайте число 16-разрядных символов Unicode, содержащихся в буфере, переданном в unicodeString параметр. Это может быть значением до 255, несмотря на то, что было бы редко получить больше чем 4 символа.

    actualStringLength

    Указатель на значение типа UniCharCount. По возврату это значение содержит фактическое число символов Unicode, помещенных в буфер, переданный в unicodeString параметр.

    unicodeString

    Массив значений типа UniChar. Передайте указатель на буфер, чей размерный указан в maxStringLength параметр. По возврату буфер содержит строку символов Unicode, следующих из обрабатываемого кода виртуальной клавиши. Число символов в этой строке меньше чем или равно значению, указанному в maxStringLength параметр.

    Возвращаемое значение

    Код результата. Если Вы передаете NULL в keyLayoutPtr параметр, UCKeyTranslate возвраты paramErr. UCKeyTranslate функционируйте также возвращается paramErr для недопустимого 'uchr'формат ресурса или для недопустимого virtualKeyCode или keyAction значения, а также для NULL указатели на выходные значения. Результат kUCOutputBufferTooSmall (-25340) возвращается для длины выводимой строки, больше, чем maxStringLength.

    Обсуждение

    UCKeyTranslate функционируйте использует данные в раскладке клавиатуры Unicode ('uchr') ресурс для отображения комбинации кода виртуальной клавиши и модифицирующей клавиши утверждает к последовательности до 255 символов Unicode. Этот процесс отображения зависит от и может обновить, состояние мертвой клавиши; UCKeyTranslate функционируйте и 'uchr' поддержка ресурса многократные мертвые клавиши. Отображение может также зависеть от определенного типа ключевого действия и типа используемой физической клавиатуры. UCKeyTranslate функционируйте поддерживает клавиатуры не-ADB, расширяемый набор модифицирующих клавиш и другие возможные расширения.

    В большинстве случаев Ваше приложение не должно вызывать UCKeyTranslate функция, так как менеджер Text Services автоматически вызывает его от Вашего имени для обработки ввода от раскладки клавиатуры Unicode. Однако могут быть некоторые обстоятельства, при которых Ваше приложение должно вызвать UCKeyTranslate. Например, Ваше приложение, возможно, должно определить, какой символ (ы) был бы сгенерирован для кода виртуальной клавиши в текущем ключевом вниз событии, если бы использовался различный модификатор-и-сочетание-клавиш.

    Базовый процесс тот, который UCKeyTranslate использование 'uchr' ресурс для перевода кодов виртуальной клавиши в символы Unicode детализирован в следующих шагах:

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

    2. Табличное число отображается на смещение в a UCKeyToCharTableIndex структура, относящаяся к фактическому ключевому коду к таблицам символов.

    3. Ключевой код к таблицам символов отображает код виртуальной клавиши на UCKeyOutput значения, для которых существует две возможности:

      • Если биты 15 и 14 из UCKeyOutput значение равняется 01, UCKeyOutput значение является индексом в смещения, содержавшиеся в a UCKeyStateRecordsIndex структура. Если это происходит, процесс отображения для кода виртуальной клавиши продолжает к следующему шагу

      • Иначе, UCKeyOutput значение производит один или несколько символов Unicode, или непосредственно или через ссылку на a UCKeySequenceDataIndex структура. Это заканчивает процесс отображения для данного кода виртуальной клавиши.

    4. Смещения в a UCKeyStateRecordsIndex структура относится к UCKeyStateRecord записи состояния мертвой клавиши.

    5. Состояние мертвой клавиши записывает карту от текущего состояния мертвой клавиши до одного или более символов Unicode, которые будут выведены или следующее состояние мертвой клавиши (если таковые имеются). Если нет никакой записи записи состояния мертвой клавиши для кода клавиши, с разделителем состояния по умолчанию, как указано в ресурсе, процесс отображения для данного кода виртуальной клавиши может закончиться записью состояния мертвой клавиши или UCKeyStateTerminators таблица.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает локаль инкапсуляции объекта и информацию о сопоставлении, в целях выполнения сравнения строк Unicode.

    Объявление

    Swift

    func UCCreateCollator(_ locale: Locale!, _ opVariant: LocaleOperationVariant, _ options: UCCollateOptions, _ collatorRef: UnsafeMutablePointer<Unmanaged<Collator>?>) -> OSStatus

    Objective C

    OSStatus UCCreateCollator ( LocaleRef locale, LocaleOperationVariant opVariant, UCCollateOptions options, CollatorRef *collatorRef );

    Параметры

    locale

    Допустимое LocaleRef представление определенной локали или передачи NULL запрашивать системную локаль по умолчанию. Можно предоставить значение kUnicodeCollationClass в opClass параметр функций Утилит Локалей LocaleOperationCountLocales и LocaleOperationGetLocales получить локали, доступные для сопоставления на существующей системе.

    opVariant

    A LocaleOperationVariant значение, идентифицирующее вариант сопоставления в локали, указанной в locale параметр. Можно также передать 0 для запроса варианта сопоставления по умолчанию на любую локаль. Для получения вариантов специфичного для локали сопоставления, которые в настоящее время доступны можно предоставить значение kUnicodeCollationClass в opClass параметр функций Утилит Локалей LocaleOperationCountLocales и LocaleOperationGetLocales.

    options

    A UCCollateOptions значение, указывающее любые опции сопоставления, которые Вы хотите использовать для сравнения строк.

    collatorRef

    Указатель на значение типа CollatorRef. По возврату, CollatorRef значение содержит действительную ссылку к новому объекту сортировально-подборочной машины.

    Возвращаемое значение

    Код результата. Функция может возвратить ошибки памяти и paramErr, например, если collatorRef параметр NULL. Это может также возвратить ошибки ресурса в Mac OS 9 и CarbonLib.

    Обсуждение

    Для выполнения сравнения строк Unicode необходимо предоставить локаль и спецификации сопоставления к функции сопоставления такой как UCCompareText. Вы предоставляете эту информацию посредством объекта сортировально-подборочной машины, создаваемого через UCCreateCollator функция. По окончании с объектом сортировально-подборочной машины, Вы избавляетесь от него с помощью функции UCDisposeCollator.

    Специальные замечания

    Объект сортировально-подборочной машины выделяется в текущей «куче». Эта функция может переместить память.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Использует специфичную для локали информацию о сопоставлении для сравнения строк Unicode.

    Объявление

    Swift

    func UCCompareText(_ collatorRef: Collator!, _ text1Ptr: UnsafePointer<UniChar>, _ text1Length: UniCharCount, _ text2Ptr: UnsafePointer<UniChar>, _ text2Length: UniCharCount, _ equivalent: UnsafeMutablePointer<Boolean>, _ order: UnsafeMutablePointer<Int32>) -> OSStatus

    Objective C

    OSStatus UCCompareText ( CollatorRef collatorRef, const UniChar *text1Ptr, UniCharCount text1Length, const UniChar *text2Ptr, UniCharCount text2Length, Boolean *equivalent, SInt32 *order );

    Параметры

    collatorRef

    Действительная ссылка к объекту сортировально-подборочной машины; NULL не позволяется. Можно использовать функцию UCCreateCollator получить ссылку сортировально-подборочной машины.

    text1Ptr

    Указатель на первую строку Unicode (a UniChar массив) для сравнения.

    text1Length

    Общее количество символов Unicode в первой сравниваемой строке.

    text2Ptr

    Указатель на второй Unicode представляет в виде строки для сравнения.

    text2Length

    Общее количество символов Unicode во второй сравниваемой строке.

    equivalent

    Указатель на a Boolean значение или NULL. По возврату, UCCompareText производит значение true если строки эквивалентны для опций, Вы указали в объекте сортировально-подборочной машины. Если Вы хотите просто сортировать список строк в порядке, с помощью указанных опций, можно передать NULL для equivalent параметр и только использует order результат параметра. В этом случае все доступные критерии сравнения используются для помещения строк в детерминированный порядок, даже если их считают «эквивалентными» для опций, которые Вы указали. Обратите внимание на то, что можно установить любого equivalent или order параметры к NULL, но не оба.

    order

    Указатель на 32-разрядное целочисленное значение со знаком или передача NULL. Если Вы хотите просто протестировать строки на эквивалентность, с помощью указанных опций (который может быть намного быстрее, чем определение упорядочивания), можно передать NULL для order параметр и только использует equivalent результат параметра. (Обратите внимание на то, что любой equivalent или order параметры могут быть NULL, но не оба.

    Возвращаемое значение

    Код результата. Функция может возвратиться paramErr (например, если collatorRef, text1Ptr, или text2Ptr NULL.

    Обсуждение

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

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

    • определите относительное упорядочивание двух строк

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

    Можно также вызвать UCCompareText функционируйте многократно для сравнения различных строк с помощью того же объекта сортировально-подборочной машины. Если Вы хотите сравнить те же строки несколько раз, сортируя список строк, может быть более эффективно для Вас получить ключ сопоставления для каждой строки и затем сравнить ключи сопоставления. Для больше на сравнении с помощью ключей сопоставления, посмотрите функции UCGetCollationKey и UCCompareCollationKeys.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Использует специфичную для локали информацию о сопоставлении для генерации ключа сопоставления для строки Unicode.

    Объявление

    Swift

    func UCGetCollationKey(_ collatorRef: Collator!, _ textPtr: UnsafePointer<UniChar>, _ textLength: UniCharCount, _ maxKeySize: ItemCount, _ actualKeySize: UnsafeMutablePointer<ItemCount>, _ collationKey: UnsafeMutablePointer<UCCollationValue>) -> OSStatus

    Objective C

    OSStatus UCGetCollationKey ( CollatorRef collatorRef, const UniChar *textPtr, UniCharCount textLength, ItemCount maxKeySize, ItemCount *actualKeySize, UCCollationValue collationKey[] );

    Параметры

    collatorRef

    Действительная ссылка к объекту сортировально-подборочной машины; NULL не позволяется. Можно использовать функцию UCCreateCollator получить ссылку сортировально-подборочной машины.

    textPtr

    Указатель на строку Unicode (a UniChar массив), для которого можно генерировать ключ сопоставления.

    textLength

    Общее количество символов Unicode в строке, на которую ссылаются textPtr параметр.

    maxKeySize

    ItemCount значение, указывающее длину UCCollationValue массив передал в collationKey параметр. Эта размерность должна обычно быть, по крайней мере, 5*textLength, поскольку длина байта ключа сопоставления обычно является больше чем 16 раз числом символов Unicode в строке.

    actualKeySize

    По возврату, фактической длине UCCollationValue массив возвратился в collationKey параметр.

    collationKey

    Массив UCCollationValue значения. По возврату массив содержит новый ключ сопоставления. Ключ сопоставления состоит из последовательности основных весов для всех текстовых элементов сопоставления в строке, сопровождаемой разделителем и последовательностью вторичных весов для всех текстовых элементов в строке, и т.д. для нескольких уровней значения. Разделитель обычно 0; однако, 1 используется в качестве разделителя на границе между уровнями, которые являются значительными и уровни, которые незначительны для опций, которые Вы предоставляете в объекте сортировально-подборочной машины.

    Возвращаемое значение

    Код результата. Функция может возвратиться paramErr, например, если параметры collatorRef, textPtr, actualKeySize, или collationKey NULL. Это может также возвратить ошибки памяти. Если maxKeySize является слишком маленьким для ключа сопоставления, функциональных возвратов kUCOutputBufferTooSmall.

    Обсуждение

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

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

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

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

    Специальные замечания

    Эта функция может переместить память.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Ключи сопоставления использования для сравнения строк Unicode.

    Объявление

    Swift

    func UCCompareCollationKeys(_ key1Ptr: UnsafePointer<UCCollationValue>, _ key1Length: ItemCount, _ key2Ptr: UnsafePointer<UCCollationValue>, _ key2Length: ItemCount, _ equivalent: UnsafeMutablePointer<Boolean>, _ order: UnsafeMutablePointer<Int32>) -> OSStatus

    Objective C

    OSStatus UCCompareCollationKeys ( const UCCollationValue *key1Ptr, ItemCount key1Length, const UCCollationValue *key2Ptr, ItemCount key2Length, Boolean *equivalent, SInt32 *order );

    Параметры

    key1Ptr

    Указатель на ключ сопоставления (a UCCollationValue массив) для первой строки, которая выдержит сравнение. Можно получить ключ сопоставления с функцией UCGetCollationKey. Ключ сопоставления, предоставленный в key1Ptr поскольку первая строка должна быть сгенерирована с тем же объектом сортировально-подборочной машины, как это раньше генерировало ключ сопоставления, предоставленный в key2Ptr для второй строки.

    key1Length

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

    key2Ptr

    Указатель на ключ сопоставления (a UCCollationValue массив) для второй строки для сравнения. Можно получить ключ сопоставления с функцией UCGetCollationKey. Ключ сопоставления, предоставленный в key2Ptr поскольку вторая строка должна быть сгенерирована с тем же объектом сортировально-подборочной машины, как это раньше генерировало ключ сопоставления, предоставленный в key1Ptr для первой строки.

    key2Length

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

    equivalent

    Указатель на a Boolean значение или передача NULL. По возврату, UCCompareCollationKeys производит значение true если строки, представленные ключами сопоставления, эквивалентны для опций, Вы указали в объекте сортировально-подборочной машины. Если Вы хотите просто сортировать список строк в порядке, с помощью указанных опций, можно передать NULL для equivalent параметр и только использует order результат параметра. В этом случае все доступные критерии сравнения используются для помещения строк в детерминированный порядок, даже если их считают «эквивалентными» для опций, которые Вы указали. Обратите внимание на то, что можно установить любого equivalent или order параметры к NULL, но не оба.

    order

    Указатель на 32-разрядное целочисленное значение со знаком или передача NULL. Если Вы хотите просто протестировать строки, представленные ключами сопоставления для эквивалентности, с помощью указанных опций (который может быть намного быстрее, чем определение упорядочивания), можно передать NULL для order параметр и только использует equivalent результат параметра. (Обратите внимание на то, что любой equivalent или order параметры могут быть NULL, но не оба.

    Возвращаемое значение

    Код результата. Эта функция может возвратиться paramErr, например, если key1Ptr или key2Ptr NULL.

    Обсуждение

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

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

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

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

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Располагает объект сортировально-подборочной машины.

    Объявление

    Swift

    func UCDisposeCollator(_ collatorRef: UnsafeMutablePointer<Unmanaged<Collator>?>) -> OSStatus

    Objective C

    OSStatus UCDisposeCollator ( CollatorRef *collatorRef );

    Параметры

    collatorRef

    Ссылка на допустимый объект сортировально-подборочной машины. UCDisposeCollator функциональные наборы *collatorRef к NULL.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Для выполнения сравнения строк Unicode необходимо предоставить локаль и спецификации сопоставления к функции сопоставления такой как UCCompareText. Вы предоставляете эту информацию посредством объекта сортировально-подборочной машины, создаваемого через функцию UCCreateCollator. По окончании с объектом сортировально-подборочной машины, необходимо избавиться от него с помощью функции UCDisposeCollator.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Использует системную локаль по умолчанию для сравнения строк Unicode.

    Объявление

    Swift

    func UCCompareTextDefault(_ options: UCCollateOptions, _ text1Ptr: UnsafePointer<UniChar>, _ text1Length: UniCharCount, _ text2Ptr: UnsafePointer<UniChar>, _ text2Length: UniCharCount, _ equivalent: UnsafeMutablePointer<Boolean>, _ order: UnsafeMutablePointer<Int32>) -> OSStatus

    Objective C

    OSStatus UCCompareTextDefault ( UCCollateOptions options, const UniChar *text1Ptr, UniCharCount text1Length, const UniChar *text2Ptr, UniCharCount text2Length, Boolean *equivalent, SInt32 *order );

    Параметры

    options

    A UCCollateOptions значение, указывающее любые опции сопоставления для сравнения строк.

    text1Ptr

    Указатель на первую строку Unicode (a UniChar массив) для сравнения.

    text1Length

    Общее количество символов Unicode в первой сравниваемой строке.

    text2Ptr

    Указатель на второй Unicode представляет в виде строки для сравнения.

    text2Length

    Общее количество символов Unicode во второй сравниваемой строке.

    equivalent

    Указатель на a Boolean значение или передача NULL. По возврату, UCCompareTextDefault производит значение true если строки эквивалентны для опций, Вы указали. Если Вы хотите просто сортировать список строк в порядке, с помощью указанных опций, можно передать NULL для equivalent параметр и только использует order результат параметра. В этом случае все доступные критерии сравнения используются для помещения строк в детерминированный порядок, даже если их считают «эквивалентными» для опций, которые Вы указали. Обратите внимание на то, что можно установить любого equivalent или order параметры к NULL, но не оба.

    order

    Указатель на 32-разрядное целочисленное значение со знаком или передача NULL. Если Вы хотите просто протестировать строки на эквивалентность, с помощью указанных опций (который может быть намного быстрее, чем определение упорядочивания), можно передать NULL для order параметр и только использует equivalent результат параметра. (Обратите внимание на то, что любой equivalent или order параметры могут быть NULL, но не оба.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Можно вызвать UCCompareTextDefault функционируйте, когда Вы хотите использовать простую функцию сопоставления, требующую минимальной установки. Эта функция использует порядок сопоставления системного значения по умолчанию (т.е. порядок сопоставления на a LocaleRef из NULL и вариант 0), и это не требует объекта сортировально-подборочной машины или ключей сопоставления.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Использует фиксированный, нечувствительный к локали порядок сравнить строки Unicode.

    Объявление

    Swift

    func UCCompareTextNoLocale(_ options: UCCollateOptions, _ text1Ptr: UnsafePointer<UniChar>, _ text1Length: UniCharCount, _ text2Ptr: UnsafePointer<UniChar>, _ text2Length: UniCharCount, _ equivalent: UnsafeMutablePointer<Boolean>, _ order: UnsafeMutablePointer<Int32>) -> OSStatus

    Objective C

    OSStatus UCCompareTextNoLocale ( UCCollateOptions options, const UniChar *text1Ptr, UniCharCount text1Length, const UniChar *text2Ptr, UniCharCount text2Length, Boolean *equivalent, SInt32 *order );

    Параметры

    options

    A UCCollateOptions значение, указывающее фиксированную схему упорядочивания использовать для сравнения строк. Это значение должно быть ненулевым. Биты 24-31 из UCCollateOptionsValue укажите, который фиксировал схему упорядочивания использовать. В настоящее время существует только схема —kUCCollateTypeHFSExtended. См. Фиксированную Схему Упорядочивания дополнительных подробных данных.

    text1Ptr

    Указатель на первую строку Unicode (a UniChar массив) для сравнения.

    text1Length

    Общее количество символов Unicode в первой сравниваемой строке.

    text2Ptr

    Указатель на второй Unicode представляет в виде строки для сравнения.

    text2Length

    Общее количество символов Unicode во второй сравниваемой строке.

    equivalent

    Указатель на a Boolean значение или передача NULL. По возврату, UCCompareTextNoLocale производит значение true если строки эквивалентны для схемы упорядочивания, Вы указали. Если Вы хотите просто сортировать список строк в порядке, с помощью указанной схемы упорядочивания, можно передать NULL для equivalent параметр и только использует order результат параметра. В этом случае все доступные критерии сравнения используются для помещения строк в детерминированный порядок, даже если их считают «эквивалентными» для указанной схемы упорядочивания. Обратите внимание на то, что можно установить любого equivalent или order параметры к NULL, но не оба.

    order

    Указатель на 32-разрядное целочисленное значение со знаком или передача NULL. Если Вы хотите просто протестировать строки на эквивалентность, с помощью указанной схемы упорядочивания (который может быть намного быстрее, чем определение упорядочивания), можно передать NULL для order параметр и только использует equivalent результат параметра. (Обратите внимание на то, что любой equivalent или order параметры могут быть NULL, но не оба.

    Возвращаемое значение

    Код результата. Эта функция может возвратиться paramErr если Вы передаете недопустимое значение для одного из параметров. Например, если Вы передаете 0 для options paramter, функциональные возвраты paramErr.

    Обсуждение

    Можно вызвать UCCompareTextNoLocale функционируйте, когда Вы хотите выполнить фиксированное, нечувствительное к локали сравнение, которое, как гарантируют, не изменится от одного системного выпуска до следующего. Этот тип сравнения мог использоваться для сортировки строки ключа Unicode в базе данных, например. UCCompareTextNoLocale функция может обеспечить сравнение согласно различным фиксированным схемам упорядочивания (только один поддерживается для Mac OS 8.6 и 9.0). Этот тип сравнения обычно не используется для видимого пользователем упорядочивания, таким образом, схемы упорядочивания не должны соответствовать ожидание пользователя разумного порядка сопоставления.

    UCCompareTextNoLocale функция не требует объекта сортировально-подборочной машины или ключей сопоставления. Другое преимущество UCCompareTextNoLocale на Mac OS 9 то, что он экспортируется от UnicodeUtilitiesCoreLib библиотека, не зависящая от других библиотек (другие функции сравнения, экспортируемые от UnicodeUtilitiesLib, который зависит от LocalesLib и TextCommon).

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает локаль инкапсуляции объекта и информацию о разрыве текста, в целях нахождения границ в тексте Unicode.

    Оператор осуждения

    Используйте CFStringTokenizer (для чувствительного к локали слова, строки, абзаца, и приговорите повреждения), и CFStringGetRangeOfComposedCharactersAtIndex (для кластерных повреждений) вместо этого.

    Объявление

    Objective C

    OSStatus UCCreateTextBreakLocator ( LocaleRef locale, LocaleOperationVariant opVariant, UCTextBreakType breakTypes, TextBreakLocatorRef *breakRef );

    Параметры

    locale

    Допустимое LocaleRef представление определенной локали или передачи NULL запрашивать системную локаль по умолчанию. Можно предоставить значение kUnicodeTextBreakClass в opClass параметр функций Утилит Локалей LocaleOperationCountLocales и LocaleOperationGetLocales получить локали, доступные для нахождения текстовых границ на существующей системе.

    opVariant

    A LocaleOperationVariant значение, идентифицирующее вариант работы разрыва текста в локали, указанной в locale параметр. Можно также передать 0 для запроса варианта разрыва текста по умолчанию на любую локаль. Для получения вариантов специфичных для локали вариантов разрыва текста, которые в настоящее время доступны можно предоставить значение kUnicodeTextBreakClass в opClass параметр функций Утилит Локалей LocaleOperationCountLocales и LocaleOperationGetLocales.

    breakTypes

    A UCTextBreakType значение, указывающее каждый тип текстовой границы, которую должен поддерживать локатор разрыва текста. Вы не должны создавать локатор разрыва текста исключительно для BreakChar введите; это независимо от локали и автоматически поддерживаемое функцией UCFindTextBreak. Если BreakChar единственный тип, для которого Вы вызываете UCCreateTextBreakLocator функция, по возврату breakRef параметр возвращает a NULL значение (без ошибки).

    breakRef

    Указатель на значение типа TextBreakLocatorRef. По возврату, TextBreakLocatorRef значение содержит действительную ссылку к новому объекту локатора разрыва текста.

    Возвращаемое значение

    Код результата. Функция может возвратить ошибки памяти и paramErr (например, если breakRef параметр NULL или если недопустимые биты установлены в breakTypes параметр). Это может также возвратить ошибки ресурса в Mac OS 9 и CarbonLib.

    Обсуждение

    Для нахождения границ в тексте Unicode необходимо предоставить локаль и спецификации разрыва текста к функции UCFindTextBreak. Вы предоставляете эту информацию посредством объекта локатора разрыва текста, создаваемого через UCCreateTextBreakLocator функция. По окончании с объектом локатора разрыва текста, необходимо избавиться от него с помощью функции UCDisposeTextBreakLocator.

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

    • Границы символов (обрабатывающий суррогатные пары как отдельный символ).

    • Границы символьных кластеров. Кластер является группой символов, которые должны быть обработаны как единственный текстовый элемент для редактирования операций, таких как перемещение курсора. Обычно это включает группы, такие как основной символ, сопровождаемый последовательностью комбинированных символов, например, слог Хангула, представленный как последовательность соединения jamo символы или Относящийся к Индии совместимый кластер.

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

    • Потенциальные расположения разрыва строки.

    Специальные замечания

    Эта функция может переместить память.

    Оператор импорта

    Objective C

    @import CoreServices;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.6.

  • Использует специфичную для локали информацию о разрыве текста для нахождения границ в тексте Unicode.

    Оператор осуждения

    Используйте CFStringTokenizer (для чувствительного к локали слова, строки, абзаца, и приговорите повреждения), и CFStringGetRangeOfComposedCharactersAtIndex (для кластерных повреждений) вместо этого.

    Объявление

    Objective C

    OSStatus UCFindTextBreak ( TextBreakLocatorRef breakRef, UCTextBreakType breakType, UCTextBreakOptions options, const UniChar *textPtr, UniCharCount textLength, UniCharArrayOffset startOffset, UniCharArrayOffset *breakOffset );

    Параметры

    breakRef

    Действительная ссылка к объекту локатора разрыва текста. Если тип границы, указанной breakType параметр BreakChar, можно передать NULL. Вы используете функцию UCCreateTextBreakLocator получить ссылку на объект локатора разрыва текста. Если не -NULL, объект локатора разрыва текста должен поддерживать тип границы, указанной в breakType параметр.

    breakType

    Значение типа UCTextBreakType, точно с одним набором битов для указания единственного типа границы, которая будет расположена. Так как поддержка нахождения символьных границ независима от локали и создается в UCFindTextBreak функция, если Вы указываете BreakChar как тип границы, тогда breakRef параметр проигнорирован и может быть NULL.

    options

    A UCTextBreakOptions значение для указания работы UCFindTextBreak функция. Можно использовать опции локатора разрыва текста управлять некоторыми независимыми от расположения аспектами граничного текстом поиска. Обратите внимание на то, что, если Вы не указываете никого UCTextBreakOptions значения, UCFindTextBreak поиски вперед, но предполагает что startOffset значение относится к символу, предшествующему смещению, а не тому при смещении. Это может привести к UCFindTextBreak возврат смещения, которое равно смещению запуска.

    textPtr

    Указатель на начальный символ Unicode представляет в виде строки для поиска.

    textLength

    Общее количество символов Unicode в строке для поиска.

    startOffset

    A UniCharArrayOffset значение то, указывающее смещение, от который UCFindTextBreak должен начать искать следующую текстовую границу типа, указанного в breakType параметр. Если startOffset == 0 тогда kUCTextBreakLeadingEdgeMask должен быть установлен в параметре опций; если startOffset == textLength тогда kUCTextBreakLeadingEdgeMask не должен быть установлен.

    breakOffset

    Указатель на a UniCharArrayOffset значение. По возврату, значение, на которое указывают breakOffset параметр устанавливается на смещение текстовой границы, расположенной UCFindTextBreak. В нормальном использовании (когда точно один из kUCTextBreakLeadingEdgeMask и kUCTextBreakGoBackwardsMask установлены), результат возвратился в breakOffset не равно предоставленному в startOffset параметр, если ошибка не происходит (и функциональный результат отличается noErr). Однако, когда kUCTextBreakLeadingEdgeMask и kUCTextBreakGoBackwardsMask оба установлены или оба очищаются, результат, приведенный в breakOffset может быть равно значению startOffset.

    Возвращаемое значение

    Код результата. Локатор разрыва текста, на который ссылаются breakRef параметр должен поддерживать тип границы, указанной в breakType параметр; иначе, функциональные возвраты kUCTextBreakLocatorMissingType.

    Обсуждение

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

    • Границы символов (обрабатывающий суррогатные пары как отдельный символ).

    • Границы символьных кластеров. Кластер является группой символов, которые должны быть обработаны как единственный текстовый элемент для редактирования операций, таких как перемещение курсора. Обычно это включает группы, такие как основной символ, сопровождаемый последовательностью комбинированных символов, например, слог Хангула, представленный как последовательность соединения jamo символы или Относящийся к Индии совместимый кластер.

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

    • Потенциальные расположения разрыва строки.

    Нахождение границ символов является независимой от локали работой, и поддержка его создается непосредственно в UCFindTextBreak функция. Если это - единственный тип текстовой границы, которой Вы хотите определить местоположение, не необходимо вызвать UCCreateTextBreakLocator и создайте объект локатора разрыва текста.

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

    Оператор импорта

    Objective C

    @import CoreServices;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.6.

  • Располагает объект локатора разрыва текста.

    Оператор осуждения

    Используйте CFStringTokenizer (для чувствительного к локали слова, строки, абзаца, и приговорите повреждения), и CFStringGetRangeOfComposedCharactersAtIndex (для кластерных повреждений) вместо этого.

    Объявление

    Objective C

    OSStatus UCDisposeTextBreakLocator ( TextBreakLocatorRef *breakRef );

    Параметры

    breakRef

    Ссылка на допустимый объект локатора разрыва текста. UCDisposeTextBreakLocator функциональные наборы *breakRef к NULL.

    Возвращаемое значение

    Код результата. Эта функция может возвратиться paramErr, например, если breakRef параметр NULL.

    Обсуждение

    Для нахождения границ в тексте Unicode необходимо предоставить локаль и спецификации разрыва текста к функции UCFindTextBreak. Вы предоставляете эту информацию посредством объекта локатора разрыва текста, создаваемого через функцию UCCreateTextBreakLocator. По окончании с объектом локатора разрыва текста, необходимо избавиться от него с помощью функции UCDisposeTextBreakLocator.

    Оператор импорта

    Objective C

    @import CoreServices;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.6.

Типы данных

  • Относится к непрозрачному объекту, инкапсулирующему локаль и информацию о сопоставлении в целях выполнения сравнения строк Unicode.

    Объявление

    Swift

    typealias CollatorRef = Collator

    Objective C

    typedef struct OpaqueCollatorRef * CollatorRef;

    Обсуждение

    Можно получить a CollatorRef значение от функции UCCreateCollator.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

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

    Объявление

    Swift

    typealias TextBreakLocatorRef = TextBreakLocator

    Objective C

    typedef struct OpaqueTextBreakLocatorRef * TextBreakLocatorRef;

    Обсуждение

    Можно получить a TextBreakLocatorRef значение от функции UCCreateTextBreakLocator.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Указывает ключ сопоставления Unicode.

    Объявление

    Swift

    typealias UCCollationValue = UInt32

    Objective C

    typedef UInt32 UCCollationValue;

    Обсуждение

    Ключи сопоставления состоят из массива UCCollationValue значения. Ключ сопоставления состоит из последовательности основных весов для всех текстовых элементов сопоставления в строке, сопровождаемой разделителем и последовательностью вторичных весов для всех текстовых элементов в строке, и т.д. для нескольких уровней значения. Разделитель обычно 0; однако, 1 используется в качестве разделителя на границе между уровнями, которые являются значительными и уровни, которые незначительны для опций, которые Вы предоставляете в объекте сортировально-подборочной машины. Можно получить ключ сопоставления с функцией UCGetCollationKey.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Предоставляет данные заголовка для a 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeyboardLayout { var keyLayoutHeaderFormat: UInt16 var keyLayoutDataVersion: UInt16 var keyLayoutFeatureInfoOffset: UInt32 var keyboardTypeCount: UInt32 var keyboardTypeList: (UCKeyboardTypeHeader) }

    Objective C

    struct UCKeyboardLayout { UInt16 keyLayoutHeaderFormat; UInt16 keyLayoutDataVersion; ByteOffset keyLayoutFeatureInfoOffset; ItemCount keyboardTypeCount; UCKeyboardTypeHeader keyboardTypeList[1]; }; typedef struct UCKeyboardLayout UCKeyboardLayout;

    Поля

    keyLayoutHeaderFormat

    16-разрядное целое число без знака, идентифицирующее формат структуры. Набор к kUCLayoutHeaderFormat.

    keyLayoutDataVersion

    16-разрядное целое число без знака, идентифицирующее версию данных в ресурсе, в десятичном формате двоичного кода. Например, 0x0100 равнялся бы версии 1.0.

    keyLayoutFeatureInfoOffset

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

    keyboardTypeCount

    32-разрядное целое число без знака, указывающее число UCKeyboardTypeHeader структуры в keyboardTypeList[] массив поля.

    keyboardTypeList

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

    Обсуждение

    Раскладка клавиатуры Unicode ( 'uchr') ресурс содержит данные, необходимые для отображения кодов виртуальной клавиши на коды символов Unicode для данной раскладки клавиатуры. 'uchr' формат состоит из раздела информации заголовка и пяти ключевых разделов данных отображения. UCKeyboardLayout тип используется в 'uchr' заголовок ресурса. Это указывает информацию о версии и данные о формате, смещения к различным подтаблицам и массив UCKeyboardTypeHeader записи.

    Необходимо использовать низкий ASCII (0 - 0x7F) только для имен ресурса KCHR/uchr, и необходимо использовать Unicode в файле Info.plist при указании строк для пользовательского интерфейса (UI).

    Доступность

    Доступный в OS X v10.0 и позже.

  • Указывает диапазон типов физической клавиатуры в a 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeyboardTypeHeader { var keyboardTypeFirst: UInt32 var keyboardTypeLast: UInt32 var keyModifiersToTableNumOffset: UInt32 var keyToCharTableIndexOffset: UInt32 var keyStateRecordsIndexOffset: UInt32 var keyStateTerminatorsOffset: UInt32 var keySequenceDataIndexOffset: UInt32 }

    Objective C

    struct UCKeyboardTypeHeader { UInt32 keyboardTypeFirst; UInt32 keyboardTypeLast; ByteOffset keyModifiersToTableNumOffset; ByteOffset keyToCharTableIndexOffset; ByteOffset keyStateRecordsIndexOffset; ByteOffset keyStateTerminatorsOffset; ByteOffset keySequenceDataIndexOffset; }; typedef struct UCKeyboardTypeHeader UCKeyboardTypeHeader;

    Поля

    keyboardTypeFirst

    32-разрядное целое число без знака, указывающее первый тип клавиатуры в этой записи. Для начальной записи (т.е. записи по умолчанию) в массиве UCKeyboardTypeHeader структуры, необходимо установить это значение в 0. Начальная буква UCKeyboardTypeHeader если тип клавиатуры передал функции, запись используется UCKeyTranslate не соответствует никакую другую запись, т.е. если это не в диапазоне значений, указанных keyboardTypeFirst и keyboardTypeLast для любой записи.

    keyboardTypeLast

    32-разрядное целое число без знака, указывающее последний тип клавиатуры в этой записи. Для начальной записи (т.е. записи по умолчанию) в массиве UCKeyboardTypeHeader структуры, необходимо установить это значение в 0.

    keyModifiersToTableNumOffset

    32-разрядное целое число без знака, обеспечивающее смещение для структуры типа UCKeyModifiersToTableNum. 'uchr' ресурс требует a UCKeyModifiersToTableNum структура, поэтому это поле должно содержать ненулевое значение.

    keyToCharTableIndexOffset

    32-разрядное целое число без знака, обеспечивающее смещение для структуры типа UCKeyToCharTableIndex. 'uchr' ресурс требует a UCKeyToCharTableIndex структура, поэтому это поле должно содержать ненулевое значение.

    keyStateRecordsIndexOffset

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

    keyStateTerminatorsOffset

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

    keySequenceDataIndexOffset

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

    Обсуждение

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

    Доступность

    Доступный в OS X v10.0 и позже.

  • Указывает вывод состояния мертвой клавиши в a 'uchr' ресурс.

    Объявление

    Swift

    typealias UCKeyCharSeq = UInt16

    Objective C

    typedef UInt16 UCKeyCharSeq;

    Обсуждение

    Раскладка клавиатуры Unicode ( 'uchr') ресурс содержит данные, необходимые для отображения кодов виртуальной клавиши на коды символов Unicode для данной раскладки клавиатуры. 'uchr' формат состоит из раздела информации заголовка и пяти ключевых разделов данных отображения. UCKeyCharSeq тип является 16-разрядным значением, используемым в третьем ключевом разделе отображения 'uchr' ресурс для указания вывода состояния мертвой клавиши.

    В частности, мертвая клавиша утверждают запись — структура типа UCKeyStateRecord — использование a UCKeyCharSeq значение для содержания вывода символов, следующего из разрешения данного состояния мертвой клавиши. Можно использовать a UCKeyCharSeq значение в мертвой клавише утверждает запись для представления или индекса последовательности символов Unicode или единственного символа Unicode. UCKeyCharSeq тип подобен типу UCKeyOutput , но самостоятельно не поддерживает индексы в записи состояния мертвой клавиши.

    Интерпретация UCKeyCharSeq зависит от битов 15 и 14.

    Если им 10 лет (т.е. для значений в диапазоне 0x8000–0xBFFF), то биты 0–13 являются индексом в charSequenceOffsets[поле структуры типа UCKeySequenceDataIndex , который содержит смещения к отдельному списку всего ресурса последовательностей символов Unicode. Если a UCKeySequenceDataIndex структура не присутствует в ресурсе, или индекс вне конца списка, тогда все значение (т.е. биты 0–15) является единственным символом Unicode для испускания. Иначе (для значений в диапазоне 0x0000–0x7FFF и 0xC000–0xFFFD), биты 0–15 являются единственным символом Unicode, за исключением того, что значение 0xFFFE–0xFFFF не означает вывода символов (это недопустимые коды Unicode).

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Указывает самую долгую выводимую строку, которая будет произведена током 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeyLayoutFeatureInfo { var keyLayoutFeatureInfoFormat: UInt16 var reserved: UInt16 var maxOutputStringLength: UInt32 }

    Objective C

    struct UCKeyLayoutFeatureInfo { UInt16 keyLayoutFeatureInfoFormat; UInt16 reserved; UniCharCount maxOutputStringLength; }; typedef struct UCKeyLayoutFeatureInfo UCKeyLayoutFeatureInfo;

    Поля

    keyLayoutFeatureInfoFormat

    16-разрядное целое число без знака, идентифицирующее формат UCKeyLayoutFeatureInfo структура. Набор к kUCKeyLayoutFeatureInfoFormat.

    reserved

    Зарезервированный. Набор к 0.

    maxOutputStringLength

    32-разрядное целое число без знака, указывающее самую долгую выводимую строку символов Unicode, которые будут произведены этим 'uchr' ресурс.

    Обсуждение

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

    Доступность

    Доступный в OS X v10.0 и позже.

  • Отображает комбинацию модифицирующей клавиши на определенный ключевой код к числу таблицы символов в a 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeyModifiersToTableNum { var keyModifiersToTableNumFormat: UInt16 var defaultTableNum: UInt16 var modifiersCount: UInt32 var tableNum: (UInt8) }

    Objective C

    struct UCKeyModifiersToTableNum { UInt16 keyModifiersToTableNumFormat; UInt16 defaultTableNum; ItemCount modifiersCount; UInt8 tableNum[1]; }; typedef struct UCKeyModifiersToTableNum UCKeyModifiersToTableNum;

    Поля

    keyModifiersToTableNumFormat

    16-разрядное целое число без знака, идентифицирующее формат UCKeyModifiersToTableNum структура. Набор к kUCKeyModifiersToTableNumFormat.

    defaultTableNum

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

    modifiersCount

    32-разрядное целое число без знака, указывающее диапазон наборов двоичных знаков модификатора, для которых существуют записи в tableNum[] поле.

    tableNum

    Массив 8-разрядных целых чисел без знака, отображающих наборы двоичных знаков модификатора для представления в виде таблицы чисел. Эти значения являются индексами в keyToCharTableOffsets массив в a UCKeyToCharTableIndexструктура; они, в свою очередь, смещения к фактическим таблицам символов «код клавиши к», которые следуют UCKeyToCharTableIndex структура в 'uchr' ресурс.

    Обсуждение

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

    Доступность

    Доступный в OS X v10.0 и позже.

  • Указывает значения в ключевом коде к таблицам символов в a 'uchr' ресурс.

    Объявление

    Swift

    typealias UCKeyOutput = UInt16

    Objective C

    typedef UInt16 UCKeyOutput;

    Обсуждение

    Раскладка клавиатуры Unicode ( 'uchr') ресурс содержит данные, необходимые для отображения кодов виртуальной клавиши на коды символов Unicode для данной раскладки клавиатуры. 'uchr' формат состоит из раздела информации заголовка и пяти ключевых разделов данных отображения. UCKeyOutput тип является 16-разрядным значением, используемым во втором ключевом разделе отображения a 'uchr' ресурс для указания значений в ключевом коде к таблицам символов.

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

    Интерпретация a UCKeyOutput значение зависит от битов 15 и 14.

    Если им 01 год (т.е. для значений в диапазоне 0x4000-0x7FFF), то биты 0-13 являются индексом в keyStateRecordOffsets поле структуры типа UCKeyStateRecordsIndex , который содержит смещения к отдельному списку всего ресурса записей состояния мертвой клавиши.

    Если им 10 лет (т.е. для значений в диапазоне 0x8000-0xBFFF), то биты 0-13 являются индексом в charSequenceOffsets поле структуры типа UCKeySequenceDataIndex , который содержит смещения к отдельному списку всего ресурса последовательностей символов Unicode. Если a UCKeySequenceDataIndex структура не присутствует в ресурсе, или индекс вне конца списка, тогда все значение (т.е. биты 0-15) является единственным символом Unicode для испускания.

    Иначе (для значений в диапазоне 0x0000-0x3FFF и 0xC000-0xFFFD), биты 0-15 являются единственным символом Unicode, за исключением того, что значение 0xFFFE-0xFFFF не означает вывода символов (это недопустимые коды Unicode).

    Большинство единственных символов Unicode, которые, вероятно, будут сгенерированы прямым вводом с клавиатуры, находится в диапазоне 0x0000-0x33FF или 0xE000-0xFFFD, и так покрыто односимвольными случаями выше. Символы вне этого диапазона могут все еще быть сгенерированы прямым вводом с клавиатуры, когда они должны быть представлены как 1 последовательность символов. Пятый ключевой раздел отображения 'uchr' ресурс, представленный UCKeySequenceDataIndex введите, предусматривает эту опцию.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Содержит смещения к списку последовательностей символов для a 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeySequenceDataIndex { var keySequenceDataIndexFormat: UInt16 var charSequenceCount: UInt16 var charSequenceOffsets: (UInt16) }

    Objective C

    struct UCKeySequenceDataIndex { UInt16 keySequenceDataIndexFormat; UInt16 charSequenceCount; UInt16 charSequenceOffsets[1]; }; typedef struct UCKeySequenceDataIndex UCKeySequenceDataIndex;

    Поля

    keySequenceDataIndexFormat

    16-разрядное целое число без знака, идентифицирующее формат UCKeySequenceDataIndex структура. Набор к kUCKeySequenceDataIndexFormat.

    charSequenceCount

    16-разрядное целое число без знака, указывающее число последовательностей символов Unicode, следующих за концом UCKeySequenceDataIndex структура.

    charSequenceOffsets

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

    Обсуждение

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

    UCKeySequenceDataIndex структура содержит смещения к списку последовательностей символов для 'uchr' ресурс. Это разрешает единственному нажатию клавиши генерировать последовательность символов или генерировать отдельный символ вне диапазона, который может быть представлен непосредственно значениями типа UCKeyOutput или UCKeyCharSeq.

    Доступность

    Доступный в OS X v10.0 и позже.

  • Когда текущее состояние завершается данной клавишей символа для a, карты от мертвой клавиши утверждают или к результирующему символу (ам) Unicode или к новому состоянию мертвой клавиши, произведенному 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeyStateEntryRange { var curStateStart: UInt16 var curStateRange: UInt8 var deltaMultiplier: UInt8 var charData: UCKeyCharSeq var nextState: UInt16 }

    Objective C

    struct UCKeyStateEntryRange { UInt16 curStateStart; UInt8 curStateRange; UInt8 deltaMultiplier; UCKeyCharSeq charData; UInt16 nextState; }; typedef struct UCKeyStateEntryRange UCKeyStateEntryRange;

    Поля

    curStateStart

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

    curStateRange

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

    deltaMultiplier

    8-разрядное целое число без знака.

    charData

    Значение типа UCKeyCharSeq. Когда данное состояние мертвой клавиши завершается, это значение основного символа используется для определения фактического символа (ов) Unicode, произведенного.

    nextState

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

    Обсуждение

    UCKeyStateEntryRange тип используется в stateEntryData[] поле структуры типа UCKeyStateRecord. Необходимо использовать UCKeyStateEntryRange формат для сложных (многократных) состояний мертвой клавиши.

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

    Если его значение больше, чем или равно т.е. если текущее состояние мертвой клавиши в допустимом диапазоне состояния мертвой клавиши для данного вводимого символа — curStateStart и меньше чем или равный curStateStart + curStateRange— тогда

    • Если основа charData значение для данного диапазона состояния мертвой клавиши находится в диапазоне допустимых символов Unicode, символ производится, и состояние мертвой клавиши может быть завершено.

    и/или

    • Если основа nextState значение не 0, новое состояние мертвой клавиши производится.

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

    charData += (curState - curStateStart) * deltaMultiplier

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

    nextState += (curState - curStateStart) * deltaMultiplier

    Доступность

    Доступный в OS X v10.0 и позже.

  • Когда то состояние завершается данной клавишей символа для a, карты от мертвой клавиши утверждают к символу (ам) Unicode, произведенному 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeyStateEntryTerminal { var curState: UInt16 var charData: UCKeyCharSeq }

    Objective C

    struct UCKeyStateEntryTerminal { UInt16 curState; UCKeyCharSeq charData; }; typedef struct UCKeyStateEntryTerminal UCKeyStateEntryTerminal;

    Поля

    curState

    16-разрядное целое число без знака, указывающее текущее состояние мертвой клавиши.

    charData

    Значение типа UCKeyCharSeq указание символа (ов) Unicode, произведенного, когда нажата данная клавиша символа.

    Обсуждение

    UCKeyStateEntryTerminal тип используется в stateEntryData[] поле структуры типа UCKeyStateRecord. Необходимо использовать UCKeyStateEntryTerminal формат для простых состояний мертвой клавиши, завершающихся единственным нажатием клавиши, как в раскладке клавиатуры США. Каждая запись отображается от текущего состояния мертвой клавиши до символа (ов) Unicode, произведенного, когда данная клавиша символа нажата, который завершает состояние мертвой клавиши.

    Доступность

    Доступный в OS X v10.0 и позже.

  • Определяет изменения состояния мертвой клавиши в a 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeyStateRecord { var stateZeroCharData: UCKeyCharSeq var stateZeroNextState: UInt16 var stateEntryCount: UInt16 var stateEntryFormat: UInt16 var stateEntryData: (UInt32) }

    Objective C

    struct UCKeyStateRecord { UCKeyCharSeq stateZeroCharData; UInt16 stateZeroNextState; UInt16 stateEntryCount; UInt16 stateEntryFormat; UInt32 stateEntryData[1]; }; typedef struct UCKeyStateRecord UCKeyStateRecord;

    Поля

    stateZeroCharData

    Значение типа UCKeyCharSeq в то время как никакое состояние мертвой клавиши не имеет силу, указание символа (ов) Unicode произвело из данного кода клавиши.

    stateZeroNextState

    Когда никакое предыдущее состояние мертвой клавиши не имеет силу, 16-разрядное целое число без знака, указывающее состояние мертвой клавиши, произвело из данного кода клавиши. Если UCKeyStateRecord структура не инициирует состояние мертвой клавиши (но только обеспечивает разделители для других состояний мертвой клавиши), это будет 0. Ненулевое значение указывает, что получающаяся новая мертвая клавиша утверждает, и относится к записи текущего состояния в stateEntryData[] поле для следующей мертвой клавиши утверждает применяющуюся запись.

    stateEntryCount

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

    stateEntryFormat

    16-разрядное целое число без знака, указывающее формат данных в stateEntryData массив поля. Это должно быть 0 если stateEntryCount поле установлено в 0. В настоящее время доступные значения kUCKeyStateEntryTerminalFormat и kUCKeyStateEntryRangeFormat; посмотрите Ключевые Форматы записи состояния для описаний этих значений.

    stateEntryData

    Массив мертвой клавиши утверждает записи, размер которых зависит от их формата, но которые всегда будут кратным числом 4 байтов. Каждая запись отображается от текущего состояния мертвой клавиши до символа (ов) Unicode, которые заканчиваются, когда данная клавиша символа нажата или к следующему состоянию мертвой клавиши, если таковые имеются. Формат записи указан stateEntryFormat поле, чтобы быть любой тем из типа UCKeyStateEntryTerminal или UCKeyStateEntryRange.

    Обсуждение

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

    Любая комбинация модифицирующей клавиши, инициирующая состояние мертвой клавиши или которая является допустимым разделителем состояния мертвой клавиши, относится к одной из этих записей через UCKeyOutput значения в ключевом коде к таблицам символов. A UCKeyOutput значение может индексировать смещения, содержавшиеся в a UCKeyStateRecordsIndex структура, поочередно относящаяся к фактическим записям состояния мертвой клавиши.

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

    • Если текущее состояние мертвой клавиши является нулем (т.е. нет никаких мертвых клавиш в действительности), значение в stateZeroCharData выводится и состояние установлено в значение в stateZeroNextState (это может использоваться для инициирования состояния мертвой клавиши).

    • Если текущее состояние мертвой клавиши является ненулевым и существует запись для состояния в stateEntryData, тогда соответствующее значение в stateEntryData.charData выводится. Следующее состояние тогда установлено в любого a kUCKeyStateEntryTerminalFormat или a kUCKeyStateEntryRangeFormat значение; в любом случае, если следующее состояние мертвой клавиши 0, это реализует допустимый разделитель состояния мертвой клавиши.

    • Если текущее состояние мертвой клавиши является ненулевым, и нет никакой записи для состояния в stateEntryData, разделитель состояния по умолчанию выводится от 'uchr' ресурс UCKeyStateTerminators таблица для текущего состояния (или ничто не может быть выведено, если существует нет UCKeyStateTerminators таблица или это не имеют никакой записи для текущего состояния). Тогда значение в stateZeroCharData выводится, и состояние установлено в значение в stateZeroNextState.

    Доступность

    Доступный в OS X v10.0 и позже.

  • Обеспечивает количество и смещает к, записи состояния мертвой клавиши в a 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeyStateRecordsIndex { var keyStateRecordsIndexFormat: UInt16 var keyStateRecordCount: UInt16 var keyStateRecordOffsets: (UInt32) }

    Objective C

    struct UCKeyStateRecordsIndex { UInt16 keyStateRecordsIndexFormat; UInt16 keyStateRecordCount; ByteOffset keyStateRecordOffsets[1]; }; typedef struct UCKeyStateRecordsIndex UCKeyStateRecordsIndex;

    Поля

    keyStateRecordsIndexFormat

    16-разрядное целое число без знака, идентифицирующее формат UCKeyStateRecordsIndex структура. Набор к kUCKeyStateRecordsIndexFormat.

    keyStateRecordCount

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

    keyStateRecordOffsets

    Массив смещений с начала ресурса к каждому из UCKeyStateRecord значения, следующие за этой структурой в 'uchr' ресурс.

    Обсуждение

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

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

    Доступность

    Доступный в OS X v10.0 и позже.

  • Перечисляет разделители по умолчанию для каждого состояния мертвой клавиши, обработанного a 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeyStateTerminators { var keyStateTerminatorsFormat: UInt16 var keyStateTerminatorCount: UInt16 var keyStateTerminators: (UCKeyCharSeq) }

    Objective C

    struct UCKeyStateTerminators { UInt16 keyStateTerminatorsFormat; UInt16 keyStateTerminatorCount; UCKeyCharSeq keyStateTerminators[1]; }; typedef struct UCKeyStateTerminators UCKeyStateTerminators;

    Поля

    keyStateTerminatorsFormat

    16-разрядное целое число без знака, идентифицирующее формат UCKeyStateTerminators структура. Набор к kUCKeyStateTerminatorsFormat.

    keyStateTerminatorCount

    16-разрядное целое число без знака, указывающее число мертвой клавиши по умолчанию, утверждает разделители, содержавшиеся в keyStateTerminators[] массив.

    keyStateTerminators

    Массив мертвой клавиши по умолчанию утверждает разделители, описанные как значения типа UCKeyCharSeq; значение keyStateTerminators[0] разделитель для состояния 1, и т.д.

    Обсуждение

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

    UCKeyStateTerminators структура содержит список разделителей по умолчанию (символы или последовательности) для каждого состояния мертвой клавиши, обрабатывающегося a 'uchr' ресурс. Когда состояние мертвой клавиши имеет силу, но модификатор-и-сочетание-клавиш вводится, который не имеет никакой специальной обработки для того состояния, разделитель по умолчанию для состояния выводится, прежде чем модификатор-и-сочетание-клавиш обрабатывается. Если эта таблица не присутствует или не расширяется достаточно далеко для имения разделителя для состояния, ничто не выводится, когда завершается состояние.

    Доступность

    Доступный в OS X v10.0 и позже.

  • Обеспечивает количество и смещает к, ключевой код к таблицам символов в a 'uchr' ресурс.

    Объявление

    Swift

    struct UCKeyToCharTableIndex { var keyToCharTableIndexFormat: UInt16 var keyToCharTableSize: UInt16 var keyToCharTableCount: UInt32 var keyToCharTableOffsets: (UInt32) }

    Objective C

    struct UCKeyToCharTableIndex { UInt16 keyToCharTableIndexFormat; UInt16 keyToCharTableSize; ItemCount keyToCharTableCount; ByteOffset keyToCharTableOffsets[1]; }; typedef struct UCKeyToCharTableIndex UCKeyToCharTableIndex;

    Поля

    keyToCharTableIndexFormat

    16-разрядное целое число без знака, идентифицирующее формат UCKeyToCharTableIndex структура. Набор к kUCKeyToCharTableIndexFormat.

    keyToCharTableSize

    16-разрядное целое число без знака, указывающее число кодов виртуальной клавиши, поддерживается этим ресурсом; поскольку ADB вводит с клавиатуры, это равняется 128 (с кодами виртуальной клавиши в пределах от от 0 до 127).

    keyToCharTableCount

    32-разрядное целое число без знака, указывающее число ключевого кода к таблицам символов, обычно 6 - 12.

    keyToCharTableOffsets

    Массив смещений с начала 'uchr' ресурс к каждому из UCKeyOutput ключевой код к таблицам символов в keyToCharData[] массив, следующий за этой структурой в ресурсе.

    Обсуждение

    Раскладка клавиатуры Unicode ('uchr') ресурс содержит данные, необходимые для отображения кодов виртуальной клавиши на коды символов Unicode для данной раскладки клавиатуры. 'uchr' формат состоит из раздела информации заголовка и пяти ключевых разделов данных отображения. UCKeyToCharTableIndex тип используется во втором ключевом разделе отображения 'uchr' ресурс. UCKeyToCharTableIndex структура предшествует списку ключевого кода к таблицам символов, каждая из которых отображает код клавиши на 16-разрядное значение типа UCKeyOutput.

    Доступность

    Доступный в OS X v10.0 и позже.

Константы

  • Указывает для использования фиксированной схемы упорядочивания.

    Объявление

    Swift

    var kUCCollateTypeHFSExtended: Int { get }

    Objective C

    enum { kUCCollateTypeHFSExtended = 1 };

    Константы

    • kUCCollateTypeHFSExtended

      kUCCollateTypeHFSExtended

      kUCCollateTypeHFSExtended упорядочивание видов схемы максимально анализировало Unicode согласно правилам, используемым HFS Расширенный формат объема для его каталога. Когда этот порядок используется, другие опции сопоставления проигнорированы; этот порядок всегда нечувствителен к регистру (для анализируемых символов) и игнорирует символы Unicode 200C-200F, 202A-202E, 206A-206F, FEFF.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    UCCollateOptions 32-разрядное значение. Биты 0-23 описаны в Опциях Сравнения строк. Поле, состоящее из битов 24-31, используется для значений, указывающих, который фиксировал схему упорядочивания использовать с функцией UCCompareTextNoLocale. В настоящее время только одна такая схема предоставлена.

    Константы предоставлены для установки и тестирования UCCollateOptions поле, указывающее схему упорядочивания. Эти значения описаны в Фиксированных Масках Упорядочивания 1 и Фиксированных Масках Упорядочивания 2.

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

    Объявление

    Swift

    var kUCCollateTypeSourceMask: Int { get } var kUCCollateTypeShiftBits: Int { get }

    Objective C

    enum { kUCCollateTypeSourceMask = 0x000000FF, kUCCollateTypeShiftBits = 24 };

    Константы

    • kUCCollateTypeSourceMask

      kUCCollateTypeSourceMask

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

      Доступный в OS X v10.0 и позже.

    • kUCCollateTypeShiftBits

      kUCCollateTypeShiftBits

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

      Доступный в OS X v10.0 и позже.

    Обсуждение

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

    Например, для указания kUCCollateTypeHFSExtended в options параметр функции UCCompareTextNoLocale , kUCCollateTypeHFSExtended значение должно быть смещено на kUCCollateTypeShiftBits :

    options = kUCCollateTypeHFSExtended kUCCollateTypeShiftBits;

    Вы получили бы значение схемы упорядочивания из options параметр следующим образом:

    • fixedOrderType = ((options > > kUCCollateTypeShiftBits) & kUCCollateTypeSourceMask);

    См. также Фиксированные Маски Упорядочивания 2.

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

    Объявление

    Swift

    var kUCCollateTypeMask: UInt32 { get }

    Objective C

    enum { kUCCollateTypeMask = kUCCollateTypeSourceMask << kUCCollateTypeShiftBits };

    Константы

    • kUCCollateTypeMask

      kUCCollateTypeMask

      Можно использовать эту маску для прямого тестирования битов 24-31 из a UCCollateOptions значение.

      Доступный в OS X v10.0 и позже.

  • Укажите текущее ключевое действие.

    Объявление

    Swift

    var kUCKeyActionDown: Int { get } var kUCKeyActionUp: Int { get } var kUCKeyActionAutoKey: Int { get } var kUCKeyActionDisplay: Int { get }

    Objective C

    enum { kUCKeyActionDown = 0, kUCKeyActionUp = 1, kUCKeyActionAutoKey = 2, kUCKeyActionDisplay = 3 };

    Константы

    • kUCKeyActionDown

      kUCKeyActionDown

      Пользователь нажимает клавишу.

      Доступный в OS X v10.0 и позже.

    • kUCKeyActionUp

      kUCKeyActionUp

      Пользователь отпускает клавишу.

      Доступный в OS X v10.0 и позже.

    • kUCKeyActionAutoKey

      kUCKeyActionAutoKey

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

      Доступный в OS X v10.0 и позже.

    • kUCKeyActionDisplay

      kUCKeyActionDisplay

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

      Доступный в OS X v10.0 и позже.

    Обсуждение

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

  • Укажите формат структуры, используемый в a 'uchr' ресурс.

    Объявление

    Swift

    var kUCKeyLayoutHeaderFormat: Int { get } var kUCKeyLayoutFeatureInfoFormat: Int { get } var kUCKeyModifiersToTableNumFormat: Int { get } var kUCKeyToCharTableIndexFormat: Int { get } var kUCKeyStateRecordsIndexFormat: Int { get } var kUCKeyStateTerminatorsFormat: Int { get } var kUCKeySequenceDataIndexFormat: Int { get }

    Objective C

    enum { kUCKeyLayoutHeaderFormat = 0x1002, kUCKeyLayoutFeatureInfoFormat = 0x2001, kUCKeyModifiersToTableNumFormat = 0x3001, kUCKeyToCharTableIndexFormat = 0x4001, kUCKeyStateRecordsIndexFormat = 0x5001, kUCKeyStateTerminatorsFormat = 0x6001, kUCKeySequenceDataIndexFormat = 0x7001 };

    Константы

    • kUCKeyLayoutHeaderFormat

      kUCKeyLayoutHeaderFormat

      Формат структуры типа UCKeyboardLayout.

      Доступный в OS X v10.0 и позже.

    • kUCKeyLayoutFeatureInfoFormat

      kUCKeyLayoutFeatureInfoFormat

      Формат структуры типа UCKeyLayoutFeatureInfo.

      Доступный в OS X v10.0 и позже.

    • kUCKeyModifiersToTableNumFormat

      kUCKeyModifiersToTableNumFormat

      Формат структуры типа UCKeyModifiersToTableNum.

      Доступный в OS X v10.0 и позже.

    • kUCKeyToCharTableIndexFormat

      kUCKeyToCharTableIndexFormat

      Формат структуры типа UCKeyToCharTableIndex.

      Доступный в OS X v10.0 и позже.

    • kUCKeyStateRecordsIndexFormat

      kUCKeyStateRecordsIndexFormat

      Формат структуры типа UCKeyStateRecordsIndex.

      Доступный в OS X v10.0 и позже.

    • kUCKeyStateTerminatorsFormat

      kUCKeyStateTerminatorsFormat

      Формат структуры типа UCKeyStateTerminators.

      Доступный в OS X v10.0 и позже.

    • kUCKeySequenceDataIndexFormat

      kUCKeySequenceDataIndexFormat

      Формат структуры типа UCKeySequenceDataIndex.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Эти константы - в настоящее время определяемые, чтобы использоваться в различных структурах в a 'uchr' ресурс для указания формата каждой структуры.

  • Протестируйте биты в UCKeyOutput значения.

    Объявление

    Swift

    var kUCKeyOutputStateIndexMask: Int { get } var kUCKeyOutputSequenceIndexMask: Int { get } var kUCKeyOutputTestForIndexMask: Int { get } var kUCKeyOutputGetIndexMask: Int { get }

    Objective C

    enum { kUCKeyOutputStateIndexMask = 0x4000, kUCKeyOutputSequenceIndexMask = 0x8000, kUCKeyOutputTestForIndexMask = 0xC000, kUCKeyOutputGetIndexMask = 0x3FFF };

    Константы

    • kUCKeyOutputStateIndexMask

      kUCKeyOutputStateIndexMask

      Если бит, указанный этой маской, установлен, UCKeyStateRecordsIndex UCKeyOutput значение содержит индекс в структуру типа UCKeyStateRecordsIndex.

      Доступный в OS X v10.0 и позже.

    • kUCKeyOutputSequenceIndexMask

      kUCKeyOutputSequenceIndexMask

      Если бит, указанный этой маской, установлен, UCKeyOutput значение содержит индекс в структуру типа UCKeySequenceDataIndex.

      Доступный в OS X v10.0 и позже.

    • kUCKeyOutputTestForIndexMask

      kUCKeyOutputTestForIndexMask

      Можно использовать эту маску для тестирования битов (14–15) в UCKeyOutput значение, которые определяют, содержит ли значение индекс к какой-либо другой структуре. Если оба бита, указанные этой маской, ясны, UCKeyOutput значение не содержит индекс ни к какой другой структуре.

      Доступный в OS X v10.0 и позже.

    • kUCKeyOutputGetIndexMask

      kUCKeyOutputGetIndexMask

      Можно использовать эту маску для тестирования битов (0–13) в a UCKeyOutput значение, которые обеспечивают фактический индекс для другой структуры.

      Доступный в OS X v10.0 и позже.

    Обсуждение

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

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

    Объявление

    Swift

    var kUCKeyStateEntryTerminalFormat: Int { get } var kUCKeyStateEntryRangeFormat: Int { get }

    Objective C

    enum { kUCKeyStateEntryTerminalFormat = 0x0001, kUCKeyStateEntryRangeFormat = 0x0002 };

    Константы

    • kUCKeyStateEntryTerminalFormat

      kUCKeyStateEntryTerminalFormat

      Указывает, что формат записи является форматом записи структуры типа UCKeyStateEntryTerminal. Используйте этот формат для простых (единственных) состояний мертвой клавиши, как в раскладке клавиатуры США.

      Доступный в OS X v10.0 и позже.

    • kUCKeyStateEntryRangeFormat

      kUCKeyStateEntryRangeFormat

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

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Эти константы используются в UCKeyStateRecord структуры для указания формата для мертвой клавиши утверждают записи.

  • Указывает состояние обработки мертвой клавиши.

    Объявление

    Swift

    var kUCKeyTranslateNoDeadKeysBit: Int { get }

    Objective C

    enum { kUCKeyTranslateNoDeadKeysBit = 0 };

    Константы

    • kUCKeyTranslateNoDeadKeysBit

      kUCKeyTranslateNoDeadKeysBit

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

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Постоянный Theis является в настоящее время определяемым разрядным присвоением для keyTranslateOptions параметр функции UCKeyTranslate.

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

    Объявление

    Swift

    var kUCKeyTranslateNoDeadKeysMask: Int { get }

    Objective C

    enum { kUCKeyTranslateNoDeadKeysMask = 1L << kUCKeyTranslateNoDeadKeysBit };

    Константы

    • kUCKeyTranslateNoDeadKeysMask

      kUCKeyTranslateNoDeadKeysMask

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

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Эта константа является в настоящее время определяемой маской для keyTranslateOptions параметр функции UCKeyTranslate.

  • Идентифицирует сопоставление как класс операций утилиты Unicode.

    Объявление

    Swift

    var kUnicodeCollationClass: Int { get }

    Objective C

    enum { kUnicodeCollationClass = 'ucol' };

    Константы

    • kUnicodeCollationClass

      kUnicodeCollationClass

      Идентифицирует сопоставление как класс операций.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Локали и варианты сопоставления, доступные для операций сопоставления, могут быть определены путем вызывания функций Утилит Локалей LocaleOperationCountLocales и LocaleOperationGetLocales с opClass набор параметра к kUnicodeCollationClass постоянный.

  • Указывает стандартные опции для сравнения строк Unicode.

    Объявление

    Swift

    var kUCCollateStandardOptions: Int { get }

    Objective C

    enum { kUCCollateStandardOptions = kUCCollateComposeInsensitiveMask | kUCCollateWidthInsensitiveMask };

    Константы

    • kUCCollateStandardOptions

      kUCCollateStandardOptions

      Если kUCCollateComposeInsensitiveMask и kUCCollateWidthInsensitiveMask биты установлены, тогда (1), предварительно составленные и анализируемые представления того же текстового элемента будут обработаны столь же эквивалентные, и (2) полноширинный, и формы совместимости полуширины будут обработаны как эквивалентные соответствующим символам несовместимости.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Для описаний других опций сопоставления посмотрите Опции Сравнения строк.

  • Указывает опции для сравнения строк Unicode.

    Объявление

    Swift

    typealias UCCollateOptions = UInt32

    Objective C

    typedef UInt32 UCCollateOptions; enum { kUCCollateComposeInsensitiveMask = 1L << 1, kUCCollateWidthInsensitiveMask = 1L << 2, kUCCollateCaseInsensitiveMask = 1L << 3, kUCCollateDiacritInsensitiveMask = 1L << 4, kUCCollatePunctuationSignificantMask = 1L << 15, kUCCollateDigitsOverrideMask = 1L << 16, kUCCollateDigitsAsNumberMask = 1L << 17 };

    Константы

    • kUCCollateComposeInsensitiveMask

      kUCCollateComposeInsensitiveMask

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

      Доступный в OS X v10.0 и позже.

    • kUCCollateWidthInsensitiveMask

      kUCCollateWidthInsensitiveMask

      Если соответствующий бит установлен, то полноширинный и формы совместимости полуширины обрабатываются как эквивалентные соответствующим символам несовместимости. Эта опция среди установленных kUCCollateStandardOptions постоянный, как описано в Стандартной Маске Опций.

      Доступный в OS X v10.0 и позже.

    • kUCCollateCaseInsensitiveMask

      kUCCollateCaseInsensitiveMask

      Если соответствующий бит установлен, то верхний регистр и titlecase символы обрабатываются как эквивалентные соответствующим символам нижнего регистра.

      Доступный в OS X v10.0 и позже.

    • kUCCollateDiacritInsensitiveMask

      kUCCollateDiacritInsensitiveMask

      Если соответствующий бит установлен, то символы с диакритическими знаками обрабатываются как эквивалентные соответствующим символам без диакритических знаков.

      Доступный в OS X v10.0 и позже.

    • kUCCollatePunctuationSignificantMask

      kUCCollatePunctuationSignificantMask

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

      Доступный в OS X v10.0 и позже.

    • kUCCollateDigitsOverrideMask

      kUCCollateDigitsOverrideMask

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

      Доступный в OS X v10.0 и позже.

    • kUCCollateDigitsAsNumberMask

      kUCCollateDigitsAsNumberMask

      Если соответствующий бит установлен (и если разрядное соответствие kUCCollateDigitsOverrideMask также установлен), тогда числовые подстроки, до шести цифр долго сопоставляются их числовым значением — т.е. они обрабатываются как единственный текстовый элемент, основной вес которого зависит от числового значения строки цифр. Этот основной вес будет больше, чем вес любого допустимого символа Unicode, но меньше, чем основной вес любого неприсвоенного символа Unicode. Например, это приведет к «Главе 9», сортирующей перед «Главой 10». В настоящее время эти строки цифр могут включать цифры с числовым значением 0-9 в любом сценарии (исключая идеографические символы для 1-9). Если бит ясен, цифры обрабатываются как другие символы для сортировки. Числовые подстроки дольше, чем 6 цифр всегда обрабатываются как обычные символы. Эта опция доступна с Mac OS 9 и позже.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Для описания UCCollateOptions значения, посмотрите Стандартную Маску Опций.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Указывает опции для определения местоположения границ в тексте Unicode.

    Объявление

    Swift

    typealias UCTextBreakOptions = UInt32

    Objective C

    typedef UInt32 UCTextBreakOptions; enum { kUCTextBreakLeadingEdgeMask = 1L << 0, kUCTextBreakGoBackwardsMask = 1L << 1, kUCTextBreakIterateMask = 1L << 2 };

    Константы

    • kUCTextBreakLeadingEdgeMask

      kUCTextBreakLeadingEdgeMask

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

      Доступный в OS X v10.0 и позже.

    • kUCTextBreakGoBackwardsMask

      kUCTextBreakGoBackwardsMask

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

      Доступный в OS X v10.0 и позже.

    • kUCTextBreakIterateMask

      kUCTextBreakIterateMask

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

      Доступный в OS X v10.0 и позже.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Указывает виды текстовых границ.

    Объявление

    Swift

    typealias UCTextBreakType = UInt32

    Objective C

    typedef UInt32 UCTextBreakType; enum { kUCTextBreakCharMask = 1L << 0, kUCTextBreakClusterMask = 1L << 2, kUCTextBreakWordMask = 1L << 4, kUCTextBreakLineMask = 1L << 6 };

    Константы

    • kUCTextBreakCharMask

      kUCTextBreakCharMask

      Если бит, указанный этой маской, установлен, границы символов могут быть расположены (с суррогатными парами, обработанными как отдельный символ).

      Доступный в OS X v10.0 и позже.

    • kUCTextBreakClusterMask

      kUCTextBreakClusterMask

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

      Доступный в OS X v10.0 и позже.

    • kUCTextBreakWordMask

      kUCTextBreakWordMask

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

      Доступный в OS X v10.0 и позже.

    • kUCTextBreakLineMask

      kUCTextBreakLineMask

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

      Доступный в OS X v10.0 и позже.

    Оператор импорта

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

    Доступный в OS X v10.0 и позже.

  • Идентифицирует класс операций утилиты Unicode, находящих текстовые границы.

    Объявление

    Swift

    var kUnicodeTextBreakClass: Int { get }

    Objective C

    enum { kUnicodeTextBreakClass = 'ubrk' };

    Константы

    • kUnicodeTextBreakClass

      kUnicodeTextBreakClass

      Идентифицирует класс операций утилиты Unicode, находящих текстовые границы.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Локали и варианты разрыва текста, доступные для нахождения границ в тексте Unicode, могут быть определены путем вызывания функций Утилит Локалей LocaleOperationCountLocales и LocaleOperationGetLocales с opClass набор параметра к kUnicodeTextBreakClass постоянный.