| libexif |
| ------- |
| |
| DESCRIPTION |
| ----------- |
| |
| libexif is a library for parsing, editing, and saving EXIF data. It is |
| intended to replace lots of redundant implementations in command-line |
| utilities and programs with GUIs. |
| |
| |
| FEATURES |
| -------- |
| |
| libexif supports parsing, editing and saving of EXIF data. In addition, it |
| has gettext support. All EXIF tags described in EXIF standard 2.1 (and most |
| from 2.2) are supported. Many maker notes from Canon, Casio, Epson, |
| Fuji, Nikon, Olympus, Pentax and Sanyo cameras are also supported. |
| |
| |
| REQUIREMENTS |
| ------------ |
| |
| libexif is written in plain C and does not require any additional library. |
| GNU gettext will be used for language translation, if available. |
| |
| |
| LIMITATIONS |
| ----------- |
| |
| libexif can only handle some maker notes, and even those not very well. More |
| work needs to be done. Note that libmnote has been merged with libexif - it |
| is no longer needed. |
| |
| |
| USAGE |
| ----- |
| |
| We have documented the libexif API using doxygen and are making |
| the results available at http://libexif.sourceforge.net/api/ |
| |
| The short test programs in the test directory illustrates how to create |
| valid EXIF data from scratch, how to save EXIF data and how to load EXIF |
| data from data in memory. There are also a few simple example programs |
| available in the contrib/examples/ directory. Don't hesitate to contact |
| us at <libexif-devel@lists.sourceforge.net> if you have any questions |
| on how to use libexif. |
| |
| To link to libexif into your own package, we recommend using the |
| pkgconfig utility (cf. http://www.freedesktop.org/wiki/Software/pkg-config/ For |
| your convenience, libexif both provides libexif-uninstalled.pc and |
| installs libexif.pc. |
| |
| |
| FRONTENDS |
| --------- |
| |
| Right now, I know of the following frontends to libexif: |
| - exif: A small command-line utility to show EXIF information in JPEG |
| files (http://www.sourceforge.net/projects/libexif). |
| - gexif: A GTK+ frontend for editing EXIF data |
| (http://www.sourceforge.net/projects/libexif). |
| - gphoto2: A command-line frontend to libgphoto2, a library to access a |
| wide range of digital cameras (http://www.gphoto.org). |
| - gtkam: A GTK+ frontend to libgphoto2 (http://www.gphoto.org). |
| - thirdeye: Digital photos organizer and driver for eComStation |
| (http://ecomstation.ru/thirdeye). |
| - digikam: digital photo management application for KDE |
| (http://www.digikam.org/) |
| |
| If you would like to migrate your program to use libexif or add EXIF support |
| to it, don't hesitate to contact the authors. |
| |
| |
| LIBRARIES |
| --------- |
| |
| I know of the following libraries that use or have been inspired by libexif: |
| - libexif-gtk: library of widgets to help display EXIF tags in GTK |
| programs (part of the libexif project) |
| - pel: PHP-Code (http://pel.sourceforge.net) |
| |
| |
| BUILDING |
| -------- |
| |
| It really depends on your environment what to do in order to get libexif |
| to build. Building from the source tar ball usually involves the commands: |
| |
| ./configure |
| make |
| sudo make install |
| |
| When building from source out of CVS, something like the following will be |
| necessary: |
| |
| gettextize |
| mv po/Makevars.template po/Makevars |
| aclocal -I auto-m4 -I m4m |
| autoheader |
| libtoolize --force |
| automake --add-missing |
| autoconf |
| ./configure |
| make |
| |
| Or, probably just: |
| |
| autoreconf -i |
| ./configure |
| make |
| |
| Besides the standard arguments, configure takes several specific to 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' |
| |
| Certain specialized applications can reduce the size of the libexif |
| binary by setting one or both of the following macros in the CPPFLAGS |
| environment variable at configure time. Each one removes certain kinds of |
| text strings and constants from the binary. Applications which need |
| to access specific, known EXIF tags and know in advance the meaning of |
| their data have no need of those strings and can save considerable space |
| by eliminating them. |
| |
| -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 |
| |
| |
| INTERNATIONALIZATION |
| -------------------- |
| |
| The libexif translations are made by volunteers working on their own, |
| either directly with the libexif project or through one of two translation |
| coordination sites, the Translation Project |
| <http://translationproject.org/domain/libexif.html> and Launchpad |
| <https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12>. |
| Any updates to language translations coordinated by the Translation Project |
| must be made through their web site, but all other languages can be |
| updated either through Launchpad (preferred) or by sending updates to |
| the libexif developers mailing list directly. As of this writing, the |
| following languages must be updated through the Translation Project: |
| cs da de es fr it ja nl pl sk sv uk vi |
| |
| If you are interested in translating libexif into a new language, we |
| recommend that you join one of the above translation groups and take |
| advantage of the systems they have built to help you. A translation |
| disclaimer is NOT required for libexif at the Translation Project; by making |
| a translation, you agree implicitly to provide it under the same license |
| terms as the rest of libexif (LGPL). |
| |
| |
| AUTHORS |
| ------- |
| |
| libexif has originally been written by Curtis Galloway |
| <curtisg@users.sourceforge.net>. Because of the original design not |
| supporting editing and saving, Lutz Mueller <lutz@users.sourceforge.net> |
| rewrote libexif from scratch. Since then, many more people have contributed |
| to libexif. |
| |
| |
| LINKS |
| ----- |
| |
| Some links you might want to check out if you are interested in further |
| information about EXIF. |
| |
| - http://drewnoakes.com/code/exif: metadata extraction framework in Java |
| - http://www.exif.org: information about the EXIF standard. |
| - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html: Looks |
| like libexif in Perl. Seems to support a lot of MakerNotes. |