Existe-t-il un moyen universel d'écrire des caractères Unicode?

18

Je veux parfois écrire des caractères Unicode spéciaux, comme un tiret cadratin (-), dans divers programmes comme vim, Chrome (comme maintenant!), Ou LibreOffice.

Dans LibreOffice, je peux y parvenir via une boîte de dialogue dédiée située sous le menu Insertion. D'autres programmes ne semblent pas avoir de méthode intégrée. Ma solution dans ces cas est de rechercher le personnage sur Wikipedia, de le copier et de le coller.

Existe-t-il un moyen universel d'écrire des caractères Unicode dans n'importe quel programme qui accepte la saisie de texte sous Linux sans avoir à copier et coller quelque part où il est déjà imprimé?

drs
la source
Vous pourriez avoir une recherche pour "entrée Unicode" sur Wikipedia. Maintenant mentionné dans ma réponse.
vinc17
Dans LibreOffice (et MS Office), il existe également une liste de substitutions automatiques, comme (C)-> ©. Très souvent, les gens se configurent en --tant que en-dash et ---em-dash.
Simon Richter
Is there a universal way...Non. (Je ne connais pas de manière "universelle" de faire quoi que ce soit via la programmation.)
user2338816

Réponses:

14

Soit vous pouvez activer une Composetouche, soit vous pouvez appuyer sur CtrlShiftUsuivi du nombre hexadécimal Unicode du caractère (les zéros en tête peuvent être ignorés). Par exemple, Æ est CtrlShiftUalors C6. Cela fonctionne sur GNOME Terminal, Terminator, Google Chrome et un certain nombre d'autres applications, avec Xterm (et selon les commentaires, Emacs) ne fonctionne pas.

Sur GNOME, pour l'activer Compose, accédez aux paramètres du clavier, puis RaccourcisSaisieTouche de caractères alternatifs et mappez-la à quelque chose (par exemple, Right Alt). Ensuite, vous appuyez sur la Composetouche et - trois fois pour obtenir un tiret cadratin: -. (Les flèches de ce paragraphe sont toutes Compose->.)

entrez la description de l'image ici

muru
la source
2
La solution Ctrl + Shift + u ne fonctionne pas dans Xterm et dans Emacs. Cela ne fonctionne pas non plus dans Firefox.
vinc17
2
@ vinc17 cela fonctionne pour Firefox pour moi. Je n'ai ni Xterm ni Emacs pour tester.
muru
Hmmm, oui, cela fonctionne dans Firefox, mais je dois taper la touche Espace après la séquence hexadécimale. En tout cas, ce n'est pas universel, mais probablement une fonctionnalité ajoutée par certaines applications (ou certains gestionnaires de fenêtres?). De plus, cela ne fonctionne pas dans Opera.
vinc17
AltGr est juste un modificateur pour obtenir des combinaisons de touches supplémentaires. C'est ce que j'utilise pour entrer les caractères répertoriés dans ma réponse (par exemple Shift + AltGr + [donne ←). Mais l'utilisateur peut également mapper des caractères à d'autres touches telles que des touches de fonction; c'est ce que je fais pour obtenir les caractères accentués français: éèêëâîôûàùïç. Tout se fait via les paramètres XKB.
vinc17
@ vinc17 J'ai fait un échec épique. Je parlais de Compose et j'ai dit AltGr à la place.
muru
7

La meilleure façon est toujours de taper le caractère sur votre clavier. Grâce à XKB , vous pouvez lier des caractères Unicode arbitraires à des combinaisons de touches. Par exemple, avec la personnalisation de l'utilisateur XKB , je peux taper directement: ← → ↑ ↓… € ½ «» - - ± ≠ ∩ ∪ ⊂ ∧ ∨ ∀ ∃ √ ∞ ≤ ≥, etc.

Remarque: dans le cas particulier de GNU Emacs, la composition Unicode peut être effectuée via Ctrlx+ 8+ Return. Voir Ctrlx+ 8+ Ctrlhpour des méthodes supplémentaires.

"Saisie Unicode" sur Wikipédia donne des informations sur la saisie Unicode ISO 14755 selon le contexte, en particulier pour X11 avec quelques toolkits et pour des applications spécifiques (Emacs, Opera, Vim).

Alternativement, vous pouvez utiliser la Composeclé avec des paramètres définis par l'utilisateur (car les paramètres par défaut sont loin d'être complets). La documentation est fournie par la Compose(5)page de manuel. Par exemple, écrivez un fichier $HOME/.XComposecontenant:

include "%L"
<Multi_key> <bracketleft> <c>           : "⌈" U2308 # LEFT CEILING
<Multi_key> <bracketright> <c>          : "⌉" U2309 # RIGHT CEILING
<Multi_key> <bracketleft> <f>           : "⌊" U230A # LEFT FLOOR
<Multi_key> <bracketright> <f>          : "⌋" U230B # RIGHT FLOOR

La include "%L"ligne charge d'abord le fichier de composition par défaut (spécifique aux paramètres régionaux), et les quatre lignes suivantes ajoutent des paramètres définis par l'utilisateur, tels que: Compose+ [+ cdonne le caractère de plafond gauche "⌈" (U + 2308).

vinc17
la source
Vous n'avez pas besoin de XKB pour lier des caractères Unicode à des combinaisons de touches, vous pouvez également le faire avec xmodmap. Vous ne pourrez cependant pas atteindre tous les personnages Unicode de cette façon, il y en a tout simplement trop.
Gilles 'SO- arrête d'être méchant'
1
@Gilles xmodmap n'est pas aussi puissant que XKB et j'ai eu des problèmes avec lui dans le passé . D'où mon passage à XKB. De plus, je n'utilise pas tous les caractères Unicode. Pour les caractères rares, un sélecteur à l'écran peut être la meilleure solution, car on peut ne pas connaître leur point de code et comment les saisir.
vinc17
Je ne comprends pas comment entrez-vous ∩ ∪ ⊂ ∧ ∨ ∀ avec compose. Le reste «» € ₤ ö etc. fonctionne. Mais pas les symboles mathématiques.
Igor Chubin
@IgorChubin Je n'utilise pas de composition, juste ISO_Level3_Shift(alias AltGr). Je viens de modifier ma réponse pour donner un lien vers ma page Web expliquant la personnalisation de l'utilisateur XKB .
vinc17
@ vinc17 Merci, je vais en savoir plus à ce sujet. Connaissez-vous des avantages de cette méthode par rapport à la composition?
Igor Chubin
2

Comme décrit en détail dans ce post , il existe un excellent moyen d'ajouter des clés unicode sans avoir à se souvenir de combinaisons de touches maladroites ou à utiliser des menus déroulants.

Cela revient à utiliser Autokey , qui peut prendre n'importe quel ensemble de touches comme déclencheur pour exécuter un script ou coller une phrase. Dans ce cas, votre phrase est simplement le caractère unicode que vous souhaitez.

Comme le décrit l'article, une bonne façon de le faire est de suivre LaTeX, mais avec une barre oblique plutôt qu'une barre oblique inverse. Par exemple, taper / delta n'importe où (navigateur, bureau libre, etc.) sera automatiquement converti en δ.

hugke729
la source