10

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

[self.textDocumentProxy insertText:mystring]; 

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

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

ответ

2

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

Клавиатуры, с которыми вы связаны, не используют пользовательские шрифты. Они используют (или злоупотребляют) символы Юникода, такие как Enclosed Alphanumerics и Enclosed Alphanumeric Supplement.

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

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

+0

Есть ли способ разместить пользовательский шрифт .svg на сервере и использовать его в расширении клавиатуры? – conor909

+0

Опять же, вы не сможете использовать это как ввод с клавиатуры. Только простой текст в Юникоде. –

0

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

Смежные вопросы