Gdy układ języka zostanie zmieniony na język od prawej do lewej; w niektórych miejscach standardowych edycji (np pasku adresu przeglądarki Google Chrome), postacie podoba <
, {
i [
stają się automatycznie >
, }
a ]
po prostu zmieniając układ językowy.
Czy istnieje sposób, aby temu zapobiec i zapewnić stabilność tych postaci?
keyboard-layout
input-language
rtl
nano - połącz mnie
źródło
źródło
Odpowiedzi:
Nie rozumiem, co masz na myśli po raz pierwszy, ponieważ się z tym zapoznałem. Myślę, że będzie OK, jeśli możesz spodziewać się rezultatów.
Takie zachowanie jest standardem z dwukierunkowego algorytmu Unicode . Zatem dominujący kierunek BiDi pochodzi od pierwszego silnego charakteru w akapicie.
Więc co myślę, że dzieje się w tym przypadku:
Pierwszy kierunek z pustym polem tekstowym pochodzi z konfiguracji ustawień regionalnych / językowych. Jak powiedziałeś arabski jest językiem RTL. Więc kursor po prawej stronie.
Dane wejściowe,
<
ale pokazane jako>
. Jest neutralny, więc nie wpływa na kierunek. Dlaczego jest odwrócony? Krótka odpowiedź: standard Unicode, :) i tak to zaakceptuj. No cóż, jego nazwa to Mniej niż znak , więc ... W RTL / arabskim formuła zaczyna się od prawej strony, należy ją odwrócić. Jak myślisz ... nie? !!!Wpisz znak łaciński
g
. Jest to mocny L (lewy) znak, więc ten akapit jest wykrywany jako LTR.Backspace do usunięcia
g
. Ale zauważ, gdzie jest kursor.Teraz, na przykład
[
, został źle nazwany Lewy nawias kwadratowy . Powinno to być coś w rodzaju otwartego nawiasu kwadratowego (jest neutralny BiDi i odwrócony w RTL)Wszyscy programiści starają się przestrzegać standardów. Więc teraz zmuszą pole tekstowe do RTL lub LTR, Auto jest najlepsze dla większości użytkowników.
Dla ciebie najlepszą rzeczą, jaką mogę zaoferować, jest użycie Unicode BiDi Control Char.
W pustym pasku adresu pojawia się Ctrl+ Shift+ u, małe podkreślone
u
, wprowadź200f
wtedyEnterZobacz
<
nie odwrócił się jako LTR.Ctrl+ Shift+ ujest specyficzny dla GTK / Gnome. KDE tęskni za taką opcją i wydaje się, że nie została naprawiona, ponieważ ten raport o błędzie wspomina o konflikcie między KDE / Qt / Xorg. Potrzebuje sposobu na wstawianie dowolnych znaków Unicode w Kubuntu .
Ponieważ jest to tylko kwestia kilku znaków, możesz mapować niepotrzebne klucze lub mapować nieużywane. Na przykład używam US English (międzynarodowe martwe klawisze AltGr)
Otwórz
xkb
plik układu do edycji:Poszukaj definicji grupy o tej samej nazwie:
Spójrzmy jako przykład
r
(łatwy do zapamiętania) ,: AltGr+ r→ RLM, Shift+ AltGr+ r→ LRM. Zamiastë
&Ë
. Zastąpić:Z:
Zaktualizuj xkb
Przełącz na inny układ, a następnie z powrotem, będzie on natychmiast aktywny.
Uwagi:
Użyj tej samej metody, aby dodać je do arabskiego układu, jeśli chcesz móc używać go z obu układów.
Możesz używać
U+061C arabic letter mark (ALM)
zamiast RLM, ponieważ jesteś użytkownikiem arabskim.xkb
obsługuje inny format wprowadzania kodu Unicode, np0x100200f
.U200F
(tj.0x100
jako prefiks)Aby uniknąć zastąpienia zmodyfikowanej mapy kluczy
xkb-data
aktualizacjami, najlepiej jest utworzyć nową niestandardową mapę XKB. Zobacz Jak dodać nowy układ klawiatury (definicja niestandardowego układu klawiatury) lub Jakie są kroki potrzebne do utworzenia nowego układu klawiatury w Ubuntu?Możliwe jest dodanie wszystkich innych znaków kontrolnych Unicode. Niektóre aplikacje mają już opcję w menu podręcznym w polu tekstowym wprowadzania wielu wierszy. Przykład Poedit:
Miło przeczytać, aby lepiej zrozumieć:
Bibliografia:
Jak wprowadzić dowolny kod Unicode niedostępny na klawiaturze, zobacz Nie można wpisać „ć” na węgierskim układzie
Howto: niestandardowe definicje układu klawiatury
0x100
prefiks)źródło
0x100200F
, nie wiem, czy to to samo, coU200F
.