7 libexif is a library for parsing, editing, and saving EXIF data. It is
8 intended to replace lots of redundant implementations in command-line
9 utilities and programs with GUIs.
15 libexif supports parsing, editing and saving of EXIF data. In addition, it
16 has gettext support. All EXIF tags described in EXIF standard 2.1
17 are supported. Many maker notes from Canon, Casio, Fuji, Nikon, Olympus,
18 Pentax and Sanyo cameras are also supported.
24 libexif is written in plain C and does not require any additional library.
25 GNU gettext will be used for language translation, if available.
31 libexif can only handle some maker notes, and even those not very well. More
32 work needs to be done. Note that libmnote has been merged with libexif - it
39 We have started documenting the libexif API using doxygen and are making
40 the results available at http://libexif.sourceforge.net/api/
42 Until someone writes some better documentation however, you need to refer
45 The short test-program test/test-mem illustrates how to create valid
46 EXIF data from scratch, how to save EXIF data and how to load EXIF data
47 from data in memory. Don't hesitate to contact us
48 (<libexif-devel@lists.sourceforge.net>) if you've got any questions
49 on how to use libexif.
51 To link to libexif into your own package, we recommend using the
52 pkgconfig utility (cf. http://pkg-config.freedesktop.org/wiki/). For
53 your convenience, libexif both provides libexif-uninstalled.pc and
60 Right now, I know of the following frontends to libexif:
61 - exif: A small command-line utility to show EXIF information in JPEG
62 files (http://www.sourceforge.net/projects/libexif).
63 - gexif: A GTK+ frontend for editing EXIF data
64 (http://www.sourceforge.net/projects/libexif).
65 - gphoto2: A command-line frontend to libgphoto2, a library to access a
66 wide range of digital cameras (http://www.gphoto.org).
67 - gtkam: A GTK+ frontend to libgphoto2 (http://www.topfrose.de).
68 - thirdeye: Digital photos organizer and driver for eComStation
69 (http://ecomstation.ru/thirdeye).
71 If you would like to migrate your program to use libexif or add EXIF support
72 to it, don't hesitate to contact the authors.
78 I know of the following libraries that use or have been inspired by libexif:
79 - pel: PHP-Code (http://pel.sourceforge.net)
85 It really depends on your environment what to do in order to get libexif
86 to build. Building from the source tar ball usually involves the commands:
92 When building from source out of CVS, something like the following will be
96 mv po/Makevars.template po/Makevars
97 aclocal -I auto-m4 -I m4m
100 automake --add-missing
105 Besides the standard arguments, configure takes several specific to libexif:
107 --disable-docs To disable producing any documentation
108 --enable-internal-docs Build internal code docs if Doxygen available
109 --enable-ship-binaries To include Windows DLLs in 'make dist'
111 Certain specialized applications can reduce the size of the libexif
112 binary by setting one or both of the following macros in the CPPFLAGS
113 environment variable at configure time. Each one removes certain kinds of
114 text strings from the binary. Applications which need to access specific,
115 known EXIF tags and know in advance the meaning of their data have no need
116 of those strings and can save considerable space by eliminating them.
118 -DNO_VERBOSE_TAG_STRINGS Names and descriptions of EXIF tags, & debug messages
119 -DNO_VERBOSE_TAG_DATA Names of enumerated tag data contents
125 All translations for libexif, except cs, ru and en_CA, are coordinated by
126 the Translation Project at http://translationproject.org/. This means
127 that ALL changes to the .po files (except those few exceptions) MUST be
128 made through the TP web site, or they will be eventually overwritten
129 and lost. If you are interested in translating libexif into a new
130 language, simply join TP and start! A translation disclaimer is NOT
131 required for libexif; by making a translation, you agree implicitly to
132 provide it under the same license terms as the rest of libexif (LGPL).
133 When a new version of libexif is available for translation, a libexif
134 maintainer will contact the Translation Project and all interested TP
135 members will be automatically notified.
141 libexif has originally been written by Curtis Galloway
142 <curtisg@users.sourceforge.net>. Because of the original design not
143 supporting editing and saving, Lutz Mueller <lutz@users.sourceforge.net>
144 rewrote libexif from scratch.
150 Some links you might want to check out if you are interested in further
151 information about EXIF.
153 - http://drewnoakes.com/code/exif: metadata extraction framework in Java
154 - http://www.pima.net: This is where I got the exif standard from. Site is
155 down as of 2002/12/31.
156 - http://www.jeida.or.jp: Can't remember any more. Site is down as of
158 - http://www.exif.org: information about the EXIF standard.
159 - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html: Looks
160 like libexif in Perl. Seems to support a lot of MakerNotes.