12 July 2020

Gimp 2.10でPENTAXのExifデータが保存されないバグを回避する

jpegファイルのexifで、「Make」タグが" PENTAX " (大文字小文字を区別) の場合のみ、Gimp version 2.10でexifヘッダが保存できないバグがある。

この問題の詳細は、次のWebページにも書かれているが、マイナーなカメラメーカーのためGimp側のバグフィックスは入らないようだ
Gitlab (Gimp) 掲示板 『stripped exif data if Camera make is "PENTAX"
バーr……blog のようなもの 2018 年 09 月 : PENTAX ユーザを地獄に落とす GIMP 2.10.6 のバグについて

Gimp 2.10固有のバグのため、本来ならGimpのソースコードを修正すべきだが、バグの場所を探しきれなかったため、jpegファイル側に小細工を加えることにする。

fix_pentax.sh
#!/bin/sh
 
# jpegファイル(複数 可)が格納されているディレクトリで、このスクリプトを実行すると、
# Make = "PENTAX" の全てのファイルが Make = "PENTAX Corp." に書き換わる
 
for FILEPATH in *
do
    EXT=${FILEPATH##*.}
    if [ -f "$FILEPATH" ]
    then
        if [ $EXT = "jpg" -o $EXT = "jpeg" -o $EXT = "JPG" -o $EXT = "JPEG" ]
        then
            EXIF_MAKE=`exiftool -s -s -s -Make "$FILEPATH"`
            if [ -n "$EXIF_MAKE" -a  "$EXIF_MAKE" = "PENTAX" ]
            then
                exiftool -overwrite_original -Make="Pentax Corp." "$FILEPATH"
            fi
        fi
    fi
done