Как вставить NSAttributedString с помощью пользовательского расширения клавиатуры?

Я хочу написать текст в некоторых пользовательских шрифтах, используя расширение клавиатуры, как эти приложения (1,2,3,4) делают . Я знаю, как мы можем вставить обычную строку в прокси-сервер документа.

    [self.textDocumentProxy insertText:mystring];

Я попытался вставить NSAttributedString, используя описанный выше подход, но не вижу способа вставить NSAttributedString в прокси-сервер документа.

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


person jamil    schedule 09.03.2015    source источник


Ответы (2)


Невозможно вставить строки с атрибутами (или иное богатое содержимое) с помощью прокси-сервера текстового документа.

Клавиатуры, которые вы связали, не используют пользовательские шрифты. Они используют (или злоупотребляют) символы Unicode, такие как заключенные буквенно-цифровые символы и Прилагаемое буквенно-цифровое дополнение.

В других случаях для создания «причудливого» текста используются различные символы алфавита, визуально похожие на латинские символы, например здесь.

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

person Leo Natan    schedule 13.03.2015
comment
Есть ли способ разместить собственный шрифт .svg на сервере и использовать его в расширении клавиатуры? - person conor909; 01.11.2017
comment
Опять же, вы не сможете использовать это как ввод с клавиатуры. Только обычный текст Unicode. - person Leo Natan; 01.11.2017

Приложения, на которые вы ссылаетесь, не используют NSAttributedString или пользовательские шрифты. Они просто заменяют буквы похожими символами Unicode. Вы можете увидеть эти символы в любом приложении OS X в меню «Правка» -> «Специальные символы».

person bzz    schedule 13.03.2015