README
1 libexif
2 -------
3
4DESCRIPTION
5-----------
6
7libexif is a library for parsing, editing, and saving EXIF data. It is
8intended to replace lots of redundant implementations in command-line
9utilities and programs with GUIs.
10
11
12FEATURES
13--------
14
15libexif supports parsing, editing and saving of EXIF data. In addition, it
16has gettext support. All EXIF tags described in EXIF standard 2.1 (and most
17from 2.2) are supported. Many maker notes from Canon, Casio, Epson,
18Fuji, Nikon, Olympus, Pentax and Sanyo cameras are also supported.
19
20
21REQUIREMENTS
22------------
23
24libexif is written in plain C and does not require any additional library.
25GNU gettext will be used for language translation, if available.
26
27
28LIMITATIONS
29-----------
30
31libexif can only handle some maker notes, and even those not very well. More
32work needs to be done. Note that libmnote has been merged with libexif - it
33is no longer needed.
34
35
36USAGE
37-----
38
39We have documented the libexif API using doxygen and are making
40the results available at http://libexif.sourceforge.net/api/
41
42The short test programs in the test directory illustrates how to create
43valid EXIF data from scratch, how to save EXIF data and how to load EXIF
44data from data in memory. There are also a few simple example programs
45available in the contrib/examples/ directory. Don't hesitate to contact
46us at <libexif-devel@lists.sourceforge.net> if you have any questions
47on how to use libexif.
48
49To link to libexif into your own package, we recommend using the
50pkgconfig utility (cf. http://www.freedesktop.org/wiki/Software/pkg-config/ For
51your convenience, libexif both provides libexif-uninstalled.pc and
52installs libexif.pc.
53
54
55FRONTENDS
56---------
57
58Right now, I know of the following frontends to libexif:
59 - exif: A small command-line utility to show EXIF information in JPEG
60 files (http://www.sourceforge.net/projects/libexif).
61 - gexif: A GTK+ frontend for editing EXIF data
62 (http://www.sourceforge.net/projects/libexif).
63 - gphoto2: A command-line frontend to libgphoto2, a library to access a
64 wide range of digital cameras (http://www.gphoto.org).
65 - gtkam: A GTK+ frontend to libgphoto2 (http://www.gphoto.org).
66 - thirdeye: Digital photos organizer and driver for eComStation
67 (http://ecomstation.ru/thirdeye).
68 - digikam: digital photo management application for KDE
69 (http://www.digikam.org/)
70
71If you would like to migrate your program to use libexif or add EXIF support
72to it, don't hesitate to contact the authors.
73
74
75LIBRARIES
76---------
77
78I know of the following libraries that use or have been inspired by libexif:
79 - libexif-gtk: library of widgets to help display EXIF tags in GTK
80 programs (part of the libexif project)
81 - pel: PHP-Code (http://pel.sourceforge.net)
82
83
84BUILDING
85--------
86
87It really depends on your environment what to do in order to get libexif
88to build. Building from the source tar ball usually involves the commands:
89
90 ./configure
91 make
92 sudo make install
93
94When building from source out of CVS, something like the following will be
95necessary:
96
97 gettextize
98 mv po/Makevars.template po/Makevars
99 aclocal -I auto-m4 -I m4m
100 autoheader
101 libtoolize --force
102 automake --add-missing
103 autoconf
104 ./configure
105 make
106
107Or, probably just:
108
109 autoreconf -i
110 ./configure
111 make
112
113Besides the standard arguments, configure takes several specific to libexif:
114
115 --disable-docs To disable producing any documentation
116 --enable-internal-docs Build internal code docs if Doxygen available
117 --enable-ship-binaries To include Windows DLLs in 'make dist'
118
119Certain specialized applications can reduce the size of the libexif
120binary by setting one or both of the following macros in the CPPFLAGS
121environment variable at configure time. Each one removes certain kinds of
122text strings and constants from the binary. Applications which need
123to access specific, known EXIF tags and know in advance the meaning of
124their data have no need of those strings and can save considerable space
125by eliminating them.
126
127 -DNO_VERBOSE_TAG_STRINGS Names and descriptions of EXIF tags, debug messages,
128 mandatory EXIF fields (disabling auto-tag-fixup)
129 -DNO_VERBOSE_TAG_DATA Names of enumerated tag data contents
130
131
132INTERNATIONALIZATION
133--------------------
134
135The libexif translations are made by volunteers working on their own,
136either directly with the libexif project or through one of two translation
137coordination sites, the Translation Project
138<http://translationproject.org/domain/libexif.html> and Launchpad
139<https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12>.
140Any updates to language translations coordinated by the Translation Project
141must be made through their web site, but all other languages can be
142updated either through Launchpad (preferred) or by sending updates to
143the libexif developers mailing list directly. As of this writing, the
144following languages must be updated through the Translation Project:
145cs da de es fr it ja nl pl sk sv uk vi
146
147If you are interested in translating libexif into a new language, we
148recommend that you join one of the above translation groups and take
149advantage of the systems they have built to help you. A translation
150disclaimer is NOT required for libexif at the Translation Project; by making
151a translation, you agree implicitly to provide it under the same license
152terms as the rest of libexif (LGPL).
153
154
155AUTHORS
156-------
157
158libexif has originally been written by Curtis Galloway
159<curtisg@users.sourceforge.net>. Because of the original design not
160supporting editing and saving, Lutz Mueller <lutz@users.sourceforge.net>
161rewrote libexif from scratch. Since then, many more people have contributed
162to libexif.
163
164
165LINKS
166-----
167
168Some links you might want to check out if you are interested in further
169information about EXIF.
170
171 - http://drewnoakes.com/code/exif: metadata extraction framework in Java
172 - http://www.exif.org: information about the EXIF standard.
173 - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html: Looks
174 like libexif in Perl. Seems to support a lot of MakerNotes.
175
README-Win32.txt
1If this is a combined source/binary distribution tree, then you can find
2
3 * the binary DLL in the subdirectory binary/bin/
4 * the include files in the subdirectory binary/include/
5
6As for building libexif yourself on or for Win32, you can
7
8 a) hack yourself a build system somehow
9 This seems to be the Windows way of doing things.
10 b) Use MinGW32
11
12If you use MinGW32 (including MSYS) on Windows, building libexif should
13follow the usual pattern of
14
15 ./configure
16 make
17 make install
18
19as for any Unix like system and you can just follow the general
20instructions.
21
22Something neat to do is to use a MinGW32 cross compiler on a Unix
23system (Debian ships one for example). Then you can run
24
25 ./configure --host=i586-mingw32msvc --disable-nls
26 make
27 make install
28
29If you want to build a combined source/binary distribution tarball/zipfile,
30then add the --enable-ship-binaries option to the ./configure command line.
31
README.android
1Note:
2- libexif is LGPLv2.1
3- do not statically link to it
4- do not upgrade to LGPLv3
5
6
README.version