mma*_*uff 12 xorg keyboard i18n x11 gtk
我的语言瓜拉尼语使用 G?/g? 表示鼻化的软膜近似。我以为我可以通过将死波浪号与 g 结合来输入它,但这不起作用。为什么没有,我该如何解决?
我的主要怀疑是,这与以下事实有关,即 g? 没有单独的 Unicode 字符,只有带有组合波浪号的 g。我可以打字 ?和 ?很好,但不是 j?, r?, m?,这似乎是问题所在的很好的证据。
因此,我可以解决这个问题的一种方法是将键映射到 0x1000303(即 U+0303 或 ?? ),即组合波浪号,而不是 dead_tilde。然而,这会产生几个问题:
似乎在理想情况下,我会让 X 注意到 dead_tilde + g 不起作用,只是像输入 g + ?? 一样处理它,然后一起为我输入两个字符,就像 ñ 一样, ã, ?, ?, õ, ?, ? 等。
值得注意的是,通过添加 g? 直接到我的键盘布局,因为 xkb 似乎不支持将一个键映射到组合的 Unicode 字形(尽管请参阅自定义 xkb 布局的答案,其中一个键创建两个 unicode 代码点以进行变通的解决方法)。如果我能解决这个问题,我想这将是一个小问题。
我正在运行 Ubuntu 18.04,不确定其他背景信息会有帮助,但我认为这对运行 X 的任何人来说都是一个问题。
我尝试过的另一件事也不起作用,它是编辑Compose映射以添加组合 g?。我写了一个 .XCompose 文件如下:
include "%L"
<dead_tilde> <g> : "g?" gtilde
<dead_tilde> <G> : "G?" Gtilde
Run Code Online (Sandbox Code Playgroud)
但这也不起作用,我假设出于上述相同的原因:X 需要单个字符,而 g? 技术上是两个。顺便说一句,我注意到我的语言环境的默认 Compose 文件中附带的一些映射也不起作用,大概是出于同样的原因。en_US.UTF-8 的以下映射,也许还有更多,实际上什么都不做:
<dead_acute> <dead_tilde> <a> : "a??" # LATIN SMALL LETTER A WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <a> : "a??" # LATIN SMALL LETTER A WITH TILDE AND GRAVE
<dead_acute> <dead_tilde> <A> : "A??" # LATIN CAPITAL LETTER A WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <A> : "A??" # LATIN CAPITAL LETTER A WITH TILDE AND GRAVE
<dead_acute> <dead_tilde> <e> : "e??" # LATIN SMALL LETTER E WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <e> : "e??" # LATIN SMALL LETTER E WITH TILDE AND GRAVE
<dead_acute> <dead_tilde> <E> : "E??" # LATIN CAPITAL LETTER E WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <E> : "E??" # LATIN CAPITAL LETTER E WITH TILDE AND GRAVE
<dead_acute> <dead_tilde> <i> : "i??" # LATIN SMALL LETTER I WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <i> : "i??" # LATIN SMALL LETTER I WITH TILDE AND GRAVE
<dead_acute> <dead_tilde> <I> : "I??" # LATIN CAPITAL LETTER I WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <I> : "I??" # LATIN CAPITAL LETTER I WITH TILDE AND GRAVE
<dead_grave> <dead_tilde> <o> : "o??" # LATIN SMALL LETTER O WITH TILDE AND GRAVE
<dead_grave> <dead_tilde> <O> : "O??" # LATIN CAPITAL LETTER O WITH TILDE AND GRAVE
<dead_grave> <dead_tilde> <u> : "u??" # LATIN SMALL LETTER U WITH TILDE AND GRAVE
<dead_grave> <dead_tilde> <U> : "U??" # LATIN CAPITAL LETTER U WITH TILDE AND GRAVE
<dead_grave> <m> : "m?" # LATIN SMALL LETTER M WITH GRAVE
<dead_grave> <M> : "M?" # LATIN CAPITAL LETTER M WITH GRAVE
Run Code Online (Sandbox Code Playgroud)
就意见而言,我不认为这是我们应该解决的问题:为每个可能的变音符号在 Compose 文件中添加额外的一行似乎很浪费,并且没有利用 Unicode 希望我们使用的漂亮的组合变音符号的简单性.
在删除这个 .XCompose 之前,我注意到一件有趣的事情是从终端启动 GTK 程序会导致以下错误:
(gedit:7229): Gtk-WARNING **: 23:03:04.848: GTK+ supports to output one char only: "g?" gtilde: <dead_tilde> <g> : "g?" gtilde
Run Code Online (Sandbox Code Playgroud)
所以大概这是一个GTK问题?我会继续努力追踪它,但希望得到任何帮助。
我的解决方案似乎是解决这个问题:https : //gitlab.gnome.org/GNOME/gtk/-/issues/186
我刚刚升级到 Ubuntu 20.04,现在.XCompose
解决方案完美运行!所以这应该是最好的解决方案。您只需.XCompose
在主目录中创建一个文件,如下所示,或添加到现有文件中:
include "%L"\n\n<dead_tilde> <g> : "g\xcc\x83" gtilde\n<dead_tilde> <G> : "G\xcc\x83" Gtilde\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
335 次 |
最近记录: |