Как вставить NSAttributedString с помощью пользовательского расширения клавиатуры?
Я хочу писать текст в некоторых пользовательских шрифтах, используя расширение клавиатуры в качестве этих приложений (1, 2, 3, 4). Я знаю, как мы можем вставить нормальную строку в прокси-сервер документа.
[self.textDocumentProxy insertText:mystring];
Я попытался вставить NSAttributedString
, используя вышеприведенный подход, но я не вижу способа вставить NSAttributedString
для документирования прокси.
Кто-нибудь может указать, что будет лучшим способом избавиться от этой проблемы? любое предложение будет оценено.
Ответы
Ответ 1
Невозможно вставить атрибутные строки (или иначе богатый контент) с помощью прокси-документа текстового документа.
Клавиатуры, с которыми вы связаны, не используют пользовательские шрифты. Они используют (или злоупотребляют) символы Юникода, такие как Enclosed Alphanumerics и Закрытое буквенно-цифровое дополнение.
В других случаях разные символы алфавита с визуальным сходством с латинскими символами используются для создания "фанкового" текста, например здесь.
Наконец, некоторые расширения клавиатуры, такие как графические клавиатуры, используют картотеку для копирования богатого контента, и пользователь несет ответственность за вставку туда, где он кажется подходящим.
Ответ 2
Приложения, на которые вы ссылаетесь, не используют NSAttributedString или настраиваемые шрифты. Они просто заменяют буквы похожими символами Юникода. Вы можете увидеть эти символы в любом приложении OS X в меню Edit → Special Characters.