왜 ñ처럼 gmber를 입력할 수 없나요?

왜 ñ처럼 gmber를 입력할 수 없나요?

내 언어인 Guaraní에서는 비음으로 된 연구개 근사치를 위해 Gə/gə를 사용합니다. 물결표와 g를 합쳐서 들어갈 수 있을 줄 알았는데 그게 안 되더라구요. 왜 안 되고 어떻게 해결할 수 있나요?

내 주요 의심은 이것이 별도의 유니코드 문자가 없는 gə와 관련이 있고 물결표가 결합된 g만 있다는 것입니다. ỹ 및 ṽ는 잘 입력할 수 있지만 jmber, rmber, mmber는 입력할 수 없습니다. 이는 문제의 좋은 증거인 것 같습니다.

따라서 이 문제를 해결할 수 있는 한 가지 방법은 키를 0x1000303(예: U+0303 또는 ◌)에 매핑하는 것입니다. 즉, dead_tilde 대신 물결표를 결합하는 것입니다. 그러나 이로 인해 몇 가지 문제가 발생합니다.

  • 대신 모든 경우에 물결표 결합을 사용하는 경우:
    • 많은 경우 단일 문자 ñ가 필요한 곳에 n + ◌를 입력하게 되었는데, 결과가 달라졌습니다. 예를 들어, 일부 웹사이트에서는 서로 입력하면 동일한 검색 결과가 표시되지 않는다는 사실을 발견했습니다(분명히 웹사이트에 있지만 현재 존재하는 세계와 호환되는 키보드 레이아웃을 원합니다).
    • 짜증나게도 물결표를 결합하여 문자를 제거하려면 백스페이스를 두 번 눌러야 합니다. g̃에 대해서만 사용한다면 괜찮지만 비음이 있는 문자마다 약간의 시간이 걸립니다.
  • 두 가지를 모두 추가하면(현재 수행 중인 작업) 다음과 같은 이유로 사용성이 매우 어려워집니다.
    • 각 경우에 내 두뇌가 동일하다고 생각할 때 어떤 키를 사용할지 생각해야 합니다.
    • dead_tilde는 문자 앞에 누르고 ◌는 문자 뒤에 누르기 때문에 둘의 입력 메커니즘이 다릅니다. 나의 불쌍한 작은 두뇌는 결코 이것에 익숙해지지 않을 것입니다.

이상적인 세계에서는 dead_tilde + g가 작동하지 않는다는 것을 X에 알리고 g + ◌를 입력한 것처럼 처리한 다음 ñ, ã, ẽ, ĩ ,õ, ũ,ỹ 등

xkb가 결합된 유니코드 글리프에 대한 매핑 키를 지원하지 않는 것 같기 때문에 gə를 키보드 레이아웃에 직접 추가하여 이 문제를 해결할 수 없다는 점은 주목할 가치가 있습니다.하나의 키가 두 개의 유니코드 코드 포인트를 생성하는 사용자 정의 xkb 레이아웃해키 해결 방법). 이 부분만 해결하면 별 문제 없을 것 같아요.

저는 Ubuntu 18.04를 실행하고 있는데 어떤 다른 배경 정보가 도움이 될지 잘 모르겠지만 X를 실행하는 모든 사람에게 이것이 문제라고 가정합니다.

편집 1: Compose 매핑 편집이 작동하지 않습니다.

내가 시도한 또 다른 일은 편집이었습니다.쓰다g̃ 조합의 매핑을 추가합니다. 나는 다음과 같이 .XCompose 파일을 작성했습니다.

include "%L"

<dead_tilde> <g> : "g̃" gtilde
<dead_tilde> <G> : "G̃" Gtilde

그러나 그것도 작동하지 않습니다. 위와 같은 이유로 가정합니다. X는 단일 문자를 기대하는 반면 g̃는 기술적으로 두 문자입니다. 그런데, 내 로케일에 대해 기본 Compose 파일에 제공된 많은 매핑이 아마도 같은 이유로 작동하지 않는다는 것을 알았습니다. en_US.UTF-8(및 그 이상)에 대한 다음 매핑은 실제로 아무 작업도 수행하지 않습니다.

<dead_acute> <dead_tilde> <a>       : "ã́"   # LATIN SMALL LETTER A WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <a>       : "ã̀"   # LATIN SMALL LETTER A WITH TILDE AND GRAVE
<dead_acute> <dead_tilde> <A>       : "Ã́"   # LATIN CAPITAL LETTER A WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <A>       : "Ã̀"   # LATIN CAPITAL LETTER A WITH TILDE AND GRAVE
<dead_acute> <dead_tilde> <e>       : "ẽ́"   # LATIN SMALL LETTER E WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <e>       : "ẽ̀"   # LATIN SMALL LETTER E WITH TILDE AND GRAVE
<dead_acute> <dead_tilde> <E>       : "Ẽ́"   # LATIN CAPITAL LETTER E WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <E>       : "Ẽ̀"   # LATIN CAPITAL LETTER E WITH TILDE AND GRAVE
<dead_acute> <dead_tilde> <i>       : "ĩ́"   # LATIN SMALL LETTER I WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <i>       : "ĩ̀"   # LATIN SMALL LETTER I WITH TILDE AND GRAVE
<dead_acute> <dead_tilde> <I>       : "Ĩ́"   # LATIN CAPITAL LETTER I WITH TILDE AND ACUTE
<dead_grave> <dead_tilde> <I>       : "Ĩ̀"   # LATIN CAPITAL LETTER I WITH TILDE AND GRAVE
<dead_grave> <dead_tilde> <o>       : "õ̀"   # LATIN SMALL LETTER O WITH TILDE AND GRAVE
<dead_grave> <dead_tilde> <O>       : "Õ̀"   # LATIN CAPITAL LETTER O WITH TILDE AND GRAVE
<dead_grave> <dead_tilde> <u>       : "ũ̀"   # LATIN SMALL LETTER U WITH TILDE AND GRAVE
<dead_grave> <dead_tilde> <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

관점에서 볼 때, 나는 이것이 우리가 해결해야 할 문제라고 생각하지 않습니다. 가능한 모든 발음 구별 부호에 대해 Compose 파일에 추가 줄을 추가하는 것은 낭비인 것처럼 보이며 유니코드에서 사용하기를 원하는 발음 구별 부호의 좋은 조합을 활용하지 않습니다. 간단.

이 .XCompose를 삭제하기 전에 내가 발견한 흥미로운 점 중 하나는 터미널에서 GTK 프로그램을 실행하면 다음과 같은 오류가 발생한다는 것입니다.

(gedit:7229): Gtk-WARNING **: 23:03:04.848: GTK+ supports to output one char only: "g̃" gtilde: <dead_tilde> <g> : "g̃" gtilde

그렇다면 이것이 GTK 문제일까요? 계속해서 추적하려고 노력할 예정이지만 어떤 도움이라도 주시면 감사하겠습니다.

편집 2: 관련 GTK 문제

내 해결책은 이 문제를 해결하는 것 같습니다.https://gitlab.gnome.org/GNOME/gtk/-/issues/186

답변1

내가 읽은 바에 따르면 표준 xkb를 사용하면 운이 좋지 않을 것입니다. 왜냐하면 xkb를 사용하면 데드 키 조합의 출력이 0(두 번째 키가 유효한 시퀀스와 일치하지 않는 경우)이거나 유니코드 코드 포인트.

테스트할 X를 실행하는 Ubuntu가 없으므로 이 제안을 테스트할 수는 없지만 귀하의 솔루션은 다음을 사용하는 것으로 전환하는 것입니다., 데드 키 조합에 대한 다중 코드 포인트 출력을 지원합니다. uim설정 방법을 읽을 수 있습니다.위키북또는에서이 게시물(그러나 다른 문제를 해결하고 있으므로 전체 기사를 따르지 마십시오.)

내가 인용한 게시물에서는 단일 문자를 출력하는 동시에 'b2개의 문자 시퀀스를 출력하는 방법을 보여줍니다 . 그들은 데드 키를 만든 다음 명시적으로 데드 키 시퀀스를 구성하고 키보드의 다른 99개 문자에 대해 이를 반복하여 이 문제를 해결했습니다 . 그렇게 멀리 갈 필요는 없습니다.'b'aá''b

.XCompose필요한 파일을 만들었습니다 . uim으로 전환하는 일만 남았습니다.

답변2

방금 Ubuntu 20.04로 업그레이드했는데 이제 .XCompose솔루션이 완벽하게 작동합니다! 따라서 이것이 최선의 솔루션이어야 합니다. .XCompose아래와 같이 홈 디렉터리에 파일을 만들거나 기존 파일에 추가하면 됩니다 .

include "%L"

<dead_tilde> <g> : "g̃" gtilde
<dead_tilde> <G> : "G̃" Gtilde

관련 정보