1*735d6239SKiyoung Kim libexif 2*735d6239SKiyoung Kim ------- 3*735d6239SKiyoung Kim 4*735d6239SKiyoung KimDESCRIPTION 5*735d6239SKiyoung Kim----------- 6*735d6239SKiyoung Kim 7*735d6239SKiyoung Kimlibexif is a library for parsing, editing, and saving EXIF data. It is 8*735d6239SKiyoung Kimintended to replace lots of redundant implementations in command-line 9*735d6239SKiyoung Kimutilities and programs with GUIs. 10*735d6239SKiyoung Kim 11*735d6239SKiyoung Kim 12*735d6239SKiyoung KimFEATURES 13*735d6239SKiyoung Kim-------- 14*735d6239SKiyoung Kim 15*735d6239SKiyoung Kimlibexif supports parsing, editing and saving of EXIF data. In addition, it 16*735d6239SKiyoung Kimhas gettext support. All EXIF tags described in EXIF standard 2.1 (and most 17*735d6239SKiyoung Kimfrom 2.2) are supported. Many maker notes from Canon, Casio, Epson, 18*735d6239SKiyoung KimFuji, Nikon, Olympus, Pentax and Sanyo cameras are also supported. 19*735d6239SKiyoung Kim 20*735d6239SKiyoung Kim 21*735d6239SKiyoung KimREQUIREMENTS 22*735d6239SKiyoung Kim------------ 23*735d6239SKiyoung Kim 24*735d6239SKiyoung Kimlibexif is written in plain C and does not require any additional library. 25*735d6239SKiyoung KimGNU gettext will be used for language translation, if available. 26*735d6239SKiyoung Kim 27*735d6239SKiyoung Kim 28*735d6239SKiyoung KimLIMITATIONS 29*735d6239SKiyoung Kim----------- 30*735d6239SKiyoung Kim 31*735d6239SKiyoung Kimlibexif can only handle some maker notes, and even those not very well. More 32*735d6239SKiyoung Kimwork needs to be done. Note that libmnote has been merged with libexif - it 33*735d6239SKiyoung Kimis no longer needed. 34*735d6239SKiyoung Kim 35*735d6239SKiyoung Kim 36*735d6239SKiyoung KimUSAGE 37*735d6239SKiyoung Kim----- 38*735d6239SKiyoung Kim 39*735d6239SKiyoung KimWe have documented the libexif API using doxygen and are making 40*735d6239SKiyoung Kimthe results available at http://libexif.sourceforge.net/api/ 41*735d6239SKiyoung Kim 42*735d6239SKiyoung KimThe short test programs in the test directory illustrates how to create 43*735d6239SKiyoung Kimvalid EXIF data from scratch, how to save EXIF data and how to load EXIF 44*735d6239SKiyoung Kimdata from data in memory. There are also a few simple example programs 45*735d6239SKiyoung Kimavailable in the contrib/examples/ directory. Don't hesitate to contact 46*735d6239SKiyoung Kimus at <[email protected]> if you have any questions 47*735d6239SKiyoung Kimon how to use libexif. 48*735d6239SKiyoung Kim 49*735d6239SKiyoung KimTo link to libexif into your own package, we recommend using the 50*735d6239SKiyoung Kimpkgconfig utility (cf. http://www.freedesktop.org/wiki/Software/pkg-config/ For 51*735d6239SKiyoung Kimyour convenience, libexif both provides libexif-uninstalled.pc and 52*735d6239SKiyoung Kiminstalls libexif.pc. 53*735d6239SKiyoung Kim 54*735d6239SKiyoung Kim 55*735d6239SKiyoung KimFRONTENDS 56*735d6239SKiyoung Kim--------- 57*735d6239SKiyoung Kim 58*735d6239SKiyoung KimRight now, I know of the following frontends to libexif: 59*735d6239SKiyoung Kim - exif: A small command-line utility to show EXIF information in JPEG 60*735d6239SKiyoung Kim files (http://www.sourceforge.net/projects/libexif). 61*735d6239SKiyoung Kim - gexif: A GTK+ frontend for editing EXIF data 62*735d6239SKiyoung Kim (http://www.sourceforge.net/projects/libexif). 63*735d6239SKiyoung Kim - gphoto2: A command-line frontend to libgphoto2, a library to access a 64*735d6239SKiyoung Kim wide range of digital cameras (http://www.gphoto.org). 65*735d6239SKiyoung Kim - gtkam: A GTK+ frontend to libgphoto2 (http://www.gphoto.org). 66*735d6239SKiyoung Kim - thirdeye: Digital photos organizer and driver for eComStation 67*735d6239SKiyoung Kim (http://ecomstation.ru/thirdeye). 68*735d6239SKiyoung Kim - digikam: digital photo management application for KDE 69*735d6239SKiyoung Kim (http://www.digikam.org/) 70*735d6239SKiyoung Kim 71*735d6239SKiyoung KimIf you would like to migrate your program to use libexif or add EXIF support 72*735d6239SKiyoung Kimto it, don't hesitate to contact the authors. 73*735d6239SKiyoung Kim 74*735d6239SKiyoung Kim 75*735d6239SKiyoung KimLIBRARIES 76*735d6239SKiyoung Kim--------- 77*735d6239SKiyoung Kim 78*735d6239SKiyoung KimI know of the following libraries that use or have been inspired by libexif: 79*735d6239SKiyoung Kim - libexif-gtk: library of widgets to help display EXIF tags in GTK 80*735d6239SKiyoung Kim programs (part of the libexif project) 81*735d6239SKiyoung Kim - pel: PHP-Code (http://pel.sourceforge.net) 82*735d6239SKiyoung Kim 83*735d6239SKiyoung Kim 84*735d6239SKiyoung KimBUILDING 85*735d6239SKiyoung Kim-------- 86*735d6239SKiyoung Kim 87*735d6239SKiyoung KimIt really depends on your environment what to do in order to get libexif 88*735d6239SKiyoung Kimto build. Building from the source tar ball usually involves the commands: 89*735d6239SKiyoung Kim 90*735d6239SKiyoung Kim ./configure 91*735d6239SKiyoung Kim make 92*735d6239SKiyoung Kim sudo make install 93*735d6239SKiyoung Kim 94*735d6239SKiyoung KimWhen building from source out of CVS, something like the following will be 95*735d6239SKiyoung Kimnecessary: 96*735d6239SKiyoung Kim 97*735d6239SKiyoung Kim gettextize 98*735d6239SKiyoung Kim mv po/Makevars.template po/Makevars 99*735d6239SKiyoung Kim aclocal -I auto-m4 -I m4m 100*735d6239SKiyoung Kim autoheader 101*735d6239SKiyoung Kim libtoolize --force 102*735d6239SKiyoung Kim automake --add-missing 103*735d6239SKiyoung Kim autoconf 104*735d6239SKiyoung Kim ./configure 105*735d6239SKiyoung Kim make 106*735d6239SKiyoung Kim 107*735d6239SKiyoung KimOr, probably just: 108*735d6239SKiyoung Kim 109*735d6239SKiyoung Kim autoreconf -i 110*735d6239SKiyoung Kim ./configure 111*735d6239SKiyoung Kim make 112*735d6239SKiyoung Kim 113*735d6239SKiyoung KimBesides the standard arguments, configure takes several specific to libexif: 114*735d6239SKiyoung Kim 115*735d6239SKiyoung Kim --disable-docs To disable producing any documentation 116*735d6239SKiyoung Kim --enable-internal-docs Build internal code docs if Doxygen available 117*735d6239SKiyoung Kim --enable-ship-binaries To include Windows DLLs in 'make dist' 118*735d6239SKiyoung Kim 119*735d6239SKiyoung KimCertain specialized applications can reduce the size of the libexif 120*735d6239SKiyoung Kimbinary by setting one or both of the following macros in the CPPFLAGS 121*735d6239SKiyoung Kimenvironment variable at configure time. Each one removes certain kinds of 122*735d6239SKiyoung Kimtext strings and constants from the binary. Applications which need 123*735d6239SKiyoung Kimto access specific, known EXIF tags and know in advance the meaning of 124*735d6239SKiyoung Kimtheir data have no need of those strings and can save considerable space 125*735d6239SKiyoung Kimby eliminating them. 126*735d6239SKiyoung Kim 127*735d6239SKiyoung Kim -DNO_VERBOSE_TAG_STRINGS Names and descriptions of EXIF tags, debug messages, 128*735d6239SKiyoung Kim mandatory EXIF fields (disabling auto-tag-fixup) 129*735d6239SKiyoung Kim -DNO_VERBOSE_TAG_DATA Names of enumerated tag data contents 130*735d6239SKiyoung Kim 131*735d6239SKiyoung Kim 132*735d6239SKiyoung KimINTERNATIONALIZATION 133*735d6239SKiyoung Kim-------------------- 134*735d6239SKiyoung Kim 135*735d6239SKiyoung KimThe libexif translations are made by volunteers working on their own, 136*735d6239SKiyoung Kimeither directly with the libexif project or through one of two translation 137*735d6239SKiyoung Kimcoordination sites, the Translation Project 138*735d6239SKiyoung Kim<http://translationproject.org/domain/libexif.html> and Launchpad 139*735d6239SKiyoung Kim<https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12>. 140*735d6239SKiyoung KimAny updates to language translations coordinated by the Translation Project 141*735d6239SKiyoung Kimmust be made through their web site, but all other languages can be 142*735d6239SKiyoung Kimupdated either through Launchpad (preferred) or by sending updates to 143*735d6239SKiyoung Kimthe libexif developers mailing list directly. As of this writing, the 144*735d6239SKiyoung Kimfollowing languages must be updated through the Translation Project: 145*735d6239SKiyoung Kimcs da de es fr it ja nl pl sk sv uk vi 146*735d6239SKiyoung Kim 147*735d6239SKiyoung KimIf you are interested in translating libexif into a new language, we 148*735d6239SKiyoung Kimrecommend that you join one of the above translation groups and take 149*735d6239SKiyoung Kimadvantage of the systems they have built to help you. A translation 150*735d6239SKiyoung Kimdisclaimer is NOT required for libexif at the Translation Project; by making 151*735d6239SKiyoung Kima translation, you agree implicitly to provide it under the same license 152*735d6239SKiyoung Kimterms as the rest of libexif (LGPL). 153*735d6239SKiyoung Kim 154*735d6239SKiyoung Kim 155*735d6239SKiyoung KimAUTHORS 156*735d6239SKiyoung Kim------- 157*735d6239SKiyoung Kim 158*735d6239SKiyoung Kimlibexif has originally been written by Curtis Galloway 159*735d6239SKiyoung Kim<[email protected]>. Because of the original design not 160*735d6239SKiyoung Kimsupporting editing and saving, Lutz Mueller <[email protected]> 161*735d6239SKiyoung Kimrewrote libexif from scratch. Since then, many more people have contributed 162*735d6239SKiyoung Kimto libexif. 163*735d6239SKiyoung Kim 164*735d6239SKiyoung Kim 165*735d6239SKiyoung KimLINKS 166*735d6239SKiyoung Kim----- 167*735d6239SKiyoung Kim 168*735d6239SKiyoung KimSome links you might want to check out if you are interested in further 169*735d6239SKiyoung Kiminformation about EXIF. 170*735d6239SKiyoung Kim 171*735d6239SKiyoung Kim - http://drewnoakes.com/code/exif: metadata extraction framework in Java 172*735d6239SKiyoung Kim - http://www.exif.org: information about the EXIF standard. 173*735d6239SKiyoung Kim - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html: Looks 174*735d6239SKiyoung Kim like libexif in Perl. Seems to support a lot of MakerNotes. 175