Improved documentation
[platform/upstream/libexif.git] / README
1                                     libexif
2                                     -------
3
4 DESCRIPTION
5 -----------
6
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.
10
11
12 FEATURES
13 --------
14
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.
19
20
21 REQUIREMENTS
22 ------------
23
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.
26
27
28 LIMITATIONS
29 -----------
30
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
33 is no longer needed.
34
35
36 USAGE
37 -----
38
39 We have started documenting the libexif API using doxygen and are making
40 the results available at http://libexif.sourceforge.net/api/
41
42 Until someone writes some better documentation however, you need to refer
43 to the header files.
44
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. There are also a few simple example programs available
48 in the contrib/examples/ directory.  Don't hesitate to contact us 
49 (<libexif-devel@lists.sourceforge.net>) if you've got any questions
50 on how to use libexif.
51
52 To link to libexif into your own package, we recommend using the
53 pkgconfig utility (cf. http://pkg-config.freedesktop.org/wiki/). For
54 your convenience, libexif both provides libexif-uninstalled.pc and
55 installs libexif.pc.
56
57
58 FRONTENDS
59 ---------
60
61 Right now, I know of the following frontends to libexif:
62  - exif:     A small command-line utility to show EXIF information in JPEG
63              files (http://www.sourceforge.net/projects/libexif).
64  - gexif:    A GTK+ frontend for editing EXIF data
65              (http://www.sourceforge.net/projects/libexif).
66  - gphoto2:  A command-line frontend to libgphoto2, a library to access a 
67              wide range of digital cameras (http://www.gphoto.org).
68  - gtkam:    A GTK+ frontend to libgphoto2 (http://www.topfrose.de).
69  - thirdeye: Digital photos organizer and driver for eComStation
70              (http://ecomstation.ru/thirdeye).
71  - digicam:  
72 If you would like to migrate your program to use libexif or add EXIF support
73 to it, don't hesitate to contact the authors.
74
75
76 LIBRARIES
77 ---------
78
79 I know of the following libraries that use or have been inspired by libexif:
80  - libexif-gtk: library of widgets to help display EXIF tags in GTK
81    programs (part of the libexif project)
82  - pel: PHP-Code (http://pel.sourceforge.net)
83
84
85 BUILDING
86 --------
87
88 It really depends on your environment what to do in order to get libexif
89 to build. Building from the source tar ball usually involves the commands:
90
91   ./configure
92   make
93   sudo make install
94
95 When building from source out of CVS, something like the following will be
96 necessary:
97
98   gettextize
99   mv po/Makevars.template po/Makevars
100   aclocal -I auto-m4 -I m4m
101   autoheader
102   libtoolize --force
103   automake --add-missing
104   autoconf
105   ./configure
106   make
107
108 Or, possibly just:
109
110   autoreconf -i
111   ./configure
112   make
113
114 Besides the standard arguments, configure takes several specific to libexif:
115
116   --disable-docs          To disable producing any documentation
117   --enable-internal-docs  Build internal code docs if Doxygen available
118   --enable-ship-binaries  To include Windows DLLs in 'make dist'
119
120 Certain specialized applications can reduce the size of the libexif
121 binary by setting one or both of the following macros in the CPPFLAGS
122 environment variable at configure time.  Each one removes certain kinds of
123 text strings and constants from the binary.  Applications which need
124 to access specific, known EXIF tags and know in advance the meaning of
125 their data have no need of those strings and can save considerable space
126 by eliminating them.
127
128  -DNO_VERBOSE_TAG_STRINGS Names and descriptions of EXIF tags, debug messages,
129                           mandatory EXIF fields (disabling auto-tag-fixup)
130  -DNO_VERBOSE_TAG_DATA    Names of enumerated tag data contents
131
132
133 INTERNATIONALIZATION
134 --------------------
135
136 All translations for libexif, except cs, ru and en_CA, are coordinated by
137 the Translation Project at http://translationproject.org/.  This means
138 that ALL changes to the .po files (except those few exceptions) MUST be
139 made through the TP web site, or they will be eventually overwritten
140 and lost.  If you are interested in translating libexif into a new
141 language, simply join TP and start!  A translation disclaimer is NOT
142 required for libexif; by making a translation, you agree implicitly to
143 provide it under the same license terms as the rest of libexif (LGPL).
144 When a new version of libexif is available for translation, a libexif
145 maintainer will contact the Translation Project and all interested TP
146 members will be automatically notified.
147
148
149 AUTHORS
150 -------
151
152 libexif has originally been written by Curtis Galloway
153 <curtisg@users.sourceforge.net>. Because of the original design not
154 supporting editing and saving, Lutz Mueller <lutz@users.sourceforge.net>
155 rewrote libexif from scratch.
156
157
158 LINKS
159 -----
160
161 Some links you might want to check out if you are interested in further
162 information about EXIF.
163
164  - http://drewnoakes.com/code/exif: metadata extraction framework in Java
165  - http://www.pima.net: This is where I got the exif standard from. Site is
166    down as of 2002/12/31.
167  - http://www.jeida.or.jp: Can't remember any more. Site is down as of
168    2002/12/31.
169  - http://www.exif.org: information about the EXIF standard.
170  - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html: Looks
171    like libexif in Perl. Seems to support a lot of MakerNotes.