1b8bc0d8aSopenharmony_ci				    libexif
2b8bc0d8aSopenharmony_ci				    -------
3b8bc0d8aSopenharmony_ci
4b8bc0d8aSopenharmony_ciDESCRIPTION
5b8bc0d8aSopenharmony_ci-----------
6b8bc0d8aSopenharmony_ci
7b8bc0d8aSopenharmony_cilibexif is a library for parsing, editing, and saving EXIF data. It is
8b8bc0d8aSopenharmony_ciintended to replace lots of redundant implementations in command-line
9b8bc0d8aSopenharmony_ciutilities and programs with GUIs.
10b8bc0d8aSopenharmony_ci
11b8bc0d8aSopenharmony_ci
12b8bc0d8aSopenharmony_ciFEATURES
13b8bc0d8aSopenharmony_ci--------
14b8bc0d8aSopenharmony_ci
15b8bc0d8aSopenharmony_cilibexif supports parsing, editing and saving of EXIF data. In addition, it
16b8bc0d8aSopenharmony_cihas gettext support. All EXIF tags described in EXIF standard 2.1 (and most
17b8bc0d8aSopenharmony_cifrom 2.2) are supported.  Many maker notes from Canon, Casio, Epson,
18b8bc0d8aSopenharmony_ciFuji, Nikon, Olympus, Pentax and Sanyo cameras are also supported.
19b8bc0d8aSopenharmony_ci
20b8bc0d8aSopenharmony_ci
21b8bc0d8aSopenharmony_ciREQUIREMENTS
22b8bc0d8aSopenharmony_ci------------
23b8bc0d8aSopenharmony_ci
24b8bc0d8aSopenharmony_cilibexif is written in plain C and does not require any additional library.
25b8bc0d8aSopenharmony_ciGNU gettext will be used for language translation, if available.
26b8bc0d8aSopenharmony_ci
27b8bc0d8aSopenharmony_ci
28b8bc0d8aSopenharmony_ciLIMITATIONS
29b8bc0d8aSopenharmony_ci-----------
30b8bc0d8aSopenharmony_ci
31b8bc0d8aSopenharmony_cilibexif can only handle some maker notes, and even those not very well. More
32b8bc0d8aSopenharmony_ciwork needs to be done. Note that libmnote has been merged with libexif - it
33b8bc0d8aSopenharmony_ciis no longer needed.
34b8bc0d8aSopenharmony_ci
35b8bc0d8aSopenharmony_ci
36b8bc0d8aSopenharmony_ciUSAGE
37b8bc0d8aSopenharmony_ci-----
38b8bc0d8aSopenharmony_ci
39b8bc0d8aSopenharmony_ciWe have documented the libexif API using doxygen and are making
40b8bc0d8aSopenharmony_cithe results available at https://libexif.github.io/api/
41b8bc0d8aSopenharmony_ci
42b8bc0d8aSopenharmony_ciThe short test programs in the test directory illustrates how to create
43b8bc0d8aSopenharmony_civalid EXIF data from scratch, how to save EXIF data and how to load EXIF
44b8bc0d8aSopenharmony_cidata from data in memory. To run the test programs, just run make check.
45b8bc0d8aSopenharmony_ciThere are also a few simple example programs available in the
46b8bc0d8aSopenharmony_cicontrib/examples/ directory.  Don't hesitate to contact
47b8bc0d8aSopenharmony_cius at <libexif-devel@lists.sourceforge.net> if you have any questions
48b8bc0d8aSopenharmony_cion how to use libexif.
49b8bc0d8aSopenharmony_ci
50b8bc0d8aSopenharmony_ciTo link to libexif into your own package, we recommend using the
51b8bc0d8aSopenharmony_cipkgconfig utility (cf. https://www.freedesktop.org/wiki/Software/pkg-config/ For
52b8bc0d8aSopenharmony_ciyour convenience, libexif both provides libexif-uninstalled.pc and
53b8bc0d8aSopenharmony_ciinstalls libexif.pc.
54b8bc0d8aSopenharmony_ci
55b8bc0d8aSopenharmony_ci
56b8bc0d8aSopenharmony_ciFRONTENDS
57b8bc0d8aSopenharmony_ci---------
58b8bc0d8aSopenharmony_ci
59b8bc0d8aSopenharmony_ciHere are a few frontends to libexif:
60b8bc0d8aSopenharmony_ci - exif:     A small command-line utility to show EXIF information in JPEG
61b8bc0d8aSopenharmony_ci             files (https://github.com/libexif/libexif).
62b8bc0d8aSopenharmony_ci - gexif:    A GTK+ frontend for editing EXIF data
63b8bc0d8aSopenharmony_ci             (https://github.com/libexif/gexif).
64b8bc0d8aSopenharmony_ci - gphoto2:  A command-line frontend to libgphoto2, a library to access a
65b8bc0d8aSopenharmony_ci             wide range of digital cameras (http://www.gphoto.org).
66b8bc0d8aSopenharmony_ci - gtkam:    A GTK+ frontend to libgphoto2 (http://www.gphoto.org).
67b8bc0d8aSopenharmony_ci - thirdeye: Digital photos organizer and driver for eComStation
68b8bc0d8aSopenharmony_ci             (http://ecomstation.ru/thirdeye).
69b8bc0d8aSopenharmony_ci - digikam:  digital photo management application for KDE
70b8bc0d8aSopenharmony_ci             (https://www.digikam.org/)
71b8bc0d8aSopenharmony_ci
72b8bc0d8aSopenharmony_ciIf you would like to migrate your program to use libexif or add EXIF support
73b8bc0d8aSopenharmony_cito it, don't hesitate to contact the authors.
74b8bc0d8aSopenharmony_ci
75b8bc0d8aSopenharmony_ci
76b8bc0d8aSopenharmony_ciLIBRARIES
77b8bc0d8aSopenharmony_ci---------
78b8bc0d8aSopenharmony_ci
79b8bc0d8aSopenharmony_ciThe following libraries use or have been inspired by libexif:
80b8bc0d8aSopenharmony_ci - libexif-gtk: library of widgets to help display EXIF tags in GTK
81b8bc0d8aSopenharmony_ci   programs (https://github.com/libexif/libexif-gtk).
82b8bc0d8aSopenharmony_ci - pel: PHP-Code (https://github.com/lsolesen/pel/)
83b8bc0d8aSopenharmony_ci
84b8bc0d8aSopenharmony_ci
85b8bc0d8aSopenharmony_ciBUILDING
86b8bc0d8aSopenharmony_ci--------
87b8bc0d8aSopenharmony_ci
88b8bc0d8aSopenharmony_ciIt really depends on your environment what to do in order to get libexif
89b8bc0d8aSopenharmony_cito build. Building from the source tar ball usually involves the commands:
90b8bc0d8aSopenharmony_ci
91b8bc0d8aSopenharmony_ci  ./configure
92b8bc0d8aSopenharmony_ci  make
93b8bc0d8aSopenharmony_ci  sudo make install
94b8bc0d8aSopenharmony_ci
95b8bc0d8aSopenharmony_ciWhen building from source out of git, something like the following will be
96b8bc0d8aSopenharmony_cinecessary:
97b8bc0d8aSopenharmony_ci
98b8bc0d8aSopenharmony_ci  autoreconf -i
99b8bc0d8aSopenharmony_ci  ./configure
100b8bc0d8aSopenharmony_ci  make
101b8bc0d8aSopenharmony_ci
102b8bc0d8aSopenharmony_ciBesides the standard arguments, configure takes several specific to libexif:
103b8bc0d8aSopenharmony_ci
104b8bc0d8aSopenharmony_ci  --disable-docs          To disable producing any documentation
105b8bc0d8aSopenharmony_ci  --enable-internal-docs  Build internal code docs if Doxygen available
106b8bc0d8aSopenharmony_ci  --enable-ship-binaries  To include Windows DLLs in 'make dist'
107b8bc0d8aSopenharmony_ci
108b8bc0d8aSopenharmony_ciCertain specialized applications can reduce the size of the libexif
109b8bc0d8aSopenharmony_cibinary by setting one or both of the following macros in the CPPFLAGS
110b8bc0d8aSopenharmony_cienvironment variable at configure time.  Each one removes certain kinds of
111b8bc0d8aSopenharmony_citext strings and constants from the binary.  Applications which need
112b8bc0d8aSopenharmony_cito access specific, known EXIF tags and know in advance the meaning of
113b8bc0d8aSopenharmony_citheir data have no need of those strings and can save considerable space
114b8bc0d8aSopenharmony_ciby eliminating them.
115b8bc0d8aSopenharmony_ci
116b8bc0d8aSopenharmony_ci -DNO_VERBOSE_TAG_STRINGS Names and descriptions of EXIF tags, debug messages,
117b8bc0d8aSopenharmony_ci                          mandatory EXIF fields (disabling auto-tag-fixup)
118b8bc0d8aSopenharmony_ci -DNO_VERBOSE_TAG_DATA    Names of enumerated tag data contents
119b8bc0d8aSopenharmony_ci
120b8bc0d8aSopenharmony_ci
121b8bc0d8aSopenharmony_ciINTERNATIONALIZATION
122b8bc0d8aSopenharmony_ci--------------------
123b8bc0d8aSopenharmony_ci
124b8bc0d8aSopenharmony_ciThe libexif translations are made by volunteers working on their own,
125b8bc0d8aSopenharmony_cieither directly with the libexif project or through one of two translation
126b8bc0d8aSopenharmony_cicoordination sites, the Translation Project
127b8bc0d8aSopenharmony_ci<https://translationproject.org/domain/libexif.html> and Launchpad
128b8bc0d8aSopenharmony_ci<https://translations.edge.launchpad.net/ubuntu/bionic/+source/libexif/+pots/libexif-12>.
129b8bc0d8aSopenharmony_ciAny updates to language translations coordinated by the Translation Project
130b8bc0d8aSopenharmony_cimust be made through their web site, but all other languages can be
131b8bc0d8aSopenharmony_ciupdated either through Launchpad (preferred) or by sending updates to
132b8bc0d8aSopenharmony_cithe libexif developers mailing list directly.  As of this writing, the
133b8bc0d8aSopenharmony_cifollowing languages must be updated through the Translation Project:
134b8bc0d8aSopenharmony_cics da de es fr it ja nl pl pt sk sv uk vi
135b8bc0d8aSopenharmony_ci
136b8bc0d8aSopenharmony_ciIf you are interested in translating libexif into a new language, we
137b8bc0d8aSopenharmony_cirecommend that you join one of the above translation groups and take
138b8bc0d8aSopenharmony_ciadvantage of the systems they have built to help you.  A translation
139b8bc0d8aSopenharmony_cidisclaimer is NOT required for libexif at the Translation Project; by making
140b8bc0d8aSopenharmony_cia translation, you agree implicitly to provide it under the same license
141b8bc0d8aSopenharmony_citerms as the rest of libexif (LGPL).
142b8bc0d8aSopenharmony_ci
143b8bc0d8aSopenharmony_ci
144b8bc0d8aSopenharmony_ciAUTHORS
145b8bc0d8aSopenharmony_ci-------
146b8bc0d8aSopenharmony_ci
147b8bc0d8aSopenharmony_cilibexif has originally been written by Curtis Galloway
148b8bc0d8aSopenharmony_ci<curtisg@users.sourceforge.net>. Because of the original design not
149b8bc0d8aSopenharmony_cisupporting editing and saving, Lutz Mueller <lutz@users.sourceforge.net>
150b8bc0d8aSopenharmony_cirewrote libexif from scratch. Since then, many more people have contributed
151b8bc0d8aSopenharmony_cito libexif.
152b8bc0d8aSopenharmony_ci
153b8bc0d8aSopenharmony_ci
154b8bc0d8aSopenharmony_ciLINKS
155b8bc0d8aSopenharmony_ci-----
156b8bc0d8aSopenharmony_ci
157b8bc0d8aSopenharmony_ciSome links you might want to check out if you are interested in further
158b8bc0d8aSopenharmony_ciinformation about EXIF.
159b8bc0d8aSopenharmony_ci
160b8bc0d8aSopenharmony_ci - https://drewnoakes.com/code/exif: metadata extraction framework in Java
161b8bc0d8aSopenharmony_ci - https://www.exif.org: information about the EXIF standard.
162b8bc0d8aSopenharmony_ci - https://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html: Looks
163b8bc0d8aSopenharmony_ci   like libexif in Perl. Seems to support a lot of MakerNotes.
164