Lorsque la disposition de la langue est remplacée par une langue de droite à gauche; dans certains endroits d'édition standard (par exemple, la barre d'adresse de Google Chrome), des caractères comme <
, {
et [
deviennent automatiquement >
, }
et ]
simplement en changeant la disposition de la langue.
Existe-t-il un moyen d'empêcher cela et de rendre ces personnages stables?
keyboard-layout
input-language
rtl
nano - me fusionner
la source
la source
Réponses:
Je n'ai pas compris ce que vous voulez dire pour la première fois, car je me suis familiarisé avec cela. Je pense que ce sera OK, si vous pouvez vous attendre à des résultats.
Ce comportement est un standard de l' algorithme bidirectionnel Unicode . Ainsi, la direction BiDi dominante est tirée du premier caractère fort du paragraphe.
Donc, ce que je pense que cela se produit dans ce cas:
La première direction avec une zone de texte vide est tirée de la configuration locale / langue. Comme vous l'avez dit, l'arabe est une langue RTL. Alors curseur à droite.
Entrée,
<
mais il a montré que>
. C'est un caractère neutre donc aucun effet sur la direction. Pourquoi est-il retourné? Réponse courte: norme Unicode, :) acceptez cela quand même. Eh bien, son nom est moins que signe , donc ... En RTL / arabe, la formule commence par le côté droit, elle doit être inversée. Que pensez-vous ... non? !!!Saisissez un caractère latin
g
. C'est un fort caractère L (gauche), donc ce paragraphe est détecté comme LTR.Retour arrière à supprimer
g
. Mais remarquez où se trouve le curseur.Maintenant, par exemple
[
, il a été incorrectement appelé crochet carré gauche . Cela devrait être quelque chose comme un crochet carré ouvert (il est neutre BiDi et retourné en RTL)Tous les développeurs essaient de suivre les normes. Alors maintenant, ils forceront la zone de texte à être RTL ou LTR, Auto est le meilleur pour la plupart des utilisateurs.
Donc, pour vous, la meilleure chose que je puisse offrir est d'utiliser les caractères de contrôle Unicode BiDi.
Dans la barre d'adresse vide, Ctrl+ Shift+ u, de petits traits soulignés
u
apparaissent, entrez200f
puisEnterVoir
<
n'a pas basculé en LTR.Ctrl+ Shift+ uest spécifique à GTK / Gnome. KDE manque une telle option et elle ne semble pas être corrigée, car ce rapport de bogue mentionne le conflit entre KDE / Qt / Xorg Besoin d'un moyen d'insérer des caractères Unicode arbitraires dans Kubuntu .
Comme il ne s'agit que de quelques caractères, vous pouvez remapper les clés non nécessaires ou mapper celles qui ne sont pas utilisées. Par exemple, j'utilise l'anglais américain (touches mortes internationales AltGr)
Ouvrez son
xkb
fichier de mise en page pour le modifier:Recherchez la définition de groupe qui porte le même nom:
Regardons comme exemple
r
(facile à retenir),: AltGr+ r→ RLM, Shift+ AltGr+ r→ LRM. Au lieu deë
&Ë
. Remplacer:Avec:
Mettre à jour xkb
Basculez vers une autre mise en page puis revenez, elle sera active immédiatement.
Remarques:
Utilisez la même méthode pour les ajouter à la mise en page arabe, si vous souhaitez pouvoir l'utiliser à partir des deux mises en page.
Vous pouvez utiliser à la
U+061C arabic letter mark (ALM)
place de RLM car vous êtes un utilisateur arabe.xkb
prend en charge un autre format d'entrée de code Unicode, par exemple0x100200f
.U200F
(c'est-0x100
à- dire comme préfixe)Pour éviter d'écraser le mappage de clés modifié par des
xkb-data
mises à jour, le mieux est de créer un nouveau mappage XKB personnalisé. Voir Comment ajouter une nouvelle disposition de clavier (définition de disposition de clavier personnalisée) ou Quelles sont les étapes nécessaires pour créer une nouvelle disposition de clavier sur Ubuntu?Il est possible d'ajouter tous les autres caractères de contrôle Unicode. Certaines applications ont déjà une option dans le menu contextuel de la zone de texte de saisie multiligne. Exemple Poedit:
Agréable à lire pour une meilleure compréhension:
Références:
Comment entrer un Unicode non disponible sur le clavier, voir Impossible de taper «ć» sur la mise en page hongroise
Guide pratique: définitions de disposition de clavier personnalisées
0x100
préfixe)la source
0x100200F
place, je ne sais pas si c'est la même chose queU200F
.