有没有办法动态更改终端输入的编码,以便 "a" 是ऄ,"b" 是ब(在 unicode 中)等等......?

Is there a way to dynamically change the encoding for terminal input so that "a" is ऄ and "b" is ब (in unicode) and so on...?

我想在终端中使用任意字体书写,例如中文、梵文、玛雅象形文字(一种甚至还不是 unicode 一部分的字体)等

我想按"a"得到ऄ等,基本上我说"enter encoding DEVANAGARI"现在"a"是ऄ等。或者我说"enter encoding MAYAN" "a" 是一些 "private unicode space" 字形等。我该怎么做?如果我在后台有一个 Mac 应用程序 运行,我可以以某种方式动态设置它吗,也许使用 Swift(对于 Mac)?

比如我会这样想象:

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

如何在终端应用程序或 任何应用程序 中执行此操作?

这样我就可以使用 ASCII 键盘以任意字体书写,即使它们不是 unicode。

回答标题问题:是的。这可以通过更改活动键盘来实现。 Apple 提供了一堆(包括许多 QWERTY-style 用于各种脚本,这些脚本粗略地将 English/latin 字母映射到脚本中的(粗略)等价物)。如评论中所述,如果提供的工具不够用,可以使用工具来创建自定义布局。

至于以编程方式执行此操作的问题,则比较棘手。接受的答案 to this (old) SO question 建议您可以编程方式 切换 键盘(大概:已安装的)。

但是通过仔细阅读您的问题和 follow-up,您似乎基本上想要动态 create/modify 活动键盘(?)。如果支持类似的东西,我会感到惊讶,但我也不确定如果你有能力以编程方式切换,为什么有必要这样做。