Ссылка служб словаря
Dictionary Services обеспечивает функции, позволяющие Вам словари доступа программно из Вашего приложения. Существует три функции, описанные в этой ссылке. Два из них определяются в платформе Core Services; третье определяется в платформе Углерода.
Словарь является любой ссылкой поиска, создающейся с помощью Комплекта разработчика Словаря. Содержание словаря может служить многим целям. Самое типичное использование должно обеспечить определения для единственного языка, но можно создать содержание для тезауруса, двуязычные словари (такой столь же англо-японский), внутренние глоссарии и профессиональные словари (такой как законный, медицинский, и технический).
-
Определяет диапазон самого долгого слова или фразы относительно смещения.
Объявление
Swift
func DCSGetTermRangeInString(_
dictionary
: DCSDictionary!, _textString
: CFString!, _offset
: CFIndex) -> CFRangeObjective C
CFRange DCSGetTermRangeInString ( DCSDictionaryRef dictionary, CFStringRef textString, CFIndex offset );
Параметры
dictionary
Этот параметр резервируется для будущего использования, так передача
NULL
. Dictionary Services ищет во всех активных словарях.textString
Текст, содержащий слово или фразу для поиска.
offset
Символьное смещение в
textString
параметр.Возвращаемое значение
Диапазон, указывающий расположение, вокруг указанного смещения, слова или фразы или константы
kCFNotFound
.Обсуждение
Можно использовать эту функцию для определения диапазона текста, содержащего слово или фразу. После определения диапазона можно передать результат функциям
DCSCopyTextDefinition
иHIDictionaryWindowShow
.Чтобы видеть, как это работает, выполните эти шаги:
В OS X v10.5 или позже, откройте Text Edit.
Ввести
It is a foggy day in San Francisco, California.
Щелчок управления
Francisco
(не выбирайте его). Затем выберите «Lookup in Dictionary».
Обратите внимание на то, что окно Dictionary появляется с определением Сан-Франциско. Функция
DCSGetTermRangeInString
автоматически обнаруженный диапазон фразы Сан-Франциско, с помощьюFrancisco
как текстовая строка для поиска и символьное смещение в этой строке. Функция развернула диапазон, пока это не нашло возможное соответствие.Можно также указать на курсор на слово
Francisco
и, не делая выбор или щелчок, введите Command-Control-D.DCSGetTermRangeInString
обнаруживает диапазон.Функция
DCSGetTermRangeInString
только возвращает диапазон. Необходимо вызватьDCSCopyTextDefinition
скопировать определение иHIDictionaryWindowShow
вывести на экран определение в окне Dictionary.Оператор импорта
Objective C
@import CoreServices;
Swift
import CoreServices
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает определение, связанное с предоставленным текстовым диапазоном.
Объявление
Swift
func DCSCopyTextDefinition(_
dictionary
: DCSDictionary!, _textString
: CFString!, _range
: CFRange) -> Unmanaged<CFString>!Objective C
CFStringRef DCSCopyTextDefinition ( DCSDictionaryRef dictionary, CFStringRef textString, CFRange range );
Параметры
dictionary
Этот параметр резервируется для будущего использования, так передача
NULL
. Dictionary Services ищет во всех активных словарях.textString
Текст, содержащий слово или фразу для поиска.
range
Диапазон, указывающий расположение слова или фразы в
textString
параметр. Если текстовая строка точно указывает слово или фразу, которую Вы хотите искать, можно передать диапазон текстовой строки. Например, для словаmake
, Вы передали бы (0
,4
) указать диапазон.Если
textString
параметр содержит слово или фразу, но не указывает его точно, затем передает диапазон, возвращенный функциейDCSGetTermRangeInString
.Возвращаемое значение
Определение слова или фразы, как простой текст. Возвращенный текст не содержит элементов, отмеченных с a
priority
припишите, чье значение2
.Обсуждение
Эта функция возвращает описание первой записи соответствия, найденной в активные словари. Это ищет сначала в словаре определения слова по умолчанию, который, в английской среде, является Оксфордским словарем.
Оператор импорта
Objective C
@import CoreServices;
Swift
import CoreServices
Доступность
Доступный в OS X v10.5 и позже.
-
Результат поиска словаря дисплеев в окне словаря.
Объявление
Swift
func HIDictionaryWindowShow(_
dictionary
: DCSDictionary!, _textString
: AnyObject!, _selectionRange
: CFRange, _textFont
: CTFont!, _textOrigin
: CGPoint, _verticalText
: Boolean, _viewTransform
: UnsafePointer<CGAffineTransform>)Objective C
void HIDictionaryWindowShow ( DCSDictionaryRef dictionary, CFTypeRef textString, CFRange selectionRange, CTFontRef textFont, CGPoint textOrigin, Boolean verticalText, const CGAffineTransform *viewTransform );
Параметры
dictionary
Этот параметр резервируется для будущего использования, так передача
NULL
. Dictionary Services ищет во всех активных словарях.textString
Текст, содержащий слово или фразу для поиска указанный как одно из следующего: a
CFString
объект, aCFAttributedString
объект или aCFData
объект, содержащий текст в Формате RTF. Dictionary Services использует текстовые атрибуты для рисования заголовка окна словаря. Если Вы обеспечиваете текстовую строку как aCFString
объект, необходимо также обеспечить экранный шрифт вtextFont
параметр.selectionRange
При использовании этой функции, чтобы показать, что результаты, связанные с текстом, выбранным пользователем, то обеспечивают диапазон выбора
textString
параметр. При использовании этой функции, чтобы показать, что результаты связались с вызовомDCSGetTermRangeInString
функция, затем обеспечьте диапазон, возвращенный той функцией.textFont
Базовый Шрифт текста для использования для заголовка окна словаря. Необходимо обеспечить шрифт только когда
textString
параметр является aCFString
объект; иначе Dictionary Services игнорирует этот параметр.textOrigin
Источник, в экранных пикселях, типографской базовой линии символов, указанных
selectionRange
параметр. Верхний левый из экрана (0
,0
).verticalText
Этот параметр резервируется для будущего использования. Dictionary Services составляет текст в горизонтальной ориентации независимо от того, передаете ли Вы
true
илиfalse
.viewTransform
Матрица аффинного преобразования для применения к окну, содержащему текстовую строку. Передача
NULL
использовать единичную матрицу. Используйте это для выравнивания окна словаря с оригинальным текстом. Можно только применить преобразование масштабирования; Вы не можете применить другие типы трансформаций.Обсуждение
Эта функция открывает окно для отображения определения слова или фразы.
Оператор импорта
Objective C
@import Carbon;
Swift
import Carbon
Доступность
Доступный в OS X v10.5 и позже.
-
Непрозрачный объект, представляющий файл словаря.
Объявление
Swift
typealias DCSDictionaryRef = DCSDictionary
Objective C
typedef const struct __DCSDictionary* DCSDictionaryRef;
Обсуждение
Этот тип данных резервируется для будущего использования.
Оператор импорта
Objective C
@import CoreServices;
Swift
import CoreServices
Доступность
Доступный в OS X v10.5 и позже.