libexif -------
libexifは、EXIFデータの解析、編集、保存を行うためのライブラリです。コマンドラインユーティリティやGUIプログラムにおける多くの重複した実装を置き換えることを目的としています。
libexifは、EXIFデータの解析、編集、保存をサポートしています。さらに、gettext対応も行っています。EXIF標準2.1(および2.2の大部分)で説明されているすべてのEXIFタグがサポートされています。Canon、Casio、Epson、Fuji、Nikon、Olympus、Pentax、Sanyoのカメラからの多くのメーカーノートもサポートされています。
libexifはプレーンCで書かれており、追加のライブラリは必要ありません。利用可能な場合、言語翻訳にGNU gettextが使用されます。
libexifは一部のメーカーノートのみを処理でき、それらもあまりうまく処理できません。さらなる作業が必要です。libmnoteはlibexifに統合されたため、もはや必要ありませんのでご注意ください。
libexif APIはdoxygenを使用して文書化されており、その結果はhttp://libexif.sourceforge.net/api/で入手可能です。
testディレクトリ内の短いテストプログラムは、有効なEXIFデータをゼロから作成する方法、EXIFデータを保存する方法、メモリ内のデータからEXIFデータを読み込む方法を示しています。また、contrib/examples/ ディレクトリにはいくつかの簡単なサンプルプログラムがあります。libexifの使用方法についてご質問があれば、[email protected]までお気軽にお問い合わせください。
自分のパッケージにlibexifをリンクするには、pkgconfigユーティリティの使用をお勧めします(http://www.freedesktop.org/wiki/Software/pkg-config/ 参照)。便利なように、libexifはlibexif-uninstalled.pcとlibexif.pcの両方を提供しています。
現在、以下のlibexifのフロントエンドを知っています:
プログラムをlibexifに移行したり、EXIFサポートを追加したい場合は、遠慮なく作者に連絡してください。
libexifを使用または影響を受けた以下のライブラリを知っています:
libexifをビルドするために何をすべきかは、お使いの環境に大きく依存します。ソースのtarボールからビルドする場合、通常は以下のコマンドが必要です。
./configure make sudo make install
CVSからソースをビルドする場合は、以下のような手順が必要になります。
gettextize mv po/Makevars.template po/Makevars aclocal -I auto-m4 -I m4m autoheader libtoolize --force automake --add-missing autoconf ./configure make
または、おそらく次のように簡単に行えます。
autoreconf -i ./configure make
標準の引数に加えて、configureはlibexif固有のいくつかのオプションを受け取ります。
--disable-docs To disable producing any documentation --enable-internal-docs Build internal code docs if Doxygen available --enable-ship-binaries To include Windows DLLs in 'make dist'
特定の特殊なアプリケーションは、configure時にCPPFLAGS環境変数で以下のマクロの一方または両方を設定することで、libexifバイナリのサイズを削減できます。各マクロはバイナリから特定の種類のテキスト文字列と定数を削除します。特定の既知のEXIFタグにアクセスする必要があり、そのデータの意味を事前に把握しているアプリケーションは、これらの文字列を必要とせず、それらを削除することでかなりの容量を節約できます。
-DNO_VERBOSE_TAG_STRINGS Names and descriptions of EXIF tags, debug messages, mandatory EXIF fields (disabling auto-tag-fixup) -DNO_VERBOSE_TAG_DATA Names of enumerated tag data contents
libexifの翻訳は、libexifプロジェクト直接、または翻訳調整サイト(Translation Project http://translationproject.org/domain/libexif.html および Launchpad https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12)のいずれかを介して、ボランティアが独自に行っています。Translation Projectが調整する言語翻訳の更新は、そのウェブサイトを通じて行う必要がありますが、その他の言語はLaunchpad(推奨)またはlibexif開発者メーリングリストに直接更新を送信することで更新できます。現時点では、以下の言語はTranslation Projectを通じて更新する必要があります: cs da de es fr it ja nl pl sk sv uk vi
libexifを新しい言語に翻訳することに興味がある場合は、上記の翻訳グループのいずれかに参加し、彼らが構築したシステムを活用することをお勧めします。Translation Projectではlibexifに対する翻訳の免責事項は必要ありません。翻訳を行うことで、libexifの他の部分と同じライセンス条件(LGPL)で提供することに暗黙的に同意したことになります。
libexifは当初、Curtis Galloway [email protected]によって書かれました。元の設計では編集と保存がサポートされていなかったため、Lutz Mueller [email protected]がlibexifをゼロから書き直しました。それ以来、さらに多くの人々がlibexifに貢献しています。
EXIFに関する詳細情報に興味がある場合に役立つリンクです。