Blame README

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