• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 https://libexif.github.io/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. To run the test programs, just run make check.
45There are also a few simple example programs available in the
46contrib/examples/ directory.  Don't hesitate to contact
47us at <libexif-devel@lists.sourceforge.net> if you have any questions
48on how to use libexif.
49
50To link to libexif into your own package, we recommend using the
51pkgconfig utility (cf. https://www.freedesktop.org/wiki/Software/pkg-config/ For
52your convenience, libexif both provides libexif-uninstalled.pc and
53installs libexif.pc.
54
55
56FRONTENDS
57---------
58
59Here are a few frontends to libexif:
60 - exif:     A small command-line utility to show EXIF information in JPEG
61             files (https://github.com/libexif/libexif).
62 - gexif:    A GTK+ frontend for editing EXIF data
63             (https://github.com/libexif/gexif).
64 - gphoto2:  A command-line frontend to libgphoto2, a library to access a
65             wide range of digital cameras (http://www.gphoto.org).
66 - gtkam:    A GTK+ frontend to libgphoto2 (http://www.gphoto.org).
67 - thirdeye: Digital photos organizer and driver for eComStation
68             (http://ecomstation.ru/thirdeye).
69 - digikam:  digital photo management application for KDE
70             (https://www.digikam.org/)
71
72If you would like to migrate your program to use libexif or add EXIF support
73to it, don't hesitate to contact the authors.
74
75
76LIBRARIES
77---------
78
79The following libraries use or have been inspired by libexif:
80 - libexif-gtk: library of widgets to help display EXIF tags in GTK
81   programs (https://github.com/libexif/libexif-gtk).
82 - pel: PHP-Code (https://github.com/lsolesen/pel/)
83
84
85BUILDING
86--------
87
88It really depends on your environment what to do in order to get libexif
89to build. Building from the source tar ball usually involves the commands:
90
91  ./configure
92  make
93  sudo make install
94
95When building from source out of git, something like the following will be
96necessary:
97
98  autoreconf -i
99  ./configure
100  make
101
102Besides the standard arguments, configure takes several specific to libexif:
103
104  --disable-docs          To disable producing any documentation
105  --enable-internal-docs  Build internal code docs if Doxygen available
106  --enable-ship-binaries  To include Windows DLLs in 'make dist'
107
108Certain specialized applications can reduce the size of the libexif
109binary by setting one or both of the following macros in the CPPFLAGS
110environment variable at configure time.  Each one removes certain kinds of
111text strings and constants from the binary.  Applications which need
112to access specific, known EXIF tags and know in advance the meaning of
113their data have no need of those strings and can save considerable space
114by eliminating them.
115
116 -DNO_VERBOSE_TAG_STRINGS Names and descriptions of EXIF tags, debug messages,
117                          mandatory EXIF fields (disabling auto-tag-fixup)
118 -DNO_VERBOSE_TAG_DATA    Names of enumerated tag data contents
119
120
121INTERNATIONALIZATION
122--------------------
123
124The libexif translations are made by volunteers working on their own,
125either directly with the libexif project or through one of two translation
126coordination sites, the Translation Project
127<https://translationproject.org/domain/libexif.html> and Launchpad
128<https://translations.edge.launchpad.net/ubuntu/bionic/+source/libexif/+pots/libexif-12>.
129Any updates to language translations coordinated by the Translation Project
130must be made through their web site, but all other languages can be
131updated either through Launchpad (preferred) or by sending updates to
132the libexif developers mailing list directly.  As of this writing, the
133following languages must be updated through the Translation Project:
134cs da de es fr it ja nl pl pt sk sv uk vi
135
136If you are interested in translating libexif into a new language, we
137recommend that you join one of the above translation groups and take
138advantage of the systems they have built to help you.  A translation
139disclaimer is NOT required for libexif at the Translation Project; by making
140a translation, you agree implicitly to provide it under the same license
141terms as the rest of libexif (LGPL).
142
143
144AUTHORS
145-------
146
147libexif has originally been written by Curtis Galloway
148<curtisg@users.sourceforge.net>. Because of the original design not
149supporting editing and saving, Lutz Mueller <lutz@users.sourceforge.net>
150rewrote libexif from scratch. Since then, many more people have contributed
151to libexif.
152
153
154LINKS
155-----
156
157Some links you might want to check out if you are interested in further
158information about EXIF.
159
160 - https://drewnoakes.com/code/exif: metadata extraction framework in Java
161 - https://www.exif.org: information about the EXIF standard.
162 - https://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html: Looks
163   like libexif in Perl. Seems to support a lot of MakerNotes.
164