exiftool_vendored 10.31.0 → 10.40.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of exiftool_vendored might be problematic. Click here for more details.

Files changed (1296) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Image-ExifTool-10.40/Changes +7693 -0
  3. data/bin/Image-ExifTool-10.40/MANIFEST +998 -0
  4. data/bin/Image-ExifTool-10.40/META.json +51 -0
  5. data/bin/Image-ExifTool-10.40/META.yml +31 -0
  6. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/Makefile.PL +0 -0
  7. data/bin/Image-ExifTool-10.40/README +240 -0
  8. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/exif2iptc.args +0 -0
  9. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/exif2xmp.args +0 -0
  10. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/gps2xmp.args +0 -0
  11. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/iptc2exif.args +0 -0
  12. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/iptc2xmp.args +0 -0
  13. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/iptcCore.args +0 -0
  14. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/pdf2xmp.args +0 -0
  15. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/xmp2exif.args +0 -0
  16. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/xmp2gps.args +0 -0
  17. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/xmp2iptc.args +0 -0
  18. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/xmp2pdf.args +0 -0
  19. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/bibble.config +0 -0
  20. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/convert_regions.config +0 -0
  21. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/example.config +0 -0
  22. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/fotoware.config +0 -0
  23. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/gps2utm.config +0 -0
  24. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/photoshop_paths.config +0 -0
  25. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/picasa_faces.config +0 -0
  26. data/bin/Image-ExifTool-10.40/config_files/time_zone.config +76 -0
  27. data/bin/Image-ExifTool-10.40/exiftool +6462 -0
  28. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/fmt_files/gpx.fmt +0 -0
  29. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/fmt_files/gpx_wpt.fmt +0 -0
  30. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/fmt_files/kml.fmt +0 -0
  31. data/bin/Image-ExifTool-10.40/html/ExifTool.html +2122 -0
  32. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/MIE1.1-20070121.pdf +0 -0
  33. data/bin/Image-ExifTool-10.40/html/Shift.html +179 -0
  34. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/AFCP.html +0 -0
  35. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/AIFF.html +0 -0
  36. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/APE.html +0 -0
  37. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/APP12.html +0 -0
  38. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ASF.html +0 -0
  39. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Apple.html +0 -0
  40. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Audible.html +0 -0
  41. data/bin/Image-ExifTool-10.40/html/TagNames/BMP.html +233 -0
  42. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/BPG.html +0 -0
  43. data/bin/Image-ExifTool-10.40/html/TagNames/Canon.html +9741 -0
  44. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/CanonCustom.html +0 -0
  45. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/CanonRaw.html +0 -0
  46. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/CanonVRD.html +0 -0
  47. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Casio.html +0 -0
  48. data/bin/Image-ExifTool-10.40/html/TagNames/Composite.html +745 -0
  49. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DICOM.html +0 -0
  50. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DJI.html +0 -0
  51. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DNG.html +0 -0
  52. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DPX.html +0 -0
  53. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DV.html +0 -0
  54. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DarwinCore.html +0 -0
  55. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DjVu.html +0 -0
  56. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/EXE.html +0 -0
  57. data/bin/Image-ExifTool-10.40/html/TagNames/EXIF.html +3484 -0
  58. data/bin/Image-ExifTool-10.40/html/TagNames/Extra.html +471 -0
  59. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/FLAC.html +0 -0
  60. data/bin/Image-ExifTool-10.40/html/TagNames/FLIF.html +84 -0
  61. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/FLIR.html +0 -0
  62. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Flash.html +0 -0
  63. data/bin/Image-ExifTool-10.40/html/TagNames/FlashPix.html +1475 -0
  64. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Font.html +0 -0
  65. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/FotoStation.html +0 -0
  66. data/bin/Image-ExifTool-10.40/html/TagNames/FujiFilm.html +867 -0
  67. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/GE.html +0 -0
  68. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/GIF.html +0 -0
  69. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/GIMP.html +0 -0
  70. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/GPS.html +0 -0
  71. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/GeoTiff.html +0 -0
  72. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/H264.html +0 -0
  73. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/HP.html +0 -0
  74. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/HTML.html +0 -0
  75. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ICC_Profile.html +0 -0
  76. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ID3.html +0 -0
  77. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/IPTC.html +0 -0
  78. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ISO.html +0 -0
  79. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ITC.html +0 -0
  80. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/JFIF.html +0 -0
  81. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/JPEG.html +0 -0
  82. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/JVC.html +0 -0
  83. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Jpeg2000.html +0 -0
  84. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Kodak.html +0 -0
  85. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/KyoceraRaw.html +0 -0
  86. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/LNK.html +0 -0
  87. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Leaf.html +0 -0
  88. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Lytro.html +0 -0
  89. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/M2TS.html +0 -0
  90. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MIE.html +0 -0
  91. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MIFF.html +0 -0
  92. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MNG.html +0 -0
  93. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MOI.html +0 -0
  94. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MPC.html +0 -0
  95. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MPEG.html +0 -0
  96. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MPF.html +0 -0
  97. data/bin/Image-ExifTool-10.40/html/TagNames/MWG.html +584 -0
  98. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MXF.html +0 -0
  99. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Matroska.html +0 -0
  100. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Microsoft.html +0 -0
  101. data/bin/Image-ExifTool-10.40/html/TagNames/Minolta.html +2634 -0
  102. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MinoltaRaw.html +0 -0
  103. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Motorola.html +0 -0
  104. data/bin/Image-ExifTool-10.40/html/TagNames/Nikon.html +6016 -0
  105. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/NikonCapture.html +0 -0
  106. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/NikonCustom.html +0 -0
  107. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Nintendo.html +0 -0
  108. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/OOXML.html +0 -0
  109. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Ogg.html +0 -0
  110. data/bin/Image-ExifTool-10.40/html/TagNames/Olympus.html +3655 -0
  111. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/OpenEXR.html +0 -0
  112. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Opus.html +0 -0
  113. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PDF.html +0 -0
  114. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PGF.html +0 -0
  115. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PICT.html +0 -0
  116. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PLIST.html +0 -0
  117. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PLUS.html +0 -0
  118. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PNG.html +0 -0
  119. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PSP.html +0 -0
  120. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Palm.html +0 -0
  121. data/bin/Image-ExifTool-10.40/html/TagNames/Panasonic.html +1701 -0
  122. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PanasonicRaw.html +0 -0
  123. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Pentax.html +0 -0
  124. data/bin/Image-ExifTool-10.40/html/TagNames/PhaseOne.html +263 -0
  125. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PhotoCD.html +0 -0
  126. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PhotoMechanic.html +0 -0
  127. data/bin/Image-ExifTool-10.40/html/TagNames/Photoshop.html +739 -0
  128. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PostScript.html +0 -0
  129. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PrintIM.html +0 -0
  130. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Qualcomm.html +0 -0
  131. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/QuickTime.html +0 -0
  132. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/RIFF.html +0 -0
  133. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/RSRC.html +0 -0
  134. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/RTF.html +0 -0
  135. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Radiance.html +0 -0
  136. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Rawzor.html +0 -0
  137. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Real.html +0 -0
  138. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Reconyx.html +0 -0
  139. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Ricoh.html +0 -0
  140. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Samsung.html +0 -0
  141. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Sanyo.html +0 -0
  142. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Scalado.html +0 -0
  143. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Shortcuts.html +0 -0
  144. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Sigma.html +0 -0
  145. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/SigmaRaw.html +0 -0
  146. data/bin/Image-ExifTool-10.40/html/TagNames/Sony.html +10305 -0
  147. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/SonyIDC.html +0 -0
  148. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Stim.html +0 -0
  149. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Theora.html +0 -0
  150. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Torrent.html +0 -0
  151. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Unknown.html +0 -0
  152. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/VCard.html +0 -0
  153. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Vorbis.html +0 -0
  154. data/bin/Image-ExifTool-10.40/html/TagNames/XMP.html +10158 -0
  155. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ZIP.html +0 -0
  156. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/iWork.html +0 -0
  157. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/index.html +0 -0
  158. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/style.css +0 -0
  159. data/bin/Image-ExifTool-10.40/html/ancient_history.html +8365 -0
  160. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/canon_raw.html +0 -0
  161. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/commentary.html +0 -0
  162. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/config.html +0 -0
  163. data/bin/Image-ExifTool-10.40/html/data_members.html +286 -0
  164. data/bin/Image-ExifTool-10.40/html/exiftool_pod.html +1873 -0
  165. data/bin/Image-ExifTool-10.40/html/faq.html +1591 -0
  166. data/bin/Image-ExifTool-10.40/html/filename.html +353 -0
  167. data/bin/Image-ExifTool-10.40/html/geotag.html +661 -0
  168. data/bin/Image-ExifTool-10.40/html/history.html +317 -0
  169. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/htmldump.html +0 -0
  170. data/bin/Image-ExifTool-10.40/html/idiosyncracies.html +272 -0
  171. data/bin/Image-ExifTool-10.40/html/index.html +1363 -0
  172. data/bin/Image-ExifTool-10.40/html/install.html +261 -0
  173. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/metafiles.html +0 -0
  174. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/overview.png +0 -0
  175. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/standards.html +0 -0
  176. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/struct.html +0 -0
  177. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/style.css +0 -0
  178. data/bin/Image-ExifTool-10.40/html/under.html +137 -0
  179. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/verbose.html +0 -0
  180. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/writing.html +0 -0
  181. data/bin/Image-ExifTool-10.40/lib/File/RandomAccess.pm +378 -0
  182. data/bin/Image-ExifTool-10.40/lib/File/RandomAccess.pod +231 -0
  183. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool.pm +7773 -0
  184. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool.pod +2569 -0
  185. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/AES.pm +501 -0
  186. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/AFCP.pm +286 -0
  187. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/AIFF.pm +289 -0
  188. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/APE.pm +282 -0
  189. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/APP12.pm +322 -0
  190. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ASF.pm +885 -0
  191. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Apple.pm +153 -0
  192. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Audible.pm +317 -0
  193. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/BMP.pm +361 -0
  194. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/BPG.pm +251 -0
  195. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/BZZ.pm +472 -0
  196. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/BigTIFF.pm +282 -0
  197. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/BuildTagLookup.pm +2562 -0
  198. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Canon.pm +8929 -0
  199. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/CanonCustom.pm +2667 -0
  200. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/CanonRaw.pm +910 -0
  201. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/CanonVRD.pm +2273 -0
  202. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/CaptureOne.pm +235 -0
  203. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Casio.pm +2060 -0
  204. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Charset.pm +423 -0
  205. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Arabic.pm +0 -0
  206. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Baltic.pm +0 -0
  207. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Cyrillic.pm +0 -0
  208. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Greek.pm +0 -0
  209. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Hebrew.pm +0 -0
  210. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/JIS.pm +0 -0
  211. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Latin.pm +0 -0
  212. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Latin2.pm +0 -0
  213. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacArabic.pm +0 -0
  214. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacChineseCN.pm +0 -0
  215. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacChineseTW.pm +0 -0
  216. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacCroatian.pm +0 -0
  217. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacCyrillic.pm +0 -0
  218. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacGreek.pm +0 -0
  219. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacHebrew.pm +0 -0
  220. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacIceland.pm +0 -0
  221. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacJapanese.pm +0 -0
  222. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacKorean.pm +0 -0
  223. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacLatin2.pm +0 -0
  224. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacRSymbol.pm +0 -0
  225. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacRoman.pm +0 -0
  226. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacRomanian.pm +0 -0
  227. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacThai.pm +0 -0
  228. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacTurkish.pm +0 -0
  229. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/PDFDoc.pm +0 -0
  230. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/ShiftJIS.pm +0 -0
  231. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Symbol.pm +0 -0
  232. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Thai.pm +0 -0
  233. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Turkish.pm +0 -0
  234. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Vietnam.pm +0 -0
  235. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DICOM.pm +3874 -0
  236. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DJI.pm +71 -0
  237. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DNG.pm +835 -0
  238. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DPX.pm +182 -0
  239. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DV.pm +319 -0
  240. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DarwinCore.pm +322 -0
  241. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DjVu.pm +376 -0
  242. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/EXE.pm +1401 -0
  243. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Exif.pm +6097 -0
  244. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FLAC.pm +297 -0
  245. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FLIF.pm +353 -0
  246. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FLIR.pm +1535 -0
  247. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Fixup.pm +366 -0
  248. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Flash.pm +755 -0
  249. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FlashPix.pm +1960 -0
  250. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Font.pm +647 -0
  251. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FotoStation.pm +261 -0
  252. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FujiFilm.pm +1264 -0
  253. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/GE.pm +81 -0
  254. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/GIF.pm +542 -0
  255. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/GIMP.pm +258 -0
  256. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/GPS.pm +559 -0
  257. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/GeoTiff.pm +2263 -0
  258. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Geotag.pm +1287 -0
  259. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/H264.pm +1110 -0
  260. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/HP.pm +263 -0
  261. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/HTML.pm +576 -0
  262. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/HtmlDump.pm +898 -0
  263. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ICC_Profile.pm +1013 -0
  264. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ID3.pm +1570 -0
  265. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/IPTC.pm +1264 -0
  266. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ISO.pm +206 -0
  267. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ITC.pm +215 -0
  268. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Import.pm +329 -0
  269. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/InDesign.pm +277 -0
  270. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/JPEG.pm +605 -0
  271. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/JPEGDigest.pm +2616 -0
  272. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/JVC.pm +130 -0
  273. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Jpeg2000.pm +898 -0
  274. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Kodak.pm +2096 -0
  275. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/KyoceraRaw.pm +173 -0
  276. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/LNK.pm +723 -0
  277. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/cs.pm +1588 -0
  278. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/de.pm +8692 -0
  279. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/en_ca.pm +940 -0
  280. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/en_gb.pm +983 -0
  281. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/es.pm +4019 -0
  282. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/fi.pm +2854 -0
  283. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/fr.pm +4758 -0
  284. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/it.pm +7918 -0
  285. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/ja.pm +5835 -0
  286. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/ko.pm +2330 -0
  287. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/nl.pm +3222 -0
  288. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/pl.pm +1276 -0
  289. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/ru.pm +768 -0
  290. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/sv.pm +638 -0
  291. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/tr.pm +544 -0
  292. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/zh_cn.pm +1330 -0
  293. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/zh_tw.pm +801 -0
  294. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Leaf.pm +517 -0
  295. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lytro.pm +217 -0
  296. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/M2TS.pm +729 -0
  297. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MIE.pm +2564 -0
  298. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MIEUnits.pod +377 -0
  299. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MIFF.pm +279 -0
  300. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MNG.pm +684 -0
  301. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MOI.pm +158 -0
  302. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MPC.pm +156 -0
  303. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MPEG.pm +736 -0
  304. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MPF.pm +288 -0
  305. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MWG.pm +757 -0
  306. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MXF.pm +3031 -0
  307. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MakerNotes.pm +1745 -0
  308. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Matroska.pm +932 -0
  309. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Microsoft.pm +904 -0
  310. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Minolta.pm +2996 -0
  311. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MinoltaRaw.pm +535 -0
  312. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Motorola.pm +62 -0
  313. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Nikon.pm +8173 -0
  314. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/NikonCapture.pm +940 -0
  315. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/NikonCustom.pm +8682 -0
  316. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Nintendo.pm +128 -0
  317. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/OOXML.pm +409 -0
  318. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Ogg.pm +240 -0
  319. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Olympus.pm +3998 -0
  320. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/OpenEXR.pm +323 -0
  321. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Opus.pm +98 -0
  322. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PDF.pm +2367 -0
  323. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PGF.pm +143 -0
  324. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PICT.pm +1260 -0
  325. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PLIST.pm +448 -0
  326. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PLUS.pm +2607 -0
  327. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PNG.pm +1255 -0
  328. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PPM.pm +169 -0
  329. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PSP.pm +306 -0
  330. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Palm.pm +403 -0
  331. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Panasonic.pm +2378 -0
  332. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PanasonicRaw.pm +643 -0
  333. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Pentax.pm +6135 -0
  334. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PhaseOne.pm +725 -0
  335. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PhotoCD.pm +507 -0
  336. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PhotoMechanic.pm +256 -0
  337. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Photoshop.pm +952 -0
  338. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PostScript.pm +699 -0
  339. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PrintIM.pm +125 -0
  340. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Qualcomm.pm +1344 -0
  341. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/QuickTime.pm +6708 -0
  342. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/README +1010 -0
  343. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/RIFF.pm +1587 -0
  344. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/RSRC.pm +241 -0
  345. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/RTF.pm +383 -0
  346. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Radiance.pm +144 -0
  347. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Rawzor.pm +189 -0
  348. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Real.pm +739 -0
  349. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Reconyx.pm +190 -0
  350. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Ricoh.pm +1150 -0
  351. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Samsung.pm +1271 -0
  352. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Sanyo.pm +440 -0
  353. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Scalado.pm +141 -0
  354. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Shift.pl +627 -0
  355. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Shortcuts.pm +338 -0
  356. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Sigma.pm +764 -0
  357. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/SigmaRaw.pm +670 -0
  358. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Sony.pm +9800 -0
  359. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/SonyIDC.pm +333 -0
  360. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Stim.pm +196 -0
  361. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/TagInfoXML.pm +827 -0
  362. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/TagLookup.pm +9515 -0
  363. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/TagNames.pod +30714 -0
  364. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Theora.pm +145 -0
  365. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Torrent.pm +317 -0
  366. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Unknown.pm +66 -0
  367. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/VCard.pm +405 -0
  368. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Vorbis.pm +255 -0
  369. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WriteCanonRaw.pl +637 -0
  370. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WriteExif.pl +2483 -0
  371. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WriteIPTC.pl +706 -0
  372. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WritePDF.pl +771 -0
  373. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WritePNG.pl +390 -0
  374. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WritePhotoshop.pl +266 -0
  375. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WritePostScript.pl +772 -0
  376. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WriteQuickTime.pl +358 -0
  377. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WriteXMP.pl +1381 -0
  378. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Writer.pl +6322 -0
  379. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/XMP.pm +3897 -0
  380. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/XMP2.pl +1705 -0
  381. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/XMPStruct.pl +843 -0
  382. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ZIP.pm +667 -0
  383. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/iWork.pm +223 -0
  384. data/bin/Image-ExifTool-10.40/perl-Image-ExifTool.spec +113 -0
  385. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/AFCP.t +0 -0
  386. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/AFCP_2.out +0 -0
  387. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/AFCP_3.out +0 -0
  388. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/AIFF.t +0 -0
  389. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/AIFF_2.out +0 -0
  390. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/APE.t +0 -0
  391. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/APE_2.out +0 -0
  392. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/APE_3.out +0 -0
  393. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ASF.t +0 -0
  394. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ASF_2.out +0 -0
  395. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Apple.t +0 -0
  396. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Apple_2.out +0 -0
  397. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Audible.t +0 -0
  398. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Audible_2.out +0 -0
  399. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/BMP.t +0 -0
  400. data/bin/Image-ExifTool-10.40/t/BMP_2.out +24 -0
  401. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/BPG.t +0 -0
  402. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/BPG_2.out +0 -0
  403. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/BigTIFF.t +0 -0
  404. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/BigTIFF_2.out +0 -0
  405. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Canon.t +0 -0
  406. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonRaw.t +0 -0
  407. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonRaw_2.out +0 -0
  408. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonRaw_4.out +0 -0
  409. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonRaw_5.out +0 -0
  410. data/bin/Image-ExifTool-10.40/t/CanonRaw_6.out +233 -0
  411. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonRaw_7.out +0 -0
  412. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD.t +0 -0
  413. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_11.out +0 -0
  414. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_12.out +0 -0
  415. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_13.out +0 -0
  416. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_14.out +0 -0
  417. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_15.out +0 -0
  418. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_16.out +0 -0
  419. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_17.out +0 -0
  420. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_18.out +0 -0
  421. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_19.out +0 -0
  422. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_2.out +0 -0
  423. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_20.out +0 -0
  424. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_21.out +0 -0
  425. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_3.out +0 -0
  426. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_4.out +0 -0
  427. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_5.out +0 -0
  428. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_6.out +0 -0
  429. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_7.out +0 -0
  430. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_8.out +0 -0
  431. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_9.out +0 -0
  432. data/bin/Image-ExifTool-10.40/t/Canon_2.out +358 -0
  433. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Canon_3.out +0 -0
  434. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Casio.t +0 -0
  435. data/bin/Image-ExifTool-10.40/t/Casio_2.out +72 -0
  436. data/bin/Image-ExifTool-10.40/t/Casio_3.out +102 -0
  437. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Casio_4.out +0 -0
  438. data/bin/Image-ExifTool-10.40/t/Casio_5.out +80 -0
  439. data/bin/Image-ExifTool-10.40/t/Casio_6.out +117 -0
  440. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DICOM.t +0 -0
  441. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DICOM_2.out +0 -0
  442. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DNG.t +0 -0
  443. data/bin/Image-ExifTool-10.40/t/DNG_2.out +329 -0
  444. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DNG_3.out +0 -0
  445. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DPX.t +0 -0
  446. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DPX_2.out +0 -0
  447. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DV.t +0 -0
  448. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DV_2.out +0 -0
  449. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DjVu.t +0 -0
  450. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DjVu_2.out +0 -0
  451. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE.t +0 -0
  452. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_2.out +0 -0
  453. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_3.out +0 -0
  454. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_4.out +0 -0
  455. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_5.out +0 -0
  456. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_6.out +0 -0
  457. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_7.out +0 -0
  458. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool.t +0 -0
  459. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_16.out +0 -0
  460. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_17.out +0 -0
  461. data/bin/Image-ExifTool-10.40/t/ExifTool_2.out +427 -0
  462. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_20.out +0 -0
  463. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_21.out +0 -0
  464. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_22.out +0 -0
  465. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_23.out +0 -0
  466. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_24.out +0 -0
  467. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_25.out +0 -0
  468. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_26.out +0 -0
  469. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_27.out +0 -0
  470. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_28.out +0 -0
  471. data/bin/Image-ExifTool-10.40/t/ExifTool_29.out +426 -0
  472. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_3.out +0 -0
  473. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_30.out +0 -0
  474. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_4.out +0 -0
  475. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_5.out +0 -0
  476. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_6.out +0 -0
  477. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_7.out +0 -0
  478. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_8.out +0 -0
  479. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_9.out +0 -0
  480. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLAC.t +0 -0
  481. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLAC_2.out +0 -0
  482. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLAC_3.out +0 -0
  483. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIF.t +0 -0
  484. data/bin/Image-ExifTool-10.40/t/FLIF_2.out +51 -0
  485. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIF_3.out +0 -0
  486. data/bin/Image-ExifTool-10.40/t/FLIF_4.out +18 -0
  487. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIF_5.out +0 -0
  488. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIF_6.out +0 -0
  489. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIR.t +0 -0
  490. data/bin/Image-ExifTool-10.40/t/FLIR_2.out +118 -0
  491. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIR_3.out +0 -0
  492. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Flash.t +0 -0
  493. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FlashPix.t +0 -0
  494. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FlashPix_2.out +0 -0
  495. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Flash_2.out +0 -0
  496. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Flash_3.out +0 -0
  497. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font.t +0 -0
  498. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_2.out +0 -0
  499. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_3.out +0 -0
  500. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_4.out +0 -0
  501. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_5.out +0 -0
  502. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_6.out +0 -0
  503. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_7.out +0 -0
  504. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FotoStation.t +0 -0
  505. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FotoStation_2.out +0 -0
  506. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FotoStation_3.out +0 -0
  507. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FujiFilm.t +0 -0
  508. data/bin/Image-ExifTool-10.40/t/FujiFilm_2.out +89 -0
  509. data/bin/Image-ExifTool-10.40/t/FujiFilm_3.out +90 -0
  510. data/bin/Image-ExifTool-10.40/t/FujiFilm_4.out +143 -0
  511. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FujiFilm_5.out +0 -0
  512. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GE.t +0 -0
  513. data/bin/Image-ExifTool-10.40/t/GE_2.out +86 -0
  514. data/bin/Image-ExifTool-10.40/t/GE_3.out +86 -0
  515. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIF.t +0 -0
  516. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIF_2.out +0 -0
  517. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIF_3.out +0 -0
  518. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIF_4.out +0 -0
  519. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIMP.t +0 -0
  520. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIMP_2.out +0 -0
  521. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GPS.t +0 -0
  522. data/bin/Image-ExifTool-10.40/t/GPS_2.out +96 -0
  523. data/bin/Image-ExifTool-10.40/t/GPS_3.out +98 -0
  524. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GeoTiff.t +0 -0
  525. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GeoTiff_2.out +0 -0
  526. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GeoTiff_3.out +0 -0
  527. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GeoTiff_4.out +0 -0
  528. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag.t +0 -0
  529. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_10.out +0 -0
  530. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_11.out +0 -0
  531. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_2.out +0 -0
  532. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_3.out +0 -0
  533. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_5.out +0 -0
  534. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_6.out +0 -0
  535. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_7.out +0 -0
  536. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_8.out +0 -0
  537. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_9.out +0 -0
  538. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/HTML.t +0 -0
  539. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/HTML_2.out +0 -0
  540. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC.t +0 -0
  541. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_2.out +0 -0
  542. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_4.out +0 -0
  543. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_5.out +0 -0
  544. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_6.out +0 -0
  545. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_7.out +0 -0
  546. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_8.out +0 -0
  547. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ISO.t +0 -0
  548. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ISO_2.out +0 -0
  549. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ITC.t +0 -0
  550. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ITC_2.out +0 -0
  551. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/InDesign.t +0 -0
  552. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/InDesign_2.out +0 -0
  553. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/InDesign_3.out +0 -0
  554. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/InDesign_4.out +0 -0
  555. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/JVC.t +0 -0
  556. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/JVC_2.out +0 -0
  557. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/JVC_3.out +0 -0
  558. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Jpeg2000.t +0 -0
  559. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Jpeg2000_2.out +0 -0
  560. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Jpeg2000_3.out +0 -0
  561. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Jpeg2000_4.out +0 -0
  562. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Kodak.t +0 -0
  563. data/bin/Image-ExifTool-10.40/t/Kodak_2.out +111 -0
  564. data/bin/Image-ExifTool-10.40/t/Kodak_3.out +121 -0
  565. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/KyoceraRaw.t +0 -0
  566. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/KyoceraRaw_2.out +0 -0
  567. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/LNK.t +0 -0
  568. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/LNK_2.out +0 -0
  569. data/bin/Image-ExifTool-10.40/t/Lang.t +42 -0
  570. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Lang_1.out +0 -0
  571. data/bin/Image-ExifTool-10.40/t/Lang_10.out +47 -0
  572. data/bin/Image-ExifTool-10.40/t/Lang_11.out +47 -0
  573. data/bin/Image-ExifTool-10.40/t/Lang_12.out +47 -0
  574. data/bin/Image-ExifTool-10.40/t/Lang_13.out +47 -0
  575. data/bin/Image-ExifTool-10.40/t/Lang_14.out +47 -0
  576. data/bin/Image-ExifTool-10.40/t/Lang_15.out +47 -0
  577. data/bin/Image-ExifTool-10.40/t/Lang_16.out +47 -0
  578. data/bin/Image-ExifTool-10.40/t/Lang_17.out +47 -0
  579. data/bin/Image-ExifTool-10.40/t/Lang_18.out +47 -0
  580. data/bin/Image-ExifTool-10.40/t/Lang_2.out +47 -0
  581. data/bin/Image-ExifTool-10.40/t/Lang_3.out +47 -0
  582. data/bin/Image-ExifTool-10.40/t/Lang_4.out +47 -0
  583. data/bin/Image-ExifTool-10.40/t/Lang_5.out +47 -0
  584. data/bin/Image-ExifTool-10.40/t/Lang_6.out +47 -0
  585. data/bin/Image-ExifTool-10.40/t/Lang_7.out +47 -0
  586. data/bin/Image-ExifTool-10.40/t/Lang_8.out +47 -0
  587. data/bin/Image-ExifTool-10.40/t/Lang_9.out +47 -0
  588. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Lytro.t +0 -0
  589. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Lytro_2.out +0 -0
  590. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/M2TS.t +0 -0
  591. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/M2TS_2.out +0 -0
  592. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIE.t +0 -0
  593. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIE_2.out +0 -0
  594. data/bin/Image-ExifTool-10.40/t/MIE_3.out +136 -0
  595. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIE_5.out +0 -0
  596. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIE_6.out +0 -0
  597. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIFF.t +0 -0
  598. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIFF_2.out +0 -0
  599. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MOI.t +0 -0
  600. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MOI_2.out +0 -0
  601. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MP3.t +0 -0
  602. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MP3_2.out +0 -0
  603. data/bin/Image-ExifTool-10.40/t/MWG.t +99 -0
  604. data/bin/Image-ExifTool-10.40/t/MWG_2.out +13 -0
  605. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MWG_3.out +0 -0
  606. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MWG_4.out +0 -0
  607. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MWG_5.out +0 -0
  608. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MWG_6.out +0 -0
  609. data/bin/Image-ExifTool-10.40/t/MWG_7.out +11 -0
  610. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MXF.t +0 -0
  611. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MXF_2.out +0 -0
  612. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Matroska.t +0 -0
  613. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Matroska_2.out +0 -0
  614. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Minolta.t +0 -0
  615. data/bin/Image-ExifTool-10.40/t/Minolta_2.out +135 -0
  616. data/bin/Image-ExifTool-10.40/t/Minolta_3.out +148 -0
  617. data/bin/Image-ExifTool-10.40/t/Minolta_4.out +150 -0
  618. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Motorola.t +0 -0
  619. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Motorola_2.out +0 -0
  620. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Nikon.t +0 -0
  621. data/bin/Image-ExifTool-10.40/t/Nikon_2.out +84 -0
  622. data/bin/Image-ExifTool-10.40/t/Nikon_3.out +100 -0
  623. data/bin/Image-ExifTool-10.40/t/Nikon_4.out +176 -0
  624. data/bin/Image-ExifTool-10.40/t/Nikon_5.out +169 -0
  625. data/bin/Image-ExifTool-10.40/t/Nikon_7.out +261 -0
  626. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Nikon_8.out +0 -0
  627. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Olympus.t +0 -0
  628. data/bin/Image-ExifTool-10.40/t/Olympus_2.out +81 -0
  629. data/bin/Image-ExifTool-10.40/t/Olympus_3.out +83 -0
  630. data/bin/Image-ExifTool-10.40/t/Olympus_4.out +194 -0
  631. data/bin/Image-ExifTool-10.40/t/Olympus_5.out +266 -0
  632. data/bin/Image-ExifTool-10.40/t/Olympus_6.out +153 -0
  633. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Olympus_7.out +0 -0
  634. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Olympus_8.out +0 -0
  635. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/OpenEXR.t +0 -0
  636. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/OpenEXR_2.out +0 -0
  637. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Opus.t +0 -0
  638. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Opus_2.out +0 -0
  639. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF.t +0 -0
  640. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_10.out +0 -0
  641. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_11.out +0 -0
  642. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_12.out +0 -0
  643. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_14.out +0 -0
  644. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_15.out +0 -0
  645. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_16.out +0 -0
  646. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_17.out +0 -0
  647. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_18.out +0 -0
  648. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_19.out +0 -0
  649. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_2.out +0 -0
  650. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_20.out +0 -0
  651. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_22.out +0 -0
  652. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_4.out +0 -0
  653. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_5.out +0 -0
  654. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_6.out +0 -0
  655. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_7.out +0 -0
  656. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_8.out +0 -0
  657. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_9.out +0 -0
  658. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PGF.t +0 -0
  659. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PGF_2.out +0 -0
  660. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PICT.t +0 -0
  661. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PICT_2.out +0 -0
  662. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PLIST.t +0 -0
  663. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PLIST_2.out +0 -0
  664. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PLIST_3.out +0 -0
  665. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PLUS.t +0 -0
  666. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PLUS_2.out +0 -0
  667. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PNG.t +0 -0
  668. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PNG_2.out +0 -0
  669. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PNG_3.out +0 -0
  670. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PNG_4.out +0 -0
  671. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PNG_5.out +0 -0
  672. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PPM.t +0 -0
  673. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PPM_2.out +0 -0
  674. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PPM_3.out +0 -0
  675. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PSP.t +0 -0
  676. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PSP_2.out +0 -0
  677. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Palm.t +0 -0
  678. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Palm_2.out +0 -0
  679. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Panasonic.t +0 -0
  680. data/bin/Image-ExifTool-10.40/t/Panasonic_2.out +101 -0
  681. data/bin/Image-ExifTool-10.40/t/Panasonic_3.out +121 -0
  682. data/bin/Image-ExifTool-10.40/t/Panasonic_4.out +206 -0
  683. data/bin/Image-ExifTool-10.40/t/Panasonic_5.out +244 -0
  684. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Pentax.t +0 -0
  685. data/bin/Image-ExifTool-10.40/t/Pentax_2.out +225 -0
  686. data/bin/Image-ExifTool-10.40/t/Pentax_3.out +266 -0
  687. data/bin/Image-ExifTool-10.40/t/Pentax_4.out +132 -0
  688. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhaseOne.t +0 -0
  689. data/bin/Image-ExifTool-10.40/t/PhaseOne_2.out +99 -0
  690. data/bin/Image-ExifTool-10.40/t/PhaseOne_3.out +170 -0
  691. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhotoCD.t +0 -0
  692. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhotoCD_2.out +0 -0
  693. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhotoMechanic.t +0 -0
  694. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhotoMechanic_2.out +0 -0
  695. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhotoMechanic_3.out +0 -0
  696. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Photoshop.t +0 -0
  697. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Photoshop_2.out +0 -0
  698. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Photoshop_3.out +0 -0
  699. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PostScript.t +0 -0
  700. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PostScript_2.out +0 -0
  701. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PostScript_3.out +0 -0
  702. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/QuickTime.t +0 -0
  703. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/QuickTime_2.out +0 -0
  704. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/QuickTime_3.out +0 -0
  705. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/QuickTime_4.out +0 -0
  706. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/QuickTime_5.out +0 -0
  707. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/RIFF.t +0 -0
  708. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/RIFF_2.out +0 -0
  709. data/bin/Image-ExifTool-10.40/t/RIFF_3.out +55 -0
  710. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/RIFF_4.out +0 -0
  711. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/RTF.t +0 -0
  712. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/RTF_2.out +0 -0
  713. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Radiance.t +0 -0
  714. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Radiance_2.out +0 -0
  715. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Real.t +0 -0
  716. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Real_2.out +0 -0
  717. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Real_3.out +0 -0
  718. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Real_4.out +0 -0
  719. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Ricoh.t +0 -0
  720. data/bin/Image-ExifTool-10.40/t/Ricoh_2.out +72 -0
  721. data/bin/Image-ExifTool-10.40/t/Ricoh_3.out +100 -0
  722. data/bin/Image-ExifTool-10.40/t/Ricoh_4.out +114 -0
  723. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Sanyo.t +0 -0
  724. data/bin/Image-ExifTool-10.40/t/Sanyo_2.out +103 -0
  725. data/bin/Image-ExifTool-10.40/t/Sanyo_3.out +113 -0
  726. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Sigma.t +0 -0
  727. data/bin/Image-ExifTool-10.40/t/Sigma_2.out +93 -0
  728. data/bin/Image-ExifTool-10.40/t/Sigma_3.out +96 -0
  729. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Sigma_4.out +0 -0
  730. data/bin/Image-ExifTool-10.40/t/Sigma_5.out +194 -0
  731. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Sony.t +0 -0
  732. data/bin/Image-ExifTool-10.40/t/Sony_2.out +86 -0
  733. data/bin/Image-ExifTool-10.40/t/Sony_3.out +87 -0
  734. data/bin/Image-ExifTool-10.40/t/Sony_5.out +34 -0
  735. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/TestLib.pm +0 -0
  736. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Torrent.t +0 -0
  737. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Torrent_2.out +0 -0
  738. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Unknown.t +0 -0
  739. data/bin/Image-ExifTool-10.40/t/Unknown_2.out +92 -0
  740. data/bin/Image-ExifTool-10.40/t/Unknown_3.out +92 -0
  741. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/VCard.t +0 -0
  742. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/VCard_2.out +0 -0
  743. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/VCard_3.out +0 -0
  744. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Vorbis.t +0 -0
  745. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Vorbis_2.out +0 -0
  746. data/bin/Image-ExifTool-10.40/t/Writer.t +1071 -0
  747. data/bin/Image-ExifTool-10.40/t/Writer_10.out +246 -0
  748. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_11.out +0 -0
  749. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_13.out +0 -0
  750. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_14.out +0 -0
  751. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_15.out +0 -0
  752. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_16.out +0 -0
  753. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_17.out +0 -0
  754. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_18.out +0 -0
  755. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_19.out +0 -0
  756. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_2.out +0 -0
  757. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_22.out +0 -0
  758. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_24.out +0 -0
  759. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_25.out +0 -0
  760. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_26.out +0 -0
  761. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_27.out +0 -0
  762. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_28.out +0 -0
  763. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_29.out +0 -0
  764. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_30.out +0 -0
  765. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_31.out +0 -0
  766. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_32.out +0 -0
  767. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_33.out +0 -0
  768. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_34.out +0 -0
  769. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_35.out +0 -0
  770. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_36.out +0 -0
  771. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_37.out +0 -0
  772. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_38.out +0 -0
  773. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_39.out +0 -0
  774. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_4.out +0 -0
  775. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_40.out +0 -0
  776. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_41.out +0 -0
  777. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_42.out +0 -0
  778. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_43.out +0 -0
  779. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_44.out +0 -0
  780. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_45.out +0 -0
  781. data/bin/Image-ExifTool-10.40/t/Writer_46.out +111 -0
  782. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_47.out +0 -0
  783. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_48.out +0 -0
  784. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_50.out +0 -0
  785. data/bin/Image-ExifTool-10.40/t/Writer_51.out +414 -0
  786. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_52.out +0 -0
  787. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_53.out +0 -0
  788. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_54.out +0 -0
  789. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_55.out +0 -0
  790. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_56.out +0 -0
  791. data/bin/Image-ExifTool-10.40/t/Writer_58.out +44 -0
  792. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_6.out +0 -0
  793. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_7.out +0 -0
  794. data/bin/Image-ExifTool-10.40/t/Writer_9.out +243 -0
  795. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP.t +0 -0
  796. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_10.out +0 -0
  797. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_11.out +0 -0
  798. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_12.out +0 -0
  799. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_13.out +0 -0
  800. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_14.out +0 -0
  801. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_15.out +0 -0
  802. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_16.out +0 -0
  803. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_17.out +0 -0
  804. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_18.out +0 -0
  805. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_19.out +0 -0
  806. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_2.out +0 -0
  807. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_20.out +0 -0
  808. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_21.out +0 -0
  809. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_22.out +0 -0
  810. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_23.out +0 -0
  811. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_24.out +0 -0
  812. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_25.out +0 -0
  813. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_26.out +0 -0
  814. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_27.out +0 -0
  815. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_28.out +0 -0
  816. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_29.out +0 -0
  817. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_3.out +0 -0
  818. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_30.out +0 -0
  819. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_31.out +0 -0
  820. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_32.out +0 -0
  821. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_34.out +0 -0
  822. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_36.out +0 -0
  823. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_37.out +0 -0
  824. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_39.out +0 -0
  825. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_40.out +0 -0
  826. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_41.out +0 -0
  827. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_42.out +0 -0
  828. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_43.out +0 -0
  829. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_44.out +0 -0
  830. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_45.out +0 -0
  831. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_5.out +0 -0
  832. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_6.out +0 -0
  833. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_7.out +0 -0
  834. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_8.out +0 -0
  835. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_9.out +0 -0
  836. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP.t +0 -0
  837. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_2.out +0 -0
  838. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_3.out +0 -0
  839. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_4.out +0 -0
  840. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_5.out +0 -0
  841. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_6.out +0 -0
  842. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_7.out +0 -0
  843. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/AFCP.jpg +0 -0
  844. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/AIFF.aif +0 -0
  845. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/APE.ape +0 -0
  846. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/APE.mpc +0 -0
  847. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ASF.wmv +0 -0
  848. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Apple.jpg +0 -0
  849. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Audible.aa +0 -0
  850. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/BMP.bmp +0 -0
  851. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/BPG.bpg +0 -0
  852. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/BigTIFF.btf +0 -0
  853. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Canon.jpg +0 -0
  854. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Canon1DmkIII.jpg +0 -0
  855. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CanonRaw.cr2 +0 -0
  856. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CanonRaw.crw +0 -0
  857. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CanonVRD.dr4 +0 -0
  858. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CanonVRD.vrd +0 -0
  859. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CaptureOne.eip +0 -0
  860. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Casio.jpg +0 -0
  861. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Casio2.jpg +0 -0
  862. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CasioQVCI.jpg +0 -0
  863. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/DICOM.dcm +0 -0
  864. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/DNG.dng +0 -0
  865. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/DPX.dpx +0 -0
  866. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/DV.dv +0 -0
  867. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/DjVu.djvu +0 -0
  868. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.a +0 -0
  869. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.dylib +0 -0
  870. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.elf +0 -0
  871. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.exe +0 -0
  872. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.macho +0 -0
  873. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.so +0 -0
  874. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ExifTool.jpg +0 -0
  875. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ExifTool.tif +0 -0
  876. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ExtendedXMP.jpg +0 -0
  877. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FLAC.flac +0 -0
  878. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FLAC.ogg +0 -0
  879. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FLIF.flif +0 -0
  880. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FLIR.fpf +0 -0
  881. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FLIR.jpg +0 -0
  882. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Flash.flv +0 -0
  883. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Flash.swf +0 -0
  884. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FlashPix.ppt +0 -0
  885. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.afm +0 -0
  886. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.dfont +0 -0
  887. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.pfa +0 -0
  888. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.pfb +0 -0
  889. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.pfm +0 -0
  890. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.ttf +0 -0
  891. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FotoStation.jpg +0 -0
  892. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FujiFilm.jpg +0 -0
  893. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FujiFilm.raf +0 -0
  894. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/GE.jpg +0 -0
  895. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/GIF.gif +0 -0
  896. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/GIMP.xcf +0 -0
  897. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/GPS.jpg +0 -0
  898. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/GeoTiff.tif +0 -0
  899. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag.gpx +0 -0
  900. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag.igc +0 -0
  901. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag.kml +0 -0
  902. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag.log +0 -0
  903. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag.xml +0 -0
  904. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag2.log +0 -0
  905. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag3.log +0 -0
  906. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/HTML.html +0 -0
  907. data/bin/Image-ExifTool-10.40/t/images/ICC_Profile.icc +0 -0
  908. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/IPTC.jpg +0 -0
  909. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ISO.iso +0 -0
  910. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ITC.itc +0 -0
  911. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/InDesign.indd +0 -0
  912. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/JVC.jpg +0 -0
  913. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/JVC2.jpg +0 -0
  914. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Jpeg2000.j2c +0 -0
  915. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Jpeg2000.jp2 +0 -0
  916. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Kodak.jpg +0 -0
  917. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/KyoceraRaw.raw +0 -0
  918. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/LNK.lnk +0 -0
  919. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Lytro.lfp +0 -0
  920. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/M2TS.mts +0 -0
  921. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MIE.mie +0 -0
  922. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MIFF.miff +0 -0
  923. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MOI.moi +0 -0
  924. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MP3.mp3 +0 -0
  925. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MWG.jpg +0 -0
  926. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MXF.mxf +0 -0
  927. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Matroska.mkv +0 -0
  928. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Minolta.jpg +0 -0
  929. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Minolta.mrw +0 -0
  930. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Motorola.jpg +0 -0
  931. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Nikon.jpg +0 -0
  932. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Nikon.nef +0 -0
  933. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/NikonD2Hs.jpg +0 -0
  934. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/NikonD70.jpg +0 -0
  935. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/OOXML.docx +0 -0
  936. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Olympus.dss +0 -0
  937. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Olympus.jpg +0 -0
  938. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Olympus2.jpg +0 -0
  939. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/OlympusE1.jpg +0 -0
  940. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/OpenDoc.ods +0 -0
  941. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/OpenEXR.exr +0 -0
  942. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Opus.opus +0 -0
  943. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PDF.pdf +0 -0
  944. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PDF2.pdf +0 -0
  945. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PGF.pgf +0 -0
  946. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PICT.pict +0 -0
  947. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PLIST-bin.plist +0 -0
  948. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PLIST-xml.plist +0 -0
  949. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PLUS.xmp +0 -0
  950. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PNG.png +0 -0
  951. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PPM.ppm +0 -0
  952. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PSP.psp +0 -0
  953. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Palm.mobi +0 -0
  954. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Panasonic.jpg +0 -0
  955. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Panasonic.rw2 +0 -0
  956. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Pentax.avi +0 -0
  957. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Pentax.jpg +0 -0
  958. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PhaseOne.iiq +0 -0
  959. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PhotoCD.pcd +0 -0
  960. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PhotoMechanic.jpg +0 -0
  961. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Photoshop.psd +0 -0
  962. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PostScript.eps +0 -0
  963. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/QuickTime.m4a +0 -0
  964. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/QuickTime.mov +0 -0
  965. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/RIFF.avi +0 -0
  966. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/RIFF.wav +0 -0
  967. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/RIFF.webp +0 -0
  968. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/RTF.rtf +0 -0
  969. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Radiance.hdr +0 -0
  970. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Real.ra +0 -0
  971. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Real.ram +0 -0
  972. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Real.rm +0 -0
  973. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Ricoh.jpg +0 -0
  974. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Ricoh2.jpg +0 -0
  975. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Sanyo.jpg +0 -0
  976. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Sigma.jpg +0 -0
  977. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Sigma.x3f +0 -0
  978. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/SigmaDP2.x3f +0 -0
  979. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Sony.jpg +0 -0
  980. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Sony.pmp +0 -0
  981. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Torrent.torrent +0 -0
  982. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Unknown.jpg +0 -0
  983. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/VCard.ics +0 -0
  984. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/VCard.vcf +0 -0
  985. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Vorbis.ogg +0 -0
  986. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Writer.jpg +0 -0
  987. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP.inx +0 -0
  988. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP.jpg +0 -0
  989. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP.svg +0 -0
  990. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP.xml +0 -0
  991. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP.xmp +0 -0
  992. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP2.xmp +0 -0
  993. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP3.xmp +0 -0
  994. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP4.xmp +0 -0
  995. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP5.xmp +0 -0
  996. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP6.xmp +0 -0
  997. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ZIP.gz +0 -0
  998. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ZIP.zip +0 -0
  999. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/iWork.numbers +0 -0
  1000. data/lib/exiftool_vendored/version.rb +1 -1
  1001. metadata +1000 -997
  1002. data/bin/Image-ExifTool-10.31/Changes +0 -7604
  1003. data/bin/Image-ExifTool-10.31/MANIFEST +0 -995
  1004. data/bin/Image-ExifTool-10.31/META.json +0 -51
  1005. data/bin/Image-ExifTool-10.31/META.yml +0 -31
  1006. data/bin/Image-ExifTool-10.31/README +0 -239
  1007. data/bin/Image-ExifTool-10.31/config_files/time_zone.config +0 -56
  1008. data/bin/Image-ExifTool-10.31/exiftool +0 -6431
  1009. data/bin/Image-ExifTool-10.31/html/ExifTool.html +0 -2114
  1010. data/bin/Image-ExifTool-10.31/html/Shift.html +0 -209
  1011. data/bin/Image-ExifTool-10.31/html/TagNames/BMP.html +0 -110
  1012. data/bin/Image-ExifTool-10.31/html/TagNames/Canon.html +0 -9740
  1013. data/bin/Image-ExifTool-10.31/html/TagNames/Composite.html +0 -739
  1014. data/bin/Image-ExifTool-10.31/html/TagNames/EXIF.html +0 -3482
  1015. data/bin/Image-ExifTool-10.31/html/TagNames/Extra.html +0 -469
  1016. data/bin/Image-ExifTool-10.31/html/TagNames/FLIF.html +0 -79
  1017. data/bin/Image-ExifTool-10.31/html/TagNames/FlashPix.html +0 -1465
  1018. data/bin/Image-ExifTool-10.31/html/TagNames/FujiFilm.html +0 -849
  1019. data/bin/Image-ExifTool-10.31/html/TagNames/MWG.html +0 -584
  1020. data/bin/Image-ExifTool-10.31/html/TagNames/Minolta.html +0 -2633
  1021. data/bin/Image-ExifTool-10.31/html/TagNames/Nikon.html +0 -6002
  1022. data/bin/Image-ExifTool-10.31/html/TagNames/Olympus.html +0 -3655
  1023. data/bin/Image-ExifTool-10.31/html/TagNames/Panasonic.html +0 -1700
  1024. data/bin/Image-ExifTool-10.31/html/TagNames/PhaseOne.html +0 -253
  1025. data/bin/Image-ExifTool-10.31/html/TagNames/Photoshop.html +0 -739
  1026. data/bin/Image-ExifTool-10.31/html/TagNames/Sony.html +0 -10219
  1027. data/bin/Image-ExifTool-10.31/html/TagNames/XMP.html +0 -9332
  1028. data/bin/Image-ExifTool-10.31/html/ancient_history.html +0 -8209
  1029. data/bin/Image-ExifTool-10.31/html/data_members.html +0 -280
  1030. data/bin/Image-ExifTool-10.31/html/exiftool_pod.html +0 -2567
  1031. data/bin/Image-ExifTool-10.31/html/faq.html +0 -1589
  1032. data/bin/Image-ExifTool-10.31/html/filename.html +0 -352
  1033. data/bin/Image-ExifTool-10.31/html/geotag.html +0 -658
  1034. data/bin/Image-ExifTool-10.31/html/history.html +0 -375
  1035. data/bin/Image-ExifTool-10.31/html/idiosyncracies.html +0 -272
  1036. data/bin/Image-ExifTool-10.31/html/index.html +0 -1358
  1037. data/bin/Image-ExifTool-10.31/html/install.html +0 -259
  1038. data/bin/Image-ExifTool-10.31/html/under.html +0 -128
  1039. data/bin/Image-ExifTool-10.31/lib/File/RandomAccess.pm +0 -378
  1040. data/bin/Image-ExifTool-10.31/lib/File/RandomAccess.pod +0 -231
  1041. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool.pm +0 -7765
  1042. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool.pod +0 -2556
  1043. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/AES.pm +0 -501
  1044. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/AFCP.pm +0 -286
  1045. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/AIFF.pm +0 -289
  1046. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/APE.pm +0 -282
  1047. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/APP12.pm +0 -322
  1048. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ASF.pm +0 -885
  1049. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Apple.pm +0 -153
  1050. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Audible.pm +0 -317
  1051. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/BMP.pm +0 -179
  1052. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/BPG.pm +0 -251
  1053. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/BZZ.pm +0 -472
  1054. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/BigTIFF.pm +0 -282
  1055. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/BuildTagLookup.pm +0 -2563
  1056. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Canon.pm +0 -8926
  1057. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/CanonCustom.pm +0 -2667
  1058. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/CanonRaw.pm +0 -910
  1059. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/CanonVRD.pm +0 -2273
  1060. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/CaptureOne.pm +0 -235
  1061. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Casio.pm +0 -2058
  1062. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Charset.pm +0 -423
  1063. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DICOM.pm +0 -3874
  1064. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DJI.pm +0 -71
  1065. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DNG.pm +0 -835
  1066. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DPX.pm +0 -182
  1067. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DV.pm +0 -319
  1068. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DarwinCore.pm +0 -322
  1069. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DjVu.pm +0 -376
  1070. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/EXE.pm +0 -1401
  1071. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Exif.pm +0 -6038
  1072. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FLAC.pm +0 -297
  1073. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FLIF.pm +0 -345
  1074. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FLIR.pm +0 -1533
  1075. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Fixup.pm +0 -366
  1076. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Flash.pm +0 -755
  1077. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FlashPix.pm +0 -1935
  1078. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Font.pm +0 -647
  1079. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FotoStation.pm +0 -261
  1080. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FujiFilm.pm +0 -1257
  1081. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/GE.pm +0 -81
  1082. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/GIF.pm +0 -542
  1083. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/GIMP.pm +0 -258
  1084. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/GPS.pm +0 -558
  1085. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/GeoTiff.pm +0 -2263
  1086. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Geotag.pm +0 -1287
  1087. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/H264.pm +0 -1110
  1088. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/HP.pm +0 -263
  1089. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/HTML.pm +0 -576
  1090. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/HtmlDump.pm +0 -898
  1091. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ICC_Profile.pm +0 -1013
  1092. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ID3.pm +0 -1570
  1093. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/IPTC.pm +0 -1264
  1094. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ISO.pm +0 -206
  1095. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ITC.pm +0 -215
  1096. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Import.pm +0 -329
  1097. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/InDesign.pm +0 -277
  1098. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/JPEG.pm +0 -605
  1099. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/JPEGDigest.pm +0 -2616
  1100. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/JVC.pm +0 -130
  1101. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Jpeg2000.pm +0 -898
  1102. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Kodak.pm +0 -2096
  1103. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/KyoceraRaw.pm +0 -173
  1104. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/LNK.pm +0 -723
  1105. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/cs.pm +0 -1588
  1106. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/de.pm +0 -8692
  1107. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/en_ca.pm +0 -934
  1108. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/en_gb.pm +0 -977
  1109. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/es.pm +0 -4019
  1110. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/fi.pm +0 -2854
  1111. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/fr.pm +0 -4758
  1112. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/it.pm +0 -7918
  1113. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/ja.pm +0 -5835
  1114. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/ko.pm +0 -2330
  1115. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/nl.pm +0 -3222
  1116. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/pl.pm +0 -1276
  1117. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/ru.pm +0 -768
  1118. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/sv.pm +0 -638
  1119. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/tr.pm +0 -544
  1120. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/zh_cn.pm +0 -1330
  1121. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/zh_tw.pm +0 -801
  1122. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Leaf.pm +0 -517
  1123. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lytro.pm +0 -217
  1124. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/M2TS.pm +0 -729
  1125. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MIE.pm +0 -2564
  1126. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MIEUnits.pod +0 -377
  1127. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MIFF.pm +0 -279
  1128. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MNG.pm +0 -684
  1129. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MOI.pm +0 -158
  1130. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MPC.pm +0 -156
  1131. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MPEG.pm +0 -736
  1132. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MPF.pm +0 -292
  1133. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MWG.pm +0 -751
  1134. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MXF.pm +0 -3031
  1135. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MakerNotes.pm +0 -1745
  1136. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Matroska.pm +0 -932
  1137. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Microsoft.pm +0 -904
  1138. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Minolta.pm +0 -2993
  1139. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MinoltaRaw.pm +0 -535
  1140. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Motorola.pm +0 -62
  1141. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Nikon.pm +0 -8155
  1142. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/NikonCapture.pm +0 -940
  1143. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/NikonCustom.pm +0 -8682
  1144. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Nintendo.pm +0 -128
  1145. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/OOXML.pm +0 -409
  1146. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Ogg.pm +0 -240
  1147. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Olympus.pm +0 -3989
  1148. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/OpenEXR.pm +0 -323
  1149. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Opus.pm +0 -98
  1150. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PDF.pm +0 -2367
  1151. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PGF.pm +0 -143
  1152. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PICT.pm +0 -1260
  1153. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PLIST.pm +0 -448
  1154. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PLUS.pm +0 -2607
  1155. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PNG.pm +0 -1255
  1156. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PPM.pm +0 -169
  1157. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PSP.pm +0 -306
  1158. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Palm.pm +0 -403
  1159. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Panasonic.pm +0 -2374
  1160. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PanasonicRaw.pm +0 -643
  1161. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Pentax.pm +0 -6133
  1162. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PhaseOne.pm +0 -707
  1163. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PhotoCD.pm +0 -507
  1164. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PhotoMechanic.pm +0 -256
  1165. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Photoshop.pm +0 -939
  1166. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PostScript.pm +0 -699
  1167. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PrintIM.pm +0 -125
  1168. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Qualcomm.pm +0 -1344
  1169. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/QuickTime.pm +0 -6697
  1170. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/README +0 -1000
  1171. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/RIFF.pm +0 -1587
  1172. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/RSRC.pm +0 -241
  1173. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/RTF.pm +0 -383
  1174. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Radiance.pm +0 -144
  1175. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Rawzor.pm +0 -189
  1176. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Real.pm +0 -739
  1177. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Reconyx.pm +0 -190
  1178. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Ricoh.pm +0 -1148
  1179. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Samsung.pm +0 -1269
  1180. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Sanyo.pm +0 -440
  1181. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Scalado.pm +0 -141
  1182. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Shift.pl +0 -627
  1183. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Shortcuts.pm +0 -338
  1184. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Sigma.pm +0 -760
  1185. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/SigmaRaw.pm +0 -670
  1186. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Sony.pm +0 -9634
  1187. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/SonyIDC.pm +0 -332
  1188. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Stim.pm +0 -196
  1189. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/TagInfoXML.pm +0 -827
  1190. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/TagLookup.pm +0 -9367
  1191. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/TagNames.pod +0 -30437
  1192. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Theora.pm +0 -145
  1193. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Torrent.pm +0 -317
  1194. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Unknown.pm +0 -66
  1195. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/VCard.pm +0 -405
  1196. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Vorbis.pm +0 -255
  1197. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WriteCanonRaw.pl +0 -637
  1198. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WriteExif.pl +0 -2472
  1199. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WriteIPTC.pl +0 -706
  1200. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WritePDF.pl +0 -771
  1201. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WritePNG.pl +0 -390
  1202. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WritePhotoshop.pl +0 -266
  1203. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WritePostScript.pl +0 -772
  1204. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WriteQuickTime.pl +0 -358
  1205. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WriteXMP.pl +0 -1381
  1206. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Writer.pl +0 -6260
  1207. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/XMP.pm +0 -4087
  1208. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/XMP2.pl +0 -1321
  1209. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/XMPStruct.pl +0 -843
  1210. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ZIP.pm +0 -667
  1211. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/iWork.pm +0 -223
  1212. data/bin/Image-ExifTool-10.31/perl-Image-ExifTool.spec +0 -113
  1213. data/bin/Image-ExifTool-10.31/t/BMP_2.out +0 -23
  1214. data/bin/Image-ExifTool-10.31/t/CanonRaw_6.out +0 -233
  1215. data/bin/Image-ExifTool-10.31/t/Canon_2.out +0 -358
  1216. data/bin/Image-ExifTool-10.31/t/Casio_2.out +0 -72
  1217. data/bin/Image-ExifTool-10.31/t/Casio_3.out +0 -102
  1218. data/bin/Image-ExifTool-10.31/t/Casio_5.out +0 -80
  1219. data/bin/Image-ExifTool-10.31/t/Casio_6.out +0 -117
  1220. data/bin/Image-ExifTool-10.31/t/DNG_2.out +0 -329
  1221. data/bin/Image-ExifTool-10.31/t/ExifTool_2.out +0 -427
  1222. data/bin/Image-ExifTool-10.31/t/ExifTool_29.out +0 -426
  1223. data/bin/Image-ExifTool-10.31/t/FLIF_2.out +0 -50
  1224. data/bin/Image-ExifTool-10.31/t/FLIF_4.out +0 -17
  1225. data/bin/Image-ExifTool-10.31/t/FLIR_2.out +0 -118
  1226. data/bin/Image-ExifTool-10.31/t/FujiFilm_2.out +0 -89
  1227. data/bin/Image-ExifTool-10.31/t/FujiFilm_3.out +0 -90
  1228. data/bin/Image-ExifTool-10.31/t/FujiFilm_4.out +0 -143
  1229. data/bin/Image-ExifTool-10.31/t/GE_2.out +0 -86
  1230. data/bin/Image-ExifTool-10.31/t/GE_3.out +0 -86
  1231. data/bin/Image-ExifTool-10.31/t/GPS_2.out +0 -96
  1232. data/bin/Image-ExifTool-10.31/t/GPS_3.out +0 -98
  1233. data/bin/Image-ExifTool-10.31/t/Kodak_2.out +0 -111
  1234. data/bin/Image-ExifTool-10.31/t/Kodak_3.out +0 -121
  1235. data/bin/Image-ExifTool-10.31/t/Lang.t +0 -40
  1236. data/bin/Image-ExifTool-10.31/t/Lang_10.out +0 -46
  1237. data/bin/Image-ExifTool-10.31/t/Lang_11.out +0 -46
  1238. data/bin/Image-ExifTool-10.31/t/Lang_12.out +0 -46
  1239. data/bin/Image-ExifTool-10.31/t/Lang_13.out +0 -46
  1240. data/bin/Image-ExifTool-10.31/t/Lang_14.out +0 -46
  1241. data/bin/Image-ExifTool-10.31/t/Lang_15.out +0 -46
  1242. data/bin/Image-ExifTool-10.31/t/Lang_16.out +0 -46
  1243. data/bin/Image-ExifTool-10.31/t/Lang_17.out +0 -46
  1244. data/bin/Image-ExifTool-10.31/t/Lang_18.out +0 -46
  1245. data/bin/Image-ExifTool-10.31/t/Lang_2.out +0 -46
  1246. data/bin/Image-ExifTool-10.31/t/Lang_3.out +0 -46
  1247. data/bin/Image-ExifTool-10.31/t/Lang_4.out +0 -46
  1248. data/bin/Image-ExifTool-10.31/t/Lang_5.out +0 -46
  1249. data/bin/Image-ExifTool-10.31/t/Lang_6.out +0 -46
  1250. data/bin/Image-ExifTool-10.31/t/Lang_7.out +0 -46
  1251. data/bin/Image-ExifTool-10.31/t/Lang_8.out +0 -46
  1252. data/bin/Image-ExifTool-10.31/t/Lang_9.out +0 -46
  1253. data/bin/Image-ExifTool-10.31/t/MIE_3.out +0 -136
  1254. data/bin/Image-ExifTool-10.31/t/MWG.t +0 -90
  1255. data/bin/Image-ExifTool-10.31/t/MWG_2.out +0 -13
  1256. data/bin/Image-ExifTool-10.31/t/Minolta_2.out +0 -135
  1257. data/bin/Image-ExifTool-10.31/t/Minolta_3.out +0 -148
  1258. data/bin/Image-ExifTool-10.31/t/Minolta_4.out +0 -150
  1259. data/bin/Image-ExifTool-10.31/t/Nikon_2.out +0 -84
  1260. data/bin/Image-ExifTool-10.31/t/Nikon_3.out +0 -100
  1261. data/bin/Image-ExifTool-10.31/t/Nikon_4.out +0 -176
  1262. data/bin/Image-ExifTool-10.31/t/Nikon_5.out +0 -169
  1263. data/bin/Image-ExifTool-10.31/t/Nikon_7.out +0 -261
  1264. data/bin/Image-ExifTool-10.31/t/Olympus_2.out +0 -81
  1265. data/bin/Image-ExifTool-10.31/t/Olympus_3.out +0 -83
  1266. data/bin/Image-ExifTool-10.31/t/Olympus_4.out +0 -194
  1267. data/bin/Image-ExifTool-10.31/t/Olympus_5.out +0 -266
  1268. data/bin/Image-ExifTool-10.31/t/Olympus_6.out +0 -153
  1269. data/bin/Image-ExifTool-10.31/t/Panasonic_2.out +0 -101
  1270. data/bin/Image-ExifTool-10.31/t/Panasonic_3.out +0 -121
  1271. data/bin/Image-ExifTool-10.31/t/Panasonic_4.out +0 -206
  1272. data/bin/Image-ExifTool-10.31/t/Panasonic_5.out +0 -244
  1273. data/bin/Image-ExifTool-10.31/t/Pentax_2.out +0 -225
  1274. data/bin/Image-ExifTool-10.31/t/Pentax_3.out +0 -266
  1275. data/bin/Image-ExifTool-10.31/t/Pentax_4.out +0 -131
  1276. data/bin/Image-ExifTool-10.31/t/PhaseOne_2.out +0 -99
  1277. data/bin/Image-ExifTool-10.31/t/PhaseOne_3.out +0 -170
  1278. data/bin/Image-ExifTool-10.31/t/RIFF_3.out +0 -54
  1279. data/bin/Image-ExifTool-10.31/t/Ricoh_2.out +0 -72
  1280. data/bin/Image-ExifTool-10.31/t/Ricoh_3.out +0 -100
  1281. data/bin/Image-ExifTool-10.31/t/Ricoh_4.out +0 -114
  1282. data/bin/Image-ExifTool-10.31/t/Sanyo_2.out +0 -103
  1283. data/bin/Image-ExifTool-10.31/t/Sanyo_3.out +0 -113
  1284. data/bin/Image-ExifTool-10.31/t/Sigma_2.out +0 -93
  1285. data/bin/Image-ExifTool-10.31/t/Sigma_3.out +0 -96
  1286. data/bin/Image-ExifTool-10.31/t/Sigma_5.out +0 -194
  1287. data/bin/Image-ExifTool-10.31/t/Sony_2.out +0 -86
  1288. data/bin/Image-ExifTool-10.31/t/Sony_3.out +0 -87
  1289. data/bin/Image-ExifTool-10.31/t/Sony_5.out +0 -34
  1290. data/bin/Image-ExifTool-10.31/t/Unknown_2.out +0 -92
  1291. data/bin/Image-ExifTool-10.31/t/Unknown_3.out +0 -92
  1292. data/bin/Image-ExifTool-10.31/t/Writer.t +0 -999
  1293. data/bin/Image-ExifTool-10.31/t/Writer_10.out +0 -246
  1294. data/bin/Image-ExifTool-10.31/t/Writer_46.out +0 -107
  1295. data/bin/Image-ExifTool-10.31/t/Writer_51.out +0 -414
  1296. data/bin/Image-ExifTool-10.31/t/Writer_9.out +0 -243
@@ -0,0 +1,2122 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2
+ "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
3
+ <html>
4
+ <head>
5
+ <title>Image::ExifTool</title>
6
+ <link rel=stylesheet type='text/css' href='style.css' title='Style'>
7
+ <style type="text/css">
8
+ <!--
9
+ pre { padding: 0; margin: 0px 2px }
10
+ ul { margin-top: 0 }
11
+ -->
12
+ </style>
13
+ </head>
14
+ <body>
15
+ <h1 class='up'>The Image::ExifTool Perl Library Module</h1>
16
+
17
+ <h2>Description</h2>
18
+
19
+ <p>The Image::ExifTool library provides a set of Perl modules to read and
20
+ write meta information in a wide variety of image, audio, video and document
21
+ files.</p>
22
+
23
+ <hr><h2><a name="Methods">Methods</a></h2>
24
+
25
+ <p>All ExifTool features are accessed through the methods of the public
26
+ interface listed below. Other Image::ExifTool methods and modules should not be
27
+ accessed directly because their interface may change with future versions.</p>
28
+
29
+ <p>The ExifTool methods should never die or issue a warning to STDERR if called
30
+ with the proper arguments (with the exception of
31
+ <a href="#SetNewValue">SetNewValue</a> which may send an error message to
32
+ STDERR, but only when called in scalar context). Error and warning messages
33
+ that occur during processing are stored in the values of the Error and Warning
34
+ tags, and are accessible via the <a href="#GetValue">GetValue</a> method to
35
+ retrieve a single Error or Warning message, or <a href="#GetInfo">GetInfo</a> to
36
+ retrieve any number of them.</p>
37
+
38
+ <p>The ExifTool methods are not thread safe.</p>
39
+
40
+ <table><tr><td valign=top>
41
+ <ul>
42
+ <li><a href="#ImageInfo">ImageInfo</a></li>
43
+ <li><a href="#new">new</a></li>
44
+ <li><a href="#Options">Options</a></li>
45
+ <li><a href="#ClearOptions">ClearOptions</a></li>
46
+ <li><a href="#ExtractInfo">ExtractInfo</a></li>
47
+ <li><a href="#GetInfo">GetInfo</a></li>
48
+ <li><a href="#WriteInfo">WriteInfo</a></li>
49
+ <li><a href="#GetTagList">GetTagList</a></li>
50
+ <li><a href="#GetFoundTags">GetFoundTags</a></li>
51
+ <li><a href="#GetRequestedTags">GetRequestedTags</a></li>
52
+ <li><a href="#GetValue">GetValue</a></li>
53
+ <li><a href="#SetNewValue">SetNewValue</a></li>
54
+ </ul>
55
+ </td><td valign=top>
56
+ <ul>
57
+ <li><a href="#GetNewValue">GetNewValue</a></li>
58
+ <li><a href="#SetNewValuesFromFile">SetNewValuesFromFile</a></li>
59
+ <li><a href="#CountNewValues">CountNewValues</a></li>
60
+ <li><a href="#SaveNewValues">SaveNewValues</a></li>
61
+ <li><a href="#RestoreNewValues">RestoreNewValues</a></li>
62
+ <li><a href="#SetFileModifyDate">SetFileModifyDate</a></li>
63
+ <li><a href="#SetFileName">SetFileName</a></li>
64
+ <li><a href="#SetNewGroups">SetNewGroups</a></li>
65
+ <li><a href="#GetNewGroups">GetNewGroups</a></li>
66
+ <li><a href="#GetTagID">GetTagID</a></li>
67
+ <li><a href="#GetDescription">GetDescription</a></li>
68
+ <li><a href="#GetGroup">GetGroup</a></li>
69
+ </ul>
70
+ </td><td valign=top>
71
+ <ul>
72
+ <li><a href="#GetGroups">GetGroups</a></li>
73
+ <li><a href="#BuildCompositeTags">BuildCompositeTags</a></li>
74
+ <li><a href="#GetTagName">GetTagName</a></li>
75
+ <li><a href="#GetShortcuts">GetShortcuts</a></li>
76
+ <li><a href="#GetAllTags">GetAllTags</a></li>
77
+ <li><a href="#GetWritableTags">GetWritableTags</a></li>
78
+ <li><a href="#GetAllGroups">GetAllGroups</a></li>
79
+ <li><a href="#GetDeleteGroups">GetDeleteGroups</a></li>
80
+ <li><a href="#GetFileType">GetFileType</a></li>
81
+ <li><a href="#CanWrite">CanWrite</a></li>
82
+ <li><a href="#CanCreate">CanCreate</a></li>
83
+ <li><a href="#AddUserDefinedTags">AddUserDefinedTags</a></li>
84
+ </ul>
85
+ </td></tr></table>
86
+
87
+ <hr><h2><a name="UsingExifTool">Using ExifTool</a></h2>
88
+
89
+ <p>The ExifTool module may be used by simply calling the
90
+ <a href="#ImageInfo">ImageInfo</a> function:</p>
91
+
92
+ <blockquote><table class='box'><tr><td><pre>
93
+ use Image::ExifTool qw(:Public);
94
+ my $info = <a href="#ImageInfo">ImageInfo</a>('image.jpg');
95
+ </pre></td></tr></table></blockquote>
96
+
97
+ <p>or in a more object-oriented fashion, by creating an ExifTool object:</p>
98
+
99
+ <blockquote><table class='box'><tr><td><pre>
100
+ use Image::ExifTool;
101
+ my $exifTool = <a href="#new">new</a> Image::ExifTool;
102
+ my $info = $exifTool-&gt;<a href="#ImageInfo">ImageInfo</a>('image.jpg');
103
+ </pre></td></tr></table></blockquote>
104
+
105
+ <p>The object-oriented method allows more flexibility, but is slightly more
106
+ complicated. You choose the method that you prefer.</p>
107
+
108
+ <p>The $info value returned by <a href="#ImageInfo">ImageInfo</a> in the above
109
+ examples is a reference to a hash containing the tag/value pairs. Here is a
110
+ simplified example which prints out this information:</p>
111
+
112
+ <blockquote><table class='box'><tr><td><pre>
113
+ foreach (keys %$info) {
114
+ print "$_ =&gt; $$info{$_}\n";
115
+ }
116
+ </pre></td></tr></table></blockquote>
117
+
118
+ <p>See <a href="#ImageInfo">ImageInfo</a> for a more detailed description of the
119
+ info hash entries.</p>
120
+
121
+ <p>And the technique for writing meta information is equally simple:</p>
122
+
123
+ <blockquote><table class='box'><tr><td><pre>
124
+ use Image::ExifTool;
125
+ my $exifTool = <a href="#new">new</a> Image::ExifTool;
126
+ $exifTool-&gt;<a href="#SetNewValue">SetNewValue</a>(Author =&gt; 'Phil Harvey');
127
+ $exifTool-&gt;<a href="#WriteInfo">WriteInfo</a>('image.jpg','modified_image.jpg');
128
+ </pre></td></tr></table></blockquote>
129
+
130
+ <hr><h2><a name="Config">Configuration</a></h2>
131
+
132
+ <p>User-defined tags can be added via the ExifTool configuration file, or by
133
+ defining the %Image::ExifTool::UserDefined hash before calling any ExifTool
134
+ functions. See "<a href="config.html">ExifTool_config</a>" in the ExifTool
135
+ distribution for more details.</p>
136
+
137
+ <p>By default ExifTool looks for a configuration file named ".ExifTool_config"
138
+ first in your home directory, then in the directory of the application script,
139
+ but a different directory may be specified by setting the EXIFTOOL_HOME
140
+ environment variable, or a different file may be specified by setting the
141
+ ExifTool "<code>configFile</code>" variable before using Image::ExifTool. For
142
+ example:</p>
143
+
144
+ <blockquote><table class='box'><tr><td><pre>
145
+ BEGIN { $Image::ExifTool::configFile = '/Users/phil/myconfig.cfg' }
146
+ use Image::ExifTool;
147
+ </pre></td></tr></table></blockquote>
148
+
149
+ <p>The configuration feature may also be disabled by setting
150
+ "<code>configFile</code>" to an empty string:</p>
151
+
152
+ <blockquote><table class='box'><tr><td><pre>
153
+ BEGIN { $Image::ExifTool::configFile = '' }
154
+ use Image::ExifTool;
155
+ </pre></td></tr></table></blockquote>
156
+
157
+ <hr><h2><a name="ImageInfo">ImageInfo</a></h2>
158
+
159
+ <p>Read image file and return meta information. This is the one-step function for
160
+ retrieving meta information from an image. Internally,
161
+ <a href="#ImageInfo">ImageInfo</a> calls <a href="#ExtractInfo">ExtractInfo</a>
162
+ to extract data from the image, <a href="#GetInfo">GetInfo</a> to generate the
163
+ information hash, and <a href="#GetTagList">GetTagList</a> for the returned tag
164
+ list.</p>
165
+
166
+ <blockquote><table class='norm'>
167
+ <tr><td><b>Prototype</b></td><td>ImageInfo($;@)</td></tr>
168
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> [<i>optional</i>] ExifTool object reference
169
+ <br><b>1)</b> File name, file reference or scalar reference
170
+ <br><b>2-N)</b> [<i>optional</i>] list of tag names to find (or tag list reference or
171
+ options reference, see below)
172
+ </td></tr>
173
+ <tr><td valign=top><b>Returns</b></td><td>Reference to hash of tag key/value pairs</td></tr>
174
+ </table></blockquote>
175
+
176
+ <p><b>Examples:</b></p>
177
+
178
+ <blockquote>Non object-oriented example showing use of options and returning tag list:
179
+ <table class='box'><tr><td><pre>
180
+ use Image::ExifTool qw(ImageInfo);
181
+ my @ioTagList;
182
+ my $info;
183
+
184
+ $info = <b>ImageInfo</b>('image.jpg', \@ioTagList, {Sort =&gt; 'Group0'});
185
+ </pre></td></tr></table></blockquote>
186
+
187
+ <blockquote>Object-oriented example to read from a file that is already open:
188
+ <table class='box'><tr><td><pre>
189
+ my $exifTool = <a href="#new">new</a> Image::ExifTool;
190
+
191
+ $info = $exifTool-&gt;<b>ImageInfo</b>(\*FILE_PT, 'Aperture', 'ShutterSpeed', 'ISO');
192
+ </pre></td></tr></table></blockquote>
193
+
194
+ <blockquote>Extract information from an image in memory:
195
+ <table class='box'><tr><td><pre>
196
+ $info = $exifTool-&gt;<b>ImageInfo</b>(\$imageData);
197
+ </pre></td></tr></table></blockquote>
198
+
199
+ <blockquote>Extract information from an embedded thumbnail image:
200
+ <table class='box'><tr><td><pre>
201
+ $info = <b>ImageInfo</b>('image.jpg', 'thumbnailimage');
202
+ my $thumbInfo = <b>ImageInfo</b>($$info{ThumbnailImage});
203
+ </pre></td></tr></table></blockquote>
204
+
205
+ <blockquote>Using an ExifTool object to set the options before calling
206
+ <a href="#ImageInfo">ImageInfo</a>:
207
+ <table class='box'><tr><td><pre>
208
+ my $filename = shift || die "Please specify filename\n";
209
+ my @ioTagList = qw(filename imagesize xmp:creator exif:* -ifd1:*);
210
+
211
+ $exifTool-&gt;<a href="#Options">Options</a>(Unknown =&gt; 1, DateFormat =&gt; '%H:%M:%S %a. %b. %e, %Y');
212
+ $info = $exifTool-&gt;<b>ImageInfo</b>($filename, \@ioTagList);
213
+ </pre></td></tr></table></blockquote>
214
+
215
+ <p><b>Function Arguments:</b></p>
216
+
217
+ <p><a href="#ImageInfo">ImageInfo</a> is very flexible about the arguments
218
+ passed to it, and interprets them based on their type. It may be called with
219
+ one or more arguments. The one required argument is either a SCALAR (the image
220
+ file name), a file reference (a reference to the image file) or a SCALAR
221
+ reference (a reference to the image in memory). Other arguments are optional.
222
+ The order of the arguments is not significant, except that the first SCALAR is
223
+ taken to be the file name unless a file reference or scalar reference comes
224
+ earlier in the argument list.</p>
225
+
226
+ <p>Below is a more detailed explanation of how the <a href="#ImageInfo">ImageInfo</a>
227
+ function arguments are interpreted.</p>
228
+
229
+ <blockquote><table class='norm'>
230
+ <tr><td valign=top><b>ExifTool&nbsp;ref</b></td><td>
231
+ <a href="#ImageInfo">ImageInfo</a> may be called with an ExifTool object if
232
+ desired. Advantages of using the object-oriented form are that options may be
233
+ set before calling <a href="#ImageInfo">ImageInfo</a>, and the object may be
234
+ used afterward to access member functions. Must be the first argument if used.
235
+
236
+ </td></tr><tr><td valign=top><b>SCALAR</b></td><td>
237
+ The first scalar argument is taken to be the file name unless an earlier
238
+ argument specified the image data via a file reference (file ref) or data
239
+ reference (SCALAR ref). The remaining scalar arguments are names of tags for
240
+ requested information. All tags are returned if no tags are specified.
241
+ <br>&nbsp;<br>
242
+ Tag names are case-insensitive and may be prefixed by optional group names
243
+ separated by colons. A group name may begin with a family number (eg.
244
+ '<code>1IPTC:Keywords</code>'), to restrict matches to a specific family. In the
245
+ tag name, a '<code>?</code>' matches any single character and a '<code>*</code>'
246
+ matches zero or more characters. Thus '<code>GROUP:*</code>' represents all
247
+ tags in a specific group. Wildcards may not be used in group names, with the
248
+ exception that a group name of '<code>*</code>' may be used to extract all
249
+ available instances of a tag regardless of the
250
+ <a href="#Duplicates">Duplicates</a> setting (eg. '<code>*:WhiteBalance</code>').
251
+ Multiple groups may be specified (eg. '<code>EXIF:Time:*</code>' extracts all
252
+ EXIF Time tags). And finally, a leading '<code>-</code>' indicates a tag to be
253
+ excluded (eg. '<code>-IFD1:*</code>'), or a trailing '<code>#</code>' causes the
254
+ ValueConv value to be returned for this tag.
255
+ <br>&nbsp;<br>
256
+ Note that keys in the returned information hash and elements of the returned tag
257
+ list are not necessarily the same as these tag names because group names are
258
+ removed, the case may be changed, and an instance number may be added. For this
259
+ reason it is best to use either the keys of the returned hash or the elements of
260
+ the returned tag list when accessing the tag values.
261
+ <br>&nbsp;<br>
262
+ See the <a href="TagNames/index.html">TagNames</a> documentation for a
263
+ complete list of ExifTool tag names.
264
+
265
+ </td></tr><tr><td valign=top><b>File&nbsp;ref</b></td><td>
266
+ A reference to an open image file. If you use this method (or a SCALAR
267
+ reference) to access information in an image, the FileName and Directory tags
268
+ will not be returned. (Also, the FileSize, FileModifyDate, FilePermissions and
269
+ FileAttributes tags will not be returned unless it is a plain file.) Image
270
+ processing begins at the current file position, and on return the file position
271
+ is unspecified. May be either a standard filehandle or a reference to a
272
+ File::RandomAccess object.
273
+ <br>&nbsp;<br>
274
+ [Advanced: To allow a non-rewindable stream (eg. a network socket) to be
275
+ re-read after processing with ExifTool, first wrap the file reference in a
276
+ File::RandomAccess object, then pass this object to
277
+ <a href="#ImageInfo">ImageInfo</a>. The File::RandomAccess object will buffer
278
+ the file if necessary, and may be used to re-read the file after
279
+ <a href="#ImageInfo">ImageInfo</a> returns.]
280
+
281
+ </td></tr><tr><td valign=top><b>SCALAR&nbsp;ref</b></td><td>
282
+ A reference to image data in memory.
283
+
284
+ </td></tr><tr><td valign=top><b>ARRAY&nbsp;ref</b></td><td>
285
+ Reference to a list of tag names. On entry, any elements in the list are added
286
+ to the list of requested tags. On return, this list is updated to contain an
287
+ ordered list of tag keys for the returned information.
288
+ <br>&nbsp;<br>
289
+ There will be 1:1 correspondence between the requested tags and the returned
290
+ tag keys only if the <a href="#Duplicates">Duplicates</a> option is 0 and
291
+ <a href="#Sort">Sort</a> is 'Input'. (With
292
+ <a href="#Duplicates">Duplicates</a> enabled, there may be more entries in the
293
+ returned list of tag keys, and with other <a href="#Sort">Sort</a> settings the
294
+ entries may not be in the same order as requested.) If a requested tag doesn't
295
+ exist, a tag key is still generated, but the tag value is undefined.
296
+
297
+ </td></tr><tr><td valign=top><b>HASH&nbsp;ref</b></td><td>
298
+ Reference to a hash containing the options settings. See
299
+ <a href="#Options">Options</a> documentation below for a list of available
300
+ options. Options specified as arguments to <a href="#ImageInfo">ImageInfo</a>
301
+ take precedence over <a href="#Options">Options</a> settings.
302
+ </td></tr></table></blockquote>
303
+
304
+ <p><b>Return Value:</b></p>
305
+
306
+ <p><a href="#ImageInfo">ImageInfo</a> returns a reference to a hash of tag
307
+ key/value pairs. The tag keys are identifiers, which are similar to the tag
308
+ names but may have an appended instance number if multiple tags with the same
309
+ name were extracted from the image. Many of the ExifTool functions require a
310
+ tag key as an argument. Use <a href="#GetTagName">GetTagName</a> to get the tag
311
+ name for a given tag key. Note that the case of the tag names may not be the
312
+ same as requested.</p>
313
+
314
+ <p>Values of the returned hash are usually simple scalars, but a scalar
315
+ reference is used to indicate binary data and an array reference may be used to
316
+ indicate a list. Also, a hash reference may be returned if the
317
+ <a href="#Struct">Struct</a> option is used. Lists of values are joined by
318
+ commas into a single string only if the PrintConv option is enabled and the List
319
+ option is disabled (which are the defaults). Note that binary values are not
320
+ necessarily extracted unless specifically requested, or the Binary option is
321
+ enabled and the tag is not specifically excluded. If not extracted the value is
322
+ a reference to a string of the form "<code>Binary data ##### bytes</code>".</p>
323
+
324
+ <p>Here is a simple example to print out the information returned by
325
+ <a href="#ImageInfo">ImageInfo</a>:</p>
326
+
327
+ <blockquote><table class='box'><tr><td><pre>
328
+ foreach (keys %$info) {
329
+ my $val = $$info{$_};
330
+ if (ref $val eq 'ARRAY') {
331
+ $val = join(', ', @$val);
332
+ } elsif (ref $val eq 'SCALAR') {
333
+ $val = '(Binary data)';
334
+ }
335
+ printf("%-24s : %s\n", $_, $val);
336
+ }
337
+ </pre></td></tr></table></blockquote>
338
+
339
+ <p>which gives output like this (PrintConv enabled):</p>
340
+
341
+ <blockquote><table class='box'><tr><td><pre>
342
+ WhiteBalance : Auto
343
+ FNumber : 3.5
344
+ InteroperabilityOffset : 936
345
+ XResolution : 72
346
+ ISO : 100
347
+ ThumbnailImage : (Binary data)
348
+ FlashOn : On
349
+ Make : FUJIFILM
350
+ ShutterSpeedValue : 1/64
351
+ ExposureCompensation : 0
352
+ Sharpness : Soft
353
+ ResolutionUnit : inches
354
+ </pre></td></tr></table></blockquote>
355
+
356
+ <p><b>Notes:</b></p>
357
+
358
+ <p>ExifTool returns all values as byte strings of encoded characters. Perl wide
359
+ characters are not used. See <a href="faq.html#Q10">FAQ number 10</a> for
360
+ details about the encodings. By default, most returned strings are encoded in
361
+ UTF-8. For these, Encode::decode_utf8() may be used to convert to a sequence of
362
+ logical Perl characters.</p>
363
+
364
+ <p>As well as tags representing information extracted from the image, the
365
+ following <a href="TagNames/Extra.html">Extra tags</a> generated by ExifTool may
366
+ be returned:</p>
367
+
368
+ <blockquote><table class='norm'>
369
+ <tr><td><b>ExifToolVersion</b></td><td>The ExifTool version number</td></tr>
370
+ <tr><td><b>Error</b></td><td>An error message if the image could not be processed</td></tr>
371
+ <tr><td><b>Warning</b></td><td>A warning message if problems were encountered
372
+ while processing the image</td></tr>
373
+ </table></blockquote>
374
+
375
+ <hr><h2><a name="new">new</a></h2>
376
+ <p>Create a new ExifTool object.</p>
377
+ <p><b>Example:</b></p>
378
+ <blockquote><table class='box'><tr><td><pre>
379
+ my $exifTool = <b>new</b> Image::ExifTool;
380
+ </pre></td></tr></table></blockquote>
381
+
382
+ <p>Note that ExifTool uses AUTOLOAD to load non-member methods, so any class
383
+ using Image::ExifTool as a base class must define an AUTOLOAD which calls
384
+ Image::ExifTool::DoAutoLoad(). ie)</p>
385
+
386
+ <blockquote><table class='box'><tr><td><pre>
387
+ sub AUTOLOAD
388
+ {
389
+ Image::ExifTool::DoAutoLoad($AUTOLOAD, @_);
390
+ }
391
+ </pre></td></tr></table></blockquote>
392
+
393
+ <hr><table bgcolor='#aaffaa' width='100%' cellpadding=8><tr><td><center><b>
394
+ The following functions require an ExifTool object as the first argument
395
+ </b></center></td></tr></table>
396
+
397
+ <hr><h2><a name='options'></a><a name="Options">Options</a></h2>
398
+ <p>Get/set ExifTool options. This function can be called to set the default
399
+ options for an ExifTool object. Options set this way are in effect for
400
+ all function calls but may be overridden by options passed as arguments
401
+ to some functions. Option names are not case sensitive.</p>
402
+ <p>The default option values may be changed by defining a
403
+ %Image::ExifTool::UserDefined::Options hash. See the
404
+ <a href="config.html">ExifTool_config file</a> in the full ExifTool
405
+ distribution for examples.</p>
406
+ <blockquote><table class='norm'>
407
+ <tr><td><b>Prototype</b></td><td>Options($$;@)</td></tr>
408
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
409
+ <br><b>1)</b> Parameter name (case-insensitive, see table below)
410
+ <br><b>2)</b> [<i>optional</i>] Option value if specified (may be undef to clear option)
411
+ <br><b>3-N)</b> [<i>optional</i>] Additional parameter/value pairs
412
+ </td></tr>
413
+ <tr><td valign=top><b>Returns</b></td><td>Previous value of last specified parameter</td></tr>
414
+ </table></blockquote>
415
+
416
+ <p><b>Available options:</b></p>
417
+ <blockquote>
418
+ <table class='norm'>
419
+ <tr><th colspan=4 bgcolor='#dddddd'><font size='+1'>ExifTool Options</font></th></tr>
420
+ <tr><th>Option</th><th>Description</th><th>Values</th><th>Default</th></tr>
421
+ <tr><td>Binary</td><td><a name="Binary"></a>Flag to extract the value data for all binary tags.
422
+ Tag values representing large binary data blocks (eg. ThumbnailImage)
423
+ are not necessarily extracted unless this option is set or the tag is
424
+ specifically requested by name.</td>
425
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
426
+ <tr><td>ByteOrder</td><td><a name="ByteOrder"></a>The byte order for newly created EXIF segments when
427
+ writing. Note that if EXIF information already exists, the existing order is
428
+ maintained. If ByteOrder is not defined, then the order of the maker notes is
429
+ used (if they are being copied), otherwise big-endian ('MM') order is assumed.
430
+ This can also be set via the <a href="TagNames/Extra.html">ExifByteOrder tag</a>,
431
+ but the ByteOrder option takes precedence if both are set.</td>
432
+ <td align=center>'MM','II' or undef</td><td align=center>undef</td></tr>
433
+ <tr><td>Charset</td><td>Character set for encoding character
434
+ strings passed to/from ExifTool containing code points above U+007F. Note
435
+ that this option affects some types of information when reading/writing the
436
+ file and other types when getting/setting tag values, so it must be defined
437
+ for both types of access. Charset values listed to the right have aliases
438
+ which are given in brackets. Case is not significant. See
439
+ <a href="faq.html#Q10">FAQ #10</a> for more information about character sets.</td>
440
+ <td align=center><a name="Charset"></a><table class=clear>
441
+ <tr><td valign=top align=right>UTF8</td><td>(cp65001, UTF-8)</td></tr>
442
+ <tr><td valign=top align=right>Latin</td><td>(cp1252, Latin1)</td></tr>
443
+ <tr><td valign=top align=right>Latin2</td><td>(cp1250)</td></tr>
444
+ <tr><td valign=top align=right>Cyrillic</td><td>(cp1251, Russian)</td></tr>
445
+ <tr><td valign=top align=right>Greek</td><td>(cp1253)</td></tr>
446
+ <tr><td valign=top align=right>Turkish</td><td>(cp1254)</td></tr>
447
+ <tr><td valign=top align=right>Hebrew</td><td>(cp1255)</td></tr>
448
+ <tr><td valign=top align=right>Arabic</td><td>(cp1256)</td></tr>
449
+ <tr><td valign=top align=right>Baltic</td><td>(cp1257)</td></tr>
450
+ <tr><td valign=top align=right>Vietnam</td><td>(cp1258)</td></tr>
451
+ <tr><td valign=top align=right>Thai</td><td>(cp874)</td></tr>
452
+ <tr><td valign=top align=right>MacRoman</td><td>(cp10000, Mac, Roman)</td></tr>
453
+ <tr><td valign=top align=right>MacLatin2</td><td>(cp10029)</td></tr>
454
+ <tr><td valign=top align=right>MacCyrillic</td><td>(cp10007)</td></tr>
455
+ <tr><td valign=top align=right>MacGreek</td><td>(cp10006)</td></tr>
456
+ <tr><td valign=top align=right>MacTurkish</td><td>(cp10081)</td></tr>
457
+ <tr><td valign=top align=right>MacRomanian</td><td>(cp10010)</td></tr>
458
+ <tr><td valign=top align=right>MacIceland</td><td>(cp10079)</td></tr>
459
+ <tr><td valign=top align=right>MacCroatian</td><td>(cp10082)</td></tr>
460
+ </table></td><td align=center>'UTF8'</td></tr>
461
+ <tr><td>CharsetEXIF</td><td><a name="CharsetEXIF"></a>Internal encoding to use for stored
462
+ EXIF "ASCII" string values. May also be set to undef to pass through EXIF
463
+ "ASCII" values without recoding. Set to "UTF8" to conform with the MWG
464
+ recommendation.</td>
465
+ <td align=center><i>(see <a href="#Charset">Charset</a> option)</i><br>or undef</td><td align=center>undef</td></tr>
466
+ <tr><td>CharsetFileName</td><td><a name="CharsetFileName"></a>External character set
467
+ used when specifying file names. When set in Windows, this triggers use of
468
+ Windows Unicode file library routines (requires Win32API::File).</td>
469
+ <td align=center><i>(see <a href="#Charset">Charset</a> option)</i><br>or undef</td><td align=center>undef</td></tr>
470
+ <tr><td>CharsetID3</td><td><a name="CharsetID3"></a>Internal encoding to assume for ID3v1 strings. By
471
+ the specification ID3v1 strings should be encoded in ISO 8859-1 (essentially
472
+ 'Latin'), but some applications may use local encoding instead. This option
473
+ allows different encodings to be specified.</td>
474
+ <td align=center><i>(see <a href="#Charset">Charset</a> option)</i></td><td align=center>'Latin'</td></tr>
475
+ <tr><td>CharsetIPTC</td><td><a name="CharsetIPTC"></a>Fallback internal IPTC character set to assume if IPTC information
476
+ contains no CodedCharacterSet tag.</td>
477
+ <td align=center><i>(see <a href="#Charset">Charset</a> option)</i></td><td align=center>'Latin'</td></tr>
478
+ <tr><td>CharsetPhotoshop</td><td><a name="CharsetPhotoshop"></a>Internal encoding to assume for Photoshop IRB resource names.</td>
479
+ <td align=center><i>(see <a href="#Charset">Charset</a> option)</i></td><td align=center>'Latin'</td></tr>
480
+ <tr><td>CharsetQuickTime</td><td><a name="CharsetQuickTime"></a>Internal encoding to assume for QuickTime
481
+ strings stored with an unspecified encoding.</td>
482
+ <td align=center><i>(see <a href="#Charset">Charset</a> option)</i></td><td align=center>'MacRoman'</td></tr>
483
+ <tr><td>CharsetRIFF</td><td><a name="CharsetRIFF"></a>Internal encoding to assume for strings in RIFF
484
+ metadata (eg. AVI and WAV files). The default value of 0 assumes 'Latin' encoding unless otherwise
485
+ specified by the RIFF CSET chunk. Set to undef to pass through strings without recoding.</td>
486
+ <td align=center><i>(see <a href="#Charset">Charset</a> option)</i><br>or 0 or undef</td><td align=center>0</td></tr>
487
+
488
+ <tr><td>Compact</td><td><a name="Compact"></a>Flag to write compact output. The XMP specification suggests
489
+ that the data be padded with blanks to allow in-place editing. With this
490
+ flag set the 2kB of padding is not written. Note that this only effects
491
+ embedded XMP since padding is never written for stand-alone XMP files.</td>
492
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
493
+ <tr><td>Composite</td><td><a name="Composite"></a>Flag to generate Composite tags when extracting information.</td>
494
+ <td align=center>0 or 1</td><td align=center>1</td></tr>
495
+ <tr><td>Compress</td><td><a name="Compress"></a>Flag to write new values in compressed format if possible.
496
+ Has no effect unless Compress::Zlib is installed.</td>
497
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
498
+ <tr><td>CoordFormat</td><td>Specify output format for GPS coordinates.</td>
499
+ <td><a name="CoordFormat"></a>A printf-style format string with specifiers
500
+ for degrees, minutes and seconds in that order, however minutes and seconds
501
+ may be omitted. If the hemisphere is known, a reference direction (N, S, E
502
+ or W) is appended to each printed coordinate, but adding a '<code>+</code>'
503
+ to the first format specifier (eg. <code>'%+.6f'</code>) prints a signed
504
+ coordinate instead. The default for reading is equivalent to a format string
505
+ of <code>q{%d&nbsp;deg&nbsp;%d'&nbsp;%.2f"}</code>, but to avoid a loss
506
+ of precision the default for copying tags with
507
+ <a href="#SetNewValuesFromFile">SetNewValuesFromFile</a> is
508
+ <code>q{%d&nbsp;%d&nbsp;%.8f}</code>.
509
+ </td><td align=center>undef</td></tr>
510
+ <tr><td>DateFormat</td><td>Output format for date/time values. If date can not
511
+ be converted, value is left unchanged unless the StrictDate option is set.
512
+ Timezones are ignored. The inversion conversion (ie. when calling
513
+ <a href="#SetNewValue">SetNewValue</a>) is performed only if POSIX::strptime
514
+ or Time::Piece is installed.</td> <td><a name="DateFormat"></a>See strftime
515
+ manpage for details. The default setting of undef causes date/time values
516
+ to remain in standard EXIF format (similar to a DateFormat of
517
+ <code>"%Y:%m:%d %H:%M:%S"</code>).</td>
518
+ <td align=center>undef</td></tr>
519
+ <tr><td>Duplicates</td><td><a name="Duplicates"></a>Flag to return values from
520
+ tags with duplicate names when extracting information.</td>
521
+ <td align=center>0 or 1</td><td align=center>1</td></tr>
522
+ <tr><td>Escape</td>
523
+ <td><a name="Escape"></a>Escape special characters in extracted values for
524
+ HTML or XML. Also unescapes HTML or XML character entities in input values
525
+ passed to <a href="#SetNewValue">SetNewValue</a>.</td> <td
526
+ align=center>HTML, XML or undef</td>
527
+ <td align=center>undef</td></tr>
528
+ <tr><td>Exclude</td>
529
+ <td>Exclude specified tags when extracting information.</td>
530
+ <td><a name="Exclude"></a>Tag name or reference to a list of tag names to
531
+ exclude. Case is not significant. Tags may also be excluded by preceding
532
+ their name with a '-' in the arguments to ImageInfo.</td>
533
+ <td align=center>undef</td></tr>
534
+ <tr><td>ExtendedXMP</td><td><a name="ExtendedXMP"></a>This setting affects the
535
+ reading and editing of extended XMP in JPEG images. According to the XMP
536
+ specification, extended XMP is only valid if it has the GUID specified by
537
+ the <a href="TagNames/XMP.html#xmpNote">HasExtendedXMP tag</a>. ExifTool
538
+ 9.95 and earlier would read extended XMP regardless of GUID, but with the
539
+ addition of this option in version 9.96 the default behaviour was changed to
540
+ conform with the XMP specification (to read only extended XMP with the
541
+ proper GUID). This option should be set to 2 to emulate pre-9.96 behaviour
542
+ and read all extended XMP. It may also be set to a GUID to read a specific
543
+ extended XMP, or 0 to ignore extended XMP entirely.</td>
544
+ <td><table class=clear>
545
+ <tr><td valign=top align=right><b>0</b>&nbsp;=</td><td>ignore extended XMP</td></tr>
546
+ <tr><td valign=top align=right><b>1</b>&nbsp;=</td><td>valid GUID only</td></tr>
547
+ <tr><td valign=top align=right><b>2</b>&nbsp;=</td><td>any GUID</td></tr>
548
+ <tr><td valign=top align=right><i>guid</i>&nbsp;=</td><td>specific GUID</td></tr>
549
+ </table></td><td align=center>1</td></tr>
550
+ <tr><td>ExtractEmbedded</td>
551
+ <td><a name="Embedded"></a>Flag to extract information from embedded
552
+ documents in EPS files, embedded EPS information and JPEG and Jpeg2000
553
+ images in PDF files, embedded MPF images in JPEG and MPO files, streaming
554
+ metadata in AVCHD videos, and the resource fork of Mac OS files.</td>
555
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
556
+ <tr><td>FastScan</td>
557
+ <td><a name="FastScan"></a>Flag to increase speed of extracting information
558
+ from JPEG images. With this option set to 1, ExifTool will not scan to the
559
+ end of a JPEG image to check for an AFCP, CanonVRD, FotoStation,
560
+ PhotoMechanic, MIE or PreviewImage trailer. This also stops the parsing
561
+ after the first comment in GIF images, and at the audio/video data with
562
+ RIFF-format files (AVI, WAV, etc), so any trailing metadata (eg. XMP written
563
+ by some utilities) may be missed. When combined with the ScanForXMP option,
564
+ prevents scanning for XMP in recognized file types. With a value of 2,
565
+ ExifTool will also avoid extracting any EXIF MakerNote information. When set
566
+ to 3, the file is not actually parsed, and only an initial guess at FileType
567
+ and some pseudo tags are returned. </td>
568
+ <td align=center>0, 1, 2 or 3</td><td align=center>undef</td></tr>
569
+ <tr><td>Filter</td>
570
+ <td>Perl expression used to filter all returned tag values. Applies to
571
+ PrintConv values only.</td><td><a name="Filter"></a>Expression to act on the
572
+ value of the Perl default variable ($_), changing the value of this variable
573
+ as required. The value is not changed if the expression returns undef</td>
574
+ <td align=center>undef</td></tr>
575
+ <tr><td>FixBase</td>
576
+ <td>Fix maker notes base offset. Allows values to be extracted from maker notes
577
+ which have been corrupted by editing with 3rd party software.</td>
578
+ <td><a name="FixBase"></a>An integer specifying a value to be added to the
579
+ maker notes base offset, or the empty string ('') for ExifTool to take its
580
+ best guess at the correct base.</td>
581
+ <td align=center>undef</td></tr>
582
+ <tr><td>GeoMaxIntSecs</td>
583
+ <td><a name="GeoMaxIntSecs"></a>Maximum interpolation time in seconds for
584
+ geotagging. Geotagging is treated as an extrapolation if the Geotime value
585
+ lies between two fixes in the same track which are separated by a number of
586
+ seconds greater than this. Otherwise, the coordinates are calculated as a
587
+ linear interpolation between the nearest fixes on either side of the Geotime
588
+ value. Set to 0 to disable interpolation and use the coordinates of the
589
+ nearest fix instead (provided it is within GeoMaxExtSecs, otherwise
590
+ geotagging fails).</td>
591
+ <td align=center>A floating point number</td>
592
+ <td align=center>1800</td></tr>
593
+ <tr><td>GeoMaxExtSecs</td>
594
+ <td><a name="GeoMaxExtSecs"></a>Maximum extrapolation time in seconds for
595
+ geotagging. Geotagging fails if the Geotime value lies outside a GPS track
596
+ by a number of seconds greater than this. Otherwise, the coordinates of the
597
+ nearest fix are taken.</td>
598
+ <td align=center>A floating point number</td>
599
+ <td align=center>1800</td></tr>
600
+ <tr><td>GeoMaxHDOP</td>
601
+ <td><a name="GeoMaxHDOP"></a>Maximum Horizontal (2D) Dilution Of Precision
602
+ for geotagging. GPS fixes are ignored if the HDOP is greater than this.</td>
603
+ <td align=center>A floating point number, or undef</td>
604
+ <td align=center>undef</td></tr>
605
+ <tr><td>GeoMaxPDOP</td>
606
+ <td><a name="GeoMaxPDOP"></a>Maximum Position (3D) Dilution Of Precision for
607
+ geotagging. GPS fixes are ignored if the PDOP is greater than this.</td>
608
+ <td align=center>A floating point number, or undef</td>
609
+ <td align=center>undef</td></tr>
610
+ <tr><td>GeoMinSats</td>
611
+ <td><a name="GeoMinSats"></a>Minimum number of satellites for geotagging.
612
+ GPS fixes are ignored if the number of acquired satellites is less than this.</td>
613
+ <td align=center>A positive integer, or undef</td>
614
+ <td align=center>undef</td></tr>
615
+ <tr><td>GlobalTimeShift</td>
616
+ <td><a name="GlobalTimeShift"></a>Time shift to apply to all extracted
617
+ date/time PrintConv values. Does not affect ValueConv values.</td>
618
+ <td align=center>Date/time shift string with leading '-' for negative shifts<br>(see <a href="Shift.html">Image::ExifTool::Shift.pl</a>)</td>
619
+ <td align=center>undef</td></tr>
620
+ <tr><td>Group#</td><td>Extract tags only for specified groups in family #
621
+ (Group0 assumed if # not given).</td>
622
+ <td><a name="Group"></a>Group name or reference to list of group names.
623
+ Group name may begin with '-' to exclude a group. Case IS significant.
624
+ See <a href="#GetGroup">GetGroup</a> for a description of group families,
625
+ and <a href="#GetAllGroups">GetAllGroups</a> for a list of available groups.</td>
626
+ <td align=center>undef</td></tr>
627
+ <tr><td>HtmlDump</td><td>Dump information in hex to a dynamic HTML web page.
628
+ Option value sets a limit on the maximum block size. Output file is
629
+ specified by the TextOut option.</td>
630
+ <td><a name="HtmlDump"></a><table class=clear>
631
+ <tr><td valign=top align=center><b>0</b>&nbsp;=</td><td>No HTML dump</td></tr>
632
+ <tr><td valign=top align=center><b>1</b>&nbsp;=</td><td>1 KB size limit</td></tr>
633
+ <tr><td valign=top align=center><b>2</b>&nbsp;=</td><td>16 KB size limit</td></tr>
634
+ <tr><td valign=top align=center><b>3</b>&nbsp;=</td><td>Full dump</td></tr>
635
+ </table></td><td align=center>0</td></tr>
636
+ <tr><td>HtmlDumpBase</td><td><a name="HtmlDumpBase"></a>Base for HTML dump
637
+ offsets. If not defined, the EXIF/TIFF base offset is used.</td>
638
+ <td><table class=clear>
639
+ <tr><td valign=top align=right><b>0</b>&nbsp;=</td><td>Absolute offsets</td></tr>
640
+ <tr><td valign=top align=right><i>non&#8209;zero</i>&nbsp;=</td><td>Relative offsets</td></tr>
641
+ <tr><td valign=top align=right><b>undef</b>&nbsp;=</td><td>EXIF/TIFF offsets</td></tr>
642
+ </table></td><td align=center>undef</td></tr>
643
+ <tr><td>IgnoreMinorErrors</td><td><a name="IgnoreMinorErrors"></a>Flag to ignore minor errors. Causes minor
644
+ errors to be downgraded to warnings, and minor warnings to be ignored. This
645
+ option is provided mainly to allow writing of files when minor errors occur,
646
+ but by ignoring some minor warnings the behaviour of ExifTool may be changed
647
+ to allow some questionable operations to proceed (such as extracting
648
+ thumbnail and preview images even if they don't have a recognizable header).
649
+ Minor errors/warnings are denoted by "[minor]" at the start of the message,
650
+ or "[Minor]" (with a capital "M") for warnings that affect processing when
651
+ ignored.</td>
652
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
653
+ <tr><td>Lang</td><td><a name="Lang"></a>Localized language for exiftool tag descriptions, etc. If the
654
+ specified language isn't available, the option is not changed. May be set to
655
+ undef to select the built-in default language.</td>
656
+ <td align=left>Image::ExifTool::Lang module name (eg. 'fr', 'zh_cn'), or 'en' or undef for the default language.</td>
657
+ <td align=center>'en'</td></tr>
658
+ <tr><td>LargeFileSupport</td><td><a name="LargeFileSupport"></a>Flag to indicate that 64-bit file offsets are supported on this system.</td>
659
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
660
+ <tr><td>List</td><td><a name="List"></a>Flag to extract lists of PrintConv values into arrays instead of combining
661
+ them into a string of values.</td><td align=center>0 or 1</td><td align=center>undef</td></tr>
662
+ <tr><td>ListItem</td><td><a name="ListItem"></a>Return only a specific item from
663
+ list-type values. A value of 0 returns the first item in each list, 1 returns
664
+ the second item, etc. Negative indices may also be used, with -1 representing the
665
+ last item in the list. Applies only to the top-level list of nested lists.</td>
666
+ <td align=center>An integer, or undef</td><td align=center>undef</td></tr>
667
+ <tr><td>ListSep</td><td><a name="ListSep"></a>Separator string used to join lists of PrintConv values when
668
+ List option is not set.</td><td align=center>Any string</td><td align=center>', '</td></tr>
669
+ <tr><td>ListSplit</td><td><a name="ListSplit"></a>Regular expression used to split values of list-type tags
670
+ into individual items when writing. (eg. use ',\\s*' to split a comma-separated list)</td>
671
+ <td align=center>A regular expression pattern</td><td align=center>undef</td></tr>
672
+ <tr><td>MakerNotes</td><td>Option to extract MakerNotes and other writable
673
+ subdirectories (such as PrintIM) as a data block. Normally when the MakerNotes
674
+ are extracted they are rebuilt to include data outside the boundaries of the
675
+ original maker note data block, but a value of 2 disables this feature.</td>
676
+ <td><a name="MakerNotes"></a><table class=clear>
677
+ <tr><td valign=top align=center><b>0</b>&nbsp;=</td><td>Don't extract writable subdirectories</td></tr>
678
+ <tr><td valign=top align=center><b>1</b>&nbsp;=</td><td>Extract and rebuild makernotes into self-contained block</td></tr>
679
+ <tr><td valign=top align=center><b>2</b>&nbsp;=</td><td>Extract without rebuilding makernotes</td></tr>
680
+ </table></td><td align=center>undef</td></tr>
681
+ <tr><td>MDItemTags</td><td><a name="MDItemTags"></a>Flag to extract the OS X
682
+ metadata item tags (see the "mdls" man page for details).</td>
683
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
684
+ <tr><td>MissingTagValue</td><td><a name="MissingTagValue"></a>Value for missing tags in
685
+ expressions evaluated by <a href="#SetNewValuesFromFile">SetNewValuesFromFile</a>.
686
+ If not set, a minor error is issued for missing values, or the value
687
+ is set to '' if IgnoreMinorErrors is set.</td>
688
+ <td align=center>Any string, or undef</td><td align=center>undef</td></tr>
689
+ <tr><td>NoPDFList</td><td><a name="NoPDFList"></a>Flag to avoid splitting PDF list-type tag
690
+ values into separate items.</td>
691
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
692
+ <tr><td>Password</td><td><a name="Password"></a><a name="Passwd"></a>Password for reading/writing
693
+ password-protected PDF documents. Ignored if a password is not required. Character encoding of
694
+ the password is determined by the value of the Charset option at processing time.</td>
695
+ <td align=center>Any string</td><td align=center>undef</td></tr>
696
+ <tr><td>PNGEarlyXMP</td><td><a name="PNGEarlyXMP"></a>Flag to write XMP in PNG
697
+ images before the IDAT (image data) chunk. By default, ExifTool adds new
698
+ XMP to the end of a PNG file (just before IEND). This is allowed by the PNG
699
+ and XMP specifications, but some utilities seem to ignore XMP if it comes
700
+ after the image data. The PNGEarlyXMP option causes ExifTool to instead add
701
+ new XMP before the PNG IDAT chunk. However, since ExifTool uses a
702
+ single-pass writing algorithm, it has no way to tell if XMP already exists
703
+ later in the file before writing the new XMP in this location. If this
704
+ happens, a minor error is issued when the extra XMP is encountered, and the
705
+ file is not written. Adding the <a href="#IgnoreMinorErrors">IgnoreMinorErrors</a>
706
+ option causes the XMP after IDAT to be deleted, thus resolving the conflict
707
+ (at the expense of possible metadata loss), and allowing the file to be
708
+ written. The PNGEarlyXMP option is applied automatically when deleting all
709
+ XMP and writing new XMP back in one step. When reading, this option causes
710
+ a warning to be issued if standard XMP is found after the IDAT chunk.</td>
711
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
712
+ <tr><td>PrintConv</td><td><a name="PrintConv"></a>Flag to enable print conversion. Also enables inverse print
713
+ conversion for writing.</td><td align=center>0 or 1</td><td align=center>1</td></tr>
714
+ <tr><td>QuickTimeUTC</td><td><a name="QuickTimeUTC"></a>Flag set to assume that QuickTime
715
+ date/time values are stored as UTC, causing conversion to local time when they are
716
+ extracted. According to the QuickTime specification date/time values should be UTC,
717
+ but many digital cameras store local time instead (presumably because they don't know
718
+ the time zone). This option also disables the autodetection of incorrect time-zero
719
+ offsets in QuickTime date/time values, and enforces a time zero of 1904 as per the
720
+ QuickTime specification.</td><td align=center>0 or 1</td><td align=center>undef</td></tr>
721
+ <tr><td>RequestAll</td><td><a name="RequestAll"></a>Flag to request all tags to be extracted.
722
+ This causes some tags to be generated which normally would not be unless specifically
723
+ requested (by passing the tag name to <a href="#ImageInfo">ImageInfo</a> or
724
+ <a href="#ExtractInfo">ExtractInfo</a>). Note that this flag is set automatically
725
+ during a call to <a href="#SetNewValuesFromFile">SetNewValuesFromFile</a> to
726
+ make all tags available for copying.</td><td align=center>0 or 1</td><td align=center>undef</td></tr>
727
+ <tr><td>RequestTags</td><td><a name="RequestTags"></a>List of additional tags to request in
728
+ next call to <a href="#ExtractInfo">ExtractInfo</a>. This option is useful only for
729
+ tags which aren't extracted unless specifically requested.</td><td>List reference,
730
+ delimited string of tag names (any delimiter is allowed), or undef to clear the
731
+ previous RequestTags list. Case is not significant.</td><td align=center>undef</td></tr>
732
+ <tr><td>ScanForXMP</td><td><a name="ScanForXMP"></a>Flag to scan all files (even unrecognized
733
+ formats) for XMP information unless XMP was already found in the file. When combined with
734
+ the FastScan option, only unrecognized file types are scanned for XMP.
735
+ </td><td align=center>0 or 1</td><td align=center>undef</td></tr>
736
+ <tr><td>Sort</td><td>Specifies order to sort tags in the returned tag list.</td>
737
+ <td><a name="Sort"></a><table class=clear>
738
+ <tr><td valign=top align=right><b>Input</b>&nbsp;=</td><td>Sort in same order as input tag arguments</td></tr>
739
+ <tr><td valign=top align=right><b>File</b>&nbsp;=</td><td>Sort in order that tags were found in the file</td></tr>
740
+ <tr><td valign=top align=right><b>Tag</b>&nbsp;=</td><td>Sort alphabetically by tag name</td></tr>
741
+ <tr><td valign=top align=right><b>Descr</b>&nbsp;=</td><td>Sort by tag description (with current Lang setting)</td></tr>
742
+ <tr valign=top><td valign=top align=right><b>Group#</b>&nbsp;=</td><td>Sort by tag group,
743
+ where # is zero or more family numbers separated by colons. If # is not specified,
744
+ Group0 is assumed. See <a href="#GetGroup">GetGroup</a> for a description of group
745
+ families.</td></tr>
746
+ </table></td><td align=center>'Input'</td></tr>
747
+ <tr><td>Sort2</td><td>Secondary sort order used for tags within each group when Sort is 'Group'.</td>
748
+ <td><a name="Sort2"></a><table class=clear>
749
+ <tr><td valign=top align=right><b>File</b>&nbsp;=</td><td>Sort in order that tags were found in the file</td></tr>
750
+ <tr><td valign=top align=right><b>Tag</b>&nbsp;=</td><td>Sort alphabetically by tag name</td></tr>
751
+ <tr><td valign=top align=right><b>Descr</b>&nbsp;=</td><td>Sort by tag description (with current Lang setting)</td></tr>
752
+ </table></td><td align=center>'File'</td></tr>
753
+ <tr><td>StrictDate</td><td><a name="StrictDate"></a>Flag to return undefined value for any date which can't be
754
+ converted when the DateFormat option is used.</td>
755
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
756
+ <tr><td>Struct</td><td>Flag to return XMP structures as HASH references
757
+ instead of flattening into individual tags. This setting has no effect
758
+ when writing since both flattened or structured tags may always be written.
759
+ See the <a href="struct.html">Structured Information documentation</a> for
760
+ more details about structured information.</td>
761
+ <td><a name="Struct"></a><table class=clear>
762
+ <tr><td valign=top align=right><b>undef</b>&nbsp;=</td><td>Same as 0 for reading and 2 for copying</td></tr>
763
+ <tr><td valign=top align=right><b>0</b>&nbsp;=</td><td>Read/copy flattened tags</td></tr>
764
+ <tr><td valign=top align=right><b>1</b>&nbsp;=</td><td>Read/copy structures</td></tr>
765
+ <tr><td valign=top align=right><b>2</b>&nbsp;=</td><td>Read/copy both flattened and structured tags,
766
+ but flag flattened tags as "unsafe" for copying</td></tr>
767
+ </table></td><td align=center>undef</td></tr>
768
+ <tr><td>SystemTags</td><td><a name="SystemTags"></a>Flag to extract the
769
+ following additional File System tags: FileAttributes, FileDeviceNumber,
770
+ FileInodeNumber, FileHardLinks, FileUserID, FileGroupID, FileDeviceID,
771
+ FileBlockSize and FileBlockCount.</td>
772
+ <td align=center>0 or 1</td><td align=center>undef</td></tr>
773
+ <tr><td>TextOut</td><td><a name="TextOut"></a>Output file for Verbose and HtmlDump options.</td>
774
+ <td align=center>File reference</td><td align=center>\*STDOUT</td></tr>
775
+ <tr><td>Unknown</td><td><a name="Unknown"></a>Control extraction of unknown tags.</td>
776
+ <td><table class=clear>
777
+ <tr><td valign=top align=center><b>0</b>&nbsp;=</td><td>Unknown tags not extracted</td></tr>
778
+ <tr><td valign=top align=center><b>1</b>&nbsp;=</td><td>Unknown tags are extracted from EXIF
779
+ (and other tagged-format) directories</td></tr>
780
+ <tr><td valign=top align=center><b>2</b>&nbsp;=</td><td>Unknown tags also extracted from binary data blocks</td></tr>
781
+ </table></td><td align=center>0</td></tr>
782
+ <tr><td>UserParam</td><td><a name="UserParam"></a>Special option to set/get user-defined parameters.
783
+ Useful to allow external input into tag name expressions and ValueConv logic.
784
+ <i>PARAM</i> is the user-defined parameter name (case insensitive). These parameters
785
+ may be accessed in tag name expressions by prefixing the parameter name with a dollar
786
+ sign, just like normal tags. If called without no additional arguments,
787
+ <code>Options('UserParam')</code> returns a reference to the hash of all user
788
+ parameters (with lower-case names).
789
+ </td>
790
+ <td><table class=clear>
791
+ <tr><td valign=top><i>PARAM</i></td><td valign=top>-</td><td>Get parameter</td></tr>
792
+ <tr><td valign=top><i>PARAM=</i></td><td valign=top>-</td><td>Clear parameter</td></tr></table>
793
+ <table class=clear>
794
+ <tr><td valign=top><i>PARAM=VALUE</i></td><td valign=top>-</td><td>Set parameter</td></tr>
795
+ </table><table class=clear>
796
+ <tr><td valign=top><i>hash&nbsp;ref</i></td><td valign=top>-</td><td>Set UserParam hash</td></tr>
797
+ <tr><td valign=top><b>undef</b></td><td valign=top>-</td><td>Clear UserParam hash</td></tr>
798
+ </table>
799
+ </td><td align=center>{ }</td></tr>
800
+ <tr><td>Verbose</td><td>Print verbose messages to file specified by TextOut option.
801
+ <a href="verbose.html">Click here</a> for example outputs.</td>
802
+ <td><a name="Verbose"></a><table class=clear>
803
+ <tr><td valign=top align=center><b>0</b>&nbsp;=</td><td>No verbose messages</td></tr>
804
+ <tr><td valign=top align=center><b>1</b>&nbsp;=</td><td>Print tag names and raw values</td></tr>
805
+ <tr><td valign=top align=center><b>2</b>&nbsp;=</td><td>Add additional tag details</td></tr>
806
+ <tr><td valign=top align=center><b>3</b>&nbsp;=</td><td>Add hex dump of tag data (with length limits)</td></tr>
807
+ <tr><td valign=top align=center><b>4</b>&nbsp;=</td><td>Remove length limit on dump of tag values</td></tr>
808
+ <tr><td valign=top align=center><b>5</b>&nbsp;=</td><td>Remove length limit on dump of JPEG segments</td></tr>
809
+ </table></td><td align=center>0</td></tr>
810
+ <tr><td>WriteMode</td><td>Set tag write/create mode.</td>
811
+ <td><a name="WriteMode"></a>A string with one or more of these characters:<table class=clear>
812
+ <tr><td valign=top align=center><b>w</b>&nbsp;=</td><td><b>W</b>rite existing tags</td></tr>
813
+ <tr><td valign=top align=center><b>c</b>&nbsp;=</td><td><b>C</b>reate new tags</td></tr>
814
+ <tr><td valign=top align=center><b>g</b>&nbsp;=</td><td>Create new <b>g</b>roups <sup>&dagger;</sup></td></tr>
815
+ </table></td><td align=center>'wcg'</td></tr>
816
+ <tr><td>XMPAutoConv</td><td><a name="XMPAutoConv"></a>Flag to enable automatic conversion
817
+ for unknown XMP tags with values that look like rational numbers or dates.</td>
818
+ <td align=center>0 or 1</td>
819
+ <td align=center>1</td></tr>
820
+ </table></blockquote>
821
+
822
+ <blockquote><table><tr><td valign=top><sup>&dagger;</sup></td><td>The level of
823
+ the group differs for different types of metadata. For XMP or IPTC this is the
824
+ full XMP/IPTC block (the family 0 group), but for EXIF this is the individual
825
+ IFD (the family 1 group).</td></tr></table></blockquote>
826
+
827
+ <p><b>Examples:</b></p>
828
+ <blockquote><table class='box'><tr><td><pre>
829
+ <span class=com># exclude the 'OwnerName' tag from returned information</span>
830
+ $exifTool-&gt;<b>Options</b>(Exclude =&gt; 'OwnerName');
831
+ </pre></td></tr></table></blockquote>
832
+
833
+ <blockquote><table class='box'><tr><td><pre>
834
+ <span class=com># only get information in EXIF or MakerNotes groups</span>
835
+ $exifTool-&gt;<b>Options</b>(Group0 =&gt; ['EXIF', 'MakerNotes']);
836
+ </pre></td></tr></table></blockquote>
837
+
838
+ <blockquote><table class='box'><tr><td><pre>
839
+ <span class=com># ignore information from IFD1</span>
840
+ $exifTool-&gt;<b>Options</b>(Group1 =&gt; '-IFD1');
841
+ </pre></td></tr></table></blockquote>
842
+
843
+ <blockquote><table class='box'><tr><td><pre>
844
+ <span class=com># sort by groups in family 2, and extract unknown tags</span>
845
+ $exifTool-&gt;<b>Options</b>(Sort =&gt; 'Group2', Unknown =&gt; 1);
846
+ </pre></td></tr></table></blockquote>
847
+
848
+ <blockquote><table class='box'><tr><td><pre>
849
+ <span class=com># reset DateFormat option</span>
850
+ $exifTool-&gt;<b>Options</b>(DateFormat =&gt; undef);
851
+ </pre></td></tr></table></blockquote>
852
+
853
+ <blockquote><table class='box'><tr><td><pre>
854
+ <span class=com># do not extract duplicate tag names</span>
855
+ $oldSetting = $exifTool-&gt;<b>Options</b>(Duplicates =&gt; 0);
856
+ </pre></td></tr></table></blockquote>
857
+
858
+ <blockquote><table class='box'><tr><td><pre>
859
+ <span class=com># get current Verbose setting</span>
860
+ $isVerbose = $exifTool-&gt;<b>Options</b>('Verbose');
861
+ </pre></td></tr></table></blockquote>
862
+
863
+ <blockquote><table class='box'><tr><td><pre>
864
+ <span class=com># set a user parameter</span>
865
+ $exifTool-&gt;<b>Options</b>(UserParam => 'MyParam=some value');
866
+ </pre></td></tr></table></blockquote>
867
+
868
+ <hr><h2><a name="ClearOptions">ClearOptions</a></h2>
869
+ <p>Reset all options to their default values. Loads user-defined default
870
+ option values from the %Image::ExifTool::UserDefined::Options hash in
871
+ the .ExifTool_config file if it exists.</p>
872
+ <blockquote><table class='norm'>
873
+ <tr><td><b>Prototype</b></td><td>ClearOptions()</td></tr>
874
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
875
+ </td></tr>
876
+ </table></blockquote>
877
+
878
+ <hr><h2><a name="ExtractInfo">ExtractInfo</a></h2>
879
+ <p>Extract all meta information from an image.</p>
880
+ <blockquote><table class='norm'>
881
+ <tr><td><b>Prototype</b></td><td>ExtractInfo($;@)</td></tr>
882
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
883
+ <br><b>1-N)</b> Same as <a href="#ImageInfo">ImageInfo</a> except that a list of tag
884
+ keys is not returned if an ARRAY reference is given.
885
+ </td></tr>
886
+ <tr><td valign=top><b>Returns</b></td><td>1 if this was a recognized file format, 0 otherwise</td></tr>
887
+ </table></blockquote>
888
+ <p><b>Example:</b></p>
889
+ <blockquote><table class='box'><tr><td><pre>
890
+ $success = $exifTool-&gt;<b>ExtractInfo</b>('image.jpg', \%options);
891
+ </pre></td></tr></table></blockquote>
892
+ <p>The following options are effective in the call to <a href="#ExtractInfo">ExtractInfo</a>:</p>
893
+ <blockquote>
894
+ Binary, Charset, CharsetEXIF, CharsetFileName, CharsetID3, CharsetIPTC,
895
+ CharsetQuickTime, Composite, ExtendedXMP, ExtractEmbedded, FastScan,
896
+ FixBase, HtmlDump, HtmlDumpBase, IgnoreMinorErrors, Lang, LargeFileSupport,
897
+ MakerNotes, NoPDFList, PNGEarlyXMP, QuickTimeUTC (enforced 1904 time zero),
898
+ ScanForXMP, Struct, SystemTags, TextOut, Unknown and Verbose.
899
+ </blockquote>
900
+
901
+ <hr><h2><a name="GetInfo">GetInfo</a></h2>
902
+ <p><a href="#GetInfo">GetInfo</a> is called to return meta information
903
+ after it has been extracted from the image by a previous call to
904
+ <a href="#ExtractInfo">ExtractInfo</a> or <a href="#ImageInfo">ImageInfo</a>.
905
+ This function may be called repeatedly after a single call to
906
+ <a href="#ExtractInfo">ExtractInfo</a> or <a href="#ImageInfo">ImageInfo</a>.</p>
907
+ <blockquote><table class='norm'>
908
+ <tr><td><b>Prototype</b></td><td>GetInfo($;@)</td></tr>
909
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
910
+ <br><b>1-N)</b> Same as <a href="#ImageInfo">ImageInfo</a> except that an image
911
+ can not be specified
912
+ </td></tr>
913
+ <tr><td valign=top><b>Returns</b></td><td>Reference to information hash, the same as with
914
+ <a href="#ImageInfo">ImageInfo</a></td></tr>
915
+ </table></blockquote>
916
+ <p><b>Examples:</b></p>
917
+ <blockquote><table class='box'><tr><td><pre>
918
+ <span class=com># get image width and height only</span>
919
+ $info = $exifTool-&gt;<b>GetInfo</b>('ImageWidth', 'ImageHeight');
920
+ </pre></td></tr></table></blockquote>
921
+
922
+ <blockquote><table class='box'><tr><td><pre>
923
+ <span class=com># get all Error and Warning messages</span>
924
+ $info = $exifTool-&gt;<b>GetInfo</b>('Error', 'Warning');
925
+ </pre></td></tr></table></blockquote>
926
+
927
+ <blockquote><table class='box'><tr><td><pre>
928
+ <span class=com># get information for all tags in list (list updated with tags found)</span>
929
+ $info = $exifTool-&gt;<b>GetInfo</b>(\@ioTagList);
930
+ </pre></td></tr></table></blockquote>
931
+
932
+ <blockquote><table class='box'><tr><td><pre>
933
+ <span class=com># get all information in Author or Location groups</span>
934
+ $info = $exifTool-&gt;<b>GetInfo</b>({Group2 =&gt; ['Author', 'Location']});
935
+ </pre></td></tr></table></blockquote>
936
+ <p>The following options are effective in the call to <a href="#GetInfo">GetInfo</a>:</p>
937
+ <blockquote>
938
+ Charset, CoordFormat, DateFormat, Duplicates, Escape, Exclude, Filter, Group#,
939
+ GlobalTimeShift, Lang, List, ListItem, ListSep, PrintConv, QuickTimeUTC
940
+ (conversion to local time), Sort (if a tag list reference is given) and
941
+ StrictDate.
942
+ </blockquote>
943
+
944
+ <hr><h2><a name="WriteInfo">WriteInfo</a></h2>
945
+ <p>Write meta information to a file. The specified source file is rewritten to
946
+ the same-type destination file with new information as specified by previous
947
+ calls to <a href="#SetNewValue">SetNewValue</a>. The necessary segments and/or
948
+ directories are created in the destination file as required to store the
949
+ specified information. May be called repeatedly to write the same information
950
+ to additional files without the need to call <a href="#SetNewValue">SetNewValue</a>
951
+ again.</p>
952
+
953
+ <p>Note that it is <b>NOT</b> necessary to call <a href="#ExtractInfo">ExtractInfo</a>
954
+ or <a href="#ImageInfo">ImageInfo</a> before <a href="#WriteInfo">WriteInfo</a>.
955
+ <a href="#WriteInfo">WriteInfo</a> changes only metadata specified by previous
956
+ calls to <a href="#SetNewValue">SetNewValue</a>.</p>
957
+
958
+ <blockquote><table class='norm'>
959
+ <tr><td><b>Prototype</b></td><td>WriteInfo($$;$$)</td></tr>
960
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
961
+ <br><b>1)</b> Source file name, file reference, scalar reference, or undef to
962
+ create a file from scratch. A reference to a File::RandomAccess object is
963
+ also allowed as a source, but in this case the destination is not optional.
964
+ <br><b>2)</b> [<i>optional</i>] Destination file name, file reference, scalar
965
+ reference, or undef to overwrite the original file. May be '-' to write to
966
+ stdout.
967
+ <br><b>3)</b> [<i>optional</i>] Destination file type. Ignored if a source
968
+ is defined.
969
+ </td></tr>
970
+ <tr><td valign=top><b>Returns</b></td><td>1 if file was written OK, 2 if file was written
971
+ but no changes made, 0 on file write error.
972
+ </td></tr>
973
+ </table></blockquote>
974
+ <p>The source file name may be undefined to create a file from scratch
975
+ (currently only XMP, MIE, ICC, VRD, DR4, EXV and EXIF files can be created
976
+ in this way -- see <a href="#CanCreate">CanCreate</a> for details).
977
+ If undefined, the destination file type is required unless the type can be
978
+ determined from the extension of the destination file name.</p>
979
+ <p>If a destination file name is given, the specified file must not exist
980
+ because an existing destination file will not be overwritten. Any new
981
+ values for FileName, Directory or HardLink are ignored when a destination
982
+ file name is specified.</p>
983
+ <p>The destination file name may be undefined to overwrite the original file
984
+ (make sure you have backups!). In this case, if a source file name is
985
+ provided, a temporary file is created and renamed to replace the source file
986
+ if no errors occurred while writing. Otherwise, if a source file reference
987
+ or scalar reference is used, the image is first written to memory then
988
+ copied back to replace the original if there were no errors.</p>
989
+ <p>On Mac OS systems, the file resource fork is preserved if this routine
990
+ is called with a source file name.</p>
991
+ <p><b>Examples:</b></p>
992
+ <blockquote><table class='box'><tr><td><pre>
993
+ <span class=com># add information to a source file, writing output to new file</span>
994
+ my $result = $exifTool-&gt;<b>WriteInfo</b>($srcfile, $dstfile);
995
+ </pre></td></tr></table></blockquote>
996
+
997
+ <blockquote><table class='box'><tr><td><pre>
998
+ <span class=com># create XMP data file from scratch</span>
999
+ $exifTool-&gt;<b>WriteInfo</b>(undef, $dstfile, 'XMP');
1000
+ </pre></td></tr></table></blockquote>
1001
+
1002
+ <blockquote><table class='box'><tr><td><pre>
1003
+ <span class=com># overwrite file (you do have backups, right?)</span>
1004
+ $exifTool-&gt;<b>WriteInfo</b>($srcfile);
1005
+ </pre></td></tr></table></blockquote>
1006
+
1007
+ <blockquote><table class='box'><tr><td><pre>
1008
+ <span class=com># retrieve error and warning messages</span>
1009
+ $errorMessage = $exifTool-&gt;<a href="#GetValue">GetValue</a>('Error');
1010
+ $warningMessage = $exifTool-&gt;<a href="#GetValue">GetValue</a>('Warning');
1011
+ </pre></td></tr></table></blockquote>
1012
+ <p>If an error code is returned, an Error tag is set and GetValue('Error') can
1013
+ be called to obtain the error description. A Warning tag may be set even if
1014
+ this routine is successful. Calling WriteInfo clears any pre-existing Error
1015
+ and Warning tags.</p>
1016
+ <p>The following ExifTool options are effective in the call to
1017
+ <a href="#WriteInfo">WriteInfo</a>:</p>
1018
+ <blockquote>
1019
+ ByteOrder, Charset, CharsetEXIF, CharsetFileName, CharsetIPTC, Compact,
1020
+ Compress, FixBase, IgnoreMinorErrors, PNGEarlyXMP and Verbose.
1021
+ </blockquote>
1022
+
1023
+ <hr><h2><a name="GetTagList">GetTagList</a></h2>
1024
+ <p>Get a sorted list of tags from the specified information hash or tag list.</p>
1025
+ <blockquote><table class='norm'>
1026
+ <tr><td><b>Prototype</b></td><td>GetTagList($;$$$)</td></tr>
1027
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1028
+ <br><b>1)</b> [<i>optional</i>] Reference to info hash or tag list
1029
+ <br><b>2)</b> [<i>optional</i>] Sort order ('Input', 'File', 'Tag', 'Descr' or 'Group#')
1030
+ <br><b>3)</b> [<i>optional</i>] Secondary sort order ('File', 'Tag' or 'Descr')
1031
+ </td></tr>
1032
+ <tr><td valign=top><b>Returns</b></td><td>List of tag keys in specified order</td></tr>
1033
+ </table></blockquote>
1034
+ <p><b>Example:</b></p>
1035
+ <blockquote><table class='box'><tr><td><pre>
1036
+ @tags = $exifTool-&gt;<b>GetTagList</b>($info, 'Group0');
1037
+ </pre></td></tr></table></blockquote>
1038
+ <p>If the information hash or tag list reference is not provided, then the list
1039
+ of found tags from the last call to <a href="#ImageInfo">ImageInfo</a>,
1040
+ <a href="#ExtractInfo">ExtractInfo</a> or <a href="#GetInfo">GetInfo</a>
1041
+ is used instead, and the result is the same as if
1042
+ <a href="#GetFoundTags">GetFoundTags</a> was called. If sort order is not
1043
+ specified, the sort order is taken from the current options settings.</p>
1044
+
1045
+ <hr><h2><a name="GetFoundTags">GetFoundTags</a></h2>
1046
+ <p>Get list of found tags in specified sort order. The found tags are the
1047
+ tags for the information obtained from the most recent call to
1048
+ <a href="#ImageInfo">ImageInfo</a>, <a href="#ExtractInfo">ExtractInfo</a>
1049
+ or <a href="#GetInfo">GetInfo</a> for this object.</p>
1050
+ <blockquote><table class='norm'>
1051
+ <tr><td><b>Prototype</b></td><td>GetFoundTags($;$$)</td></tr>
1052
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1053
+ <br><b>1)</b> [<i>optional</i>] Sort order ('Input', 'File', 'Tag', 'Descr' or 'Group#')
1054
+ <br><b>2)</b> [<i>optional</i>] Secondary sort order ('File', 'Tag' or 'Descr')
1055
+ </td></tr>
1056
+ <tr><td valign=top><b>Returns</b></td><td>List of tag keys in the specified order</td></tr>
1057
+ </table></blockquote>
1058
+ <p><b>Example:</b></p>
1059
+ <blockquote><table class='box'><tr><td><pre>
1060
+ my @tags = $exifTool-&gt;<b>GetFoundTags</b>('File');
1061
+ </pre></td></tr></table></blockquote>
1062
+
1063
+ <hr><h2><a name="GetRequestedTags">GetRequestedTags</a></h2>
1064
+ <p>Get list of requested tags. These are the tags that were specified
1065
+ in the arguments of the most recent call to <a href="#ImageInfo">ImageInfo</a>,
1066
+ <a href="#ExtractInfo">ExtractInfo</a> or <a href="#GetInfo">GetInfo</a>,
1067
+ including tags specified via a tag list reference. They are returned
1068
+ in the same order that they were specified. Shortcut tags are expanded
1069
+ in the list.</p>
1070
+ <blockquote><table class='norm'>
1071
+ <tr><td><b>Prototype</b></td><td>GetRequestedTags($)</td></tr>
1072
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1073
+ </td></tr>
1074
+ <tr><td valign=top><b>Returns</b></td><td>List of tag keys for requested tags
1075
+ (empty if no tags specifically requested)</td></tr>
1076
+ </table></blockquote>
1077
+ <p><b>Example:</b></p>
1078
+ <blockquote><table class='box'><tr><td><pre>
1079
+ my @requestedTags = $exifTool-&gt;<b>GetRequestedTags</b>();
1080
+ </pre></td></tr></table></blockquote>
1081
+
1082
+ <hr><h2><a name="GetValue">GetValue</a></h2>
1083
+ <p>Get the value of a specified tag. The returned value is either the
1084
+ human-readable (PrintConv) value, the converted machine-readable (ValueConv)
1085
+ value, or the original raw (Raw) value. If the value type is not specified,
1086
+ the PrintConv value is returned if the PrintConv option is set, otherwise the
1087
+ ValueConv value is returned. The PrintConv values are the same as the values
1088
+ returned by <a href="#ImageInfo">ImageInfo</a> and <a href="#GetInfo">GetInfo</a>
1089
+ in the tag/value hash unless the PrintConv option is disabled.</p>
1090
+ <p>Tags which represent lists of multiple values (as may happen with
1091
+ '<code>Keywords</code>' for example) are handled specially. In scalar context,
1092
+ the returned PrintConv value for these tags is either a string of values or
1093
+ a list reference (depending on the List option setting), and the ValueConv
1094
+ value is always a list reference. But in list context,
1095
+ <a href="#GetValue">GetValue</a> always returns the list itself.</p>
1096
+ <p>Note that <a href="#GetInfo">GetValue</a> requires a case-sensitive tag key
1097
+ as an argument. To retrieve tag information based on a case-insensitive tag name
1098
+ (with an optional group specifier), use <a href="#GetInfo">GetInfo</a>
1099
+ instead.</p>
1100
+ <blockquote><table class='norm'>
1101
+ <tr><td><b>Prototype</b></td><td>GetValue($$;$)</td></tr>
1102
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1103
+ <br><b>1)</b> Tag key
1104
+ <br><b>2)</b> [<i>optional</i>] Value type, 'PrintConv', 'ValueConv', 'Both',
1105
+ 'Raw' or 'Rational'
1106
+ <br>&nbsp;<br>The default value type is 'PrintConv' if the PrintConv option
1107
+ is set, otherwise the default is 'ValueConv'. A value type of 'Both'
1108
+ returns both ValueConv and PrintConv values as a list. 'Rational' returns
1109
+ the raw rational value as a string fraction for rational types, or undef for
1110
+ other types.
1111
+ </td></tr>
1112
+ <tr><td valign=top><b>Returns</b></td><td>
1113
+ The value of the specified tag. If the tag represents a list of multiple values
1114
+ and the List option is disabled then PrintConv returns a string of values,
1115
+ otherwise a reference to the list is returned in scalar context. The list
1116
+ itself is returned in list context. (Unless 'Both' values are requested, in
1117
+ which case two list references are returned, regardless of context.) Values may
1118
+ also be scalar references to binary data, or hash references if the
1119
+ <a href="#Struct">Struct</a> option is set.<br>&nbsp;<br> Note: It is possible
1120
+ for <a href="#GetValue">GetValue</a> to return an undefined ValueConv or
1121
+ PrintConv value (or an empty list in list context) even if the tag exists, since
1122
+ it is possible for these conversions to yield undefined values. And the
1123
+ Rational value will be undefined for any non-rational tag. The Raw value should
1124
+ always exist if the tag exists.
1125
+ </td></tr>
1126
+ </table></blockquote>
1127
+ <p><b>Examples:</b></p>
1128
+ <blockquote><table class='box'><tr><td><pre>
1129
+ <span class=com># PrintConv example</span>
1130
+ my $val = $exifTool-&gt;<b>GetValue</b>($tag);
1131
+ if (ref $val eq 'SCALAR') {
1132
+ print "$tag = (unprintable value)\n";
1133
+ } else {
1134
+ print "$tag = $val\n";
1135
+ }
1136
+ </pre></td></tr></table></blockquote>
1137
+
1138
+ <blockquote><table class='box'><tr><td><pre>
1139
+ <span class=com># ValueConv example</span>
1140
+ my $val = $exifTool-&gt;<b>GetValue</b>($tag, 'ValueConv');
1141
+ if (ref $val eq 'ARRAY') {
1142
+ print "$tag is a list of values\n";
1143
+ } elsif (ref $val eq 'SCALAR') {
1144
+ print "$tag represents binary data\n";
1145
+ } else {
1146
+ print "$tag is a simple scalar\n";
1147
+ }
1148
+ </pre></td></tr></table></blockquote>
1149
+
1150
+ <blockquote><table class='box'><tr><td><pre>
1151
+ <span class=com># list example</span>
1152
+ my @keywords = $exifTool-&gt;<b>GetValue</b>('Keywords', 'ValueConv');
1153
+ </pre></td></tr></table></blockquote>
1154
+ <p>The following options are in effect when <a href="#GetValue">GetValue</a> is
1155
+ called:</p>
1156
+ <blockquote>
1157
+ Charset, CoordFormat, DateFormat, Escape, Filter, GlobalTimeShift, Lang, List,
1158
+ ListItem, ListSep, PrintConv, QuickTimeUTC (conversion to local time) and
1159
+ StrictDate.
1160
+ </blockquote>
1161
+
1162
+ <hr><h2><a name="SetNewValue">SetNewValue</a></h2>
1163
+ <p>Set the new value for a tag. The routine may be called multiple times to set
1164
+ the values of many tags before using <a href="#WriteInfo">WriteInfo</a> to write
1165
+ the new values to an image.</p>
1166
+ <p>For list-type tags (like <code>Keywords</code>), either call repeatedly with
1167
+ the same tag name for each value, or call with a reference to the list of values.</p>
1168
+ <blockquote><table class='norm'>
1169
+ <tr><td><b>Prototype</b></td><td>SetNewValue($;$$%)</td></tr>
1170
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1171
+ <br><b>1)</b> [<i>optional</i>] Tag key or tag name, or undef to clear all new
1172
+ values. The tag name may be prefixed one or more family 0, 1 or 2 group
1173
+ names with optional leading family numbers, separated by colons (eg.
1174
+ '<code>EXIF:Artist</code>', '<code>XMP:Time:*</code>'), which is equivalent
1175
+ to using a Group option argument. Also, a '<code>#</code>' may be appended
1176
+ to the tag name (eg. '<code>EXIF:Orientation#</code>'), with the same effect
1177
+ as setting Type to 'ValueConv'. Wildcards ('<code>*</code>' and
1178
+ '<code>?</code>') may be used in the tag name to assign multiple tags
1179
+ simultaneously A tag name of '<code>*</code>' is special when deleting
1180
+ information, and will delete an entire group even if some individual tags in
1181
+ the group are not writable, but only if a single family 0 or 1 group name is
1182
+ specified (otherwise, the tags are deleted individually). Use
1183
+ <a href="#GetDeleteGroups">GetDeleteGroups</a> to get a list of deletable group
1184
+ names, and see the <a href="TagNames/index.html">TagNames documentation</a>
1185
+ for a complete list of ExifTool tag names.
1186
+ <br><b>2)</b> [<i>optional</i>] New value for tag. Undefined to delete tag
1187
+ from file. May be a scalar, scalar reference, list reference to set a list
1188
+ of values, or hash reference for a structure. Integer values may be
1189
+ specified as a hexadecimal string (with a leading '0x'), and simple
1190
+ rational values may be specified in fractional form (eg. '4/10'). Structure
1191
+ tags may be specified either as a hash reference or a serialized string
1192
+ (see the last two examples below).
1193
+ <br><b>3-N)</b> [<i>optional</i>] SetNewValue option/value pairs (see below).
1194
+ </td></tr>
1195
+ <tr><td valign=top><b>Returns</b></td><td>Scalar context: The number of tags set, and
1196
+ errors are printed to STDERR.
1197
+ <br>List context: The number of tags set, and the error string (undefined if no error).
1198
+ </td></tr>
1199
+ </table></blockquote>
1200
+ <blockquote><table class='norm'>
1201
+ <tr><th colspan=4 bgcolor='#dddddd'>SetNewValue Options</th></tr>
1202
+ <tr><th>Option</th><th>Description</th><th width='30%'>Values</th><th>Default</th></tr>
1203
+ <tr><td>AddValue</td><td>Add value to existing list in a file rather than overwriting</td>
1204
+ <td><table class=clear>
1205
+ <tr><td valign=top align=center><b>0</b>&nbsp;=</td><td>Overwrite existing value(s)</td></tr>
1206
+ <tr><td valign=top align=center><b>1</b>&nbsp;=</td><td>Add to existing list, or warn for non-list tags</td></tr>
1207
+ <tr><td valign=top align=center><b>2</b>&nbsp;=</td><td>Add to existing list, or overwrite non-list tags</td></tr>
1208
+ </table></td><td align=center>0</td></tr>
1209
+ <tr><td>DelValue</td><td>Delete existing tag from a file if it has the specified
1210
+ value. For list-type tags this deletes a specified item from the list. For
1211
+ non-list tags this may be used to conditionally replace a tag by providing a
1212
+ new value in a separate call to <a href="#SetNewValue">SetNewValue</a> (see
1213
+ examples below). For structured tags, the entire structure is deleted/replaced
1214
+ only if all of the specified fields match the existing structure.</td>
1215
+ <td align=center>0 or 1</td><td align=center>0</td></tr>
1216
+ <tr><td>EditGroup</td><td>Create tags in existing groups only. Don't create new group.
1217
+ Effectively removes the 'g' from the ExifTool WriteMode option for this tag only.</td>
1218
+ <td align=center>0 or 1</td><td align=center>0</td></tr>
1219
+ <tr><td>EditOnly</td><td>Edit tag only if it already exists. Don't create new tag.
1220
+ Effectively removes the 'c' from the ExifTool WriteMode option for this tag only.</td>
1221
+ <td align=center>0 or 1</td><td align=center>0</td></tr>
1222
+ <tr><td>Group</td><td>Specifies group name where tag should be written.
1223
+ If not specified, tag is written to highest priority group as specified
1224
+ by <a href="#SetNewGroups">SetNewGroups</a>. Case is not significant</td>
1225
+ <td align=center>One or more family 0, 1 or 2 groups with optional leading
1226
+ family number, separated by colons</td><td align=center>undef</td></tr>
1227
+ <tr><td>NoFlat</td><td>Treat flattened tags as 'unsafe'</td><td align=center>0 or 1</td><td align=center>0</td></tr>
1228
+ <tr><td>NoShortcut</td><td>Disables default behaviour of looking up tag in
1229
+ shortcuts if not found otherwise.</td><td align=center>0 or 1</td><td align=center>0</td></tr>
1230
+ <tr><td>Protected</td><td>Allow protected tags to be written</td>
1231
+ <td>Bitmask of tag protection levels to write:
1232
+ <table class=clear>
1233
+ <tr><td valign=top align=center><b>0x01</b>&nbsp;=</td>
1234
+ <td>Write '<a href="TagNames/index.html">unsafe</a>' tags (ie. tags not copied
1235
+ automatically via <a href="#SetNewValuesFromFile">SetNewValuesFromFile</a>)</td></tr>
1236
+ <tr><td valign=top align=center><b>0x02</b>&nbsp;=</td>
1237
+ <td>Write '<a href="TagNames/index.html">protected</a>' tags (internal use only)</td></tr>
1238
+ </table></td><td align=center>0</td></tr>
1239
+ <tr><td>ProtectSaved</td><td>Avoid setting new values which were saved after the Nth
1240
+ call to <a href="#SaveNewValues">SaveNewValues</a>. Has no effect on unsaved values,
1241
+ or values saved before the Nth call.</td><td align=center>N</td><td align=center>undef</td></tr>
1242
+ <tr><td>Replace</td><td>Replace previous new values for this tag (ie. replace the values
1243
+ set in previous calls to <a href="#SetNewValue">SetNewValue</a>). This option
1244
+ is most commonly used to replace previously-set new values for list-type tags.</td>
1245
+ <td><table class=clear>
1246
+ <tr><td valign=top align=center><b>0</b>&nbsp;=</td><td>Set new value normally</td></tr>
1247
+ <tr><td valign=top align=center><b>1</b>&nbsp;=</td><td>Reset previous new values and replace with the specifed new value</td></tr>
1248
+ <tr><td valign=top align=center><b>2</b>&nbsp;=</td><td>Reset previous new values only</td></tr>
1249
+ </table></td><td align=center>0</td></tr>
1250
+ <tr><td>Shift</td><td>Shift the tag by the specified value. Currently only date/time tags
1251
+ and tags with numerical values may be shifted. Value is added if Shift is 1, or subtracted
1252
+ if Shift is -1. See <a href="Shift.html">Image::ExifTool::Shift.pl</a> for details time shift formats.</td>
1253
+ <td><table class=clear>
1254
+ <tr><td valign=top align=left colspan=2><b>undef</b>&nbsp;= No shift</td></tr>
1255
+ <tr><td valign=top align=right><b>0</b>&nbsp;=</td><td>Shift if shiftable:<br>
1256
+ Positive if AddValue set, or<br>
1257
+ Negative if DelValue set and<br>
1258
+ tag is date/time</td></tr>
1259
+ <tr><td valign=top align=right><b>1</b>&nbsp;=</td><td>Positive shift</td></tr>
1260
+ <tr><td valign=top align=right><b>-1</b>&nbsp;=</td><td>Negative shift</td></tr>
1261
+ </table></td><td align=center>undef</td></tr>
1262
+ <tr><td>Type</td><td>The type of value being set</td>
1263
+ <td>PrintConv, ValueConv or Raw (default depends on <a href="#PrintConv">PrintConv</a> Option)</td>
1264
+ <td align=center>PrintConv or ValueConv</td></tr>
1265
+ </table></blockquote>
1266
+ <p><b>Examples:</b></p>
1267
+ <blockquote><table class='box'><tr><td><pre>
1268
+ <span class=com># set a new value for a tag (errors go to STDERR)</span>
1269
+ $success = $exifTool-&gt;<b>SetNewValue</b>($tag, $value);
1270
+ </pre></td></tr></table></blockquote>
1271
+
1272
+ <blockquote><table class='box'><tr><td><pre>
1273
+ <span class=com># set a new value and capture any error message</span>
1274
+ ($success, $errStr) = $exifTool-&gt;<b>SetNewValue</b>($tag, $value);
1275
+ </pre></td></tr></table></blockquote>
1276
+
1277
+ <blockquote><table class='box'><tr><td><pre>
1278
+ <span class=com># delete information for specified tag if it exists in image
1279
+ # (also resets AddValue and DelValue options for this tag)</span>
1280
+ $exifTool-&gt;<b>SetNewValue</b>($tag);
1281
+ </pre></td></tr></table></blockquote>
1282
+
1283
+ <blockquote><table class='box'><tr><td><pre>
1284
+ <span class=com># reset all values from previous calls to SetNewValue()</span>
1285
+ $exifTool-&gt;<b>SetNewValue</b>();
1286
+ </pre></td></tr></table></blockquote>
1287
+
1288
+ <blockquote><table class='box'><tr><td><pre>
1289
+ <span class=com># delete a specific keyword</span>
1290
+ $exifTool-&gt;<b>SetNewValue</b>('Keywords', $word, DelValue =&gt; 1);
1291
+ </pre></td></tr></table></blockquote>
1292
+
1293
+ <blockquote><table class='box'><tr><td><pre>
1294
+ <span class=com># set keywords (a list-type tag) with two new values</span>
1295
+ $exifTool-&gt;<b>SetNewValue</b>(Keywords =&gt; 'word1');
1296
+ $exifTool-&gt;<b>SetNewValue</b>(Keywords =&gt; 'word2');
1297
+ <span class=com># equivalent, but set both in one call using an array reference</span>
1298
+ $exifTool-&gt;<b>SetNewValue</b>(Keywords =&gt; ['word1','word2']);
1299
+ </pre></td></tr></table></blockquote>
1300
+
1301
+ <blockquote><table class='box'><tr><td><pre>
1302
+ <span class=com># add a keyword without replacing existing keywords in the file</span>
1303
+ $exifTool-&gt;<b>SetNewValue</b>(Keywords =&gt; $word, AddValue =&gt; 1);
1304
+ </pre></td></tr></table></blockquote>
1305
+
1306
+ <blockquote><table class='box'><tr><td><pre>
1307
+ <span class=com># conditionally add or replace a tag if it didn't exist before
1308
+ # or had a specified value ("old value")</span>
1309
+ $exifTool-&gt;<b>SetNewValue</b>(Description =&gt; '', DelValue =&gt; 1);
1310
+ $exifTool-&gt;<b>SetNewValue</b>(Description =&gt; 'old value', DelValue =&gt; 1);
1311
+ $exifTool-&gt;<b>SetNewValue</b>(Description =&gt; 'new value');
1312
+ </pre></td></tr></table></blockquote>
1313
+
1314
+ <blockquote><table class='box'><tr><td><pre>
1315
+ <span class=com># set a tag in a specific group</span>
1316
+ $exifTool-&gt;<b>SetNewValue</b>(Headline =&gt; $val, Group =&gt; 'XMP');
1317
+ $exifTool-&gt;<b>SetNewValue</b>('XMP:Headline' =&gt; $val); <span class=com># (equivalent)</span>
1318
+ </pre></td></tr></table></blockquote>
1319
+
1320
+ <blockquote><table class='box'><tr><td><pre>
1321
+ <span class=com># shift original date/time back by 2.5 hours</span>
1322
+ $exifTool-&gt;<b>SetNewValue</b>(DateTimeOriginal =&gt; '2:30', Shift =&gt; -1);
1323
+ </pre></td></tr></table></blockquote>
1324
+
1325
+ <blockquote><table class='box'><tr><td><pre>
1326
+ <span class=com># write a tag only if it had a specific value
1327
+ # (the order of the following calls is not significant)</span>
1328
+ $exifTool-&gt;<b>SetNewValue</b>(Title =&gt; $oldVal, DelValue =&gt; 1);
1329
+ $exifTool-&gt;<b>SetNewValue</b>(Title =&gt; $newVal);
1330
+ </pre></td></tr></table></blockquote>
1331
+
1332
+ <blockquote><table class='box'><tr><td><pre>
1333
+ <span class=com># write tag by numerical value</span>
1334
+ $exifTool-&gt;<b>SetNewValue</b>(Orientation =&gt; 6, Type =&gt; 'ValueConv');
1335
+ $exifTool-&gt;<b>SetNewValue</b>('Orientation#' =&gt; 6); <span class=com># (equivalent)</span>
1336
+ </pre></td></tr></table></blockquote>
1337
+
1338
+ <blockquote><table class='box'><tr><td><pre>
1339
+ <span class=com># delete all but EXIF tags</span>
1340
+ $exifTool-&gt;<b>SetNewValue</b>('*'); <span class=com># delete all...</span>
1341
+ $exifTool-&gt;<b>SetNewValue</b>('EXIF:*', undef, Replace =&gt; 2); <span class=com># ...but EXIF</span>
1342
+ </pre></td></tr></table></blockquote>
1343
+
1344
+ <blockquote><table class='box'><tr><td>
1345
+ <pre><span class=com># write structured information as a HASH reference</span>
1346
+ $exifTool-&gt;<b>SetNewValue</b>('XMP:Flash' =&gt; { mode=>'on', fired=>'true', return=>'not' });</pre>
1347
+ </td></tr></table></blockquote>
1348
+
1349
+ <blockquote><table class='box'><tr><td>
1350
+ <pre><span class=com># write structured information as a serialized string</span>
1351
+ $exifTool-&gt;<b>SetNewValue</b>('XMP:Flash' =&gt; '{mode=on,fired=true,return=not}');</pre>
1352
+ </td></tr></table>(see <a href="struct.html#Serialize">struct.html</a> for a
1353
+ description of the structure serialization technique)</blockquote>
1354
+
1355
+ <p><b>Notes:</b></p>
1356
+ <p>When deleting groups of tags, the Replace option may be used to exclude
1357
+ specific groups from a mass delete. However, this technique may not be used to
1358
+ exclude individual tags from a group delete (unless a family 2 group was
1359
+ specified in the delete). Instead, use
1360
+ <a href="#SetNewValuesFromFile">SetNewValuesFromFile</a> to recover the values
1361
+ of individual tags after deleting a group.</p>
1362
+ <p>When deleting all tags from a JPEG image, the APP14 "Adobe" information is
1363
+ not deleted by default because doing so may affect the appearance of the image.
1364
+ However, this information may be deleted by specifying it explicitly, either by
1365
+ group (with '<code>Adobe:*</code>') or as a block (with '<code>Adobe</code>').</p>
1366
+ <p>The following ExifTool options are effective in the call to
1367
+ <a href="#SetNewValue">SetNewValue</a>:</p>
1368
+ <blockquote>
1369
+ Charset, DateFormat, Escape, IgnoreMinorErrors, Lang, ListSep, ListSplit,
1370
+ PrintConv, QuickTimeUTC, StrictDate, Verbose and WriteMode.
1371
+ </blockquote>
1372
+
1373
+ <hr><h2><a name="GetNewValue">GetNewValue</a><a name="GetNewValues"></a></h2>
1374
+ <p>Get the new Raw value for a tag. This is the value set by
1375
+ <a href="#SetNewValue">SetNewValue</a> that is queued to be written to
1376
+ file. List-type tags may return multiple values in list context.</p>
1377
+ <blockquote><table class='norm'>
1378
+ <tr><td><b>Prototype</b></td><td>GetNewValue($$)</td></tr>
1379
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1380
+ <br><b>1)</b> Tag name (case sensitive, may be prefixed by family 0 or 1 group name)
1381
+ </td></tr>
1382
+ <tr><td valign=top><b>Returns</b></td><td>List of new Raw tag values, or first value in
1383
+ list when called in scalar context. The list may be empty either if the tag
1384
+ isn't being written, or if it is being deleted (ie. if
1385
+ <a href="#SetNewValue">SetNewValue</a> was called without a value).
1386
+ </td></tr>
1387
+ </table></blockquote>
1388
+ <p><b>Examples:</b></p>
1389
+ <blockquote><table class='box'><tr><td><pre>
1390
+ my $rawVal = $exifTool-&gt;<b>GetNewValue</b>($tag);
1391
+ </pre></td></tr></table></blockquote>
1392
+
1393
+ <blockquote><table class='box'><tr><td><pre>
1394
+ my @rawVals = $exifTool-&gt;<b>GetNewValue</b>($tag);
1395
+ </pre></td></tr></table></blockquote>
1396
+
1397
+ <hr><h2><a name="SetNewValuesFromFile">SetNewValuesFromFile</a></h2>
1398
+ <p>A very powerful routine that sets new values for tags from information found
1399
+ in a specified file.</p>
1400
+ <blockquote><table class='norm'>
1401
+ <tr><td><b>Prototype</b></td><td>SetNewValuesFromFile($$;@)</td></tr>
1402
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1403
+ <br><b>1)</b> File name, file reference, or scalar reference
1404
+ <br><b>2-N)</b> [<i>optional</i>] List of tag names to set or options hash
1405
+ references. All writable tags are set if none are specified. The tag names
1406
+ are not case sensitive, and may be prefixed by one or more family 0, 1 or 2
1407
+ group names with optional leading family numbers, separated by colons (eg.
1408
+ '<code>exif:iso</code>'). A leading '<code>-</code>' indicates tags to be
1409
+ excluded (eg. '<code>-comment</code>'), or a trailing '<code>#</code>' causes
1410
+ the ValueConv value to be copied (same as setting the Type option to
1411
+ 'ValueConv' for this tag only). Wildcards ('<code>*</code>' and
1412
+ '<code>?</code>') may be used in the tag name. A tag name of '<code>*</code>'
1413
+ is commonly used when a group is specified to copy all tags in the group (eg.
1414
+ '<code>XMP:*</code>').<br>&nbsp;<br> A special feature allows tag names of the
1415
+ form '<code>DSTTAG&lt;SRCTAG</code>' (or '<code>SRCTAG&gt;DSTTAG</code>') to be
1416
+ specified to copy information to a tag with a different name or a specified
1417
+ group. Both '<code>SRCTAG</code>' and '<code>DSTTAG</code>' may contain
1418
+ wildcards and/or be prefixed by a group name (eg.
1419
+ '<code>fileModifyDate&lt;modifyDate</code>' or '<code>xmp:*&lt;*</code>'),
1420
+ and/or suffixed by a '<code>#</code>' to disable print conversion. Copied tags
1421
+ may also be added or deleted from a list with arguments of the form
1422
+ '<code>DSTTAG+&lt;SRCTAG</code>' or '<code>DSTTAG-&lt;SRCTAG</code>'. Tags are
1423
+ evaluated in order, so exclusions apply only to tags included earlier in the
1424
+ list. An extension of this feature allows the tag value to be set from an
1425
+ expression containing tag names with leading '<code>$</code>' symbols (eg.
1426
+ '<code>Comment&lt;the file is $filename</code>'). Braces '<code>{}</code>' may
1427
+ be used around the tag name to separate it from subsequent text, and a
1428
+ '<code>$$</code>' is used to to represent a '<code>$</code>' symbol. The
1429
+ behaviour for missing tags in expressions is defined by the <a
1430
+ href="#MissingTagValue">MissingTagValue</a> option. The tag value may be
1431
+ modified via changes to the default input variable (<code>$_</code>) in Perl
1432
+ expressions placed inside the braces and after a semicolon following the tag
1433
+ name. Braces within the expression must be balanced.
1434
+ <br>&nbsp;<br>
1435
+ Multiple options hash references may be passed to set different options for
1436
+ different tags. Options apply to subsequent tags in the argument list.
1437
+ </td></tr>
1438
+ <tr><td valign=top><b>Returns</b></td><td>A hash of information that was set
1439
+ successfully. May include Warning or Error entries if there were problems
1440
+ reading the input file.
1441
+ </td></tr>
1442
+ </table></blockquote>
1443
+ <p>By default, this routine will commute information between same-named tags in
1444
+ different groups, allowing information to be translated between images with
1445
+ different formats. This behaviour may be modified by specifying a group name
1446
+ for extracted tags (even if '<code>*</code>' is used as a group name), in which
1447
+ case the information is written to the original group, unless redirected to a
1448
+ different group. When '<code>*</code>' is used for a group name, by default the
1449
+ family 1 group of the original tag is preserved, but a different family may be
1450
+ specified with a leading family number. (For example, specifying
1451
+ '<code>*:*</code>' copies all information while preserving the original family 1
1452
+ groups, while '<code>0*:*</code>' preserves the family 0 group.)</p>
1453
+ <p><b>SetNewValuesFromFile Options:</b></p>
1454
+ <p>The options are the same was for <a href="#SetNewValue">SetNewValue</a>, and
1455
+ are passed directly to <a href="#SetNewValue">SetNewValue</a> internally,
1456
+ with a few exceptions:</p>
1457
+ <ul>
1458
+ <li>The Replace option defaults to 1 instead of 0 as with
1459
+ <a href="#SetNewValue">SetNewValue</a>.</li>
1460
+ <li>The AddValue or DelValue option is set for individual tags if '+&gt;' or
1461
+ '-&gt;' (or '+&lt;' or '-&lt;') are used.</li>
1462
+ <li>The Group option is set for tags where a group name is given.</li>
1463
+ <li>The Protected flag is set to 1 for individually specified tags.</li>
1464
+ <li>The Type option also applies to extracted tags.</li>
1465
+ </ul>
1466
+ <p><b>Examples:</b></p>
1467
+ <blockquote><table class='box'><tr><td><pre>
1468
+ <span class=com># set new values from all information in a file...</span>
1469
+ my $info = $exifTool-&gt;<b>SetNewValuesFromFile</b>($srcFile);
1470
+ <span class=com># ...then write these values to another image</span>
1471
+ my $result = $exifTool-&gt;<a href="#WriteInfo">WriteInfo</a>($file2, $outFile);
1472
+ </pre></td></tr></table></blockquote>
1473
+
1474
+ <blockquote><table class='box'><tr><td><pre>
1475
+ <span class=com># set all new values, preserving original groups</span>
1476
+ $exifTool-&gt;<b>SetNewValuesFromFile</b>($srcFile, '*:*');
1477
+ </pre></td></tr></table></blockquote>
1478
+
1479
+ <blockquote><table class='box'><tr><td><pre>
1480
+ <span class=com># set specific information</span>
1481
+ $exifTool-&gt;<b>SetNewValuesFromFile</b>($srcFile, $tag1, $tag2...);
1482
+ </pre></td></tr></table></blockquote>
1483
+
1484
+ <blockquote><table class='box'><tr><td><pre>
1485
+ <span class=com># set new value from a different tag in specific group</span>
1486
+ $exifTool-&gt;<b>SetNewValuesFromFile</b>($src, 'IPTC:Keywords&gt;XMP-dc:Subject');
1487
+ </pre></td></tr></table></blockquote>
1488
+
1489
+ <blockquote><table class='box'><tr><td><pre>
1490
+ <span class=com># add all IPTC keywords to XMP subject list</span>
1491
+ $exifTool-&gt;<b>SetNewValuesFromFile</b>($src, 'IPTC:Keywords+&gt;XMP-dc:Subject');
1492
+ </pre></td></tr></table></blockquote>
1493
+
1494
+ <blockquote><table class='box'><tr><td><pre>
1495
+ <span class=com># set new value from an expression involving other tags</span>
1496
+ $exifTool-><b>SetNewValuesFromFile</b>($file,
1497
+ 'Comment&lt;ISO=$ISO Aperture=$aperture Exposure=$shutterSpeed');
1498
+ </pre></td></tr></table></blockquote>
1499
+
1500
+ <blockquote><table class='box'><tr><td><pre>
1501
+ <span class=com># set keywords list from the values of multiple tags</span>
1502
+ $exifTool-&gt;<b>SetNewValuesFromFile</b>($file, { Replace =&gt; 0 },
1503
+ 'keywords&lt;xmp:subject', 'keywords&lt;filename');
1504
+ </pre></td></tr></table></blockquote>
1505
+
1506
+ <blockquote><table class='box'><tr><td><pre>
1507
+ <span class=com># copy all EXIF information, preserving the original IFD
1508
+ # (without '&gt;*.*' tags would be copied to the preferred EXIF IFD)</span>
1509
+ $exifTool-&gt;<b>SetNewValuesFromFile</b>($file, 'EXIF:*&gt;*:*');
1510
+ </pre></td></tr></table></blockquote>
1511
+
1512
+ <blockquote><table class='box'><tr><td><pre>
1513
+ <span class=com># copy all tags with names starting with "gps" (note: this is
1514
+ # different than "gps:*" because it will also copy XMP GPS tags)</span>
1515
+ $exifTool-&gt;<b>SetNewValuesFromFile</b>($file, 'gps*');
1516
+ </pre></td></tr></table></blockquote>
1517
+
1518
+ <blockquote><table class='box'><tr><td><pre>
1519
+ <span class=com># set FileName from Model, translating questionable characters to underlines</span>
1520
+ $exifTool-&gt;<b>SetNewValuesFromFile</b>($file, 'filename&lt;${model;tr(/\\\\?*:|"&lt;&gt;)(_)}.jpg');
1521
+ </pre></td></tr></table></blockquote>
1522
+
1523
+ <p><b>Notes:</b></p>
1524
+ <p>The PrintConv option applies to this routine, but it normally should be left
1525
+ on to provide more reliable transfer of information between groups.</p>
1526
+ <p>If a preview image exists, it is not copied. The preview image must be
1527
+ transferred separately if desired, in a separate call to
1528
+ <a href="#WriteInfo">WriteInfo</a></p>
1529
+ <p>When simply copying all information between files of the same type, it is
1530
+ usually desirable to preserve the original groups by specifying
1531
+ '<code>*:*</code>' for the tags to set.</p>
1532
+ <p>The <a href="#Duplicates">Duplicates</a> option is always in effect for tags
1533
+ extracted from the source file using this routine.</p>
1534
+ <p>The <a href="#Struct">Struct</a> option is enabled by default for tags
1535
+ extracted by this routine. This allows the hierarchy of complex structures to
1536
+ be preserved when copying, but the Struct option may be set to 0 to override
1537
+ this behaviour and copy as flattened tags instead.</p>
1538
+
1539
+ <hr><h2><a name="CountNewValues">CountNewValues</a></h2>
1540
+ <p>Return the total number of new values set.</p>
1541
+ <blockquote><table class='norm'>
1542
+ <tr><td><b>Prototype</b></td><td>CountNewValues($)</td></tr>
1543
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1544
+ </td></tr>
1545
+ <tr><td valign=top><b>Returns</b></td><td>In scalar context, returns the total number
1546
+ of tags with new values set. In list context, also returns the number of
1547
+ "pseudo" tag values which have been set. "Pseudo" tags are tags like FileName
1548
+ and FileModifyDate which are not contained within the file and can be changed
1549
+ without rewriting the file.</td></tr>
1550
+ </table></blockquote>
1551
+ <p><b>Examples:</b></p>
1552
+ <blockquote><table class='box'><tr><td><pre>
1553
+ my $numSet = $exifTool-&gt;<b>CountNewValues</b>();
1554
+ </pre></td></tr></table></blockquote>
1555
+
1556
+ <blockquote><table class='box'><tr><td><pre>
1557
+ my ($numSet, $numPseudo) = $exifTool-&gt;<b>CountNewValues</b>();
1558
+ </pre></td></tr></table></blockquote>
1559
+
1560
+ <hr><h2><a name="SaveNewValues">SaveNewValues</a></h2>
1561
+ <p>Save state of new values to be later restored by <a href="#RestoreNewValues">RestoreNewValues</a>.</p>
1562
+ <blockquote><table class='norm'>
1563
+ <tr><td><b>Prototype</b></td><td>SaveNewValues($)</td></tr>
1564
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1565
+ </td></tr>
1566
+ <tr><td valign=top><b>Returns</b></td><td>Count of the number of times this routine has
1567
+ been called (N) since the last time the new values were reset.</td></tr>
1568
+ </table></blockquote>
1569
+ <p><b>Example:</b></p>
1570
+ <blockquote><table class='box'><tr><td><pre>
1571
+ $exifTool-&gt;<b>SaveNewValues</b>(); <span class=com># save state of new values</span>
1572
+ $exifTool-&gt;<a href="#SetNewValue">SetNewValue</a>(ISO =&gt; 100); <span class=com># set new value for ISO</span>
1573
+ $exifTool-&gt;<a href="#WriteInfo">WriteInfo</a>($src, $dst1); <span class=com># write ISO plus any previous new values</span>
1574
+ $exifTool-&gt;<b>RestoreNewValues</b>(); <span class=com># restore previous new values</span>
1575
+ $exifTool-&gt;<a href="#WriteInfo">WriteInfo</a>($src, $dst2); <span class=com># write previous new values only</span>
1576
+ </pre></td></tr></table></blockquote>
1577
+
1578
+ <hr><h2><a name="RestoreNewValues">RestoreNewValues</a></h2>
1579
+ <p>Restore new values to the settings that existed when
1580
+ <a href="#SaveNewValues">SaveNewValues</a> was last called. May be called
1581
+ repeatedly after a single call to <a href="#SaveNewValues">SaveNewValues</a>.
1582
+ See <a href="#SaveNewValues">SaveNewValues</a> above for an example.</p>
1583
+ <blockquote><table class='norm'>
1584
+ <tr><td><b>Prototype</b></td><td>RestoreNewValues($)</td></tr>
1585
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1586
+ </td></tr>
1587
+ </table></blockquote>
1588
+
1589
+ <hr><h2><a name="SetFileModifyDate">SetFileModifyDate</a></h2>
1590
+ <p>Write the filesystem modification or creation time from the new value of the
1591
+ FileModifyDate or FileCreateDate tag.</p>
1592
+ <blockquote><table class='norm'>
1593
+ <tr><td><b>Prototype</b></td><td>SetFileModifyDate($$;$$)</td></tr>
1594
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1595
+ <br><b>1)</b> File name
1596
+ <br><b>2)</b> [<i>optional</i>] Base time if applying shift (in days before $^T)
1597
+ <br><b>3)</b> [<i>optional</i>] Tag to write: 'FileModifyDate' (default), or 'FileCreateDate'
1598
+ </td></tr>
1599
+ <tr><td valign=top><b>Returns</b></td><td>1 if the time was changed, 0 if nothing was
1600
+ done, or -1 if there was an error setting the time.
1601
+ </td></tr>
1602
+ </table></blockquote>
1603
+ <p><b>Example:</b></p>
1604
+ <blockquote><table class='box'><tr><td><pre>
1605
+ $exifTool-&gt;<a href="#SetNewValue">SetNewValue</a>(FileModifyDate =&gt; '2000:01:02 03:04:05', Protected => 1);
1606
+ my $result = $exifTool-&gt;<b>SetFileModifyDate</b>($file);
1607
+ </pre></td></tr></table></blockquote>
1608
+ <p><b>Notes:</b></p>
1609
+ <p>Equivalent to, but more efficient than calling <a href="#WriteInfo">WriteInfo</a>
1610
+ when only the FileModifyDate or FileCreateDate tag has been set. If a timezone is not
1611
+ specified, local time is assumed. When shifting, the time of the original
1612
+ file is used unless the optional base time is specified.</p>
1613
+ <p>The ability to write FileCreateDate is currently restricted to Windows systems only.</p>
1614
+
1615
+ <hr><h2><a name="SetFileName">SetFileName</a></h2>
1616
+ <p>Set the file name and directory, or create a hard link to the file. If not
1617
+ specified, the new file name is derived from the new values of the FileName and
1618
+ Directory tags, or from the HardLink tag if creating a link. If the FileName
1619
+ tag contains a '<code>/</code>', then the file is renamed into a new directory.
1620
+ If FileName ends with '<code>/</code>', then it is taken as a directory name and
1621
+ the file is moved into the new directory. The new value for the Directory tag
1622
+ takes precedence over any directory specified in FileName.</p>
1623
+ <blockquote><table class='norm'>
1624
+ <tr><td><b>Prototype</b></td><td>SetFileName($$;$$)</td></tr>
1625
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1626
+ <br><b>1)</b> Current file name
1627
+ <br><b>2)</b> [<i>optional</i>] New file name
1628
+ <br><b>3)</b> [<i>optional</i>] 'Link' to create a hard link instead of renaming the file,
1629
+ or 'Test' to test renaming feature by printing the old and new names instead of
1630
+ changing anything.
1631
+ </td></tr>
1632
+ <tr><td valign=top><b>Returns</b></td><td>1 if the file name or directory was changed,
1633
+ 0 if nothing was done, or -1 if there was an error renaming the file.
1634
+ </td></tr>
1635
+ </table></blockquote>
1636
+ <p><b>Examples:</b></p>
1637
+ <blockquote><table class='box'><tr><td><pre>
1638
+ my $result = $exifTool-&gt;<b>SetFileName</b>($file);
1639
+ </pre></td></tr></table></blockquote>
1640
+
1641
+ <blockquote><table class='box'><tr><td><pre>
1642
+ my $result = $exifTool-&gt;<b>SetFileName</b>($file, $newName);
1643
+ </pre></td></tr></table></blockquote>
1644
+ <p><b>Notes:</b></p>
1645
+ <p>Will not overwrite existing files. New directories are created as
1646
+ necessary.</p>
1647
+
1648
+ <hr><h2><a name="SetNewGroups">SetNewGroups</a></h2>
1649
+ <p>Set the order of the preferred groups when adding new information. In
1650
+ subsequent calls to <a href="#SetNewValue">SetNewValue</a>, new information
1651
+ will be created in the first valid group of this list. This has an impact
1652
+ only if the group is not specified when calling
1653
+ <a href="#SetNewValue">SetNewValue</a>, and if the tag name exists in more
1654
+ than one group. The default order is EXIF, IPTC then XMP. Any family 0
1655
+ group name may be used. Case is not significant.</p>
1656
+ <blockquote><table class='norm'>
1657
+ <tr><td><b>Prototype</b></td><td>SetNewGroups($;@)</td></tr>
1658
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1659
+ <br><b>1-N)</b> Groups in order of priority. If no groups are specified, the
1660
+ priorities are reset to the defaults.
1661
+ </td></tr>
1662
+ </table></blockquote>
1663
+ <p><b>Example:</b></p>
1664
+ <blockquote><table class='box'><tr><td><pre>
1665
+ $exifTool-&gt;<b>SetNewGroups</b>('XMP','EXIF','IPTC');
1666
+ </pre></td></tr></table></blockquote>
1667
+
1668
+ <hr><h2><a name="GetNewGroups">GetNewGroups</a></h2>
1669
+ <p>Get current group priority list.</p>
1670
+ <blockquote><table class='norm'>
1671
+ <tr><td><b>Prototype</b></td><td>GetNewGroups($)</td></tr>
1672
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1673
+ </td></tr>
1674
+ <tr><td valign=top><b>Returns</b></td><td>List of group names in order of write
1675
+ priority. Highest priority first.
1676
+ </td></tr>
1677
+ </table></blockquote>
1678
+ <p><b>Example:</b></p>
1679
+ <blockquote><table class='box'><tr><td><pre>
1680
+ @groups = $exifTool-&gt;<b>GetNewGroups</b>();
1681
+ </pre></td></tr></table></blockquote>
1682
+
1683
+ <hr><h2><a name="GetTagID">GetTagID</a></h2>
1684
+ <p>Get the ID for the specified tag. The ID is the IFD tag number in EXIF
1685
+ information, the property name in XMP information, or the data offset in a
1686
+ binary data block. For some tags, such as Composite tags where there is no ID,
1687
+ an empty string is returned. In list context, also returns a language code for
1688
+ the tag if available and different from the default language (eg. with
1689
+ alternate language entries for XMP "lang-alt" tags).</p>
1690
+ <blockquote><table class='norm'>
1691
+ <tr><td><b>Prototype</b></td><td>GetTagID($$)</td></tr>
1692
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1693
+ <br><b>1)</b> Tag key
1694
+ </td></tr>
1695
+ <tr><td valign=top><b>Returns</b></td><td>In scalar context, returns the tag ID or '' if
1696
+ there is no ID for this tag.<br>In list context, returns the tag ID (or '') and the
1697
+ language code (or undef).</td></tr>
1698
+ </table></blockquote>
1699
+ <p><b>Examples:</b></p>
1700
+ <blockquote><table class='box'><tr><td><pre>
1701
+ my $id = $exifTool-&gt;<b>GetTagID</b>($tag);
1702
+ </pre></td></tr></table></blockquote>
1703
+ <blockquote><table class='box'><tr><td><pre>
1704
+ my ($id, $lang) = $exifTool-&gt;<b>GetTagID</b>($tag);
1705
+ </pre></td></tr></table></blockquote>
1706
+
1707
+ <hr><h2><a name="GetDescription">GetDescription</a></h2>
1708
+ <p>Get description for specified tag. This function will always return a defined
1709
+ value. In the case where the description doesn't exist, one is generated from
1710
+ the tag name.</p>
1711
+ <blockquote><table class='norm'>
1712
+ <tr><td><b>Prototype</b></td><td>GetDescription($$)</td></tr>
1713
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1714
+ <br><b>1)</b> Tag key
1715
+ </td></tr>
1716
+ <tr><td valign=top><b>Returns</b></td><td>Tag description</td></tr>
1717
+ </table></blockquote>
1718
+
1719
+ <hr><h2><a name="GetGroup">GetGroup</a></h2>
1720
+ <p>Get group name(s) for a specified tag.</p>
1721
+ <blockquote><table class='norm'>
1722
+ <tr><td><b>Prototype</b></td><td>GetGroup($$;$)</td></tr>
1723
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1724
+ <br><b>1)</b> Tag key
1725
+ <br><b>2)</b> [<i>optional</i>] Group family number, or string of numbers
1726
+ separated by colons
1727
+ </td></tr>
1728
+ <tr><td valign=top><b>Returns</b></td><td>Group name (or '' if tag has no
1729
+ group). If no group family is specified, returns the name of group in family 0
1730
+ when called in scalar context, or the names of groups for all families in list
1731
+ context. Returns a string of group names separated by colons if the input group
1732
+ family contains a colon. The string is simplified to remove a leading 'Main:'
1733
+ and adjacent identical group names unless the family string begins with a colon.
1734
+ </td></tr>
1735
+ </table></blockquote>
1736
+ <p>The following families of groups are available:</p>
1737
+ <blockquote><table class='norm'>
1738
+ <tr><th>Family</th><th>Description</th><th>Examples</th></tr>
1739
+ <tr><td align=center>0</td><td>Information Type</td> <td>EXIF, XMP, IPTC</td></tr>
1740
+ <tr><td align=center>1</td><td>Specific Location</td><td>IFD0, XMP-dc</td></tr>
1741
+ <tr><td align=center>2</td><td>Category</td> <td>Author, Time</td></tr>
1742
+ <tr><td align=center>3</td><td>Document Number</td> <td>Main, Doc1, Doc3-2</td></tr>
1743
+ <tr><td align=center>4</td><td>Instance Number</td> <td>Copy1, Copy2, Copy3...</td></tr>
1744
+ </table></blockquote>
1745
+
1746
+ <p>Families 0 and 1 are based on the file structure, and are similar except that
1747
+ family 1 is more specific and sub-divides some groups to give more detail about
1748
+ the specific location where the information was found. For example, the EXIF
1749
+ group is split up based on the specific IFD (Image File Directory), the
1750
+ MakerNotes group is divided into groups for each manufacturer, and the XMP group
1751
+ is separated based on the XMP namespace prefix. Note that only common XMP
1752
+ namespaces are listed in the <a href="#GetAllGroups">GetAllGroups</a>
1753
+ documentation, but additional namespaces may be present in some XMP data. Also
1754
+ note that the '<code>XMP-xmp</code>...' group names may appear in the older form
1755
+ '<code>XMP-xap</code>...' since these names evolved as the XMP standard was
1756
+ developed. The ICC_Profile group is broken down to give information about the
1757
+ specific ICC_Profile tag from which multiple values were extracted. As well,
1758
+ information extracted from the ICC_Profile header is separated into the
1759
+ ICC-header group.</p>
1760
+ <p>Family 2 classifies information based on the logical category to which the
1761
+ information refers.</p>
1762
+ <p>Family 3 gives the document number for tags extracted from embedded documents,
1763
+ or 'Main' for tags from the main document. (See the
1764
+ <a href="#Embedded">ExtractEmbedded</a> option for extracting tags from embedded
1765
+ documents.) Nested sub-documents (if they exist) are indicated by numbers
1766
+ separated with dashes in the group name, to an arbitrary depth. (eg.
1767
+ '<code>Doc2-3-1</code>' is the 1<sup>st</sup> sub-sub-document of the
1768
+ 3<sup>rd</sup> sub-document of the 2<sup>nd</sup> embedded document of the main
1769
+ file.)</p>
1770
+ <p>Family 4 provides a method for differentiating tags when multiple tags exist
1771
+ with the same name in the same location. The primary instance of a tag (the tag
1772
+ extracted when the Duplicates option is disabled and no group is specified) has
1773
+ no family 4 group name, but additional instances have have family 4 group names
1774
+ of '<code>Copy1</code>', '<code>Copy2</code>', '<code>Copy3</code>', etc.</p>
1775
+ <p>See <a href="#GetAllGroups">GetAllGroups</a> for lists of group names.</p>
1776
+
1777
+ <p><b>Examples:</b></p>
1778
+ <blockquote><table class='box'><tr><td><pre>
1779
+ <span class=com># return family 0 group name (eg. 'EXIF')</span>
1780
+ $group = $exifTool-&gt;<b>GetGroup</b>($tag, 0);
1781
+ </pre></td></tr></table></blockquote>
1782
+
1783
+ <blockquote><table class='box'><tr><td><pre>
1784
+ <span class=com># return all groups (eg. qw{EXIF IFD0 Author Main})</span>
1785
+ @groups = $exifTool-&gt;<b>GetGroup</b>($tag);
1786
+ </pre></td></tr></table></blockquote>
1787
+
1788
+ <blockquote><table class='box'><tr><td><pre>
1789
+ <span class=com># return groups as a string (eg. 'Main:IFD0:Author')</span>
1790
+ $group = $exifTool-&gt;<b>GetGroup</b>($tag, ':3:1:2');
1791
+ </pre></td></tr></table></blockquote>
1792
+
1793
+ <blockquote><table class='box'><tr><td><pre>
1794
+ <span class=com># return groups as a simplified string (eg. 'IFD0:Author')</span>
1795
+ $group = $exifTool-&gt;<b>GetGroup</b>($tag, '3:1:2');
1796
+ </pre></td></tr></table></blockquote>
1797
+
1798
+ <hr><h2><a name="GetGroups">GetGroups</a></h2>
1799
+ <p>Get list of group names for all tags in specified information hash.</p>
1800
+ <blockquote><table class='norm'>
1801
+ <tr><td><b>Prototype</b></td><td>GetGroups($;$$)</td></tr>
1802
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1803
+ <br><b>1)</b> [<i>optional</i>] Information hash reference (default is all extracted info)
1804
+ <br><b>2)</b> [<i>optional</i>] Group family number (default 0)
1805
+ </td></tr>
1806
+ <tr><td valign=top><b>Returns</b></td><td>
1807
+ List of group names in alphabetical order.
1808
+ If information hash is not specified, the group names are returned for
1809
+ all extracted information. See <a href="#GetAllGroups">GetAllGroups</a> for
1810
+ a list of groups in each family.
1811
+ </td></tr>
1812
+ </table></blockquote>
1813
+ <p><b>Examples:</b></p>
1814
+ <blockquote><table class='box'><tr><td><pre>
1815
+ my @groups = $exifTool-&gt;<b>GetGroups</b>($info, $family);
1816
+ </pre></td></tr></table></blockquote>
1817
+ <blockquote>Example of one way to print information organized by group
1818
+ <table class='box'><tr><td><pre>
1819
+ my $exifTool = <a href="#new">new</a> Image::ExifTool;
1820
+ $exifTool-&gt;<a href="#ExtractInfo">ExtractInfo</a>('t/images/ExifTool.jpg');
1821
+
1822
+ my $family = 1;
1823
+ my @groups = $exifTool-&gt;<b>GetGroups</b>($family);
1824
+ my $group;
1825
+ foreach $group (@groups) {
1826
+ print "---- $group ----\n";
1827
+ my $info = $exifTool-&gt;<a href="#GetInfo">GetInfo</a>({"Group$family" =&gt; $group});
1828
+ foreach ($exifTool-&gt;<a href="#GetTagList">GetTagList</a>($info)) {
1829
+ print "$_ : $$info{$_}\n";
1830
+ }
1831
+ }
1832
+ </pre></td></tr></table></blockquote>
1833
+
1834
+ <hr><h2><a name="BuildCompositeTags">BuildCompositeTags</a></h2>
1835
+ <p>Builds composite tags from required tags. The composite tags are convenience
1836
+ tags which are derived from the values of other tags. This routine is called
1837
+ automatically by <a href="#ImageInfo">ImageInfo</a> if the Composite option is set.</p>
1838
+ <blockquote><table class='norm'>
1839
+ <tr><td><b>Prototype</b></td><td>BuildCompositeTags($)</td></tr>
1840
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> ExifTool object reference
1841
+ </td></tr>
1842
+ <tr><td valign=top><b>Returns</b></td><td>(none)</td></tr>
1843
+ </table></blockquote>
1844
+ <p><b>Notes:</b></p>
1845
+ <ol>
1846
+ <li>Tag values are calculated in alphabetical order unless a tag Require's
1847
+ or Desire's another composite tag, in which case the calculation is
1848
+ deferred until after the other tag is calculated.</li>
1849
+ <li>Composite tags may need to read data from the image for their value to be
1850
+ determined, and for these <a href="#BuildCompositeTags">BuildCompositeTags</a>
1851
+ must be called while the image is available. This is only a problem if
1852
+ <a href="#ImageInfo">ImageInfo</a> is called with a filename (as opposed to a
1853
+ file reference or scalar reference) since in this case the file is closed before
1854
+ <a href="#ImageInfo">ImageInfo</a> returns. Here the Composite option may be
1855
+ used so that <a href="#BuildCompositeTags">BuildCompositeTags</a> is called from
1856
+ within <a href="#ImageInfo">ImageInfo</a>, before the file is closed.</li>
1857
+ </ol>
1858
+ <hr><table bgcolor='#ffaaaa' width='100%' cellpadding=8><tr><td><center><b>
1859
+ The following functions access only static data and are not called with an
1860
+ ExifTool object
1861
+ </b></center></td></tr></table>
1862
+
1863
+ <p>The names of all the following functions, plus
1864
+ <a href="#ImageInfo">ImageInfo</a>, may be imported into the current namespace
1865
+ with the "Public" tag. When this is done, the functions can be accessed without
1866
+ the need to prefix the function name with "<code>Image::ExifTool::</code>". For
1867
+ example:</p>
1868
+ <blockquote><table class='box'><tr><td><pre>
1869
+ use Image::ExifTool ':Public';
1870
+ $tagName = <a href="#GetTagName">GetTagName</a>($tag);
1871
+ </pre></td></tr></table></blockquote>
1872
+
1873
+ <hr><h2><a name="GetTagName">GetTagName</a></h2>
1874
+ <p>Get name of tag from tag identifier. This is a convenience function that
1875
+ strips the embedded instance number, if it exists, from the tag key.</p>
1876
+ <blockquote><table class='norm'>
1877
+ <tr><td><b>Prototype</b></td><td>GetTagName($)</td></tr>
1878
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> Tag key
1879
+ </td></tr>
1880
+ <tr><td valign=top><b>Returns</b></td><td>Tag name</td></tr>
1881
+ </table></blockquote>
1882
+ <p><b>Example:</b></p>
1883
+ <blockquote><table class='box'><tr><td><pre>
1884
+ $tagName = Image::ExifTool::<b>GetTagName</b>($tag);
1885
+ </pre></td></tr></table></blockquote>
1886
+
1887
+ <hr><h2><a name="GetShortcuts">GetShortcuts</a></h2>
1888
+ <p>Get list of tag shortcut names.</p>
1889
+ <blockquote><table class='norm'>
1890
+ <tr><td><b>Prototype</b></td><td>GetShortcuts()</td></tr>
1891
+ <tr><td valign=top><b>Inputs</b></td><td>(none)
1892
+ </td></tr>
1893
+ <tr><td valign=top><b>Returns</b></td><td>List of shortcuts</td></tr>
1894
+ </table></blockquote>
1895
+
1896
+ <hr><h2><a name="GetAllTags">GetAllTags</a></h2>
1897
+ <p>Get list of all available tag names.</p>
1898
+ <blockquote><table class='norm'>
1899
+ <tr><td><b>Prototype</b></td><td>GetAllTags(;$)</td></tr>
1900
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> [<i>optional</i>] Group name,
1901
+ or string of group names separated by colons
1902
+ </td></tr>
1903
+ <tr><td valign=top><b>Returns</b></td><td>A list of all available tags in alphabetical
1904
+ order, or all tags in a specified group or intersection of groups. The
1905
+ group name is case insensitive, and any group in families 0-2 may be used
1906
+ except for EXIF family 1 groups (ie. the specific IFD).
1907
+ </td></tr>
1908
+ </table></blockquote>
1909
+
1910
+ <hr><h2><a name="GetWritableTags">GetWritableTags</a></h2>
1911
+ <p>Get list of all writable tag names.</p>
1912
+ <blockquote><table class='norm'>
1913
+ <tr><td><b>Prototype</b></td><td>GetWritableTags(;$)</td></tr>
1914
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> [<i>optional</i>] Group name,
1915
+ or string of group names separated by colons
1916
+ </td></tr>
1917
+ <tr><td valign=top><b>Returns</b></td><td>A list of all writable tags in alphabetical
1918
+ order. These are the tags for which values may be set through
1919
+ <a href="#SetNewValue">SetNewValue</a>. If a group name is given, returns
1920
+ only writable tags in specified group(s). The group name is case insensitive,
1921
+ and any group in families 0-2 may be used except for EXIF family 1 groups (ie.
1922
+ the specific IFD).
1923
+ </td></tr>
1924
+ </table></blockquote>
1925
+
1926
+ <hr><h2><a name="GetAllGroups">GetAllGroups</a></h2>
1927
+ <p>Get list of all group names in specified family.</p>
1928
+ <blockquote><table class='norm'>
1929
+ <tr><td><b>Prototype</b></td><td>GetAllGroups($)</td></tr>
1930
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> Group family number (0-4)
1931
+ </td></tr>
1932
+ <tr><td valign=top><b>Returns</b></td>
1933
+ <td>A list of all groups in the specified family in alphabetical order</td></tr>
1934
+ </table></blockquote>
1935
+ <p>Here is a complete list of groups for each family:</p>
1936
+ <blockquote><table class='norm'>
1937
+ <tr><th>Family</th><th>Group Names</th></tr>
1938
+ <tr><td><b>0 (Information&nbsp;Type)</b></td>
1939
+ <td>AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP4, APP5,
1940
+ APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky,
1941
+ EXE, EXIF, ExifTool, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation,
1942
+ GIF, GIMP, GeoTiff, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF,
1943
+ JPEG, Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MOI, MPC, MPEG, MPF,
1944
+ MXF, MakerNotes, Matroska, Meta, Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG,
1945
+ PSP, Palm, PanasonicRaw, PhotoCD, PhotoMechanic, Photoshop, PostScript,
1946
+ PrintIM, QuickTime, RAF, RIFF, RSRC, RTF, Radiance, Rawzor, Real, SVG,
1947
+ SigmaRaw, Stim, Theora, Torrent, VCard, Vorbis, XML, XMP, ZIP
1948
+ </td></tr>
1949
+ <tr><td><b>1&nbsp;(Specific&nbsp;Location)</b></td>
1950
+ <td>AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple, Audible,
1951
+ CIFF, Canon, CanonCustom, CanonRaw, CanonVRD, Casio, Chapter#, Composite,
1952
+ DICOM, DJI, DNG, DV, DjVu, DjVu-Meta, Ducky, EPPIM, EXE, EXIF, ExifIFD,
1953
+ ExifTool, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, FujiFilm,
1954
+ FujiIFD, GE, GIF, GIMP, GPS, GeoTiff, GlobParamIFD, GraphConv, H264, HP,
1955
+ HTC, HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv,
1956
+ ICC-chrm, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICC_Profile,
1957
+ ICC_Profile#, ID3, ID3v1, ID3v1_Enh, ID3v2_2, ID3v2_3, ID3v2_4, IFD0, IFD1,
1958
+ IPTC, IPTC#, ISO, ITC, InteropIFD, JFIF, JPEG, JPEG-HDR, JVC, Jpeg2000,
1959
+ KDC_IFD, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw, LNK,
1960
+ Leaf, LeafSubIFD, Leica, Lytro, M2TS, MAC, MIE-Audio, MIE-Camera, MIE-Canon,
1961
+ MIE-Doc, MIE-Extender, MIE-Flash, MIE-GPS, MIE-Geo, MIE-Image, MIE-Lens,
1962
+ MIE-Main, MIE-MakerNotes, MIE-Meta, MIE-Orient, MIE-Preview, MIE-Thumbnail,
1963
+ MIE-UTM, MIE-Unknown, MIE-Video, MIFF, MNG, MOBI, MOI, MPC, MPEG, MPF0,
1964
+ MPImage, MXF, MakerNotes, MakerUnknown, Matroska, MediaJukebox, MetaIFD,
1965
+ Microsoft, Minolta, MinoltaRaw, Motorola, NITF, Nikon, NikonCapture,
1966
+ NikonCustom, NikonScan, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF,
1967
+ PICT, PNG, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax, PhaseOne,
1968
+ PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD,
1969
+ PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF,
1970
+ Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4,
1971
+ Real-RA5, Real-RJMD, Reconyx, Ricoh, SPIFF, SR2, SR2DataIFD, SR2SubIFD,
1972
+ SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw, Sony, SonyIDC, Stim,
1973
+ SubIFD, System, Theora, Torrent, Track#, VCalendar, VCard, Version0, Vorbis,
1974
+ XML, XMP, XMP-DICOM, XMP-GPano, XMP-MP, XMP-MP1, XMP-PixelLive, XMP-aas,
1975
+ XMP-acdsee, XMP-album, XMP-apple-fi, XMP-aux, XMP-cc, XMP-cell,
1976
+ XMP-creatorAtom, XMP-crs, XMP-dc, XMP-dex, XMP-digiKam, XMP-dwc, XMP-exif,
1977
+ XMP-exifEX, XMP-expressionmedia, XMP-extensis, XMP-fpv, XMP-getty, XMP-ics,
1978
+ XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro, XMP-microsoft,
1979
+ XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-pdf, XMP-pdfx, XMP-photomech,
1980
+ XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl, XMP-prm, XMP-pur,
1981
+ XMP-rdf, XMP-swf, XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ, XMP-xmpDM, XMP-xmpMM,
1982
+ XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg, ZIP
1983
+ </td></tr>
1984
+ <tr><td><b>2&nbsp;(Category)</b></td>
1985
+ <td>Audio, Author, Camera, Document, ExifTool, Image, Location, Other,
1986
+ Preview, Printing, Time, Unknown, Video
1987
+ </td></tr>
1988
+ <tr><td><b>3&nbsp;(Document&nbsp;Number)</b></td>
1989
+ <td>Doc#, Main
1990
+ </td></tr>
1991
+ <tr><td><b>4&nbsp;(Instance&nbsp;Number)</b></td>
1992
+ <td>Copy#
1993
+ </td></tr>
1994
+ </table></blockquote>
1995
+ <p><b>Example:</b></p>
1996
+ <blockquote><table class='box'><tr><td><pre>
1997
+ @groupList = Image::ExifTool::<b>GetAllGroups</b>($family);
1998
+ </pre></td></tr></table></blockquote>
1999
+
2000
+ <hr><h2><a name="GetDeleteGroups">GetDeleteGroups</a></h2>
2001
+ <p>Get list of all deletable group names.</p>
2002
+ <blockquote><table class='norm'>
2003
+ <tr><td><b>Prototype</b></td><td>GetDelGroups()</td></tr>
2004
+ <tr><td valign=top><b>Inputs</b></td>
2005
+ <td>None
2006
+ </td></tr>
2007
+ <tr><td valign=top><b>Returns</b></td><td>A list of deletable group names in
2008
+ alphabetical order.
2009
+ </td></tr>
2010
+ </table></blockquote>
2011
+ <p>Below is a current list of deletable group names. All names in this list
2012
+ are either family 0 or family 1 group names, with the exception of
2013
+ '<code>Trailer</code>' which allows all trailers in JPEG and TIFF-format images
2014
+ to be deleted at once, including unknown trailers. To schedule a group for
2015
+ deletion, call <a href="#SetNewValue">SetNewValue</a> with an undefined value
2016
+ and a tag name like '<code>Trailer:*</code>'.</p>
2017
+ <blockquote>AFCP, APP0, APP1, APP10, APP11, APP12, APP13, APP14, APP15, APP2, APP3,
2018
+ APP4, APP5, APP6, APP7, APP8, APP9, Adobe, Audio, Author, CIFF, Camera,
2019
+ CanonVRD, Copyright, Document, Ducky, EXIF, ExifIFD, ExifTool, File,
2020
+ FlashPix, FotoStation, GPS, GlobParamIFD, ICC_Profile, IFD0, IFD1, IPTC,
2021
+ Image, InteropIFD, JFIF, Jpeg2000, Location, MIE, MPF, MakerNotes, Meta,
2022
+ MetaIFD, NikonCapture, Other, PDF, PDF-update, PNG, PNG-pHYs, PhotoMechanic,
2023
+ Photoshop, PrintIM, Printing, RMETA, RSRC, SubIFD, Time, Trailer, Video,
2024
+ XML, XML-*, XMP, XMP-*</blockquote>
2025
+ <p>Note that the JPEG "APP" groups are special, and are used only to delete
2026
+ application segments which are not associated with another deletable group. For
2027
+ example, deleting '<code>APP14:*</code>' will delete other APP14 segments, but
2028
+ not the APP14 "Adobe" segment. Also note that deleting a family 0 or 1 group
2029
+ will delete the entire corresponding block of metadata, but deleting a family 2
2030
+ group (eg. Audio, Author, Camera, etc.) deletes the individual tags belonging
2031
+ to that category.</p>
2032
+ <p><b>Example:</b></p>
2033
+ <blockquote><table class='box'><tr><td><pre>
2034
+ my @delGroups = Image::ExifTool::<b>GetDelGroups</b>();
2035
+ </pre></td></tr></table></blockquote>
2036
+
2037
+ <hr><h2><a name="GetFileType">GetFileType</a></h2>
2038
+ <p>Get type of file given file name.</p>
2039
+ <blockquote><table class='norm'>
2040
+ <tr><td><b>Prototype</b></td><td>GetFileType(;$$)</td></tr>
2041
+ <tr><td valign=top><b>Inputs</b></td>
2042
+ <td><b>0)</b> [<i>optional</i>] File name or extension
2043
+ <br><b>1)</b> [<i>optional</i>] Flag to return a description instead of a type.
2044
+ Set to 0 to return type for recognized but unsupported files (otherwise the
2045
+ return value for unsupported files is undef).
2046
+ </td></tr>
2047
+ <tr><td valign=top><b>Returns</b></td><td>A string, based on the file extension, which
2048
+ indicates the basic format of the file. Note that some files may be based on
2049
+ other formats (like many RAW image formats are based on TIFF). In list context,
2050
+ may return more than one file type if the file may be based on different
2051
+ formats. Returns undef if files with this extension are not yet supported by
2052
+ ExifTool. Returns a list of extensions for all supported file types if no input
2053
+ extension is specified (or all recognized file types if the description flag is
2054
+ set to 0). Returns a more detailed description of the specific file format when
2055
+ the description flag is set.</td></tr>
2056
+ </table></blockquote>
2057
+ <p><b>Examples:</b></p>
2058
+ <blockquote><table class='box'><tr><td><pre>
2059
+ my $type = Image::ExifTool::<b>GetFileType</b>($filename);
2060
+ my $desc = Image::ExifTool::<b>GetFileType</b>($filename, 1);
2061
+ </pre></td></tr></table></blockquote>
2062
+
2063
+ <hr><h2><a name="CanWrite">CanWrite</a></h2>
2064
+ <p>Can the specified file be written?</p>
2065
+ <blockquote><table class='norm'>
2066
+ <tr><td><b>Prototype</b></td><td>CanWrite($)</td></tr>
2067
+ <tr><td valign=top><b>Inputs</b></td>
2068
+ <td><b>0)</b> File name or extension</td></tr>
2069
+ <tr><td valign=top><b>Returns</b></td><td>True if ExifTool supports writing files of
2070
+ this type (based on the file extension).</td></tr>
2071
+ </table></blockquote>
2072
+ <p><b>Example:</b></p>
2073
+ <blockquote><table class='box'><tr><td><pre>
2074
+ my $writable = Image::ExifTool::<b>CanWrite</b>($filename);
2075
+ </pre></td></tr></table></blockquote>
2076
+
2077
+ <hr><h2><a name="CanCreate">CanCreate</a></h2>
2078
+ <p>Can the specified file be created?</p>
2079
+ <blockquote><table class='norm'>
2080
+ <tr><td><b>Prototype</b></td><td>CanCreate($)</td></tr>
2081
+ <tr><td valign=top><b>Inputs</b></td>
2082
+ <td><b>0)</b> File name or extension</td></tr>
2083
+ <tr><td valign=top><b>Returns</b></td><td>True if ExifTool can create files with this
2084
+ extension from scratch.<br>Currently, this can only be done with XMP, MIE, ICC,
2085
+ VRD, DR4, EXV and EXIF files.</td></tr>
2086
+ </table></blockquote>
2087
+ <p><b>Example:</b></p>
2088
+ <blockquote><table class='box'><tr><td><pre>
2089
+ my $creatable = Image::ExifTool::<b>CanCreate</b>($filename);
2090
+ </pre></td></tr></table></blockquote>
2091
+
2092
+ <hr><h2><a name="AddUserDefinedTags">AddUserDefinedTags</a></h2>
2093
+ <p>Add user-defined tags to an existing tag table at run time. This differs from
2094
+ the usual technique of creating user-defined tags via the
2095
+ %Image::ExifTool::UserDefined hash (see the
2096
+ <a href="config.html">sample config file</a>), because it allows tags to be added
2097
+ after the tag table has been initialized.</p>
2098
+ <blockquote><table class='norm'>
2099
+ <tr><td><b>Prototype</b></td><td>AddUserDefinedTags($%)</td></tr>
2100
+ <tr><td valign=top><b>Inputs</b></td><td><b>0)</b> Destination tag table name
2101
+ <br><b>1-N)</b> Pairs of tag ID / tag information hash references for the new tags
2102
+ </td></tr>
2103
+ <tr><td valign=top><b>Returns</b></td><td>The number of tags added</td></tr>
2104
+ </table></blockquote>
2105
+ <p><b>Example:</b></p>
2106
+ <blockquote><table class='box'><tr><td><pre>
2107
+ use Image::ExifTool ':Public';
2108
+ my %tags = (
2109
+ TestTagID1 => { Name => 'TestTagName1' },
2110
+ TestTagID2 => { Name => 'TestTagName2' },
2111
+ );
2112
+ my $num = <b>AddUserDefinedTags</b>('Image::ExifTool::PDF::Info', %tags);
2113
+ </pre></td></tr></table></blockquote>
2114
+ <p><b>Notes:</b></p>
2115
+ <p>Pre-existing tags with the same ID will be replaced in the destination table.
2116
+ See lib/Image/ExifTool/README in the full distribution for full details on the
2117
+ elements of the tag information hash.</p>
2118
+
2119
+ <hr>
2120
+ <p class='lf'><a href="index.html">&lt;-- Back to ExifTool home page</a></p>
2121
+ </body>
2122
+ </html>