Mes linuxeries

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 7 janvier 2010

Rajouter facilement la date à une photo

Une petite commande toute bête pour rajouter la date facilement à une photo d’après les données EXIF (il faut que le logiciel ImageMagick soit installé) :

convert nom_du_fichier_source.jpg -gravity SouthEast -font Fudd-Regular -pointsize 40 -fill white -annotate +20+20 "%[exif:DateTimeOriginal]" -quality 100 nom_du_fichier_destination.jpg

Bien sûr, on peut mettre une autre police en argument à la place de Fudd-Regular.

Pour connaître les noms de polices qu’on peut utiliser avec la commande convert :

convert -list font

Pour -gravity, on peut choisir NorthWest, North, NorthEast, West, Center, East, SouthWest, South, ou encore SouthEast.

Pour -pointsize, on peut choisir une autre taille. Pareil pour -fill, pour choisir une autre couleur. Pour connaître toutes les couleurs utilisables :

convert -list color

L’avantage de la commande convert, c’est qu’elle fait sa modification dans un nouveau fichier, sans toucher à l’original. Son inconvénient est de ne pas agir par lot, sur plein de fichiers à la fois. On peut donc à la place utiliser la commande mogrify, comme ça :

mogrify -gravity SouthEast -font Fudd-Regular -pointsize 40 -fill white -annotate +20+20 "%[exif:DateTimeOriginal]" -quality 100 *.jpg

Là, ce sont toutes les images du répertoire présent qui seront modifiées d’un seul coup, sans copie de sauvegarde — attention donc à bien avoir fait une copie dans un autre répertoire, si on veut conserver les originaux.

Plus sympa : pour que la date soit bien visible, même sur fond blanc, on peut entourer les chiffres d’un liseré noir. En fait, ça revient à écrire deux fois le texte, une fois en gros traits noirs sans remplissage, et une autre fois, sans gros traits noirs mais en remplissage blanc. Comme ça :

convert image_source.jpg -gravity SouthEast -stroke black -strokewidth 4 -font Fudd-Regular -pointsize 40 -annotate +20+20 "%[exif:DateTimeOriginal]" -stroke none -font Fudd-Regular -pointsize 40 -fill white -annotate +20+20 "%[exif:DateTimeOriginal]" -quality 100 image_destination.jpg

Par contre, la date Exif sera complète, et au format américain, comme par exemple : 2009:02:26 18:23:29. Dommage, ça sera sympa d’avoir seulement Fév. 2009, mais pour ça, il faut faire de la vraie programmation, et ça, je sais pas faire.

vendredi 30 janvier 2009

Rajouter les points de suspension, l’apostrophe arrondie et le tiret demi cadratin

Voilà une astuce pour ceux qui font très attention à la bonne tenue typographique de ce qu'ils écrivent. Les textes issus de l'ordinateur se sont trop appauvris, suite à l'appauvrissement de notre clavier français, issu plus de la préhistoire des machines à écrire et des besoins de l'informatique américaine que des besoins de la belle typographie.

Dans la disposition clavier fournie par Mandriva lors de l'installation, si on trouve facilement le œ et le Œ, ainsi que les À, Ç et autres « », il manque quand même le tiret demi cadratin – qui sert à indiquer une incise, comme ici, et qui est un peu plus long que le tiret - –, l’apostrophe arrondie, et les points de suspension en tant que véritable caractère d'imprimerie autonome, et non pas une suite de trois points. …, c'est pas pareil que ... ! Essayez de sélectionner l'un et les autres avec la souris pour comprendre.

Voilà trois petites lignes de commande qu'on peut soit lancer dans un terminal, soit inclure dans un script de démarrage. Moi, je les ai tout simplement rajoutées dans mon fichier .fluxbox/startup :

xmodmap -e "keycode 59 = semicolon period ellipsis multiply ellipsis multiply"
xmodmap -e "keycode 15 = minus 6 bar endash bar endash"
xmodmap -e "keycode 13 = rightsinglequotemark 4 braceleft dollar braceleft dollar"


Avec ça, le … s’obtient par AltGr-; ; le – par Maj-AltGr-- ; et le ’ par ’ tout simplement. Si on veut le tiret cadratin, plus long que le demi cadratin, il faut remplacer endash par emdash (c'est rapport à la longueur du tiret : le endash est long comme un n, tandis que le emdash est long comme un m ; et dash veut dire tiret, en anglais).

Voici les deux pages qui m'ont bien aidé pour cette astuce : http://wiki.mandriva.com/fr/Quelques_keysyms_repr%C3%A9sentant_des_caract%C3%A8res_affichables et http://wiki.linuxquestions.org/wiki/List_of_Keysyms_Recognised_by_Xmodmap
Les pages man de xmodmap, ainsi que l'utilisation du logiciel xev (à installer avec urpmi) m'ont aussi été d'un grand secours.

En fait, le plus dur, pour trouver le bon keysym, a été de trouver comment on disait « point de suspension » en anglais ! On dit « ellipsis », comme je l'ai appris sur cette page de Wikipedia : http://en.wikipedia.org/wiki/Ellipsis. Cette page-là aussi fut instructive : http://en.wikipedia.org/wiki/Apostrophe.
Une autre page passionnante sur le juste emploi des cadratins et demi-cadratins : http://www.druide.com/points_de_langue_28.html.