Apostrophe

De Disposition de clavier bépo
Version datée du 15 juin 2014 à 00:31 par Ariasuni (discussion | contributions) (→‎Modification du fichier xkb : correction d’un bug + modification des commentaires)

En typographie française, l’apostrophe doit être courbe : c’est en effet une virgule en l’air ! Or, elle n’est pas présente sur la plupart des dispositions, qui proposent uniquement l’apostrophe « droite » : '. La disposition bépo propose une solution à ce problème, sans pour autant trouver de consensus auprès de ses utilisateurs – les vieilles habitudes ont la peau dure.

Les différents caractères représentant l’apostophe

Apostrophe « ' » U+0027

Pour :

  • c’est le caractère vendu comme étant l’apostrophe sur tous les claviers actuellement disponibles, hors bépo, quelles que soient les langues ;
  • il sert fréquement de délimiteur d’expression dans une recherche de texte ;
  • tous les programmes le reconnaissent comme une apostrophe (certains éditeurs savent le remplacer à la volée par l’apostrophe courbe) ;
  • il est distingué par la syntaxe Unicode des guillemets (les guillemets Unicode vont par paire : ouvrant et fermant).

Contre :

  • son œil (son absence…) est différent de celui préconisé pour l’apostrophe française (la virgule en l’air).

Sur la disposition bépo, l'apostrophe droite est située sur la dernière rangée, entre les touches clavier bépok et clavier bépoq.

Apostrophe typographique « ’ » U+2019

Aussi nommée guillemet-apostrophe, rightsinglequotationmark dans xkb et compose, « ’ » en HTML 4, « rsqm » pour les intimes.

Pour :

  • est indiqué par le consortium Unicode comme étant le caractère à préférer pour l’apostrophe ;
  • plusieurs traitements de textes remplacent automatiquement l’apostrophe U+0027 par ce caractère ;
  • il est très souvent employé en fonction d’apostrophe et par les meilleures sources typographiques ;
  • son homologue ouvrant « ‘ » n’étant pas utilisé en français, on ne peut pas le confondre avec un guillemet dans un texte rédigé en français.

Contre :

  • il n’est pas disponible en ISO-8859-15, donc n’est pas géré par tous les logiciels ;
  • comme l’espace insécable vis-à-vis de l’espace, il peut provoquer certains bugs s’il est utilisé par inadvertance dans des scripts.

Sur la disposition bépo, l'apostrophe typographique est située sur la rangée du milieu, entre les touches clavier bépoe et clavier bépoc, en clavier bépoAltGr+clavier bépo,.

Modificateur apostrophe « ʼ » U+02BC

Il s’agit d’un modificateur d’espace, en fait une autre version de l’accent U+0313.

Unicode 5.0 nous informe à son propos :

  • = apostrophe
  • glottal stop, glottalization, ejective
  • spacing clone of Greek smooth breathing mark
  • many languages use this as a letter of their alphabets

Contre :

  • ne correspond pas à l’utilisation de l’apostrophe en français : ce caractère est utile pour les langues où l’apostrophe est une lettre à part entière et non une marque d’élision. Ainsi « jusqu’ici », avec cette apostrophe est lu comme un mot de 9 lettres, au lieu de deux mots de cinq et trois lettres respectivement !
  • c’est un caractère encore plus rare (donc encore plus mal pris en charge) que U+2019.

Sources

Inverser l’apostrophe droite et l’apostrophe typographique

Sous GNU/Linux

Xmodmap

C’est la manière la plus simple de procéder, qui fonctionne pour un utilisateur. Il faut installer Xmodmap si ça n’est pas déjà le cas (x11-xserver-utils sous Debian/Ubuntu, xorg-xmodmap sous Arch Linux). De plus, pour passer à une autre disposition, il faut utiliser setxkbmap (sinon la touche g en azerty sortira une virgule et la touche q sortira une apostrophe typographique).

Il suffit ensuite de créer le fichier .Xmodmap contenant ceci:

keycode  42 = comma semicolon comma semicolon apostrophe dead_horn apostrophe
keycode  57 = rightsinglequotemark question rightsinglequotemark question questiondown dead_hook questiondown

Il sera normalement automatiquement exécuté lors du lancement de votre session. Si cela ne marche pas ou si vous souhaitez appliquer les changements immédiatement, vous pouvez utiliser la commande xmodmap ~./Xmodmap.

Vous pouvez aussi créer un fichier apostrophe_typo.sh contenant ceci :

#!/bin/sh
 
# Pour mettre l’apostrophe droite au lieu de la place originale de l’apostrophe typographique:
xmodmap -e "keycode  42 = comma semicolon g G apostrophe dead_horn rightsinglequotemark yen g G"

# Pour mettre l’apostrophe typographique à la place de l’apostrophe droite:
xmodmap -e "keycode  57 = rightsinglequotemark question n N questiondown dead_hook notsign rightarrow n N"

puis lui donner les droits d’exécution (chmod u+x apostrophe_typo.sh). Vous pouvez ensuite l’exécuter (./apostrophe_typo.sh) et l’ajouter aux programmes qui se lancent au démarrage de votre session (cette procédure dépend de votre système, veuillez consulter le forum en cas de problème).


Modification du fichier xkb

Cette méthode est plus contraignante car comme elle nécessite des droits superutilisateur pour modifier un fichier système. De plus, chaque mise à jour de xkb-data (sous Debian/Ubuntu, sous Arch Linux le paquet est nommé xkeyboard-config) écrasera les modifications, il faudra donc relancer le script.

D’abord, enregistrez le texte ci-dessus dans un fichier nommé bepo-mod.py.

#!/usr/bin/python3

import os
import subprocess
import sys


MAIN_PATH = '/usr/share/X11/xkb/symbols/fr'
BACKUP_PATH = MAIN_PATH + '.bck'


if os.getuid() != 0:
     print("vous devez lancer ce script avec les droits d’administration.")
     sys.exit(0)

# création sauvegarde si inexistante ou fichier plus récent (après mise à jour)
subprocess.check_call(['cp', '-u', MAIN_PATH, BACKUP_PATH])

f = open(MAIN_PATH, 'r+')
string = f.read()  # récupération du contenu du fichier

# liste des modifications ('original': 'modification')
modifications = {
    'key <AC05> { [           comma,    semicolon, rightsinglequotemark, dead_horn ] };':
        'key <AC05> { [           comma,    semicolon,      apostrophe,      dead_horn ] };',
    'key <AB06> { [      apostrophe,     question,   questiondown,      dead_hook ] };':
        'key <AB06> { [ rightsinglequotemark, question,        questiondown, dead_hook ] };'
    }

# application de chaque modification
for (original, modification) in modifications.items():
    string = string.replace(original, modification)

f.seek(0)  # déplacement au début du fichier
f.write(string)  # écriture du contenu

Pour l’utiliser, il suffit de faire sudo python3 bepo-mod.py. Le script sauvegardera automatiquement le fichier de configuration /usr/share/X11/xkb/fr sous le nom /usr/share/X11/xkb/fr.bck.

Sous Windows

D’après ce sujet sur le forum, il faut utiliser Autohotkeys et utiliser ce script :

Process, Priority, , High
SendMode Input

; inversion des apostrophes
$<^>!,::Send '
$'::Send ’