Caracteres estabilizadores como `<>`, `{}` e `[]`


8

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?


Você poderia adicionar uma vitrine com captura de tela.
user.dz

1
@ Sneetsher: precisa de um filme. adicionar árabe aos idiomas na barra de endereço do Chromium, digite o caractere <sozinho. Em seguida, altere o layout para inglês.
Nano - mescla-me

Respostas:


8

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:

    1. 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.

      caixa de texto vazia inicial, direção RTL

    2. 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? !!!

      caixa de texto com caractere neutro bidirecional

    3. Insira um caractere latino g. É um caractere L (à esquerda) forte , portanto, este parágrafo é detectado como LTR.

      caixa de texto com forte caractere esquerdo

    4. Backspace para excluir g. Mas observe onde está o cursor.

      caixa de texto com caractere neutro bidirecional após remover um caractere esquerdo forte

    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.

    U+200F right-to-left mark (RLM)
    
    1. Na barra de endereço vazio, Ctrl+ Shift+ u, pequenas sublinhadas umostra-se, entra 200fem seguidaEnter

      Entrada Unicode GTK / Gnome

    2. Veja <não virou como LTR.

      Direção RTL da força GTK / Gnome

    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)

    1. Abra seu xkbarquivo de layout para edição:

      sudo nano /usr/share/X11/xkb/symbols/us
      
    2. Procure a definição de grupo que com o mesmo nome:

      xkb_symbols "altgr-intl" {
      
          name[Group1]= "English (international AltGr dead keys)";
      
    3. Vejamos como exemplo r(fácil de lembrar) :: AltGr+ r→ RLM, Shift+ AltGr+ r→ LRM. Em vez de ë& Ë. Substituir:

      key <AD04> { [        r, R,           ediaeresis,   Ediaeresis      ] };
      

      Com:

      key <AD04> { [        r, R,           U200F,        U200E           ] };
      
    4. Atualizar xkb

      sudo dpkg-reconfigure xkb-data
      
    5. Alterne para outro layout e, em seguida, volte, ele será ativado imediatamente.

    Notas:

É bom ler para entender melhor:

Referências:


obrigado. para mim, ctrl + shift + u não funciona no KDE. provavelmente é unidade ou gnomo específico. Seria fantástico se alguns caracteres, por exemplo, ', [] {}', podem optar por não receber tratamentos específicos de direção (e sempre são registrados como ltr), para que sejam mais compatíveis com os símbolos do teclado e menos confusos.
Nano - mesclar-me

1
Você está certo, parece não ter sido corrigido no KDE, pois este relatório de bug menciona o conflito entre o KDE / Qt / Xorg. É necessário inserir caracteres unicode arbitrários no Kubuntu . Vou procurar se há alguma solução alternativa.
user.dz

@MinimusHeximus, atualizei minha resposta com a solução alternativa de entrada Unicode usando xkb. Eu tenho apenas Gnome / Unidade. Por favor, deixe-me saber se não funcionar no KDE.
user.dz

1
Parece que eu tenho que usar algo como 0x100200F, em vez disso, não sei se é o mesmo que U200F.
Nano - mescla-me

1
@MinimusHeximus, sim, é o mesmo " (De fato, essa pode ser uma maneira mais eficaz de adicionar novas academias de chaves.) O valor Unicode deve ser prefixado com" 0x100 "para descrever a chave para um único caractere. ", Ref: Wikilivros: Localização do Software Livre / Anexo B: Aspectos Técnicos . Obrigado, eu aprendi coisas novas com você.
user.dz
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.