Quando o layout do idioma é alterado para o idioma da direita para a esquerda; em alguns lugares de edição padrão (por exemplo, a barra de endereço do Google Chrome), personagens como <
, {
e [
tornam-se automaticamente >
, }
e ]
apenas mudando esquema de idioma.
Existe uma maneira de evitar isso e tornar esses caracteres estáveis?
keyboard-layout
input-language
rtl
nano - me mescla
fonte
fonte
Respostas:
Não entendi o que você quis dizer pela primeira vez, porque me familiarizei com isso. Eu acho que vai ficar tudo bem, se você pode esperar resultados.
Esse comportamento é um padrão do algoritmo bidirecional Unicode . Portanto, a direção BiDi dominante é tomada do primeiro caractere forte do parágrafo.
Então, o que eu acho que acontece neste caso:
A primeira direção com a caixa de texto vazia é obtida na configuração de local / idioma. Como você disse, o árabe é um idioma RTL. Então, cursor à direita.
Entrada,
<
mas mostrou como>
. É um caractere neutro, portanto não afeta a direção. Por que é invertido? Resposta curta: padrão Unicode, :) aceite isso de qualquer maneira. Bem, seu nome é menor que o sinal , então ... Em RTL / árabe, o início da fórmula do lado direito deve ser invertido. O que você acha ... não? !!!Insira um caractere latino
g
. É um caractere L (à esquerda) forte , portanto, este parágrafo é detectado como LTR.Backspace para excluir
g
. Mas observe onde está o cursor.Agora, por exemplo
[
, foi nomeado incorretamente colchete esquerdo . Deve ser algo como suporte quadrado aberto (é neutro em BiDi e invertido em RTL)Todos os desenvolvedores tentam seguir os padrões. Então, hoje em dia eles forçarão a caixa de texto a ser RTL ou LTR, o Auto é o melhor para a maioria dos usuários.
Então, para você, a melhor coisa que posso oferecer é usar o Unicode BiDi Control Char's.
Na barra de endereço vazio, Ctrl+ Shift+ u, pequenas sublinhadas
u
mostra-se, entra200f
em seguidaEnterVeja
<
não virou como LTR.Ctrl+ Shift+ ué específico ao GTK / Gnome. O KDE perde essa opção e parece não ter sido corrigido, pois este relatório de bug menciona o conflito entre o KDE / Qt / Xorg. Precisa de uma maneira de inserir caracteres Unicode arbitrários no Kubuntu .
Como é apenas uma questão de poucos caracteres, você pode remapear as chaves não necessárias ou mapear as não usadas. Por exemplo, estou usando inglês dos EUA (chaves estrangeiras internacionais AltGr)
Abra seu
xkb
arquivo de layout para edição:Procure a definição de grupo que com o mesmo nome:
Vejamos como exemplo
r
(fácil de lembrar) :: AltGr+ r→ RLM, Shift+ AltGr+ r→ LRM. Em vez deë
&Ë
. Substituir:Com:
Atualizar xkb
Alterne para outro layout e, em seguida, volte, ele será ativado imediatamente.
Notas:
Use o mesmo método para adicioná-los ao layout árabe, se você quiser usá-lo nos dois layouts.
Você pode usar, em
U+061C arabic letter mark (ALM)
vez do RLM, como um usuário árabe.xkb
suporta outro formato de entrada de código Unicode,0x100200f
eq.U200F
(ou seja,0x100
como prefixo)Para evitar a substituição do mapa de chaves modificado por
xkb-data
atualizações, o melhor é criar um novo mapa XKB personalizado. Consulte Como adicionar um novo layout de teclado (definição de layout de teclado personalizado) ou Quais são as etapas necessárias para criar um novo layout de teclado no ubuntu?É possível adicionar todos os outros caracteres de controle Unicode. Alguns aplicativos já têm uma opção no menu pop-up da caixa de texto de entrada de várias linhas. Exemplo Poedit:
É bom ler para entender melhor:
Referências:
Como inserir qualquer Unicode não disponível no teclado, consulte Não é possível digitar "ć" no layout húngaro
Como: Definições personalizadas de layout de teclado
0x100
prefixo)fonte
0x100200F
, em vez disso, não sei se é o mesmo queU200F
.