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