Есть ли способ динамически изменить кодировку для ввода с терминала, чтобы «a» было ऄ, а «b» было ब (в юникоде) и так далее ...? - PullRequest
0 голосов
/ 22 января 2020

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

Я хотел бы нажмите «a», чтобы получить ऄ, et c., в основном я говорю «введите кодировку DEVANAGARI», и теперь «a» - это ऄ, et c. Или я говорю «введите кодировку MAYAN», а «a» - это символ «частного юникодного пространства», et c. Как я могу это сделать? Можно ли как-то установить его динамически, возможно, используя Swift (для Ma c), если у меня в фоновом режиме работает приложение Ma c?

Например, я мог бы представить себе так:

$ change-script DEVANAGARI
$ a
# replaced with
$ ऄ
# etc

Как я могу сделать это в приложении Terminal или в любом приложении в этом отношении?

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

1 Ответ

1 голос
/ 23 января 2020

Отвечая на заглавный вопрос: да. Это может быть достигнуто путем замены активной клавиатуры. Apple предоставляет набор (включая множество QWERTY-стилей для различных скриптов, которые приблизительно отображают английские / латинские буквы в (грубых) эквивалентах в скрипте). Как отмечено в комментарии, есть инструменты, доступные для создания пользовательских макетов, если предоставленных не достаточно.

Что касается вопроса о том, чтобы сделать это программно, это сложнее. Принятый ответ на этот (старый) SO вопрос предполагает, что вы можете программно переключать клавиатуры (предположительно: установленные).

Но при внимательном прочтении вашего вопроса и в продолжение, кажется, что вы в основном хотите динамически создавать / изменять активную клавиатуру (?). Я был бы удивлен, если бы что-нибудь подобное поддерживалось, но я также не уверен, зачем это нужно делать, если у вас есть возможность переключаться программно.

...