Per archiviare i commenti relativi alle foto digitali si è deciso di utilizzare lo standard Exif.
Come riportato dall'articolo della Wikipedia, lo standard Exif ha diversi limiti, soprattutto la scarsa estendibilità che ha generato tante estensioni proprietarie. Si deve verificare con cura che il software utilizzato sappia gestire le estensioni Exif, soprattutto evitando di danneggiarle quando si modifica l'immagine.
Comunque lo standard è abbastanza diffuso e documentato, ampia anche la scelta del software per gestirlo. La comodità principale è quella di avere commento e foto nello stesso file. Fare attenzione: ci potrebbero essere problemi di privacy divulgando un'immagine senza ricordarsi che essa contiene anche il commento scritto.
Lo standard Exif ha origine ed estende il meccanismo di tag che si possono aggiungere ad un file TIFF, qui abbiamo un documento che ne descrive la struttura.
Il tag scelto per contenere il commento è UserComment (tag ID 0x9286), poiché può gestire il set di caratteri Unicode (a differenza di ImageDescription). Si tratta di un tag privato Exif, cioè non fa parte dell'insieme dei tag originali TIFF.
Ho scritto un piccolo programma Python di nome exif-comment-edit
che consente di editare lo UserComment tramite una dialogbox grafica. È molto comodo come plugin dei visualizzatori di immagini (tipo geeqie). Lo potete scaricare da questa pagina.
Il programma per aggiungere/modificare il commento ad una foto è exiv2
, si è scelto questo perché supporta il set di caratteri Unicode. Gira in ambiente GNU/Linux e si usa da riga di comando. Per visualizzare i campi Exif:
exiv2 IMG_0269.JPG Filename : IMG_0269.JPG Filesize : 1578836 Bytes Camera make : Canon Camera model : Canon PowerShot A540 Image timestamp : 2007:02:11 17:06:42 Image number : 100-0269 Exposure time : 1/40 s Aperture : F5.6 Exposure bias : 0 Flash : (80) Flash bias : 0 EV Focal length : 7.9 mm Subject distance: 59 ISO speed : 100 Exposure mode : Manual (M) Metering mode : Matrix Macro mode : Off Image quality : Fine Exif Resolution : 2816 x 2112 White balance : Tungsten Thumbnail : JPEG, 3054 Bytes Copyright : Exif comment :
Con lo stesso programma si può cambiare il timestamp del file per farlo corrispondere a quello contenuto nei campi Exif, editando il campo UserComment infatti il timestamp del file viene modificato.
exiv2 -M "set Exif.Photo.UserComment Comment charset=Unicode Commento di Niccolò" IMG_2268.JPG exiv2 -T IMG_2268.JPG
Un altro esempio per aggiungere il tag Copyright in codifica ASCII:
exiv2 -M "set Exif.Image.Copyright Ascii CC-By-SA Niccolo Rigacci <niccolo@rigacci.org>" image.jpg
ATTENZIONE: non usare il programma exifcom
del pacchetto exiftags, non supporta i caratteri Unicode e non è in grado di allocare spazio per lo UserComment, al massimo consente di sovrascrivere quello esistente. Questo almeno alla versione 0.98.